@ceed/ads 1.16.0-next.9 → 1.16.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/types.d.ts +1 -9
- package/dist/components/Pagination/Pagination.d.ts +0 -1
- package/dist/components/ProfileMenu/ProfileMenu.d.ts +1 -1
- package/dist/components/inputs/FilterMenu.md +0 -20
- package/dist/components/inputs/FilterableCheckboxGroup.md +15 -2
- package/dist/components/navigation/Pagination.md +2 -11
- package/dist/index.cjs +406 -534
- package/dist/index.js +180 -308
- package/framer/index.js +42 -42
- package/package.json +2 -3
- package/dist/components/FilterMenu/components/FilterableCheckboxGroup.d.ts +0 -11
package/dist/index.js
CHANGED
|
@@ -3456,10 +3456,8 @@ 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/
|
|
3461
|
-
import FirstPageIcon from "@mui/icons-material/FirstPageRounded";
|
|
3462
|
-
import LastPageIcon from "@mui/icons-material/LastPageRounded";
|
|
3459
|
+
import PreviousIcon from "@mui/icons-material/ChevronLeft";
|
|
3460
|
+
import NextIcon from "@mui/icons-material/ChevronRight";
|
|
3463
3461
|
import { styled as styled13 } from "@mui/joy";
|
|
3464
3462
|
var PaginationButton = styled13(Button_default, {
|
|
3465
3463
|
name: "Pagination",
|
|
@@ -3518,7 +3516,6 @@ function Pagination(props) {
|
|
|
3518
3516
|
onPageChange,
|
|
3519
3517
|
rowCount,
|
|
3520
3518
|
size = "md",
|
|
3521
|
-
variant = "standard",
|
|
3522
3519
|
...innerProps
|
|
3523
3520
|
} = props;
|
|
3524
3521
|
const [paginationModel, setPaginationModel] = useControlledState(
|
|
@@ -3545,87 +3542,6 @@ function Pagination(props) {
|
|
|
3545
3542
|
setPaginationModel({ ...paginationModel, page: lastPage });
|
|
3546
3543
|
}
|
|
3547
3544
|
}, [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
|
-
}
|
|
3629
3545
|
return /* @__PURE__ */ React24.createElement(PaginationRoot, { ...innerProps }, /* @__PURE__ */ React24.createElement(PaginationContainer, { direction: "row", size, alignItems: "center" }, /* @__PURE__ */ React24.createElement(
|
|
3630
3546
|
PaginationIconButton,
|
|
3631
3547
|
{
|
|
@@ -4550,6 +4466,7 @@ function FilterableCheckboxGroup(props) {
|
|
|
4550
4466
|
);
|
|
4551
4467
|
const parentRef = useRef8(null);
|
|
4552
4468
|
const isInitialSortRef = useRef8(false);
|
|
4469
|
+
const prevOptionsRef = useRef8([...options]);
|
|
4553
4470
|
const filteredOptions = useMemo12(() => {
|
|
4554
4471
|
if (!searchTerm) return sortedOptions;
|
|
4555
4472
|
return sortedOptions.filter((option) => option.label.toLowerCase().includes(searchTerm.toLowerCase()));
|
|
@@ -4564,16 +4481,6 @@ function FilterableCheckboxGroup(props) {
|
|
|
4564
4481
|
return 36;
|
|
4565
4482
|
}
|
|
4566
4483
|
}, [size]);
|
|
4567
|
-
const noOptionsFontSize = useMemo12(() => {
|
|
4568
|
-
switch (size) {
|
|
4569
|
-
case "sm":
|
|
4570
|
-
return "14px";
|
|
4571
|
-
case "md":
|
|
4572
|
-
return "16px";
|
|
4573
|
-
case "lg":
|
|
4574
|
-
return "18px";
|
|
4575
|
-
}
|
|
4576
|
-
}, [size]);
|
|
4577
4484
|
const virtualizer = useVirtualizer3({
|
|
4578
4485
|
count: filteredOptions.length,
|
|
4579
4486
|
estimateSize: () => itemSize,
|
|
@@ -4583,27 +4490,34 @@ function FilterableCheckboxGroup(props) {
|
|
|
4583
4490
|
});
|
|
4584
4491
|
const items = virtualizer.getVirtualItems();
|
|
4585
4492
|
useEffect8(() => {
|
|
4586
|
-
|
|
4587
|
-
|
|
4588
|
-
|
|
4589
|
-
|
|
4590
|
-
const
|
|
4591
|
-
|
|
4592
|
-
|
|
4593
|
-
|
|
4594
|
-
|
|
4595
|
-
|
|
4596
|
-
|
|
4597
|
-
|
|
4493
|
+
const optionsChanged = prevOptionsRef.current.length !== options.length || prevOptionsRef.current.some(
|
|
4494
|
+
(prevOption, index) => prevOption.value !== options[index]?.value || prevOption.label !== options[index]?.label || prevOption.disabled !== options[index]?.disabled
|
|
4495
|
+
);
|
|
4496
|
+
if (!isInitialSortRef.current || optionsChanged) {
|
|
4497
|
+
const initialValue = value ?? [];
|
|
4498
|
+
const sorted = [...options].sort((a, b) => {
|
|
4499
|
+
const aSelected = initialValue.includes(a.value);
|
|
4500
|
+
const bSelected = initialValue.includes(b.value);
|
|
4501
|
+
if (aSelected !== bSelected) {
|
|
4502
|
+
return aSelected ? -1 : 1;
|
|
4503
|
+
}
|
|
4504
|
+
const aIsAlpha = /^[a-zA-Z]/.test(a.label);
|
|
4505
|
+
const bIsAlpha = /^[a-zA-Z]/.test(b.label);
|
|
4506
|
+
if (aIsAlpha !== bIsAlpha) {
|
|
4507
|
+
return aIsAlpha ? -1 : 1;
|
|
4508
|
+
}
|
|
4509
|
+
return a.label.localeCompare(b.label);
|
|
4510
|
+
});
|
|
4511
|
+
setSortedOptions(sorted);
|
|
4512
|
+
prevOptionsRef.current = [...options];
|
|
4513
|
+
if (!isInitialSortRef.current) {
|
|
4514
|
+
isInitialSortRef.current = true;
|
|
4598
4515
|
}
|
|
4599
|
-
|
|
4600
|
-
});
|
|
4601
|
-
setSortedOptions(sorted);
|
|
4602
|
-
isInitialSortRef.current = true;
|
|
4516
|
+
}
|
|
4603
4517
|
}, [options, value]);
|
|
4604
4518
|
useEffect8(() => {
|
|
4605
4519
|
virtualizer.measure();
|
|
4606
|
-
}, [virtualizer, filteredOptions]);
|
|
4520
|
+
}, [virtualizer, filteredOptions, size]);
|
|
4607
4521
|
const handleSearchChange = useCallback13((event) => {
|
|
4608
4522
|
setSearchTerm(event.target.value);
|
|
4609
4523
|
}, []);
|
|
@@ -4649,19 +4563,7 @@ function FilterableCheckboxGroup(props) {
|
|
|
4649
4563
|
disabled,
|
|
4650
4564
|
endDecorator: /* @__PURE__ */ React30.createElement(SearchIcon, null)
|
|
4651
4565
|
}
|
|
4652
|
-
), filteredOptions.length === 0 ? /* @__PURE__ */ React30.createElement(
|
|
4653
|
-
Stack_default,
|
|
4654
|
-
{
|
|
4655
|
-
sx: (theme) => ({
|
|
4656
|
-
padding: "20px 12px",
|
|
4657
|
-
justifyContent: "center",
|
|
4658
|
-
alignItems: "center",
|
|
4659
|
-
fontSize: noOptionsFontSize,
|
|
4660
|
-
color: theme.palette.neutral.softDisabledColor
|
|
4661
|
-
})
|
|
4662
|
-
},
|
|
4663
|
-
"No options found."
|
|
4664
|
-
) : /* @__PURE__ */ React30.createElement(
|
|
4566
|
+
), filteredOptions.length === 0 ? /* @__PURE__ */ React30.createElement(Typography_default, { level: `body-${size}`, textColor: "neutral.softDisabledColor", padding: "20px 12px", textAlign: "center" }, "No options found.") : /* @__PURE__ */ React30.createElement(
|
|
4665
4567
|
"div",
|
|
4666
4568
|
{
|
|
4667
4569
|
ref: parentRef,
|
|
@@ -4731,8 +4633,8 @@ function FilterableCheckboxGroup(props) {
|
|
|
4731
4633
|
FilterableCheckboxGroup.displayName = "FilterableCheckboxGroup";
|
|
4732
4634
|
|
|
4733
4635
|
// src/components/FilterMenu/FilterMenu.tsx
|
|
4734
|
-
import
|
|
4735
|
-
import { Button as Button2, Stack as
|
|
4636
|
+
import React40, { useCallback as useCallback22 } from "react";
|
|
4637
|
+
import { Button as Button2, Stack as Stack10 } from "@mui/joy";
|
|
4736
4638
|
|
|
4737
4639
|
// src/components/FilterMenu/components/CheckboxGroup.tsx
|
|
4738
4640
|
import React31, { useCallback as useCallback14 } from "react";
|
|
@@ -4768,37 +4670,8 @@ function CheckboxGroup(props) {
|
|
|
4768
4670
|
}
|
|
4769
4671
|
CheckboxGroup.displayName = "CheckboxGroup";
|
|
4770
4672
|
|
|
4771
|
-
// src/components/FilterMenu/components/FilterableCheckboxGroup.tsx
|
|
4772
|
-
import React32, { useCallback as useCallback15 } from "react";
|
|
4773
|
-
import { Stack as Stack3 } from "@mui/joy";
|
|
4774
|
-
function FilterableCheckboxGroup2(props) {
|
|
4775
|
-
const { id, label, options, value, onChange, hidden, placeholder, maxHeight } = props;
|
|
4776
|
-
const [internalValue, setInternalValue] = useControlledState(value, [], onChange);
|
|
4777
|
-
const handleChange = useCallback15(
|
|
4778
|
-
(newValue) => {
|
|
4779
|
-
setInternalValue(newValue);
|
|
4780
|
-
},
|
|
4781
|
-
[setInternalValue]
|
|
4782
|
-
);
|
|
4783
|
-
if (hidden) {
|
|
4784
|
-
return null;
|
|
4785
|
-
}
|
|
4786
|
-
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(
|
|
4787
|
-
FilterableCheckboxGroup,
|
|
4788
|
-
{
|
|
4789
|
-
value: internalValue ?? [],
|
|
4790
|
-
onChange: handleChange,
|
|
4791
|
-
options,
|
|
4792
|
-
placeholder,
|
|
4793
|
-
maxHeight,
|
|
4794
|
-
size: "sm"
|
|
4795
|
-
}
|
|
4796
|
-
));
|
|
4797
|
-
}
|
|
4798
|
-
FilterableCheckboxGroup2.displayName = "FilterableCheckboxGroup";
|
|
4799
|
-
|
|
4800
4673
|
// src/components/FilterMenu/components/RadioGroup.tsx
|
|
4801
|
-
import
|
|
4674
|
+
import React32, { useCallback as useCallback15 } from "react";
|
|
4802
4675
|
|
|
4803
4676
|
// src/components/Radio/Radio.tsx
|
|
4804
4677
|
import { Radio as JoyRadio, RadioGroup as JoyRadioGroup } from "@mui/joy";
|
|
@@ -4811,11 +4684,11 @@ var RadioGroup = MotionRadioGroup;
|
|
|
4811
4684
|
RadioGroup.displayName = "RadioGroup";
|
|
4812
4685
|
|
|
4813
4686
|
// src/components/FilterMenu/components/RadioGroup.tsx
|
|
4814
|
-
import { Stack as
|
|
4687
|
+
import { Stack as Stack3 } from "@mui/joy";
|
|
4815
4688
|
function RadioGroup2(props) {
|
|
4816
4689
|
const { id, label, options, value, onChange, hidden } = props;
|
|
4817
4690
|
const [internalValue, setInternalValue] = useControlledState(value, value ?? "", onChange);
|
|
4818
|
-
const handleRadioChange =
|
|
4691
|
+
const handleRadioChange = useCallback15(
|
|
4819
4692
|
(event) => {
|
|
4820
4693
|
const newValue = event.target.value;
|
|
4821
4694
|
const option = options.find((opt) => opt.value.toString() === newValue);
|
|
@@ -4827,13 +4700,13 @@ function RadioGroup2(props) {
|
|
|
4827
4700
|
if (hidden) {
|
|
4828
4701
|
return null;
|
|
4829
4702
|
}
|
|
4830
|
-
return /* @__PURE__ */
|
|
4703
|
+
return /* @__PURE__ */ React32.createElement(Stack3, { spacing: 3, role: "group", "aria-labelledby": id }, !!label && /* @__PURE__ */ React32.createElement(Stack3, { spacing: 1 }, /* @__PURE__ */ React32.createElement(Typography_default, { id, level: "title-sm", component: "label", textColor: "text.tertiary" }, label)), /* @__PURE__ */ React32.createElement(RadioGroup, { name: id, value: internalValue?.toString(), onChange: handleRadioChange }, options.map((option) => /* @__PURE__ */ React32.createElement(Radio, { key: `${id}-${option.value}`, value: option.value.toString(), label: option.label }))));
|
|
4831
4704
|
}
|
|
4832
4705
|
RadioGroup2.displayName = "RadioGroup";
|
|
4833
4706
|
|
|
4834
4707
|
// src/components/FilterMenu/components/DateRange.tsx
|
|
4835
|
-
import
|
|
4836
|
-
import { Stack as
|
|
4708
|
+
import React33, { useCallback as useCallback16, useMemo as useMemo13, useState as useState11, useEffect as useEffect9 } from "react";
|
|
4709
|
+
import { Stack as Stack4 } from "@mui/joy";
|
|
4837
4710
|
function DateRange(props) {
|
|
4838
4711
|
const {
|
|
4839
4712
|
id,
|
|
@@ -4862,7 +4735,7 @@ function DateRange(props) {
|
|
|
4862
4735
|
],
|
|
4863
4736
|
[]
|
|
4864
4737
|
);
|
|
4865
|
-
const getDateRangeForOption =
|
|
4738
|
+
const getDateRangeForOption = useCallback16(
|
|
4866
4739
|
(option) => {
|
|
4867
4740
|
const now = /* @__PURE__ */ new Date();
|
|
4868
4741
|
const currentYear = now.getFullYear();
|
|
@@ -4901,7 +4774,7 @@ function DateRange(props) {
|
|
|
4901
4774
|
},
|
|
4902
4775
|
[internalValue]
|
|
4903
4776
|
);
|
|
4904
|
-
const determineOptionFromValue =
|
|
4777
|
+
const determineOptionFromValue = useCallback16(
|
|
4905
4778
|
(value2) => {
|
|
4906
4779
|
if (!value2) {
|
|
4907
4780
|
return "all-time";
|
|
@@ -4927,7 +4800,7 @@ function DateRange(props) {
|
|
|
4927
4800
|
const newOption = determineOptionFromValue(internalValue);
|
|
4928
4801
|
setSelectedOption(newOption);
|
|
4929
4802
|
}, [internalValue, determineOptionFromValue]);
|
|
4930
|
-
const handleOptionChange =
|
|
4803
|
+
const handleOptionChange = useCallback16(
|
|
4931
4804
|
(event) => {
|
|
4932
4805
|
const newOption = event.target.value;
|
|
4933
4806
|
setSelectedOption(newOption);
|
|
@@ -4936,7 +4809,7 @@ function DateRange(props) {
|
|
|
4936
4809
|
},
|
|
4937
4810
|
[getDateRangeForOption, setInternalValue]
|
|
4938
4811
|
);
|
|
4939
|
-
const handleCustomDateChange =
|
|
4812
|
+
const handleCustomDateChange = useCallback16(
|
|
4940
4813
|
(event) => {
|
|
4941
4814
|
const dateRangeString = event.target.value;
|
|
4942
4815
|
if (dateRangeString && dateRangeString.includes(" - ")) {
|
|
@@ -4954,7 +4827,7 @@ function DateRange(props) {
|
|
|
4954
4827
|
if (hidden) {
|
|
4955
4828
|
return null;
|
|
4956
4829
|
}
|
|
4957
|
-
return /* @__PURE__ */
|
|
4830
|
+
return /* @__PURE__ */ React33.createElement(Stack4, { spacing: 3, role: "group", "aria-labelledby": id }, !!label && /* @__PURE__ */ React33.createElement(Typography_default, { id, level: "title-sm", component: "label", textColor: "text.tertiary" }, label), /* @__PURE__ */ React33.createElement(RadioGroup, { name: `${id}-options`, value: selectedOption, onChange: handleOptionChange }, dateRangeOptions.map((option) => /* @__PURE__ */ React33.createElement(Radio, { key: `${id}-${option.value}`, value: option.value, label: option.label }))), selectedOption === "custom" && /* @__PURE__ */ React33.createElement(
|
|
4958
4831
|
DateRangePicker,
|
|
4959
4832
|
{
|
|
4960
4833
|
value: customDateRangeValue,
|
|
@@ -4973,12 +4846,12 @@ function DateRange(props) {
|
|
|
4973
4846
|
DateRange.displayName = "DateRange";
|
|
4974
4847
|
|
|
4975
4848
|
// src/components/FilterMenu/components/CurrencyInput.tsx
|
|
4976
|
-
import
|
|
4977
|
-
import { Stack as
|
|
4849
|
+
import React34, { useCallback as useCallback17 } from "react";
|
|
4850
|
+
import { Stack as Stack5 } from "@mui/joy";
|
|
4978
4851
|
function CurrencyInput3(props) {
|
|
4979
4852
|
const { id, label, value, onChange, hidden, max, placeholder, useMinorUnit, currency = "USD" } = props;
|
|
4980
4853
|
const [internalValue, setInternalValue] = useControlledState(value, value, onChange);
|
|
4981
|
-
const handleCurrencyChange =
|
|
4854
|
+
const handleCurrencyChange = useCallback17(
|
|
4982
4855
|
(event) => {
|
|
4983
4856
|
const newValue = event.target.value;
|
|
4984
4857
|
setInternalValue(newValue);
|
|
@@ -4988,7 +4861,7 @@ function CurrencyInput3(props) {
|
|
|
4988
4861
|
if (hidden) {
|
|
4989
4862
|
return null;
|
|
4990
4863
|
}
|
|
4991
|
-
return /* @__PURE__ */
|
|
4864
|
+
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(
|
|
4992
4865
|
CurrencyInput,
|
|
4993
4866
|
{
|
|
4994
4867
|
value: internalValue,
|
|
@@ -5004,14 +4877,14 @@ function CurrencyInput3(props) {
|
|
|
5004
4877
|
CurrencyInput3.displayName = "CurrencyInput";
|
|
5005
4878
|
|
|
5006
4879
|
// src/components/FilterMenu/components/CurrencyRange.tsx
|
|
5007
|
-
import
|
|
5008
|
-
import { Stack as
|
|
4880
|
+
import React35, { useCallback as useCallback18 } from "react";
|
|
4881
|
+
import { Stack as Stack6 } from "@mui/joy";
|
|
5009
4882
|
function CurrencyRange(props) {
|
|
5010
4883
|
const { id, label, value, onChange, hidden, max, placeholder, useMinorUnit, currency = "USD" } = props;
|
|
5011
4884
|
const [internalValue, setInternalValue] = useControlledState(value, null, onChange);
|
|
5012
4885
|
const minValue = internalValue?.[0];
|
|
5013
4886
|
const maxValue = internalValue?.[1];
|
|
5014
|
-
const handleMinChange =
|
|
4887
|
+
const handleMinChange = useCallback18(
|
|
5015
4888
|
(event) => {
|
|
5016
4889
|
const newMinValue = event.target.value;
|
|
5017
4890
|
const currentMaxValue = maxValue;
|
|
@@ -5025,7 +4898,7 @@ function CurrencyRange(props) {
|
|
|
5025
4898
|
},
|
|
5026
4899
|
[maxValue, setInternalValue]
|
|
5027
4900
|
);
|
|
5028
|
-
const handleMaxChange =
|
|
4901
|
+
const handleMaxChange = useCallback18(
|
|
5029
4902
|
(event) => {
|
|
5030
4903
|
const newMaxValue = event.target.value;
|
|
5031
4904
|
const currentMinValue = minValue;
|
|
@@ -5042,7 +4915,7 @@ function CurrencyRange(props) {
|
|
|
5042
4915
|
if (hidden) {
|
|
5043
4916
|
return null;
|
|
5044
4917
|
}
|
|
5045
|
-
return /* @__PURE__ */
|
|
4918
|
+
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(Stack6, { direction: "row", spacing: 2, alignItems: "flex-end" }, /* @__PURE__ */ React35.createElement(
|
|
5046
4919
|
CurrencyInput,
|
|
5047
4920
|
{
|
|
5048
4921
|
label: "Minimum",
|
|
@@ -5055,7 +4928,7 @@ function CurrencyRange(props) {
|
|
|
5055
4928
|
"aria-labelledby": label ? id : void 0,
|
|
5056
4929
|
"aria-label": "Minimum amount"
|
|
5057
4930
|
}
|
|
5058
|
-
), /* @__PURE__ */
|
|
4931
|
+
), /* @__PURE__ */ React35.createElement(
|
|
5059
4932
|
CurrencyInput,
|
|
5060
4933
|
{
|
|
5061
4934
|
label: "Maximum",
|
|
@@ -5073,20 +4946,20 @@ function CurrencyRange(props) {
|
|
|
5073
4946
|
CurrencyRange.displayName = "CurrencyRange";
|
|
5074
4947
|
|
|
5075
4948
|
// src/components/FilterMenu/components/PercentageInput.tsx
|
|
5076
|
-
import
|
|
5077
|
-
import { Stack as
|
|
4949
|
+
import React37 from "react";
|
|
4950
|
+
import { Stack as Stack7, Typography as Typography2 } from "@mui/joy";
|
|
5078
4951
|
|
|
5079
4952
|
// src/components/PercentageInput/PercentageInput.tsx
|
|
5080
|
-
import
|
|
4953
|
+
import React36, { useCallback as useCallback19, useMemo as useMemo14, useState as useState12 } from "react";
|
|
5081
4954
|
import { NumericFormat as NumericFormat2 } from "react-number-format";
|
|
5082
4955
|
import { styled as styled20, useThemeProps as useThemeProps6 } from "@mui/joy";
|
|
5083
4956
|
var padDecimal = (value, decimalScale) => {
|
|
5084
4957
|
const [integer, decimal = ""] = `${value}`.split(".");
|
|
5085
4958
|
return Number(`${integer}${decimal.padEnd(decimalScale, "0")}`);
|
|
5086
4959
|
};
|
|
5087
|
-
var TextMaskAdapter7 =
|
|
4960
|
+
var TextMaskAdapter7 = React36.forwardRef(function TextMaskAdapter8(props, ref) {
|
|
5088
4961
|
const { onChange, min, max, ...innerProps } = props;
|
|
5089
|
-
return /* @__PURE__ */
|
|
4962
|
+
return /* @__PURE__ */ React36.createElement(
|
|
5090
4963
|
NumericFormat2,
|
|
5091
4964
|
{
|
|
5092
4965
|
...innerProps,
|
|
@@ -5111,7 +4984,7 @@ var PercentageInputRoot = styled20(Input_default, {
|
|
|
5111
4984
|
slot: "Root",
|
|
5112
4985
|
overridesResolver: (props, styles) => styles.root
|
|
5113
4986
|
})({});
|
|
5114
|
-
var PercentageInput =
|
|
4987
|
+
var PercentageInput = React36.forwardRef(
|
|
5115
4988
|
function PercentageInput2(inProps, ref) {
|
|
5116
4989
|
const props = useThemeProps6({ props: inProps, name: "PercentageInput" });
|
|
5117
4990
|
const {
|
|
@@ -5134,7 +5007,7 @@ var PercentageInput = React37.forwardRef(
|
|
|
5134
5007
|
const [_value, setValue] = useControlledState(
|
|
5135
5008
|
props.value,
|
|
5136
5009
|
props.defaultValue,
|
|
5137
|
-
|
|
5010
|
+
useCallback19((value2) => onChange?.({ target: { name, value: value2 } }), [onChange, name])
|
|
5138
5011
|
);
|
|
5139
5012
|
const [internalError, setInternalError] = useState12(
|
|
5140
5013
|
max && _value && _value > max || min && _value && _value < min
|
|
@@ -5145,7 +5018,7 @@ var PercentageInput = React37.forwardRef(
|
|
|
5145
5018
|
}
|
|
5146
5019
|
return _value;
|
|
5147
5020
|
}, [_value, useMinorUnit, maxDecimalScale]);
|
|
5148
|
-
const handleChange =
|
|
5021
|
+
const handleChange = useCallback19(
|
|
5149
5022
|
(event) => {
|
|
5150
5023
|
if (event.target.value === "") {
|
|
5151
5024
|
setValue(void 0);
|
|
@@ -5162,7 +5035,7 @@ var PercentageInput = React37.forwardRef(
|
|
|
5162
5035
|
},
|
|
5163
5036
|
[setValue, useMinorUnit, maxDecimalScale, min, max]
|
|
5164
5037
|
);
|
|
5165
|
-
return /* @__PURE__ */
|
|
5038
|
+
return /* @__PURE__ */ React36.createElement(
|
|
5166
5039
|
PercentageInputRoot,
|
|
5167
5040
|
{
|
|
5168
5041
|
...innerProps,
|
|
@@ -5209,7 +5082,7 @@ var PercentageInput3 = ({
|
|
|
5209
5082
|
if (hidden) {
|
|
5210
5083
|
return null;
|
|
5211
5084
|
}
|
|
5212
|
-
return /* @__PURE__ */
|
|
5085
|
+
return /* @__PURE__ */ React37.createElement(Stack7, { spacing: 3, role: "group", "aria-labelledby": id }, !!label && /* @__PURE__ */ React37.createElement(Typography2, { id, level: "title-sm", component: "label", textColor: "text.tertiary" }, label), /* @__PURE__ */ React37.createElement(
|
|
5213
5086
|
PercentageInput,
|
|
5214
5087
|
{
|
|
5215
5088
|
value: _value,
|
|
@@ -5224,8 +5097,8 @@ var PercentageInput3 = ({
|
|
|
5224
5097
|
};
|
|
5225
5098
|
|
|
5226
5099
|
// src/components/FilterMenu/components/PercentageRange.tsx
|
|
5227
|
-
import
|
|
5228
|
-
import { Stack as
|
|
5100
|
+
import React38, { useCallback as useCallback20 } from "react";
|
|
5101
|
+
import { Stack as Stack8 } from "@mui/joy";
|
|
5229
5102
|
function PercentageRange(props) {
|
|
5230
5103
|
const { id, label, value, onChange, hidden, useMinorUnit, maxDecimalScale, min, max } = props;
|
|
5231
5104
|
const [internalValue, setInternalValue] = useControlledState(
|
|
@@ -5235,7 +5108,7 @@ function PercentageRange(props) {
|
|
|
5235
5108
|
);
|
|
5236
5109
|
const minValue = internalValue?.[0];
|
|
5237
5110
|
const maxValue = internalValue?.[1];
|
|
5238
|
-
const handleMinChange =
|
|
5111
|
+
const handleMinChange = useCallback20(
|
|
5239
5112
|
(event) => {
|
|
5240
5113
|
const newMinValue = event.target.value;
|
|
5241
5114
|
const currentMaxValue = maxValue;
|
|
@@ -5247,7 +5120,7 @@ function PercentageRange(props) {
|
|
|
5247
5120
|
},
|
|
5248
5121
|
[maxValue, setInternalValue]
|
|
5249
5122
|
);
|
|
5250
|
-
const handleMaxChange =
|
|
5123
|
+
const handleMaxChange = useCallback20(
|
|
5251
5124
|
(event) => {
|
|
5252
5125
|
const newMaxValue = event.target.value;
|
|
5253
5126
|
const currentMinValue = minValue;
|
|
@@ -5262,7 +5135,7 @@ function PercentageRange(props) {
|
|
|
5262
5135
|
if (hidden) {
|
|
5263
5136
|
return null;
|
|
5264
5137
|
}
|
|
5265
|
-
return /* @__PURE__ */
|
|
5138
|
+
return /* @__PURE__ */ React38.createElement(Stack8, { spacing: 3, role: "group", "aria-labelledby": id }, !!label && /* @__PURE__ */ React38.createElement(Typography_default, { id, level: "title-sm", component: "label", textColor: "text.tertiary" }, label), /* @__PURE__ */ React38.createElement(Stack8, { direction: "row", spacing: 2, alignItems: "flex-end" }, /* @__PURE__ */ React38.createElement(
|
|
5266
5139
|
PercentageInput,
|
|
5267
5140
|
{
|
|
5268
5141
|
label: "Minimum",
|
|
@@ -5276,7 +5149,7 @@ function PercentageRange(props) {
|
|
|
5276
5149
|
"aria-label": "Minimum percentage",
|
|
5277
5150
|
placeholder: "0%"
|
|
5278
5151
|
}
|
|
5279
|
-
), /* @__PURE__ */
|
|
5152
|
+
), /* @__PURE__ */ React38.createElement(
|
|
5280
5153
|
PercentageInput,
|
|
5281
5154
|
{
|
|
5282
5155
|
label: "Maximum",
|
|
@@ -5295,13 +5168,13 @@ function PercentageRange(props) {
|
|
|
5295
5168
|
PercentageRange.displayName = "PercentageRange";
|
|
5296
5169
|
|
|
5297
5170
|
// src/components/FilterMenu/components/Autocomplete.tsx
|
|
5298
|
-
import
|
|
5299
|
-
import { Stack as
|
|
5171
|
+
import React39, { useCallback as useCallback21 } from "react";
|
|
5172
|
+
import { Stack as Stack9 } from "@mui/joy";
|
|
5300
5173
|
function Autocomplete2(props) {
|
|
5301
5174
|
const { id, label, value, onChange, options, multiple, hidden, placeholder } = props;
|
|
5302
5175
|
const [internalValue, setInternalValue] = useControlledState(value, void 0, onChange);
|
|
5303
5176
|
const autocompleteValue = typeof internalValue === "string" || typeof internalValue === "number" ? String(internalValue) : void 0;
|
|
5304
|
-
const handleChange =
|
|
5177
|
+
const handleChange = useCallback21(
|
|
5305
5178
|
(event) => {
|
|
5306
5179
|
const val = event.target.value;
|
|
5307
5180
|
if (val) {
|
|
@@ -5316,7 +5189,7 @@ function Autocomplete2(props) {
|
|
|
5316
5189
|
if (hidden) {
|
|
5317
5190
|
return null;
|
|
5318
5191
|
}
|
|
5319
|
-
return /* @__PURE__ */
|
|
5192
|
+
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(
|
|
5320
5193
|
Autocomplete,
|
|
5321
5194
|
{
|
|
5322
5195
|
value: autocompleteValue,
|
|
@@ -5333,7 +5206,6 @@ Autocomplete2.displayName = "Autocomplete";
|
|
|
5333
5206
|
// src/components/FilterMenu/FilterMenu.tsx
|
|
5334
5207
|
var componentMap = {
|
|
5335
5208
|
"checkbox-group": CheckboxGroup,
|
|
5336
|
-
"filterable-checkbox-group": FilterableCheckboxGroup2,
|
|
5337
5209
|
"radio-group": RadioGroup2,
|
|
5338
5210
|
"date-range": DateRange,
|
|
5339
5211
|
"currency-input": CurrencyInput3,
|
|
@@ -5350,7 +5222,7 @@ function FilterMenu(props) {
|
|
|
5350
5222
|
void 0
|
|
5351
5223
|
// onChange는 Apply 버튼에서만 호출
|
|
5352
5224
|
);
|
|
5353
|
-
const handleFilterChange =
|
|
5225
|
+
const handleFilterChange = useCallback22(
|
|
5354
5226
|
(filterId, value) => {
|
|
5355
5227
|
setInternalValues((prev) => ({
|
|
5356
5228
|
...prev,
|
|
@@ -5359,17 +5231,17 @@ function FilterMenu(props) {
|
|
|
5359
5231
|
},
|
|
5360
5232
|
[setInternalValues]
|
|
5361
5233
|
);
|
|
5362
|
-
const handleApply =
|
|
5234
|
+
const handleApply = useCallback22(() => {
|
|
5363
5235
|
onChange?.(internalValues);
|
|
5364
5236
|
onClose?.();
|
|
5365
5237
|
}, [onChange, onClose, internalValues]);
|
|
5366
|
-
const handleClear =
|
|
5238
|
+
const handleClear = useCallback22(() => {
|
|
5367
5239
|
const clearedValues = resetValues || {};
|
|
5368
5240
|
setInternalValues(clearedValues);
|
|
5369
5241
|
onChange?.(clearedValues);
|
|
5370
5242
|
onClose?.();
|
|
5371
5243
|
}, [resetValues, setInternalValues, onChange, onClose]);
|
|
5372
|
-
return /* @__PURE__ */
|
|
5244
|
+
return /* @__PURE__ */ React40.createElement(
|
|
5373
5245
|
ModalDialog,
|
|
5374
5246
|
{
|
|
5375
5247
|
sx: {
|
|
@@ -5379,9 +5251,9 @@ function FilterMenu(props) {
|
|
|
5379
5251
|
top: "initial"
|
|
5380
5252
|
}
|
|
5381
5253
|
},
|
|
5382
|
-
/* @__PURE__ */
|
|
5254
|
+
/* @__PURE__ */ React40.createElement(DialogContent, { sx: { paddingTop: 5 } }, /* @__PURE__ */ React40.createElement(Stack10, { spacing: 6 }, filters?.map((filter) => {
|
|
5383
5255
|
const FilterComponent = componentMap[filter.type];
|
|
5384
|
-
return FilterComponent ? /* @__PURE__ */
|
|
5256
|
+
return FilterComponent ? /* @__PURE__ */ React40.createElement(
|
|
5385
5257
|
FilterComponent,
|
|
5386
5258
|
{
|
|
5387
5259
|
key: filter.id,
|
|
@@ -5393,13 +5265,13 @@ function FilterMenu(props) {
|
|
|
5393
5265
|
}
|
|
5394
5266
|
) : null;
|
|
5395
5267
|
}))),
|
|
5396
|
-
/* @__PURE__ */
|
|
5268
|
+
/* @__PURE__ */ React40.createElement(DialogActions, { sx: { justifyContent: "space-between" } }, useClear && filters?.length === 1 && /* @__PURE__ */ React40.createElement(Button2, { variant: "plain", color: "neutral", size: "md", onClick: handleClear }, "Clear"), useReset && !useClear && /* @__PURE__ */ React40.createElement(Button2, { variant: "plain", color: "neutral", size: "md", onClick: handleClear }, "Reset"), /* @__PURE__ */ React40.createElement(Button2, { variant: "solid", color: "primary", size: "md", onClick: handleApply }, "Apply"))
|
|
5397
5269
|
);
|
|
5398
5270
|
}
|
|
5399
5271
|
FilterMenu.displayName = "FilterMenu";
|
|
5400
5272
|
|
|
5401
5273
|
// src/components/Uploader/Uploader.tsx
|
|
5402
|
-
import
|
|
5274
|
+
import React41, { useCallback as useCallback23, useEffect as useEffect10, useMemo as useMemo15, useRef as useRef9, useState as useState13 } from "react";
|
|
5403
5275
|
import { styled as styled21, Input as Input2 } from "@mui/joy";
|
|
5404
5276
|
import MuiFileUploadIcon from "@mui/icons-material/CloudUploadRounded";
|
|
5405
5277
|
import MuiUploadFileIcon from "@mui/icons-material/UploadFileRounded";
|
|
@@ -5476,7 +5348,7 @@ var getFileSize = (n) => {
|
|
|
5476
5348
|
};
|
|
5477
5349
|
var Preview = (props) => {
|
|
5478
5350
|
const { files, uploaded, onDelete } = props;
|
|
5479
|
-
return /* @__PURE__ */
|
|
5351
|
+
return /* @__PURE__ */ React41.createElement(PreviewRoot, { gap: 1 }, [...uploaded, ...files].map((file) => /* @__PURE__ */ React41.createElement(UploadCard, { key: file.name, size: "sm", color: "neutral" }, /* @__PURE__ */ React41.createElement(Stack_default, { direction: "row", alignItems: "center", gap: 2 }, /* @__PURE__ */ React41.createElement(UploadFileIcon, null), /* @__PURE__ */ React41.createElement(Stack_default, { flex: "1", sx: { overflow: "hidden" } }, /* @__PURE__ */ React41.createElement(
|
|
5480
5352
|
Typography_default,
|
|
5481
5353
|
{
|
|
5482
5354
|
level: "body-sm",
|
|
@@ -5488,7 +5360,7 @@ var Preview = (props) => {
|
|
|
5488
5360
|
}
|
|
5489
5361
|
},
|
|
5490
5362
|
file.name
|
|
5491
|
-
), !!file.size && /* @__PURE__ */
|
|
5363
|
+
), !!file.size && /* @__PURE__ */ React41.createElement(Typography_default, { level: "body-xs", fontWeight: "300", lineHeight: "1.33", textColor: "text.tertiary" }, getFileSize(file.size))), /* @__PURE__ */ React41.createElement(IconButton_default, { onClick: () => onDelete?.(file) }, /* @__PURE__ */ React41.createElement(ClearIcon2, null))))));
|
|
5492
5364
|
};
|
|
5493
5365
|
var UploaderRoot = styled21(Stack_default, {
|
|
5494
5366
|
name: "Uploader",
|
|
@@ -5531,7 +5403,7 @@ var UploaderIcon = styled21(MuiFileUploadIcon, {
|
|
|
5531
5403
|
}
|
|
5532
5404
|
})
|
|
5533
5405
|
);
|
|
5534
|
-
var Uploader =
|
|
5406
|
+
var Uploader = React41.memo(
|
|
5535
5407
|
(props) => {
|
|
5536
5408
|
const {
|
|
5537
5409
|
accept,
|
|
@@ -5599,7 +5471,7 @@ var Uploader = React42.memo(
|
|
|
5599
5471
|
() => !maxCount || maxCount && [...uploaded, ...files].length !== maxCount,
|
|
5600
5472
|
[files, maxCount, uploaded]
|
|
5601
5473
|
);
|
|
5602
|
-
const addFiles =
|
|
5474
|
+
const addFiles = useCallback23(
|
|
5603
5475
|
(uploads) => {
|
|
5604
5476
|
try {
|
|
5605
5477
|
const types = parsedAccepts.map((type) => type.replace(".", "")) || [];
|
|
@@ -5691,14 +5563,14 @@ var Uploader = React42.memo(
|
|
|
5691
5563
|
}
|
|
5692
5564
|
}
|
|
5693
5565
|
}, [inputRef, files, minCount]);
|
|
5694
|
-
const handleFileChanged =
|
|
5566
|
+
const handleFileChanged = useCallback23(
|
|
5695
5567
|
(event) => {
|
|
5696
5568
|
const files2 = Array.from(event.target.files || []);
|
|
5697
5569
|
addFiles(files2);
|
|
5698
5570
|
},
|
|
5699
5571
|
[addFiles]
|
|
5700
5572
|
);
|
|
5701
|
-
const handleDeleteFile =
|
|
5573
|
+
const handleDeleteFile = useCallback23(
|
|
5702
5574
|
(deletedFile) => {
|
|
5703
5575
|
if (deletedFile instanceof File) {
|
|
5704
5576
|
setFiles((current) => {
|
|
@@ -5718,10 +5590,10 @@ var Uploader = React42.memo(
|
|
|
5718
5590
|
},
|
|
5719
5591
|
[name, onChange, onDelete]
|
|
5720
5592
|
);
|
|
5721
|
-
const handleUploaderButtonClick =
|
|
5593
|
+
const handleUploaderButtonClick = useCallback23(() => {
|
|
5722
5594
|
inputRef.current?.click();
|
|
5723
5595
|
}, []);
|
|
5724
|
-
const uploader = /* @__PURE__ */
|
|
5596
|
+
const uploader = /* @__PURE__ */ React41.createElement(
|
|
5725
5597
|
FileDropZone,
|
|
5726
5598
|
{
|
|
5727
5599
|
state: previewState,
|
|
@@ -5730,8 +5602,8 @@ var Uploader = React42.memo(
|
|
|
5730
5602
|
ref: dropZoneRef,
|
|
5731
5603
|
onClick: handleUploaderButtonClick
|
|
5732
5604
|
},
|
|
5733
|
-
/* @__PURE__ */
|
|
5734
|
-
/* @__PURE__ */
|
|
5605
|
+
/* @__PURE__ */ React41.createElement(Stack_default, { alignItems: "center", gap: 1 }, /* @__PURE__ */ React41.createElement(UploaderIcon, { state: previewState, error: !!(error || errorText), disabled })),
|
|
5606
|
+
/* @__PURE__ */ React41.createElement(
|
|
5735
5607
|
VisuallyHiddenInput,
|
|
5736
5608
|
{
|
|
5737
5609
|
disabled,
|
|
@@ -5754,7 +5626,7 @@ var Uploader = React42.memo(
|
|
|
5754
5626
|
}
|
|
5755
5627
|
)
|
|
5756
5628
|
);
|
|
5757
|
-
return /* @__PURE__ */
|
|
5629
|
+
return /* @__PURE__ */ React41.createElement(UploaderRoot, null, showDropZone && /* @__PURE__ */ React41.createElement(FormControl_default, { size, error: !!(error || errorText), disabled, required: !!minCount }, label && /* @__PURE__ */ React41.createElement(FormLabel_default, null, label), uploader, /* @__PURE__ */ React41.createElement(FormHelperText_default, null, /* @__PURE__ */ React41.createElement(Stack_default, null, errorText && /* @__PURE__ */ React41.createElement("div", null, errorText), /* @__PURE__ */ React41.createElement("div", null, helperText)))), [...uploaded, ...files].length > 0 && /* @__PURE__ */ React41.createElement(Preview, { files, uploaded, onDelete: handleDeleteFile }));
|
|
5758
5630
|
}
|
|
5759
5631
|
);
|
|
5760
5632
|
Uploader.displayName = "Uploader";
|
|
@@ -5763,7 +5635,7 @@ Uploader.displayName = "Uploader";
|
|
|
5763
5635
|
import { Grid } from "@mui/joy";
|
|
5764
5636
|
|
|
5765
5637
|
// src/components/IconMenuButton/IconMenuButton.tsx
|
|
5766
|
-
import
|
|
5638
|
+
import React42 from "react";
|
|
5767
5639
|
import { MenuButton as JoyMenuButton2, IconButton as JoyIconButton2 } from "@mui/joy";
|
|
5768
5640
|
function IconMenuButton(props) {
|
|
5769
5641
|
const {
|
|
@@ -5777,7 +5649,7 @@ function IconMenuButton(props) {
|
|
|
5777
5649
|
placement = "bottom"
|
|
5778
5650
|
} = props;
|
|
5779
5651
|
if (!items.length) {
|
|
5780
|
-
return /* @__PURE__ */
|
|
5652
|
+
return /* @__PURE__ */ React42.createElement(
|
|
5781
5653
|
JoyIconButton2,
|
|
5782
5654
|
{
|
|
5783
5655
|
component: props.buttonComponent ?? "button",
|
|
@@ -5791,7 +5663,7 @@ function IconMenuButton(props) {
|
|
|
5791
5663
|
icon
|
|
5792
5664
|
);
|
|
5793
5665
|
}
|
|
5794
|
-
return /* @__PURE__ */
|
|
5666
|
+
return /* @__PURE__ */ React42.createElement(Dropdown_default, null, /* @__PURE__ */ React42.createElement(
|
|
5795
5667
|
JoyMenuButton2,
|
|
5796
5668
|
{
|
|
5797
5669
|
slots: { root: JoyIconButton2 },
|
|
@@ -5808,12 +5680,12 @@ function IconMenuButton(props) {
|
|
|
5808
5680
|
}
|
|
5809
5681
|
},
|
|
5810
5682
|
icon
|
|
5811
|
-
), /* @__PURE__ */
|
|
5683
|
+
), /* @__PURE__ */ React42.createElement(Menu, { placement, size }, items.map((i) => /* @__PURE__ */ React42.createElement(MenuItem, { key: i.text, component: i.component, ...i.componentProps ?? {} }, i.text))));
|
|
5812
5684
|
}
|
|
5813
5685
|
IconMenuButton.displayName = "IconMenuButton";
|
|
5814
5686
|
|
|
5815
5687
|
// src/components/Markdown/Markdown.tsx
|
|
5816
|
-
import
|
|
5688
|
+
import React43, { lazy, Suspense, useEffect as useEffect11, useState as useState14 } from "react";
|
|
5817
5689
|
import { Skeleton } from "@mui/joy";
|
|
5818
5690
|
import { Link as Link2 } from "@mui/joy";
|
|
5819
5691
|
import remarkGfm from "remark-gfm";
|
|
@@ -5842,12 +5714,12 @@ var Markdown = (props) => {
|
|
|
5842
5714
|
if (!rehypeAccent2) {
|
|
5843
5715
|
return null;
|
|
5844
5716
|
}
|
|
5845
|
-
return /* @__PURE__ */
|
|
5717
|
+
return /* @__PURE__ */ React43.createElement(Typography, { component: "div", color, textColor, level: defaultLevel, ...innerProps }, /* @__PURE__ */ React43.createElement(
|
|
5846
5718
|
Suspense,
|
|
5847
5719
|
{
|
|
5848
|
-
fallback: fallback || /* @__PURE__ */
|
|
5720
|
+
fallback: fallback || /* @__PURE__ */ React43.createElement(Typography, null, /* @__PURE__ */ React43.createElement(Skeleton, null, content || ""))
|
|
5849
5721
|
},
|
|
5850
|
-
/* @__PURE__ */
|
|
5722
|
+
/* @__PURE__ */ React43.createElement(
|
|
5851
5723
|
LazyReactMarkdown,
|
|
5852
5724
|
{
|
|
5853
5725
|
...markdownOptions,
|
|
@@ -5855,15 +5727,15 @@ var Markdown = (props) => {
|
|
|
5855
5727
|
rehypePlugins: [[rehypeAccent2, { accentColor }]],
|
|
5856
5728
|
remarkPlugins: [remarkGfm],
|
|
5857
5729
|
components: {
|
|
5858
|
-
h1: ({ children }) => /* @__PURE__ */
|
|
5859
|
-
h2: ({ children }) => /* @__PURE__ */
|
|
5860
|
-
h3: ({ children }) => /* @__PURE__ */
|
|
5861
|
-
h4: ({ children }) => /* @__PURE__ */
|
|
5862
|
-
p: ({ children, node }) => /* @__PURE__ */
|
|
5863
|
-
a: ({ children, href }) => /* @__PURE__ */
|
|
5864
|
-
hr: () => /* @__PURE__ */
|
|
5865
|
-
b: ({ children }) => /* @__PURE__ */
|
|
5866
|
-
strong: ({ children }) => /* @__PURE__ */
|
|
5730
|
+
h1: ({ children }) => /* @__PURE__ */ React43.createElement(Typography, { color, textColor, level: "h1" }, children),
|
|
5731
|
+
h2: ({ children }) => /* @__PURE__ */ React43.createElement(Typography, { color, textColor, level: "h2" }, children),
|
|
5732
|
+
h3: ({ children }) => /* @__PURE__ */ React43.createElement(Typography, { color, textColor, level: "h3" }, children),
|
|
5733
|
+
h4: ({ children }) => /* @__PURE__ */ React43.createElement(Typography, { color, textColor, level: "h4" }, children),
|
|
5734
|
+
p: ({ children, node }) => /* @__PURE__ */ React43.createElement(Typography, { color, textColor, level: defaultLevel, ...node?.properties }, children),
|
|
5735
|
+
a: ({ children, href }) => /* @__PURE__ */ React43.createElement(Link2, { href, target: defaultLinkAction }, children),
|
|
5736
|
+
hr: () => /* @__PURE__ */ React43.createElement(Divider, null),
|
|
5737
|
+
b: ({ children }) => /* @__PURE__ */ React43.createElement(Typography, { fontWeight: boldFontWeight }, children),
|
|
5738
|
+
strong: ({ children }) => /* @__PURE__ */ React43.createElement(Typography, { fontWeight: boldFontWeight }, children),
|
|
5867
5739
|
...markdownOptions?.components
|
|
5868
5740
|
}
|
|
5869
5741
|
}
|
|
@@ -5873,7 +5745,7 @@ var Markdown = (props) => {
|
|
|
5873
5745
|
Markdown.displayName = "Markdown";
|
|
5874
5746
|
|
|
5875
5747
|
// src/components/MenuButton/MenuButton.tsx
|
|
5876
|
-
import
|
|
5748
|
+
import React44 from "react";
|
|
5877
5749
|
import { MenuButton as JoyMenuButton3, Button as JoyButton2 } from "@mui/joy";
|
|
5878
5750
|
import ExpandMoreIcon from "@mui/icons-material/ExpandMore";
|
|
5879
5751
|
function MenuButton(props) {
|
|
@@ -5891,7 +5763,7 @@ function MenuButton(props) {
|
|
|
5891
5763
|
placement = "bottom"
|
|
5892
5764
|
} = props;
|
|
5893
5765
|
if (!items.length) {
|
|
5894
|
-
return /* @__PURE__ */
|
|
5766
|
+
return /* @__PURE__ */ React44.createElement(
|
|
5895
5767
|
JoyButton2,
|
|
5896
5768
|
{
|
|
5897
5769
|
component: props.buttonComponent ?? "button",
|
|
@@ -5902,12 +5774,12 @@ function MenuButton(props) {
|
|
|
5902
5774
|
loading,
|
|
5903
5775
|
startDecorator,
|
|
5904
5776
|
...props.buttonComponentProps ?? {},
|
|
5905
|
-
endDecorator: showIcon ? /* @__PURE__ */
|
|
5777
|
+
endDecorator: showIcon ? /* @__PURE__ */ React44.createElement(React44.Fragment, null, endDecorator, /* @__PURE__ */ React44.createElement(ExpandMoreIcon, null)) : /* @__PURE__ */ React44.createElement(React44.Fragment, null, endDecorator)
|
|
5906
5778
|
},
|
|
5907
5779
|
buttonText
|
|
5908
5780
|
);
|
|
5909
5781
|
}
|
|
5910
|
-
return /* @__PURE__ */
|
|
5782
|
+
return /* @__PURE__ */ React44.createElement(Dropdown_default, null, /* @__PURE__ */ React44.createElement(
|
|
5911
5783
|
JoyMenuButton3,
|
|
5912
5784
|
{
|
|
5913
5785
|
component: props.buttonComponent ?? "button",
|
|
@@ -5918,15 +5790,15 @@ function MenuButton(props) {
|
|
|
5918
5790
|
loading,
|
|
5919
5791
|
startDecorator,
|
|
5920
5792
|
...props.buttonComponentProps ?? {},
|
|
5921
|
-
endDecorator: showIcon ? /* @__PURE__ */
|
|
5793
|
+
endDecorator: showIcon ? /* @__PURE__ */ React44.createElement(React44.Fragment, null, endDecorator, /* @__PURE__ */ React44.createElement(ExpandMoreIcon, null)) : /* @__PURE__ */ React44.createElement(React44.Fragment, null, endDecorator)
|
|
5922
5794
|
},
|
|
5923
5795
|
buttonText
|
|
5924
|
-
), /* @__PURE__ */
|
|
5796
|
+
), /* @__PURE__ */ React44.createElement(Menu, { placement, size }, items.map((i) => /* @__PURE__ */ React44.createElement(MenuItem, { key: i.text, component: i.component, ...i.componentProps ?? {} }, i.text))));
|
|
5925
5797
|
}
|
|
5926
5798
|
MenuButton.displayName = "MenuButton";
|
|
5927
5799
|
|
|
5928
5800
|
// src/components/MonthPicker/MonthPicker.tsx
|
|
5929
|
-
import
|
|
5801
|
+
import React45, { forwardRef as forwardRef9, useCallback as useCallback24, useEffect as useEffect12, useImperativeHandle as useImperativeHandle4, useRef as useRef10, useState as useState15 } from "react";
|
|
5930
5802
|
import CalendarTodayIcon3 from "@mui/icons-material/CalendarToday";
|
|
5931
5803
|
import { styled as styled22, useThemeProps as useThemeProps7 } from "@mui/joy";
|
|
5932
5804
|
import { FocusTrap as FocusTrap3, ClickAwayListener as ClickAwayListener3, Popper as Popper4 } from "@mui/base";
|
|
@@ -6013,9 +5885,9 @@ var MonthPicker = forwardRef9((inProps, ref) => {
|
|
|
6013
5885
|
const [value, setValue, isControlled] = useControlledState(
|
|
6014
5886
|
props.value,
|
|
6015
5887
|
props.defaultValue || "",
|
|
6016
|
-
|
|
5888
|
+
useCallback24((value2) => onChange?.({ target: { name: props.name, value: value2 } }), [props.name, onChange])
|
|
6017
5889
|
);
|
|
6018
|
-
const getFormattedDisplayValue =
|
|
5890
|
+
const getFormattedDisplayValue = useCallback24(
|
|
6019
5891
|
(inputValue) => {
|
|
6020
5892
|
if (!inputValue) return "";
|
|
6021
5893
|
try {
|
|
@@ -6038,7 +5910,7 @@ var MonthPicker = forwardRef9((inProps, ref) => {
|
|
|
6038
5910
|
useEffect12(() => {
|
|
6039
5911
|
setDisplayValue(getFormattedDisplayValue(value));
|
|
6040
5912
|
}, [value, getFormattedDisplayValue]);
|
|
6041
|
-
const handleChange =
|
|
5913
|
+
const handleChange = useCallback24(
|
|
6042
5914
|
(event) => {
|
|
6043
5915
|
const newValue = event.target.value;
|
|
6044
5916
|
setValue(newValue);
|
|
@@ -6048,21 +5920,21 @@ var MonthPicker = forwardRef9((inProps, ref) => {
|
|
|
6048
5920
|
},
|
|
6049
5921
|
[setValue, getFormattedDisplayValue, isControlled]
|
|
6050
5922
|
);
|
|
6051
|
-
const handleCalendarToggle =
|
|
5923
|
+
const handleCalendarToggle = useCallback24(
|
|
6052
5924
|
(event) => {
|
|
6053
5925
|
setAnchorEl(anchorEl ? null : event.currentTarget);
|
|
6054
5926
|
innerRef.current?.focus();
|
|
6055
5927
|
},
|
|
6056
5928
|
[anchorEl, setAnchorEl, innerRef]
|
|
6057
5929
|
);
|
|
6058
|
-
const handleInputMouseDown =
|
|
5930
|
+
const handleInputMouseDown = useCallback24(
|
|
6059
5931
|
(event) => {
|
|
6060
5932
|
event.preventDefault();
|
|
6061
5933
|
buttonRef.current?.focus();
|
|
6062
5934
|
},
|
|
6063
5935
|
[buttonRef]
|
|
6064
5936
|
);
|
|
6065
|
-
return /* @__PURE__ */
|
|
5937
|
+
return /* @__PURE__ */ React45.createElement(MonthPickerRoot, null, /* @__PURE__ */ React45.createElement(FocusTrap3, { open: true }, /* @__PURE__ */ React45.createElement(React45.Fragment, null, /* @__PURE__ */ React45.createElement(
|
|
6066
5938
|
Input_default,
|
|
6067
5939
|
{
|
|
6068
5940
|
...innerProps,
|
|
@@ -6092,7 +5964,7 @@ var MonthPicker = forwardRef9((inProps, ref) => {
|
|
|
6092
5964
|
// NOTE: placeholder char 를 텍스트로 표시하므로 동일한 너비를 가지는 mono font 를 사용해야 이질감이 없다.
|
|
6093
5965
|
fontFamily: "monospace"
|
|
6094
5966
|
},
|
|
6095
|
-
endDecorator: /* @__PURE__ */
|
|
5967
|
+
endDecorator: /* @__PURE__ */ React45.createElement(
|
|
6096
5968
|
IconButton_default,
|
|
6097
5969
|
{
|
|
6098
5970
|
ref: buttonRef,
|
|
@@ -6104,12 +5976,12 @@ var MonthPicker = forwardRef9((inProps, ref) => {
|
|
|
6104
5976
|
"aria-expanded": open,
|
|
6105
5977
|
disabled
|
|
6106
5978
|
},
|
|
6107
|
-
/* @__PURE__ */
|
|
5979
|
+
/* @__PURE__ */ React45.createElement(CalendarTodayIcon3, null)
|
|
6108
5980
|
),
|
|
6109
5981
|
label,
|
|
6110
5982
|
helperText
|
|
6111
5983
|
}
|
|
6112
|
-
), open && /* @__PURE__ */
|
|
5984
|
+
), open && /* @__PURE__ */ React45.createElement(ClickAwayListener3, { onClickAway: () => setAnchorEl(null) }, /* @__PURE__ */ React45.createElement(
|
|
6113
5985
|
StyledPopper3,
|
|
6114
5986
|
{
|
|
6115
5987
|
id: "month-picker-popper",
|
|
@@ -6128,7 +6000,7 @@ var MonthPicker = forwardRef9((inProps, ref) => {
|
|
|
6128
6000
|
"aria-label": "Calendar Tooltip",
|
|
6129
6001
|
"aria-expanded": open
|
|
6130
6002
|
},
|
|
6131
|
-
/* @__PURE__ */
|
|
6003
|
+
/* @__PURE__ */ React45.createElement(CalendarSheet3, { tabIndex: -1, role: "presentation" }, /* @__PURE__ */ React45.createElement(
|
|
6132
6004
|
Calendar_default,
|
|
6133
6005
|
{
|
|
6134
6006
|
view: "month",
|
|
@@ -6149,14 +6021,14 @@ var MonthPicker = forwardRef9((inProps, ref) => {
|
|
|
6149
6021
|
disablePast,
|
|
6150
6022
|
locale
|
|
6151
6023
|
}
|
|
6152
|
-
), /* @__PURE__ */
|
|
6024
|
+
), /* @__PURE__ */ React45.createElement(
|
|
6153
6025
|
DialogActions_default,
|
|
6154
6026
|
{
|
|
6155
6027
|
sx: {
|
|
6156
6028
|
p: 1
|
|
6157
6029
|
}
|
|
6158
6030
|
},
|
|
6159
|
-
/* @__PURE__ */
|
|
6031
|
+
/* @__PURE__ */ React45.createElement(
|
|
6160
6032
|
Button_default,
|
|
6161
6033
|
{
|
|
6162
6034
|
size,
|
|
@@ -6179,7 +6051,7 @@ var MonthPicker = forwardRef9((inProps, ref) => {
|
|
|
6179
6051
|
});
|
|
6180
6052
|
|
|
6181
6053
|
// src/components/MonthRangePicker/MonthRangePicker.tsx
|
|
6182
|
-
import
|
|
6054
|
+
import React46, { forwardRef as forwardRef10, useCallback as useCallback25, useEffect as useEffect13, useImperativeHandle as useImperativeHandle5, useMemo as useMemo16, useRef as useRef11, useState as useState16 } from "react";
|
|
6183
6055
|
import { IMaskInput as IMaskInput3, IMask as IMask3 } from "react-imask";
|
|
6184
6056
|
import CalendarTodayIcon4 from "@mui/icons-material/CalendarToday";
|
|
6185
6057
|
import { styled as styled23, useThemeProps as useThemeProps8 } from "@mui/joy";
|
|
@@ -6237,9 +6109,9 @@ var parseDates2 = (str) => {
|
|
|
6237
6109
|
var formatToPattern3 = (format) => {
|
|
6238
6110
|
return `${format} - ${format}`.replace(/YYYY/g, "Y").replace(/MM/g, "m").replace(/[^YMm\s]/g, (match) => `${match}\``);
|
|
6239
6111
|
};
|
|
6240
|
-
var TextMaskAdapter9 =
|
|
6112
|
+
var TextMaskAdapter9 = React46.forwardRef(function TextMaskAdapter10(props, ref) {
|
|
6241
6113
|
const { onChange, format, ...other } = props;
|
|
6242
|
-
return /* @__PURE__ */
|
|
6114
|
+
return /* @__PURE__ */ React46.createElement(
|
|
6243
6115
|
IMaskInput3,
|
|
6244
6116
|
{
|
|
6245
6117
|
...other,
|
|
@@ -6291,7 +6163,7 @@ var MonthRangePicker = forwardRef10((inProps, ref) => {
|
|
|
6291
6163
|
const [value, setValue] = useControlledState(
|
|
6292
6164
|
props.value,
|
|
6293
6165
|
props.defaultValue || "",
|
|
6294
|
-
|
|
6166
|
+
useCallback25((value2) => onChange?.({ target: { name: props.name, value: value2 } }), [props.name, onChange])
|
|
6295
6167
|
);
|
|
6296
6168
|
const [anchorEl, setAnchorEl] = useState16(null);
|
|
6297
6169
|
const open = Boolean(anchorEl);
|
|
@@ -6302,20 +6174,20 @@ var MonthRangePicker = forwardRef10((inProps, ref) => {
|
|
|
6302
6174
|
}
|
|
6303
6175
|
}, [anchorEl, innerRef]);
|
|
6304
6176
|
useImperativeHandle5(ref, () => innerRef.current, [innerRef]);
|
|
6305
|
-
const handleChange =
|
|
6177
|
+
const handleChange = useCallback25(
|
|
6306
6178
|
(event) => {
|
|
6307
6179
|
setValue(event.target.value);
|
|
6308
6180
|
},
|
|
6309
6181
|
[setValue]
|
|
6310
6182
|
);
|
|
6311
|
-
const handleCalendarToggle =
|
|
6183
|
+
const handleCalendarToggle = useCallback25(
|
|
6312
6184
|
(event) => {
|
|
6313
6185
|
setAnchorEl(anchorEl ? null : event.currentTarget);
|
|
6314
6186
|
innerRef.current?.focus();
|
|
6315
6187
|
},
|
|
6316
6188
|
[anchorEl, setAnchorEl, innerRef]
|
|
6317
6189
|
);
|
|
6318
|
-
const handleCalendarChange =
|
|
6190
|
+
const handleCalendarChange = useCallback25(
|
|
6319
6191
|
([date1, date2]) => {
|
|
6320
6192
|
if (!date1 || !date2) return;
|
|
6321
6193
|
setValue(formatValueString4([date1, date2], format));
|
|
@@ -6323,7 +6195,7 @@ var MonthRangePicker = forwardRef10((inProps, ref) => {
|
|
|
6323
6195
|
},
|
|
6324
6196
|
[setValue, setAnchorEl, format]
|
|
6325
6197
|
);
|
|
6326
|
-
return /* @__PURE__ */
|
|
6198
|
+
return /* @__PURE__ */ React46.createElement(MonthRangePickerRoot, null, /* @__PURE__ */ React46.createElement(FocusTrap4, { open: true }, /* @__PURE__ */ React46.createElement(React46.Fragment, null, /* @__PURE__ */ React46.createElement(
|
|
6327
6199
|
Input_default,
|
|
6328
6200
|
{
|
|
6329
6201
|
...innerProps,
|
|
@@ -6345,7 +6217,7 @@ var MonthRangePicker = forwardRef10((inProps, ref) => {
|
|
|
6345
6217
|
// NOTE: placeholder char 를 텍스트로 표시하므로 동일한 너비를 가지는 mono font 를 사용해야 이질감이 없다.
|
|
6346
6218
|
fontFamily: "monospace"
|
|
6347
6219
|
},
|
|
6348
|
-
endDecorator: /* @__PURE__ */
|
|
6220
|
+
endDecorator: /* @__PURE__ */ React46.createElement(
|
|
6349
6221
|
IconButton_default,
|
|
6350
6222
|
{
|
|
6351
6223
|
variant: "plain",
|
|
@@ -6355,12 +6227,12 @@ var MonthRangePicker = forwardRef10((inProps, ref) => {
|
|
|
6355
6227
|
"aria-haspopup": "dialog",
|
|
6356
6228
|
"aria-expanded": open
|
|
6357
6229
|
},
|
|
6358
|
-
/* @__PURE__ */
|
|
6230
|
+
/* @__PURE__ */ React46.createElement(CalendarTodayIcon4, null)
|
|
6359
6231
|
),
|
|
6360
6232
|
label,
|
|
6361
6233
|
helperText
|
|
6362
6234
|
}
|
|
6363
|
-
), open && /* @__PURE__ */
|
|
6235
|
+
), open && /* @__PURE__ */ React46.createElement(ClickAwayListener4, { onClickAway: () => setAnchorEl(null) }, /* @__PURE__ */ React46.createElement(
|
|
6364
6236
|
StyledPopper4,
|
|
6365
6237
|
{
|
|
6366
6238
|
id: "month-range-picker-popper",
|
|
@@ -6379,7 +6251,7 @@ var MonthRangePicker = forwardRef10((inProps, ref) => {
|
|
|
6379
6251
|
"aria-label": "Calendar Tooltip",
|
|
6380
6252
|
"aria-expanded": open
|
|
6381
6253
|
},
|
|
6382
|
-
/* @__PURE__ */
|
|
6254
|
+
/* @__PURE__ */ React46.createElement(CalendarSheet4, { tabIndex: -1, role: "presentation" }, /* @__PURE__ */ React46.createElement(
|
|
6383
6255
|
Calendar_default,
|
|
6384
6256
|
{
|
|
6385
6257
|
view: "month",
|
|
@@ -6392,14 +6264,14 @@ var MonthRangePicker = forwardRef10((inProps, ref) => {
|
|
|
6392
6264
|
disableFuture,
|
|
6393
6265
|
disablePast
|
|
6394
6266
|
}
|
|
6395
|
-
), /* @__PURE__ */
|
|
6267
|
+
), /* @__PURE__ */ React46.createElement(
|
|
6396
6268
|
DialogActions_default,
|
|
6397
6269
|
{
|
|
6398
6270
|
sx: {
|
|
6399
6271
|
p: 1
|
|
6400
6272
|
}
|
|
6401
6273
|
},
|
|
6402
|
-
/* @__PURE__ */
|
|
6274
|
+
/* @__PURE__ */ React46.createElement(
|
|
6403
6275
|
Button_default,
|
|
6404
6276
|
{
|
|
6405
6277
|
size,
|
|
@@ -6418,14 +6290,14 @@ var MonthRangePicker = forwardRef10((inProps, ref) => {
|
|
|
6418
6290
|
MonthRangePicker.displayName = "MonthRangePicker";
|
|
6419
6291
|
|
|
6420
6292
|
// src/components/NavigationGroup/NavigationGroup.tsx
|
|
6421
|
-
import
|
|
6293
|
+
import React47 from "react";
|
|
6422
6294
|
import {
|
|
6423
6295
|
Accordion as JoyAccordion2,
|
|
6424
6296
|
AccordionSummary as JoyAccordionSummary2,
|
|
6425
6297
|
AccordionDetails as JoyAccordionDetails2,
|
|
6426
6298
|
styled as styled24,
|
|
6427
6299
|
accordionSummaryClasses,
|
|
6428
|
-
Stack as
|
|
6300
|
+
Stack as Stack11
|
|
6429
6301
|
} from "@mui/joy";
|
|
6430
6302
|
var AccordionSummary2 = styled24(JoyAccordionSummary2, {
|
|
6431
6303
|
name: "NavigationGroup",
|
|
@@ -6449,11 +6321,11 @@ var AccordionDetails2 = styled24(JoyAccordionDetails2, {
|
|
|
6449
6321
|
}));
|
|
6450
6322
|
function NavigationGroup(props) {
|
|
6451
6323
|
const { title, children, startDecorator, level, ...rest } = props;
|
|
6452
|
-
return /* @__PURE__ */
|
|
6324
|
+
return /* @__PURE__ */ React47.createElement(JoyAccordion2, { ...rest }, /* @__PURE__ */ React47.createElement(AccordionSummary2, { useIcon: !!startDecorator, level }, /* @__PURE__ */ React47.createElement(Stack11, { direction: "row", gap: 4 }, startDecorator, title)), /* @__PURE__ */ React47.createElement(AccordionDetails2, null, children));
|
|
6453
6325
|
}
|
|
6454
6326
|
|
|
6455
6327
|
// src/components/NavigationItem/NavigationItem.tsx
|
|
6456
|
-
import
|
|
6328
|
+
import React48 from "react";
|
|
6457
6329
|
import {
|
|
6458
6330
|
ListItem as JoyListItem,
|
|
6459
6331
|
ListItemButton as JoyListItemButton,
|
|
@@ -6488,7 +6360,7 @@ function NavigationItem(props) {
|
|
|
6488
6360
|
const handleClick = () => {
|
|
6489
6361
|
onClick?.(id);
|
|
6490
6362
|
};
|
|
6491
|
-
return /* @__PURE__ */
|
|
6363
|
+
return /* @__PURE__ */ React48.createElement(JoyListItem, { ...rest }, /* @__PURE__ */ React48.createElement(
|
|
6492
6364
|
ListItemButton,
|
|
6493
6365
|
{
|
|
6494
6366
|
level,
|
|
@@ -6497,21 +6369,21 @@ function NavigationItem(props) {
|
|
|
6497
6369
|
"aria-current": selected,
|
|
6498
6370
|
onClick: handleClick
|
|
6499
6371
|
},
|
|
6500
|
-
startDecorator && /* @__PURE__ */
|
|
6372
|
+
startDecorator && /* @__PURE__ */ React48.createElement(JoyListItemDecorator, null, startDecorator),
|
|
6501
6373
|
children
|
|
6502
6374
|
));
|
|
6503
6375
|
}
|
|
6504
6376
|
|
|
6505
6377
|
// src/components/Navigator/Navigator.tsx
|
|
6506
|
-
import
|
|
6378
|
+
import React49 from "react";
|
|
6507
6379
|
function Navigator(props) {
|
|
6508
6380
|
const { items, level = 0, onSelect } = props;
|
|
6509
6381
|
const handleItemClick = (id) => {
|
|
6510
6382
|
onSelect?.(id);
|
|
6511
6383
|
};
|
|
6512
|
-
return /* @__PURE__ */
|
|
6384
|
+
return /* @__PURE__ */ React49.createElement("div", null, items.map((item, index) => {
|
|
6513
6385
|
if (item.type === "item") {
|
|
6514
|
-
return /* @__PURE__ */
|
|
6386
|
+
return /* @__PURE__ */ React49.createElement(
|
|
6515
6387
|
NavigationItem,
|
|
6516
6388
|
{
|
|
6517
6389
|
key: item.id,
|
|
@@ -6524,7 +6396,7 @@ function Navigator(props) {
|
|
|
6524
6396
|
item.title
|
|
6525
6397
|
);
|
|
6526
6398
|
} else if (item.type === "group") {
|
|
6527
|
-
return /* @__PURE__ */
|
|
6399
|
+
return /* @__PURE__ */ React49.createElement(
|
|
6528
6400
|
NavigationGroup,
|
|
6529
6401
|
{
|
|
6530
6402
|
key: `${item.title}-${index}`,
|
|
@@ -6542,7 +6414,7 @@ function Navigator(props) {
|
|
|
6542
6414
|
Navigator.displayName = "Navigator";
|
|
6543
6415
|
|
|
6544
6416
|
// src/components/ProfileMenu/ProfileMenu.tsx
|
|
6545
|
-
import
|
|
6417
|
+
import React50, { useCallback as useCallback26, useMemo as useMemo17 } from "react";
|
|
6546
6418
|
import { Dropdown as Dropdown2, ListDivider, menuItemClasses, styled as styled26, MenuButton as MenuButton2 } from "@mui/joy";
|
|
6547
6419
|
import { ClickAwayListener as ClickAwayListener5 } from "@mui/base";
|
|
6548
6420
|
import DropdownIcon from "@mui/icons-material/ArrowDropDown";
|
|
@@ -6554,7 +6426,7 @@ function ProfileCard(props) {
|
|
|
6554
6426
|
const { children, chip, caption, size } = props;
|
|
6555
6427
|
const captionLevel = useMemo17(() => size === "sm" ? "body-xs" : "body-sm", [size]);
|
|
6556
6428
|
const nameLevel = useMemo17(() => size === "sm" ? "body-sm" : "body-md", [size]);
|
|
6557
|
-
return /* @__PURE__ */
|
|
6429
|
+
return /* @__PURE__ */ React50.createElement(StyledProfileCard, { px: 4, py: 2 }, /* @__PURE__ */ React50.createElement(Stack, { direction: "row", gap: 2 }, /* @__PURE__ */ React50.createElement(Typography, { level: nameLevel, fontWeight: "bold", textColor: "text.primary" }, children), chip && /* @__PURE__ */ React50.createElement(Chip, { size, color: "neutral", variant: "outlined" }, chip)), caption && /* @__PURE__ */ React50.createElement(Typography, { level: captionLevel, textColor: "text.tertiary" }, caption));
|
|
6558
6430
|
}
|
|
6559
6431
|
ProfileCard.displayName = "ProfileCard";
|
|
6560
6432
|
var StyledProfileMenuButton = styled26(MenuButton2, {
|
|
@@ -6566,16 +6438,16 @@ var StyledProfileMenuButton = styled26(MenuButton2, {
|
|
|
6566
6438
|
}));
|
|
6567
6439
|
function ProfileMenuButton(props) {
|
|
6568
6440
|
const { size = "md", src, alt, children, getInitial, ...innerProps } = props;
|
|
6569
|
-
return /* @__PURE__ */
|
|
6441
|
+
return /* @__PURE__ */ React50.createElement(
|
|
6570
6442
|
StyledProfileMenuButton,
|
|
6571
6443
|
{
|
|
6572
6444
|
variant: "plain",
|
|
6573
6445
|
color: "neutral",
|
|
6574
6446
|
size,
|
|
6575
|
-
endDecorator: /* @__PURE__ */
|
|
6447
|
+
endDecorator: /* @__PURE__ */ React50.createElement(DropdownIcon, null),
|
|
6576
6448
|
...innerProps
|
|
6577
6449
|
},
|
|
6578
|
-
/* @__PURE__ */
|
|
6450
|
+
/* @__PURE__ */ React50.createElement(Avatar, { variant: "soft", color: "primary", size, src, alt, getInitial }, children)
|
|
6579
6451
|
);
|
|
6580
6452
|
}
|
|
6581
6453
|
ProfileMenuButton.displayName = "ProfileMenuButton";
|
|
@@ -6594,9 +6466,9 @@ function ProfileMenu(props) {
|
|
|
6594
6466
|
const [open, setOpen] = useControlledState(
|
|
6595
6467
|
_open,
|
|
6596
6468
|
defaultOpen ?? false,
|
|
6597
|
-
|
|
6469
|
+
useCallback26((value) => onOpenChange?.(value), [onOpenChange])
|
|
6598
6470
|
);
|
|
6599
|
-
return /* @__PURE__ */
|
|
6471
|
+
return /* @__PURE__ */ React50.createElement(ClickAwayListener5, { onClickAway: () => setOpen(false) }, /* @__PURE__ */ React50.createElement("div", null, /* @__PURE__ */ React50.createElement(Dropdown2, { open }, /* @__PURE__ */ React50.createElement(
|
|
6600
6472
|
ProfileMenuButton,
|
|
6601
6473
|
{
|
|
6602
6474
|
size,
|
|
@@ -6606,7 +6478,7 @@ function ProfileMenu(props) {
|
|
|
6606
6478
|
getInitial
|
|
6607
6479
|
},
|
|
6608
6480
|
profile.name
|
|
6609
|
-
), /* @__PURE__ */
|
|
6481
|
+
), /* @__PURE__ */ React50.createElement(ProfileMenuRoot, { size, placement: "bottom-end", ...innerProps, onClose: () => setOpen(false) }, /* @__PURE__ */ React50.createElement(ProfileCard, { size, caption: profile.caption, chip: profile.chip }, profile.name), !!menuItems.length && /* @__PURE__ */ React50.createElement(ListDivider, null), menuItems.map(({ label, ...menuProps }) => /* @__PURE__ */ React50.createElement(
|
|
6610
6482
|
MenuItem,
|
|
6611
6483
|
{
|
|
6612
6484
|
key: label,
|
|
@@ -6622,7 +6494,7 @@ function ProfileMenu(props) {
|
|
|
6622
6494
|
ProfileMenu.displayName = "ProfileMenu";
|
|
6623
6495
|
|
|
6624
6496
|
// src/components/RadioTileGroup/RadioTileGroup.tsx
|
|
6625
|
-
import
|
|
6497
|
+
import React51 from "react";
|
|
6626
6498
|
import { styled as styled27, radioClasses, sheetClasses } from "@mui/joy";
|
|
6627
6499
|
var RadioTileGroupRoot = styled27(RadioGroup, {
|
|
6628
6500
|
name: "RadioTileGroup",
|
|
@@ -6710,7 +6582,7 @@ function RadioTileGroup(props) {
|
|
|
6710
6582
|
error,
|
|
6711
6583
|
required
|
|
6712
6584
|
} = props;
|
|
6713
|
-
const radioGroup = /* @__PURE__ */
|
|
6585
|
+
const radioGroup = /* @__PURE__ */ React51.createElement(
|
|
6714
6586
|
RadioTileGroupRoot,
|
|
6715
6587
|
{
|
|
6716
6588
|
overlay: true,
|
|
@@ -6721,7 +6593,7 @@ function RadioTileGroup(props) {
|
|
|
6721
6593
|
flex,
|
|
6722
6594
|
columns
|
|
6723
6595
|
},
|
|
6724
|
-
options.map((option) => /* @__PURE__ */
|
|
6596
|
+
options.map((option) => /* @__PURE__ */ React51.createElement(
|
|
6725
6597
|
RadioTileSheet,
|
|
6726
6598
|
{
|
|
6727
6599
|
key: option.value,
|
|
@@ -6731,7 +6603,7 @@ function RadioTileGroup(props) {
|
|
|
6731
6603
|
flex,
|
|
6732
6604
|
textAlign
|
|
6733
6605
|
},
|
|
6734
|
-
/* @__PURE__ */
|
|
6606
|
+
/* @__PURE__ */ React51.createElement(
|
|
6735
6607
|
Radio,
|
|
6736
6608
|
{
|
|
6737
6609
|
id: `${option.value}`,
|
|
@@ -6759,7 +6631,7 @@ function RadioTileGroup(props) {
|
|
|
6759
6631
|
}
|
|
6760
6632
|
}
|
|
6761
6633
|
),
|
|
6762
|
-
option.startDecorator && /* @__PURE__ */
|
|
6634
|
+
option.startDecorator && /* @__PURE__ */ React51.createElement(
|
|
6763
6635
|
Box_default,
|
|
6764
6636
|
{
|
|
6765
6637
|
sx: {
|
|
@@ -6780,20 +6652,20 @@ function RadioTileGroup(props) {
|
|
|
6780
6652
|
)
|
|
6781
6653
|
))
|
|
6782
6654
|
);
|
|
6783
|
-
return /* @__PURE__ */
|
|
6655
|
+
return /* @__PURE__ */ React51.createElement(FormControl_default, { required, disabled: allDisabled, error, size, sx, className }, label && /* @__PURE__ */ React51.createElement(FormLabel_default, null, label), radioGroup, helperText && /* @__PURE__ */ React51.createElement(FormHelperText_default, null, helperText));
|
|
6784
6656
|
}
|
|
6785
6657
|
RadioTileGroup.displayName = "RadioTileGroup";
|
|
6786
6658
|
|
|
6787
6659
|
// src/components/RadioList/RadioList.tsx
|
|
6788
|
-
import
|
|
6660
|
+
import React52 from "react";
|
|
6789
6661
|
function RadioList(props) {
|
|
6790
6662
|
const { items, ...innerProps } = props;
|
|
6791
|
-
return /* @__PURE__ */
|
|
6663
|
+
return /* @__PURE__ */ React52.createElement(RadioGroup, { ...innerProps }, items.map((item) => /* @__PURE__ */ React52.createElement(Radio, { key: `${item.value}`, value: item.value, label: item.label })));
|
|
6792
6664
|
}
|
|
6793
6665
|
RadioList.displayName = "RadioList";
|
|
6794
6666
|
|
|
6795
6667
|
// src/components/Stepper/Stepper.tsx
|
|
6796
|
-
import
|
|
6668
|
+
import React53 from "react";
|
|
6797
6669
|
import {
|
|
6798
6670
|
Stepper as JoyStepper,
|
|
6799
6671
|
Step as JoyStep,
|
|
@@ -6829,7 +6701,7 @@ function Stepper(props) {
|
|
|
6829
6701
|
stepOrientation = "horizontal"
|
|
6830
6702
|
} = props;
|
|
6831
6703
|
const effectiveStepOrientation = orientation === "vertical" ? "horizontal" : stepOrientation;
|
|
6832
|
-
return /* @__PURE__ */
|
|
6704
|
+
return /* @__PURE__ */ React53.createElement(
|
|
6833
6705
|
MotionStepper,
|
|
6834
6706
|
{
|
|
6835
6707
|
orientation,
|
|
@@ -6868,23 +6740,23 @@ function Stepper(props) {
|
|
|
6868
6740
|
const completed = activeStep > i + 1;
|
|
6869
6741
|
const disabled = activeStep < i + 1;
|
|
6870
6742
|
const hasContent = step.label || step.extraContent;
|
|
6871
|
-
return /* @__PURE__ */
|
|
6743
|
+
return /* @__PURE__ */ React53.createElement(
|
|
6872
6744
|
Step,
|
|
6873
6745
|
{
|
|
6874
6746
|
key: `step-${i}`,
|
|
6875
|
-
indicator: /* @__PURE__ */
|
|
6747
|
+
indicator: /* @__PURE__ */ React53.createElement(StepIndicator, { variant: disabled ? "outlined" : "solid", color: disabled ? "neutral" : "primary" }, completed ? /* @__PURE__ */ React53.createElement(CheckIcon, null) : step.indicatorContent),
|
|
6876
6748
|
active,
|
|
6877
6749
|
completed,
|
|
6878
6750
|
disabled,
|
|
6879
6751
|
orientation: effectiveStepOrientation
|
|
6880
6752
|
},
|
|
6881
|
-
hasContent && /* @__PURE__ */
|
|
6753
|
+
hasContent && /* @__PURE__ */ React53.createElement(
|
|
6882
6754
|
Stack_default,
|
|
6883
6755
|
{
|
|
6884
6756
|
sx: orientation === "horizontal" && effectiveStepOrientation === "vertical" ? { alignItems: "center" } : {}
|
|
6885
6757
|
},
|
|
6886
|
-
step.label && /* @__PURE__ */
|
|
6887
|
-
step.extraContent && /* @__PURE__ */
|
|
6758
|
+
step.label && /* @__PURE__ */ React53.createElement(Typography_default, { level: "title-sm" }, step.label),
|
|
6759
|
+
step.extraContent && /* @__PURE__ */ React53.createElement(Typography_default, { level: "body-xs" }, step.extraContent)
|
|
6888
6760
|
)
|
|
6889
6761
|
);
|
|
6890
6762
|
})
|
|
@@ -6893,7 +6765,7 @@ function Stepper(props) {
|
|
|
6893
6765
|
Stepper.displayName = "Stepper";
|
|
6894
6766
|
|
|
6895
6767
|
// src/components/Switch/Switch.tsx
|
|
6896
|
-
import
|
|
6768
|
+
import React54 from "react";
|
|
6897
6769
|
import { Switch as JoySwitch, styled as styled29, switchClasses } from "@mui/joy";
|
|
6898
6770
|
import { motion as motion27 } from "framer-motion";
|
|
6899
6771
|
var MotionSwitch = motion27(JoySwitch);
|
|
@@ -6915,14 +6787,14 @@ var StyledThumb = styled29(motion27.div)({
|
|
|
6915
6787
|
right: "var(--Switch-thumbOffset)"
|
|
6916
6788
|
}
|
|
6917
6789
|
});
|
|
6918
|
-
var Thumb = (props) => /* @__PURE__ */
|
|
6790
|
+
var Thumb = (props) => /* @__PURE__ */ React54.createElement(StyledThumb, { ...props, layout: true, transition: spring });
|
|
6919
6791
|
var spring = {
|
|
6920
6792
|
type: "spring",
|
|
6921
6793
|
stiffness: 700,
|
|
6922
6794
|
damping: 30
|
|
6923
6795
|
};
|
|
6924
6796
|
var Switch = (props) => {
|
|
6925
|
-
return /* @__PURE__ */
|
|
6797
|
+
return /* @__PURE__ */ React54.createElement(
|
|
6926
6798
|
MotionSwitch,
|
|
6927
6799
|
{
|
|
6928
6800
|
...props,
|
|
@@ -6936,7 +6808,7 @@ var Switch = (props) => {
|
|
|
6936
6808
|
Switch.displayName = "Switch";
|
|
6937
6809
|
|
|
6938
6810
|
// src/components/Tabs/Tabs.tsx
|
|
6939
|
-
import
|
|
6811
|
+
import React55, { forwardRef as forwardRef11 } from "react";
|
|
6940
6812
|
import {
|
|
6941
6813
|
Tabs as JoyTabs,
|
|
6942
6814
|
Tab as JoyTab,
|
|
@@ -6960,14 +6832,14 @@ var StyledTab = styled30(JoyTab)(({ theme }) => ({
|
|
|
6960
6832
|
}
|
|
6961
6833
|
}));
|
|
6962
6834
|
var Tab = forwardRef11(function Tab2({ startDecorator, endDecorator, children, ...props }, ref) {
|
|
6963
|
-
return /* @__PURE__ */
|
|
6835
|
+
return /* @__PURE__ */ React55.createElement(StyledTab, { ...props, ref }, startDecorator, children, endDecorator);
|
|
6964
6836
|
});
|
|
6965
6837
|
Tab.displayName = "Tab";
|
|
6966
6838
|
var TabList = JoyTabList;
|
|
6967
6839
|
var TabPanel = JoyTabPanel;
|
|
6968
6840
|
|
|
6969
6841
|
// src/components/ThemeProvider/ThemeProvider.tsx
|
|
6970
|
-
import
|
|
6842
|
+
import React56 from "react";
|
|
6971
6843
|
import { CssBaseline, CssVarsProvider, checkboxClasses, extendTheme, inputClasses } from "@mui/joy";
|
|
6972
6844
|
var colorScheme = {
|
|
6973
6845
|
palette: {
|
|
@@ -7246,7 +7118,7 @@ var defaultTheme = extendTheme({
|
|
|
7246
7118
|
});
|
|
7247
7119
|
function ThemeProvider(props) {
|
|
7248
7120
|
const theme = props.theme || defaultTheme;
|
|
7249
|
-
return /* @__PURE__ */
|
|
7121
|
+
return /* @__PURE__ */ React56.createElement(React56.Fragment, null, /* @__PURE__ */ React56.createElement(CssVarsProvider, { theme }, /* @__PURE__ */ React56.createElement(CssBaseline, null), props.children));
|
|
7250
7122
|
}
|
|
7251
7123
|
ThemeProvider.displayName = "ThemeProvider";
|
|
7252
7124
|
export {
|