@ceed/ads 1.16.1 → 1.18.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/components/FilterMenu/components/FilterableCheckboxGroup.d.ts +11 -0
- package/dist/components/FilterMenu/types.d.ts +9 -1
- package/dist/components/Pagination/Pagination.d.ts +1 -0
- package/dist/components/inputs/FilterMenu.md +20 -0
- package/dist/components/navigation/Pagination.md +11 -2
- package/dist/index.cjs +494 -380
- package/dist/index.js +268 -154
- package/framer/index.js +40 -40
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -3456,8 +3456,10 @@ TableBody.displayName = "TableBody";
|
|
|
3456
3456
|
|
|
3457
3457
|
// src/components/Pagination/Pagination.tsx
|
|
3458
3458
|
import React24, { useCallback as useCallback10, useEffect as useEffect6 } from "react";
|
|
3459
|
-
import PreviousIcon from "@mui/icons-material/
|
|
3460
|
-
import NextIcon from "@mui/icons-material/
|
|
3459
|
+
import PreviousIcon from "@mui/icons-material/ChevronLeftRounded";
|
|
3460
|
+
import NextIcon from "@mui/icons-material/ChevronRightRounded";
|
|
3461
|
+
import FirstPageIcon from "@mui/icons-material/FirstPageRounded";
|
|
3462
|
+
import LastPageIcon from "@mui/icons-material/LastPageRounded";
|
|
3461
3463
|
import { styled as styled13 } from "@mui/joy";
|
|
3462
3464
|
var PaginationButton = styled13(Button_default, {
|
|
3463
3465
|
name: "Pagination",
|
|
@@ -3516,6 +3518,7 @@ function Pagination(props) {
|
|
|
3516
3518
|
onPageChange,
|
|
3517
3519
|
rowCount,
|
|
3518
3520
|
size = "md",
|
|
3521
|
+
variant = "standard",
|
|
3519
3522
|
...innerProps
|
|
3520
3523
|
} = props;
|
|
3521
3524
|
const [paginationModel, setPaginationModel] = useControlledState(
|
|
@@ -3542,6 +3545,87 @@ function Pagination(props) {
|
|
|
3542
3545
|
setPaginationModel({ ...paginationModel, page: lastPage });
|
|
3543
3546
|
}
|
|
3544
3547
|
}, [rowCount, paginationModel, lastPage, setPaginationModel]);
|
|
3548
|
+
const pageOptions = Array.from({ length: lastPage }, (_, i) => ({
|
|
3549
|
+
label: `${i + 1}`,
|
|
3550
|
+
value: `${i + 1}`
|
|
3551
|
+
}));
|
|
3552
|
+
if (variant === "compact") {
|
|
3553
|
+
return /* @__PURE__ */ React24.createElement(PaginationRoot, { ...innerProps }, /* @__PURE__ */ React24.createElement(PaginationContainer, { direction: "row", size, alignItems: "center" }, /* @__PURE__ */ React24.createElement(Stack_default, { direction: "row" }, /* @__PURE__ */ React24.createElement(
|
|
3554
|
+
PaginationIconButton,
|
|
3555
|
+
{
|
|
3556
|
+
size,
|
|
3557
|
+
variant: "plain",
|
|
3558
|
+
color: "neutral",
|
|
3559
|
+
onClick: () => handlePageChange(firstPage),
|
|
3560
|
+
disabled: paginationModel.page === firstPage,
|
|
3561
|
+
"aria-label": "First page"
|
|
3562
|
+
},
|
|
3563
|
+
/* @__PURE__ */ React24.createElement(FirstPageIcon, null)
|
|
3564
|
+
), /* @__PURE__ */ React24.createElement(
|
|
3565
|
+
PaginationIconButton,
|
|
3566
|
+
{
|
|
3567
|
+
size,
|
|
3568
|
+
variant: "plain",
|
|
3569
|
+
color: "neutral",
|
|
3570
|
+
onClick: () => handlePageChange(paginationModel.page - 1),
|
|
3571
|
+
disabled: paginationModel.page === firstPage,
|
|
3572
|
+
"aria-label": "Previous page"
|
|
3573
|
+
},
|
|
3574
|
+
/* @__PURE__ */ React24.createElement(PreviousIcon, null)
|
|
3575
|
+
)), /* @__PURE__ */ React24.createElement(
|
|
3576
|
+
Autocomplete_default,
|
|
3577
|
+
{
|
|
3578
|
+
size,
|
|
3579
|
+
value: `${paginationModel.page}`,
|
|
3580
|
+
onChange: (event) => {
|
|
3581
|
+
if (event.target.value) {
|
|
3582
|
+
handlePageChange(parseInt(event.target.value, 10));
|
|
3583
|
+
}
|
|
3584
|
+
},
|
|
3585
|
+
options: pageOptions,
|
|
3586
|
+
sx: {
|
|
3587
|
+
width: {
|
|
3588
|
+
sm: "80px",
|
|
3589
|
+
md: "100px",
|
|
3590
|
+
lg: "120px"
|
|
3591
|
+
}[size]
|
|
3592
|
+
}
|
|
3593
|
+
}
|
|
3594
|
+
), /* @__PURE__ */ React24.createElement(
|
|
3595
|
+
Typography_default,
|
|
3596
|
+
{
|
|
3597
|
+
level: `body-${size}`,
|
|
3598
|
+
sx: (theme) => ({
|
|
3599
|
+
color: theme.palette.text.secondary,
|
|
3600
|
+
fontWeight: 500
|
|
3601
|
+
})
|
|
3602
|
+
},
|
|
3603
|
+
"/ ",
|
|
3604
|
+
lastPage
|
|
3605
|
+
), /* @__PURE__ */ React24.createElement(Stack_default, { direction: "row" }, /* @__PURE__ */ React24.createElement(
|
|
3606
|
+
PaginationIconButton,
|
|
3607
|
+
{
|
|
3608
|
+
size,
|
|
3609
|
+
variant: "plain",
|
|
3610
|
+
color: "neutral",
|
|
3611
|
+
onClick: () => handlePageChange(paginationModel.page + 1),
|
|
3612
|
+
disabled: paginationModel.page === lastPage,
|
|
3613
|
+
"aria-label": "Next page"
|
|
3614
|
+
},
|
|
3615
|
+
/* @__PURE__ */ React24.createElement(NextIcon, null)
|
|
3616
|
+
), /* @__PURE__ */ React24.createElement(
|
|
3617
|
+
PaginationIconButton,
|
|
3618
|
+
{
|
|
3619
|
+
size,
|
|
3620
|
+
variant: "plain",
|
|
3621
|
+
color: "neutral",
|
|
3622
|
+
onClick: () => handlePageChange(lastPage),
|
|
3623
|
+
disabled: paginationModel.page === lastPage,
|
|
3624
|
+
"aria-label": "Last page"
|
|
3625
|
+
},
|
|
3626
|
+
/* @__PURE__ */ React24.createElement(LastPageIcon, null)
|
|
3627
|
+
))));
|
|
3628
|
+
}
|
|
3545
3629
|
return /* @__PURE__ */ React24.createElement(PaginationRoot, { ...innerProps }, /* @__PURE__ */ React24.createElement(PaginationContainer, { direction: "row", size, alignItems: "center" }, /* @__PURE__ */ React24.createElement(
|
|
3546
3630
|
PaginationIconButton,
|
|
3547
3631
|
{
|
|
@@ -4633,8 +4717,8 @@ function FilterableCheckboxGroup(props) {
|
|
|
4633
4717
|
FilterableCheckboxGroup.displayName = "FilterableCheckboxGroup";
|
|
4634
4718
|
|
|
4635
4719
|
// src/components/FilterMenu/FilterMenu.tsx
|
|
4636
|
-
import
|
|
4637
|
-
import { Button as Button2, Stack as
|
|
4720
|
+
import React41, { useCallback as useCallback23 } from "react";
|
|
4721
|
+
import { Button as Button2, Stack as Stack11 } from "@mui/joy";
|
|
4638
4722
|
|
|
4639
4723
|
// src/components/FilterMenu/components/CheckboxGroup.tsx
|
|
4640
4724
|
import React31, { useCallback as useCallback14 } from "react";
|
|
@@ -4670,8 +4754,37 @@ function CheckboxGroup(props) {
|
|
|
4670
4754
|
}
|
|
4671
4755
|
CheckboxGroup.displayName = "CheckboxGroup";
|
|
4672
4756
|
|
|
4673
|
-
// src/components/FilterMenu/components/
|
|
4757
|
+
// src/components/FilterMenu/components/FilterableCheckboxGroup.tsx
|
|
4674
4758
|
import React32, { useCallback as useCallback15 } from "react";
|
|
4759
|
+
import { Stack as Stack3 } from "@mui/joy";
|
|
4760
|
+
function FilterableCheckboxGroup2(props) {
|
|
4761
|
+
const { id, label, options, value, onChange, hidden, placeholder, maxHeight } = props;
|
|
4762
|
+
const [internalValue, setInternalValue] = useControlledState(value, [], onChange);
|
|
4763
|
+
const handleChange = useCallback15(
|
|
4764
|
+
(newValue) => {
|
|
4765
|
+
setInternalValue(newValue);
|
|
4766
|
+
},
|
|
4767
|
+
[setInternalValue]
|
|
4768
|
+
);
|
|
4769
|
+
if (hidden) {
|
|
4770
|
+
return null;
|
|
4771
|
+
}
|
|
4772
|
+
return /* @__PURE__ */ React32.createElement(Stack3, { spacing: 3, role: "group", "aria-labelledby": id }, !!label && /* @__PURE__ */ React32.createElement(Typography_default, { id, level: "title-sm", component: "label", textColor: "text.tertiary" }, label), /* @__PURE__ */ React32.createElement(
|
|
4773
|
+
FilterableCheckboxGroup,
|
|
4774
|
+
{
|
|
4775
|
+
value: internalValue ?? [],
|
|
4776
|
+
onChange: handleChange,
|
|
4777
|
+
options,
|
|
4778
|
+
placeholder,
|
|
4779
|
+
maxHeight,
|
|
4780
|
+
size: "sm"
|
|
4781
|
+
}
|
|
4782
|
+
));
|
|
4783
|
+
}
|
|
4784
|
+
FilterableCheckboxGroup2.displayName = "FilterableCheckboxGroup";
|
|
4785
|
+
|
|
4786
|
+
// src/components/FilterMenu/components/RadioGroup.tsx
|
|
4787
|
+
import React33, { useCallback as useCallback16 } from "react";
|
|
4675
4788
|
|
|
4676
4789
|
// src/components/Radio/Radio.tsx
|
|
4677
4790
|
import { Radio as JoyRadio, RadioGroup as JoyRadioGroup } from "@mui/joy";
|
|
@@ -4684,11 +4797,11 @@ var RadioGroup = MotionRadioGroup;
|
|
|
4684
4797
|
RadioGroup.displayName = "RadioGroup";
|
|
4685
4798
|
|
|
4686
4799
|
// src/components/FilterMenu/components/RadioGroup.tsx
|
|
4687
|
-
import { Stack as
|
|
4800
|
+
import { Stack as Stack4 } from "@mui/joy";
|
|
4688
4801
|
function RadioGroup2(props) {
|
|
4689
4802
|
const { id, label, options, value, onChange, hidden } = props;
|
|
4690
4803
|
const [internalValue, setInternalValue] = useControlledState(value, value ?? "", onChange);
|
|
4691
|
-
const handleRadioChange =
|
|
4804
|
+
const handleRadioChange = useCallback16(
|
|
4692
4805
|
(event) => {
|
|
4693
4806
|
const newValue = event.target.value;
|
|
4694
4807
|
const option = options.find((opt) => opt.value.toString() === newValue);
|
|
@@ -4700,13 +4813,13 @@ function RadioGroup2(props) {
|
|
|
4700
4813
|
if (hidden) {
|
|
4701
4814
|
return null;
|
|
4702
4815
|
}
|
|
4703
|
-
return /* @__PURE__ */
|
|
4816
|
+
return /* @__PURE__ */ React33.createElement(Stack4, { spacing: 3, role: "group", "aria-labelledby": id }, !!label && /* @__PURE__ */ React33.createElement(Stack4, { spacing: 1 }, /* @__PURE__ */ React33.createElement(Typography_default, { id, level: "title-sm", component: "label", textColor: "text.tertiary" }, label)), /* @__PURE__ */ React33.createElement(RadioGroup, { name: id, value: internalValue?.toString(), onChange: handleRadioChange }, options.map((option) => /* @__PURE__ */ React33.createElement(Radio, { key: `${id}-${option.value}`, value: option.value.toString(), label: option.label }))));
|
|
4704
4817
|
}
|
|
4705
4818
|
RadioGroup2.displayName = "RadioGroup";
|
|
4706
4819
|
|
|
4707
4820
|
// src/components/FilterMenu/components/DateRange.tsx
|
|
4708
|
-
import
|
|
4709
|
-
import { Stack as
|
|
4821
|
+
import React34, { useCallback as useCallback17, useMemo as useMemo13, useState as useState11, useEffect as useEffect9 } from "react";
|
|
4822
|
+
import { Stack as Stack5 } from "@mui/joy";
|
|
4710
4823
|
function DateRange(props) {
|
|
4711
4824
|
const {
|
|
4712
4825
|
id,
|
|
@@ -4734,7 +4847,7 @@ function DateRange(props) {
|
|
|
4734
4847
|
],
|
|
4735
4848
|
[]
|
|
4736
4849
|
);
|
|
4737
|
-
const getDateRangeForOption =
|
|
4850
|
+
const getDateRangeForOption = useCallback17(
|
|
4738
4851
|
(option) => {
|
|
4739
4852
|
const now = /* @__PURE__ */ new Date();
|
|
4740
4853
|
const currentYear = now.getFullYear();
|
|
@@ -4773,7 +4886,7 @@ function DateRange(props) {
|
|
|
4773
4886
|
},
|
|
4774
4887
|
[internalValue]
|
|
4775
4888
|
);
|
|
4776
|
-
const determineOptionFromValue =
|
|
4889
|
+
const determineOptionFromValue = useCallback17(
|
|
4777
4890
|
(value2) => {
|
|
4778
4891
|
if (!value2) {
|
|
4779
4892
|
return "all-time";
|
|
@@ -4799,7 +4912,7 @@ function DateRange(props) {
|
|
|
4799
4912
|
const newOption = determineOptionFromValue(internalValue);
|
|
4800
4913
|
setSelectedOption(newOption);
|
|
4801
4914
|
}, [internalValue, determineOptionFromValue]);
|
|
4802
|
-
const handleOptionChange =
|
|
4915
|
+
const handleOptionChange = useCallback17(
|
|
4803
4916
|
(event) => {
|
|
4804
4917
|
const newOption = event.target.value;
|
|
4805
4918
|
setSelectedOption(newOption);
|
|
@@ -4808,7 +4921,7 @@ function DateRange(props) {
|
|
|
4808
4921
|
},
|
|
4809
4922
|
[getDateRangeForOption, setInternalValue]
|
|
4810
4923
|
);
|
|
4811
|
-
const handleCustomDateChange =
|
|
4924
|
+
const handleCustomDateChange = useCallback17(
|
|
4812
4925
|
(event) => {
|
|
4813
4926
|
const dateRangeString = event.target.value;
|
|
4814
4927
|
if (dateRangeString && dateRangeString.includes(" - ")) {
|
|
@@ -4829,7 +4942,7 @@ function DateRange(props) {
|
|
|
4829
4942
|
if (hidden) {
|
|
4830
4943
|
return null;
|
|
4831
4944
|
}
|
|
4832
|
-
return /* @__PURE__ */
|
|
4945
|
+
return /* @__PURE__ */ React34.createElement(Stack5, { spacing: 3, role: "group", "aria-labelledby": id }, !!label && /* @__PURE__ */ React34.createElement(Typography_default, { id, level: "title-sm", component: "label", textColor: "text.tertiary" }, label), /* @__PURE__ */ React34.createElement(RadioGroup, { name: `${id}-options`, value: selectedOption, onChange: handleOptionChange }, dateRangeOptions.map((option) => /* @__PURE__ */ React34.createElement(Radio, { key: `${id}-${option.value}`, value: option.value, label: option.label }))), selectedOption === "custom" && /* @__PURE__ */ React34.createElement(
|
|
4833
4946
|
DateRangePicker,
|
|
4834
4947
|
{
|
|
4835
4948
|
value: customDateRangeValue,
|
|
@@ -4848,12 +4961,12 @@ function DateRange(props) {
|
|
|
4848
4961
|
DateRange.displayName = "DateRange";
|
|
4849
4962
|
|
|
4850
4963
|
// src/components/FilterMenu/components/CurrencyInput.tsx
|
|
4851
|
-
import
|
|
4852
|
-
import { Stack as
|
|
4964
|
+
import React35, { useCallback as useCallback18 } from "react";
|
|
4965
|
+
import { Stack as Stack6 } from "@mui/joy";
|
|
4853
4966
|
function CurrencyInput3(props) {
|
|
4854
4967
|
const { id, label, value, onChange, hidden, max, placeholder, useMinorUnit, currency = "USD" } = props;
|
|
4855
4968
|
const [internalValue, setInternalValue] = useControlledState(value, value, onChange);
|
|
4856
|
-
const handleCurrencyChange =
|
|
4969
|
+
const handleCurrencyChange = useCallback18(
|
|
4857
4970
|
(event) => {
|
|
4858
4971
|
const newValue = event.target.value;
|
|
4859
4972
|
setInternalValue(newValue);
|
|
@@ -4863,7 +4976,7 @@ function CurrencyInput3(props) {
|
|
|
4863
4976
|
if (hidden) {
|
|
4864
4977
|
return null;
|
|
4865
4978
|
}
|
|
4866
|
-
return /* @__PURE__ */
|
|
4979
|
+
return /* @__PURE__ */ React35.createElement(Stack6, { spacing: 3, role: "group", "aria-labelledby": id }, !!label && /* @__PURE__ */ React35.createElement(Typography_default, { id, level: "title-sm", component: "label", textColor: "text.tertiary" }, label), /* @__PURE__ */ React35.createElement(
|
|
4867
4980
|
CurrencyInput,
|
|
4868
4981
|
{
|
|
4869
4982
|
value: internalValue,
|
|
@@ -4879,14 +4992,14 @@ function CurrencyInput3(props) {
|
|
|
4879
4992
|
CurrencyInput3.displayName = "CurrencyInput";
|
|
4880
4993
|
|
|
4881
4994
|
// src/components/FilterMenu/components/CurrencyRange.tsx
|
|
4882
|
-
import
|
|
4883
|
-
import { Stack as
|
|
4995
|
+
import React36, { useCallback as useCallback19 } from "react";
|
|
4996
|
+
import { Stack as Stack7 } from "@mui/joy";
|
|
4884
4997
|
function CurrencyRange(props) {
|
|
4885
4998
|
const { id, label, value, onChange, hidden, max, placeholder, useMinorUnit, currency = "USD" } = props;
|
|
4886
4999
|
const [internalValue, setInternalValue] = useControlledState(value, null, onChange);
|
|
4887
5000
|
const minValue = internalValue?.[0];
|
|
4888
5001
|
const maxValue = internalValue?.[1];
|
|
4889
|
-
const handleMinChange =
|
|
5002
|
+
const handleMinChange = useCallback19(
|
|
4890
5003
|
(event) => {
|
|
4891
5004
|
const newMinValue = event.target.value;
|
|
4892
5005
|
const currentMaxValue = maxValue;
|
|
@@ -4900,7 +5013,7 @@ function CurrencyRange(props) {
|
|
|
4900
5013
|
},
|
|
4901
5014
|
[maxValue, setInternalValue]
|
|
4902
5015
|
);
|
|
4903
|
-
const handleMaxChange =
|
|
5016
|
+
const handleMaxChange = useCallback19(
|
|
4904
5017
|
(event) => {
|
|
4905
5018
|
const newMaxValue = event.target.value;
|
|
4906
5019
|
const currentMinValue = minValue;
|
|
@@ -4917,7 +5030,7 @@ function CurrencyRange(props) {
|
|
|
4917
5030
|
if (hidden) {
|
|
4918
5031
|
return null;
|
|
4919
5032
|
}
|
|
4920
|
-
return /* @__PURE__ */
|
|
5033
|
+
return /* @__PURE__ */ React36.createElement(Stack7, { spacing: 3, role: "group", "aria-labelledby": id }, !!label && /* @__PURE__ */ React36.createElement(Typography_default, { id, level: "title-sm", component: "label", textColor: "text.tertiary" }, label), /* @__PURE__ */ React36.createElement(Stack7, { direction: "row", spacing: 2, alignItems: "flex-end" }, /* @__PURE__ */ React36.createElement(
|
|
4921
5034
|
CurrencyInput,
|
|
4922
5035
|
{
|
|
4923
5036
|
label: "Minimum",
|
|
@@ -4930,7 +5043,7 @@ function CurrencyRange(props) {
|
|
|
4930
5043
|
"aria-labelledby": label ? id : void 0,
|
|
4931
5044
|
"aria-label": "Minimum amount"
|
|
4932
5045
|
}
|
|
4933
|
-
), /* @__PURE__ */
|
|
5046
|
+
), /* @__PURE__ */ React36.createElement(
|
|
4934
5047
|
CurrencyInput,
|
|
4935
5048
|
{
|
|
4936
5049
|
label: "Maximum",
|
|
@@ -4948,20 +5061,20 @@ function CurrencyRange(props) {
|
|
|
4948
5061
|
CurrencyRange.displayName = "CurrencyRange";
|
|
4949
5062
|
|
|
4950
5063
|
// src/components/FilterMenu/components/PercentageInput.tsx
|
|
4951
|
-
import
|
|
4952
|
-
import { Stack as
|
|
5064
|
+
import React38 from "react";
|
|
5065
|
+
import { Stack as Stack8, Typography as Typography2 } from "@mui/joy";
|
|
4953
5066
|
|
|
4954
5067
|
// src/components/PercentageInput/PercentageInput.tsx
|
|
4955
|
-
import
|
|
5068
|
+
import React37, { useCallback as useCallback20, useMemo as useMemo14, useState as useState12 } from "react";
|
|
4956
5069
|
import { NumericFormat as NumericFormat2 } from "react-number-format";
|
|
4957
5070
|
import { styled as styled20, useThemeProps as useThemeProps6 } from "@mui/joy";
|
|
4958
5071
|
var padDecimal = (value, decimalScale) => {
|
|
4959
5072
|
const [integer, decimal = ""] = `${value}`.split(".");
|
|
4960
5073
|
return Number(`${integer}${decimal.padEnd(decimalScale, "0")}`);
|
|
4961
5074
|
};
|
|
4962
|
-
var TextMaskAdapter7 =
|
|
5075
|
+
var TextMaskAdapter7 = React37.forwardRef(function TextMaskAdapter8(props, ref) {
|
|
4963
5076
|
const { onChange, min, max, ...innerProps } = props;
|
|
4964
|
-
return /* @__PURE__ */
|
|
5077
|
+
return /* @__PURE__ */ React37.createElement(
|
|
4965
5078
|
NumericFormat2,
|
|
4966
5079
|
{
|
|
4967
5080
|
...innerProps,
|
|
@@ -4986,7 +5099,7 @@ var PercentageInputRoot = styled20(Input_default, {
|
|
|
4986
5099
|
slot: "Root",
|
|
4987
5100
|
overridesResolver: (props, styles) => styles.root
|
|
4988
5101
|
})({});
|
|
4989
|
-
var PercentageInput =
|
|
5102
|
+
var PercentageInput = React37.forwardRef(
|
|
4990
5103
|
function PercentageInput2(inProps, ref) {
|
|
4991
5104
|
const props = useThemeProps6({ props: inProps, name: "PercentageInput" });
|
|
4992
5105
|
const {
|
|
@@ -5009,7 +5122,7 @@ var PercentageInput = React36.forwardRef(
|
|
|
5009
5122
|
const [_value, setValue] = useControlledState(
|
|
5010
5123
|
props.value,
|
|
5011
5124
|
props.defaultValue,
|
|
5012
|
-
|
|
5125
|
+
useCallback20((value2) => onChange?.({ target: { name, value: value2 } }), [onChange, name])
|
|
5013
5126
|
);
|
|
5014
5127
|
const [internalError, setInternalError] = useState12(
|
|
5015
5128
|
max && _value && _value > max || min && _value && _value < min
|
|
@@ -5020,7 +5133,7 @@ var PercentageInput = React36.forwardRef(
|
|
|
5020
5133
|
}
|
|
5021
5134
|
return _value;
|
|
5022
5135
|
}, [_value, useMinorUnit, maxDecimalScale]);
|
|
5023
|
-
const handleChange =
|
|
5136
|
+
const handleChange = useCallback20(
|
|
5024
5137
|
(event) => {
|
|
5025
5138
|
if (event.target.value === "") {
|
|
5026
5139
|
setValue(void 0);
|
|
@@ -5037,7 +5150,7 @@ var PercentageInput = React36.forwardRef(
|
|
|
5037
5150
|
},
|
|
5038
5151
|
[setValue, useMinorUnit, maxDecimalScale, min, max]
|
|
5039
5152
|
);
|
|
5040
|
-
return /* @__PURE__ */
|
|
5153
|
+
return /* @__PURE__ */ React37.createElement(
|
|
5041
5154
|
PercentageInputRoot,
|
|
5042
5155
|
{
|
|
5043
5156
|
...innerProps,
|
|
@@ -5084,7 +5197,7 @@ var PercentageInput3 = ({
|
|
|
5084
5197
|
if (hidden) {
|
|
5085
5198
|
return null;
|
|
5086
5199
|
}
|
|
5087
|
-
return /* @__PURE__ */
|
|
5200
|
+
return /* @__PURE__ */ React38.createElement(Stack8, { spacing: 3, role: "group", "aria-labelledby": id }, !!label && /* @__PURE__ */ React38.createElement(Typography2, { id, level: "title-sm", component: "label", textColor: "text.tertiary" }, label), /* @__PURE__ */ React38.createElement(
|
|
5088
5201
|
PercentageInput,
|
|
5089
5202
|
{
|
|
5090
5203
|
value: _value,
|
|
@@ -5099,8 +5212,8 @@ var PercentageInput3 = ({
|
|
|
5099
5212
|
};
|
|
5100
5213
|
|
|
5101
5214
|
// src/components/FilterMenu/components/PercentageRange.tsx
|
|
5102
|
-
import
|
|
5103
|
-
import { Stack as
|
|
5215
|
+
import React39, { useCallback as useCallback21 } from "react";
|
|
5216
|
+
import { Stack as Stack9 } from "@mui/joy";
|
|
5104
5217
|
function PercentageRange(props) {
|
|
5105
5218
|
const { id, label, value, onChange, hidden, useMinorUnit, maxDecimalScale, min, max } = props;
|
|
5106
5219
|
const [internalValue, setInternalValue] = useControlledState(
|
|
@@ -5110,7 +5223,7 @@ function PercentageRange(props) {
|
|
|
5110
5223
|
);
|
|
5111
5224
|
const minValue = internalValue?.[0];
|
|
5112
5225
|
const maxValue = internalValue?.[1];
|
|
5113
|
-
const handleMinChange =
|
|
5226
|
+
const handleMinChange = useCallback21(
|
|
5114
5227
|
(event) => {
|
|
5115
5228
|
const newMinValue = event.target.value;
|
|
5116
5229
|
const currentMaxValue = maxValue;
|
|
@@ -5122,7 +5235,7 @@ function PercentageRange(props) {
|
|
|
5122
5235
|
},
|
|
5123
5236
|
[maxValue, setInternalValue]
|
|
5124
5237
|
);
|
|
5125
|
-
const handleMaxChange =
|
|
5238
|
+
const handleMaxChange = useCallback21(
|
|
5126
5239
|
(event) => {
|
|
5127
5240
|
const newMaxValue = event.target.value;
|
|
5128
5241
|
const currentMinValue = minValue;
|
|
@@ -5137,7 +5250,7 @@ function PercentageRange(props) {
|
|
|
5137
5250
|
if (hidden) {
|
|
5138
5251
|
return null;
|
|
5139
5252
|
}
|
|
5140
|
-
return /* @__PURE__ */
|
|
5253
|
+
return /* @__PURE__ */ React39.createElement(Stack9, { spacing: 3, role: "group", "aria-labelledby": id }, !!label && /* @__PURE__ */ React39.createElement(Typography_default, { id, level: "title-sm", component: "label", textColor: "text.tertiary" }, label), /* @__PURE__ */ React39.createElement(Stack9, { direction: "row", spacing: 2, alignItems: "flex-end" }, /* @__PURE__ */ React39.createElement(
|
|
5141
5254
|
PercentageInput,
|
|
5142
5255
|
{
|
|
5143
5256
|
label: "Minimum",
|
|
@@ -5151,7 +5264,7 @@ function PercentageRange(props) {
|
|
|
5151
5264
|
"aria-label": "Minimum percentage",
|
|
5152
5265
|
placeholder: "0%"
|
|
5153
5266
|
}
|
|
5154
|
-
), /* @__PURE__ */
|
|
5267
|
+
), /* @__PURE__ */ React39.createElement(
|
|
5155
5268
|
PercentageInput,
|
|
5156
5269
|
{
|
|
5157
5270
|
label: "Maximum",
|
|
@@ -5170,13 +5283,13 @@ function PercentageRange(props) {
|
|
|
5170
5283
|
PercentageRange.displayName = "PercentageRange";
|
|
5171
5284
|
|
|
5172
5285
|
// src/components/FilterMenu/components/Autocomplete.tsx
|
|
5173
|
-
import
|
|
5174
|
-
import { Stack as
|
|
5286
|
+
import React40, { useCallback as useCallback22 } from "react";
|
|
5287
|
+
import { Stack as Stack10 } from "@mui/joy";
|
|
5175
5288
|
function Autocomplete2(props) {
|
|
5176
5289
|
const { id, label, value, onChange, options, multiple, hidden, placeholder } = props;
|
|
5177
5290
|
const [internalValue, setInternalValue] = useControlledState(value, void 0, onChange);
|
|
5178
5291
|
const autocompleteValue = typeof internalValue === "string" || typeof internalValue === "number" ? String(internalValue) : void 0;
|
|
5179
|
-
const handleChange =
|
|
5292
|
+
const handleChange = useCallback22(
|
|
5180
5293
|
(event) => {
|
|
5181
5294
|
const val = event.target.value;
|
|
5182
5295
|
if (val) {
|
|
@@ -5191,7 +5304,7 @@ function Autocomplete2(props) {
|
|
|
5191
5304
|
if (hidden) {
|
|
5192
5305
|
return null;
|
|
5193
5306
|
}
|
|
5194
|
-
return /* @__PURE__ */
|
|
5307
|
+
return /* @__PURE__ */ React40.createElement(Stack10, { spacing: 3, role: "group", "aria-labelledby": id }, !!label && /* @__PURE__ */ React40.createElement(Typography_default, { id, level: "title-sm", component: "label", textColor: "text.tertiary" }, label), /* @__PURE__ */ React40.createElement(
|
|
5195
5308
|
Autocomplete,
|
|
5196
5309
|
{
|
|
5197
5310
|
value: autocompleteValue,
|
|
@@ -5208,6 +5321,7 @@ Autocomplete2.displayName = "Autocomplete";
|
|
|
5208
5321
|
// src/components/FilterMenu/FilterMenu.tsx
|
|
5209
5322
|
var componentMap = {
|
|
5210
5323
|
"checkbox-group": CheckboxGroup,
|
|
5324
|
+
"filterable-checkbox-group": FilterableCheckboxGroup2,
|
|
5211
5325
|
"radio-group": RadioGroup2,
|
|
5212
5326
|
"date-range": DateRange,
|
|
5213
5327
|
"currency-input": CurrencyInput3,
|
|
@@ -5224,7 +5338,7 @@ function FilterMenu(props) {
|
|
|
5224
5338
|
void 0
|
|
5225
5339
|
// onChange는 Apply 버튼에서만 호출
|
|
5226
5340
|
);
|
|
5227
|
-
const handleFilterChange =
|
|
5341
|
+
const handleFilterChange = useCallback23(
|
|
5228
5342
|
(filterId, value) => {
|
|
5229
5343
|
setInternalValues((prev) => ({
|
|
5230
5344
|
...prev,
|
|
@@ -5233,17 +5347,17 @@ function FilterMenu(props) {
|
|
|
5233
5347
|
},
|
|
5234
5348
|
[setInternalValues]
|
|
5235
5349
|
);
|
|
5236
|
-
const handleApply =
|
|
5350
|
+
const handleApply = useCallback23(() => {
|
|
5237
5351
|
onChange?.(internalValues);
|
|
5238
5352
|
onClose?.();
|
|
5239
5353
|
}, [onChange, onClose, internalValues]);
|
|
5240
|
-
const handleClear =
|
|
5354
|
+
const handleClear = useCallback23(() => {
|
|
5241
5355
|
const clearedValues = resetValues || {};
|
|
5242
5356
|
setInternalValues(clearedValues);
|
|
5243
5357
|
onChange?.(clearedValues);
|
|
5244
5358
|
onClose?.();
|
|
5245
5359
|
}, [resetValues, setInternalValues, onChange, onClose]);
|
|
5246
|
-
return /* @__PURE__ */
|
|
5360
|
+
return /* @__PURE__ */ React41.createElement(
|
|
5247
5361
|
ModalDialog,
|
|
5248
5362
|
{
|
|
5249
5363
|
sx: {
|
|
@@ -5253,9 +5367,9 @@ function FilterMenu(props) {
|
|
|
5253
5367
|
top: "initial"
|
|
5254
5368
|
}
|
|
5255
5369
|
},
|
|
5256
|
-
/* @__PURE__ */
|
|
5370
|
+
/* @__PURE__ */ React41.createElement(DialogContent, { sx: { paddingTop: 5 } }, /* @__PURE__ */ React41.createElement(Stack11, { spacing: 6 }, filters?.map((filter) => {
|
|
5257
5371
|
const FilterComponent = componentMap[filter.type];
|
|
5258
|
-
return FilterComponent ? /* @__PURE__ */
|
|
5372
|
+
return FilterComponent ? /* @__PURE__ */ React41.createElement(
|
|
5259
5373
|
FilterComponent,
|
|
5260
5374
|
{
|
|
5261
5375
|
key: filter.id,
|
|
@@ -5267,13 +5381,13 @@ function FilterMenu(props) {
|
|
|
5267
5381
|
}
|
|
5268
5382
|
) : null;
|
|
5269
5383
|
}))),
|
|
5270
|
-
/* @__PURE__ */
|
|
5384
|
+
/* @__PURE__ */ React41.createElement(DialogActions, { sx: { justifyContent: "space-between" } }, useClear && filters?.length === 1 && /* @__PURE__ */ React41.createElement(Button2, { variant: "plain", color: "neutral", size: "md", onClick: handleClear }, "Clear"), useReset && !useClear && /* @__PURE__ */ React41.createElement(Button2, { variant: "plain", color: "neutral", size: "md", onClick: handleClear }, "Reset"), /* @__PURE__ */ React41.createElement(Button2, { variant: "solid", color: "primary", size: "md", onClick: handleApply }, "Apply"))
|
|
5271
5385
|
);
|
|
5272
5386
|
}
|
|
5273
5387
|
FilterMenu.displayName = "FilterMenu";
|
|
5274
5388
|
|
|
5275
5389
|
// src/components/Uploader/Uploader.tsx
|
|
5276
|
-
import
|
|
5390
|
+
import React42, { useCallback as useCallback24, useEffect as useEffect10, useMemo as useMemo15, useRef as useRef9, useState as useState13 } from "react";
|
|
5277
5391
|
import { styled as styled21, Input as Input2 } from "@mui/joy";
|
|
5278
5392
|
import MuiFileUploadIcon from "@mui/icons-material/CloudUploadRounded";
|
|
5279
5393
|
import MuiUploadFileIcon from "@mui/icons-material/UploadFileRounded";
|
|
@@ -5350,7 +5464,7 @@ var getFileSize = (n) => {
|
|
|
5350
5464
|
};
|
|
5351
5465
|
var Preview = (props) => {
|
|
5352
5466
|
const { files, uploaded, onDelete } = props;
|
|
5353
|
-
return /* @__PURE__ */
|
|
5467
|
+
return /* @__PURE__ */ React42.createElement(PreviewRoot, { gap: 1 }, [...uploaded, ...files].map((file) => /* @__PURE__ */ React42.createElement(UploadCard, { key: file.name, size: "sm", color: "neutral" }, /* @__PURE__ */ React42.createElement(Stack_default, { direction: "row", alignItems: "center", gap: 2 }, /* @__PURE__ */ React42.createElement(UploadFileIcon, null), /* @__PURE__ */ React42.createElement(Stack_default, { flex: "1", sx: { overflow: "hidden" } }, /* @__PURE__ */ React42.createElement(
|
|
5354
5468
|
Typography_default,
|
|
5355
5469
|
{
|
|
5356
5470
|
level: "body-sm",
|
|
@@ -5362,7 +5476,7 @@ var Preview = (props) => {
|
|
|
5362
5476
|
}
|
|
5363
5477
|
},
|
|
5364
5478
|
file.name
|
|
5365
|
-
), !!file.size && /* @__PURE__ */
|
|
5479
|
+
), !!file.size && /* @__PURE__ */ React42.createElement(Typography_default, { level: "body-xs", fontWeight: "300", lineHeight: "1.33", textColor: "text.tertiary" }, getFileSize(file.size))), /* @__PURE__ */ React42.createElement(IconButton_default, { onClick: () => onDelete?.(file) }, /* @__PURE__ */ React42.createElement(ClearIcon2, null))))));
|
|
5366
5480
|
};
|
|
5367
5481
|
var UploaderRoot = styled21(Stack_default, {
|
|
5368
5482
|
name: "Uploader",
|
|
@@ -5405,7 +5519,7 @@ var UploaderIcon = styled21(MuiFileUploadIcon, {
|
|
|
5405
5519
|
}
|
|
5406
5520
|
})
|
|
5407
5521
|
);
|
|
5408
|
-
var Uploader =
|
|
5522
|
+
var Uploader = React42.memo(
|
|
5409
5523
|
(props) => {
|
|
5410
5524
|
const {
|
|
5411
5525
|
accept,
|
|
@@ -5473,7 +5587,7 @@ var Uploader = React41.memo(
|
|
|
5473
5587
|
() => !maxCount || maxCount && [...uploaded, ...files].length !== maxCount,
|
|
5474
5588
|
[files, maxCount, uploaded]
|
|
5475
5589
|
);
|
|
5476
|
-
const addFiles =
|
|
5590
|
+
const addFiles = useCallback24(
|
|
5477
5591
|
(uploads) => {
|
|
5478
5592
|
try {
|
|
5479
5593
|
const types = parsedAccepts.map((type) => type.replace(".", "")) || [];
|
|
@@ -5565,14 +5679,14 @@ var Uploader = React41.memo(
|
|
|
5565
5679
|
}
|
|
5566
5680
|
}
|
|
5567
5681
|
}, [inputRef, files, minCount]);
|
|
5568
|
-
const handleFileChanged =
|
|
5682
|
+
const handleFileChanged = useCallback24(
|
|
5569
5683
|
(event) => {
|
|
5570
5684
|
const files2 = Array.from(event.target.files || []);
|
|
5571
5685
|
addFiles(files2);
|
|
5572
5686
|
},
|
|
5573
5687
|
[addFiles]
|
|
5574
5688
|
);
|
|
5575
|
-
const handleDeleteFile =
|
|
5689
|
+
const handleDeleteFile = useCallback24(
|
|
5576
5690
|
(deletedFile) => {
|
|
5577
5691
|
if (deletedFile instanceof File) {
|
|
5578
5692
|
setFiles((current) => {
|
|
@@ -5592,10 +5706,10 @@ var Uploader = React41.memo(
|
|
|
5592
5706
|
},
|
|
5593
5707
|
[name, onChange, onDelete]
|
|
5594
5708
|
);
|
|
5595
|
-
const handleUploaderButtonClick =
|
|
5709
|
+
const handleUploaderButtonClick = useCallback24(() => {
|
|
5596
5710
|
inputRef.current?.click();
|
|
5597
5711
|
}, []);
|
|
5598
|
-
const uploader = /* @__PURE__ */
|
|
5712
|
+
const uploader = /* @__PURE__ */ React42.createElement(
|
|
5599
5713
|
FileDropZone,
|
|
5600
5714
|
{
|
|
5601
5715
|
state: previewState,
|
|
@@ -5604,8 +5718,8 @@ var Uploader = React41.memo(
|
|
|
5604
5718
|
ref: dropZoneRef,
|
|
5605
5719
|
onClick: handleUploaderButtonClick
|
|
5606
5720
|
},
|
|
5607
|
-
/* @__PURE__ */
|
|
5608
|
-
/* @__PURE__ */
|
|
5721
|
+
/* @__PURE__ */ React42.createElement(Stack_default, { alignItems: "center", gap: 1 }, /* @__PURE__ */ React42.createElement(UploaderIcon, { state: previewState, error: !!(error || errorText), disabled })),
|
|
5722
|
+
/* @__PURE__ */ React42.createElement(
|
|
5609
5723
|
VisuallyHiddenInput,
|
|
5610
5724
|
{
|
|
5611
5725
|
disabled,
|
|
@@ -5628,7 +5742,7 @@ var Uploader = React41.memo(
|
|
|
5628
5742
|
}
|
|
5629
5743
|
)
|
|
5630
5744
|
);
|
|
5631
|
-
return /* @__PURE__ */
|
|
5745
|
+
return /* @__PURE__ */ React42.createElement(UploaderRoot, null, showDropZone && /* @__PURE__ */ React42.createElement(FormControl_default, { size, error: !!(error || errorText), disabled, required: !!minCount }, label && /* @__PURE__ */ React42.createElement(FormLabel_default, null, label), uploader, /* @__PURE__ */ React42.createElement(FormHelperText_default, null, /* @__PURE__ */ React42.createElement(Stack_default, null, errorText && /* @__PURE__ */ React42.createElement("div", null, errorText), /* @__PURE__ */ React42.createElement("div", null, helperText)))), [...uploaded, ...files].length > 0 && /* @__PURE__ */ React42.createElement(Preview, { files, uploaded, onDelete: handleDeleteFile }));
|
|
5632
5746
|
}
|
|
5633
5747
|
);
|
|
5634
5748
|
Uploader.displayName = "Uploader";
|
|
@@ -5637,7 +5751,7 @@ Uploader.displayName = "Uploader";
|
|
|
5637
5751
|
import { Grid } from "@mui/joy";
|
|
5638
5752
|
|
|
5639
5753
|
// src/components/IconMenuButton/IconMenuButton.tsx
|
|
5640
|
-
import
|
|
5754
|
+
import React43 from "react";
|
|
5641
5755
|
import { MenuButton as JoyMenuButton2, IconButton as JoyIconButton2 } from "@mui/joy";
|
|
5642
5756
|
function IconMenuButton(props) {
|
|
5643
5757
|
const {
|
|
@@ -5651,7 +5765,7 @@ function IconMenuButton(props) {
|
|
|
5651
5765
|
placement = "bottom"
|
|
5652
5766
|
} = props;
|
|
5653
5767
|
if (!items.length) {
|
|
5654
|
-
return /* @__PURE__ */
|
|
5768
|
+
return /* @__PURE__ */ React43.createElement(
|
|
5655
5769
|
JoyIconButton2,
|
|
5656
5770
|
{
|
|
5657
5771
|
component: props.buttonComponent ?? "button",
|
|
@@ -5665,7 +5779,7 @@ function IconMenuButton(props) {
|
|
|
5665
5779
|
icon
|
|
5666
5780
|
);
|
|
5667
5781
|
}
|
|
5668
|
-
return /* @__PURE__ */
|
|
5782
|
+
return /* @__PURE__ */ React43.createElement(Dropdown_default, null, /* @__PURE__ */ React43.createElement(
|
|
5669
5783
|
JoyMenuButton2,
|
|
5670
5784
|
{
|
|
5671
5785
|
slots: { root: JoyIconButton2 },
|
|
@@ -5682,12 +5796,12 @@ function IconMenuButton(props) {
|
|
|
5682
5796
|
}
|
|
5683
5797
|
},
|
|
5684
5798
|
icon
|
|
5685
|
-
), /* @__PURE__ */
|
|
5799
|
+
), /* @__PURE__ */ React43.createElement(Menu, { placement, size }, items.map((i) => /* @__PURE__ */ React43.createElement(MenuItem, { key: i.text, component: i.component, ...i.componentProps ?? {} }, i.text))));
|
|
5686
5800
|
}
|
|
5687
5801
|
IconMenuButton.displayName = "IconMenuButton";
|
|
5688
5802
|
|
|
5689
5803
|
// src/components/Markdown/Markdown.tsx
|
|
5690
|
-
import
|
|
5804
|
+
import React44, { lazy, Suspense, useEffect as useEffect11, useState as useState14 } from "react";
|
|
5691
5805
|
import { Skeleton } from "@mui/joy";
|
|
5692
5806
|
import { Link as Link2 } from "@mui/joy";
|
|
5693
5807
|
import remarkGfm from "remark-gfm";
|
|
@@ -5716,12 +5830,12 @@ var Markdown = (props) => {
|
|
|
5716
5830
|
if (!rehypeAccent2) {
|
|
5717
5831
|
return null;
|
|
5718
5832
|
}
|
|
5719
|
-
return /* @__PURE__ */
|
|
5833
|
+
return /* @__PURE__ */ React44.createElement(Typography, { component: "div", color, textColor, level: defaultLevel, ...innerProps }, /* @__PURE__ */ React44.createElement(
|
|
5720
5834
|
Suspense,
|
|
5721
5835
|
{
|
|
5722
|
-
fallback: fallback || /* @__PURE__ */
|
|
5836
|
+
fallback: fallback || /* @__PURE__ */ React44.createElement(Typography, null, /* @__PURE__ */ React44.createElement(Skeleton, null, content || ""))
|
|
5723
5837
|
},
|
|
5724
|
-
/* @__PURE__ */
|
|
5838
|
+
/* @__PURE__ */ React44.createElement(
|
|
5725
5839
|
LazyReactMarkdown,
|
|
5726
5840
|
{
|
|
5727
5841
|
...markdownOptions,
|
|
@@ -5729,15 +5843,15 @@ var Markdown = (props) => {
|
|
|
5729
5843
|
rehypePlugins: [[rehypeAccent2, { accentColor }]],
|
|
5730
5844
|
remarkPlugins: [remarkGfm],
|
|
5731
5845
|
components: {
|
|
5732
|
-
h1: ({ children }) => /* @__PURE__ */
|
|
5733
|
-
h2: ({ children }) => /* @__PURE__ */
|
|
5734
|
-
h3: ({ children }) => /* @__PURE__ */
|
|
5735
|
-
h4: ({ children }) => /* @__PURE__ */
|
|
5736
|
-
p: ({ children, node }) => /* @__PURE__ */
|
|
5737
|
-
a: ({ children, href }) => /* @__PURE__ */
|
|
5738
|
-
hr: () => /* @__PURE__ */
|
|
5739
|
-
b: ({ children }) => /* @__PURE__ */
|
|
5740
|
-
strong: ({ children }) => /* @__PURE__ */
|
|
5846
|
+
h1: ({ children }) => /* @__PURE__ */ React44.createElement(Typography, { color, textColor, level: "h1" }, children),
|
|
5847
|
+
h2: ({ children }) => /* @__PURE__ */ React44.createElement(Typography, { color, textColor, level: "h2" }, children),
|
|
5848
|
+
h3: ({ children }) => /* @__PURE__ */ React44.createElement(Typography, { color, textColor, level: "h3" }, children),
|
|
5849
|
+
h4: ({ children }) => /* @__PURE__ */ React44.createElement(Typography, { color, textColor, level: "h4" }, children),
|
|
5850
|
+
p: ({ children, node }) => /* @__PURE__ */ React44.createElement(Typography, { color, textColor, level: defaultLevel, ...node?.properties }, children),
|
|
5851
|
+
a: ({ children, href }) => /* @__PURE__ */ React44.createElement(Link2, { href, target: defaultLinkAction }, children),
|
|
5852
|
+
hr: () => /* @__PURE__ */ React44.createElement(Divider, null),
|
|
5853
|
+
b: ({ children }) => /* @__PURE__ */ React44.createElement(Typography, { fontWeight: boldFontWeight }, children),
|
|
5854
|
+
strong: ({ children }) => /* @__PURE__ */ React44.createElement(Typography, { fontWeight: boldFontWeight }, children),
|
|
5741
5855
|
...markdownOptions?.components
|
|
5742
5856
|
}
|
|
5743
5857
|
}
|
|
@@ -5747,7 +5861,7 @@ var Markdown = (props) => {
|
|
|
5747
5861
|
Markdown.displayName = "Markdown";
|
|
5748
5862
|
|
|
5749
5863
|
// src/components/MenuButton/MenuButton.tsx
|
|
5750
|
-
import
|
|
5864
|
+
import React45 from "react";
|
|
5751
5865
|
import { MenuButton as JoyMenuButton3, Button as JoyButton2 } from "@mui/joy";
|
|
5752
5866
|
import ExpandMoreIcon from "@mui/icons-material/ExpandMore";
|
|
5753
5867
|
function MenuButton(props) {
|
|
@@ -5765,7 +5879,7 @@ function MenuButton(props) {
|
|
|
5765
5879
|
placement = "bottom"
|
|
5766
5880
|
} = props;
|
|
5767
5881
|
if (!items.length) {
|
|
5768
|
-
return /* @__PURE__ */
|
|
5882
|
+
return /* @__PURE__ */ React45.createElement(
|
|
5769
5883
|
JoyButton2,
|
|
5770
5884
|
{
|
|
5771
5885
|
component: props.buttonComponent ?? "button",
|
|
@@ -5776,12 +5890,12 @@ function MenuButton(props) {
|
|
|
5776
5890
|
loading,
|
|
5777
5891
|
startDecorator,
|
|
5778
5892
|
...props.buttonComponentProps ?? {},
|
|
5779
|
-
endDecorator: showIcon ? /* @__PURE__ */
|
|
5893
|
+
endDecorator: showIcon ? /* @__PURE__ */ React45.createElement(React45.Fragment, null, endDecorator, /* @__PURE__ */ React45.createElement(ExpandMoreIcon, null)) : /* @__PURE__ */ React45.createElement(React45.Fragment, null, endDecorator)
|
|
5780
5894
|
},
|
|
5781
5895
|
buttonText
|
|
5782
5896
|
);
|
|
5783
5897
|
}
|
|
5784
|
-
return /* @__PURE__ */
|
|
5898
|
+
return /* @__PURE__ */ React45.createElement(Dropdown_default, null, /* @__PURE__ */ React45.createElement(
|
|
5785
5899
|
JoyMenuButton3,
|
|
5786
5900
|
{
|
|
5787
5901
|
component: props.buttonComponent ?? "button",
|
|
@@ -5792,15 +5906,15 @@ function MenuButton(props) {
|
|
|
5792
5906
|
loading,
|
|
5793
5907
|
startDecorator,
|
|
5794
5908
|
...props.buttonComponentProps ?? {},
|
|
5795
|
-
endDecorator: showIcon ? /* @__PURE__ */
|
|
5909
|
+
endDecorator: showIcon ? /* @__PURE__ */ React45.createElement(React45.Fragment, null, endDecorator, /* @__PURE__ */ React45.createElement(ExpandMoreIcon, null)) : /* @__PURE__ */ React45.createElement(React45.Fragment, null, endDecorator)
|
|
5796
5910
|
},
|
|
5797
5911
|
buttonText
|
|
5798
|
-
), /* @__PURE__ */
|
|
5912
|
+
), /* @__PURE__ */ React45.createElement(Menu, { placement, size }, items.map((i) => /* @__PURE__ */ React45.createElement(MenuItem, { key: i.text, component: i.component, ...i.componentProps ?? {} }, i.text))));
|
|
5799
5913
|
}
|
|
5800
5914
|
MenuButton.displayName = "MenuButton";
|
|
5801
5915
|
|
|
5802
5916
|
// src/components/MonthPicker/MonthPicker.tsx
|
|
5803
|
-
import
|
|
5917
|
+
import React46, { forwardRef as forwardRef9, useCallback as useCallback25, useEffect as useEffect12, useImperativeHandle as useImperativeHandle4, useRef as useRef10, useState as useState15 } from "react";
|
|
5804
5918
|
import CalendarTodayIcon3 from "@mui/icons-material/CalendarToday";
|
|
5805
5919
|
import { styled as styled22, useThemeProps as useThemeProps7 } from "@mui/joy";
|
|
5806
5920
|
import { FocusTrap as FocusTrap3, ClickAwayListener as ClickAwayListener3, Popper as Popper4 } from "@mui/base";
|
|
@@ -5887,9 +6001,9 @@ var MonthPicker = forwardRef9((inProps, ref) => {
|
|
|
5887
6001
|
const [value, setValue, isControlled] = useControlledState(
|
|
5888
6002
|
props.value,
|
|
5889
6003
|
props.defaultValue || "",
|
|
5890
|
-
|
|
6004
|
+
useCallback25((value2) => onChange?.({ target: { name: props.name, value: value2 } }), [props.name, onChange])
|
|
5891
6005
|
);
|
|
5892
|
-
const getFormattedDisplayValue =
|
|
6006
|
+
const getFormattedDisplayValue = useCallback25(
|
|
5893
6007
|
(inputValue) => {
|
|
5894
6008
|
if (!inputValue) return "";
|
|
5895
6009
|
try {
|
|
@@ -5912,7 +6026,7 @@ var MonthPicker = forwardRef9((inProps, ref) => {
|
|
|
5912
6026
|
useEffect12(() => {
|
|
5913
6027
|
setDisplayValue(getFormattedDisplayValue(value));
|
|
5914
6028
|
}, [value, getFormattedDisplayValue]);
|
|
5915
|
-
const handleChange =
|
|
6029
|
+
const handleChange = useCallback25(
|
|
5916
6030
|
(event) => {
|
|
5917
6031
|
const newValue = event.target.value;
|
|
5918
6032
|
setValue(newValue);
|
|
@@ -5922,21 +6036,21 @@ var MonthPicker = forwardRef9((inProps, ref) => {
|
|
|
5922
6036
|
},
|
|
5923
6037
|
[setValue, getFormattedDisplayValue, isControlled]
|
|
5924
6038
|
);
|
|
5925
|
-
const handleCalendarToggle =
|
|
6039
|
+
const handleCalendarToggle = useCallback25(
|
|
5926
6040
|
(event) => {
|
|
5927
6041
|
setAnchorEl(anchorEl ? null : event.currentTarget);
|
|
5928
6042
|
innerRef.current?.focus();
|
|
5929
6043
|
},
|
|
5930
6044
|
[anchorEl, setAnchorEl, innerRef]
|
|
5931
6045
|
);
|
|
5932
|
-
const handleInputMouseDown =
|
|
6046
|
+
const handleInputMouseDown = useCallback25(
|
|
5933
6047
|
(event) => {
|
|
5934
6048
|
event.preventDefault();
|
|
5935
6049
|
buttonRef.current?.focus();
|
|
5936
6050
|
},
|
|
5937
6051
|
[buttonRef]
|
|
5938
6052
|
);
|
|
5939
|
-
return /* @__PURE__ */
|
|
6053
|
+
return /* @__PURE__ */ React46.createElement(MonthPickerRoot, null, /* @__PURE__ */ React46.createElement(FocusTrap3, { open: true }, /* @__PURE__ */ React46.createElement(React46.Fragment, null, /* @__PURE__ */ React46.createElement(
|
|
5940
6054
|
Input_default,
|
|
5941
6055
|
{
|
|
5942
6056
|
...innerProps,
|
|
@@ -5966,7 +6080,7 @@ var MonthPicker = forwardRef9((inProps, ref) => {
|
|
|
5966
6080
|
// NOTE: placeholder char 를 텍스트로 표시하므로 동일한 너비를 가지는 mono font 를 사용해야 이질감이 없다.
|
|
5967
6081
|
fontFamily: "monospace"
|
|
5968
6082
|
},
|
|
5969
|
-
endDecorator: /* @__PURE__ */
|
|
6083
|
+
endDecorator: /* @__PURE__ */ React46.createElement(
|
|
5970
6084
|
IconButton_default,
|
|
5971
6085
|
{
|
|
5972
6086
|
ref: buttonRef,
|
|
@@ -5978,12 +6092,12 @@ var MonthPicker = forwardRef9((inProps, ref) => {
|
|
|
5978
6092
|
"aria-expanded": open,
|
|
5979
6093
|
disabled
|
|
5980
6094
|
},
|
|
5981
|
-
/* @__PURE__ */
|
|
6095
|
+
/* @__PURE__ */ React46.createElement(CalendarTodayIcon3, null)
|
|
5982
6096
|
),
|
|
5983
6097
|
label,
|
|
5984
6098
|
helperText
|
|
5985
6099
|
}
|
|
5986
|
-
), open && /* @__PURE__ */
|
|
6100
|
+
), open && /* @__PURE__ */ React46.createElement(ClickAwayListener3, { onClickAway: () => setAnchorEl(null) }, /* @__PURE__ */ React46.createElement(
|
|
5987
6101
|
StyledPopper3,
|
|
5988
6102
|
{
|
|
5989
6103
|
id: "month-picker-popper",
|
|
@@ -6002,7 +6116,7 @@ var MonthPicker = forwardRef9((inProps, ref) => {
|
|
|
6002
6116
|
"aria-label": "Calendar Tooltip",
|
|
6003
6117
|
"aria-expanded": open
|
|
6004
6118
|
},
|
|
6005
|
-
/* @__PURE__ */
|
|
6119
|
+
/* @__PURE__ */ React46.createElement(CalendarSheet3, { tabIndex: -1, role: "presentation" }, /* @__PURE__ */ React46.createElement(
|
|
6006
6120
|
Calendar_default,
|
|
6007
6121
|
{
|
|
6008
6122
|
view: "month",
|
|
@@ -6023,14 +6137,14 @@ var MonthPicker = forwardRef9((inProps, ref) => {
|
|
|
6023
6137
|
disablePast,
|
|
6024
6138
|
locale
|
|
6025
6139
|
}
|
|
6026
|
-
), /* @__PURE__ */
|
|
6140
|
+
), /* @__PURE__ */ React46.createElement(
|
|
6027
6141
|
DialogActions_default,
|
|
6028
6142
|
{
|
|
6029
6143
|
sx: {
|
|
6030
6144
|
p: 1
|
|
6031
6145
|
}
|
|
6032
6146
|
},
|
|
6033
|
-
/* @__PURE__ */
|
|
6147
|
+
/* @__PURE__ */ React46.createElement(
|
|
6034
6148
|
Button_default,
|
|
6035
6149
|
{
|
|
6036
6150
|
size,
|
|
@@ -6053,7 +6167,7 @@ var MonthPicker = forwardRef9((inProps, ref) => {
|
|
|
6053
6167
|
});
|
|
6054
6168
|
|
|
6055
6169
|
// src/components/MonthRangePicker/MonthRangePicker.tsx
|
|
6056
|
-
import
|
|
6170
|
+
import React47, { forwardRef as forwardRef10, useCallback as useCallback26, useEffect as useEffect13, useImperativeHandle as useImperativeHandle5, useMemo as useMemo16, useRef as useRef11, useState as useState16 } from "react";
|
|
6057
6171
|
import { IMaskInput as IMaskInput3, IMask as IMask3 } from "react-imask";
|
|
6058
6172
|
import CalendarTodayIcon4 from "@mui/icons-material/CalendarToday";
|
|
6059
6173
|
import { styled as styled23, useThemeProps as useThemeProps8 } from "@mui/joy";
|
|
@@ -6111,9 +6225,9 @@ var parseDates2 = (str) => {
|
|
|
6111
6225
|
var formatToPattern3 = (format) => {
|
|
6112
6226
|
return `${format} - ${format}`.replace(/YYYY/g, "Y").replace(/MM/g, "m").replace(/[^YMm\s]/g, (match) => `${match}\``);
|
|
6113
6227
|
};
|
|
6114
|
-
var TextMaskAdapter9 =
|
|
6228
|
+
var TextMaskAdapter9 = React47.forwardRef(function TextMaskAdapter10(props, ref) {
|
|
6115
6229
|
const { onChange, format, ...other } = props;
|
|
6116
|
-
return /* @__PURE__ */
|
|
6230
|
+
return /* @__PURE__ */ React47.createElement(
|
|
6117
6231
|
IMaskInput3,
|
|
6118
6232
|
{
|
|
6119
6233
|
...other,
|
|
@@ -6165,7 +6279,7 @@ var MonthRangePicker = forwardRef10((inProps, ref) => {
|
|
|
6165
6279
|
const [value, setValue] = useControlledState(
|
|
6166
6280
|
props.value,
|
|
6167
6281
|
props.defaultValue || "",
|
|
6168
|
-
|
|
6282
|
+
useCallback26((value2) => onChange?.({ target: { name: props.name, value: value2 } }), [props.name, onChange])
|
|
6169
6283
|
);
|
|
6170
6284
|
const [anchorEl, setAnchorEl] = useState16(null);
|
|
6171
6285
|
const open = Boolean(anchorEl);
|
|
@@ -6176,20 +6290,20 @@ var MonthRangePicker = forwardRef10((inProps, ref) => {
|
|
|
6176
6290
|
}
|
|
6177
6291
|
}, [anchorEl, innerRef]);
|
|
6178
6292
|
useImperativeHandle5(ref, () => innerRef.current, [innerRef]);
|
|
6179
|
-
const handleChange =
|
|
6293
|
+
const handleChange = useCallback26(
|
|
6180
6294
|
(event) => {
|
|
6181
6295
|
setValue(event.target.value);
|
|
6182
6296
|
},
|
|
6183
6297
|
[setValue]
|
|
6184
6298
|
);
|
|
6185
|
-
const handleCalendarToggle =
|
|
6299
|
+
const handleCalendarToggle = useCallback26(
|
|
6186
6300
|
(event) => {
|
|
6187
6301
|
setAnchorEl(anchorEl ? null : event.currentTarget);
|
|
6188
6302
|
innerRef.current?.focus();
|
|
6189
6303
|
},
|
|
6190
6304
|
[anchorEl, setAnchorEl, innerRef]
|
|
6191
6305
|
);
|
|
6192
|
-
const handleCalendarChange =
|
|
6306
|
+
const handleCalendarChange = useCallback26(
|
|
6193
6307
|
([date1, date2]) => {
|
|
6194
6308
|
if (!date1 || !date2) return;
|
|
6195
6309
|
setValue(formatValueString4([date1, date2], format));
|
|
@@ -6197,7 +6311,7 @@ var MonthRangePicker = forwardRef10((inProps, ref) => {
|
|
|
6197
6311
|
},
|
|
6198
6312
|
[setValue, setAnchorEl, format]
|
|
6199
6313
|
);
|
|
6200
|
-
return /* @__PURE__ */
|
|
6314
|
+
return /* @__PURE__ */ React47.createElement(MonthRangePickerRoot, null, /* @__PURE__ */ React47.createElement(FocusTrap4, { open: true }, /* @__PURE__ */ React47.createElement(React47.Fragment, null, /* @__PURE__ */ React47.createElement(
|
|
6201
6315
|
Input_default,
|
|
6202
6316
|
{
|
|
6203
6317
|
...innerProps,
|
|
@@ -6219,7 +6333,7 @@ var MonthRangePicker = forwardRef10((inProps, ref) => {
|
|
|
6219
6333
|
// NOTE: placeholder char 를 텍스트로 표시하므로 동일한 너비를 가지는 mono font 를 사용해야 이질감이 없다.
|
|
6220
6334
|
fontFamily: "monospace"
|
|
6221
6335
|
},
|
|
6222
|
-
endDecorator: /* @__PURE__ */
|
|
6336
|
+
endDecorator: /* @__PURE__ */ React47.createElement(
|
|
6223
6337
|
IconButton_default,
|
|
6224
6338
|
{
|
|
6225
6339
|
variant: "plain",
|
|
@@ -6229,12 +6343,12 @@ var MonthRangePicker = forwardRef10((inProps, ref) => {
|
|
|
6229
6343
|
"aria-haspopup": "dialog",
|
|
6230
6344
|
"aria-expanded": open
|
|
6231
6345
|
},
|
|
6232
|
-
/* @__PURE__ */
|
|
6346
|
+
/* @__PURE__ */ React47.createElement(CalendarTodayIcon4, null)
|
|
6233
6347
|
),
|
|
6234
6348
|
label,
|
|
6235
6349
|
helperText
|
|
6236
6350
|
}
|
|
6237
|
-
), open && /* @__PURE__ */
|
|
6351
|
+
), open && /* @__PURE__ */ React47.createElement(ClickAwayListener4, { onClickAway: () => setAnchorEl(null) }, /* @__PURE__ */ React47.createElement(
|
|
6238
6352
|
StyledPopper4,
|
|
6239
6353
|
{
|
|
6240
6354
|
id: "month-range-picker-popper",
|
|
@@ -6253,7 +6367,7 @@ var MonthRangePicker = forwardRef10((inProps, ref) => {
|
|
|
6253
6367
|
"aria-label": "Calendar Tooltip",
|
|
6254
6368
|
"aria-expanded": open
|
|
6255
6369
|
},
|
|
6256
|
-
/* @__PURE__ */
|
|
6370
|
+
/* @__PURE__ */ React47.createElement(CalendarSheet4, { tabIndex: -1, role: "presentation" }, /* @__PURE__ */ React47.createElement(
|
|
6257
6371
|
Calendar_default,
|
|
6258
6372
|
{
|
|
6259
6373
|
view: "month",
|
|
@@ -6266,14 +6380,14 @@ var MonthRangePicker = forwardRef10((inProps, ref) => {
|
|
|
6266
6380
|
disableFuture,
|
|
6267
6381
|
disablePast
|
|
6268
6382
|
}
|
|
6269
|
-
), /* @__PURE__ */
|
|
6383
|
+
), /* @__PURE__ */ React47.createElement(
|
|
6270
6384
|
DialogActions_default,
|
|
6271
6385
|
{
|
|
6272
6386
|
sx: {
|
|
6273
6387
|
p: 1
|
|
6274
6388
|
}
|
|
6275
6389
|
},
|
|
6276
|
-
/* @__PURE__ */
|
|
6390
|
+
/* @__PURE__ */ React47.createElement(
|
|
6277
6391
|
Button_default,
|
|
6278
6392
|
{
|
|
6279
6393
|
size,
|
|
@@ -6292,14 +6406,14 @@ var MonthRangePicker = forwardRef10((inProps, ref) => {
|
|
|
6292
6406
|
MonthRangePicker.displayName = "MonthRangePicker";
|
|
6293
6407
|
|
|
6294
6408
|
// src/components/NavigationGroup/NavigationGroup.tsx
|
|
6295
|
-
import
|
|
6409
|
+
import React48 from "react";
|
|
6296
6410
|
import {
|
|
6297
6411
|
Accordion as JoyAccordion2,
|
|
6298
6412
|
AccordionSummary as JoyAccordionSummary2,
|
|
6299
6413
|
AccordionDetails as JoyAccordionDetails2,
|
|
6300
6414
|
styled as styled24,
|
|
6301
6415
|
accordionSummaryClasses,
|
|
6302
|
-
Stack as
|
|
6416
|
+
Stack as Stack12
|
|
6303
6417
|
} from "@mui/joy";
|
|
6304
6418
|
var AccordionSummary2 = styled24(JoyAccordionSummary2, {
|
|
6305
6419
|
name: "NavigationGroup",
|
|
@@ -6323,11 +6437,11 @@ var AccordionDetails2 = styled24(JoyAccordionDetails2, {
|
|
|
6323
6437
|
}));
|
|
6324
6438
|
function NavigationGroup(props) {
|
|
6325
6439
|
const { title, children, startDecorator, level, ...rest } = props;
|
|
6326
|
-
return /* @__PURE__ */
|
|
6440
|
+
return /* @__PURE__ */ React48.createElement(JoyAccordion2, { ...rest }, /* @__PURE__ */ React48.createElement(AccordionSummary2, { useIcon: !!startDecorator, level }, /* @__PURE__ */ React48.createElement(Stack12, { direction: "row", gap: 4 }, startDecorator, title)), /* @__PURE__ */ React48.createElement(AccordionDetails2, null, children));
|
|
6327
6441
|
}
|
|
6328
6442
|
|
|
6329
6443
|
// src/components/NavigationItem/NavigationItem.tsx
|
|
6330
|
-
import
|
|
6444
|
+
import React49 from "react";
|
|
6331
6445
|
import {
|
|
6332
6446
|
ListItem as JoyListItem,
|
|
6333
6447
|
ListItemButton as JoyListItemButton,
|
|
@@ -6362,7 +6476,7 @@ function NavigationItem(props) {
|
|
|
6362
6476
|
const handleClick = () => {
|
|
6363
6477
|
onClick?.(id);
|
|
6364
6478
|
};
|
|
6365
|
-
return /* @__PURE__ */
|
|
6479
|
+
return /* @__PURE__ */ React49.createElement(JoyListItem, { ...rest }, /* @__PURE__ */ React49.createElement(
|
|
6366
6480
|
ListItemButton,
|
|
6367
6481
|
{
|
|
6368
6482
|
level,
|
|
@@ -6371,21 +6485,21 @@ function NavigationItem(props) {
|
|
|
6371
6485
|
"aria-current": selected,
|
|
6372
6486
|
onClick: handleClick
|
|
6373
6487
|
},
|
|
6374
|
-
startDecorator && /* @__PURE__ */
|
|
6488
|
+
startDecorator && /* @__PURE__ */ React49.createElement(JoyListItemDecorator, null, startDecorator),
|
|
6375
6489
|
children
|
|
6376
6490
|
));
|
|
6377
6491
|
}
|
|
6378
6492
|
|
|
6379
6493
|
// src/components/Navigator/Navigator.tsx
|
|
6380
|
-
import
|
|
6494
|
+
import React50 from "react";
|
|
6381
6495
|
function Navigator(props) {
|
|
6382
6496
|
const { items, level = 0, onSelect } = props;
|
|
6383
6497
|
const handleItemClick = (id) => {
|
|
6384
6498
|
onSelect?.(id);
|
|
6385
6499
|
};
|
|
6386
|
-
return /* @__PURE__ */
|
|
6500
|
+
return /* @__PURE__ */ React50.createElement("div", null, items.map((item, index) => {
|
|
6387
6501
|
if (item.type === "item") {
|
|
6388
|
-
return /* @__PURE__ */
|
|
6502
|
+
return /* @__PURE__ */ React50.createElement(
|
|
6389
6503
|
NavigationItem,
|
|
6390
6504
|
{
|
|
6391
6505
|
key: item.id,
|
|
@@ -6398,7 +6512,7 @@ function Navigator(props) {
|
|
|
6398
6512
|
item.title
|
|
6399
6513
|
);
|
|
6400
6514
|
} else if (item.type === "group") {
|
|
6401
|
-
return /* @__PURE__ */
|
|
6515
|
+
return /* @__PURE__ */ React50.createElement(
|
|
6402
6516
|
NavigationGroup,
|
|
6403
6517
|
{
|
|
6404
6518
|
key: `${item.title}-${index}`,
|
|
@@ -6416,7 +6530,7 @@ function Navigator(props) {
|
|
|
6416
6530
|
Navigator.displayName = "Navigator";
|
|
6417
6531
|
|
|
6418
6532
|
// src/components/ProfileMenu/ProfileMenu.tsx
|
|
6419
|
-
import
|
|
6533
|
+
import React51, { useCallback as useCallback27, useMemo as useMemo17 } from "react";
|
|
6420
6534
|
import { Dropdown as Dropdown2, ListDivider, menuItemClasses, styled as styled26, MenuButton as MenuButton2 } from "@mui/joy";
|
|
6421
6535
|
import { ClickAwayListener as ClickAwayListener5 } from "@mui/base";
|
|
6422
6536
|
import DropdownIcon from "@mui/icons-material/ArrowDropDown";
|
|
@@ -6428,7 +6542,7 @@ function ProfileCard(props) {
|
|
|
6428
6542
|
const { children, chip, caption, size } = props;
|
|
6429
6543
|
const captionLevel = useMemo17(() => size === "sm" ? "body-xs" : "body-sm", [size]);
|
|
6430
6544
|
const nameLevel = useMemo17(() => size === "sm" ? "body-sm" : "body-md", [size]);
|
|
6431
|
-
return /* @__PURE__ */
|
|
6545
|
+
return /* @__PURE__ */ React51.createElement(StyledProfileCard, { px: 4, py: 2 }, /* @__PURE__ */ React51.createElement(Stack, { direction: "row", gap: 2 }, /* @__PURE__ */ React51.createElement(Typography, { level: nameLevel, fontWeight: "bold", textColor: "text.primary" }, children), chip && /* @__PURE__ */ React51.createElement(Chip, { size, color: "neutral", variant: "outlined" }, chip)), caption && /* @__PURE__ */ React51.createElement(Typography, { level: captionLevel, textColor: "text.tertiary" }, caption));
|
|
6432
6546
|
}
|
|
6433
6547
|
ProfileCard.displayName = "ProfileCard";
|
|
6434
6548
|
var StyledProfileMenuButton = styled26(MenuButton2, {
|
|
@@ -6440,16 +6554,16 @@ var StyledProfileMenuButton = styled26(MenuButton2, {
|
|
|
6440
6554
|
}));
|
|
6441
6555
|
function ProfileMenuButton(props) {
|
|
6442
6556
|
const { size = "md", src, alt, children, getInitial, ...innerProps } = props;
|
|
6443
|
-
return /* @__PURE__ */
|
|
6557
|
+
return /* @__PURE__ */ React51.createElement(
|
|
6444
6558
|
StyledProfileMenuButton,
|
|
6445
6559
|
{
|
|
6446
6560
|
variant: "plain",
|
|
6447
6561
|
color: "neutral",
|
|
6448
6562
|
size,
|
|
6449
|
-
endDecorator: /* @__PURE__ */
|
|
6563
|
+
endDecorator: /* @__PURE__ */ React51.createElement(DropdownIcon, null),
|
|
6450
6564
|
...innerProps
|
|
6451
6565
|
},
|
|
6452
|
-
/* @__PURE__ */
|
|
6566
|
+
/* @__PURE__ */ React51.createElement(Avatar, { variant: "soft", color: "primary", size, src, alt, getInitial }, children)
|
|
6453
6567
|
);
|
|
6454
6568
|
}
|
|
6455
6569
|
ProfileMenuButton.displayName = "ProfileMenuButton";
|
|
@@ -6468,9 +6582,9 @@ function ProfileMenu(props) {
|
|
|
6468
6582
|
const [open, setOpen] = useControlledState(
|
|
6469
6583
|
_open,
|
|
6470
6584
|
defaultOpen ?? false,
|
|
6471
|
-
|
|
6585
|
+
useCallback27((value) => onOpenChange?.(value), [onOpenChange])
|
|
6472
6586
|
);
|
|
6473
|
-
return /* @__PURE__ */
|
|
6587
|
+
return /* @__PURE__ */ React51.createElement(ClickAwayListener5, { onClickAway: () => setOpen(false) }, /* @__PURE__ */ React51.createElement("div", null, /* @__PURE__ */ React51.createElement(Dropdown2, { open }, /* @__PURE__ */ React51.createElement(
|
|
6474
6588
|
ProfileMenuButton,
|
|
6475
6589
|
{
|
|
6476
6590
|
size,
|
|
@@ -6480,7 +6594,7 @@ function ProfileMenu(props) {
|
|
|
6480
6594
|
getInitial
|
|
6481
6595
|
},
|
|
6482
6596
|
profile.name
|
|
6483
|
-
), /* @__PURE__ */
|
|
6597
|
+
), /* @__PURE__ */ React51.createElement(ProfileMenuRoot, { size, placement: "bottom-end", ...innerProps, onClose: () => setOpen(false) }, /* @__PURE__ */ React51.createElement(ProfileCard, { size, caption: profile.caption, chip: profile.chip }, profile.name), !!menuItems.length && /* @__PURE__ */ React51.createElement(ListDivider, null), menuItems.map(({ label, ...menuProps }) => /* @__PURE__ */ React51.createElement(
|
|
6484
6598
|
MenuItem,
|
|
6485
6599
|
{
|
|
6486
6600
|
key: label,
|
|
@@ -6496,7 +6610,7 @@ function ProfileMenu(props) {
|
|
|
6496
6610
|
ProfileMenu.displayName = "ProfileMenu";
|
|
6497
6611
|
|
|
6498
6612
|
// src/components/RadioTileGroup/RadioTileGroup.tsx
|
|
6499
|
-
import
|
|
6613
|
+
import React52 from "react";
|
|
6500
6614
|
import { styled as styled27, radioClasses, sheetClasses } from "@mui/joy";
|
|
6501
6615
|
var RadioTileGroupRoot = styled27(RadioGroup, {
|
|
6502
6616
|
name: "RadioTileGroup",
|
|
@@ -6584,7 +6698,7 @@ function RadioTileGroup(props) {
|
|
|
6584
6698
|
error,
|
|
6585
6699
|
required
|
|
6586
6700
|
} = props;
|
|
6587
|
-
const radioGroup = /* @__PURE__ */
|
|
6701
|
+
const radioGroup = /* @__PURE__ */ React52.createElement(
|
|
6588
6702
|
RadioTileGroupRoot,
|
|
6589
6703
|
{
|
|
6590
6704
|
overlay: true,
|
|
@@ -6595,7 +6709,7 @@ function RadioTileGroup(props) {
|
|
|
6595
6709
|
flex,
|
|
6596
6710
|
columns
|
|
6597
6711
|
},
|
|
6598
|
-
options.map((option) => /* @__PURE__ */
|
|
6712
|
+
options.map((option) => /* @__PURE__ */ React52.createElement(
|
|
6599
6713
|
RadioTileSheet,
|
|
6600
6714
|
{
|
|
6601
6715
|
key: option.value,
|
|
@@ -6605,7 +6719,7 @@ function RadioTileGroup(props) {
|
|
|
6605
6719
|
flex,
|
|
6606
6720
|
textAlign
|
|
6607
6721
|
},
|
|
6608
|
-
/* @__PURE__ */
|
|
6722
|
+
/* @__PURE__ */ React52.createElement(
|
|
6609
6723
|
Radio,
|
|
6610
6724
|
{
|
|
6611
6725
|
id: `${option.value}`,
|
|
@@ -6633,7 +6747,7 @@ function RadioTileGroup(props) {
|
|
|
6633
6747
|
}
|
|
6634
6748
|
}
|
|
6635
6749
|
),
|
|
6636
|
-
option.startDecorator && /* @__PURE__ */
|
|
6750
|
+
option.startDecorator && /* @__PURE__ */ React52.createElement(
|
|
6637
6751
|
Box_default,
|
|
6638
6752
|
{
|
|
6639
6753
|
sx: {
|
|
@@ -6654,20 +6768,20 @@ function RadioTileGroup(props) {
|
|
|
6654
6768
|
)
|
|
6655
6769
|
))
|
|
6656
6770
|
);
|
|
6657
|
-
return /* @__PURE__ */
|
|
6771
|
+
return /* @__PURE__ */ React52.createElement(FormControl_default, { required, disabled: allDisabled, error, size, sx, className }, label && /* @__PURE__ */ React52.createElement(FormLabel_default, null, label), radioGroup, helperText && /* @__PURE__ */ React52.createElement(FormHelperText_default, null, helperText));
|
|
6658
6772
|
}
|
|
6659
6773
|
RadioTileGroup.displayName = "RadioTileGroup";
|
|
6660
6774
|
|
|
6661
6775
|
// src/components/RadioList/RadioList.tsx
|
|
6662
|
-
import
|
|
6776
|
+
import React53 from "react";
|
|
6663
6777
|
function RadioList(props) {
|
|
6664
6778
|
const { items, ...innerProps } = props;
|
|
6665
|
-
return /* @__PURE__ */
|
|
6779
|
+
return /* @__PURE__ */ React53.createElement(RadioGroup, { ...innerProps }, items.map((item) => /* @__PURE__ */ React53.createElement(Radio, { key: `${item.value}`, value: item.value, label: item.label })));
|
|
6666
6780
|
}
|
|
6667
6781
|
RadioList.displayName = "RadioList";
|
|
6668
6782
|
|
|
6669
6783
|
// src/components/Stepper/Stepper.tsx
|
|
6670
|
-
import
|
|
6784
|
+
import React54 from "react";
|
|
6671
6785
|
import {
|
|
6672
6786
|
Stepper as JoyStepper,
|
|
6673
6787
|
Step as JoyStep,
|
|
@@ -6703,7 +6817,7 @@ function Stepper(props) {
|
|
|
6703
6817
|
stepOrientation = "horizontal"
|
|
6704
6818
|
} = props;
|
|
6705
6819
|
const effectiveStepOrientation = orientation === "vertical" ? "horizontal" : stepOrientation;
|
|
6706
|
-
return /* @__PURE__ */
|
|
6820
|
+
return /* @__PURE__ */ React54.createElement(
|
|
6707
6821
|
MotionStepper,
|
|
6708
6822
|
{
|
|
6709
6823
|
orientation,
|
|
@@ -6742,23 +6856,23 @@ function Stepper(props) {
|
|
|
6742
6856
|
const completed = activeStep > i + 1;
|
|
6743
6857
|
const disabled = activeStep < i + 1;
|
|
6744
6858
|
const hasContent = step.label || step.extraContent;
|
|
6745
|
-
return /* @__PURE__ */
|
|
6859
|
+
return /* @__PURE__ */ React54.createElement(
|
|
6746
6860
|
Step,
|
|
6747
6861
|
{
|
|
6748
6862
|
key: `step-${i}`,
|
|
6749
|
-
indicator: /* @__PURE__ */
|
|
6863
|
+
indicator: /* @__PURE__ */ React54.createElement(StepIndicator, { variant: disabled ? "outlined" : "solid", color: disabled ? "neutral" : "primary" }, completed ? /* @__PURE__ */ React54.createElement(CheckIcon, null) : step.indicatorContent),
|
|
6750
6864
|
active,
|
|
6751
6865
|
completed,
|
|
6752
6866
|
disabled,
|
|
6753
6867
|
orientation: effectiveStepOrientation
|
|
6754
6868
|
},
|
|
6755
|
-
hasContent && /* @__PURE__ */
|
|
6869
|
+
hasContent && /* @__PURE__ */ React54.createElement(
|
|
6756
6870
|
Stack_default,
|
|
6757
6871
|
{
|
|
6758
6872
|
sx: orientation === "horizontal" && effectiveStepOrientation === "vertical" ? { alignItems: "center" } : {}
|
|
6759
6873
|
},
|
|
6760
|
-
step.label && /* @__PURE__ */
|
|
6761
|
-
step.extraContent && /* @__PURE__ */
|
|
6874
|
+
step.label && /* @__PURE__ */ React54.createElement(Typography_default, { level: "title-sm" }, step.label),
|
|
6875
|
+
step.extraContent && /* @__PURE__ */ React54.createElement(Typography_default, { level: "body-xs" }, step.extraContent)
|
|
6762
6876
|
)
|
|
6763
6877
|
);
|
|
6764
6878
|
})
|
|
@@ -6767,7 +6881,7 @@ function Stepper(props) {
|
|
|
6767
6881
|
Stepper.displayName = "Stepper";
|
|
6768
6882
|
|
|
6769
6883
|
// src/components/Switch/Switch.tsx
|
|
6770
|
-
import
|
|
6884
|
+
import React55 from "react";
|
|
6771
6885
|
import { Switch as JoySwitch, styled as styled29, switchClasses } from "@mui/joy";
|
|
6772
6886
|
import { motion as motion27 } from "framer-motion";
|
|
6773
6887
|
var MotionSwitch = motion27(JoySwitch);
|
|
@@ -6789,14 +6903,14 @@ var StyledThumb = styled29(motion27.div)({
|
|
|
6789
6903
|
right: "var(--Switch-thumbOffset)"
|
|
6790
6904
|
}
|
|
6791
6905
|
});
|
|
6792
|
-
var Thumb = (props) => /* @__PURE__ */
|
|
6906
|
+
var Thumb = (props) => /* @__PURE__ */ React55.createElement(StyledThumb, { ...props, layout: true, transition: spring });
|
|
6793
6907
|
var spring = {
|
|
6794
6908
|
type: "spring",
|
|
6795
6909
|
stiffness: 700,
|
|
6796
6910
|
damping: 30
|
|
6797
6911
|
};
|
|
6798
6912
|
var Switch = (props) => {
|
|
6799
|
-
return /* @__PURE__ */
|
|
6913
|
+
return /* @__PURE__ */ React55.createElement(
|
|
6800
6914
|
MotionSwitch,
|
|
6801
6915
|
{
|
|
6802
6916
|
...props,
|
|
@@ -6810,7 +6924,7 @@ var Switch = (props) => {
|
|
|
6810
6924
|
Switch.displayName = "Switch";
|
|
6811
6925
|
|
|
6812
6926
|
// src/components/Tabs/Tabs.tsx
|
|
6813
|
-
import
|
|
6927
|
+
import React56, { forwardRef as forwardRef11 } from "react";
|
|
6814
6928
|
import {
|
|
6815
6929
|
Tabs as JoyTabs,
|
|
6816
6930
|
Tab as JoyTab,
|
|
@@ -6834,14 +6948,14 @@ var StyledTab = styled30(JoyTab)(({ theme }) => ({
|
|
|
6834
6948
|
}
|
|
6835
6949
|
}));
|
|
6836
6950
|
var Tab = forwardRef11(function Tab2({ startDecorator, endDecorator, children, ...props }, ref) {
|
|
6837
|
-
return /* @__PURE__ */
|
|
6951
|
+
return /* @__PURE__ */ React56.createElement(StyledTab, { ...props, ref }, startDecorator, children, endDecorator);
|
|
6838
6952
|
});
|
|
6839
6953
|
Tab.displayName = "Tab";
|
|
6840
6954
|
var TabList = JoyTabList;
|
|
6841
6955
|
var TabPanel = JoyTabPanel;
|
|
6842
6956
|
|
|
6843
6957
|
// src/components/ThemeProvider/ThemeProvider.tsx
|
|
6844
|
-
import
|
|
6958
|
+
import React57 from "react";
|
|
6845
6959
|
import { CssBaseline, CssVarsProvider, checkboxClasses, extendTheme, inputClasses } from "@mui/joy";
|
|
6846
6960
|
var colorScheme = {
|
|
6847
6961
|
palette: {
|
|
@@ -7120,7 +7234,7 @@ var defaultTheme = extendTheme({
|
|
|
7120
7234
|
});
|
|
7121
7235
|
function ThemeProvider(props) {
|
|
7122
7236
|
const theme = props.theme || defaultTheme;
|
|
7123
|
-
return /* @__PURE__ */
|
|
7237
|
+
return /* @__PURE__ */ React57.createElement(React57.Fragment, null, /* @__PURE__ */ React57.createElement(CssVarsProvider, { theme }, /* @__PURE__ */ React57.createElement(CssBaseline, null), props.children));
|
|
7124
7238
|
}
|
|
7125
7239
|
ThemeProvider.displayName = "ThemeProvider";
|
|
7126
7240
|
export {
|