@mamrp/components 1.0.20 → 1.0.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.mts +6 -1
- package/dist/index.d.ts +6 -1
- package/dist/index.js +94 -40
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +108 -47
- package/dist/index.mjs.map +1 -1
- package/package.json +71 -71
package/dist/index.d.mts
CHANGED
|
@@ -48,8 +48,13 @@ interface ConfirmationDialogProps$1 {
|
|
|
48
48
|
callbackParams: any;
|
|
49
49
|
headerText: string;
|
|
50
50
|
bodyText: ReactNode;
|
|
51
|
+
isLoading?: boolean;
|
|
52
|
+
maxWidth: "xs" | "sm" | "md" | "lg" | "xl";
|
|
53
|
+
iconColor: string;
|
|
54
|
+
color: "error" | "info" | "primary" | "success" | "warning" | "secondary";
|
|
55
|
+
actionTitle: string;
|
|
51
56
|
}
|
|
52
|
-
declare function ConfirmationDialog$1({ open, handleClose, callback, callbackParams, headerText, bodyText, }: ConfirmationDialogProps$1): React.JSX.Element;
|
|
57
|
+
declare function ConfirmationDialog$1({ open, handleClose, callback, callbackParams, headerText, bodyText, isLoading, maxWidth, iconColor, color, actionTitle, }: ConfirmationDialogProps$1): React.JSX.Element;
|
|
53
58
|
|
|
54
59
|
interface CustomTimePickerProps {
|
|
55
60
|
name: string;
|
package/dist/index.d.ts
CHANGED
|
@@ -48,8 +48,13 @@ interface ConfirmationDialogProps$1 {
|
|
|
48
48
|
callbackParams: any;
|
|
49
49
|
headerText: string;
|
|
50
50
|
bodyText: ReactNode;
|
|
51
|
+
isLoading?: boolean;
|
|
52
|
+
maxWidth: "xs" | "sm" | "md" | "lg" | "xl";
|
|
53
|
+
iconColor: string;
|
|
54
|
+
color: "error" | "info" | "primary" | "success" | "warning" | "secondary";
|
|
55
|
+
actionTitle: string;
|
|
51
56
|
}
|
|
52
|
-
declare function ConfirmationDialog$1({ open, handleClose, callback, callbackParams, headerText, bodyText, }: ConfirmationDialogProps$1): React.JSX.Element;
|
|
57
|
+
declare function ConfirmationDialog$1({ open, handleClose, callback, callbackParams, headerText, bodyText, isLoading, maxWidth, iconColor, color, actionTitle, }: ConfirmationDialogProps$1): React.JSX.Element;
|
|
53
58
|
|
|
54
59
|
interface CustomTimePickerProps {
|
|
55
60
|
name: string;
|
package/dist/index.js
CHANGED
|
@@ -173,6 +173,12 @@ function LicensePlate({
|
|
|
173
173
|
}
|
|
174
174
|
}, [data]);
|
|
175
175
|
const handleInputChange = (enteredInput, inputName, maxlength, minLength) => {
|
|
176
|
+
if (inputName !== "input2") {
|
|
177
|
+
const englishInput = (0, import_utils.convertToEnglishDigits)(enteredInput);
|
|
178
|
+
if (!/^\d*$/.test(englishInput)) {
|
|
179
|
+
return;
|
|
180
|
+
}
|
|
181
|
+
}
|
|
176
182
|
const newInputValues = {
|
|
177
183
|
...inputValues,
|
|
178
184
|
[inputName]: enteredInput
|
|
@@ -268,7 +274,13 @@ function LicensePlate({
|
|
|
268
274
|
cursor: readOnly || !!data && readOnly ? "" : "text"
|
|
269
275
|
},
|
|
270
276
|
value: (0, import_utils.convertToPersianDigits)(inputValues.input1),
|
|
271
|
-
onChange: (e) =>
|
|
277
|
+
onChange: (e) => {
|
|
278
|
+
const value = e.target.value;
|
|
279
|
+
const englishValue = (0, import_utils.convertToEnglishDigits)(value);
|
|
280
|
+
if (/^\d*$/.test(englishValue)) {
|
|
281
|
+
handleInputChange(value, "input1", 2);
|
|
282
|
+
}
|
|
283
|
+
}
|
|
272
284
|
}
|
|
273
285
|
),
|
|
274
286
|
/* @__PURE__ */ React.createElement(
|
|
@@ -415,7 +427,13 @@ function LicensePlate({
|
|
|
415
427
|
cursor: readOnly || !!data && readOnly ? "" : "text"
|
|
416
428
|
},
|
|
417
429
|
value: (0, import_utils.convertToPersianDigits)(inputValues.input3),
|
|
418
|
-
onChange: (e) =>
|
|
430
|
+
onChange: (e) => {
|
|
431
|
+
const value = e.target.value;
|
|
432
|
+
const englishValue = (0, import_utils.convertToEnglishDigits)(value);
|
|
433
|
+
if (/^\d*$/.test(englishValue)) {
|
|
434
|
+
handleInputChange(value, "input3", 3);
|
|
435
|
+
}
|
|
436
|
+
}
|
|
419
437
|
}
|
|
420
438
|
),
|
|
421
439
|
/* @__PURE__ */ React.createElement(
|
|
@@ -455,7 +473,13 @@ function LicensePlate({
|
|
|
455
473
|
cursor: readOnly || !!data && readOnly ? "" : "text"
|
|
456
474
|
},
|
|
457
475
|
value: (0, import_utils.convertToPersianDigits)(inputValues.input4),
|
|
458
|
-
onChange: (e) =>
|
|
476
|
+
onChange: (e) => {
|
|
477
|
+
const value = e.target.value;
|
|
478
|
+
const englishValue = (0, import_utils.convertToEnglishDigits)(value);
|
|
479
|
+
if (/^\d*$/.test(englishValue)) {
|
|
480
|
+
handleInputChange(value, "input4", 2);
|
|
481
|
+
}
|
|
482
|
+
}
|
|
459
483
|
}
|
|
460
484
|
),
|
|
461
485
|
/* @__PURE__ */ React.createElement(
|
|
@@ -844,27 +868,38 @@ var import_DialogActions = __toESM(require("@mui/material/DialogActions"));
|
|
|
844
868
|
var import_DialogContent2 = __toESM(require("@mui/material/DialogContent"));
|
|
845
869
|
var import_DialogTitle2 = __toESM(require("@mui/material/DialogTitle"));
|
|
846
870
|
var import_material7 = require("@mui/material");
|
|
847
|
-
var
|
|
871
|
+
var import_fa2 = require("react-icons/fa");
|
|
848
872
|
var import_md = require("react-icons/md");
|
|
849
|
-
var import_link = __toESM(require("next/link"));
|
|
850
873
|
function ConfirmationDialog({
|
|
851
874
|
open,
|
|
852
875
|
handleClose,
|
|
853
876
|
callback,
|
|
854
877
|
callbackParams,
|
|
855
878
|
headerText,
|
|
856
|
-
bodyText
|
|
879
|
+
bodyText,
|
|
880
|
+
isLoading,
|
|
881
|
+
maxWidth,
|
|
882
|
+
iconColor,
|
|
883
|
+
color,
|
|
884
|
+
actionTitle
|
|
857
885
|
}) {
|
|
858
|
-
|
|
886
|
+
const isMobile = (0, import_material7.useMediaQuery)("(max-width:785px)");
|
|
887
|
+
return /* @__PURE__ */ React7.createElement(import_Dialog2.default, { open, onClose: handleClose, fullWidth: true, maxWidth }, /* @__PURE__ */ React7.createElement(import_material7.Box, null, /* @__PURE__ */ React7.createElement(
|
|
859
888
|
import_DialogTitle2.default,
|
|
860
889
|
{
|
|
861
890
|
fontWeight: 700,
|
|
862
891
|
fontSize: "1.2rem",
|
|
863
892
|
display: "flex",
|
|
864
893
|
alignItems: "center",
|
|
865
|
-
gap:
|
|
894
|
+
gap: 1
|
|
866
895
|
},
|
|
867
|
-
/* @__PURE__ */ React7.createElement(
|
|
896
|
+
/* @__PURE__ */ React7.createElement(
|
|
897
|
+
import_fa2.FaRegTrashAlt,
|
|
898
|
+
{
|
|
899
|
+
style: { color: iconColor },
|
|
900
|
+
size: isMobile ? 18 : 20
|
|
901
|
+
}
|
|
902
|
+
),
|
|
868
903
|
headerText
|
|
869
904
|
), /* @__PURE__ */ React7.createElement(
|
|
870
905
|
import_material7.IconButton,
|
|
@@ -879,7 +914,25 @@ function ConfirmationDialog({
|
|
|
879
914
|
}
|
|
880
915
|
},
|
|
881
916
|
/* @__PURE__ */ React7.createElement(import_md.MdClose, null)
|
|
882
|
-
), /* @__PURE__ */ React7.createElement(import_material7.Divider, { sx: { my: "10px" } }), /* @__PURE__ */ React7.createElement(
|
|
917
|
+
), /* @__PURE__ */ React7.createElement(import_material7.Divider, { sx: { my: "10px" } }), /* @__PURE__ */ React7.createElement(
|
|
918
|
+
import_DialogContent2.default,
|
|
919
|
+
{
|
|
920
|
+
sx: {
|
|
921
|
+
px: isMobile ? 2 : 3,
|
|
922
|
+
py: isMobile ? 1.5 : 2,
|
|
923
|
+
"& .MuiTypography-root": {
|
|
924
|
+
fontSize: isMobile ? "0.875rem" : "1rem",
|
|
925
|
+
lineHeight: isMobile ? 1.5 : 1.6,
|
|
926
|
+
gap: isMobile ? "2px" : "4px",
|
|
927
|
+
flexWrap: "wrap",
|
|
928
|
+
wordBreak: "break-word",
|
|
929
|
+
overflowWrap: "break-word",
|
|
930
|
+
whiteSpace: "normal"
|
|
931
|
+
}
|
|
932
|
+
}
|
|
933
|
+
},
|
|
934
|
+
bodyText
|
|
935
|
+
), /* @__PURE__ */ React7.createElement(
|
|
883
936
|
import_DialogActions.default,
|
|
884
937
|
{
|
|
885
938
|
sx: {
|
|
@@ -891,27 +944,27 @@ function ConfirmationDialog({
|
|
|
891
944
|
padding: "2rem"
|
|
892
945
|
}
|
|
893
946
|
},
|
|
894
|
-
/* @__PURE__ */ React7.createElement(
|
|
947
|
+
/* @__PURE__ */ React7.createElement(
|
|
895
948
|
import_material7.Button,
|
|
896
949
|
{
|
|
950
|
+
disabled: isLoading,
|
|
897
951
|
onClick: () => {
|
|
898
952
|
callback(callbackParams);
|
|
899
|
-
handleClose();
|
|
900
953
|
},
|
|
901
954
|
variant: "contained",
|
|
902
|
-
color
|
|
903
|
-
|
|
904
|
-
sx: {
|
|
955
|
+
color,
|
|
956
|
+
sx: { minWidth: "120px" },
|
|
957
|
+
startIcon: isLoading ? /* @__PURE__ */ React7.createElement(import_material7.CircularProgress, { sx: { color: "white" }, size: 20 }) : /* @__PURE__ */ React7.createElement(import_fa2.FaRegTrashAlt, { size: 16 })
|
|
905
958
|
},
|
|
906
|
-
|
|
907
|
-
)
|
|
959
|
+
actionTitle
|
|
960
|
+
),
|
|
908
961
|
/* @__PURE__ */ React7.createElement(
|
|
909
962
|
import_material7.Button,
|
|
910
963
|
{
|
|
911
964
|
onClick: handleClose,
|
|
912
965
|
variant: "outlined",
|
|
913
|
-
color
|
|
914
|
-
startIcon: /* @__PURE__ */ React7.createElement(import_md.MdOutlineCancel,
|
|
966
|
+
color,
|
|
967
|
+
startIcon: /* @__PURE__ */ React7.createElement(import_md.MdOutlineCancel, { size: 15 }),
|
|
915
968
|
sx: { minWidth: "120px" }
|
|
916
969
|
},
|
|
917
970
|
"\u0627\u0646\u0635\u0631\u0627\u0641"
|
|
@@ -1175,7 +1228,7 @@ var import_system = require("@mui/system");
|
|
|
1175
1228
|
var import_moment = __toESM(require("moment"));
|
|
1176
1229
|
var import_react8 = require("react");
|
|
1177
1230
|
var import_react_hook_form5 = require("react-hook-form");
|
|
1178
|
-
var
|
|
1231
|
+
var import_fa4 = require("react-icons/fa");
|
|
1179
1232
|
var yup = __toESM(require("yup"));
|
|
1180
1233
|
|
|
1181
1234
|
// src/date-picker/index.tsx
|
|
@@ -1185,7 +1238,7 @@ var import_x_date_pickers = require("@mui/x-date-pickers");
|
|
|
1185
1238
|
var import_AdapterMomentJalaali = require("@mui/x-date-pickers/AdapterMomentJalaali");
|
|
1186
1239
|
var import_dayjs = __toESM(require("dayjs"));
|
|
1187
1240
|
var import_moment_jalaali = __toESM(require("moment-jalaali"));
|
|
1188
|
-
var
|
|
1241
|
+
var import_fa3 = require("moment/locale/fa");
|
|
1189
1242
|
var import_react7 = __toESM(require("react"));
|
|
1190
1243
|
var import_react_hook_form4 = require("react-hook-form");
|
|
1191
1244
|
import_moment_jalaali.default.locale("fa");
|
|
@@ -1442,7 +1495,7 @@ function DateFilterRange({ FromDate, ToDate }) {
|
|
|
1442
1495
|
onClick: () => handleDate("forward", "time"),
|
|
1443
1496
|
disabled: isNextDisabled || isNextDisabledTime
|
|
1444
1497
|
},
|
|
1445
|
-
/* @__PURE__ */ React.createElement(
|
|
1498
|
+
/* @__PURE__ */ React.createElement(import_fa4.FaChevronRight, { size: 30 })
|
|
1446
1499
|
)), /* @__PURE__ */ React.createElement(import_Grid2.default, { size: { xs: 7, sm: 8, md: 8, lg: 6 } }, /* @__PURE__ */ React.createElement(date_picker_default, { name: "time", control, label: "\u062A\u0627\u0631\u06CC\u062E \u0627\u0632", maxDate: (0, import_moment.default)(watch("time2")), align: "center", persian: true, clear: false, size: isSmMobile ? "small" : "medium" })), /* @__PURE__ */ React.createElement(import_Grid2.default, { size: 2, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React.createElement(
|
|
1447
1500
|
import_Button2.default,
|
|
1448
1501
|
{
|
|
@@ -1454,7 +1507,7 @@ function DateFilterRange({ FromDate, ToDate }) {
|
|
|
1454
1507
|
},
|
|
1455
1508
|
onClick: () => handleDate("backward", "time")
|
|
1456
1509
|
},
|
|
1457
|
-
/* @__PURE__ */ React.createElement(
|
|
1510
|
+
/* @__PURE__ */ React.createElement(import_fa4.FaChevronLeft, { size: 30 })
|
|
1458
1511
|
))), /* @__PURE__ */ React.createElement(import_Grid2.default, { container: true, size: 12, width: !isMobile ? "50%" : "100%", alignItems: "center", justifyContent: "space-between" }, /* @__PURE__ */ React.createElement(import_Grid2.default, { size: 2, justifyContent: "start" }, /* @__PURE__ */ React.createElement(
|
|
1459
1512
|
import_Button2.default,
|
|
1460
1513
|
{
|
|
@@ -1467,7 +1520,7 @@ function DateFilterRange({ FromDate, ToDate }) {
|
|
|
1467
1520
|
onClick: () => handleDate("forward", "time2"),
|
|
1468
1521
|
disabled: isNextDisabledTime2
|
|
1469
1522
|
},
|
|
1470
|
-
/* @__PURE__ */ React.createElement(
|
|
1523
|
+
/* @__PURE__ */ React.createElement(import_fa4.FaChevronRight, { size: 30 })
|
|
1471
1524
|
)), /* @__PURE__ */ React.createElement(import_Grid2.default, { size: { xs: 7, sm: 8, md: 8, lg: 6 } }, /* @__PURE__ */ React.createElement(date_picker_default, { name: "time2", control, label: "\u062A\u0627\u0631\u06CC\u062E \u062A\u0627", minDate: (0, import_moment.default)(watch("time")), persian: true, align: "center", clear: false, size: isSmMobile ? "small" : "medium" })), /* @__PURE__ */ React.createElement(import_Grid2.default, { size: 2, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React.createElement(
|
|
1472
1525
|
import_Button2.default,
|
|
1473
1526
|
{
|
|
@@ -1480,7 +1533,7 @@ function DateFilterRange({ FromDate, ToDate }) {
|
|
|
1480
1533
|
onClick: () => handleDate("backward", "time2"),
|
|
1481
1534
|
disabled: isLastDisabledTime
|
|
1482
1535
|
},
|
|
1483
|
-
/* @__PURE__ */ React.createElement(
|
|
1536
|
+
/* @__PURE__ */ React.createElement(import_fa4.FaChevronLeft, { size: 30 })
|
|
1484
1537
|
)))), /* @__PURE__ */ React.createElement(import_Grid2.default, { container: true, size: 12 }, /* @__PURE__ */ React.createElement(import_Grid2.default, { size: 12 })));
|
|
1485
1538
|
}
|
|
1486
1539
|
|
|
@@ -1493,7 +1546,7 @@ var import_moment2 = __toESM(require("moment"));
|
|
|
1493
1546
|
var import_react9 = __toESM(require("react"));
|
|
1494
1547
|
var import_react10 = require("react");
|
|
1495
1548
|
var import_react_hook_form6 = require("react-hook-form");
|
|
1496
|
-
var
|
|
1549
|
+
var import_fa5 = require("react-icons/fa");
|
|
1497
1550
|
var yup2 = __toESM(require("yup"));
|
|
1498
1551
|
var nowUTC2 = import_moment2.default.utc();
|
|
1499
1552
|
var dateTimeWithIranTime3 = nowUTC2;
|
|
@@ -1547,7 +1600,7 @@ function DateFilter({ setHandler }) {
|
|
|
1547
1600
|
onClick: () => handleDate("forward"),
|
|
1548
1601
|
disabled: isNextDisabled
|
|
1549
1602
|
},
|
|
1550
|
-
/* @__PURE__ */ import_react9.default.createElement(
|
|
1603
|
+
/* @__PURE__ */ import_react9.default.createElement(import_fa5.FaChevronRight, { size: 30 })
|
|
1551
1604
|
)), /* @__PURE__ */ import_react9.default.createElement(import_Grid22.default, { size: { xs: 7, sm: 8, md: 8, lg: 6 } }, /* @__PURE__ */ import_react9.default.createElement(date_picker_default, { name: "time", control, label: "", persian: true, clear: false, align: "center", size: isSmMobile ? "small" : "medium" })), /* @__PURE__ */ import_react9.default.createElement(import_Grid22.default, { size: 2, display: "flex", justifyContent: "end" }, /* @__PURE__ */ import_react9.default.createElement(
|
|
1552
1605
|
import_Button3.default,
|
|
1553
1606
|
{
|
|
@@ -1559,7 +1612,7 @@ function DateFilter({ setHandler }) {
|
|
|
1559
1612
|
},
|
|
1560
1613
|
onClick: () => handleDate("backward")
|
|
1561
1614
|
},
|
|
1562
|
-
/* @__PURE__ */ import_react9.default.createElement(
|
|
1615
|
+
/* @__PURE__ */ import_react9.default.createElement(import_fa5.FaChevronLeft, { size: 30 })
|
|
1563
1616
|
)))), /* @__PURE__ */ import_react9.default.createElement(import_Grid22.default, { container: true, size: 12 }, /* @__PURE__ */ import_react9.default.createElement(import_Grid22.default, { size: 12 })));
|
|
1564
1617
|
}
|
|
1565
1618
|
|
|
@@ -2630,7 +2683,7 @@ var import_material16 = require("@mui/material");
|
|
|
2630
2683
|
var import_Stack = __toESM(require("@mui/material/Stack"));
|
|
2631
2684
|
var import_system5 = require("@mui/system");
|
|
2632
2685
|
var React16 = __toESM(require("react"));
|
|
2633
|
-
var
|
|
2686
|
+
var import_fa6 = require("react-icons/fa");
|
|
2634
2687
|
function PaginationList({
|
|
2635
2688
|
currentPage,
|
|
2636
2689
|
setCurrentPage,
|
|
@@ -2674,7 +2727,7 @@ function PaginationList({
|
|
|
2674
2727
|
justifyContent: "center"
|
|
2675
2728
|
},
|
|
2676
2729
|
size: "large",
|
|
2677
|
-
startIcon: /* @__PURE__ */ React16.createElement(
|
|
2730
|
+
startIcon: /* @__PURE__ */ React16.createElement(import_fa6.FaChevronRight, null)
|
|
2678
2731
|
},
|
|
2679
2732
|
"\u0642\u0628\u0644\u06CC",
|
|
2680
2733
|
" "
|
|
@@ -2715,7 +2768,7 @@ function PaginationList({
|
|
|
2715
2768
|
justifyContent: "center"
|
|
2716
2769
|
},
|
|
2717
2770
|
size: "large",
|
|
2718
|
-
endIcon: /* @__PURE__ */ React16.createElement(
|
|
2771
|
+
endIcon: /* @__PURE__ */ React16.createElement(import_fa6.FaChevronLeft, null)
|
|
2719
2772
|
},
|
|
2720
2773
|
"\u0628\u0639\u062F\u06CC",
|
|
2721
2774
|
" "
|
|
@@ -3001,6 +3054,7 @@ var import_react19 = __toESM(require("react"));
|
|
|
3001
3054
|
var ScrollableContainer = (0, import_styles.styled)("div")({
|
|
3002
3055
|
width: "100%",
|
|
3003
3056
|
overflowX: "auto"
|
|
3057
|
+
// Enable horizontal scrolling
|
|
3004
3058
|
});
|
|
3005
3059
|
var Table = ({
|
|
3006
3060
|
pagingmode,
|
|
@@ -3079,13 +3133,16 @@ var Table = ({
|
|
|
3079
3133
|
pagination: {
|
|
3080
3134
|
paginationModel: {
|
|
3081
3135
|
pageSize: rowInPage ? rowInPage : 5,
|
|
3136
|
+
// Default page size (5)
|
|
3082
3137
|
page: paginationModel?.page || 0
|
|
3138
|
+
// Default to page 0 if not provided
|
|
3083
3139
|
}
|
|
3084
3140
|
}
|
|
3085
3141
|
}
|
|
3086
3142
|
},
|
|
3087
3143
|
...shouldShowPagination && pagingmode == "client" && {
|
|
3088
3144
|
paginationModel
|
|
3145
|
+
// Connect paginationModel to DataGrid
|
|
3089
3146
|
}
|
|
3090
3147
|
};
|
|
3091
3148
|
return /* @__PURE__ */ import_react19.default.createElement(ScrollableContainer, null, /* @__PURE__ */ import_react19.default.createElement(
|
|
@@ -3103,23 +3160,20 @@ var Table = ({
|
|
|
3103
3160
|
"& .MuiDataGrid-columnHeaderTitle": {
|
|
3104
3161
|
fontSize: fontSize ?? "1rem"
|
|
3105
3162
|
},
|
|
3163
|
+
"& .MuiDataGrid-row:nth-of-type(even)": {
|
|
3164
|
+
backgroundColor: evenRowBgColor !== "" ? evenRowBgColor : ""
|
|
3165
|
+
},
|
|
3166
|
+
"& .MuiDataGrid-row:hover": {
|
|
3167
|
+
backgroundColor: "rgba(0, 0, 0, 0.08)"
|
|
3168
|
+
},
|
|
3106
3169
|
...highlightedRowId && {
|
|
3107
3170
|
"& .MuiDataGrid-row": {
|
|
3108
3171
|
[`&[data-id="${highlightedRowId}"]`]: {
|
|
3109
3172
|
backgroundColor: "#c5edd0"
|
|
3110
3173
|
}
|
|
3111
3174
|
}
|
|
3112
|
-
},
|
|
3113
|
-
"& .even-row": {
|
|
3114
|
-
backgroundColor: evenRowBgColor
|
|
3115
|
-
},
|
|
3116
|
-
"& .MuiDataGrid-row:hover": {
|
|
3117
|
-
backgroundColor: "rgba(0, 0, 0, 0.08)"
|
|
3118
3175
|
}
|
|
3119
3176
|
},
|
|
3120
|
-
getRowClassName: (params) => {
|
|
3121
|
-
return params.indexRelativeToCurrentPage % 2 === 0 ? "even-row" : "";
|
|
3122
|
-
},
|
|
3123
3177
|
...option,
|
|
3124
3178
|
...shouldShowPagination && {
|
|
3125
3179
|
onPaginationModelChange: setPaginationModel
|