componentes-sinco 1.0.7 → 1.0.9
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/Icon Scheduler-WX62PISD.svg +17 -0
- package/dist/index.cjs +991 -380
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +56 -12
- package/dist/index.d.ts +56 -12
- package/dist/index.js +978 -369
- package/dist/index.js.map +1 -1
- package/package.json +3 -2
package/dist/index.js
CHANGED
|
@@ -31,10 +31,12 @@ var __objRest = (source, exclude) => {
|
|
|
31
31
|
};
|
|
32
32
|
|
|
33
33
|
// src/Components/Drawer/SCDrawer.tsx
|
|
34
|
-
import
|
|
34
|
+
import React8, { useEffect as useEffect8, useRef as useRef2 } from "react";
|
|
35
35
|
import { Box as Box7, Drawer, Typography as Typography7, IconButton as IconButton5, Button as Button4, Stack as Stack3, Chip as Chip2 } from "@mui/material";
|
|
36
36
|
import Grid4 from "@mui/material/Grid2";
|
|
37
37
|
import CloseIcon from "@mui/icons-material/Close";
|
|
38
|
+
import ArrowBackIosIcon from "@mui/icons-material/ArrowBackIos";
|
|
39
|
+
import ArrowForwardIosIcon from "@mui/icons-material/ArrowForwardIos";
|
|
38
40
|
|
|
39
41
|
// src/Components/Textfield/SCTextField.tsx
|
|
40
42
|
import React, { useEffect, useState } from "react";
|
|
@@ -668,11 +670,9 @@ function SCSelect({
|
|
|
668
670
|
width = "100%",
|
|
669
671
|
size = "small",
|
|
670
672
|
variant = "outlined",
|
|
671
|
-
|
|
673
|
+
background = "white",
|
|
672
674
|
required,
|
|
673
675
|
disabled,
|
|
674
|
-
background,
|
|
675
|
-
fnAplicar,
|
|
676
676
|
setState,
|
|
677
677
|
state
|
|
678
678
|
}) {
|
|
@@ -747,14 +747,20 @@ function SCSelect({
|
|
|
747
747
|
MenuProps: {
|
|
748
748
|
PaperProps: {
|
|
749
749
|
sx: {
|
|
750
|
-
|
|
750
|
+
maxHeight: "300px",
|
|
751
|
+
minWidth: "100%"
|
|
751
752
|
}
|
|
752
753
|
},
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
754
|
+
anchorOrigin: {
|
|
755
|
+
vertical: "bottom",
|
|
756
|
+
horizontal: "left"
|
|
757
|
+
},
|
|
758
|
+
transformOrigin: {
|
|
759
|
+
vertical: "top",
|
|
760
|
+
horizontal: "left"
|
|
761
|
+
},
|
|
762
|
+
disableAutoFocusItem: true,
|
|
763
|
+
marginThreshold: 0
|
|
758
764
|
}
|
|
759
765
|
},
|
|
760
766
|
data.map((option, index) => {
|
|
@@ -786,7 +792,6 @@ function SCAutocomplete({
|
|
|
786
792
|
state,
|
|
787
793
|
inputChange,
|
|
788
794
|
maxCheck
|
|
789
|
-
// Agregar el parámetro maxCheck
|
|
790
795
|
}) {
|
|
791
796
|
const labelContent = `<span style="color: red;">* </span>` + label;
|
|
792
797
|
let group = "";
|
|
@@ -880,6 +885,7 @@ function SCAutocomplete({
|
|
|
880
885
|
{
|
|
881
886
|
multiple: typeFormat === "multiselect",
|
|
882
887
|
clearOnEscape: true,
|
|
888
|
+
noOptionsText: "No se encuentra",
|
|
883
889
|
disabled,
|
|
884
890
|
options: data,
|
|
885
891
|
isOptionEqualToValue: (option, value) => getItemValue(option).value === getItemValue(value).value,
|
|
@@ -1123,31 +1129,83 @@ var getIcon2 = (iconName) => {
|
|
|
1123
1129
|
};
|
|
1124
1130
|
|
|
1125
1131
|
// src/Components/Drawer/Helpers/validateInput.tsx
|
|
1126
|
-
var validateInputs = (arrayElements, onError, onSuccess) => {
|
|
1127
|
-
var _a;
|
|
1132
|
+
var validateInputs = (arrayElements, onError, onSuccess, setChipFilters, setTextFilters) => {
|
|
1133
|
+
var _a, _b;
|
|
1128
1134
|
let requiredValues = 0;
|
|
1129
1135
|
let filledValues = 0;
|
|
1130
1136
|
for (let i = 0; i < arrayElements.length; i++) {
|
|
1131
|
-
|
|
1132
|
-
|
|
1133
|
-
|
|
1134
|
-
|
|
1135
|
-
|
|
1137
|
+
const element = arrayElements[i];
|
|
1138
|
+
const { validation, element: typeElement } = validateTypeElements(element);
|
|
1139
|
+
const textValue = ((_a = typeElement.state) == null ? void 0 : _a.textValue) !== void 0 ? String((_b = typeElement.state) == null ? void 0 : _b.textValue) : String(typeElement.state);
|
|
1140
|
+
if (typeElement == null ? void 0 : typeElement.required) {
|
|
1141
|
+
requiredValues++;
|
|
1142
|
+
if (textValue.trim() !== "" && textValue.trim() !== ",") {
|
|
1136
1143
|
filledValues++;
|
|
1137
1144
|
}
|
|
1138
1145
|
}
|
|
1139
1146
|
}
|
|
1140
1147
|
if (requiredValues === filledValues) {
|
|
1141
1148
|
onSuccess();
|
|
1149
|
+
setChipFilters(true);
|
|
1142
1150
|
} else {
|
|
1143
1151
|
onError({
|
|
1144
1152
|
type: "error",
|
|
1145
1153
|
title: "Algunos campos son requeridos",
|
|
1146
1154
|
time: 10
|
|
1147
1155
|
});
|
|
1156
|
+
setChipFilters(false);
|
|
1148
1157
|
}
|
|
1149
1158
|
};
|
|
1150
1159
|
|
|
1160
|
+
// src/Components/Drawer/Helpers/validateTypeElement.tsx
|
|
1161
|
+
import React7 from "react";
|
|
1162
|
+
var validateTypeElements = (element) => {
|
|
1163
|
+
var _a;
|
|
1164
|
+
let validation = "";
|
|
1165
|
+
let typeElement = element;
|
|
1166
|
+
if (element.type == "textField") {
|
|
1167
|
+
validation = "textField";
|
|
1168
|
+
typeElement = element;
|
|
1169
|
+
} else if (React7.isValidElement(element == null ? void 0 : element.component) && element.component.type && element.component.type.name == "SCtextField") {
|
|
1170
|
+
validation = "textField";
|
|
1171
|
+
typeElement = element == null ? void 0 : element.component.props;
|
|
1172
|
+
} else if (element.type == "textArea") {
|
|
1173
|
+
validation = "textArea";
|
|
1174
|
+
typeElement = element;
|
|
1175
|
+
} else if (React7.isValidElement(element == null ? void 0 : element.component) && element.component.type && element.component.type.name == "SCtextArea") {
|
|
1176
|
+
validation = "textArea";
|
|
1177
|
+
typeElement = element == null ? void 0 : element.component.props;
|
|
1178
|
+
} else if (element.type == "dateRange") {
|
|
1179
|
+
validation = "dateRange";
|
|
1180
|
+
typeElement = element;
|
|
1181
|
+
} else if (React7.isValidElement(element == null ? void 0 : element.component) && element.component.type && element.component.type.name == "SCDateRange") {
|
|
1182
|
+
validation = "dateRange";
|
|
1183
|
+
typeElement = element == null ? void 0 : element.component.props;
|
|
1184
|
+
} else if (element.type == "autocomplete") {
|
|
1185
|
+
validation = "autocomplete";
|
|
1186
|
+
typeElement = element;
|
|
1187
|
+
} else if (React7.isValidElement(element == null ? void 0 : element.component) && element.component.type && element.component.type.name == "SCAutocomplete") {
|
|
1188
|
+
validation = "autocomplete";
|
|
1189
|
+
typeElement = element == null ? void 0 : element.component.props;
|
|
1190
|
+
} else if (element.typeFormat == "multiselect") {
|
|
1191
|
+
validation = "multiselect";
|
|
1192
|
+
typeElement = element;
|
|
1193
|
+
} else if (React7.isValidElement(element == null ? void 0 : element.component) && element.component.props && ((_a = element == null ? void 0 : element.component) == null ? void 0 : _a.props).typeFormat == "multiselect") {
|
|
1194
|
+
validation = "multiselect";
|
|
1195
|
+
typeElement = element == null ? void 0 : element.component.props;
|
|
1196
|
+
} else if (element.type == "select") {
|
|
1197
|
+
validation = "select";
|
|
1198
|
+
typeElement = element;
|
|
1199
|
+
} else if (React7.isValidElement(element == null ? void 0 : element.component) && element.component.type && element.component.type.name == "SCSelect") {
|
|
1200
|
+
validation = "select";
|
|
1201
|
+
typeElement = element == null ? void 0 : element.component.props;
|
|
1202
|
+
}
|
|
1203
|
+
return {
|
|
1204
|
+
validation,
|
|
1205
|
+
element: typeElement
|
|
1206
|
+
};
|
|
1207
|
+
};
|
|
1208
|
+
|
|
1151
1209
|
// src/Components/Drawer/SCDrawer.tsx
|
|
1152
1210
|
function SCDrawer({
|
|
1153
1211
|
//informativas
|
|
@@ -1160,16 +1218,42 @@ function SCDrawer({
|
|
|
1160
1218
|
anchor = "left",
|
|
1161
1219
|
width,
|
|
1162
1220
|
//Funcionales
|
|
1163
|
-
open
|
|
1221
|
+
open,
|
|
1222
|
+
setOpen,
|
|
1223
|
+
chipFilters
|
|
1164
1224
|
}) {
|
|
1165
1225
|
var _a, _b;
|
|
1166
|
-
const
|
|
1167
|
-
const [
|
|
1226
|
+
const scrollRef = useRef2(null);
|
|
1227
|
+
const [drawerOpen, setDrawerOpen] = React8.useState(open);
|
|
1228
|
+
const [toast, setToast] = React8.useState(null);
|
|
1229
|
+
const [stateChipFilters, setChipFilters] = React8.useState(false);
|
|
1230
|
+
const [textFilters, setTextFilters] = React8.useState([]);
|
|
1231
|
+
useEffect8(() => {
|
|
1232
|
+
if (chipFilters != void 0) {
|
|
1233
|
+
if (chipFilters.length > 0) {
|
|
1234
|
+
setTextFilters([]);
|
|
1235
|
+
inputValidation();
|
|
1236
|
+
}
|
|
1237
|
+
}
|
|
1238
|
+
}, [chipFilters]);
|
|
1239
|
+
useEffect8(() => {
|
|
1240
|
+
if (open) {
|
|
1241
|
+
toggleDrawer(true);
|
|
1242
|
+
} else {
|
|
1243
|
+
handleDrawerClose();
|
|
1244
|
+
}
|
|
1245
|
+
}, [open]);
|
|
1168
1246
|
const handleDrawerClose = () => {
|
|
1169
1247
|
setDrawerOpen(false);
|
|
1248
|
+
if (setOpen) {
|
|
1249
|
+
setOpen(false);
|
|
1250
|
+
}
|
|
1170
1251
|
};
|
|
1171
1252
|
const toggleDrawer = (newOpen) => () => {
|
|
1172
1253
|
setDrawerOpen(newOpen);
|
|
1254
|
+
if (setOpen) {
|
|
1255
|
+
setOpen(true);
|
|
1256
|
+
}
|
|
1173
1257
|
};
|
|
1174
1258
|
const ButtonIcon = getIcon2(buttonDrawer == null ? void 0 : buttonDrawer.icon);
|
|
1175
1259
|
const setToastWithDelay = (toastContent) => {
|
|
@@ -1178,39 +1262,179 @@ function SCDrawer({
|
|
|
1178
1262
|
setToast(toastContent);
|
|
1179
1263
|
}, 10);
|
|
1180
1264
|
};
|
|
1181
|
-
const inputValidation = () =>
|
|
1182
|
-
|
|
1183
|
-
|
|
1184
|
-
|
|
1185
|
-
|
|
1186
|
-
|
|
1187
|
-
element
|
|
1188
|
-
|
|
1189
|
-
|
|
1190
|
-
|
|
1191
|
-
|
|
1192
|
-
|
|
1193
|
-
|
|
1194
|
-
|
|
1195
|
-
|
|
1265
|
+
const inputValidation = () => {
|
|
1266
|
+
var _a2, _b2, _c, _d;
|
|
1267
|
+
if (chipFilters != void 0 && chipFilters.length > 0) {
|
|
1268
|
+
if (chipFilters && chipFilters.length > 0) {
|
|
1269
|
+
arrayElements.forEach((arrayElement) => {
|
|
1270
|
+
var _a3, _b3, _c2;
|
|
1271
|
+
const { validation, element: typeElement } = validateTypeElements(arrayElement);
|
|
1272
|
+
let currentValue = "";
|
|
1273
|
+
if (validation === "dateRange") {
|
|
1274
|
+
if (typeElement.state && typeElement.state[0] && typeElement.state[1]) {
|
|
1275
|
+
currentValue = `${(_a3 = typeElement.state[0]) == null ? void 0 : _a3.format("DD/MM/YYYY")} - ${(_b3 = typeElement.state[1]) == null ? void 0 : _b3.format("DD/MM/YYYY")}`;
|
|
1276
|
+
}
|
|
1277
|
+
} else {
|
|
1278
|
+
currentValue = ((_c2 = typeElement.state) == null ? void 0 : _c2.textValue) !== void 0 ? String(typeElement.state.textValue).trim() : String(typeElement.state).trim();
|
|
1279
|
+
}
|
|
1280
|
+
chipFilters.forEach((chipFilter) => {
|
|
1281
|
+
const chipValue = String(chipFilter).trim();
|
|
1282
|
+
if (currentValue === chipValue && currentValue !== "" && currentValue !== ",") {
|
|
1283
|
+
setTextFilters((prevFilters) => {
|
|
1284
|
+
const newFilter = { value: currentValue, arrayElement: typeElement };
|
|
1285
|
+
const existingFilterIndex = prevFilters.findIndex(
|
|
1286
|
+
(filter) => filter.arrayElement.label === arrayElement.label
|
|
1287
|
+
);
|
|
1288
|
+
if (existingFilterIndex !== -1) {
|
|
1289
|
+
const updatedFilters = [...prevFilters];
|
|
1290
|
+
updatedFilters[existingFilterIndex] = newFilter;
|
|
1291
|
+
return updatedFilters;
|
|
1292
|
+
} else {
|
|
1293
|
+
return [...prevFilters, newFilter];
|
|
1294
|
+
}
|
|
1295
|
+
});
|
|
1296
|
+
}
|
|
1297
|
+
});
|
|
1298
|
+
});
|
|
1299
|
+
}
|
|
1300
|
+
} else {
|
|
1301
|
+
const newFiltersToAdd = [];
|
|
1302
|
+
for (let i = 0; i < arrayElements.length; i++) {
|
|
1303
|
+
const element = arrayElements[i];
|
|
1304
|
+
const { validation, element: typeElement } = validateTypeElements(element);
|
|
1305
|
+
const textValue = ((_a2 = typeElement.state) == null ? void 0 : _a2.textValue) !== void 0 ? String((_b2 = typeElement.state) == null ? void 0 : _b2.textValue) : String(typeElement.state);
|
|
1306
|
+
if (textValue.trim() !== "" && textValue.trim() !== ",") {
|
|
1307
|
+
let newFilter;
|
|
1308
|
+
switch (validation) {
|
|
1309
|
+
case "dateRange":
|
|
1310
|
+
const values = `${(_c = typeElement.state[0]) == null ? void 0 : _c.format("DD/MM/YYYY")} - ${(_d = typeElement.state[1]) == null ? void 0 : _d.format("DD/MM/YYYY")}`;
|
|
1311
|
+
newFilter = { value: values, arrayElement: typeElement };
|
|
1312
|
+
break;
|
|
1313
|
+
default:
|
|
1314
|
+
newFilter = { value: textValue, arrayElement: typeElement };
|
|
1315
|
+
break;
|
|
1316
|
+
}
|
|
1317
|
+
const existingFilterByLabel = newFiltersToAdd.find(
|
|
1318
|
+
(filter) => filter.arrayElement.label === element.label
|
|
1319
|
+
);
|
|
1320
|
+
if (existingFilterByLabel) {
|
|
1321
|
+
existingFilterByLabel.value = newFilter.value;
|
|
1322
|
+
existingFilterByLabel.arrayElement = newFilter.arrayElement;
|
|
1196
1323
|
} else {
|
|
1197
|
-
|
|
1198
|
-
React7.isValidElement(element == null ? void 0 : element.component) && typeof ((_h = element.component.props) == null ? void 0 : _h.setState) === "function" && element.component.props.setState({ hiddenValue: "-1", textValue: "" });
|
|
1324
|
+
newFiltersToAdd.push(newFilter);
|
|
1199
1325
|
}
|
|
1200
1326
|
}
|
|
1201
1327
|
}
|
|
1328
|
+
setTextFilters((prevFilters) => {
|
|
1329
|
+
let updatedFilters = [...prevFilters];
|
|
1330
|
+
newFiltersToAdd.forEach((newFilter) => {
|
|
1331
|
+
const existingFilterIndex = updatedFilters.findIndex(
|
|
1332
|
+
(filter) => filter.arrayElement.label === newFilter.arrayElement.label
|
|
1333
|
+
);
|
|
1334
|
+
if (existingFilterIndex !== -1) {
|
|
1335
|
+
updatedFilters[existingFilterIndex] = newFilter;
|
|
1336
|
+
} else {
|
|
1337
|
+
updatedFilters.push(newFilter);
|
|
1338
|
+
}
|
|
1339
|
+
});
|
|
1340
|
+
return updatedFilters;
|
|
1341
|
+
});
|
|
1342
|
+
validateInputs(arrayElements, setToastWithDelay, handleDrawerClose, setChipFilters, setTextFilters);
|
|
1343
|
+
}
|
|
1344
|
+
};
|
|
1345
|
+
const resetElementByType = (originalElement, validation, typeElement) => {
|
|
1346
|
+
let defaultValue;
|
|
1347
|
+
switch (validation) {
|
|
1348
|
+
case "textField":
|
|
1349
|
+
case "textArea":
|
|
1350
|
+
defaultValue = "";
|
|
1351
|
+
break;
|
|
1352
|
+
case "dateRange":
|
|
1353
|
+
defaultValue = [null, null];
|
|
1354
|
+
break;
|
|
1355
|
+
case "multiselect":
|
|
1356
|
+
defaultValue = { hiddenValue: [], textValue: [] };
|
|
1357
|
+
break;
|
|
1358
|
+
default:
|
|
1359
|
+
defaultValue = { hiddenValue: "-1", textValue: "" };
|
|
1360
|
+
}
|
|
1361
|
+
if (typeElement.setState) {
|
|
1362
|
+
typeElement.setState(defaultValue);
|
|
1363
|
+
}
|
|
1364
|
+
};
|
|
1365
|
+
const cleanFilters = () => {
|
|
1366
|
+
arrayElements.forEach((element) => {
|
|
1367
|
+
const { validation, element: typeElement } = validateTypeElements(element);
|
|
1368
|
+
if (typeElement.setState) {
|
|
1369
|
+
resetElementByType(element, validation, typeElement);
|
|
1370
|
+
}
|
|
1202
1371
|
});
|
|
1372
|
+
setTextFilters([]);
|
|
1373
|
+
};
|
|
1374
|
+
const deleteFilter = (element) => {
|
|
1375
|
+
const { validation, element: typeElement } = validateTypeElements(element);
|
|
1376
|
+
if (typeElement.setState && shouldShowChips == true) {
|
|
1377
|
+
resetElementByType(element, validation, typeElement);
|
|
1378
|
+
setTextFilters(
|
|
1379
|
+
(prevFilters) => prevFilters.filter((filter) => filter.arrayElement.label !== element.label)
|
|
1380
|
+
);
|
|
1381
|
+
}
|
|
1382
|
+
};
|
|
1383
|
+
const scroll = (offset) => {
|
|
1384
|
+
if (scrollRef.current) {
|
|
1385
|
+
scrollRef.current.scrollLeft += offset;
|
|
1386
|
+
}
|
|
1203
1387
|
};
|
|
1204
|
-
const
|
|
1205
|
-
|
|
1388
|
+
const hasActiveFilters = () => {
|
|
1389
|
+
return arrayElements.some((arrayElement) => {
|
|
1390
|
+
const { validation, element: typeElement } = validateTypeElements(arrayElement);
|
|
1391
|
+
if (typeElement.state.textValue !== void 0) {
|
|
1392
|
+
return String(typeElement.state.textValue).trim() !== "";
|
|
1393
|
+
} else if (validation === "dateRange") {
|
|
1394
|
+
return typeElement.state && typeElement.state[0] !== null && typeElement.state[1] !== null;
|
|
1395
|
+
} else {
|
|
1396
|
+
return String(typeElement.state).trim() !== "" && String(typeElement.state).trim() !== ",";
|
|
1397
|
+
}
|
|
1398
|
+
});
|
|
1399
|
+
};
|
|
1400
|
+
const shouldShowChips = chipFilters != void 0 && chipFilters.length > 0 ? true : stateChipFilters === true && hasActiveFilters();
|
|
1401
|
+
const actionsA = actions == false ? false : actions != void 0 ? actions : [{ text: "Aplicar filtros", fn: inputValidation }, { text: "Limpiar filtros", fn: cleanFilters }];
|
|
1402
|
+
return /* @__PURE__ */ React8.createElement(React8.Fragment, null, toast && /* @__PURE__ */ React8.createElement(SCToastNotification, __spreadValues({}, toast)), /* @__PURE__ */ React8.createElement(Grid4, { container: true, justifyContent: "flex-start", flexWrap: "nowrap", alignItems: "center", sx: { width: "100%" } }, shouldShowChips && /* @__PURE__ */ React8.createElement(Box7, { display: "flex", alignItems: "center", sx: { maxWidth: "78%" } }, /* @__PURE__ */ React8.createElement(IconButton5, { onClick: () => scroll(-150), size: "small" }, /* @__PURE__ */ React8.createElement(ArrowBackIosIcon, { fontSize: "small" })), /* @__PURE__ */ React8.createElement(
|
|
1403
|
+
Box7,
|
|
1404
|
+
{
|
|
1405
|
+
ref: scrollRef,
|
|
1406
|
+
gap: 0.3,
|
|
1407
|
+
sx: {
|
|
1408
|
+
display: "flex",
|
|
1409
|
+
overflowX: "auto",
|
|
1410
|
+
scrollBehavior: "smooth",
|
|
1411
|
+
"&::-webkit-scrollbar": { display: "none" }
|
|
1412
|
+
}
|
|
1413
|
+
},
|
|
1414
|
+
textFilters == null ? void 0 : textFilters.map((chipData, index) => /* @__PURE__ */ React8.createElement(
|
|
1415
|
+
Chip2,
|
|
1416
|
+
__spreadProps(__spreadValues({
|
|
1417
|
+
key: index,
|
|
1418
|
+
label: chipData.value
|
|
1419
|
+
}, chipData.arrayElement.required == false || chipData.arrayElement.required == void 0 ? { onDelete: () => deleteFilter(chipData.arrayElement) } : {}), {
|
|
1420
|
+
color: "default",
|
|
1421
|
+
variant: "filled",
|
|
1422
|
+
size: "small",
|
|
1423
|
+
sx: {
|
|
1424
|
+
flexShrink: 0,
|
|
1425
|
+
minWidth: "auto"
|
|
1426
|
+
}
|
|
1427
|
+
})
|
|
1428
|
+
))
|
|
1429
|
+
), /* @__PURE__ */ React8.createElement(IconButton5, { onClick: () => scroll(150), size: "small" }, /* @__PURE__ */ React8.createElement(ArrowForwardIosIcon, { fontSize: "small" }))), (buttonDrawer == null ? void 0 : buttonDrawer.type) == "chip" ? /* @__PURE__ */ React8.createElement(
|
|
1206
1430
|
Chip2,
|
|
1207
1431
|
__spreadProps(__spreadValues({
|
|
1208
1432
|
onClick: toggleDrawer(true),
|
|
1209
1433
|
color: buttonDrawer == null ? void 0 : buttonDrawer.color,
|
|
1210
1434
|
variant: (buttonDrawer == null ? void 0 : buttonDrawer.variant) == "contained" ? "filled" : "outlined",
|
|
1211
1435
|
label: (_a = buttonDrawer == null ? void 0 : buttonDrawer.text) != null ? _a : "",
|
|
1212
|
-
icon: (buttonDrawer == null ? void 0 : buttonDrawer.iconPosition) === "left" && ButtonIcon ? /* @__PURE__ */
|
|
1213
|
-
deleteIcon: (buttonDrawer == null ? void 0 : buttonDrawer.iconPosition) === "right" && ButtonIcon ? /* @__PURE__ */
|
|
1436
|
+
icon: (buttonDrawer == null ? void 0 : buttonDrawer.iconPosition) === "left" && ButtonIcon ? /* @__PURE__ */ React8.createElement(ButtonIcon, { fontSize: "small" }) : void 0,
|
|
1437
|
+
deleteIcon: (buttonDrawer == null ? void 0 : buttonDrawer.iconPosition) === "right" && ButtonIcon ? /* @__PURE__ */ React8.createElement(ButtonIcon, { fontSize: "small" }) : void 0
|
|
1214
1438
|
}, (buttonDrawer == null ? void 0 : buttonDrawer.iconPosition) === "right" && ButtonIcon ? { onDelete: () => {
|
|
1215
1439
|
} } : {}), {
|
|
1216
1440
|
sx: {
|
|
@@ -1220,7 +1444,7 @@ function SCDrawer({
|
|
|
1220
1444
|
textTransform: "capitalize"
|
|
1221
1445
|
}
|
|
1222
1446
|
})
|
|
1223
|
-
) : /* @__PURE__ */
|
|
1447
|
+
) : /* @__PURE__ */ React8.createElement(
|
|
1224
1448
|
Button4,
|
|
1225
1449
|
{
|
|
1226
1450
|
"data-testid": "test-buttonDrawer",
|
|
@@ -1229,11 +1453,11 @@ function SCDrawer({
|
|
|
1229
1453
|
onClick: toggleDrawer(true),
|
|
1230
1454
|
size: "small",
|
|
1231
1455
|
variant: (buttonDrawer == null ? void 0 : buttonDrawer.variant) != void 0 ? buttonDrawer == null ? void 0 : buttonDrawer.variant : "text",
|
|
1232
|
-
startIcon: ((buttonDrawer == null ? void 0 : buttonDrawer.iconPosition) === "left" || !(buttonDrawer == null ? void 0 : buttonDrawer.iconPosition)) && ButtonIcon ? /* @__PURE__ */
|
|
1233
|
-
endIcon: (buttonDrawer == null ? void 0 : buttonDrawer.iconPosition) === "right" && ButtonIcon ? /* @__PURE__ */
|
|
1456
|
+
startIcon: ((buttonDrawer == null ? void 0 : buttonDrawer.iconPosition) === "left" || !(buttonDrawer == null ? void 0 : buttonDrawer.iconPosition)) && ButtonIcon ? /* @__PURE__ */ React8.createElement(ButtonIcon, { fontSize: "small" }) : null,
|
|
1457
|
+
endIcon: (buttonDrawer == null ? void 0 : buttonDrawer.iconPosition) === "right" && ButtonIcon ? /* @__PURE__ */ React8.createElement(ButtonIcon, { fontSize: "small" }) : null
|
|
1234
1458
|
},
|
|
1235
1459
|
(_b = buttonDrawer == null ? void 0 : buttonDrawer.text) != null ? _b : ""
|
|
1236
|
-
), /* @__PURE__ */
|
|
1460
|
+
)), /* @__PURE__ */ React8.createElement(
|
|
1237
1461
|
Drawer,
|
|
1238
1462
|
{
|
|
1239
1463
|
open: drawerOpen,
|
|
@@ -1247,15 +1471,15 @@ function SCDrawer({
|
|
|
1247
1471
|
}
|
|
1248
1472
|
}
|
|
1249
1473
|
},
|
|
1250
|
-
/* @__PURE__ */
|
|
1474
|
+
/* @__PURE__ */ React8.createElement(Stack3, { flexDirection: "column", height: "100%" }, /* @__PURE__ */ React8.createElement(Grid4, { container: true, sx: { backgroundColor: "primary.50", alignItems: "center", height: "42px", textAlign: "left", padding: "8px 12px", justifyContent: "space-between", alignContent: "center" } }, /* @__PURE__ */ React8.createElement(Typography7, { variant: "h6", color: colorTitle || "text.primary" }, title != null ? title : "Personaliza tu b\xFAsqueda"), /* @__PURE__ */ React8.createElement(IconButton5, { onClick: handleDrawerClose }, /* @__PURE__ */ React8.createElement(CloseIcon, { "data-testid": "test-button-close", sx: { color: "text.primary" } }))), /* @__PURE__ */ React8.createElement(Stack3, { alignItems: "flex-start", height: "100%", gap: "16px", flex: 1, overflow: "auto", padding: "16px" }, arrayElements == null ? void 0 : arrayElements.map((arrayElement, index) => {
|
|
1251
1475
|
var _a2, _b2, _c, _d, _e, _f;
|
|
1252
|
-
return /* @__PURE__ */
|
|
1476
|
+
return /* @__PURE__ */ React8.createElement(
|
|
1253
1477
|
Box7,
|
|
1254
1478
|
{
|
|
1255
1479
|
key: `Stack_${(_a2 = arrayElement.type) != null ? _a2 : ""} ${(_b2 = arrayElement.label) != null ? _b2 : ""}${index}`,
|
|
1256
1480
|
sx: { width: "100%" }
|
|
1257
1481
|
},
|
|
1258
|
-
arrayElement.component ? /* @__PURE__ */
|
|
1482
|
+
arrayElement.component ? /* @__PURE__ */ React8.createElement(Stack3, { direction: "row", alignItems: "left", gap: 1 }, arrayElement.component) : arrayElement.type === "textField" ? /* @__PURE__ */ React8.createElement(
|
|
1259
1483
|
SCTextField,
|
|
1260
1484
|
{
|
|
1261
1485
|
title: arrayElement.title,
|
|
@@ -1281,7 +1505,7 @@ function SCDrawer({
|
|
|
1281
1505
|
onBlur: arrayElement.onBlur,
|
|
1282
1506
|
onKeyDown: arrayElement.onKeyDown
|
|
1283
1507
|
}
|
|
1284
|
-
) : arrayElement.type === "textArea" ? /* @__PURE__ */
|
|
1508
|
+
) : arrayElement.type === "textArea" ? /* @__PURE__ */ React8.createElement(
|
|
1285
1509
|
SCTextArea,
|
|
1286
1510
|
{
|
|
1287
1511
|
title: arrayElement.title,
|
|
@@ -1300,7 +1524,7 @@ function SCDrawer({
|
|
|
1300
1524
|
state: arrayElement.state || "",
|
|
1301
1525
|
onBlur: arrayElement.onBlur
|
|
1302
1526
|
}
|
|
1303
|
-
) : arrayElement.type === "autocomplete" ? /* @__PURE__ */
|
|
1527
|
+
) : arrayElement.type === "autocomplete" ? /* @__PURE__ */ React8.createElement(
|
|
1304
1528
|
SCAutocomplete,
|
|
1305
1529
|
{
|
|
1306
1530
|
label: arrayElement.label,
|
|
@@ -1318,7 +1542,7 @@ function SCDrawer({
|
|
|
1318
1542
|
state: arrayElement.state || "",
|
|
1319
1543
|
inputChange: arrayElement.inputChange
|
|
1320
1544
|
}
|
|
1321
|
-
) : arrayElement.type === "select" ? /* @__PURE__ */
|
|
1545
|
+
) : arrayElement.type === "select" ? /* @__PURE__ */ React8.createElement(
|
|
1322
1546
|
SCSelect,
|
|
1323
1547
|
{
|
|
1324
1548
|
label: arrayElement.label,
|
|
@@ -1327,7 +1551,6 @@ function SCDrawer({
|
|
|
1327
1551
|
width: arrayElement.width,
|
|
1328
1552
|
size: arrayElement.size,
|
|
1329
1553
|
variant: arrayElement.variant,
|
|
1330
|
-
deleteType: arrayElement.deleteType,
|
|
1331
1554
|
required: arrayElement.required,
|
|
1332
1555
|
disabled: arrayElement.disabled,
|
|
1333
1556
|
background: arrayElement.background,
|
|
@@ -1335,7 +1558,7 @@ function SCDrawer({
|
|
|
1335
1558
|
setState: arrayElement.setState,
|
|
1336
1559
|
state: arrayElement.state || ""
|
|
1337
1560
|
}
|
|
1338
|
-
) : arrayElement.type === "dateRange" ? /* @__PURE__ */
|
|
1561
|
+
) : arrayElement.type === "dateRange" ? /* @__PURE__ */ React8.createElement(
|
|
1339
1562
|
SCDateRange,
|
|
1340
1563
|
{
|
|
1341
1564
|
labelDateInitial: arrayElement.labelDateInitial,
|
|
@@ -1348,7 +1571,7 @@ function SCDrawer({
|
|
|
1348
1571
|
}
|
|
1349
1572
|
) : null
|
|
1350
1573
|
);
|
|
1351
|
-
})), actionsA != void 0 && actionsA != false ? Array.isArray(actionsA) && (actionsA == null ? void 0 : actionsA.length) > 0 ? /* @__PURE__ */
|
|
1574
|
+
})), actionsA != void 0 && actionsA != false ? Array.isArray(actionsA) && (actionsA == null ? void 0 : actionsA.length) > 0 ? /* @__PURE__ */ React8.createElement(
|
|
1352
1575
|
Grid4,
|
|
1353
1576
|
{
|
|
1354
1577
|
sx: { borderTop: 1, borderColor: "#1018403B" },
|
|
@@ -1360,7 +1583,7 @@ function SCDrawer({
|
|
|
1360
1583
|
justifyContent: actionsA.length > 1 ? "space-between" : !anchor && anchor != "right" ? "flex-end" : "flex-start",
|
|
1361
1584
|
flexDirection: anchor != "right" ? "row-reverse" : "row"
|
|
1362
1585
|
},
|
|
1363
|
-
actionsA.map((btn, index) => /* @__PURE__ */
|
|
1586
|
+
actionsA.map((btn, index) => /* @__PURE__ */ React8.createElement(
|
|
1364
1587
|
Button4,
|
|
1365
1588
|
{
|
|
1366
1589
|
key: index,
|
|
@@ -1377,7 +1600,7 @@ function SCDrawer({
|
|
|
1377
1600
|
}
|
|
1378
1601
|
|
|
1379
1602
|
// src/Components/FooterAction/FooterAction.tsx
|
|
1380
|
-
import
|
|
1603
|
+
import React9 from "react";
|
|
1381
1604
|
import { AppBar, Toolbar, Box as Box8, Typography as Typography8 } from "@mui/material";
|
|
1382
1605
|
var FooterAction = ({
|
|
1383
1606
|
leftContent,
|
|
@@ -1385,44 +1608,44 @@ var FooterAction = ({
|
|
|
1385
1608
|
label,
|
|
1386
1609
|
variant
|
|
1387
1610
|
}) => {
|
|
1388
|
-
return /* @__PURE__ */
|
|
1611
|
+
return /* @__PURE__ */ React9.createElement(
|
|
1389
1612
|
AppBar,
|
|
1390
1613
|
{
|
|
1391
1614
|
color: "inherit",
|
|
1392
1615
|
sx: { position: variant == "float" ? "relative" : "fixed", left: 0, right: "auto", width: "100%", top: "auto", bottom: 0 }
|
|
1393
1616
|
},
|
|
1394
|
-
/* @__PURE__ */
|
|
1617
|
+
/* @__PURE__ */ React9.createElement(
|
|
1395
1618
|
Toolbar,
|
|
1396
1619
|
{
|
|
1397
1620
|
id: "footer-toolbar",
|
|
1398
1621
|
sx: { gap: 1.5, minHeight: "50px !important" }
|
|
1399
1622
|
},
|
|
1400
1623
|
leftContent,
|
|
1401
|
-
/* @__PURE__ */
|
|
1402
|
-
label && /* @__PURE__ */
|
|
1624
|
+
/* @__PURE__ */ React9.createElement(Box8, { flexGrow: 1 }),
|
|
1625
|
+
label && /* @__PURE__ */ React9.createElement(Typography8, { variant: "body2", color: "text.secondary" }, label),
|
|
1403
1626
|
rightContent
|
|
1404
1627
|
)
|
|
1405
1628
|
);
|
|
1406
1629
|
};
|
|
1407
1630
|
|
|
1408
1631
|
// src/Components/Modal/Helpers/Data.tsx
|
|
1409
|
-
import
|
|
1632
|
+
import React10 from "react";
|
|
1410
1633
|
import { Info, Warning } from "@mui/icons-material";
|
|
1411
1634
|
var modalStateConfig = {
|
|
1412
1635
|
info: {
|
|
1413
1636
|
color: "info",
|
|
1414
1637
|
defaultDescription: "Se [sincronizar\xE1n] los datos trabajados en modo offline y se [subir\xE1n] a los servidores.",
|
|
1415
|
-
icon: /* @__PURE__ */
|
|
1638
|
+
icon: /* @__PURE__ */ React10.createElement(Info, { color: "info", fontSize: "medium" })
|
|
1416
1639
|
},
|
|
1417
1640
|
delete: {
|
|
1418
1641
|
color: "delete",
|
|
1419
1642
|
defaultDescription: "[Elemento espec\xEDfico] [dejar\xE1 de existir en todos los lugares donde est\xE9 en uso]. Esta acci\xF3n es irreversible.",
|
|
1420
|
-
icon: /* @__PURE__ */
|
|
1643
|
+
icon: /* @__PURE__ */ React10.createElement(Info, { color: "error", fontSize: "medium" })
|
|
1421
1644
|
},
|
|
1422
1645
|
warning: {
|
|
1423
1646
|
color: "warning",
|
|
1424
1647
|
defaultDescription: "Se descartar\xE1 la [creaci\xF3n] y los cambios se perder\xE1n.",
|
|
1425
|
-
icon: /* @__PURE__ */
|
|
1648
|
+
icon: /* @__PURE__ */ React10.createElement(Warning, { color: "warning", fontSize: "medium" })
|
|
1426
1649
|
}
|
|
1427
1650
|
};
|
|
1428
1651
|
|
|
@@ -1452,7 +1675,7 @@ var getButtonColor = (state) => {
|
|
|
1452
1675
|
};
|
|
1453
1676
|
|
|
1454
1677
|
// src/Components/Modal/SCModal.tsx
|
|
1455
|
-
import
|
|
1678
|
+
import React11, { useCallback as useCallback3, useMemo as useMemo3, useState as useState5 } from "react";
|
|
1456
1679
|
import { Modal, Box as Box9, Typography as Typography9, IconButton as IconButton6, Button as Button5, Stack as Stack4 } from "@mui/material";
|
|
1457
1680
|
import { Close as Close2 } from "@mui/icons-material";
|
|
1458
1681
|
|
|
@@ -1472,33 +1695,30 @@ var SCModal = ({
|
|
|
1472
1695
|
}) => {
|
|
1473
1696
|
var _a, _b, _c, _d, _e;
|
|
1474
1697
|
const [openModal, setOpenModal] = useState5(open != null ? open : false);
|
|
1475
|
-
|
|
1476
|
-
|
|
1477
|
-
|
|
1478
|
-
|
|
1479
|
-
|
|
1480
|
-
const
|
|
1481
|
-
const handleClose = useCallback(() => setOpenModal(false), []);
|
|
1482
|
-
const toggleModal = (newOpen) => () => setOpenModal(newOpen);
|
|
1483
|
-
const prevAction = useMemo(
|
|
1698
|
+
const handleOpen = React11.useCallback(() => {
|
|
1699
|
+
setOpenModal((prev) => !prev);
|
|
1700
|
+
}, []);
|
|
1701
|
+
const Icon = useMemo3(() => getIconComponent2(buttonModal == null ? void 0 : buttonModal.icon), [buttonModal == null ? void 0 : buttonModal.icon]);
|
|
1702
|
+
const handleClose = useCallback3(() => setOpenModal(false), []);
|
|
1703
|
+
const prevAction = useMemo3(
|
|
1484
1704
|
() => action != null ? action : [{ text: "Cancelar", fn: handleClose }, { text: "Consultar", fn: () => {
|
|
1485
1705
|
} }],
|
|
1486
1706
|
[action, handleClose]
|
|
1487
1707
|
);
|
|
1488
1708
|
const { icon, defaultDescription } = modalStateConfig[state];
|
|
1489
|
-
return /* @__PURE__ */
|
|
1709
|
+
return /* @__PURE__ */ React11.createElement(React11.Fragment, null, /* @__PURE__ */ React11.createElement(
|
|
1490
1710
|
Button5,
|
|
1491
1711
|
{
|
|
1492
1712
|
"data-testid": "test-buttonModal",
|
|
1493
1713
|
color: (_a = buttonModal == null ? void 0 : buttonModal.color) != null ? _a : "primary",
|
|
1494
|
-
onClick:
|
|
1714
|
+
onClick: handleOpen,
|
|
1495
1715
|
variant: (_b = buttonModal == null ? void 0 : buttonModal.variant) != null ? _b : "text",
|
|
1496
1716
|
size: (_c = buttonModal == null ? void 0 : buttonModal.size) != null ? _c : "small",
|
|
1497
|
-
startIcon: (buttonModal == null ? void 0 : buttonModal.iconPosition) === "left" && /* @__PURE__ */
|
|
1498
|
-
endIcon: (buttonModal == null ? void 0 : buttonModal.iconPosition) === "right" && /* @__PURE__ */
|
|
1717
|
+
startIcon: (buttonModal == null ? void 0 : buttonModal.iconPosition) === "left" && /* @__PURE__ */ React11.createElement(Icon, null),
|
|
1718
|
+
endIcon: (buttonModal == null ? void 0 : buttonModal.iconPosition) === "right" && /* @__PURE__ */ React11.createElement(Icon, null)
|
|
1499
1719
|
},
|
|
1500
1720
|
capitalize((_d = buttonModal == null ? void 0 : buttonModal.text) != null ? _d : "filtrar")
|
|
1501
|
-
), /* @__PURE__ */
|
|
1721
|
+
), /* @__PURE__ */ React11.createElement(Modal, { open: openModal, onClose: handleOpen, sx: { boxShadow: 8 } }, /* @__PURE__ */ React11.createElement(
|
|
1502
1722
|
Box9,
|
|
1503
1723
|
{
|
|
1504
1724
|
sx: {
|
|
@@ -1512,9 +1732,9 @@ var SCModal = ({
|
|
|
1512
1732
|
boxShadow: 24
|
|
1513
1733
|
}
|
|
1514
1734
|
},
|
|
1515
|
-
/* @__PURE__ */
|
|
1516
|
-
/* @__PURE__ */
|
|
1517
|
-
action && /* @__PURE__ */
|
|
1735
|
+
/* @__PURE__ */ React11.createElement(Stack4, { direction: "row", justifyContent: "space-between", alignItems: "center" }, /* @__PURE__ */ React11.createElement(Stack4, { direction: "row", alignItems: "center", p: 1, gap: 1.5 }, /* @__PURE__ */ React11.createElement(Box9, { display: "flex", justifyContent: "center", alignItems: "center", borderRadius: "50%", height: 36, width: 36, bgcolor: getModalColor(state) }, icon), /* @__PURE__ */ React11.createElement(Typography9, { variant: "h6", color: "text.primary" }, title)), /* @__PURE__ */ React11.createElement(IconButton6, { onClick: handleOpen, "data-testid": "test-buttonClose" }, /* @__PURE__ */ React11.createElement(Close2, { color: "action" }))),
|
|
1736
|
+
/* @__PURE__ */ React11.createElement(Stack4, { py: 1, px: 3, gap: 1.5 }, /* @__PURE__ */ React11.createElement(Typography9, { variant: "body1" }, description || defaultDescription)),
|
|
1737
|
+
action && /* @__PURE__ */ React11.createElement(
|
|
1518
1738
|
Stack4,
|
|
1519
1739
|
{
|
|
1520
1740
|
id: "Action",
|
|
@@ -1525,7 +1745,7 @@ var SCModal = ({
|
|
|
1525
1745
|
bgcolor: "grey.50",
|
|
1526
1746
|
sx: { borderRadius: 1 }
|
|
1527
1747
|
},
|
|
1528
|
-
/* @__PURE__ */
|
|
1748
|
+
/* @__PURE__ */ React11.createElement(
|
|
1529
1749
|
Button5,
|
|
1530
1750
|
{
|
|
1531
1751
|
color: "inherit",
|
|
@@ -1535,7 +1755,7 @@ var SCModal = ({
|
|
|
1535
1755
|
},
|
|
1536
1756
|
capitalize("cancelar")
|
|
1537
1757
|
),
|
|
1538
|
-
/* @__PURE__ */
|
|
1758
|
+
/* @__PURE__ */ React11.createElement(
|
|
1539
1759
|
Button5,
|
|
1540
1760
|
{
|
|
1541
1761
|
"data-testid": "test-aceptar",
|
|
@@ -1552,32 +1772,32 @@ var SCModal = ({
|
|
|
1552
1772
|
};
|
|
1553
1773
|
|
|
1554
1774
|
// src/Components/MultiSelect/MultiSelect.tsx
|
|
1555
|
-
import
|
|
1775
|
+
import React12, { useEffect as useEffect10, useMemo as useMemo5 } from "react";
|
|
1556
1776
|
import { Button as Button6, Checkbox as Checkbox2, FormControl as FormControl3, InputAdornment as InputAdornment5, ListItemIcon as ListItemIcon3, MenuItem as MenuItem3, Popover as Popover3, Stack as Stack5, TextField as TextField4 } from "@mui/material";
|
|
1557
1777
|
import { SearchOutlined } from "@mui/icons-material";
|
|
1558
1778
|
|
|
1559
1779
|
// src/Components/MultiSelect/helpers/useHandlers.tsx
|
|
1560
|
-
import { useCallback as
|
|
1780
|
+
import { useCallback as useCallback4, useState as useState6 } from "react";
|
|
1561
1781
|
function useMultiSelectHandlers() {
|
|
1562
1782
|
const [anchorEl, setAnchorEl] = useState6(null);
|
|
1563
1783
|
const [open, setOpen] = useState6(false);
|
|
1564
1784
|
const [selectedItems, setSelectedItems] = useState6([]);
|
|
1565
1785
|
const [filterValue, setFilterValue] = useState6("");
|
|
1566
|
-
const handleOpen =
|
|
1786
|
+
const handleOpen = useCallback4((e) => {
|
|
1567
1787
|
setAnchorEl(e.currentTarget);
|
|
1568
1788
|
setOpen(true);
|
|
1569
1789
|
}, []);
|
|
1570
|
-
const handleClose =
|
|
1790
|
+
const handleClose = useCallback4(() => {
|
|
1571
1791
|
setAnchorEl(null);
|
|
1572
1792
|
setOpen(false);
|
|
1573
1793
|
}, []);
|
|
1574
|
-
const handleFilterChange =
|
|
1794
|
+
const handleFilterChange = useCallback4(
|
|
1575
1795
|
(e) => {
|
|
1576
1796
|
setFilterValue(e.target.value);
|
|
1577
1797
|
},
|
|
1578
1798
|
[]
|
|
1579
1799
|
);
|
|
1580
|
-
const handleCheckboxToggle =
|
|
1800
|
+
const handleCheckboxToggle = useCallback4((item) => {
|
|
1581
1801
|
setSelectedItems(
|
|
1582
1802
|
(prev) => prev.includes(item) ? prev.filter((i) => i !== item) : [...prev, item]
|
|
1583
1803
|
);
|
|
@@ -1604,15 +1824,15 @@ function getIconMultiSelect(name) {
|
|
|
1604
1824
|
}
|
|
1605
1825
|
|
|
1606
1826
|
// src/Components/MultiSelect/helpers/useFilteredItems.tsx
|
|
1607
|
-
import { useMemo as
|
|
1827
|
+
import { useMemo as useMemo4 } from "react";
|
|
1608
1828
|
function useFilteredItems(items, filterValue, getItemLabel, selectedItems) {
|
|
1609
|
-
const filteredItems =
|
|
1829
|
+
const filteredItems = useMemo4(
|
|
1610
1830
|
() => items.filter(
|
|
1611
1831
|
(item) => getItemLabel(item).toLowerCase().includes(filterValue.toLowerCase())
|
|
1612
1832
|
),
|
|
1613
1833
|
[items, filterValue, getItemLabel]
|
|
1614
1834
|
);
|
|
1615
|
-
const sortedItems =
|
|
1835
|
+
const sortedItems = useMemo4(() => {
|
|
1616
1836
|
return [
|
|
1617
1837
|
...filteredItems.filter((item) => selectedItems.includes(item)),
|
|
1618
1838
|
...filteredItems.filter((item) => !selectedItems.includes(item))
|
|
@@ -1646,16 +1866,16 @@ function MultiSelect({
|
|
|
1646
1866
|
handleCheckboxToggle,
|
|
1647
1867
|
setOpen
|
|
1648
1868
|
} = useMultiSelectHandlers();
|
|
1649
|
-
|
|
1869
|
+
useEffect10(() => {
|
|
1650
1870
|
if (open !== void 0) {
|
|
1651
1871
|
setOpen(open);
|
|
1652
1872
|
}
|
|
1653
1873
|
}, [open, setOpen]);
|
|
1654
|
-
|
|
1874
|
+
useEffect10(() => {
|
|
1655
1875
|
setSelectedItems([]);
|
|
1656
1876
|
}, [items, setSelectedItems]);
|
|
1657
1877
|
const { filteredItems, sortedItems } = useFilteredItems(items, filterValue, getItemLabel, selectedItems);
|
|
1658
|
-
const Icon =
|
|
1878
|
+
const Icon = useMemo5(() => {
|
|
1659
1879
|
var _a2;
|
|
1660
1880
|
return getIconMultiSelect((_a2 = button == null ? void 0 : button.icon) != null ? _a2 : "FilterListOutlined");
|
|
1661
1881
|
}, [button == null ? void 0 : button.icon]);
|
|
@@ -1669,7 +1889,7 @@ function MultiSelect({
|
|
|
1669
1889
|
{ text: "Aplicar", fn: () => {
|
|
1670
1890
|
} }
|
|
1671
1891
|
];
|
|
1672
|
-
return /* @__PURE__ */
|
|
1892
|
+
return /* @__PURE__ */ React12.createElement(React12.Fragment, null, /* @__PURE__ */ React12.createElement(
|
|
1673
1893
|
Button6,
|
|
1674
1894
|
{
|
|
1675
1895
|
"test-id": "multiselect-button",
|
|
@@ -1677,11 +1897,11 @@ function MultiSelect({
|
|
|
1677
1897
|
onClick: handleOpen,
|
|
1678
1898
|
variant: (_b = button == null ? void 0 : button.variant) != null ? _b : "text",
|
|
1679
1899
|
size: "small",
|
|
1680
|
-
startIcon: (button == null ? void 0 : button.iconPosition) === "left" || !(button == null ? void 0 : button.iconPosition) ? /* @__PURE__ */
|
|
1681
|
-
endIcon: (button == null ? void 0 : button.iconPosition) === "right" ? /* @__PURE__ */
|
|
1900
|
+
startIcon: (button == null ? void 0 : button.iconPosition) === "left" || !(button == null ? void 0 : button.iconPosition) ? /* @__PURE__ */ React12.createElement(Icon, null) : null,
|
|
1901
|
+
endIcon: (button == null ? void 0 : button.iconPosition) === "right" ? /* @__PURE__ */ React12.createElement(Icon, null) : null
|
|
1682
1902
|
},
|
|
1683
1903
|
capitalize(textButton != null ? textButton : "MultiSelect")
|
|
1684
|
-
), /* @__PURE__ */
|
|
1904
|
+
), /* @__PURE__ */ React12.createElement(
|
|
1685
1905
|
Popover3,
|
|
1686
1906
|
{
|
|
1687
1907
|
elevation: 8,
|
|
@@ -1690,7 +1910,7 @@ function MultiSelect({
|
|
|
1690
1910
|
open: openMultiselect,
|
|
1691
1911
|
onClose: () => setOpen(false)
|
|
1692
1912
|
},
|
|
1693
|
-
/* @__PURE__ */
|
|
1913
|
+
/* @__PURE__ */ React12.createElement(Stack5, { minWidth: "320px", "data-testid": "multiselect-container", bgcolor: "white", boxShadow: 3, borderRadius: 1 }, /* @__PURE__ */ React12.createElement(Stack5, { py: 1, px: 2 }, topPanel != null ? topPanel : /* @__PURE__ */ React12.createElement(FormControl3, { fullWidth: true, size: "small" }, /* @__PURE__ */ React12.createElement(
|
|
1694
1914
|
TextField4,
|
|
1695
1915
|
{
|
|
1696
1916
|
"data-testid": "multiselect-input",
|
|
@@ -1702,18 +1922,18 @@ function MultiSelect({
|
|
|
1702
1922
|
onChange: handleFilterChange,
|
|
1703
1923
|
slotProps: {
|
|
1704
1924
|
input: {
|
|
1705
|
-
endAdornment: /* @__PURE__ */
|
|
1925
|
+
endAdornment: /* @__PURE__ */ React12.createElement(InputAdornment5, { position: "end" }, /* @__PURE__ */ React12.createElement(SearchOutlined, { fontSize: "small" }))
|
|
1706
1926
|
}
|
|
1707
1927
|
}
|
|
1708
1928
|
}
|
|
1709
|
-
))), /* @__PURE__ */
|
|
1929
|
+
))), /* @__PURE__ */ React12.createElement(Stack5, { maxHeight: "300px", overflow: "auto" }, selectAll && /* @__PURE__ */ React12.createElement(MenuItem3, { dense, onClick: handleSelectAll }, /* @__PURE__ */ React12.createElement(ListItemIcon3, null, /* @__PURE__ */ React12.createElement(Checkbox2, { checked: allSelected, color: "primary" })), "Todos los items"), sortedItems.length > 0 ? sortedItems.map((item) => /* @__PURE__ */ React12.createElement(
|
|
1710
1930
|
MenuItem3,
|
|
1711
1931
|
{
|
|
1712
1932
|
key: getItemLabel(item),
|
|
1713
1933
|
dense,
|
|
1714
1934
|
onClick: () => handleCheckboxToggle(item)
|
|
1715
1935
|
},
|
|
1716
|
-
/* @__PURE__ */
|
|
1936
|
+
/* @__PURE__ */ React12.createElement(ListItemIcon3, null, /* @__PURE__ */ React12.createElement(
|
|
1717
1937
|
Checkbox2,
|
|
1718
1938
|
{
|
|
1719
1939
|
checked: selectedItems.includes(item),
|
|
@@ -1721,9 +1941,9 @@ function MultiSelect({
|
|
|
1721
1941
|
}
|
|
1722
1942
|
)),
|
|
1723
1943
|
getItemLabel(item)
|
|
1724
|
-
)) : /* @__PURE__ */
|
|
1944
|
+
)) : /* @__PURE__ */ React12.createElement(MenuItem3, { disabled: true }, "No se encontraron resultados")), /* @__PURE__ */ React12.createElement(Stack5, { direction: "row", gap: 1, p: 1, justifyContent: "space-between", bgcolor: "grey.50" }, resolvedActions.map((button2, index) => {
|
|
1725
1945
|
var _a2;
|
|
1726
|
-
return /* @__PURE__ */
|
|
1946
|
+
return /* @__PURE__ */ React12.createElement(
|
|
1727
1947
|
Button6,
|
|
1728
1948
|
{
|
|
1729
1949
|
key: index,
|
|
@@ -1739,7 +1959,7 @@ function MultiSelect({
|
|
|
1739
1959
|
}
|
|
1740
1960
|
|
|
1741
1961
|
// src/Components/PageHeader/PageHeader.tsx
|
|
1742
|
-
import
|
|
1962
|
+
import React13 from "react";
|
|
1743
1963
|
import { Stack as Stack6, Typography as Typography10 } from "@mui/material";
|
|
1744
1964
|
var PageHeader = ({
|
|
1745
1965
|
title,
|
|
@@ -1749,7 +1969,7 @@ var PageHeader = ({
|
|
|
1749
1969
|
fixed,
|
|
1750
1970
|
shadow = true
|
|
1751
1971
|
}) => {
|
|
1752
|
-
return /* @__PURE__ */
|
|
1972
|
+
return /* @__PURE__ */ React13.createElement(
|
|
1753
1973
|
Stack6,
|
|
1754
1974
|
{
|
|
1755
1975
|
"data-testid": "main-container",
|
|
@@ -1761,12 +1981,12 @@ var PageHeader = ({
|
|
|
1761
1981
|
zIndex: 10,
|
|
1762
1982
|
sx: { boxShadow: shadow ? (theme) => theme.shadows[1] : "none" }
|
|
1763
1983
|
},
|
|
1764
|
-
/* @__PURE__ */
|
|
1984
|
+
/* @__PURE__ */ React13.createElement(Stack6, { "data-testid": "page-header-content", height: 40, px: 3, pl: buttonBack ? 1 : 3, direction: "row", alignItems: "center", justifyContent: "space-between" }, /* @__PURE__ */ React13.createElement(Stack6, { id: "left-section", direction: "row", alignItems: "center", gap: 1 }, buttonBack, /* @__PURE__ */ React13.createElement(Stack6, { id: "text-section", gap: 0.5 }, /* @__PURE__ */ React13.createElement(Typography10, { "data-testid": "page-header-title", variant: "h6", color: "text.primary" }, title), subtitle && /* @__PURE__ */ React13.createElement(Typography10, { "data-testid": "page-header-subtitle", variant: "caption", color: "text.primary" }, subtitle))), actions && /* @__PURE__ */ React13.createElement(Stack6, { id: "right-actions", direction: "row", alignItems: "center", gap: 1 }, actions))
|
|
1765
1985
|
);
|
|
1766
1986
|
};
|
|
1767
1987
|
|
|
1768
1988
|
// src/Components/SCCalendarSwipeable.tsx
|
|
1769
|
-
import
|
|
1989
|
+
import React14, { useState as useState7 } from "react";
|
|
1770
1990
|
import { Typography as Typography11, IconButton as IconButton7, Box as Box10 } from "@mui/material";
|
|
1771
1991
|
import Grid5 from "@mui/material/Grid2";
|
|
1772
1992
|
import { AdapterDateFns } from "@mui/x-date-pickers/AdapterDateFns";
|
|
@@ -1787,12 +2007,12 @@ var SCCalendarSwipeable = ({
|
|
|
1787
2007
|
let convertFecha;
|
|
1788
2008
|
const [fecha, setFecha] = useState7(/* @__PURE__ */ new Date());
|
|
1789
2009
|
const [fechaSeleccionada, setFechaSeleccionada] = useState7();
|
|
1790
|
-
const [stateVal, setstateVal] =
|
|
1791
|
-
const [openCalendar, setOpenCalendar] =
|
|
2010
|
+
const [stateVal, setstateVal] = React14.useState(/* @__PURE__ */ new Date());
|
|
2011
|
+
const [openCalendar, setOpenCalendar] = React14.useState(false);
|
|
1792
2012
|
const hoy = /* @__PURE__ */ new Date();
|
|
1793
2013
|
const inicioSemana = startOfWeek(fecha, { weekStartsOn: 0 });
|
|
1794
2014
|
const diasSemana = Array.from({ length: 7 }, (_, i) => addDays(inicioSemana, i));
|
|
1795
|
-
|
|
2015
|
+
React14.useEffect(() => {
|
|
1796
2016
|
if (fecha != null) {
|
|
1797
2017
|
handleConvertFecha(fecha);
|
|
1798
2018
|
}
|
|
@@ -1811,11 +2031,11 @@ var SCCalendarSwipeable = ({
|
|
|
1811
2031
|
setOpenCalendar(newOpen);
|
|
1812
2032
|
};
|
|
1813
2033
|
const locale = __spreadValues({}, es);
|
|
1814
|
-
return /* @__PURE__ */
|
|
2034
|
+
return /* @__PURE__ */ React14.createElement(React14.Fragment, null, /* @__PURE__ */ React14.createElement(LocalizationProvider2, { dateAdapter: AdapterDateFns, adapterLocale: locale }, openCalendar == false ? /* @__PURE__ */ React14.createElement(Box10, { "data-testid": "calendar-mobile", sx: { width: "100%", background: background ? background : "white", display: "flex", flexDirection: "column", alignItems: "center" } }, /* @__PURE__ */ React14.createElement(Box10, { sx: { width: "100%", maxWidth: "320px", background: "transparent" } }, /* @__PURE__ */ React14.createElement(Grid5, { container: true, gap: 0.5, sx: {
|
|
1815
2035
|
justifyContent: "space-between",
|
|
1816
2036
|
padding: "12px 0px",
|
|
1817
2037
|
background: "transparent"
|
|
1818
|
-
} }, diasSemana.map((dia) => /* @__PURE__ */
|
|
2038
|
+
} }, diasSemana.map((dia) => /* @__PURE__ */ React14.createElement(Grid5, { sx: { width: "36px" }, key: dia.toString() }, /* @__PURE__ */ React14.createElement(Box10, { sx: { width: "36px", height: "40px", display: "flex", alignItems: "center", justifyContent: "center" } }, /* @__PURE__ */ React14.createElement(Typography11, { sx: { fontSize: "12px !important", color: "#10184099" } }, format(dia, "EEEE", { locale: es }).charAt(0).toUpperCase())), /* @__PURE__ */ React14.createElement(
|
|
1819
2039
|
Box10,
|
|
1820
2040
|
{
|
|
1821
2041
|
onClick: () => setFecha(dia),
|
|
@@ -1831,8 +2051,8 @@ var SCCalendarSwipeable = ({
|
|
|
1831
2051
|
//height: '36px',
|
|
1832
2052
|
}
|
|
1833
2053
|
},
|
|
1834
|
-
/* @__PURE__ */
|
|
1835
|
-
)))), /* @__PURE__ */
|
|
2054
|
+
/* @__PURE__ */ React14.createElement(Typography11, { sx: { fontSize: "12px !important", color: isSameDay(dia, fecha) ? "white" : "#101840DE" } }, format(dia, "d"))
|
|
2055
|
+
)))), /* @__PURE__ */ React14.createElement(Grid5, { container: true, justifyContent: "center" }, /* @__PURE__ */ React14.createElement(IconButton7, { "data-testid": "open-calendar-button", onClick: toggleCalendar(true) }, /* @__PURE__ */ React14.createElement(KeyboardDoubleArrowDownIcon, null))))) : /* @__PURE__ */ React14.createElement(Box10, { sx: { width: "100%", background: "white" } }, /* @__PURE__ */ React14.createElement(
|
|
1836
2056
|
StaticDatePicker,
|
|
1837
2057
|
{
|
|
1838
2058
|
orientation: "landscape",
|
|
@@ -1842,17 +2062,17 @@ var SCCalendarSwipeable = ({
|
|
|
1842
2062
|
sx: { fontSize: "12px !important", height: "300px !important", background: background ? background : "white", "& .MuiDayCalendar-header": { justifyContent: "space-between" }, "& .MuiDayCalendar-weekContainer": { justifyContent: "space-between" }, "& .MuiPickersCalendarHeader-root": { paddingLeft: "0px", paddingRight: "0px", color: "#10184099" }, "& .MuiPickersDay-root": { fontSize: "12px !important" }, "& .MuiDayCalendar-weekDayLabel": { fontSize: "12px !important" } },
|
|
1843
2063
|
onChange: (newValue) => setFecha(newValue)
|
|
1844
2064
|
}
|
|
1845
|
-
), /* @__PURE__ */
|
|
2065
|
+
), /* @__PURE__ */ React14.createElement(Grid5, { container: true, justifyContent: "center" }, /* @__PURE__ */ React14.createElement(IconButton7, { "data-testid": "close-calendar-button", onClick: toggleCalendar(false) }, /* @__PURE__ */ React14.createElement(KeyboardDoubleArrowUpIcon, null))))));
|
|
1846
2066
|
};
|
|
1847
2067
|
|
|
1848
2068
|
// src/Components/SCDataGrid.tsx
|
|
1849
|
-
import
|
|
2069
|
+
import React15, { useEffect as useEffect12, useState as useState8 } from "react";
|
|
1850
2070
|
import { DataGridPro, useGridApiRef } from "@mui/x-data-grid-pro";
|
|
1851
2071
|
import { LicenseInfo as LicenseInfo2 } from "@mui/x-license-pro";
|
|
1852
2072
|
import KeyboardArrowDownIcon from "@mui/icons-material/KeyboardArrowDown";
|
|
1853
2073
|
import KeyboardArrowUpIcon from "@mui/icons-material/KeyboardArrowUp";
|
|
1854
2074
|
import { useTheme } from "@mui/material/styles";
|
|
1855
|
-
|
|
2075
|
+
function SCDataGridInitial({ data, columns, groupColumns, rowsTable, checkboxSelection, width, maxHeight, density }) {
|
|
1856
2076
|
LicenseInfo2.setLicenseKey(
|
|
1857
2077
|
"77d49a57fbc5f4af35ddb05c5f1742e0Tz0xMTI3MjgsRT0xNzc4MzcxMTk5MDAwLFM9cHJvLExNPXN1YnNjcmlwdGlvbixQVj1RMy0yMDI0LEtWPTI="
|
|
1858
2078
|
);
|
|
@@ -1863,45 +2083,80 @@ var SCDataGridInitial = ({ data, columns, groupColumns, rowsTable, checkboxSelec
|
|
|
1863
2083
|
return Math.floor(Math.random() * 1e6);
|
|
1864
2084
|
}
|
|
1865
2085
|
const getTreeDataPaths = (row) => {
|
|
2086
|
+
var _a, _b, _c;
|
|
2087
|
+
const group1Value = groupColumns && ((_a = groupColumns(row)) == null ? void 0 : _a.valueGroup1);
|
|
2088
|
+
const group2Value = groupColumns && ((_b = groupColumns(row)) == null ? void 0 : _b.valueGroup2);
|
|
2089
|
+
const fieldValue = groupColumns && ((_c = groupColumns(row)) == null ? void 0 : _c.fieldFirstColumn);
|
|
1866
2090
|
return [
|
|
1867
|
-
|
|
1868
|
-
...
|
|
1869
|
-
`${
|
|
2091
|
+
String(group1Value || ""),
|
|
2092
|
+
...group2Value ? [String(group2Value)] : [],
|
|
2093
|
+
`${String(fieldValue || "")}/${generateRandomId()}`
|
|
1870
2094
|
];
|
|
1871
2095
|
};
|
|
1872
2096
|
const groupingColDefs = {
|
|
1873
2097
|
field: "grouping",
|
|
1874
|
-
headerName: groupColumns
|
|
2098
|
+
headerName: groupColumns ? groupColumns(data[0]).headerNameFirstColumn : "Agrupador",
|
|
1875
2099
|
renderCell: (params) => {
|
|
1876
|
-
var _a;
|
|
2100
|
+
var _a, _b;
|
|
1877
2101
|
let label = params.value.toString().includes("/") ? params.value.split("/")[0].toString() : params.value.toString();
|
|
1878
|
-
|
|
1879
|
-
if (groupColumns
|
|
2102
|
+
let maxDepth = 0;
|
|
2103
|
+
if (groupColumns && data.length > 0) {
|
|
2104
|
+
const sampleItem = groupColumns(data[0]);
|
|
2105
|
+
if (sampleItem.valueGroup1) maxDepth++;
|
|
2106
|
+
if (sampleItem.valueGroup2) maxDepth++;
|
|
2107
|
+
maxDepth = Math.max(0, maxDepth - 1);
|
|
2108
|
+
}
|
|
2109
|
+
if (groupColumns) {
|
|
1880
2110
|
if (params.rowNode.depth === 0) {
|
|
1881
|
-
|
|
1882
|
-
|
|
1883
|
-
|
|
1884
|
-
|
|
1885
|
-
|
|
1886
|
-
|
|
2111
|
+
let customLabel = label;
|
|
2112
|
+
if (groupColumns) {
|
|
2113
|
+
const originalItem = data.find(
|
|
2114
|
+
(item) => {
|
|
2115
|
+
var _a2;
|
|
2116
|
+
return String((_a2 = groupColumns(item)) == null ? void 0 : _a2.valueGroup1) === label;
|
|
2117
|
+
}
|
|
2118
|
+
);
|
|
2119
|
+
if (originalItem) {
|
|
2120
|
+
const itemValue = groupColumns(originalItem);
|
|
2121
|
+
customLabel = itemValue.textGroup1 || label;
|
|
2122
|
+
}
|
|
2123
|
+
}
|
|
2124
|
+
const subgroup1 = arrayRows.filter((r) => {
|
|
2125
|
+
var _a2;
|
|
2126
|
+
return groupColumns && String((_a2 = groupColumns(r)) == null ? void 0 : _a2.valueGroup1) === label;
|
|
2127
|
+
}).map((r) => {
|
|
2128
|
+
var _a2;
|
|
2129
|
+
return groupColumns && String((_a2 = groupColumns(r)) == null ? void 0 : _a2.valueGroup2);
|
|
2130
|
+
});
|
|
1887
2131
|
const groupedDataLength1 = subgroup1.filter((valor, indiceActual, arreglo) => arreglo.indexOf(valor) === indiceActual);
|
|
1888
|
-
label = `${
|
|
1889
|
-
} else if (groupColumns
|
|
1890
|
-
const labelGrouping1 = (
|
|
1891
|
-
|
|
1892
|
-
|
|
1893
|
-
|
|
1894
|
-
|
|
1895
|
-
|
|
2132
|
+
label = `${customLabel} (${groupedDataLength1.length})`;
|
|
2133
|
+
} else if (((_a = groupColumns(data[0])) == null ? void 0 : _a.valueGroup2) && params.rowNode.depth === 1) {
|
|
2134
|
+
const labelGrouping1 = (_b = params.api.getRowNode(params.rowNode.parent)) == null ? void 0 : _b.groupingKey.toString();
|
|
2135
|
+
let customLabel = label;
|
|
2136
|
+
if (groupColumns) {
|
|
2137
|
+
const originalItem = data.find(
|
|
2138
|
+
(item) => {
|
|
2139
|
+
var _a2;
|
|
2140
|
+
return String((_a2 = groupColumns(item)) == null ? void 0 : _a2.valueGroup2) === label;
|
|
2141
|
+
}
|
|
2142
|
+
);
|
|
2143
|
+
if (originalItem) {
|
|
2144
|
+
const itemValue = groupColumns(originalItem);
|
|
2145
|
+
customLabel = itemValue.textGroup2 || label;
|
|
2146
|
+
}
|
|
2147
|
+
}
|
|
1896
2148
|
const groupedDataLength2 = arrayRows.filter(
|
|
1897
|
-
(r) =>
|
|
2149
|
+
(r) => {
|
|
2150
|
+
var _a2, _b2;
|
|
2151
|
+
return groupColumns && String((_a2 = groupColumns(r)) == null ? void 0 : _a2.valueGroup1) === labelGrouping1 && groupColumns && String((_b2 = groupColumns(r)) == null ? void 0 : _b2.valueGroup2) === label;
|
|
2152
|
+
}
|
|
1898
2153
|
).length;
|
|
1899
|
-
label = `${
|
|
2154
|
+
label = `${customLabel} (${groupedDataLength2})`;
|
|
1900
2155
|
} else {
|
|
1901
2156
|
label = label;
|
|
1902
2157
|
}
|
|
1903
2158
|
}
|
|
1904
|
-
return /* @__PURE__ */
|
|
2159
|
+
return /* @__PURE__ */ React15.createElement(
|
|
1905
2160
|
"div",
|
|
1906
2161
|
{
|
|
1907
2162
|
style: {
|
|
@@ -1918,7 +2173,7 @@ var SCDataGridInitial = ({ data, columns, groupColumns, rowsTable, checkboxSelec
|
|
|
1918
2173
|
fontWeight: params.rowNode.type == "group" ? "400" : "300"
|
|
1919
2174
|
}
|
|
1920
2175
|
},
|
|
1921
|
-
params.rowNode.type === "group" && /* @__PURE__ */
|
|
2176
|
+
params.rowNode.type === "group" && /* @__PURE__ */ React15.createElement(
|
|
1922
2177
|
"span",
|
|
1923
2178
|
{
|
|
1924
2179
|
style: {
|
|
@@ -1931,25 +2186,32 @@ var SCDataGridInitial = ({ data, columns, groupColumns, rowsTable, checkboxSelec
|
|
|
1931
2186
|
params.api.setRowChildrenExpansion(params.id, !params.rowNode.childrenExpanded);
|
|
1932
2187
|
}
|
|
1933
2188
|
},
|
|
1934
|
-
params.rowNode.childrenExpanded ? /* @__PURE__ */
|
|
2189
|
+
params.rowNode.childrenExpanded ? /* @__PURE__ */ React15.createElement(KeyboardArrowUpIcon, { fontSize: "small", color: "action" }) : /* @__PURE__ */ React15.createElement(KeyboardArrowDownIcon, { fontSize: "small", color: "action" })
|
|
1935
2190
|
),
|
|
1936
2191
|
label
|
|
1937
2192
|
);
|
|
1938
2193
|
},
|
|
1939
2194
|
colSpan: (params) => {
|
|
2195
|
+
var _a, _b;
|
|
1940
2196
|
const value = String(params);
|
|
1941
|
-
const fieldGrouping1 = groupColumns[0]
|
|
1942
|
-
const fieldGrouping2 = groupColumns
|
|
2197
|
+
const fieldGrouping1 = groupColumns ? (_a = groupColumns(data[0])) == null ? void 0 : _a.valueGroup1 : void 0;
|
|
2198
|
+
const fieldGrouping2 = groupColumns ? (_b = groupColumns(data[0])) == null ? void 0 : _b.valueGroup2 : void 0;
|
|
1943
2199
|
let agrupado1 = false;
|
|
1944
2200
|
let agrupado2 = false;
|
|
1945
2201
|
if (fieldGrouping1 != void 0) {
|
|
1946
2202
|
agrupado1 = arrayRows.some(
|
|
1947
|
-
(row) =>
|
|
2203
|
+
(row) => {
|
|
2204
|
+
var _a2;
|
|
2205
|
+
return groupColumns && String((_a2 = groupColumns(row)) == null ? void 0 : _a2.valueGroup1) === value;
|
|
2206
|
+
}
|
|
1948
2207
|
);
|
|
1949
2208
|
}
|
|
1950
2209
|
if (fieldGrouping2 != void 0) {
|
|
1951
2210
|
agrupado2 = arrayRows.some(
|
|
1952
|
-
(row) =>
|
|
2211
|
+
(row) => {
|
|
2212
|
+
var _a2;
|
|
2213
|
+
return groupColumns && String((_a2 = groupColumns(row)) == null ? void 0 : _a2.valueGroup2) === value;
|
|
2214
|
+
}
|
|
1953
2215
|
);
|
|
1954
2216
|
}
|
|
1955
2217
|
if (agrupado1 || agrupado2) {
|
|
@@ -1970,7 +2232,7 @@ var SCDataGridInitial = ({ data, columns, groupColumns, rowsTable, checkboxSelec
|
|
|
1970
2232
|
const [pageSize, setPageSize] = useState8(rows);
|
|
1971
2233
|
const [arrayRows, setArrayRows] = useState8([]);
|
|
1972
2234
|
const [selectionModel, setSelectionModel] = useState8([]);
|
|
1973
|
-
|
|
2235
|
+
useEffect12(() => {
|
|
1974
2236
|
if ((data == null ? void 0 : data.length) > 0) {
|
|
1975
2237
|
dataConvertRows(data, void 0);
|
|
1976
2238
|
}
|
|
@@ -2026,7 +2288,7 @@ var SCDataGridInitial = ({ data, columns, groupColumns, rowsTable, checkboxSelec
|
|
|
2026
2288
|
setSelectionModel([...newSelection]);
|
|
2027
2289
|
}
|
|
2028
2290
|
};
|
|
2029
|
-
return /* @__PURE__ */
|
|
2291
|
+
return /* @__PURE__ */ React15.createElement(React15.Fragment, null, data && /* @__PURE__ */ React15.createElement(React15.Fragment, null, /* @__PURE__ */ React15.createElement("div", { style: { width: width || "100%", maxHeight: maxHeight ? `${maxHeight}px` : "none" } }, /* @__PURE__ */ React15.createElement(
|
|
2030
2292
|
DataGridPro,
|
|
2031
2293
|
{
|
|
2032
2294
|
apiRef,
|
|
@@ -2060,7 +2322,6 @@ var SCDataGridInitial = ({ data, columns, groupColumns, rowsTable, checkboxSelec
|
|
|
2060
2322
|
},
|
|
2061
2323
|
sx: {
|
|
2062
2324
|
maxHeight: maxHeight ? `${maxHeight}px` : "none",
|
|
2063
|
-
//overflow: 'auto',
|
|
2064
2325
|
"& .MuiDataGrid-filler": {
|
|
2065
2326
|
display: "none !important"
|
|
2066
2327
|
},
|
|
@@ -2090,14 +2351,14 @@ var SCDataGridInitial = ({ data, columns, groupColumns, rowsTable, checkboxSelec
|
|
|
2090
2351
|
}
|
|
2091
2352
|
}
|
|
2092
2353
|
))));
|
|
2093
|
-
}
|
|
2094
|
-
var SCDataGrid =
|
|
2095
|
-
const isEqual = prevProps.
|
|
2354
|
+
}
|
|
2355
|
+
var SCDataGrid = React15.memo(SCDataGridInitial, (prevProps, nextProps) => {
|
|
2356
|
+
const isEqual = prevProps.rowsTable === nextProps.rowsTable && prevProps.checkboxSelection === nextProps.checkboxSelection && prevProps.width === nextProps.width && prevProps.maxHeight === nextProps.maxHeight && prevProps.density === nextProps.density;
|
|
2096
2357
|
return isEqual;
|
|
2097
2358
|
});
|
|
2098
2359
|
|
|
2099
2360
|
// src/Components/EmptyState/EmptyState.tsx
|
|
2100
|
-
import
|
|
2361
|
+
import React16 from "react";
|
|
2101
2362
|
import { Button as Button8, Stack as Stack7, Typography as Typography12 } from "@mui/material";
|
|
2102
2363
|
|
|
2103
2364
|
// src/assets/ImgEmptyState/create.svg
|
|
@@ -2125,7 +2386,7 @@ var DefaultIcon = ({
|
|
|
2125
2386
|
}) => {
|
|
2126
2387
|
const imageUrl = EmptyStateImageUrls[state];
|
|
2127
2388
|
const iconSize = size === "small" ? { width: "40px", height: "40px" } : { width: "60px", height: "60px" };
|
|
2128
|
-
return /* @__PURE__ */
|
|
2389
|
+
return /* @__PURE__ */ React16.createElement("img", { src: imageUrl, alt: state, style: iconSize });
|
|
2129
2390
|
};
|
|
2130
2391
|
var EmptyState = ({
|
|
2131
2392
|
state = "create",
|
|
@@ -2134,11 +2395,11 @@ var EmptyState = ({
|
|
|
2134
2395
|
subtitle,
|
|
2135
2396
|
actions,
|
|
2136
2397
|
containerHeight = "100vh",
|
|
2137
|
-
icon = /* @__PURE__ */
|
|
2398
|
+
icon = /* @__PURE__ */ React16.createElement(DefaultIcon, { state, size })
|
|
2138
2399
|
}) => {
|
|
2139
2400
|
const titleVariant = size === "small" ? "subtitle2" : "h6";
|
|
2140
2401
|
const subtitleVariant = size === "small" ? "caption" : "body1";
|
|
2141
|
-
return /* @__PURE__ */
|
|
2402
|
+
return /* @__PURE__ */ React16.createElement(
|
|
2142
2403
|
Stack7,
|
|
2143
2404
|
{
|
|
2144
2405
|
alignItems: "center",
|
|
@@ -2147,8 +2408,8 @@ var EmptyState = ({
|
|
|
2147
2408
|
height: containerHeight,
|
|
2148
2409
|
"data-testid": "empty-state-container"
|
|
2149
2410
|
},
|
|
2150
|
-
icon && /* @__PURE__ */
|
|
2151
|
-
/* @__PURE__ */
|
|
2411
|
+
icon && /* @__PURE__ */ React16.createElement(Stack7, null, icon),
|
|
2412
|
+
/* @__PURE__ */ React16.createElement(Stack7, { gap: 0.5 }, /* @__PURE__ */ React16.createElement(Typography12, { color: "text.primary", variant: titleVariant, textAlign: "center" }, title), subtitle && /* @__PURE__ */ React16.createElement(
|
|
2152
2413
|
Typography12,
|
|
2153
2414
|
{
|
|
2154
2415
|
variant: subtitleVariant,
|
|
@@ -2156,7 +2417,7 @@ var EmptyState = ({
|
|
|
2156
2417
|
color: "text.secondary"
|
|
2157
2418
|
},
|
|
2158
2419
|
subtitle
|
|
2159
|
-
), actions && (actions == null ? void 0 : actions.length) > 0 && /* @__PURE__ */
|
|
2420
|
+
), actions && (actions == null ? void 0 : actions.length) > 0 && /* @__PURE__ */ React16.createElement(
|
|
2160
2421
|
Stack7,
|
|
2161
2422
|
{
|
|
2162
2423
|
direction: "row",
|
|
@@ -2166,15 +2427,15 @@ var EmptyState = ({
|
|
|
2166
2427
|
},
|
|
2167
2428
|
actions.map((action, index) => {
|
|
2168
2429
|
var _a, _b, _c, _d;
|
|
2169
|
-
return /* @__PURE__ */
|
|
2430
|
+
return /* @__PURE__ */ React16.createElement(
|
|
2170
2431
|
Button8,
|
|
2171
2432
|
{
|
|
2172
2433
|
key: index,
|
|
2173
2434
|
color: (_a = action.color) != null ? _a : "primary",
|
|
2174
2435
|
variant: (_b = action.variant) != null ? _b : "text",
|
|
2175
2436
|
size: (_c = action.size) != null ? _c : "small",
|
|
2176
|
-
startIcon: action.icon && action.iconPosition === "left" ? /* @__PURE__ */
|
|
2177
|
-
endIcon: action.icon && action.iconPosition === "right" ? /* @__PURE__ */
|
|
2437
|
+
startIcon: action.icon && action.iconPosition === "left" ? /* @__PURE__ */ React16.createElement("img", { src: action.icon, alt: "icon" }) : void 0,
|
|
2438
|
+
endIcon: action.icon && action.iconPosition === "right" ? /* @__PURE__ */ React16.createElement("img", { src: action.icon, alt: "icon" }) : void 0,
|
|
2178
2439
|
onClick: action.onClick
|
|
2179
2440
|
},
|
|
2180
2441
|
capitalize((_d = action.text) != null ? _d : "action")
|
|
@@ -2185,7 +2446,7 @@ var EmptyState = ({
|
|
|
2185
2446
|
};
|
|
2186
2447
|
|
|
2187
2448
|
// src/Components/SCDialog.tsx
|
|
2188
|
-
import
|
|
2449
|
+
import React17, { useEffect as useEffect13, useState as useState9 } from "react";
|
|
2189
2450
|
import { Button as Button9, Typography as Typography13, Modal as Modal2, Dialog, DialogActions, DialogContent, DialogTitle, IconButton as IconButton8, Tooltip as Tooltip3, Box as Box11, SvgIcon as SvgIcon5 } from "@mui/material";
|
|
2190
2451
|
import Grid6 from "@mui/material/Grid2";
|
|
2191
2452
|
import CloseIcon2 from "@mui/icons-material/Close";
|
|
@@ -2196,7 +2457,7 @@ var SCDialog = ({ title, iconTitle, subtitle, content, actions, buttonDialog, di
|
|
|
2196
2457
|
let IconTitle;
|
|
2197
2458
|
let ButtonIcon;
|
|
2198
2459
|
const [open, setOpen] = useState9(show);
|
|
2199
|
-
|
|
2460
|
+
useEffect13(() => {
|
|
2200
2461
|
if (show) {
|
|
2201
2462
|
handleOpen();
|
|
2202
2463
|
} else {
|
|
@@ -2221,7 +2482,7 @@ var SCDialog = ({ title, iconTitle, subtitle, content, actions, buttonDialog, di
|
|
|
2221
2482
|
});
|
|
2222
2483
|
if (iconTitle) {
|
|
2223
2484
|
if (Muicon5[iconTitle] == void 0) {
|
|
2224
|
-
if (iconTitle &&
|
|
2485
|
+
if (iconTitle && React17.isValidElement(iconTitle) && iconTitle.type == void 0) {
|
|
2225
2486
|
iconTitleValidation = "image";
|
|
2226
2487
|
IconTitle = iconTitle;
|
|
2227
2488
|
} else {
|
|
@@ -2246,8 +2507,8 @@ var SCDialog = ({ title, iconTitle, subtitle, content, actions, buttonDialog, di
|
|
|
2246
2507
|
}
|
|
2247
2508
|
};
|
|
2248
2509
|
const dialogActions = actions != null ? actions : [{ text: "Cerrar", fn: handleClose }];
|
|
2249
|
-
content = content != null ? content : { component: /* @__PURE__ */
|
|
2250
|
-
return /* @__PURE__ */
|
|
2510
|
+
content = content != null ? content : { component: /* @__PURE__ */ React17.createElement(Box11, null, " Aqui va el contenido ") };
|
|
2511
|
+
return /* @__PURE__ */ React17.createElement("div", null, buttonDialog ? /* @__PURE__ */ React17.createElement(React17.Fragment, null, buttonDialog.text != void 0 ? /* @__PURE__ */ React17.createElement(Tooltip3, { placement: "bottom-start", title: buttonDialog.tooltip != void 0 ? buttonDialog.tooltip : "", slotProps: { popper: { modifiers: [{ name: "offset", options: { offset: [0, -14] } }] } } }, /* @__PURE__ */ React17.createElement(Button9, { size: "small", color: buttonDialog.color != void 0 ? buttonDialog.color : "primary", variant: (buttonDialog == null ? void 0 : buttonDialog.variant) != void 0 ? buttonDialog == null ? void 0 : buttonDialog.variant : "text", startIcon: (buttonDialog == null ? void 0 : buttonDialog.iconPosition) != void 0 ? (buttonDialog == null ? void 0 : buttonDialog.iconPosition) == "left" ? /* @__PURE__ */ React17.createElement(ButtonIcon, null) : "" : "", endIcon: (buttonDialog == null ? void 0 : buttonDialog.iconPosition) != void 0 ? (buttonDialog == null ? void 0 : buttonDialog.iconPosition) == "right" ? /* @__PURE__ */ React17.createElement(ButtonIcon, null) : "" : "", onClick: handleOpen }, " ", (buttonDialog == null ? void 0 : buttonDialog.text) != void 0 ? buttonDialog.text : "", " ")) : /* @__PURE__ */ React17.createElement(IconButton8, { style: { cursor: "pointer" }, onClick: handleOpen }, /* @__PURE__ */ React17.createElement(SvgIcon5, { fontSize: "small", color: (buttonDialog == null ? void 0 : buttonDialog.color) != void 0 ? buttonDialog == null ? void 0 : buttonDialog.color : "action", component: ButtonIcon }))) : "", /* @__PURE__ */ React17.createElement(Modal2, { open: open || false, onClose: handleClose }, /* @__PURE__ */ React17.createElement(
|
|
2251
2512
|
Dialog,
|
|
2252
2513
|
{
|
|
2253
2514
|
"data-testid": "dialog-element",
|
|
@@ -2261,8 +2522,8 @@ var SCDialog = ({ title, iconTitle, subtitle, content, actions, buttonDialog, di
|
|
|
2261
2522
|
}
|
|
2262
2523
|
}
|
|
2263
2524
|
},
|
|
2264
|
-
title && /* @__PURE__ */
|
|
2265
|
-
/* @__PURE__ */
|
|
2525
|
+
title && /* @__PURE__ */ React17.createElement(DialogTitle, { sx: { m: 0, padding: "8px 16px 8px 16px" }, "data-testid": "dialog-icon-title" }, /* @__PURE__ */ React17.createElement(Grid6, { container: true, size: 12, sx: { justifyContent: "space-between", flexWrap: "nowrap" } }, /* @__PURE__ */ React17.createElement(Grid6, { container: true, size: 11, sx: { alignItems: "center" } }, iconTitle ? iconTitleValidation == "image" ? /* @__PURE__ */ React17.createElement(Box11, { sx: { marginRight: "16px", width: "44px", height: "44px", borderRadius: "1px" } }, /* @__PURE__ */ React17.createElement("img", { src: IconTitle, width: "44px", height: "44px" })) : /* @__PURE__ */ React17.createElement(SvgIcon5, { color: "action", fontSize: "small", component: IconTitle, sx: { marginRight: "16px" } }) : "", /* @__PURE__ */ React17.createElement(Grid6, null, /* @__PURE__ */ React17.createElement(Typography13, { color: "text.primary", variant: "h6", gutterBottom: true }, title ? title : ""), /* @__PURE__ */ React17.createElement(Typography13, { color: "text.secondary", variant: "body2", gutterBottom: true }, subtitle ? subtitle : ""))), disableClose != true ? /* @__PURE__ */ React17.createElement(IconButton8, { "data-testid": "close-dialog-button", onClick: handleClose, size: "small", color: "default", sx: { height: 22, width: 22 } }, /* @__PURE__ */ React17.createElement(CloseIcon2, null)) : "")),
|
|
2526
|
+
/* @__PURE__ */ React17.createElement(
|
|
2266
2527
|
DialogContent,
|
|
2267
2528
|
{
|
|
2268
2529
|
"data-testid": "dialog-content",
|
|
@@ -2290,7 +2551,7 @@ var SCDialog = ({ title, iconTitle, subtitle, content, actions, buttonDialog, di
|
|
|
2290
2551
|
}
|
|
2291
2552
|
}
|
|
2292
2553
|
},
|
|
2293
|
-
content.url ? /* @__PURE__ */
|
|
2554
|
+
content.url ? /* @__PURE__ */ React17.createElement(
|
|
2294
2555
|
"iframe",
|
|
2295
2556
|
{
|
|
2296
2557
|
style: { border: "none", minWidth: "100%", minHeight: "100%" },
|
|
@@ -2300,7 +2561,7 @@ var SCDialog = ({ title, iconTitle, subtitle, content, actions, buttonDialog, di
|
|
|
2300
2561
|
}
|
|
2301
2562
|
) : content.component
|
|
2302
2563
|
),
|
|
2303
|
-
dialogActions.length > 0 ? /* @__PURE__ */
|
|
2564
|
+
dialogActions.length > 0 ? /* @__PURE__ */ React17.createElement(DialogActions, { sx: { gap: 1, m: 0, padding: "12px 16px 12px 16px", justifyContent: dialogActions.length >= 3 ? "space-between" : "flex-end" } }, dialogActions.length >= 3 ? /* @__PURE__ */ React17.createElement(React17.Fragment, null, /* @__PURE__ */ React17.createElement(
|
|
2304
2565
|
Button9,
|
|
2305
2566
|
{
|
|
2306
2567
|
variant: "text",
|
|
@@ -2308,11 +2569,11 @@ var SCDialog = ({ title, iconTitle, subtitle, content, actions, buttonDialog, di
|
|
|
2308
2569
|
size: "small",
|
|
2309
2570
|
onClick: dialogActions[0].fn,
|
|
2310
2571
|
disabled: dialogActions[0].disabled || false,
|
|
2311
|
-
startIcon: dialogActions[0].icon ? /* @__PURE__ */
|
|
2572
|
+
startIcon: dialogActions[0].icon ? /* @__PURE__ */ React17.createElement(SvgIcon5, { fontSize: "small", component: dialogActions[0].icon }) : void 0
|
|
2312
2573
|
},
|
|
2313
2574
|
dialogActions[0].text
|
|
2314
|
-
), /* @__PURE__ */
|
|
2315
|
-
return /* @__PURE__ */
|
|
2575
|
+
), /* @__PURE__ */ React17.createElement(Box11, { sx: { display: "flex", gap: 1 } }, dialogActions.slice(1).map((boton, index) => {
|
|
2576
|
+
return /* @__PURE__ */ React17.createElement(
|
|
2316
2577
|
Button9,
|
|
2317
2578
|
{
|
|
2318
2579
|
key: index + 1,
|
|
@@ -2321,12 +2582,12 @@ var SCDialog = ({ title, iconTitle, subtitle, content, actions, buttonDialog, di
|
|
|
2321
2582
|
size: "small",
|
|
2322
2583
|
onClick: boton.fn,
|
|
2323
2584
|
disabled: boton.disabled || false,
|
|
2324
|
-
startIcon: boton.icon ? /* @__PURE__ */
|
|
2585
|
+
startIcon: boton.icon ? /* @__PURE__ */ React17.createElement(SvgIcon5, { fontSize: "small", component: boton.icon }) : void 0
|
|
2325
2586
|
},
|
|
2326
2587
|
boton.text
|
|
2327
2588
|
);
|
|
2328
2589
|
}))) : dialogActions.map((boton, index) => {
|
|
2329
|
-
return /* @__PURE__ */
|
|
2590
|
+
return /* @__PURE__ */ React17.createElement(
|
|
2330
2591
|
Button9,
|
|
2331
2592
|
{
|
|
2332
2593
|
key: index,
|
|
@@ -2335,7 +2596,7 @@ var SCDialog = ({ title, iconTitle, subtitle, content, actions, buttonDialog, di
|
|
|
2335
2596
|
size: "small",
|
|
2336
2597
|
onClick: boton.fn,
|
|
2337
2598
|
disabled: boton.disabled || false,
|
|
2338
|
-
startIcon: boton.icon ? /* @__PURE__ */
|
|
2599
|
+
startIcon: boton.icon ? /* @__PURE__ */ React17.createElement(SvgIcon5, { fontSize: "small", component: boton.icon }) : void 0
|
|
2339
2600
|
},
|
|
2340
2601
|
boton.text
|
|
2341
2602
|
);
|
|
@@ -2344,12 +2605,12 @@ var SCDialog = ({ title, iconTitle, subtitle, content, actions, buttonDialog, di
|
|
|
2344
2605
|
};
|
|
2345
2606
|
|
|
2346
2607
|
// src/Components/SCMenu.tsx
|
|
2347
|
-
import
|
|
2608
|
+
import React18 from "react";
|
|
2348
2609
|
import { Box as Box12, Typography as Typography14, Paper, Divider as Divider4, MenuList, MenuItem as MenuItem4, ListItemIcon as ListItemIcon4, SvgIcon as SvgIcon6 } from "@mui/material";
|
|
2349
2610
|
import Grid7 from "@mui/material/Grid2";
|
|
2350
2611
|
|
|
2351
2612
|
// src/Components/Hooks/useWindowDimensions.ts
|
|
2352
|
-
import { useState as useState10, useEffect as
|
|
2613
|
+
import { useState as useState10, useEffect as useEffect14 } from "react";
|
|
2353
2614
|
function getWindowDimensions() {
|
|
2354
2615
|
const { innerWidth: width, innerHeight: height } = window;
|
|
2355
2616
|
return {
|
|
@@ -2359,7 +2620,7 @@ function getWindowDimensions() {
|
|
|
2359
2620
|
}
|
|
2360
2621
|
function useWindowDimensions() {
|
|
2361
2622
|
const [windowDimensions, setWindowDimensions] = useState10(getWindowDimensions());
|
|
2362
|
-
|
|
2623
|
+
useEffect14(() => {
|
|
2363
2624
|
function handleResize() {
|
|
2364
2625
|
setWindowDimensions(getWindowDimensions());
|
|
2365
2626
|
}
|
|
@@ -2377,12 +2638,12 @@ var SCMenu = ({ header, options, defaultOption, disable, widthMenu, heightMenu,
|
|
|
2377
2638
|
const pageSize = widthPage ? parseInt(widthPage) : width - menuSize;
|
|
2378
2639
|
const widthContainer = menuSize + pageSize;
|
|
2379
2640
|
let heightContainer = heightMenu ? parseInt(heightMenu) : height - 76;
|
|
2380
|
-
const [selectedIndex, setSelectedIndex] =
|
|
2381
|
-
const [value, setValue] =
|
|
2382
|
-
|
|
2641
|
+
const [selectedIndex, setSelectedIndex] = React18.useState("1");
|
|
2642
|
+
const [value, setValue] = React18.useState("1");
|
|
2643
|
+
React18.useEffect(() => {
|
|
2383
2644
|
heightContainer = heightMenu ? parseInt(heightMenu) : height - 76;
|
|
2384
2645
|
}, [height]);
|
|
2385
|
-
|
|
2646
|
+
React18.useEffect(() => {
|
|
2386
2647
|
if (defaultOption) {
|
|
2387
2648
|
handleClickMenusItem(event, void 0);
|
|
2388
2649
|
}
|
|
@@ -2412,7 +2673,7 @@ var SCMenu = ({ header, options, defaultOption, disable, widthMenu, heightMenu,
|
|
|
2412
2673
|
setValue(String(index + 1));
|
|
2413
2674
|
}
|
|
2414
2675
|
};
|
|
2415
|
-
return /* @__PURE__ */
|
|
2676
|
+
return /* @__PURE__ */ React18.createElement(React18.Fragment, null, /* @__PURE__ */ React18.createElement(Grid7, { container: true, sx: { height: heightContainer, width: widthContainer, flexDirection: "column" } }, /* @__PURE__ */ React18.createElement(Paper, { "data-testid": "menu-content", sx: { width: menuSize, height: heightContainer, overflow: "auto" } }, header && header.component, /* @__PURE__ */ React18.createElement(MenuList, { sx: { height: options.length * 45, padding: "8px 0px" } }, options.map((option, index) => /* @__PURE__ */ React18.createElement(React18.Fragment, null, /* @__PURE__ */ React18.createElement(
|
|
2416
2677
|
MenuItem4,
|
|
2417
2678
|
{
|
|
2418
2679
|
disabled: disable == true ? true : false,
|
|
@@ -2420,26 +2681,26 @@ var SCMenu = ({ header, options, defaultOption, disable, widthMenu, heightMenu,
|
|
|
2420
2681
|
selected: String(index + 1) === selectedIndex,
|
|
2421
2682
|
onClick: (event2) => handleClickMenusItem(event2, index)
|
|
2422
2683
|
},
|
|
2423
|
-
option.iconLeft ? /* @__PURE__ */
|
|
2424
|
-
/* @__PURE__ */
|
|
2425
|
-
), option.divider == true ? /* @__PURE__ */
|
|
2684
|
+
option.iconLeft ? /* @__PURE__ */ React18.createElement(ListItemIcon4, { sx: { color: String(index + 1) === selectedIndex ? "primary" : "active" } }, /* @__PURE__ */ React18.createElement(SvgIcon6, { fontSize: "small", color: String(index + 1) === selectedIndex ? "primary" : "action", component: option.iconLeft })) : "",
|
|
2685
|
+
/* @__PURE__ */ React18.createElement(Grid7, { container: true, size: 12, sx: { maxWidth: 220, flexWrap: "noWrap", alignItems: "center" } }, /* @__PURE__ */ React18.createElement(Typography14, { noWrap: true, variant: "caption", color: String(index + 1) === selectedIndex ? "primary" : "active" }, option.name), option.iconRight ? /* @__PURE__ */ React18.createElement(ListItemIcon4, { sx: { minWidth: "0px !important", color: String(index + 1) === selectedIndex ? "primary" : "active" } }, /* @__PURE__ */ React18.createElement(SvgIcon6, { fontSize: "small", color: String(index + 1) === selectedIndex ? "primary" : "action", component: option.iconRight })) : "")
|
|
2686
|
+
), option.divider == true ? /* @__PURE__ */ React18.createElement(Divider4, null) : "")))), /* @__PURE__ */ React18.createElement(Grid7, { container: true }, options.map((option, index) => option.page ? String(index + 1) == value ? /* @__PURE__ */ React18.createElement(Box12, { "data-testid": "menu-page-content", sx: { padding: "16px", width: pageSize, height: heightContainer }, key: index }, option.page) : "" : /* @__PURE__ */ React18.createElement(Typography14, { color: "error" }, "No se ha configurado el componente a visualizar")))));
|
|
2426
2687
|
};
|
|
2427
2688
|
|
|
2428
2689
|
// src/Components/SCTabs.tsx
|
|
2429
|
-
import
|
|
2690
|
+
import React19, { useEffect as useEffect15 } from "react";
|
|
2430
2691
|
import { Typography as Typography15, Box as Box13, SvgIcon as SvgIcon7, Tab, Tabs, Badge } from "@mui/material";
|
|
2431
2692
|
import TabPanel from "@mui/lab/TabPanel";
|
|
2432
2693
|
import TabContext from "@mui/lab/TabContext";
|
|
2433
2694
|
import * as Muicon7 from "@mui/icons-material";
|
|
2434
2695
|
var SCTabs = ({ options, defaultOption, typeIcon, background, iconPosition, colorTab, orientation, variant, scrollButtons, children }) => {
|
|
2435
|
-
const [toast, setToast] =
|
|
2696
|
+
const [toast, setToast] = React19.useState(null);
|
|
2436
2697
|
let i = 0;
|
|
2437
2698
|
let j = 0;
|
|
2438
2699
|
let k = 0;
|
|
2439
2700
|
let l = 0;
|
|
2440
2701
|
let validateTypeIcon = true;
|
|
2441
|
-
const [value, setValue] =
|
|
2442
|
-
|
|
2702
|
+
const [value, setValue] = React19.useState("1");
|
|
2703
|
+
useEffect15(() => {
|
|
2443
2704
|
if (defaultOption) {
|
|
2444
2705
|
handleChange(event, void 0);
|
|
2445
2706
|
}
|
|
@@ -2489,7 +2750,7 @@ var SCTabs = ({ options, defaultOption, typeIcon, background, iconPosition, colo
|
|
|
2489
2750
|
setValue(newValue);
|
|
2490
2751
|
}
|
|
2491
2752
|
};
|
|
2492
|
-
return /* @__PURE__ */
|
|
2753
|
+
return /* @__PURE__ */ React19.createElement(React19.Fragment, null, validateTypeIcon == true ? /* @__PURE__ */ React19.createElement(Box13, { sx: { height: orientation == "vertical" ? "100%" : "auto", display: "flex", flexDirection: orientation == "vertical" ? "row" : "column" }, id: "tabsitos" }, /* @__PURE__ */ React19.createElement(TabContext, { value }, /* @__PURE__ */ React19.createElement(
|
|
2493
2754
|
Tabs,
|
|
2494
2755
|
{
|
|
2495
2756
|
"data-testid": "tab-container",
|
|
@@ -2503,7 +2764,7 @@ var SCTabs = ({ options, defaultOption, typeIcon, background, iconPosition, colo
|
|
|
2503
2764
|
orientation: orientation || "horizontal",
|
|
2504
2765
|
sx: { borderBottom: orientation == "vertical" ? 0 : 1, borderRight: orientation == "vertical" ? 1 : 0, borderColor: "divider", background: background || "" }
|
|
2505
2766
|
},
|
|
2506
|
-
options.map((option) => /* @__PURE__ */
|
|
2767
|
+
options.map((option) => /* @__PURE__ */ React19.createElement(
|
|
2507
2768
|
Tab,
|
|
2508
2769
|
{
|
|
2509
2770
|
"data-testid": "tab-item",
|
|
@@ -2512,7 +2773,7 @@ var SCTabs = ({ options, defaultOption, typeIcon, background, iconPosition, colo
|
|
|
2512
2773
|
label: option.name || "",
|
|
2513
2774
|
disabled: option.disabled || false,
|
|
2514
2775
|
iconPosition: iconPosition || "end",
|
|
2515
|
-
icon: typeIcon == "badge" ? /* @__PURE__ */
|
|
2776
|
+
icon: typeIcon == "badge" ? /* @__PURE__ */ React19.createElement(
|
|
2516
2777
|
Badge,
|
|
2517
2778
|
{
|
|
2518
2779
|
sx: {
|
|
@@ -2527,33 +2788,38 @@ var SCTabs = ({ options, defaultOption, typeIcon, background, iconPosition, colo
|
|
|
2527
2788
|
badgeContent: option.iconOrBadge,
|
|
2528
2789
|
color: value == String(i) ? colorTab ? colorTab : "primary" : "default"
|
|
2529
2790
|
}
|
|
2530
|
-
) : typeIcon == "icon" ? /* @__PURE__ */
|
|
2791
|
+
) : typeIcon == "icon" ? /* @__PURE__ */ React19.createElement(SvgIcon7, { fontSize: "small", component: option.iconOrBadge, color: value == String(i) ? colorTab ? colorTab : "primary" : "action", sx: { width: "20px", height: "20px" } }) : "",
|
|
2531
2792
|
sx: { "& .MuiTab-icon": { margin: "0px !important" }, padding: "10px 16px", gap: "4px" }
|
|
2532
2793
|
}
|
|
2533
2794
|
))
|
|
2534
|
-
), children, options.map((option) => /* @__PURE__ */
|
|
2795
|
+
), children, options.map((option) => /* @__PURE__ */ React19.createElement(
|
|
2535
2796
|
TabPanel,
|
|
2536
2797
|
{
|
|
2537
2798
|
key: k = k + 1,
|
|
2538
2799
|
value: String(l = l + 1),
|
|
2539
2800
|
sx: { padding: "16px" }
|
|
2540
2801
|
},
|
|
2541
|
-
option.page ? option.page : /* @__PURE__ */
|
|
2542
|
-
)))) : /* @__PURE__ */
|
|
2802
|
+
option.page ? option.page : /* @__PURE__ */ React19.createElement(Typography15, null, "No se ha configurado el componente a visualizar ")
|
|
2803
|
+
)))) : /* @__PURE__ */ React19.createElement(Box13, { sx: { height: "200px" } }, toast && /* @__PURE__ */ React19.createElement(SCToastNotification, __spreadValues({ "data-testid": "error-tab-message" }, toast))));
|
|
2543
2804
|
};
|
|
2544
2805
|
|
|
2545
2806
|
// src/Components/Calendario/Calendar.tsx
|
|
2546
|
-
import
|
|
2547
|
-
import { Box as Box19 } from "@mui/material";
|
|
2548
|
-
import dayjs7 from "dayjs";
|
|
2807
|
+
import React25, { useState as useState12 } from "react";
|
|
2808
|
+
import { Box as Box19, CircularProgress as CircularProgress4 } from "@mui/material";
|
|
2549
2809
|
|
|
2550
2810
|
// src/Components/Calendario/CalendarToolbar.tsx
|
|
2551
|
-
import
|
|
2811
|
+
import React20, { useState as useState11 } from "react";
|
|
2552
2812
|
import { ChevronLeft, ChevronRight, KeyboardArrowDown as KeyboardArrowDown2, LightModeOutlined } from "@mui/icons-material";
|
|
2553
2813
|
import { Box as Box14, Chip as Chip3, IconButton as IconButton9, Menu, MenuItem as MenuItem5, Stack as Stack8, Typography as Typography16 } from "@mui/material";
|
|
2554
2814
|
import dayjs2 from "dayjs";
|
|
2815
|
+
import updateLocale from "dayjs/plugin/updateLocale";
|
|
2555
2816
|
import "dayjs/locale/es";
|
|
2556
2817
|
dayjs2.locale("es");
|
|
2818
|
+
dayjs2.extend(updateLocale);
|
|
2819
|
+
dayjs2.updateLocale("en", {
|
|
2820
|
+
weekStart: 0
|
|
2821
|
+
// 0 = domingo
|
|
2822
|
+
});
|
|
2557
2823
|
var CalendarToolbar = ({
|
|
2558
2824
|
labelDate,
|
|
2559
2825
|
view,
|
|
@@ -2574,23 +2840,25 @@ var CalendarToolbar = ({
|
|
|
2574
2840
|
handleMenuClose();
|
|
2575
2841
|
};
|
|
2576
2842
|
const getFormattedDate = () => {
|
|
2843
|
+
const sunday = labelDate.day(0);
|
|
2577
2844
|
if (view === "month") {
|
|
2578
|
-
|
|
2845
|
+
const textMonth = labelDate.format("MMMM YYYY");
|
|
2846
|
+
return textMonth.charAt(0).toUpperCase() + textMonth.slice(1);
|
|
2579
2847
|
}
|
|
2580
2848
|
if (view === "week") {
|
|
2581
|
-
return `${labelDate.startOf("week").
|
|
2849
|
+
return `${labelDate.startOf("week").format("DD MMM")} - ${labelDate.endOf("week").format("DD MMM YYYY")}`;
|
|
2582
2850
|
}
|
|
2583
2851
|
return labelDate.format(" DD MMMM YYYY");
|
|
2584
2852
|
};
|
|
2585
|
-
return /* @__PURE__ */
|
|
2853
|
+
return /* @__PURE__ */ React20.createElement(Stack8, { direction: "row", alignItems: "center", justifyContent: "space-between", gap: 0.5, px: 1, py: 0.5 }, /* @__PURE__ */ React20.createElement(Box14, null, /* @__PURE__ */ React20.createElement(
|
|
2586
2854
|
Chip3,
|
|
2587
2855
|
{
|
|
2588
2856
|
label: "Hoy",
|
|
2589
|
-
icon: /* @__PURE__ */
|
|
2857
|
+
icon: /* @__PURE__ */ React20.createElement(LightModeOutlined, { fontSize: "small" }),
|
|
2590
2858
|
color: "primary",
|
|
2591
2859
|
onClick: () => onNavigate("TODAY")
|
|
2592
2860
|
}
|
|
2593
|
-
)), /* @__PURE__ */
|
|
2861
|
+
)), /* @__PURE__ */ React20.createElement(Stack8, { direction: "row", alignItems: "center", gap: 1 }, /* @__PURE__ */ React20.createElement(IconButton9, { "aria-label": "Anterior", onClick: () => onNavigate("PREV"), size: "small", color: "primary" }, /* @__PURE__ */ React20.createElement(ChevronLeft, { fontSize: "small" })), /* @__PURE__ */ React20.createElement(IconButton9, { "aria-label": "Siguiente", onClick: () => onNavigate("NEXT"), size: "small", color: "primary" }, /* @__PURE__ */ React20.createElement(ChevronRight, { fontSize: "small" })), /* @__PURE__ */ React20.createElement(Typography16, { variant: "h6", color: "primary", "data-testid": "currentDate" }, getFormattedDate()), /* @__PURE__ */ React20.createElement(IconButton9, { onClick: handleMenuOpen, size: "small", color: "primary", "aria-label": "Cambiar vista" }, /* @__PURE__ */ React20.createElement(KeyboardArrowDown2, { fontSize: "small" })), /* @__PURE__ */ React20.createElement(
|
|
2594
2862
|
Menu,
|
|
2595
2863
|
{
|
|
2596
2864
|
anchorEl,
|
|
@@ -2599,15 +2867,15 @@ var CalendarToolbar = ({
|
|
|
2599
2867
|
anchorOrigin: { vertical: "bottom", horizontal: "center" },
|
|
2600
2868
|
transformOrigin: { vertical: "top", horizontal: "center" }
|
|
2601
2869
|
},
|
|
2602
|
-
/* @__PURE__ */
|
|
2603
|
-
/* @__PURE__ */
|
|
2604
|
-
/* @__PURE__ */
|
|
2605
|
-
)), children ? /* @__PURE__ */
|
|
2870
|
+
/* @__PURE__ */ React20.createElement(MenuItem5, { onClick: () => handleViewChange("month") }, "Mes"),
|
|
2871
|
+
/* @__PURE__ */ React20.createElement(MenuItem5, { onClick: () => handleViewChange("week") }, "Semana"),
|
|
2872
|
+
/* @__PURE__ */ React20.createElement(MenuItem5, { onClick: () => handleViewChange("day") }, "D\xEDa")
|
|
2873
|
+
)), children ? /* @__PURE__ */ React20.createElement(Box14, null, children) : /* @__PURE__ */ React20.createElement(Box14, { width: "24px" }), " ");
|
|
2606
2874
|
};
|
|
2607
2875
|
|
|
2608
2876
|
// src/Components/Calendario/Views/MonthView.tsx
|
|
2609
|
-
import
|
|
2610
|
-
import { Box as Box16, Typography as Typography18, IconButton as IconButton10, Paper as Paper2, Tooltip as
|
|
2877
|
+
import React22 from "react";
|
|
2878
|
+
import { Box as Box16, Typography as Typography18, IconButton as IconButton10, Paper as Paper2, Tooltip as Tooltip5, Stack as Stack10, Divider as Divider6, CircularProgress } from "@mui/material";
|
|
2611
2879
|
import AddIcon from "@mui/icons-material/Add";
|
|
2612
2880
|
import dayjs4 from "dayjs";
|
|
2613
2881
|
import localeData from "dayjs/plugin/localeData";
|
|
@@ -2633,14 +2901,24 @@ var stateColors = {
|
|
|
2633
2901
|
Asignada: "warning.main",
|
|
2634
2902
|
Finalizado: "primary.main",
|
|
2635
2903
|
Vencida: "error.main",
|
|
2636
|
-
EnProgreso: "success.main"
|
|
2904
|
+
EnProgreso: "success.main",
|
|
2905
|
+
Aplazada: "grey.400",
|
|
2906
|
+
Generada: "secondary.main"
|
|
2637
2907
|
};
|
|
2638
2908
|
|
|
2639
2909
|
// src/Components/Calendario/Event.tsx
|
|
2640
|
-
import
|
|
2641
|
-
import { Box as Box15, Stack as Stack9, Typography as Typography17, Divider as Divider5 } from "@mui/material";
|
|
2642
|
-
var CalendarEventCard = ({ event: event2, color, sx, onClick }) => {
|
|
2643
|
-
|
|
2910
|
+
import React21 from "react";
|
|
2911
|
+
import { Box as Box15, Stack as Stack9, Typography as Typography17, Divider as Divider5, Popover as Popover4 } from "@mui/material";
|
|
2912
|
+
var CalendarEventCard = ({ event: event2, color, sx, onClick, onHover }) => {
|
|
2913
|
+
const [anchorEl, setAnchorEl] = React21.useState(null);
|
|
2914
|
+
const handlePopoverOpen = (event3) => {
|
|
2915
|
+
setAnchorEl(event3.currentTarget);
|
|
2916
|
+
};
|
|
2917
|
+
const handlePopoverClose = () => {
|
|
2918
|
+
setAnchorEl(null);
|
|
2919
|
+
};
|
|
2920
|
+
const open = Boolean(anchorEl);
|
|
2921
|
+
return /* @__PURE__ */ React21.createElement(
|
|
2644
2922
|
Stack9,
|
|
2645
2923
|
{
|
|
2646
2924
|
direction: "row",
|
|
@@ -2648,6 +2926,7 @@ var CalendarEventCard = ({ event: event2, color, sx, onClick }) => {
|
|
|
2648
2926
|
borderRadius: 0.5,
|
|
2649
2927
|
alignItems: "flex-start",
|
|
2650
2928
|
minHeight: "20px",
|
|
2929
|
+
onMouseOver: () => onHover == null ? void 0 : onHover(event2),
|
|
2651
2930
|
onClick: (e) => {
|
|
2652
2931
|
e.stopPropagation();
|
|
2653
2932
|
onClick == null ? void 0 : onClick(event2);
|
|
@@ -2660,7 +2939,7 @@ var CalendarEventCard = ({ event: event2, color, sx, onClick }) => {
|
|
|
2660
2939
|
cursor: onClick ? "pointer" : "default"
|
|
2661
2940
|
}, sx)
|
|
2662
2941
|
},
|
|
2663
|
-
/* @__PURE__ */
|
|
2942
|
+
/* @__PURE__ */ React21.createElement(
|
|
2664
2943
|
Divider5,
|
|
2665
2944
|
{
|
|
2666
2945
|
orientation: "vertical",
|
|
@@ -2672,7 +2951,7 @@ var CalendarEventCard = ({ event: event2, color, sx, onClick }) => {
|
|
|
2672
2951
|
}
|
|
2673
2952
|
}
|
|
2674
2953
|
),
|
|
2675
|
-
/* @__PURE__ */
|
|
2954
|
+
/* @__PURE__ */ React21.createElement(
|
|
2676
2955
|
Box15,
|
|
2677
2956
|
{
|
|
2678
2957
|
px: 1,
|
|
@@ -2682,7 +2961,7 @@ var CalendarEventCard = ({ event: event2, color, sx, onClick }) => {
|
|
|
2682
2961
|
display: "flex",
|
|
2683
2962
|
alignItems: "center"
|
|
2684
2963
|
},
|
|
2685
|
-
/* @__PURE__ */
|
|
2964
|
+
/* @__PURE__ */ React21.createElement(
|
|
2686
2965
|
Typography17,
|
|
2687
2966
|
{
|
|
2688
2967
|
color: "text.primary",
|
|
@@ -2692,29 +2971,62 @@ var CalendarEventCard = ({ event: event2, color, sx, onClick }) => {
|
|
|
2692
2971
|
overflow: "hidden",
|
|
2693
2972
|
textOverflow: "ellipsis",
|
|
2694
2973
|
whiteSpace: "nowrap"
|
|
2695
|
-
}
|
|
2974
|
+
},
|
|
2975
|
+
onMouseEnter: handlePopoverOpen,
|
|
2976
|
+
onMouseLeave: handlePopoverClose
|
|
2696
2977
|
},
|
|
2697
|
-
|
|
2978
|
+
event2.title.charAt(0).toUpperCase() + event2.title.slice(1).toLowerCase()
|
|
2979
|
+
),
|
|
2980
|
+
/* @__PURE__ */ React21.createElement(
|
|
2981
|
+
Popover4,
|
|
2982
|
+
{
|
|
2983
|
+
id: "mouse-over-popover",
|
|
2984
|
+
sx: { pointerEvents: "none" },
|
|
2985
|
+
open,
|
|
2986
|
+
anchorEl,
|
|
2987
|
+
anchorOrigin: {
|
|
2988
|
+
vertical: "top",
|
|
2989
|
+
horizontal: "right"
|
|
2990
|
+
},
|
|
2991
|
+
transformOrigin: {
|
|
2992
|
+
vertical: "bottom",
|
|
2993
|
+
horizontal: "right"
|
|
2994
|
+
},
|
|
2995
|
+
onClose: handlePopoverClose,
|
|
2996
|
+
disableRestoreFocus: true
|
|
2997
|
+
},
|
|
2998
|
+
onHover ? onHover(event2) : " "
|
|
2698
2999
|
)
|
|
2699
3000
|
)
|
|
2700
3001
|
);
|
|
2701
3002
|
};
|
|
2702
3003
|
|
|
3004
|
+
// src/assets/Icon Scheduler.svg
|
|
3005
|
+
var Icon_Scheduler_default = "./Icon Scheduler-WX62PISD.svg";
|
|
3006
|
+
|
|
2703
3007
|
// src/Components/Calendario/Views/MonthView.tsx
|
|
2704
3008
|
dayjs4.extend(localeData);
|
|
2705
3009
|
dayjs4.extend(isBetween);
|
|
2706
|
-
var MonthView = ({ events, onDayClick, onMoreClick, currentDate, onEventClick }) => {
|
|
3010
|
+
var MonthView = ({ events, isLoading, onDayClick, onMoreClick, currentDate, onEventClick, onEventHover }) => {
|
|
3011
|
+
const noEvents = events.length === 0;
|
|
2707
3012
|
const days = getMonthDays(currentDate);
|
|
2708
3013
|
const weekDays = Array.from({ length: 7 }, (_, i) => dayjs4().day(i));
|
|
2709
|
-
const [openDrawer, setOpenDrawer] =
|
|
2710
|
-
const [selectedDay, setSelectedDay] =
|
|
2711
|
-
const [selectedEvents, setSelectedEvents] =
|
|
2712
|
-
return /* @__PURE__ */
|
|
3014
|
+
const [openDrawer, setOpenDrawer] = React22.useState(false);
|
|
3015
|
+
const [selectedDay, setSelectedDay] = React22.useState(null);
|
|
3016
|
+
const [selectedEvents, setSelectedEvents] = React22.useState([]);
|
|
3017
|
+
return /* @__PURE__ */ React22.createElement(Box16, { width: "100%", sx: { overflowX: "auto" } }, /* @__PURE__ */ React22.createElement(Box16, { minWidth: "1050px" }, /* @__PURE__ */ React22.createElement(Box16, { display: "grid", gridTemplateColumns: "repeat(7, minmax(150px, 1fr))", gap: 0.5, mb: 1 }, weekDays.map((day) => /* @__PURE__ */ React22.createElement(Box16, { key: day.day(), textAlign: "center", py: 0.5 }, /* @__PURE__ */ React22.createElement(Typography18, { variant: "caption", color: "text.secondary" }, day.format("dddd"))))), isLoading ? /* @__PURE__ */ React22.createElement(Box16, { display: "flex", alignItems: "center", justifyContent: "center", width: "100%", height: "450px" }, /* @__PURE__ */ React22.createElement(CircularProgress, { sx: { width: "60px", height: "60px" }, variant: "indeterminate" })) : !isLoading && noEvents ? /* @__PURE__ */ React22.createElement(
|
|
3018
|
+
EmptyState,
|
|
3019
|
+
{
|
|
3020
|
+
title: "Inicia la gesti\xF3n de las actividades",
|
|
3021
|
+
subtitle: "Selecciona un mec\xE1nico y as\xEDgnale las actividades a realizar.",
|
|
3022
|
+
icon: /* @__PURE__ */ React22.createElement("img", { src: Icon_Scheduler_default, alt: "icon_calendario", style: { width: 60, height: 60 } })
|
|
3023
|
+
}
|
|
3024
|
+
) : /* @__PURE__ */ React22.createElement(Box16, { display: "grid", gridTemplateColumns: "repeat(7, minmax(150px, 1fr))", gap: 0.5 }, days.map((day) => {
|
|
2713
3025
|
const dayEvents = events.filter(
|
|
2714
3026
|
(e) => day.isBetween(e.start.startOf("day"), e.end.endOf("day"), null, "[]")
|
|
2715
3027
|
);
|
|
2716
3028
|
const isCurrentMonth = day.month() === currentDate.month();
|
|
2717
|
-
return /* @__PURE__ */
|
|
3029
|
+
return /* @__PURE__ */ React22.createElement(
|
|
2718
3030
|
Paper2,
|
|
2719
3031
|
{
|
|
2720
3032
|
key: day.toString(),
|
|
@@ -2731,7 +3043,7 @@ var MonthView = ({ events, onDayClick, onMoreClick, currentDate, onEventClick })
|
|
|
2731
3043
|
overflow: "hidden"
|
|
2732
3044
|
}
|
|
2733
3045
|
},
|
|
2734
|
-
/* @__PURE__ */
|
|
3046
|
+
/* @__PURE__ */ React22.createElement(Box16, { p: 1, flexShrink: 0 }, /* @__PURE__ */ React22.createElement(Box16, { display: "flex", alignItems: "center", justifyContent: "flex-start" }, /* @__PURE__ */ React22.createElement(
|
|
2735
3047
|
Box16,
|
|
2736
3048
|
{
|
|
2737
3049
|
sx: {
|
|
@@ -2744,7 +3056,7 @@ var MonthView = ({ events, onDayClick, onMoreClick, currentDate, onEventClick })
|
|
|
2744
3056
|
justifyContent: "center"
|
|
2745
3057
|
}
|
|
2746
3058
|
},
|
|
2747
|
-
/* @__PURE__ */
|
|
3059
|
+
/* @__PURE__ */ React22.createElement(
|
|
2748
3060
|
Typography18,
|
|
2749
3061
|
{
|
|
2750
3062
|
variant: "body2",
|
|
@@ -2752,7 +3064,7 @@ var MonthView = ({ events, onDayClick, onMoreClick, currentDate, onEventClick })
|
|
|
2752
3064
|
},
|
|
2753
3065
|
day.date()
|
|
2754
3066
|
)
|
|
2755
|
-
), dayEvents.length > 2 && /* @__PURE__ */
|
|
3067
|
+
), dayEvents.length > 2 && /* @__PURE__ */ React22.createElement(Tooltip5, { title: "M\xE1s eventos" }, /* @__PURE__ */ React22.createElement(
|
|
2756
3068
|
IconButton10,
|
|
2757
3069
|
{
|
|
2758
3070
|
color: "primary",
|
|
@@ -2764,18 +3076,19 @@ var MonthView = ({ events, onDayClick, onMoreClick, currentDate, onEventClick })
|
|
|
2764
3076
|
setSelectedEvents(dayEvents);
|
|
2765
3077
|
}
|
|
2766
3078
|
},
|
|
2767
|
-
/* @__PURE__ */
|
|
3079
|
+
/* @__PURE__ */ React22.createElement(AddIcon, { fontSize: "small" })
|
|
2768
3080
|
)))),
|
|
2769
|
-
/* @__PURE__ */
|
|
3081
|
+
/* @__PURE__ */ React22.createElement(Box16, { display: "flex", flexDirection: "column", gap: 0.5, p: 1, pt: 0, overflow: "hidden" }, dayEvents.slice(0, 2).map((event2) => /* @__PURE__ */ React22.createElement(
|
|
2770
3082
|
CalendarEventCard,
|
|
2771
3083
|
{
|
|
2772
3084
|
key: `${event2.id}-${day.toString()}`,
|
|
2773
3085
|
event: event2,
|
|
2774
3086
|
color: stateColors[event2.state],
|
|
2775
|
-
onClick: () => onEventClick == null ? void 0 : onEventClick(event2, day)
|
|
3087
|
+
onClick: () => onEventClick == null ? void 0 : onEventClick(event2, day),
|
|
3088
|
+
onHover: onEventHover
|
|
2776
3089
|
}
|
|
2777
3090
|
))),
|
|
2778
|
-
dayEvents.length > 2 && /* @__PURE__ */
|
|
3091
|
+
dayEvents.length > 2 && /* @__PURE__ */ React22.createElement(Stack10, { justifyContent: "flex-end", px: 1, pb: 0.5, onClick: (e) => e.stopPropagation() }, /* @__PURE__ */ React22.createElement(
|
|
2779
3092
|
SCDrawer,
|
|
2780
3093
|
{
|
|
2781
3094
|
width: "350px",
|
|
@@ -2787,7 +3100,7 @@ var MonthView = ({ events, onDayClick, onMoreClick, currentDate, onEventClick })
|
|
|
2787
3100
|
arrayElements: [{
|
|
2788
3101
|
component: (() => {
|
|
2789
3102
|
const [first, ...rest] = dayEvents;
|
|
2790
|
-
return /* @__PURE__ */
|
|
3103
|
+
return /* @__PURE__ */ React22.createElement(Box16, { display: "flex", width: "100%", flexDirection: "column", height: "100%", pr: 1.5 }, /* @__PURE__ */ React22.createElement(Typography18, { width: "100%", color: "text.secondary" }, " Proximo evento "), first && /* @__PURE__ */ React22.createElement(Box16, { p: 1, pb: 1, width: "100%" }, /* @__PURE__ */ React22.createElement(
|
|
2791
3104
|
CalendarEventCard,
|
|
2792
3105
|
{
|
|
2793
3106
|
event: first,
|
|
@@ -2802,7 +3115,7 @@ var MonthView = ({ events, onDayClick, onMoreClick, currentDate, onEventClick })
|
|
|
2802
3115
|
}
|
|
2803
3116
|
}
|
|
2804
3117
|
}
|
|
2805
|
-
)), /* @__PURE__ */
|
|
3118
|
+
)), /* @__PURE__ */ React22.createElement(Divider6, { flexItem: true, sx: { width: "100%" } }), /* @__PURE__ */ React22.createElement(Typography18, { width: "100%", py: 1, color: "text.secondary" }, " Eventos restantes "), /* @__PURE__ */ React22.createElement(
|
|
2806
3119
|
Box16,
|
|
2807
3120
|
{
|
|
2808
3121
|
width: "100%",
|
|
@@ -2815,13 +3128,14 @@ var MonthView = ({ events, onDayClick, onMoreClick, currentDate, onEventClick })
|
|
|
2815
3128
|
flexDirection: "column",
|
|
2816
3129
|
gap: 1.5
|
|
2817
3130
|
},
|
|
2818
|
-
rest.map((event2) => /* @__PURE__ */
|
|
3131
|
+
rest.map((event2) => /* @__PURE__ */ React22.createElement(
|
|
2819
3132
|
CalendarEventCard,
|
|
2820
3133
|
{
|
|
2821
3134
|
key: `${event2.id}-${day.toString()}`,
|
|
2822
3135
|
event: event2,
|
|
2823
3136
|
color: stateColors[event2.state],
|
|
2824
3137
|
onClick: () => onEventClick == null ? void 0 : onEventClick(event2, day),
|
|
3138
|
+
onHover: onEventHover,
|
|
2825
3139
|
sx: {
|
|
2826
3140
|
whiteSpace: "normal",
|
|
2827
3141
|
"& .MuiTypography-root": {
|
|
@@ -2842,15 +3156,26 @@ var MonthView = ({ events, onDayClick, onMoreClick, currentDate, onEventClick })
|
|
|
2842
3156
|
};
|
|
2843
3157
|
|
|
2844
3158
|
// src/Components/Calendario/Views/WeekView.tsx
|
|
2845
|
-
import
|
|
2846
|
-
import { Box as Box17, Typography as Typography19 } from "@mui/material";
|
|
3159
|
+
import React23 from "react";
|
|
3160
|
+
import { Box as Box17, CircularProgress as CircularProgress2, Typography as Typography19 } from "@mui/material";
|
|
2847
3161
|
import dayjs5 from "dayjs";
|
|
2848
3162
|
import localeData2 from "dayjs/plugin/localeData";
|
|
2849
3163
|
dayjs5.extend(localeData2);
|
|
2850
|
-
var WeekView = ({
|
|
3164
|
+
var WeekView = ({
|
|
3165
|
+
events,
|
|
3166
|
+
currentDate,
|
|
3167
|
+
isLoading,
|
|
3168
|
+
onDayClick,
|
|
3169
|
+
onEventClick,
|
|
3170
|
+
onEventHover,
|
|
3171
|
+
startHour = 0,
|
|
3172
|
+
endHour = 23
|
|
3173
|
+
}) => {
|
|
3174
|
+
const noEvents = events.length === 0;
|
|
3175
|
+
const todayString = dayjs5().format("YYYY-MM-DD");
|
|
2851
3176
|
const startOfWeek2 = currentDate.startOf("week");
|
|
2852
3177
|
const days = Array.from({ length: 7 }, (_, i) => startOfWeek2.add(i, "day"));
|
|
2853
|
-
const
|
|
3178
|
+
const hours = Array.from({ length: endHour - startHour + 1 }, (_, i) => startHour + i);
|
|
2854
3179
|
const getCellBorderType = (cellHour, dayEvents) => {
|
|
2855
3180
|
for (const event2 of dayEvents) {
|
|
2856
3181
|
const start = event2.start.hour() + event2.start.minute() / 60;
|
|
@@ -2858,8 +3183,7 @@ var WeekView = ({ events, currentDate, onDayClick, onEventClick }) => {
|
|
|
2858
3183
|
const cellStart = cellHour;
|
|
2859
3184
|
const cellEnd = cellHour + 1;
|
|
2860
3185
|
if (cellEnd > start && cellStart < end) {
|
|
2861
|
-
if (Math.abs(cellStart - start) < 0.01 && Math.abs(cellEnd - end) < 0.01)
|
|
2862
|
-
return "full";
|
|
3186
|
+
if (Math.abs(cellStart - start) < 0.01 && Math.abs(cellEnd - end) < 0.01) return "full";
|
|
2863
3187
|
if (Math.abs(cellStart - start) < 0.01) return "start";
|
|
2864
3188
|
if (Math.abs(cellEnd - end) < 0.01) return "end";
|
|
2865
3189
|
return "middle";
|
|
@@ -2867,92 +3191,122 @@ var WeekView = ({ events, currentDate, onDayClick, onEventClick }) => {
|
|
|
2867
3191
|
}
|
|
2868
3192
|
return "none";
|
|
2869
3193
|
};
|
|
2870
|
-
return /* @__PURE__ */
|
|
2871
|
-
|
|
2872
|
-
|
|
2873
|
-
key: day.toString(),
|
|
2874
|
-
height: 40,
|
|
2875
|
-
flex: 1,
|
|
2876
|
-
pl: 0.5,
|
|
2877
|
-
textAlign: "center",
|
|
2878
|
-
display: "flex",
|
|
2879
|
-
flexDirection: "column",
|
|
2880
|
-
justifyContent: "center",
|
|
2881
|
-
alignItems: "flex-start"
|
|
2882
|
-
},
|
|
2883
|
-
/* @__PURE__ */ React22.createElement(Typography19, { variant: "caption", color: "text.secondary" }, day.format("dddd"))
|
|
2884
|
-
))), /* @__PURE__ */ React22.createElement(Box17, { display: "flex", flex: 1 }, /* @__PURE__ */ React22.createElement(Box17, { width: 45, bgcolor: "background.default" }, hours2.map((h) => /* @__PURE__ */ React22.createElement(
|
|
2885
|
-
Box17,
|
|
2886
|
-
{
|
|
2887
|
-
key: h,
|
|
2888
|
-
height: 60,
|
|
2889
|
-
textAlign: "right",
|
|
2890
|
-
pr: 1,
|
|
2891
|
-
borderTop: "1px solid",
|
|
2892
|
-
borderColor: "divider"
|
|
2893
|
-
},
|
|
2894
|
-
/* @__PURE__ */ React22.createElement(Typography19, { variant: "caption", color: "text.secondary" }, dayjs5().hour(h).format("h A"))
|
|
2895
|
-
))), days.map((day) => {
|
|
2896
|
-
const dayEvents = events.filter(
|
|
2897
|
-
(event2) => day.isBetween(event2.start.startOf("day"), event2.end.endOf("day"), null, "[]")
|
|
2898
|
-
);
|
|
2899
|
-
return /* @__PURE__ */ React22.createElement(
|
|
3194
|
+
return /* @__PURE__ */ React23.createElement(Box17, { display: "flex", flexDirection: "column", height: "100%" }, /* @__PURE__ */ React23.createElement(Box17, { display: "flex", bgcolor: "transparent" }, /* @__PURE__ */ React23.createElement(Box17, { width: 45, bgcolor: "transparent" }), days.map((day) => {
|
|
3195
|
+
const isToday2 = day.format("YYYY-MM-DD") === todayString;
|
|
3196
|
+
return /* @__PURE__ */ React23.createElement(
|
|
2900
3197
|
Box17,
|
|
2901
3198
|
{
|
|
2902
3199
|
key: day.toString(),
|
|
3200
|
+
height: 40,
|
|
2903
3201
|
flex: 1,
|
|
2904
|
-
|
|
2905
|
-
|
|
2906
|
-
|
|
2907
|
-
|
|
2908
|
-
|
|
3202
|
+
pl: 0.5,
|
|
3203
|
+
textAlign: "center",
|
|
3204
|
+
display: "flex",
|
|
3205
|
+
flexDirection: "column",
|
|
3206
|
+
justifyContent: "center",
|
|
3207
|
+
alignItems: "flex-start",
|
|
3208
|
+
bgcolor: isToday2 ? "primary.100" : "transparent",
|
|
3209
|
+
borderRadius: isToday2 ? "6px 6px 0 0" : "0",
|
|
3210
|
+
borderBottom: isToday2 ? 2 : 0,
|
|
3211
|
+
borderColor: isToday2 ? "primary.main" : "transparent"
|
|
2909
3212
|
},
|
|
2910
|
-
|
|
2911
|
-
|
|
2912
|
-
return /* @__PURE__ */ React22.createElement(
|
|
2913
|
-
Box17,
|
|
2914
|
-
{
|
|
2915
|
-
key: hourIdx,
|
|
2916
|
-
height: 60,
|
|
2917
|
-
borderTop: "1px solid",
|
|
2918
|
-
borderColor: borderType === "start" || borderType === "full" || borderType === "none" ? "divider" : "transparent",
|
|
2919
|
-
borderBottom: borderType === "end" || borderType === "full" ? "1px solid divider" : void 0
|
|
2920
|
-
}
|
|
2921
|
-
);
|
|
2922
|
-
}),
|
|
2923
|
-
dayEvents.map((event2) => {
|
|
2924
|
-
const eventStart = day.isSame(event2.start, "day") ? event2.start : day.startOf("day").hour(0).minute(0);
|
|
2925
|
-
const eventEnd = day.isSame(event2.end, "day") ? event2.end : day.endOf("day").hour(23).minute(59);
|
|
2926
|
-
const startMinutes = eventStart.hour() * 60 + eventStart.minute();
|
|
2927
|
-
const durationMinutes = eventEnd.diff(eventStart, "minute");
|
|
2928
|
-
return /* @__PURE__ */ React22.createElement(
|
|
2929
|
-
CalendarEventCard,
|
|
2930
|
-
{
|
|
2931
|
-
key: `${event2.id}-${day.toString()}`,
|
|
2932
|
-
event: event2,
|
|
2933
|
-
color: stateColors[event2.state],
|
|
2934
|
-
onClick: () => onEventClick == null ? void 0 : onEventClick(event2, day),
|
|
2935
|
-
sx: {
|
|
2936
|
-
position: "absolute",
|
|
2937
|
-
top: `${startMinutes + 15}px`,
|
|
2938
|
-
left: 4,
|
|
2939
|
-
right: 4,
|
|
2940
|
-
cursor: "pointer",
|
|
2941
|
-
height: "auto"
|
|
2942
|
-
}
|
|
2943
|
-
}
|
|
2944
|
-
);
|
|
2945
|
-
})
|
|
3213
|
+
/* @__PURE__ */ React23.createElement(Typography19, { variant: "h6", color: "text.primary" }, day.format("D")),
|
|
3214
|
+
/* @__PURE__ */ React23.createElement(Typography19, { variant: "caption", color: "text.secondary" }, day.format("dddd"))
|
|
2946
3215
|
);
|
|
2947
|
-
})))
|
|
3216
|
+
})), isLoading ? /* @__PURE__ */ React23.createElement(Box17, { display: "flex", alignItems: "center", justifyContent: "center", width: "100%", height: "450px" }, /* @__PURE__ */ React23.createElement(CircularProgress2, { sx: { width: "60px", height: "60px" }, variant: "indeterminate" })) : !isLoading && noEvents ? /* @__PURE__ */ React23.createElement(
|
|
3217
|
+
EmptyState,
|
|
3218
|
+
{
|
|
3219
|
+
title: "Inicia la gesti\xF3n de las actividades",
|
|
3220
|
+
subtitle: "Selecciona un mec\xE1nico y as\xEDgnale las actividades a realizar.",
|
|
3221
|
+
icon: /* @__PURE__ */ React23.createElement("img", { src: Icon_Scheduler_default, alt: "icon_calendario", style: { width: 60, height: 60 } })
|
|
3222
|
+
}
|
|
3223
|
+
) : (
|
|
3224
|
+
// Grid de horas y eventos
|
|
3225
|
+
/* @__PURE__ */ React23.createElement(Box17, { display: "flex", flex: 1 }, /* @__PURE__ */ React23.createElement(Box17, { width: 45, bgcolor: "transparent" }, hours.map((h) => /* @__PURE__ */ React23.createElement(
|
|
3226
|
+
Box17,
|
|
3227
|
+
{
|
|
3228
|
+
key: h,
|
|
3229
|
+
height: 60,
|
|
3230
|
+
textAlign: "right",
|
|
3231
|
+
pr: 1,
|
|
3232
|
+
borderColor: "divider"
|
|
3233
|
+
},
|
|
3234
|
+
/* @__PURE__ */ React23.createElement(Typography19, { variant: "caption", color: "text.secondary" }, dayjs5().hour(h).format("h A"))
|
|
3235
|
+
))), days.map((day) => {
|
|
3236
|
+
const dayEvents = events.filter(
|
|
3237
|
+
(event2) => day.isBetween(event2.start.startOf("day"), event2.end.endOf("day"), null, "[]")
|
|
3238
|
+
).filter((event2) => {
|
|
3239
|
+
const startsInRange = event2.start.hour() >= startHour && event2.start.hour() <= endHour;
|
|
3240
|
+
const endsInRange = event2.end.hour() >= startHour && event2.end.hour() <= endHour;
|
|
3241
|
+
return startsInRange || endsInRange;
|
|
3242
|
+
}).sort((a, b) => a.start.valueOf() - b.start.valueOf());
|
|
3243
|
+
return /* @__PURE__ */ React23.createElement(
|
|
3244
|
+
Box17,
|
|
3245
|
+
{
|
|
3246
|
+
key: day.toString(),
|
|
3247
|
+
flex: 1,
|
|
3248
|
+
borderLeft: "1px solid",
|
|
3249
|
+
borderColor: "divider",
|
|
3250
|
+
position: "relative",
|
|
3251
|
+
"data-testid": `week-day-column-${day.format("YYYY-MM-DD")}`,
|
|
3252
|
+
onClick: () => onDayClick == null ? void 0 : onDayClick(day)
|
|
3253
|
+
},
|
|
3254
|
+
hours.map((hourIdx) => {
|
|
3255
|
+
const borderType = getCellBorderType(hourIdx, dayEvents);
|
|
3256
|
+
return /* @__PURE__ */ React23.createElement(
|
|
3257
|
+
Box17,
|
|
3258
|
+
{
|
|
3259
|
+
key: hourIdx,
|
|
3260
|
+
height: 60,
|
|
3261
|
+
borderTop: "1px solid",
|
|
3262
|
+
borderColor: borderType === "start" || borderType === "full" || borderType === "none" ? "divider" : "transparent",
|
|
3263
|
+
borderBottom: borderType === "end" || borderType === "full" ? "1px solid divider" : void 0
|
|
3264
|
+
}
|
|
3265
|
+
);
|
|
3266
|
+
}),
|
|
3267
|
+
dayEvents.map((event2) => {
|
|
3268
|
+
const eventStart = day.isSame(event2.start, "day") ? event2.start : day.startOf("day").hour(startHour).minute(0);
|
|
3269
|
+
const eventEnd = day.isSame(event2.end, "day") ? event2.end : day.endOf("day").hour(endHour).minute(59);
|
|
3270
|
+
const startMinutes = (eventStart.hour() - startHour) * 60 + eventStart.minute();
|
|
3271
|
+
const durationMinutes = eventEnd.diff(eventStart, "minute");
|
|
3272
|
+
return /* @__PURE__ */ React23.createElement(
|
|
3273
|
+
CalendarEventCard,
|
|
3274
|
+
{
|
|
3275
|
+
key: `${event2.id}-${day.toString()}`,
|
|
3276
|
+
event: event2,
|
|
3277
|
+
color: stateColors[event2.state],
|
|
3278
|
+
onClick: () => onEventClick == null ? void 0 : onEventClick(event2, day),
|
|
3279
|
+
onHover: onEventHover,
|
|
3280
|
+
sx: {
|
|
3281
|
+
position: "absolute",
|
|
3282
|
+
top: `${startMinutes}px`,
|
|
3283
|
+
left: 4,
|
|
3284
|
+
right: 4,
|
|
3285
|
+
cursor: "pointer",
|
|
3286
|
+
height: `${durationMinutes}px`
|
|
3287
|
+
}
|
|
3288
|
+
}
|
|
3289
|
+
);
|
|
3290
|
+
})
|
|
3291
|
+
);
|
|
3292
|
+
}))
|
|
3293
|
+
));
|
|
2948
3294
|
};
|
|
2949
3295
|
|
|
2950
3296
|
// src/Components/Calendario/Views/DayView.tsx
|
|
2951
|
-
import
|
|
2952
|
-
import { Box as Box18, Typography as Typography20 } from "@mui/material";
|
|
3297
|
+
import React24 from "react";
|
|
3298
|
+
import { Box as Box18, CircularProgress as CircularProgress3, Typography as Typography20 } from "@mui/material";
|
|
2953
3299
|
import dayjs6 from "dayjs";
|
|
2954
|
-
var
|
|
2955
|
-
|
|
3300
|
+
var DayView = ({
|
|
3301
|
+
events,
|
|
3302
|
+
currentDate,
|
|
3303
|
+
isLoading,
|
|
3304
|
+
onEventClick,
|
|
3305
|
+
onEventHover,
|
|
3306
|
+
startHour = 0,
|
|
3307
|
+
endHour = 24
|
|
3308
|
+
}) => {
|
|
3309
|
+
const hours = Array.from({ length: endHour - startHour }, (_, i) => startHour + i);
|
|
2956
3310
|
const getCellBorderType = (cellHour, dayEvents2) => {
|
|
2957
3311
|
for (const event2 of dayEvents2) {
|
|
2958
3312
|
const start = event2.start.hour() + event2.start.minute() / 60;
|
|
@@ -2960,8 +3314,7 @@ var DayView = ({ events, currentDate, onEventClick }) => {
|
|
|
2960
3314
|
const cellStart = cellHour;
|
|
2961
3315
|
const cellEnd = cellHour + 1;
|
|
2962
3316
|
if (cellEnd > start && cellStart < end) {
|
|
2963
|
-
if (Math.abs(cellStart - start) < 0.01 && Math.abs(cellEnd - end) < 0.01)
|
|
2964
|
-
return "full";
|
|
3317
|
+
if (Math.abs(cellStart - start) < 0.01 && Math.abs(cellEnd - end) < 0.01) return "full";
|
|
2965
3318
|
if (Math.abs(cellStart - start) < 0.01) return "start";
|
|
2966
3319
|
if (Math.abs(cellEnd - end) < 0.01) return "end";
|
|
2967
3320
|
return "middle";
|
|
@@ -2972,20 +3325,15 @@ var DayView = ({ events, currentDate, onEventClick }) => {
|
|
|
2972
3325
|
const dayEvents = events.filter(
|
|
2973
3326
|
(event2) => currentDate.isBetween(event2.start.startOf("day"), event2.end.endOf("day"), null, "[]")
|
|
2974
3327
|
);
|
|
2975
|
-
|
|
2976
|
-
|
|
3328
|
+
const noEvents = events.length === 0;
|
|
3329
|
+
return /* @__PURE__ */ React24.createElement(Box18, { display: "flex", flexDirection: "column", height: "100%" }, /* @__PURE__ */ React24.createElement(Box18, { display: "flex", borderBottom: "1px solid", borderColor: "primary.main", bgcolor: "background.paper" }, /* @__PURE__ */ React24.createElement(Box18, { width: 47, bgcolor: "background.default", borderBottom: "1px solid", borderColor: "transparent" }), /* @__PURE__ */ React24.createElement(Box18, { flex: 1, display: "flex", flexDirection: "column", textAlign: "start", gap: 0.5, py: 1, bgcolor: "primary.50" }, /* @__PURE__ */ React24.createElement(Typography20, { variant: "h6", color: "text.secondary" }, currentDate.format("D")), /* @__PURE__ */ React24.createElement(Typography20, { variant: "caption", color: "text.secondary" }, currentDate.format("dddd")))), isLoading ? /* @__PURE__ */ React24.createElement(Box18, { display: "flex", alignItems: "center", justifyContent: "center", width: "100%", height: "450px" }, /* @__PURE__ */ React24.createElement(CircularProgress3, { sx: { width: "60px", height: "60px" }, variant: "indeterminate" })) : noEvents ? /* @__PURE__ */ React24.createElement(
|
|
3330
|
+
EmptyState,
|
|
2977
3331
|
{
|
|
2978
|
-
|
|
2979
|
-
|
|
2980
|
-
|
|
2981
|
-
|
|
2982
|
-
|
|
2983
|
-
py: 1,
|
|
2984
|
-
bgcolor: "primary.50"
|
|
2985
|
-
},
|
|
2986
|
-
/* @__PURE__ */ React23.createElement(Typography20, { variant: "h6", color: "text.secondary" }, currentDate.format("D")),
|
|
2987
|
-
/* @__PURE__ */ React23.createElement(Typography20, { variant: "caption", color: "text.secondary" }, currentDate.format("dddd"))
|
|
2988
|
-
)), /* @__PURE__ */ React23.createElement(Box18, { display: "flex", flex: 1 }, /* @__PURE__ */ React23.createElement(Box18, { width: 47, bgcolor: "background.default" }, hours.map((h) => /* @__PURE__ */ React23.createElement(
|
|
3332
|
+
title: "Inicia la gesti\xF3n de las actividades",
|
|
3333
|
+
subtitle: "Selecciona un mec\xE1nico y as\xEDgnale las actividades a realizar.",
|
|
3334
|
+
icon: /* @__PURE__ */ React24.createElement("img", { src: Icon_Scheduler_default, alt: "icon_calendario", style: { width: 60, height: 60 } })
|
|
3335
|
+
}
|
|
3336
|
+
) : /* @__PURE__ */ React24.createElement(Box18, { display: "flex", flex: 1 }, /* @__PURE__ */ React24.createElement(Box18, { width: 47, bgcolor: "background.default" }, hours.map((h) => /* @__PURE__ */ React24.createElement(
|
|
2989
3337
|
Box18,
|
|
2990
3338
|
{
|
|
2991
3339
|
key: h,
|
|
@@ -2996,10 +3344,10 @@ var DayView = ({ events, currentDate, onEventClick }) => {
|
|
|
2996
3344
|
borderRight: "1px solid",
|
|
2997
3345
|
borderColor: "divider"
|
|
2998
3346
|
},
|
|
2999
|
-
/* @__PURE__ */
|
|
3000
|
-
))), /* @__PURE__ */
|
|
3347
|
+
/* @__PURE__ */ React24.createElement(Typography20, { variant: "caption", color: "text.secondary" }, dayjs6().hour(h).format("h A"))
|
|
3348
|
+
))), /* @__PURE__ */ React24.createElement(Box18, { flex: 1, position: "relative" }, hours.map((hourIdx) => {
|
|
3001
3349
|
const borderType = getCellBorderType(hourIdx, dayEvents);
|
|
3002
|
-
return /* @__PURE__ */
|
|
3350
|
+
return /* @__PURE__ */ React24.createElement(
|
|
3003
3351
|
Box18,
|
|
3004
3352
|
{
|
|
3005
3353
|
key: hourIdx,
|
|
@@ -3010,20 +3358,26 @@ var DayView = ({ events, currentDate, onEventClick }) => {
|
|
|
3010
3358
|
}
|
|
3011
3359
|
);
|
|
3012
3360
|
}), dayEvents.map((event2) => {
|
|
3013
|
-
const eventStart = currentDate.isSame(event2.start, "day") ? event2.start : currentDate.startOf("day")
|
|
3014
|
-
const eventEnd = currentDate.isSame(event2.end, "day") ? event2.end : currentDate.endOf("day")
|
|
3015
|
-
const
|
|
3016
|
-
const
|
|
3017
|
-
|
|
3361
|
+
const eventStart = currentDate.isSame(event2.start, "day") ? event2.start : currentDate.startOf("day");
|
|
3362
|
+
const eventEnd = currentDate.isSame(event2.end, "day") ? event2.end : currentDate.endOf("day");
|
|
3363
|
+
const minStart = currentDate.hour(startHour).minute(0);
|
|
3364
|
+
const maxEnd = currentDate.hour(endHour).minute(0);
|
|
3365
|
+
const clampedStart = eventStart.isBefore(minStart) ? minStart : eventStart;
|
|
3366
|
+
const clampedEnd = eventEnd.isAfter(maxEnd) ? maxEnd : eventEnd;
|
|
3367
|
+
const startMinutes = (clampedStart.hour() - startHour) * 60 + clampedStart.minute();
|
|
3368
|
+
const durationMinutes = clampedEnd.diff(clampedStart, "minute");
|
|
3369
|
+
return /* @__PURE__ */ React24.createElement(
|
|
3018
3370
|
CalendarEventCard,
|
|
3019
3371
|
{
|
|
3020
3372
|
key: `${event2.id}-${currentDate.toString()}`,
|
|
3021
3373
|
event: event2,
|
|
3022
3374
|
color: stateColors[event2.state],
|
|
3023
|
-
onClick: () => onEventClick == null ? void 0 : onEventClick(event2),
|
|
3375
|
+
onClick: () => onEventClick == null ? void 0 : onEventClick(event2, currentDate),
|
|
3376
|
+
onHover: onEventHover,
|
|
3024
3377
|
sx: {
|
|
3025
3378
|
position: "absolute",
|
|
3026
|
-
top: `${startMinutes
|
|
3379
|
+
top: `${startMinutes}px`,
|
|
3380
|
+
height: `${durationMinutes}px`,
|
|
3027
3381
|
left: 4,
|
|
3028
3382
|
right: 4
|
|
3029
3383
|
}
|
|
@@ -3033,14 +3387,20 @@ var DayView = ({ events, currentDate, onEventClick }) => {
|
|
|
3033
3387
|
};
|
|
3034
3388
|
|
|
3035
3389
|
// src/Components/Calendario/Calendar.tsx
|
|
3390
|
+
import dayjs7 from "dayjs";
|
|
3036
3391
|
var Calendar = ({
|
|
3037
3392
|
events,
|
|
3038
3393
|
onDayClick,
|
|
3039
3394
|
onMoreClick,
|
|
3040
3395
|
onEventClick,
|
|
3396
|
+
onEventHover,
|
|
3041
3397
|
view: initialView = "month",
|
|
3042
3398
|
onViewChange,
|
|
3043
|
-
toolbar
|
|
3399
|
+
toolbar,
|
|
3400
|
+
isLoading = false,
|
|
3401
|
+
startHour = 0,
|
|
3402
|
+
// <- valor por defecto
|
|
3403
|
+
endHour = 23
|
|
3044
3404
|
}) => {
|
|
3045
3405
|
const [view, setView] = useState12(initialView);
|
|
3046
3406
|
const [currentDate, setCurrentDate] = useState12(dayjs7());
|
|
@@ -3051,12 +3411,18 @@ var Calendar = ({
|
|
|
3051
3411
|
const handleNavigate = (action) => {
|
|
3052
3412
|
let newDate = currentDate;
|
|
3053
3413
|
const unit = view === "month" ? "month" : "day";
|
|
3054
|
-
if (action === "PREV")
|
|
3055
|
-
|
|
3056
|
-
|
|
3414
|
+
if (action === "PREV") {
|
|
3415
|
+
if (view === "day") newDate = currentDate.subtract(1, "day");
|
|
3416
|
+
if (view === "week") newDate = currentDate.subtract(1, "week");
|
|
3417
|
+
if (view === "month") newDate = currentDate.subtract(1, "month");
|
|
3418
|
+
} else if (action === "NEXT") {
|
|
3419
|
+
if (view === "day") newDate = currentDate.add(1, "day");
|
|
3420
|
+
if (view === "week") newDate = currentDate.add(1, "week");
|
|
3421
|
+
if (view === "month") newDate = currentDate.add(1, "month");
|
|
3422
|
+
} else if (action === "TODAY") newDate = dayjs7();
|
|
3057
3423
|
setCurrentDate(newDate);
|
|
3058
3424
|
};
|
|
3059
|
-
return /* @__PURE__ */
|
|
3425
|
+
return /* @__PURE__ */ React25.createElement(Box19, null, /* @__PURE__ */ React25.createElement(
|
|
3060
3426
|
CalendarToolbar,
|
|
3061
3427
|
{
|
|
3062
3428
|
labelDate: currentDate,
|
|
@@ -3065,39 +3431,280 @@ var Calendar = ({
|
|
|
3065
3431
|
onNavigate: handleNavigate
|
|
3066
3432
|
},
|
|
3067
3433
|
toolbar
|
|
3068
|
-
),
|
|
3434
|
+
), isLoading ? /* @__PURE__ */ React25.createElement(React25.Fragment, null, /* @__PURE__ */ React25.createElement(Box19, null, /* @__PURE__ */ React25.createElement(
|
|
3435
|
+
Box19,
|
|
3436
|
+
{
|
|
3437
|
+
display: "flex",
|
|
3438
|
+
justifyContent: "center",
|
|
3439
|
+
alignItems: "center",
|
|
3440
|
+
height: "400px"
|
|
3441
|
+
},
|
|
3442
|
+
/* @__PURE__ */ React25.createElement(CircularProgress4, { variant: "indeterminate" })
|
|
3443
|
+
))) : /* @__PURE__ */ React25.createElement(React25.Fragment, null, view === "month" && /* @__PURE__ */ React25.createElement(
|
|
3069
3444
|
MonthView,
|
|
3070
3445
|
{
|
|
3071
3446
|
events,
|
|
3447
|
+
currentDate,
|
|
3072
3448
|
onDayClick,
|
|
3073
3449
|
onMoreClick,
|
|
3074
3450
|
onEventClick,
|
|
3075
|
-
|
|
3451
|
+
onEventHover
|
|
3076
3452
|
}
|
|
3077
|
-
), view === "week" && /* @__PURE__ */
|
|
3453
|
+
), view === "week" && /* @__PURE__ */ React25.createElement(
|
|
3078
3454
|
WeekView,
|
|
3079
3455
|
{
|
|
3080
3456
|
events,
|
|
3081
3457
|
currentDate,
|
|
3082
3458
|
onDayClick,
|
|
3083
3459
|
onMoreClick,
|
|
3084
|
-
onEventClick
|
|
3460
|
+
onEventClick,
|
|
3461
|
+
onEventHover,
|
|
3462
|
+
startHour,
|
|
3463
|
+
endHour
|
|
3085
3464
|
}
|
|
3086
|
-
), view === "day" && /* @__PURE__ */
|
|
3465
|
+
), view === "day" && /* @__PURE__ */ React25.createElement(
|
|
3087
3466
|
DayView,
|
|
3088
3467
|
{
|
|
3089
3468
|
events,
|
|
3090
3469
|
currentDate,
|
|
3091
|
-
onEventClick
|
|
3470
|
+
onEventClick,
|
|
3471
|
+
onEventHover,
|
|
3472
|
+
startHour,
|
|
3473
|
+
endHour
|
|
3092
3474
|
}
|
|
3093
|
-
));
|
|
3475
|
+
)));
|
|
3476
|
+
};
|
|
3477
|
+
|
|
3478
|
+
// src/Components/SCTime.tsx
|
|
3479
|
+
import React26, { useState as useState13 } from "react";
|
|
3480
|
+
import { Box as Box20, InputAdornment as InputAdornment6, Popover as Popover5, ClickAwayListener } from "@mui/material";
|
|
3481
|
+
import { LocalizationProvider as LocalizationProvider3 } from "@mui/x-date-pickers/LocalizationProvider";
|
|
3482
|
+
import { AdapterDayjs as AdapterDayjs2 } from "@mui/x-date-pickers/AdapterDayjs";
|
|
3483
|
+
import dayjs8 from "dayjs";
|
|
3484
|
+
import "dayjs/locale/es";
|
|
3485
|
+
import { LicenseInfo as LicenseInfo3 } from "@mui/x-license-pro";
|
|
3486
|
+
import AccessTimeIcon from "@mui/icons-material/AccessTime";
|
|
3487
|
+
import { TimeField } from "@mui/x-date-pickers/TimeField";
|
|
3488
|
+
import { DigitalClock } from "@mui/x-date-pickers/DigitalClock";
|
|
3489
|
+
var SCTime = ({
|
|
3490
|
+
label = "Hora",
|
|
3491
|
+
required = false,
|
|
3492
|
+
disabled = false,
|
|
3493
|
+
background = "transparent",
|
|
3494
|
+
timeStep = 5,
|
|
3495
|
+
state,
|
|
3496
|
+
setState
|
|
3497
|
+
}) => {
|
|
3498
|
+
LicenseInfo3.setLicenseKey(
|
|
3499
|
+
"77d49a57fbc5f4af35ddb05c5f1742e0Tz0xMTI3MjgsRT0xNzc4MzcxMTk5MDAwLFM9cHJvLExNPXN1YnNjcmlwdGlvbixQVj1RMy0yMDI0LEtWPTI="
|
|
3500
|
+
);
|
|
3501
|
+
const isTimeEmpty = required && !state;
|
|
3502
|
+
const hasError = isTimeEmpty;
|
|
3503
|
+
const [anchorEl, setAnchorEl] = useState13(null);
|
|
3504
|
+
const [isOpenPopover, setIsOpenPopover] = useState13(false);
|
|
3505
|
+
const [popoverPlacement, setPopoverPlacement] = useState13("bottom");
|
|
3506
|
+
const detectPlacement = (element) => {
|
|
3507
|
+
const rect = element.getBoundingClientRect();
|
|
3508
|
+
const windowHeight = window.innerHeight;
|
|
3509
|
+
const spaceBelow = windowHeight - rect.bottom;
|
|
3510
|
+
const spaceAbove = rect.top;
|
|
3511
|
+
const popoverHeight = 300;
|
|
3512
|
+
if (spaceBelow < popoverHeight && spaceAbove > spaceBelow) {
|
|
3513
|
+
setPopoverPlacement("top");
|
|
3514
|
+
} else {
|
|
3515
|
+
setPopoverPlacement("bottom");
|
|
3516
|
+
}
|
|
3517
|
+
};
|
|
3518
|
+
const handleTimeFieldClick = (event2) => {
|
|
3519
|
+
if (!disabled) {
|
|
3520
|
+
const target = event2.currentTarget;
|
|
3521
|
+
setAnchorEl(target);
|
|
3522
|
+
detectPlacement(target);
|
|
3523
|
+
setIsOpenPopover(true);
|
|
3524
|
+
}
|
|
3525
|
+
};
|
|
3526
|
+
const handleTimeChange = (newValue) => {
|
|
3527
|
+
const dayjsValue = newValue ? dayjs8(newValue) : null;
|
|
3528
|
+
setState(dayjsValue);
|
|
3529
|
+
setIsOpenPopover(false);
|
|
3530
|
+
setAnchorEl(null);
|
|
3531
|
+
};
|
|
3532
|
+
const handleClose = () => {
|
|
3533
|
+
setIsOpenPopover(false);
|
|
3534
|
+
setAnchorEl(null);
|
|
3535
|
+
};
|
|
3536
|
+
return /* @__PURE__ */ React26.createElement(LocalizationProvider3, { dateAdapter: AdapterDayjs2 }, /* @__PURE__ */ React26.createElement(Box20, { sx: { position: "relative", width: "120px" } }, /* @__PURE__ */ React26.createElement(
|
|
3537
|
+
TimeField,
|
|
3538
|
+
{
|
|
3539
|
+
label,
|
|
3540
|
+
value: state,
|
|
3541
|
+
disabled,
|
|
3542
|
+
required,
|
|
3543
|
+
error: hasError,
|
|
3544
|
+
onClick: handleTimeFieldClick,
|
|
3545
|
+
slotProps: {
|
|
3546
|
+
textField: {
|
|
3547
|
+
InputProps: {
|
|
3548
|
+
endAdornment: /* @__PURE__ */ React26.createElement(InputAdornment6, { position: "end" }, /* @__PURE__ */ React26.createElement(
|
|
3549
|
+
AccessTimeIcon,
|
|
3550
|
+
{
|
|
3551
|
+
color: disabled ? "disabled" : "action",
|
|
3552
|
+
sx: { cursor: disabled ? "default" : "pointer" },
|
|
3553
|
+
fontSize: "small"
|
|
3554
|
+
}
|
|
3555
|
+
)),
|
|
3556
|
+
sx: {
|
|
3557
|
+
backgroundColor: background,
|
|
3558
|
+
padding: "8px 12px",
|
|
3559
|
+
cursor: disabled ? "default" : "pointer",
|
|
3560
|
+
"& input": {
|
|
3561
|
+
cursor: disabled ? "default" : "pointer"
|
|
3562
|
+
}
|
|
3563
|
+
}
|
|
3564
|
+
}
|
|
3565
|
+
}
|
|
3566
|
+
},
|
|
3567
|
+
sx: {
|
|
3568
|
+
width: "100%",
|
|
3569
|
+
"& .MuiInputBase-input": {
|
|
3570
|
+
cursor: disabled ? "default" : "pointer"
|
|
3571
|
+
},
|
|
3572
|
+
"& .MuiPickersSectionList-root": {
|
|
3573
|
+
padding: "0px !important"
|
|
3574
|
+
}
|
|
3575
|
+
}
|
|
3576
|
+
}
|
|
3577
|
+
), /* @__PURE__ */ React26.createElement(
|
|
3578
|
+
Popover5,
|
|
3579
|
+
{
|
|
3580
|
+
open: isOpenPopover,
|
|
3581
|
+
anchorEl,
|
|
3582
|
+
onClose: handleClose,
|
|
3583
|
+
anchorOrigin: {
|
|
3584
|
+
vertical: popoverPlacement === "top" ? "top" : "bottom",
|
|
3585
|
+
horizontal: "left"
|
|
3586
|
+
},
|
|
3587
|
+
transformOrigin: {
|
|
3588
|
+
vertical: popoverPlacement === "top" ? "bottom" : "top",
|
|
3589
|
+
horizontal: "left"
|
|
3590
|
+
},
|
|
3591
|
+
marginThreshold: 0,
|
|
3592
|
+
disableScrollLock: true,
|
|
3593
|
+
slotProps: {
|
|
3594
|
+
paper: {
|
|
3595
|
+
sx: {
|
|
3596
|
+
boxShadow: "0px 4px 20px rgba(0, 0, 0, 0.1)",
|
|
3597
|
+
borderRadius: 1,
|
|
3598
|
+
border: "1px solid #e0e0e0",
|
|
3599
|
+
maxHeight: "300px",
|
|
3600
|
+
overflow: "visible"
|
|
3601
|
+
}
|
|
3602
|
+
}
|
|
3603
|
+
}
|
|
3604
|
+
},
|
|
3605
|
+
/* @__PURE__ */ React26.createElement(ClickAwayListener, { onClickAway: handleClose }, /* @__PURE__ */ React26.createElement(Box20, { sx: { p: 0 } }, /* @__PURE__ */ React26.createElement(
|
|
3606
|
+
DigitalClock,
|
|
3607
|
+
{
|
|
3608
|
+
value: state,
|
|
3609
|
+
onChange: handleTimeChange,
|
|
3610
|
+
timeStep,
|
|
3611
|
+
sx: {
|
|
3612
|
+
"& .MuiList-root": {
|
|
3613
|
+
maxHeight: "250px",
|
|
3614
|
+
overflow: "auto"
|
|
3615
|
+
},
|
|
3616
|
+
"& .MuiMenuItem-root": {
|
|
3617
|
+
fontSize: "0.875rem",
|
|
3618
|
+
py: 0.5
|
|
3619
|
+
}
|
|
3620
|
+
}
|
|
3621
|
+
}
|
|
3622
|
+
)))
|
|
3623
|
+
)));
|
|
3624
|
+
};
|
|
3625
|
+
|
|
3626
|
+
// src/Components/SCCard.tsx
|
|
3627
|
+
import React27 from "react";
|
|
3628
|
+
import { Button as Button11, Box as Box21, SvgIcon as SvgIcon8 } from "@mui/material";
|
|
3629
|
+
import IconButton11 from "@mui/material/IconButton";
|
|
3630
|
+
import Card from "@mui/material/Card";
|
|
3631
|
+
import CardHeader from "@mui/material/CardHeader";
|
|
3632
|
+
import CardMedia from "@mui/material/CardMedia";
|
|
3633
|
+
import CardContent from "@mui/material/CardContent";
|
|
3634
|
+
import CardActions from "@mui/material/CardActions";
|
|
3635
|
+
import Collapse from "@mui/material/Collapse";
|
|
3636
|
+
import ExpandMoreIcon from "@mui/icons-material/ExpandMore";
|
|
3637
|
+
import * as Muicon8 from "@mui/icons-material";
|
|
3638
|
+
var SCCard = ({ title, image, iconTitle, actionsTitle, subtitle, content, actions, expand }) => {
|
|
3639
|
+
let iconTitleValidation = "";
|
|
3640
|
+
let IconTitle;
|
|
3641
|
+
const [expanded, setExpanded] = React27.useState(false);
|
|
3642
|
+
if (iconTitle) {
|
|
3643
|
+
if (Muicon8[iconTitle] == void 0) {
|
|
3644
|
+
if (iconTitle && React27.isValidElement(iconTitle) && iconTitle.type == void 0) {
|
|
3645
|
+
iconTitleValidation = "image";
|
|
3646
|
+
IconTitle = iconTitle;
|
|
3647
|
+
} else {
|
|
3648
|
+
iconTitleValidation = "icon";
|
|
3649
|
+
IconTitle = iconTitle;
|
|
3650
|
+
}
|
|
3651
|
+
} else {
|
|
3652
|
+
iconTitleValidation = "icon";
|
|
3653
|
+
IconTitle = Muicon8[iconTitle];
|
|
3654
|
+
}
|
|
3655
|
+
}
|
|
3656
|
+
const handleExpandClick = () => {
|
|
3657
|
+
setExpanded(!expanded);
|
|
3658
|
+
};
|
|
3659
|
+
return /* @__PURE__ */ React27.createElement(Card, { sx: { maxWidth: 345 } }, title && /* @__PURE__ */ React27.createElement(
|
|
3660
|
+
CardHeader,
|
|
3661
|
+
{
|
|
3662
|
+
avatar: iconTitle ? iconTitleValidation === "image" ? /* @__PURE__ */ React27.createElement(Box21, { sx: { marginRight: "16px", width: "44px", height: "44px", borderRadius: "1px" } }, /* @__PURE__ */ React27.createElement("img", { src: IconTitle, width: "44px", height: "44px" })) : /* @__PURE__ */ React27.createElement(SvgIcon8, { color: "action", fontSize: "small", component: IconTitle, sx: { marginRight: "16px" } }) : void 0,
|
|
3663
|
+
action: (expand == null ? void 0 : expand.position) == "top" ? (expand == null ? void 0 : expand.type) === "text" ? /* @__PURE__ */ React27.createElement(Button11, { onClick: handleExpandClick, sx: { marginRight: "auto" } }, "Expandir") : (expand == null ? void 0 : expand.type) === "icon" && /* @__PURE__ */ React27.createElement(IconButton11, { onClick: handleExpandClick, sx: { marginRight: "auto" }, size: "small" }, /* @__PURE__ */ React27.createElement(ExpandMoreIcon, { fontSize: "small" })) : actionsTitle,
|
|
3664
|
+
title,
|
|
3665
|
+
subheader: subtitle,
|
|
3666
|
+
sx: {
|
|
3667
|
+
"& .MuiCardHeader-title": {
|
|
3668
|
+
fontSize: "14px",
|
|
3669
|
+
color: "text.primary"
|
|
3670
|
+
},
|
|
3671
|
+
"& .MuiCardHeader-subheader": {
|
|
3672
|
+
fontSize: "13px",
|
|
3673
|
+
color: "text.secondary"
|
|
3674
|
+
},
|
|
3675
|
+
"& .MuiCardHeader-action": {
|
|
3676
|
+
height: "40px !important",
|
|
3677
|
+
display: "flex",
|
|
3678
|
+
alignItems: "center"
|
|
3679
|
+
}
|
|
3680
|
+
}
|
|
3681
|
+
}
|
|
3682
|
+
), image && /* @__PURE__ */ React27.createElement(
|
|
3683
|
+
CardMedia,
|
|
3684
|
+
{
|
|
3685
|
+
component: "img",
|
|
3686
|
+
height: "194",
|
|
3687
|
+
image
|
|
3688
|
+
}
|
|
3689
|
+
), content && /* @__PURE__ */ React27.createElement(CardContent, { sx: { padding: "8px 16px !important" } }, content), ((expand == null ? void 0 : expand.position) == "bottom" || actions != void 0) && /* @__PURE__ */ React27.createElement(CardActions, { disableSpacing: true, sx: { justifyContent: "flex-end" } }, (expand == null ? void 0 : expand.position) === "bottom" ? (expand == null ? void 0 : expand.type) === "text" ? /* @__PURE__ */ React27.createElement(Button11, { onClick: handleExpandClick, sx: { marginRight: "auto" } }, "Expandir") : (expand == null ? void 0 : expand.type) === "icon" && /* @__PURE__ */ React27.createElement(IconButton11, { onClick: handleExpandClick, sx: { marginRight: "auto" } }, /* @__PURE__ */ React27.createElement(ExpandMoreIcon, null)) : null, actions && actions.length > 0 ? actions.map((action, index) => /* @__PURE__ */ React27.createElement(
|
|
3690
|
+
Button11,
|
|
3691
|
+
{
|
|
3692
|
+
key: index,
|
|
3693
|
+
size: "small",
|
|
3694
|
+
color: action.color || "primary",
|
|
3695
|
+
variant: action.variant || "text",
|
|
3696
|
+
onClick: action.fn,
|
|
3697
|
+
disabled: action.disabled || false
|
|
3698
|
+
},
|
|
3699
|
+
action.text
|
|
3700
|
+
)) : ""), expand && /* @__PURE__ */ React27.createElement(Collapse, { in: expanded, timeout: "auto", unmountOnExit: true }, /* @__PURE__ */ React27.createElement(CardContent, { sx: { padding: "8px 16px !important" } }, expand.content)));
|
|
3094
3701
|
};
|
|
3095
3702
|
|
|
3096
3703
|
// src/Theme/index.ts
|
|
3097
3704
|
import { createTheme } from "@mui/material/styles";
|
|
3098
3705
|
|
|
3099
3706
|
// src/Theme/components.ts
|
|
3100
|
-
import
|
|
3707
|
+
import React28 from "react";
|
|
3101
3708
|
import {
|
|
3102
3709
|
InfoRounded as InfoRounded2,
|
|
3103
3710
|
CheckCircleRounded as CheckCircleRounded2,
|
|
@@ -3800,10 +4407,10 @@ var components = {
|
|
|
3800
4407
|
MuiAlert: {
|
|
3801
4408
|
defaultProps: {
|
|
3802
4409
|
iconMapping: {
|
|
3803
|
-
success:
|
|
3804
|
-
error:
|
|
3805
|
-
warning:
|
|
3806
|
-
info:
|
|
4410
|
+
success: React28.createElement(CheckCircleRounded2),
|
|
4411
|
+
error: React28.createElement(ErrorRounded2),
|
|
4412
|
+
warning: React28.createElement(WarningRounded2),
|
|
4413
|
+
info: React28.createElement(InfoRounded2)
|
|
3807
4414
|
}
|
|
3808
4415
|
},
|
|
3809
4416
|
variants: [
|
|
@@ -4851,6 +5458,7 @@ export {
|
|
|
4851
5458
|
PageHeader,
|
|
4852
5459
|
SCAutocomplete,
|
|
4853
5460
|
SCCalendarSwipeable,
|
|
5461
|
+
SCCard,
|
|
4854
5462
|
SCDataGrid,
|
|
4855
5463
|
SCDataGridInitial,
|
|
4856
5464
|
SCDateRange,
|
|
@@ -4862,6 +5470,7 @@ export {
|
|
|
4862
5470
|
SCTabs,
|
|
4863
5471
|
SCTextArea,
|
|
4864
5472
|
SCTextField,
|
|
5473
|
+
SCTime,
|
|
4865
5474
|
SCToastNotification,
|
|
4866
5475
|
SincoTheme,
|
|
4867
5476
|
ToastProgress,
|