@ceed/ads 1.5.9 → 1.7.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.d.ts CHANGED
@@ -1,2 +1,2 @@
1
1
  export { useTheme, useColorScheme, useThemeProps, ButtonGroup, alertClasses, boxClasses, buttonClasses, checkboxClasses, dividerClasses, iconButtonClasses, inputClasses, menuClasses, menuButtonClasses, menuItemClasses, optionClasses, radioClasses, radioGroupClasses, selectClasses, switchClasses, tableClasses, textareaClasses, typographyClasses, formControlClasses, formLabelClasses, formHelperTextClasses, gridClasses, stackClasses, sheetClasses, modalClasses, modalCloseClasses, modalDialogClasses, modalOverflowClasses, dialogTitleClasses, dialogContentClasses, dialogActionsClasses, tooltipClasses, tabsClasses, tabListClasses, tabPanelClasses, accordionClasses, accordionDetailsClasses, accordionGroupClasses as accordionsClasses, accordionSummaryClasses, AutocompleteListbox, AutocompleteOption, autocompleteClasses, autocompleteListboxClasses, autocompleteOptionClasses, avatarClasses, avatarGroupClasses, AspectRatio, aspectRatioClasses, Badge, badgeClasses, breadcrumbsClasses, cardClasses, cardActionsClasses, cardContentClasses, cardCoverClasses, cardOverflowClasses, chipClasses, CircularProgress, circularProgressClasses, Drawer, drawerClasses, LinearProgress, linearProgressClasses, List, listClasses, ListDivider, listDividerClasses, ListItem, listItemClasses, ListItemButton, listItemButtonClasses, ListItemContent, listItemContentClasses, ListItemDecorator, listItemDecoratorClasses, ListSubheader, listSubheaderClasses, Link, linkClasses, Slider, sliderClasses, stepClasses, StepButton, stepButtonClasses, stepperClasses, Skeleton, skeletonClasses, styled, } from "@mui/joy";
2
- export { Accordion, Accordions, Alert, Autocomplete, AccordionDetails, AccordionSummary, Avatar, AvatarGroup, Box, Breadcrumbs, Button, Calendar, Card, CardActions, CardContent, CardCover, CardOverflow, Checkbox, Chip, Container, CssBaseline, CurrencyInput, DataTable, DatePicker, DateRangePicker, DialogActions, DialogContent, DialogTitle, DialogFrame, Divider, Dropdown, extendTheme, InsetDrawer, Uploader, FormControl, FormHelperText, FormLabel, Grid, IconButton, InfoSign, Input, Markdown, Menu, MenuButton, MenuItem, Modal, ModalClose, ModalDialog, ModalOverflow, ModalFrame, MonthPicker, MonthRangePicker, PercentageInput, ProfileMenu, Pagination, NavigationGroup, NavigationItem, Navigator, Radio, RadioGroup, RadioList, Select, Option, Sheet, Stack, Step, StepIndicator, Stepper, Switch, theme, Table, TableHead, TableBody, Tabs, Tab, TabList, TabPanel, Textarea, ThemeProvider, Tooltip, Typography, } from "./components";
2
+ export { Accordion, Accordions, Alert, Autocomplete, AccordionDetails, AccordionSummary, Avatar, AvatarGroup, Box, Breadcrumbs, Button, Calendar, Card, CardActions, CardContent, CardCover, CardOverflow, Checkbox, Chip, Container, CssBaseline, CurrencyInput, DataTable, DatePicker, DateRangePicker, DialogActions, DialogContent, DialogTitle, DialogFrame, Divider, Dropdown, extendTheme, InsetDrawer, Uploader, FormControl, FormHelperText, FormLabel, Grid, IconButton, IconMenuButton, InfoSign, Input, Markdown, Menu, MenuButton, MenuItem, Modal, ModalClose, ModalDialog, ModalOverflow, ModalFrame, MonthPicker, MonthRangePicker, PercentageInput, ProfileMenu, Pagination, NavigationGroup, NavigationItem, Navigator, Radio, RadioGroup, RadioList, Select, Option, Sheet, Stack, Step, StepIndicator, Stepper, Switch, theme, Table, TableHead, TableBody, Tabs, Tab, TabList, TabPanel, Textarea, ThemeProvider, Tooltip, Typography, } from "./components";
package/dist/index.js CHANGED
@@ -4847,8 +4847,69 @@ Uploader.displayName = "Uploader";
4847
4847
  // src/components/Grid/Grid.tsx
4848
4848
  import { Grid } from "@mui/joy";
4849
4849
 
4850
+ // src/components/IconMenuButton/IconMenuButton.tsx
4851
+ import React29 from "react";
4852
+ import {
4853
+ MenuButton as JoyMenuButton2,
4854
+ IconButton as JoyIconButton2
4855
+ } from "@mui/joy";
4856
+ function IconMenuButton(props) {
4857
+ const {
4858
+ size,
4859
+ icon,
4860
+ items = [],
4861
+ disabled,
4862
+ loading,
4863
+ color = "neutral",
4864
+ variant = "plain",
4865
+ placement = "bottom"
4866
+ } = props;
4867
+ if (!items.length) {
4868
+ return /* @__PURE__ */ React29.createElement(
4869
+ JoyIconButton2,
4870
+ {
4871
+ component: props.buttonComponent ?? "button",
4872
+ size,
4873
+ variant,
4874
+ color,
4875
+ disabled,
4876
+ loading,
4877
+ ...props.buttonComponentProps ?? {}
4878
+ },
4879
+ icon
4880
+ );
4881
+ }
4882
+ return /* @__PURE__ */ React29.createElement(Dropdown_default, null, /* @__PURE__ */ React29.createElement(
4883
+ JoyMenuButton2,
4884
+ {
4885
+ slots: { root: JoyIconButton2 },
4886
+ slotProps: {
4887
+ root: {
4888
+ component: props.buttonComponent ?? "button",
4889
+ size,
4890
+ variant,
4891
+ color,
4892
+ disabled,
4893
+ loading,
4894
+ ...props.buttonComponentProps ?? {}
4895
+ }
4896
+ }
4897
+ },
4898
+ icon
4899
+ ), /* @__PURE__ */ React29.createElement(Menu, { placement, size }, items.map((i) => /* @__PURE__ */ React29.createElement(
4900
+ MenuItem,
4901
+ {
4902
+ key: i.text,
4903
+ component: i.component,
4904
+ ...i.componentProps ?? {}
4905
+ },
4906
+ i.text
4907
+ ))));
4908
+ }
4909
+ IconMenuButton.displayName = "IconMenuButton";
4910
+
4850
4911
  // src/components/Markdown/Markdown.tsx
4851
- import React29, { lazy, Suspense, useEffect as useEffect8, useState as useState9 } from "react";
4912
+ import React30, { lazy, Suspense, useEffect as useEffect8, useState as useState9 } from "react";
4852
4913
  import { Skeleton } from "@mui/joy";
4853
4914
  import { Link as Link2 } from "@mui/joy";
4854
4915
  import remarkGfm from "remark-gfm";
@@ -4877,7 +4938,7 @@ var Markdown = (props) => {
4877
4938
  if (!rehypeAccent2) {
4878
4939
  return null;
4879
4940
  }
4880
- return /* @__PURE__ */ React29.createElement(
4941
+ return /* @__PURE__ */ React30.createElement(
4881
4942
  Typography,
4882
4943
  {
4883
4944
  component: "div",
@@ -4886,12 +4947,12 @@ var Markdown = (props) => {
4886
4947
  level: defaultLevel,
4887
4948
  ...innerProps
4888
4949
  },
4889
- /* @__PURE__ */ React29.createElement(
4950
+ /* @__PURE__ */ React30.createElement(
4890
4951
  Suspense,
4891
4952
  {
4892
- fallback: fallback || /* @__PURE__ */ React29.createElement(Typography, null, /* @__PURE__ */ React29.createElement(Skeleton, null, content || ""))
4953
+ fallback: fallback || /* @__PURE__ */ React30.createElement(Typography, null, /* @__PURE__ */ React30.createElement(Skeleton, null, content || ""))
4893
4954
  },
4894
- /* @__PURE__ */ React29.createElement(
4955
+ /* @__PURE__ */ React30.createElement(
4895
4956
  LazyReactMarkdown,
4896
4957
  {
4897
4958
  ...markdownOptions,
@@ -4899,11 +4960,11 @@ var Markdown = (props) => {
4899
4960
  rehypePlugins: [[rehypeAccent2, { accentColor }]],
4900
4961
  remarkPlugins: [remarkGfm],
4901
4962
  components: {
4902
- h1: ({ children }) => /* @__PURE__ */ React29.createElement(Typography, { color, textColor, level: "h1" }, children),
4903
- h2: ({ children }) => /* @__PURE__ */ React29.createElement(Typography, { color, textColor, level: "h2" }, children),
4904
- h3: ({ children }) => /* @__PURE__ */ React29.createElement(Typography, { color, textColor, level: "h3" }, children),
4905
- h4: ({ children }) => /* @__PURE__ */ React29.createElement(Typography, { color, textColor, level: "h4" }, children),
4906
- p: ({ children, node }) => /* @__PURE__ */ React29.createElement(
4963
+ h1: ({ children }) => /* @__PURE__ */ React30.createElement(Typography, { color, textColor, level: "h1" }, children),
4964
+ h2: ({ children }) => /* @__PURE__ */ React30.createElement(Typography, { color, textColor, level: "h2" }, children),
4965
+ h3: ({ children }) => /* @__PURE__ */ React30.createElement(Typography, { color, textColor, level: "h3" }, children),
4966
+ h4: ({ children }) => /* @__PURE__ */ React30.createElement(Typography, { color, textColor, level: "h4" }, children),
4967
+ p: ({ children, node }) => /* @__PURE__ */ React30.createElement(
4907
4968
  Typography,
4908
4969
  {
4909
4970
  color,
@@ -4913,10 +4974,10 @@ var Markdown = (props) => {
4913
4974
  },
4914
4975
  children
4915
4976
  ),
4916
- a: ({ children, href }) => /* @__PURE__ */ React29.createElement(Link2, { href, target: defaultLinkAction }, children),
4917
- hr: () => /* @__PURE__ */ React29.createElement(Divider, null),
4918
- b: ({ children }) => /* @__PURE__ */ React29.createElement(Typography, { fontWeight: boldFontWeight }, children),
4919
- strong: ({ children }) => /* @__PURE__ */ React29.createElement(Typography, { fontWeight: boldFontWeight }, children),
4977
+ a: ({ children, href }) => /* @__PURE__ */ React30.createElement(Link2, { href, target: defaultLinkAction }, children),
4978
+ hr: () => /* @__PURE__ */ React30.createElement(Divider, null),
4979
+ b: ({ children }) => /* @__PURE__ */ React30.createElement(Typography, { fontWeight: boldFontWeight }, children),
4980
+ strong: ({ children }) => /* @__PURE__ */ React30.createElement(Typography, { fontWeight: boldFontWeight }, children),
4920
4981
  ...markdownOptions?.components
4921
4982
  }
4922
4983
  }
@@ -4927,9 +4988,9 @@ var Markdown = (props) => {
4927
4988
  Markdown.displayName = "Markdown";
4928
4989
 
4929
4990
  // src/components/MenuButton/MenuButton.tsx
4930
- import React30 from "react";
4991
+ import React31 from "react";
4931
4992
  import {
4932
- MenuButton as JoyMenuButton2,
4993
+ MenuButton as JoyMenuButton3,
4933
4994
  Button as JoyButton2
4934
4995
  } from "@mui/joy";
4935
4996
  import ExpandMoreIcon from "@mui/icons-material/ExpandMore";
@@ -4948,7 +5009,7 @@ function MenuButton(props) {
4948
5009
  placement = "bottom"
4949
5010
  } = props;
4950
5011
  if (!items.length) {
4951
- return /* @__PURE__ */ React30.createElement(
5012
+ return /* @__PURE__ */ React31.createElement(
4952
5013
  JoyButton2,
4953
5014
  {
4954
5015
  component: props.buttonComponent ?? "button",
@@ -4959,13 +5020,13 @@ function MenuButton(props) {
4959
5020
  loading,
4960
5021
  startDecorator,
4961
5022
  ...props.buttonComponentProps ?? {},
4962
- endDecorator: showIcon ? /* @__PURE__ */ React30.createElement(React30.Fragment, null, endDecorator, /* @__PURE__ */ React30.createElement(ExpandMoreIcon, null)) : /* @__PURE__ */ React30.createElement(React30.Fragment, null, endDecorator)
5023
+ endDecorator: showIcon ? /* @__PURE__ */ React31.createElement(React31.Fragment, null, endDecorator, /* @__PURE__ */ React31.createElement(ExpandMoreIcon, null)) : /* @__PURE__ */ React31.createElement(React31.Fragment, null, endDecorator)
4963
5024
  },
4964
5025
  buttonText
4965
5026
  );
4966
5027
  }
4967
- return /* @__PURE__ */ React30.createElement(Dropdown_default, null, /* @__PURE__ */ React30.createElement(
4968
- JoyMenuButton2,
5028
+ return /* @__PURE__ */ React31.createElement(Dropdown_default, null, /* @__PURE__ */ React31.createElement(
5029
+ JoyMenuButton3,
4969
5030
  {
4970
5031
  component: props.buttonComponent ?? "button",
4971
5032
  size,
@@ -4975,10 +5036,10 @@ function MenuButton(props) {
4975
5036
  loading,
4976
5037
  startDecorator,
4977
5038
  ...props.buttonComponentProps ?? {},
4978
- endDecorator: showIcon ? /* @__PURE__ */ React30.createElement(React30.Fragment, null, endDecorator, /* @__PURE__ */ React30.createElement(ExpandMoreIcon, null)) : /* @__PURE__ */ React30.createElement(React30.Fragment, null, endDecorator)
5039
+ endDecorator: showIcon ? /* @__PURE__ */ React31.createElement(React31.Fragment, null, endDecorator, /* @__PURE__ */ React31.createElement(ExpandMoreIcon, null)) : /* @__PURE__ */ React31.createElement(React31.Fragment, null, endDecorator)
4979
5040
  },
4980
5041
  buttonText
4981
- ), /* @__PURE__ */ React30.createElement(Menu, { placement, size }, items.map((i) => /* @__PURE__ */ React30.createElement(
5042
+ ), /* @__PURE__ */ React31.createElement(Menu, { placement, size }, items.map((i) => /* @__PURE__ */ React31.createElement(
4982
5043
  MenuItem,
4983
5044
  {
4984
5045
  key: i.text,
@@ -4991,7 +5052,7 @@ function MenuButton(props) {
4991
5052
  MenuButton.displayName = "MenuButton";
4992
5053
 
4993
5054
  // src/components/MonthPicker/MonthPicker.tsx
4994
- import React31, {
5055
+ import React32, {
4995
5056
  forwardRef as forwardRef9,
4996
5057
  useCallback as useCallback12,
4997
5058
  useEffect as useEffect9,
@@ -5146,7 +5207,7 @@ var MonthPicker = forwardRef9(
5146
5207
  },
5147
5208
  [buttonRef]
5148
5209
  );
5149
- return /* @__PURE__ */ React31.createElement(MonthPickerRoot, null, /* @__PURE__ */ React31.createElement(FocusTrap3, { open: true }, /* @__PURE__ */ React31.createElement(React31.Fragment, null, /* @__PURE__ */ React31.createElement(
5210
+ return /* @__PURE__ */ React32.createElement(MonthPickerRoot, null, /* @__PURE__ */ React32.createElement(FocusTrap3, { open: true }, /* @__PURE__ */ React32.createElement(React32.Fragment, null, /* @__PURE__ */ React32.createElement(
5150
5211
  Input_default,
5151
5212
  {
5152
5213
  ...innerProps,
@@ -5176,7 +5237,7 @@ var MonthPicker = forwardRef9(
5176
5237
  // NOTE: placeholder char 를 텍스트로 표시하므로 동일한 너비를 가지는 mono font 를 사용해야 이질감이 없다.
5177
5238
  fontFamily: "monospace"
5178
5239
  },
5179
- endDecorator: /* @__PURE__ */ React31.createElement(
5240
+ endDecorator: /* @__PURE__ */ React32.createElement(
5180
5241
  IconButton_default,
5181
5242
  {
5182
5243
  ref: buttonRef,
@@ -5188,12 +5249,12 @@ var MonthPicker = forwardRef9(
5188
5249
  "aria-expanded": open,
5189
5250
  disabled
5190
5251
  },
5191
- /* @__PURE__ */ React31.createElement(CalendarTodayIcon3, null)
5252
+ /* @__PURE__ */ React32.createElement(CalendarTodayIcon3, null)
5192
5253
  ),
5193
5254
  label,
5194
5255
  helperText
5195
5256
  }
5196
- ), open && /* @__PURE__ */ React31.createElement(ClickAwayListener3, { onClickAway: () => setAnchorEl(null) }, /* @__PURE__ */ React31.createElement(
5257
+ ), open && /* @__PURE__ */ React32.createElement(ClickAwayListener3, { onClickAway: () => setAnchorEl(null) }, /* @__PURE__ */ React32.createElement(
5197
5258
  StyledPopper3,
5198
5259
  {
5199
5260
  id: "month-picker-popper",
@@ -5212,7 +5273,7 @@ var MonthPicker = forwardRef9(
5212
5273
  "aria-label": "Calendar Tooltip",
5213
5274
  "aria-expanded": open
5214
5275
  },
5215
- /* @__PURE__ */ React31.createElement(CalendarSheet3, { tabIndex: -1, role: "presentation" }, /* @__PURE__ */ React31.createElement(
5276
+ /* @__PURE__ */ React32.createElement(CalendarSheet3, { tabIndex: -1, role: "presentation" }, /* @__PURE__ */ React32.createElement(
5216
5277
  Calendar_default,
5217
5278
  {
5218
5279
  view: "month",
@@ -5233,14 +5294,14 @@ var MonthPicker = forwardRef9(
5233
5294
  disablePast,
5234
5295
  locale
5235
5296
  }
5236
- ), /* @__PURE__ */ React31.createElement(
5297
+ ), /* @__PURE__ */ React32.createElement(
5237
5298
  DialogActions_default,
5238
5299
  {
5239
5300
  sx: {
5240
5301
  p: 1
5241
5302
  }
5242
5303
  },
5243
- /* @__PURE__ */ React31.createElement(
5304
+ /* @__PURE__ */ React32.createElement(
5244
5305
  Button_default,
5245
5306
  {
5246
5307
  size,
@@ -5264,7 +5325,7 @@ var MonthPicker = forwardRef9(
5264
5325
  );
5265
5326
 
5266
5327
  // src/components/MonthRangePicker/MonthRangePicker.tsx
5267
- import React32, {
5328
+ import React33, {
5268
5329
  forwardRef as forwardRef10,
5269
5330
  useCallback as useCallback13,
5270
5331
  useEffect as useEffect10,
@@ -5330,10 +5391,10 @@ var parseDates2 = (str) => {
5330
5391
  var formatToPattern3 = (format) => {
5331
5392
  return `${format} - ${format}`.replace(/YYYY/g, "Y").replace(/MM/g, "m").replace(/[^YMm\s]/g, (match) => `${match}\``);
5332
5393
  };
5333
- var TextMaskAdapter7 = React32.forwardRef(
5394
+ var TextMaskAdapter7 = React33.forwardRef(
5334
5395
  function TextMaskAdapter8(props, ref) {
5335
5396
  const { onChange, format, ...other } = props;
5336
- return /* @__PURE__ */ React32.createElement(
5397
+ return /* @__PURE__ */ React33.createElement(
5337
5398
  IMaskInput3,
5338
5399
  {
5339
5400
  ...other,
@@ -5427,7 +5488,7 @@ var MonthRangePicker = forwardRef10(
5427
5488
  },
5428
5489
  [setValue, setAnchorEl, format]
5429
5490
  );
5430
- return /* @__PURE__ */ React32.createElement(MonthRangePickerRoot, null, /* @__PURE__ */ React32.createElement(FocusTrap4, { open: true }, /* @__PURE__ */ React32.createElement(React32.Fragment, null, /* @__PURE__ */ React32.createElement(
5491
+ return /* @__PURE__ */ React33.createElement(MonthRangePickerRoot, null, /* @__PURE__ */ React33.createElement(FocusTrap4, { open: true }, /* @__PURE__ */ React33.createElement(React33.Fragment, null, /* @__PURE__ */ React33.createElement(
5431
5492
  Input_default,
5432
5493
  {
5433
5494
  ...innerProps,
@@ -5449,7 +5510,7 @@ var MonthRangePicker = forwardRef10(
5449
5510
  // NOTE: placeholder char 를 텍스트로 표시하므로 동일한 너비를 가지는 mono font 를 사용해야 이질감이 없다.
5450
5511
  fontFamily: "monospace"
5451
5512
  },
5452
- endDecorator: /* @__PURE__ */ React32.createElement(
5513
+ endDecorator: /* @__PURE__ */ React33.createElement(
5453
5514
  IconButton_default,
5454
5515
  {
5455
5516
  variant: "plain",
@@ -5459,12 +5520,12 @@ var MonthRangePicker = forwardRef10(
5459
5520
  "aria-haspopup": "dialog",
5460
5521
  "aria-expanded": open
5461
5522
  },
5462
- /* @__PURE__ */ React32.createElement(CalendarTodayIcon4, null)
5523
+ /* @__PURE__ */ React33.createElement(CalendarTodayIcon4, null)
5463
5524
  ),
5464
5525
  label,
5465
5526
  helperText
5466
5527
  }
5467
- ), open && /* @__PURE__ */ React32.createElement(ClickAwayListener4, { onClickAway: () => setAnchorEl(null) }, /* @__PURE__ */ React32.createElement(
5528
+ ), open && /* @__PURE__ */ React33.createElement(ClickAwayListener4, { onClickAway: () => setAnchorEl(null) }, /* @__PURE__ */ React33.createElement(
5468
5529
  StyledPopper4,
5469
5530
  {
5470
5531
  id: "month-range-picker-popper",
@@ -5483,7 +5544,7 @@ var MonthRangePicker = forwardRef10(
5483
5544
  "aria-label": "Calendar Tooltip",
5484
5545
  "aria-expanded": open
5485
5546
  },
5486
- /* @__PURE__ */ React32.createElement(CalendarSheet4, { tabIndex: -1, role: "presentation" }, /* @__PURE__ */ React32.createElement(
5547
+ /* @__PURE__ */ React33.createElement(CalendarSheet4, { tabIndex: -1, role: "presentation" }, /* @__PURE__ */ React33.createElement(
5487
5548
  Calendar_default,
5488
5549
  {
5489
5550
  view: "month",
@@ -5496,14 +5557,14 @@ var MonthRangePicker = forwardRef10(
5496
5557
  disableFuture,
5497
5558
  disablePast
5498
5559
  }
5499
- ), /* @__PURE__ */ React32.createElement(
5560
+ ), /* @__PURE__ */ React33.createElement(
5500
5561
  DialogActions_default,
5501
5562
  {
5502
5563
  sx: {
5503
5564
  p: 1
5504
5565
  }
5505
5566
  },
5506
- /* @__PURE__ */ React32.createElement(
5567
+ /* @__PURE__ */ React33.createElement(
5507
5568
  Button_default,
5508
5569
  {
5509
5570
  size,
@@ -5523,7 +5584,7 @@ var MonthRangePicker = forwardRef10(
5523
5584
  MonthRangePicker.displayName = "MonthRangePicker";
5524
5585
 
5525
5586
  // src/components/NavigationGroup/NavigationGroup.tsx
5526
- import React33 from "react";
5587
+ import React34 from "react";
5527
5588
  import {
5528
5589
  Accordion as JoyAccordion2,
5529
5590
  AccordionSummary as JoyAccordionSummary2,
@@ -5554,11 +5615,11 @@ var AccordionDetails2 = styled22(JoyAccordionDetails2, {
5554
5615
  }));
5555
5616
  function NavigationGroup(props) {
5556
5617
  const { title, children, startDecorator, level, ...rest } = props;
5557
- return /* @__PURE__ */ React33.createElement(JoyAccordion2, { ...rest }, /* @__PURE__ */ React33.createElement(AccordionSummary2, { useIcon: !!startDecorator, level }, /* @__PURE__ */ React33.createElement(Stack2, { direction: "row", gap: 4 }, startDecorator, title)), /* @__PURE__ */ React33.createElement(AccordionDetails2, null, children));
5618
+ return /* @__PURE__ */ React34.createElement(JoyAccordion2, { ...rest }, /* @__PURE__ */ React34.createElement(AccordionSummary2, { useIcon: !!startDecorator, level }, /* @__PURE__ */ React34.createElement(Stack2, { direction: "row", gap: 4 }, startDecorator, title)), /* @__PURE__ */ React34.createElement(AccordionDetails2, null, children));
5558
5619
  }
5559
5620
 
5560
5621
  // src/components/NavigationItem/NavigationItem.tsx
5561
- import React34 from "react";
5622
+ import React35 from "react";
5562
5623
  import {
5563
5624
  ListItem as JoyListItem,
5564
5625
  ListItemButton as JoyListItemButton,
@@ -5593,7 +5654,7 @@ function NavigationItem(props) {
5593
5654
  const handleClick = () => {
5594
5655
  onClick?.(id);
5595
5656
  };
5596
- return /* @__PURE__ */ React34.createElement(JoyListItem, { ...rest }, /* @__PURE__ */ React34.createElement(
5657
+ return /* @__PURE__ */ React35.createElement(JoyListItem, { ...rest }, /* @__PURE__ */ React35.createElement(
5597
5658
  ListItemButton,
5598
5659
  {
5599
5660
  level,
@@ -5602,21 +5663,21 @@ function NavigationItem(props) {
5602
5663
  "aria-current": selected,
5603
5664
  onClick: handleClick
5604
5665
  },
5605
- startDecorator && /* @__PURE__ */ React34.createElement(JoyListItemDecorator, null, startDecorator),
5666
+ startDecorator && /* @__PURE__ */ React35.createElement(JoyListItemDecorator, null, startDecorator),
5606
5667
  children
5607
5668
  ));
5608
5669
  }
5609
5670
 
5610
5671
  // src/components/Navigator/Navigator.tsx
5611
- import React35 from "react";
5672
+ import React36 from "react";
5612
5673
  function Navigator(props) {
5613
5674
  const { items, level = 0, onSelect } = props;
5614
5675
  const handleItemClick = (id) => {
5615
5676
  onSelect?.(id);
5616
5677
  };
5617
- return /* @__PURE__ */ React35.createElement("div", null, items.map((item, index) => {
5678
+ return /* @__PURE__ */ React36.createElement("div", null, items.map((item, index) => {
5618
5679
  if (item.type === "item") {
5619
- return /* @__PURE__ */ React35.createElement(
5680
+ return /* @__PURE__ */ React36.createElement(
5620
5681
  NavigationItem,
5621
5682
  {
5622
5683
  key: item.id,
@@ -5629,7 +5690,7 @@ function Navigator(props) {
5629
5690
  item.title
5630
5691
  );
5631
5692
  } else if (item.type === "group") {
5632
- return /* @__PURE__ */ React35.createElement(
5693
+ return /* @__PURE__ */ React36.createElement(
5633
5694
  NavigationGroup,
5634
5695
  {
5635
5696
  key: index,
@@ -5647,17 +5708,17 @@ function Navigator(props) {
5647
5708
  Navigator.displayName = "Navigator";
5648
5709
 
5649
5710
  // src/components/PercentageInput/PercentageInput.tsx
5650
- import React36, { useCallback as useCallback14, useMemo as useMemo12, useState as useState12 } from "react";
5711
+ import React37, { useCallback as useCallback14, useMemo as useMemo12, useState as useState12 } from "react";
5651
5712
  import { NumericFormat as NumericFormat2 } from "react-number-format";
5652
5713
  import { styled as styled24, useThemeProps as useThemeProps8 } from "@mui/joy";
5653
5714
  var padDecimal = (value, decimalScale) => {
5654
5715
  const [integer, decimal = ""] = `${value}`.split(".");
5655
5716
  return Number(`${integer}${decimal.padEnd(decimalScale, "0")}`);
5656
5717
  };
5657
- var TextMaskAdapter9 = React36.forwardRef(
5718
+ var TextMaskAdapter9 = React37.forwardRef(
5658
5719
  function TextMaskAdapter10(props, ref) {
5659
5720
  const { onChange, min, max, ...innerProps } = props;
5660
- return /* @__PURE__ */ React36.createElement(
5721
+ return /* @__PURE__ */ React37.createElement(
5661
5722
  NumericFormat2,
5662
5723
  {
5663
5724
  ...innerProps,
@@ -5683,7 +5744,7 @@ var PercentageInputRoot = styled24(Input_default, {
5683
5744
  slot: "Root",
5684
5745
  overridesResolver: (props, styles) => styles.root
5685
5746
  })({});
5686
- var PercentageInput = React36.forwardRef(function PercentageInput2(inProps, ref) {
5747
+ var PercentageInput = React37.forwardRef(function PercentageInput2(inProps, ref) {
5687
5748
  const props = useThemeProps8({ props: inProps, name: "PercentageInput" });
5688
5749
  const {
5689
5750
  name,
@@ -5736,7 +5797,7 @@ var PercentageInput = React36.forwardRef(function PercentageInput2(inProps, ref)
5736
5797
  },
5737
5798
  [setValue, useMinorUnit, maxDecimalScale, min, max]
5738
5799
  );
5739
- return /* @__PURE__ */ React36.createElement(
5800
+ return /* @__PURE__ */ React37.createElement(
5740
5801
  PercentageInputRoot,
5741
5802
  {
5742
5803
  ...innerProps,
@@ -5766,7 +5827,7 @@ var PercentageInput = React36.forwardRef(function PercentageInput2(inProps, ref)
5766
5827
  PercentageInput.displayName = "PercentageInput";
5767
5828
 
5768
5829
  // src/components/ProfileMenu/ProfileMenu.tsx
5769
- import React37, { useCallback as useCallback15, useMemo as useMemo13 } from "react";
5830
+ import React38, { useCallback as useCallback15, useMemo as useMemo13 } from "react";
5770
5831
  import {
5771
5832
  Dropdown as Dropdown2,
5772
5833
  ListDivider,
@@ -5790,7 +5851,7 @@ function ProfileCard(props) {
5790
5851
  () => size === "sm" ? "body-sm" : "body-md",
5791
5852
  [size]
5792
5853
  );
5793
- return /* @__PURE__ */ React37.createElement(StyledProfileCard, { px: 4, py: 2 }, /* @__PURE__ */ React37.createElement(Stack, { direction: "row", gap: 2 }, /* @__PURE__ */ React37.createElement(
5854
+ return /* @__PURE__ */ React38.createElement(StyledProfileCard, { px: 4, py: 2 }, /* @__PURE__ */ React38.createElement(Stack, { direction: "row", gap: 2 }, /* @__PURE__ */ React38.createElement(
5794
5855
  Typography,
5795
5856
  {
5796
5857
  level: nameLevel,
@@ -5798,7 +5859,7 @@ function ProfileCard(props) {
5798
5859
  textColor: "text.primary"
5799
5860
  },
5800
5861
  children
5801
- ), chip && /* @__PURE__ */ React37.createElement(Chip, { size, color: "neutral", variant: "outlined" }, chip)), caption && /* @__PURE__ */ React37.createElement(Typography, { level: captionLevel, textColor: "text.tertiary" }, caption));
5862
+ ), chip && /* @__PURE__ */ React38.createElement(Chip, { size, color: "neutral", variant: "outlined" }, chip)), caption && /* @__PURE__ */ React38.createElement(Typography, { level: captionLevel, textColor: "text.tertiary" }, caption));
5802
5863
  }
5803
5864
  ProfileCard.displayName = "ProfileCard";
5804
5865
  var StyledProfileMenuButton = styled25(MenuButton2, {
@@ -5810,16 +5871,16 @@ var StyledProfileMenuButton = styled25(MenuButton2, {
5810
5871
  }));
5811
5872
  function ProfileMenuButton(props) {
5812
5873
  const { size = "md", src, alt, children, getInitial, ...innerProps } = props;
5813
- return /* @__PURE__ */ React37.createElement(
5874
+ return /* @__PURE__ */ React38.createElement(
5814
5875
  StyledProfileMenuButton,
5815
5876
  {
5816
5877
  variant: "plain",
5817
5878
  color: "neutral",
5818
5879
  size,
5819
- endDecorator: /* @__PURE__ */ React37.createElement(DropdownIcon, null),
5880
+ endDecorator: /* @__PURE__ */ React38.createElement(DropdownIcon, null),
5820
5881
  ...innerProps
5821
5882
  },
5822
- /* @__PURE__ */ React37.createElement(
5883
+ /* @__PURE__ */ React38.createElement(
5823
5884
  Avatar,
5824
5885
  {
5825
5886
  variant: "soft",
@@ -5860,7 +5921,7 @@ function ProfileMenu(props) {
5860
5921
  defaultOpen ?? false,
5861
5922
  useCallback15((value) => onOpenChange?.(value), [onOpenChange])
5862
5923
  );
5863
- return /* @__PURE__ */ React37.createElement(ClickAwayListener5, { onClickAway: () => setOpen(false) }, /* @__PURE__ */ React37.createElement("div", null, /* @__PURE__ */ React37.createElement(Dropdown2, { open }, /* @__PURE__ */ React37.createElement(
5924
+ return /* @__PURE__ */ React38.createElement(ClickAwayListener5, { onClickAway: () => setOpen(false) }, /* @__PURE__ */ React38.createElement("div", null, /* @__PURE__ */ React38.createElement(Dropdown2, { open }, /* @__PURE__ */ React38.createElement(
5864
5925
  ProfileMenuButton,
5865
5926
  {
5866
5927
  size,
@@ -5870,7 +5931,7 @@ function ProfileMenu(props) {
5870
5931
  getInitial
5871
5932
  },
5872
5933
  profile.name
5873
- ), /* @__PURE__ */ React37.createElement(
5934
+ ), /* @__PURE__ */ React38.createElement(
5874
5935
  ProfileMenuRoot,
5875
5936
  {
5876
5937
  size,
@@ -5878,7 +5939,7 @@ function ProfileMenu(props) {
5878
5939
  ...innerProps,
5879
5940
  onClose: () => setOpen(false)
5880
5941
  },
5881
- /* @__PURE__ */ React37.createElement(
5942
+ /* @__PURE__ */ React38.createElement(
5882
5943
  ProfileCard,
5883
5944
  {
5884
5945
  size,
@@ -5887,8 +5948,8 @@ function ProfileMenu(props) {
5887
5948
  },
5888
5949
  profile.name
5889
5950
  ),
5890
- !!menuItems.length && /* @__PURE__ */ React37.createElement(ListDivider, null),
5891
- menuItems.map(({ label, ...menuProps }) => /* @__PURE__ */ React37.createElement(
5951
+ !!menuItems.length && /* @__PURE__ */ React38.createElement(ListDivider, null),
5952
+ menuItems.map(({ label, ...menuProps }) => /* @__PURE__ */ React38.createElement(
5892
5953
  MenuItem,
5893
5954
  {
5894
5955
  ...menuProps,
@@ -5914,15 +5975,15 @@ var RadioGroup = MotionRadioGroup;
5914
5975
  RadioGroup.displayName = "RadioGroup";
5915
5976
 
5916
5977
  // src/components/RadioList/RadioList.tsx
5917
- import React38 from "react";
5978
+ import React39 from "react";
5918
5979
  function RadioList(props) {
5919
5980
  const { items, ...innerProps } = props;
5920
- return /* @__PURE__ */ React38.createElement(RadioGroup, { ...innerProps }, items.map((item) => /* @__PURE__ */ React38.createElement(Radio, { key: `${item.value}`, value: item.value, label: item.label })));
5981
+ return /* @__PURE__ */ React39.createElement(RadioGroup, { ...innerProps }, items.map((item) => /* @__PURE__ */ React39.createElement(Radio, { key: `${item.value}`, value: item.value, label: item.label })));
5921
5982
  }
5922
5983
  RadioList.displayName = "RadioList";
5923
5984
 
5924
5985
  // src/components/Stepper/Stepper.tsx
5925
- import React39 from "react";
5986
+ import React40 from "react";
5926
5987
  import {
5927
5988
  Stepper as JoyStepper,
5928
5989
  Step as JoyStep,
@@ -5955,7 +6016,7 @@ function Stepper(props) {
5955
6016
  inactiveLineColor = "neutral.300",
5956
6017
  activeStep
5957
6018
  } = props;
5958
- return /* @__PURE__ */ React39.createElement(
6019
+ return /* @__PURE__ */ React40.createElement(
5959
6020
  MotionStepper,
5960
6021
  {
5961
6022
  sx: (theme) => ({
@@ -5989,15 +6050,15 @@ function Stepper(props) {
5989
6050
  const completed = activeStep > i + 1;
5990
6051
  const disabled = activeStep < i + 1;
5991
6052
  const hasContent = step.label || step.extraContent;
5992
- return /* @__PURE__ */ React39.createElement(
6053
+ return /* @__PURE__ */ React40.createElement(
5993
6054
  Step,
5994
6055
  {
5995
- indicator: /* @__PURE__ */ React39.createElement(StepIndicator, { variant: "solid", color: "primary" }, completed ? /* @__PURE__ */ React39.createElement(CheckIcon, null) : step.indicatorContent),
6056
+ indicator: /* @__PURE__ */ React40.createElement(StepIndicator, { variant: "solid", color: "primary" }, completed ? /* @__PURE__ */ React40.createElement(CheckIcon, null) : step.indicatorContent),
5996
6057
  active,
5997
6058
  completed,
5998
6059
  disabled
5999
6060
  },
6000
- hasContent && /* @__PURE__ */ React39.createElement(Stack_default, null, step.label && /* @__PURE__ */ React39.createElement(Typography_default, { level: "title-sm" }, step.label), step.extraContent && /* @__PURE__ */ React39.createElement(Typography_default, { level: "body-xs" }, step.extraContent))
6061
+ hasContent && /* @__PURE__ */ React40.createElement(Stack_default, null, step.label && /* @__PURE__ */ React40.createElement(Typography_default, { level: "title-sm" }, step.label), step.extraContent && /* @__PURE__ */ React40.createElement(Typography_default, { level: "body-xs" }, step.extraContent))
6001
6062
  );
6002
6063
  })
6003
6064
  );
@@ -6005,7 +6066,7 @@ function Stepper(props) {
6005
6066
  Stepper.displayName = "Stepper";
6006
6067
 
6007
6068
  // src/components/Switch/Switch.tsx
6008
- import React40 from "react";
6069
+ import React41 from "react";
6009
6070
  import {
6010
6071
  Switch as JoySwitch,
6011
6072
  styled as styled27,
@@ -6031,14 +6092,14 @@ var StyledThumb = styled27(motion28.div)({
6031
6092
  right: "var(--Switch-thumbOffset)"
6032
6093
  }
6033
6094
  });
6034
- var Thumb = (props) => /* @__PURE__ */ React40.createElement(StyledThumb, { ...props, layout: true, transition: spring });
6095
+ var Thumb = (props) => /* @__PURE__ */ React41.createElement(StyledThumb, { ...props, layout: true, transition: spring });
6035
6096
  var spring = {
6036
6097
  type: "spring",
6037
6098
  stiffness: 700,
6038
6099
  damping: 30
6039
6100
  };
6040
6101
  var Switch = (props) => {
6041
- return /* @__PURE__ */ React40.createElement(
6102
+ return /* @__PURE__ */ React41.createElement(
6042
6103
  MotionSwitch,
6043
6104
  {
6044
6105
  ...props,
@@ -6052,7 +6113,7 @@ var Switch = (props) => {
6052
6113
  Switch.displayName = "Switch";
6053
6114
 
6054
6115
  // src/components/Tabs/Tabs.tsx
6055
- import React41, { forwardRef as forwardRef11 } from "react";
6116
+ import React42, { forwardRef as forwardRef11 } from "react";
6056
6117
  import {
6057
6118
  Tabs as JoyTabs,
6058
6119
  Tab as JoyTab,
@@ -6076,14 +6137,14 @@ var StyledTab = styled28(JoyTab)(({ theme }) => ({
6076
6137
  }
6077
6138
  }));
6078
6139
  var Tab = forwardRef11(function Tab2({ startDecorator, endDecorator, children, ...props }, ref) {
6079
- return /* @__PURE__ */ React41.createElement(StyledTab, { ...props, ref }, startDecorator, children, endDecorator);
6140
+ return /* @__PURE__ */ React42.createElement(StyledTab, { ...props, ref }, startDecorator, children, endDecorator);
6080
6141
  });
6081
6142
  Tab.displayName = "Tab";
6082
6143
  var TabList = JoyTabList;
6083
6144
  var TabPanel = JoyTabPanel;
6084
6145
 
6085
6146
  // src/components/ThemeProvider/ThemeProvider.tsx
6086
- import React42 from "react";
6147
+ import React43 from "react";
6087
6148
  import {
6088
6149
  CssBaseline,
6089
6150
  CssVarsProvider,
@@ -6353,7 +6414,7 @@ var defaultTheme = extendTheme({
6353
6414
  });
6354
6415
  function ThemeProvider(props) {
6355
6416
  const theme = props.theme || defaultTheme;
6356
- return /* @__PURE__ */ React42.createElement(React42.Fragment, null, /* @__PURE__ */ React42.createElement(CssVarsProvider, { theme }, /* @__PURE__ */ React42.createElement(CssBaseline, null), props.children));
6417
+ return /* @__PURE__ */ React43.createElement(React43.Fragment, null, /* @__PURE__ */ React43.createElement(CssVarsProvider, { theme }, /* @__PURE__ */ React43.createElement(CssBaseline, null), props.children));
6357
6418
  }
6358
6419
  ThemeProvider.displayName = "ThemeProvider";
6359
6420
  export {
@@ -6400,6 +6461,7 @@ export {
6400
6461
  FormLabel,
6401
6462
  Grid,
6402
6463
  IconButton,
6464
+ IconMenuButton,
6403
6465
  InfoSign,
6404
6466
  Input,
6405
6467
  InsetDrawer,