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.cjs
CHANGED
|
@@ -68,6 +68,7 @@ __export(src_exports, {
|
|
|
68
68
|
PageHeader: () => PageHeader,
|
|
69
69
|
SCAutocomplete: () => SCAutocomplete,
|
|
70
70
|
SCCalendarSwipeable: () => SCCalendarSwipeable,
|
|
71
|
+
SCCard: () => SCCard,
|
|
71
72
|
SCDataGrid: () => SCDataGrid,
|
|
72
73
|
SCDataGridInitial: () => SCDataGridInitial,
|
|
73
74
|
SCDateRange: () => SCDateRange,
|
|
@@ -79,6 +80,7 @@ __export(src_exports, {
|
|
|
79
80
|
SCTabs: () => SCTabs,
|
|
80
81
|
SCTextArea: () => SCTextArea,
|
|
81
82
|
SCTextField: () => SCTextField,
|
|
83
|
+
SCTime: () => SCTime,
|
|
82
84
|
SCToastNotification: () => SCToastNotification,
|
|
83
85
|
SincoTheme: () => SincoTheme,
|
|
84
86
|
ToastProgress: () => ToastProgress,
|
|
@@ -96,10 +98,12 @@ __export(src_exports, {
|
|
|
96
98
|
module.exports = __toCommonJS(src_exports);
|
|
97
99
|
|
|
98
100
|
// src/Components/Drawer/SCDrawer.tsx
|
|
99
|
-
var
|
|
101
|
+
var import_react9 = __toESM(require("react"), 1);
|
|
100
102
|
var import_material7 = require("@mui/material");
|
|
101
103
|
var import_Grid23 = __toESM(require("@mui/material/Grid2"), 1);
|
|
102
104
|
var import_Close = __toESM(require("@mui/icons-material/Close"), 1);
|
|
105
|
+
var import_ArrowBackIos = __toESM(require("@mui/icons-material/ArrowBackIos"), 1);
|
|
106
|
+
var import_ArrowForwardIos = __toESM(require("@mui/icons-material/ArrowForwardIos"), 1);
|
|
103
107
|
|
|
104
108
|
// src/Components/Textfield/SCTextField.tsx
|
|
105
109
|
var import_react = __toESM(require("react"), 1);
|
|
@@ -733,11 +737,9 @@ function SCSelect({
|
|
|
733
737
|
width = "100%",
|
|
734
738
|
size = "small",
|
|
735
739
|
variant = "outlined",
|
|
736
|
-
|
|
740
|
+
background = "white",
|
|
737
741
|
required,
|
|
738
742
|
disabled,
|
|
739
|
-
background,
|
|
740
|
-
fnAplicar,
|
|
741
743
|
setState,
|
|
742
744
|
state
|
|
743
745
|
}) {
|
|
@@ -812,14 +814,20 @@ function SCSelect({
|
|
|
812
814
|
MenuProps: {
|
|
813
815
|
PaperProps: {
|
|
814
816
|
sx: {
|
|
815
|
-
|
|
817
|
+
maxHeight: "300px",
|
|
818
|
+
minWidth: "100%"
|
|
816
819
|
}
|
|
817
820
|
},
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
|
|
821
|
+
anchorOrigin: {
|
|
822
|
+
vertical: "bottom",
|
|
823
|
+
horizontal: "left"
|
|
824
|
+
},
|
|
825
|
+
transformOrigin: {
|
|
826
|
+
vertical: "top",
|
|
827
|
+
horizontal: "left"
|
|
828
|
+
},
|
|
829
|
+
disableAutoFocusItem: true,
|
|
830
|
+
marginThreshold: 0
|
|
823
831
|
}
|
|
824
832
|
},
|
|
825
833
|
data.map((option, index) => {
|
|
@@ -851,7 +859,6 @@ function SCAutocomplete({
|
|
|
851
859
|
state,
|
|
852
860
|
inputChange,
|
|
853
861
|
maxCheck
|
|
854
|
-
// Agregar el parámetro maxCheck
|
|
855
862
|
}) {
|
|
856
863
|
const labelContent = `<span style="color: red;">* </span>` + label;
|
|
857
864
|
let group = "";
|
|
@@ -945,6 +952,7 @@ function SCAutocomplete({
|
|
|
945
952
|
{
|
|
946
953
|
multiple: typeFormat === "multiselect",
|
|
947
954
|
clearOnEscape: true,
|
|
955
|
+
noOptionsText: "No se encuentra",
|
|
948
956
|
disabled,
|
|
949
957
|
options: data,
|
|
950
958
|
isOptionEqualToValue: (option, value) => getItemValue(option).value === getItemValue(value).value,
|
|
@@ -1188,29 +1196,81 @@ var getIcon2 = (iconName) => {
|
|
|
1188
1196
|
};
|
|
1189
1197
|
|
|
1190
1198
|
// src/Components/Drawer/Helpers/validateInput.tsx
|
|
1191
|
-
var validateInputs = (arrayElements, onError, onSuccess) => {
|
|
1192
|
-
var _a;
|
|
1199
|
+
var validateInputs = (arrayElements, onError, onSuccess, setChipFilters, setTextFilters) => {
|
|
1200
|
+
var _a, _b;
|
|
1193
1201
|
let requiredValues = 0;
|
|
1194
1202
|
let filledValues = 0;
|
|
1195
1203
|
for (let i = 0; i < arrayElements.length; i++) {
|
|
1196
|
-
|
|
1197
|
-
|
|
1198
|
-
|
|
1199
|
-
|
|
1200
|
-
|
|
1204
|
+
const element = arrayElements[i];
|
|
1205
|
+
const { validation, element: typeElement } = validateTypeElements(element);
|
|
1206
|
+
const textValue = ((_a = typeElement.state) == null ? void 0 : _a.textValue) !== void 0 ? String((_b = typeElement.state) == null ? void 0 : _b.textValue) : String(typeElement.state);
|
|
1207
|
+
if (typeElement == null ? void 0 : typeElement.required) {
|
|
1208
|
+
requiredValues++;
|
|
1209
|
+
if (textValue.trim() !== "" && textValue.trim() !== ",") {
|
|
1201
1210
|
filledValues++;
|
|
1202
1211
|
}
|
|
1203
1212
|
}
|
|
1204
1213
|
}
|
|
1205
1214
|
if (requiredValues === filledValues) {
|
|
1206
1215
|
onSuccess();
|
|
1216
|
+
setChipFilters(true);
|
|
1207
1217
|
} else {
|
|
1208
1218
|
onError({
|
|
1209
1219
|
type: "error",
|
|
1210
1220
|
title: "Algunos campos son requeridos",
|
|
1211
1221
|
time: 10
|
|
1212
1222
|
});
|
|
1223
|
+
setChipFilters(false);
|
|
1224
|
+
}
|
|
1225
|
+
};
|
|
1226
|
+
|
|
1227
|
+
// src/Components/Drawer/Helpers/validateTypeElement.tsx
|
|
1228
|
+
var import_react8 = __toESM(require("react"), 1);
|
|
1229
|
+
var validateTypeElements = (element) => {
|
|
1230
|
+
var _a;
|
|
1231
|
+
let validation = "";
|
|
1232
|
+
let typeElement = element;
|
|
1233
|
+
if (element.type == "textField") {
|
|
1234
|
+
validation = "textField";
|
|
1235
|
+
typeElement = element;
|
|
1236
|
+
} else if (import_react8.default.isValidElement(element == null ? void 0 : element.component) && element.component.type && element.component.type.name == "SCtextField") {
|
|
1237
|
+
validation = "textField";
|
|
1238
|
+
typeElement = element == null ? void 0 : element.component.props;
|
|
1239
|
+
} else if (element.type == "textArea") {
|
|
1240
|
+
validation = "textArea";
|
|
1241
|
+
typeElement = element;
|
|
1242
|
+
} else if (import_react8.default.isValidElement(element == null ? void 0 : element.component) && element.component.type && element.component.type.name == "SCtextArea") {
|
|
1243
|
+
validation = "textArea";
|
|
1244
|
+
typeElement = element == null ? void 0 : element.component.props;
|
|
1245
|
+
} else if (element.type == "dateRange") {
|
|
1246
|
+
validation = "dateRange";
|
|
1247
|
+
typeElement = element;
|
|
1248
|
+
} else if (import_react8.default.isValidElement(element == null ? void 0 : element.component) && element.component.type && element.component.type.name == "SCDateRange") {
|
|
1249
|
+
validation = "dateRange";
|
|
1250
|
+
typeElement = element == null ? void 0 : element.component.props;
|
|
1251
|
+
} else if (element.type == "autocomplete") {
|
|
1252
|
+
validation = "autocomplete";
|
|
1253
|
+
typeElement = element;
|
|
1254
|
+
} else if (import_react8.default.isValidElement(element == null ? void 0 : element.component) && element.component.type && element.component.type.name == "SCAutocomplete") {
|
|
1255
|
+
validation = "autocomplete";
|
|
1256
|
+
typeElement = element == null ? void 0 : element.component.props;
|
|
1257
|
+
} else if (element.typeFormat == "multiselect") {
|
|
1258
|
+
validation = "multiselect";
|
|
1259
|
+
typeElement = element;
|
|
1260
|
+
} else if (import_react8.default.isValidElement(element == null ? void 0 : element.component) && element.component.props && ((_a = element == null ? void 0 : element.component) == null ? void 0 : _a.props).typeFormat == "multiselect") {
|
|
1261
|
+
validation = "multiselect";
|
|
1262
|
+
typeElement = element == null ? void 0 : element.component.props;
|
|
1263
|
+
} else if (element.type == "select") {
|
|
1264
|
+
validation = "select";
|
|
1265
|
+
typeElement = element;
|
|
1266
|
+
} else if (import_react8.default.isValidElement(element == null ? void 0 : element.component) && element.component.type && element.component.type.name == "SCSelect") {
|
|
1267
|
+
validation = "select";
|
|
1268
|
+
typeElement = element == null ? void 0 : element.component.props;
|
|
1213
1269
|
}
|
|
1270
|
+
return {
|
|
1271
|
+
validation,
|
|
1272
|
+
element: typeElement
|
|
1273
|
+
};
|
|
1214
1274
|
};
|
|
1215
1275
|
|
|
1216
1276
|
// src/Components/Drawer/SCDrawer.tsx
|
|
@@ -1225,16 +1285,42 @@ function SCDrawer({
|
|
|
1225
1285
|
anchor = "left",
|
|
1226
1286
|
width,
|
|
1227
1287
|
//Funcionales
|
|
1228
|
-
open
|
|
1288
|
+
open,
|
|
1289
|
+
setOpen,
|
|
1290
|
+
chipFilters
|
|
1229
1291
|
}) {
|
|
1230
1292
|
var _a, _b;
|
|
1231
|
-
const
|
|
1232
|
-
const [
|
|
1293
|
+
const scrollRef = (0, import_react9.useRef)(null);
|
|
1294
|
+
const [drawerOpen, setDrawerOpen] = import_react9.default.useState(open);
|
|
1295
|
+
const [toast, setToast] = import_react9.default.useState(null);
|
|
1296
|
+
const [stateChipFilters, setChipFilters] = import_react9.default.useState(false);
|
|
1297
|
+
const [textFilters, setTextFilters] = import_react9.default.useState([]);
|
|
1298
|
+
(0, import_react9.useEffect)(() => {
|
|
1299
|
+
if (chipFilters != void 0) {
|
|
1300
|
+
if (chipFilters.length > 0) {
|
|
1301
|
+
setTextFilters([]);
|
|
1302
|
+
inputValidation();
|
|
1303
|
+
}
|
|
1304
|
+
}
|
|
1305
|
+
}, [chipFilters]);
|
|
1306
|
+
(0, import_react9.useEffect)(() => {
|
|
1307
|
+
if (open) {
|
|
1308
|
+
toggleDrawer(true);
|
|
1309
|
+
} else {
|
|
1310
|
+
handleDrawerClose();
|
|
1311
|
+
}
|
|
1312
|
+
}, [open]);
|
|
1233
1313
|
const handleDrawerClose = () => {
|
|
1234
1314
|
setDrawerOpen(false);
|
|
1315
|
+
if (setOpen) {
|
|
1316
|
+
setOpen(false);
|
|
1317
|
+
}
|
|
1235
1318
|
};
|
|
1236
1319
|
const toggleDrawer = (newOpen) => () => {
|
|
1237
1320
|
setDrawerOpen(newOpen);
|
|
1321
|
+
if (setOpen) {
|
|
1322
|
+
setOpen(true);
|
|
1323
|
+
}
|
|
1238
1324
|
};
|
|
1239
1325
|
const ButtonIcon = getIcon2(buttonDrawer == null ? void 0 : buttonDrawer.icon);
|
|
1240
1326
|
const setToastWithDelay = (toastContent) => {
|
|
@@ -1243,39 +1329,179 @@ function SCDrawer({
|
|
|
1243
1329
|
setToast(toastContent);
|
|
1244
1330
|
}, 10);
|
|
1245
1331
|
};
|
|
1246
|
-
const inputValidation = () =>
|
|
1247
|
-
|
|
1248
|
-
|
|
1249
|
-
|
|
1250
|
-
|
|
1251
|
-
|
|
1252
|
-
element
|
|
1253
|
-
|
|
1254
|
-
|
|
1255
|
-
|
|
1256
|
-
|
|
1257
|
-
|
|
1258
|
-
|
|
1259
|
-
|
|
1260
|
-
|
|
1332
|
+
const inputValidation = () => {
|
|
1333
|
+
var _a2, _b2, _c, _d;
|
|
1334
|
+
if (chipFilters != void 0 && chipFilters.length > 0) {
|
|
1335
|
+
if (chipFilters && chipFilters.length > 0) {
|
|
1336
|
+
arrayElements.forEach((arrayElement) => {
|
|
1337
|
+
var _a3, _b3, _c2;
|
|
1338
|
+
const { validation, element: typeElement } = validateTypeElements(arrayElement);
|
|
1339
|
+
let currentValue = "";
|
|
1340
|
+
if (validation === "dateRange") {
|
|
1341
|
+
if (typeElement.state && typeElement.state[0] && typeElement.state[1]) {
|
|
1342
|
+
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")}`;
|
|
1343
|
+
}
|
|
1344
|
+
} else {
|
|
1345
|
+
currentValue = ((_c2 = typeElement.state) == null ? void 0 : _c2.textValue) !== void 0 ? String(typeElement.state.textValue).trim() : String(typeElement.state).trim();
|
|
1346
|
+
}
|
|
1347
|
+
chipFilters.forEach((chipFilter) => {
|
|
1348
|
+
const chipValue = String(chipFilter).trim();
|
|
1349
|
+
if (currentValue === chipValue && currentValue !== "" && currentValue !== ",") {
|
|
1350
|
+
setTextFilters((prevFilters) => {
|
|
1351
|
+
const newFilter = { value: currentValue, arrayElement: typeElement };
|
|
1352
|
+
const existingFilterIndex = prevFilters.findIndex(
|
|
1353
|
+
(filter) => filter.arrayElement.label === arrayElement.label
|
|
1354
|
+
);
|
|
1355
|
+
if (existingFilterIndex !== -1) {
|
|
1356
|
+
const updatedFilters = [...prevFilters];
|
|
1357
|
+
updatedFilters[existingFilterIndex] = newFilter;
|
|
1358
|
+
return updatedFilters;
|
|
1359
|
+
} else {
|
|
1360
|
+
return [...prevFilters, newFilter];
|
|
1361
|
+
}
|
|
1362
|
+
});
|
|
1363
|
+
}
|
|
1364
|
+
});
|
|
1365
|
+
});
|
|
1366
|
+
}
|
|
1367
|
+
} else {
|
|
1368
|
+
const newFiltersToAdd = [];
|
|
1369
|
+
for (let i = 0; i < arrayElements.length; i++) {
|
|
1370
|
+
const element = arrayElements[i];
|
|
1371
|
+
const { validation, element: typeElement } = validateTypeElements(element);
|
|
1372
|
+
const textValue = ((_a2 = typeElement.state) == null ? void 0 : _a2.textValue) !== void 0 ? String((_b2 = typeElement.state) == null ? void 0 : _b2.textValue) : String(typeElement.state);
|
|
1373
|
+
if (textValue.trim() !== "" && textValue.trim() !== ",") {
|
|
1374
|
+
let newFilter;
|
|
1375
|
+
switch (validation) {
|
|
1376
|
+
case "dateRange":
|
|
1377
|
+
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")}`;
|
|
1378
|
+
newFilter = { value: values, arrayElement: typeElement };
|
|
1379
|
+
break;
|
|
1380
|
+
default:
|
|
1381
|
+
newFilter = { value: textValue, arrayElement: typeElement };
|
|
1382
|
+
break;
|
|
1383
|
+
}
|
|
1384
|
+
const existingFilterByLabel = newFiltersToAdd.find(
|
|
1385
|
+
(filter) => filter.arrayElement.label === element.label
|
|
1386
|
+
);
|
|
1387
|
+
if (existingFilterByLabel) {
|
|
1388
|
+
existingFilterByLabel.value = newFilter.value;
|
|
1389
|
+
existingFilterByLabel.arrayElement = newFilter.arrayElement;
|
|
1261
1390
|
} else {
|
|
1262
|
-
|
|
1263
|
-
import_react8.default.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: "" });
|
|
1391
|
+
newFiltersToAdd.push(newFilter);
|
|
1264
1392
|
}
|
|
1265
1393
|
}
|
|
1266
1394
|
}
|
|
1395
|
+
setTextFilters((prevFilters) => {
|
|
1396
|
+
let updatedFilters = [...prevFilters];
|
|
1397
|
+
newFiltersToAdd.forEach((newFilter) => {
|
|
1398
|
+
const existingFilterIndex = updatedFilters.findIndex(
|
|
1399
|
+
(filter) => filter.arrayElement.label === newFilter.arrayElement.label
|
|
1400
|
+
);
|
|
1401
|
+
if (existingFilterIndex !== -1) {
|
|
1402
|
+
updatedFilters[existingFilterIndex] = newFilter;
|
|
1403
|
+
} else {
|
|
1404
|
+
updatedFilters.push(newFilter);
|
|
1405
|
+
}
|
|
1406
|
+
});
|
|
1407
|
+
return updatedFilters;
|
|
1408
|
+
});
|
|
1409
|
+
validateInputs(arrayElements, setToastWithDelay, handleDrawerClose, setChipFilters, setTextFilters);
|
|
1410
|
+
}
|
|
1411
|
+
};
|
|
1412
|
+
const resetElementByType = (originalElement, validation, typeElement) => {
|
|
1413
|
+
let defaultValue;
|
|
1414
|
+
switch (validation) {
|
|
1415
|
+
case "textField":
|
|
1416
|
+
case "textArea":
|
|
1417
|
+
defaultValue = "";
|
|
1418
|
+
break;
|
|
1419
|
+
case "dateRange":
|
|
1420
|
+
defaultValue = [null, null];
|
|
1421
|
+
break;
|
|
1422
|
+
case "multiselect":
|
|
1423
|
+
defaultValue = { hiddenValue: [], textValue: [] };
|
|
1424
|
+
break;
|
|
1425
|
+
default:
|
|
1426
|
+
defaultValue = { hiddenValue: "-1", textValue: "" };
|
|
1427
|
+
}
|
|
1428
|
+
if (typeElement.setState) {
|
|
1429
|
+
typeElement.setState(defaultValue);
|
|
1430
|
+
}
|
|
1431
|
+
};
|
|
1432
|
+
const cleanFilters = () => {
|
|
1433
|
+
arrayElements.forEach((element) => {
|
|
1434
|
+
const { validation, element: typeElement } = validateTypeElements(element);
|
|
1435
|
+
if (typeElement.setState) {
|
|
1436
|
+
resetElementByType(element, validation, typeElement);
|
|
1437
|
+
}
|
|
1438
|
+
});
|
|
1439
|
+
setTextFilters([]);
|
|
1440
|
+
};
|
|
1441
|
+
const deleteFilter = (element) => {
|
|
1442
|
+
const { validation, element: typeElement } = validateTypeElements(element);
|
|
1443
|
+
if (typeElement.setState && shouldShowChips == true) {
|
|
1444
|
+
resetElementByType(element, validation, typeElement);
|
|
1445
|
+
setTextFilters(
|
|
1446
|
+
(prevFilters) => prevFilters.filter((filter) => filter.arrayElement.label !== element.label)
|
|
1447
|
+
);
|
|
1448
|
+
}
|
|
1449
|
+
};
|
|
1450
|
+
const scroll = (offset) => {
|
|
1451
|
+
if (scrollRef.current) {
|
|
1452
|
+
scrollRef.current.scrollLeft += offset;
|
|
1453
|
+
}
|
|
1454
|
+
};
|
|
1455
|
+
const hasActiveFilters = () => {
|
|
1456
|
+
return arrayElements.some((arrayElement) => {
|
|
1457
|
+
const { validation, element: typeElement } = validateTypeElements(arrayElement);
|
|
1458
|
+
if (typeElement.state.textValue !== void 0) {
|
|
1459
|
+
return String(typeElement.state.textValue).trim() !== "";
|
|
1460
|
+
} else if (validation === "dateRange") {
|
|
1461
|
+
return typeElement.state && typeElement.state[0] !== null && typeElement.state[1] !== null;
|
|
1462
|
+
} else {
|
|
1463
|
+
return String(typeElement.state).trim() !== "" && String(typeElement.state).trim() !== ",";
|
|
1464
|
+
}
|
|
1267
1465
|
});
|
|
1268
1466
|
};
|
|
1269
|
-
const
|
|
1270
|
-
|
|
1467
|
+
const shouldShowChips = chipFilters != void 0 && chipFilters.length > 0 ? true : stateChipFilters === true && hasActiveFilters();
|
|
1468
|
+
const actionsA = actions == false ? false : actions != void 0 ? actions : [{ text: "Aplicar filtros", fn: inputValidation }, { text: "Limpiar filtros", fn: cleanFilters }];
|
|
1469
|
+
return /* @__PURE__ */ import_react9.default.createElement(import_react9.default.Fragment, null, toast && /* @__PURE__ */ import_react9.default.createElement(SCToastNotification, __spreadValues({}, toast)), /* @__PURE__ */ import_react9.default.createElement(import_Grid23.default, { container: true, justifyContent: "flex-start", flexWrap: "nowrap", alignItems: "center", sx: { width: "100%" } }, shouldShowChips && /* @__PURE__ */ import_react9.default.createElement(import_material7.Box, { display: "flex", alignItems: "center", sx: { maxWidth: "78%" } }, /* @__PURE__ */ import_react9.default.createElement(import_material7.IconButton, { onClick: () => scroll(-150), size: "small" }, /* @__PURE__ */ import_react9.default.createElement(import_ArrowBackIos.default, { fontSize: "small" })), /* @__PURE__ */ import_react9.default.createElement(
|
|
1470
|
+
import_material7.Box,
|
|
1471
|
+
{
|
|
1472
|
+
ref: scrollRef,
|
|
1473
|
+
gap: 0.3,
|
|
1474
|
+
sx: {
|
|
1475
|
+
display: "flex",
|
|
1476
|
+
overflowX: "auto",
|
|
1477
|
+
scrollBehavior: "smooth",
|
|
1478
|
+
"&::-webkit-scrollbar": { display: "none" }
|
|
1479
|
+
}
|
|
1480
|
+
},
|
|
1481
|
+
textFilters == null ? void 0 : textFilters.map((chipData, index) => /* @__PURE__ */ import_react9.default.createElement(
|
|
1482
|
+
import_material7.Chip,
|
|
1483
|
+
__spreadProps(__spreadValues({
|
|
1484
|
+
key: index,
|
|
1485
|
+
label: chipData.value
|
|
1486
|
+
}, chipData.arrayElement.required == false || chipData.arrayElement.required == void 0 ? { onDelete: () => deleteFilter(chipData.arrayElement) } : {}), {
|
|
1487
|
+
color: "default",
|
|
1488
|
+
variant: "filled",
|
|
1489
|
+
size: "small",
|
|
1490
|
+
sx: {
|
|
1491
|
+
flexShrink: 0,
|
|
1492
|
+
minWidth: "auto"
|
|
1493
|
+
}
|
|
1494
|
+
})
|
|
1495
|
+
))
|
|
1496
|
+
), /* @__PURE__ */ import_react9.default.createElement(import_material7.IconButton, { onClick: () => scroll(150), size: "small" }, /* @__PURE__ */ import_react9.default.createElement(import_ArrowForwardIos.default, { fontSize: "small" }))), (buttonDrawer == null ? void 0 : buttonDrawer.type) == "chip" ? /* @__PURE__ */ import_react9.default.createElement(
|
|
1271
1497
|
import_material7.Chip,
|
|
1272
1498
|
__spreadProps(__spreadValues({
|
|
1273
1499
|
onClick: toggleDrawer(true),
|
|
1274
1500
|
color: buttonDrawer == null ? void 0 : buttonDrawer.color,
|
|
1275
1501
|
variant: (buttonDrawer == null ? void 0 : buttonDrawer.variant) == "contained" ? "filled" : "outlined",
|
|
1276
1502
|
label: (_a = buttonDrawer == null ? void 0 : buttonDrawer.text) != null ? _a : "",
|
|
1277
|
-
icon: (buttonDrawer == null ? void 0 : buttonDrawer.iconPosition) === "left" && ButtonIcon ? /* @__PURE__ */
|
|
1278
|
-
deleteIcon: (buttonDrawer == null ? void 0 : buttonDrawer.iconPosition) === "right" && ButtonIcon ? /* @__PURE__ */
|
|
1503
|
+
icon: (buttonDrawer == null ? void 0 : buttonDrawer.iconPosition) === "left" && ButtonIcon ? /* @__PURE__ */ import_react9.default.createElement(ButtonIcon, { fontSize: "small" }) : void 0,
|
|
1504
|
+
deleteIcon: (buttonDrawer == null ? void 0 : buttonDrawer.iconPosition) === "right" && ButtonIcon ? /* @__PURE__ */ import_react9.default.createElement(ButtonIcon, { fontSize: "small" }) : void 0
|
|
1279
1505
|
}, (buttonDrawer == null ? void 0 : buttonDrawer.iconPosition) === "right" && ButtonIcon ? { onDelete: () => {
|
|
1280
1506
|
} } : {}), {
|
|
1281
1507
|
sx: {
|
|
@@ -1285,7 +1511,7 @@ function SCDrawer({
|
|
|
1285
1511
|
textTransform: "capitalize"
|
|
1286
1512
|
}
|
|
1287
1513
|
})
|
|
1288
|
-
) : /* @__PURE__ */
|
|
1514
|
+
) : /* @__PURE__ */ import_react9.default.createElement(
|
|
1289
1515
|
import_material7.Button,
|
|
1290
1516
|
{
|
|
1291
1517
|
"data-testid": "test-buttonDrawer",
|
|
@@ -1294,11 +1520,11 @@ function SCDrawer({
|
|
|
1294
1520
|
onClick: toggleDrawer(true),
|
|
1295
1521
|
size: "small",
|
|
1296
1522
|
variant: (buttonDrawer == null ? void 0 : buttonDrawer.variant) != void 0 ? buttonDrawer == null ? void 0 : buttonDrawer.variant : "text",
|
|
1297
|
-
startIcon: ((buttonDrawer == null ? void 0 : buttonDrawer.iconPosition) === "left" || !(buttonDrawer == null ? void 0 : buttonDrawer.iconPosition)) && ButtonIcon ? /* @__PURE__ */
|
|
1298
|
-
endIcon: (buttonDrawer == null ? void 0 : buttonDrawer.iconPosition) === "right" && ButtonIcon ? /* @__PURE__ */
|
|
1523
|
+
startIcon: ((buttonDrawer == null ? void 0 : buttonDrawer.iconPosition) === "left" || !(buttonDrawer == null ? void 0 : buttonDrawer.iconPosition)) && ButtonIcon ? /* @__PURE__ */ import_react9.default.createElement(ButtonIcon, { fontSize: "small" }) : null,
|
|
1524
|
+
endIcon: (buttonDrawer == null ? void 0 : buttonDrawer.iconPosition) === "right" && ButtonIcon ? /* @__PURE__ */ import_react9.default.createElement(ButtonIcon, { fontSize: "small" }) : null
|
|
1299
1525
|
},
|
|
1300
1526
|
(_b = buttonDrawer == null ? void 0 : buttonDrawer.text) != null ? _b : ""
|
|
1301
|
-
), /* @__PURE__ */
|
|
1527
|
+
)), /* @__PURE__ */ import_react9.default.createElement(
|
|
1302
1528
|
import_material7.Drawer,
|
|
1303
1529
|
{
|
|
1304
1530
|
open: drawerOpen,
|
|
@@ -1312,15 +1538,15 @@ function SCDrawer({
|
|
|
1312
1538
|
}
|
|
1313
1539
|
}
|
|
1314
1540
|
},
|
|
1315
|
-
/* @__PURE__ */
|
|
1541
|
+
/* @__PURE__ */ import_react9.default.createElement(import_material7.Stack, { flexDirection: "column", height: "100%" }, /* @__PURE__ */ import_react9.default.createElement(import_Grid23.default, { container: true, sx: { backgroundColor: "primary.50", alignItems: "center", height: "42px", textAlign: "left", padding: "8px 12px", justifyContent: "space-between", alignContent: "center" } }, /* @__PURE__ */ import_react9.default.createElement(import_material7.Typography, { variant: "h6", color: colorTitle || "text.primary" }, title != null ? title : "Personaliza tu b\xFAsqueda"), /* @__PURE__ */ import_react9.default.createElement(import_material7.IconButton, { onClick: handleDrawerClose }, /* @__PURE__ */ import_react9.default.createElement(import_Close.default, { "data-testid": "test-button-close", sx: { color: "text.primary" } }))), /* @__PURE__ */ import_react9.default.createElement(import_material7.Stack, { alignItems: "flex-start", height: "100%", gap: "16px", flex: 1, overflow: "auto", padding: "16px" }, arrayElements == null ? void 0 : arrayElements.map((arrayElement, index) => {
|
|
1316
1542
|
var _a2, _b2, _c, _d, _e, _f;
|
|
1317
|
-
return /* @__PURE__ */
|
|
1543
|
+
return /* @__PURE__ */ import_react9.default.createElement(
|
|
1318
1544
|
import_material7.Box,
|
|
1319
1545
|
{
|
|
1320
1546
|
key: `Stack_${(_a2 = arrayElement.type) != null ? _a2 : ""} ${(_b2 = arrayElement.label) != null ? _b2 : ""}${index}`,
|
|
1321
1547
|
sx: { width: "100%" }
|
|
1322
1548
|
},
|
|
1323
|
-
arrayElement.component ? /* @__PURE__ */
|
|
1549
|
+
arrayElement.component ? /* @__PURE__ */ import_react9.default.createElement(import_material7.Stack, { direction: "row", alignItems: "left", gap: 1 }, arrayElement.component) : arrayElement.type === "textField" ? /* @__PURE__ */ import_react9.default.createElement(
|
|
1324
1550
|
SCTextField,
|
|
1325
1551
|
{
|
|
1326
1552
|
title: arrayElement.title,
|
|
@@ -1346,7 +1572,7 @@ function SCDrawer({
|
|
|
1346
1572
|
onBlur: arrayElement.onBlur,
|
|
1347
1573
|
onKeyDown: arrayElement.onKeyDown
|
|
1348
1574
|
}
|
|
1349
|
-
) : arrayElement.type === "textArea" ? /* @__PURE__ */
|
|
1575
|
+
) : arrayElement.type === "textArea" ? /* @__PURE__ */ import_react9.default.createElement(
|
|
1350
1576
|
SCTextArea,
|
|
1351
1577
|
{
|
|
1352
1578
|
title: arrayElement.title,
|
|
@@ -1365,7 +1591,7 @@ function SCDrawer({
|
|
|
1365
1591
|
state: arrayElement.state || "",
|
|
1366
1592
|
onBlur: arrayElement.onBlur
|
|
1367
1593
|
}
|
|
1368
|
-
) : arrayElement.type === "autocomplete" ? /* @__PURE__ */
|
|
1594
|
+
) : arrayElement.type === "autocomplete" ? /* @__PURE__ */ import_react9.default.createElement(
|
|
1369
1595
|
SCAutocomplete,
|
|
1370
1596
|
{
|
|
1371
1597
|
label: arrayElement.label,
|
|
@@ -1383,7 +1609,7 @@ function SCDrawer({
|
|
|
1383
1609
|
state: arrayElement.state || "",
|
|
1384
1610
|
inputChange: arrayElement.inputChange
|
|
1385
1611
|
}
|
|
1386
|
-
) : arrayElement.type === "select" ? /* @__PURE__ */
|
|
1612
|
+
) : arrayElement.type === "select" ? /* @__PURE__ */ import_react9.default.createElement(
|
|
1387
1613
|
SCSelect,
|
|
1388
1614
|
{
|
|
1389
1615
|
label: arrayElement.label,
|
|
@@ -1392,7 +1618,6 @@ function SCDrawer({
|
|
|
1392
1618
|
width: arrayElement.width,
|
|
1393
1619
|
size: arrayElement.size,
|
|
1394
1620
|
variant: arrayElement.variant,
|
|
1395
|
-
deleteType: arrayElement.deleteType,
|
|
1396
1621
|
required: arrayElement.required,
|
|
1397
1622
|
disabled: arrayElement.disabled,
|
|
1398
1623
|
background: arrayElement.background,
|
|
@@ -1400,7 +1625,7 @@ function SCDrawer({
|
|
|
1400
1625
|
setState: arrayElement.setState,
|
|
1401
1626
|
state: arrayElement.state || ""
|
|
1402
1627
|
}
|
|
1403
|
-
) : arrayElement.type === "dateRange" ? /* @__PURE__ */
|
|
1628
|
+
) : arrayElement.type === "dateRange" ? /* @__PURE__ */ import_react9.default.createElement(
|
|
1404
1629
|
SCDateRange,
|
|
1405
1630
|
{
|
|
1406
1631
|
labelDateInitial: arrayElement.labelDateInitial,
|
|
@@ -1413,7 +1638,7 @@ function SCDrawer({
|
|
|
1413
1638
|
}
|
|
1414
1639
|
) : null
|
|
1415
1640
|
);
|
|
1416
|
-
})), actionsA != void 0 && actionsA != false ? Array.isArray(actionsA) && (actionsA == null ? void 0 : actionsA.length) > 0 ? /* @__PURE__ */
|
|
1641
|
+
})), actionsA != void 0 && actionsA != false ? Array.isArray(actionsA) && (actionsA == null ? void 0 : actionsA.length) > 0 ? /* @__PURE__ */ import_react9.default.createElement(
|
|
1417
1642
|
import_Grid23.default,
|
|
1418
1643
|
{
|
|
1419
1644
|
sx: { borderTop: 1, borderColor: "#1018403B" },
|
|
@@ -1425,7 +1650,7 @@ function SCDrawer({
|
|
|
1425
1650
|
justifyContent: actionsA.length > 1 ? "space-between" : !anchor && anchor != "right" ? "flex-end" : "flex-start",
|
|
1426
1651
|
flexDirection: anchor != "right" ? "row-reverse" : "row"
|
|
1427
1652
|
},
|
|
1428
|
-
actionsA.map((btn, index) => /* @__PURE__ */
|
|
1653
|
+
actionsA.map((btn, index) => /* @__PURE__ */ import_react9.default.createElement(
|
|
1429
1654
|
import_material7.Button,
|
|
1430
1655
|
{
|
|
1431
1656
|
key: index,
|
|
@@ -1442,7 +1667,7 @@ function SCDrawer({
|
|
|
1442
1667
|
}
|
|
1443
1668
|
|
|
1444
1669
|
// src/Components/FooterAction/FooterAction.tsx
|
|
1445
|
-
var
|
|
1670
|
+
var import_react10 = __toESM(require("react"), 1);
|
|
1446
1671
|
var import_material8 = require("@mui/material");
|
|
1447
1672
|
var FooterAction = ({
|
|
1448
1673
|
leftContent,
|
|
@@ -1450,44 +1675,44 @@ var FooterAction = ({
|
|
|
1450
1675
|
label,
|
|
1451
1676
|
variant
|
|
1452
1677
|
}) => {
|
|
1453
|
-
return /* @__PURE__ */
|
|
1678
|
+
return /* @__PURE__ */ import_react10.default.createElement(
|
|
1454
1679
|
import_material8.AppBar,
|
|
1455
1680
|
{
|
|
1456
1681
|
color: "inherit",
|
|
1457
1682
|
sx: { position: variant == "float" ? "relative" : "fixed", left: 0, right: "auto", width: "100%", top: "auto", bottom: 0 }
|
|
1458
1683
|
},
|
|
1459
|
-
/* @__PURE__ */
|
|
1684
|
+
/* @__PURE__ */ import_react10.default.createElement(
|
|
1460
1685
|
import_material8.Toolbar,
|
|
1461
1686
|
{
|
|
1462
1687
|
id: "footer-toolbar",
|
|
1463
1688
|
sx: { gap: 1.5, minHeight: "50px !important" }
|
|
1464
1689
|
},
|
|
1465
1690
|
leftContent,
|
|
1466
|
-
/* @__PURE__ */
|
|
1467
|
-
label && /* @__PURE__ */
|
|
1691
|
+
/* @__PURE__ */ import_react10.default.createElement(import_material8.Box, { flexGrow: 1 }),
|
|
1692
|
+
label && /* @__PURE__ */ import_react10.default.createElement(import_material8.Typography, { variant: "body2", color: "text.secondary" }, label),
|
|
1468
1693
|
rightContent
|
|
1469
1694
|
)
|
|
1470
1695
|
);
|
|
1471
1696
|
};
|
|
1472
1697
|
|
|
1473
1698
|
// src/Components/Modal/Helpers/Data.tsx
|
|
1474
|
-
var
|
|
1699
|
+
var import_react11 = __toESM(require("react"), 1);
|
|
1475
1700
|
var import_icons_material5 = require("@mui/icons-material");
|
|
1476
1701
|
var modalStateConfig = {
|
|
1477
1702
|
info: {
|
|
1478
1703
|
color: "info",
|
|
1479
1704
|
defaultDescription: "Se [sincronizar\xE1n] los datos trabajados en modo offline y se [subir\xE1n] a los servidores.",
|
|
1480
|
-
icon: /* @__PURE__ */
|
|
1705
|
+
icon: /* @__PURE__ */ import_react11.default.createElement(import_icons_material5.Info, { color: "info", fontSize: "medium" })
|
|
1481
1706
|
},
|
|
1482
1707
|
delete: {
|
|
1483
1708
|
color: "delete",
|
|
1484
1709
|
defaultDescription: "[Elemento espec\xEDfico] [dejar\xE1 de existir en todos los lugares donde est\xE9 en uso]. Esta acci\xF3n es irreversible.",
|
|
1485
|
-
icon: /* @__PURE__ */
|
|
1710
|
+
icon: /* @__PURE__ */ import_react11.default.createElement(import_icons_material5.Info, { color: "error", fontSize: "medium" })
|
|
1486
1711
|
},
|
|
1487
1712
|
warning: {
|
|
1488
1713
|
color: "warning",
|
|
1489
1714
|
defaultDescription: "Se descartar\xE1 la [creaci\xF3n] y los cambios se perder\xE1n.",
|
|
1490
|
-
icon: /* @__PURE__ */
|
|
1715
|
+
icon: /* @__PURE__ */ import_react11.default.createElement(import_icons_material5.Warning, { color: "warning", fontSize: "medium" })
|
|
1491
1716
|
}
|
|
1492
1717
|
};
|
|
1493
1718
|
|
|
@@ -1517,7 +1742,7 @@ var getButtonColor = (state) => {
|
|
|
1517
1742
|
};
|
|
1518
1743
|
|
|
1519
1744
|
// src/Components/Modal/SCModal.tsx
|
|
1520
|
-
var
|
|
1745
|
+
var import_react12 = __toESM(require("react"), 1);
|
|
1521
1746
|
var import_material9 = require("@mui/material");
|
|
1522
1747
|
var import_icons_material7 = require("@mui/icons-material");
|
|
1523
1748
|
|
|
@@ -1536,34 +1761,31 @@ var SCModal = ({
|
|
|
1536
1761
|
action
|
|
1537
1762
|
}) => {
|
|
1538
1763
|
var _a, _b, _c, _d, _e;
|
|
1539
|
-
const [openModal, setOpenModal] = (0,
|
|
1540
|
-
|
|
1541
|
-
|
|
1542
|
-
|
|
1543
|
-
|
|
1544
|
-
|
|
1545
|
-
const
|
|
1546
|
-
const handleClose = (0, import_react11.useCallback)(() => setOpenModal(false), []);
|
|
1547
|
-
const toggleModal = (newOpen) => () => setOpenModal(newOpen);
|
|
1548
|
-
const prevAction = (0, import_react11.useMemo)(
|
|
1764
|
+
const [openModal, setOpenModal] = (0, import_react12.useState)(open != null ? open : false);
|
|
1765
|
+
const handleOpen = import_react12.default.useCallback(() => {
|
|
1766
|
+
setOpenModal((prev) => !prev);
|
|
1767
|
+
}, []);
|
|
1768
|
+
const Icon = (0, import_react12.useMemo)(() => getIconComponent2(buttonModal == null ? void 0 : buttonModal.icon), [buttonModal == null ? void 0 : buttonModal.icon]);
|
|
1769
|
+
const handleClose = (0, import_react12.useCallback)(() => setOpenModal(false), []);
|
|
1770
|
+
const prevAction = (0, import_react12.useMemo)(
|
|
1549
1771
|
() => action != null ? action : [{ text: "Cancelar", fn: handleClose }, { text: "Consultar", fn: () => {
|
|
1550
1772
|
} }],
|
|
1551
1773
|
[action, handleClose]
|
|
1552
1774
|
);
|
|
1553
1775
|
const { icon, defaultDescription } = modalStateConfig[state];
|
|
1554
|
-
return /* @__PURE__ */
|
|
1776
|
+
return /* @__PURE__ */ import_react12.default.createElement(import_react12.default.Fragment, null, /* @__PURE__ */ import_react12.default.createElement(
|
|
1555
1777
|
import_material9.Button,
|
|
1556
1778
|
{
|
|
1557
1779
|
"data-testid": "test-buttonModal",
|
|
1558
1780
|
color: (_a = buttonModal == null ? void 0 : buttonModal.color) != null ? _a : "primary",
|
|
1559
|
-
onClick:
|
|
1781
|
+
onClick: handleOpen,
|
|
1560
1782
|
variant: (_b = buttonModal == null ? void 0 : buttonModal.variant) != null ? _b : "text",
|
|
1561
1783
|
size: (_c = buttonModal == null ? void 0 : buttonModal.size) != null ? _c : "small",
|
|
1562
|
-
startIcon: (buttonModal == null ? void 0 : buttonModal.iconPosition) === "left" && /* @__PURE__ */
|
|
1563
|
-
endIcon: (buttonModal == null ? void 0 : buttonModal.iconPosition) === "right" && /* @__PURE__ */
|
|
1784
|
+
startIcon: (buttonModal == null ? void 0 : buttonModal.iconPosition) === "left" && /* @__PURE__ */ import_react12.default.createElement(Icon, null),
|
|
1785
|
+
endIcon: (buttonModal == null ? void 0 : buttonModal.iconPosition) === "right" && /* @__PURE__ */ import_react12.default.createElement(Icon, null)
|
|
1564
1786
|
},
|
|
1565
1787
|
capitalize((_d = buttonModal == null ? void 0 : buttonModal.text) != null ? _d : "filtrar")
|
|
1566
|
-
), /* @__PURE__ */
|
|
1788
|
+
), /* @__PURE__ */ import_react12.default.createElement(import_material9.Modal, { open: openModal, onClose: handleOpen, sx: { boxShadow: 8 } }, /* @__PURE__ */ import_react12.default.createElement(
|
|
1567
1789
|
import_material9.Box,
|
|
1568
1790
|
{
|
|
1569
1791
|
sx: {
|
|
@@ -1577,9 +1799,9 @@ var SCModal = ({
|
|
|
1577
1799
|
boxShadow: 24
|
|
1578
1800
|
}
|
|
1579
1801
|
},
|
|
1580
|
-
/* @__PURE__ */
|
|
1581
|
-
/* @__PURE__ */
|
|
1582
|
-
action && /* @__PURE__ */
|
|
1802
|
+
/* @__PURE__ */ import_react12.default.createElement(import_material9.Stack, { direction: "row", justifyContent: "space-between", alignItems: "center" }, /* @__PURE__ */ import_react12.default.createElement(import_material9.Stack, { direction: "row", alignItems: "center", p: 1, gap: 1.5 }, /* @__PURE__ */ import_react12.default.createElement(import_material9.Box, { display: "flex", justifyContent: "center", alignItems: "center", borderRadius: "50%", height: 36, width: 36, bgcolor: getModalColor(state) }, icon), /* @__PURE__ */ import_react12.default.createElement(import_material9.Typography, { variant: "h6", color: "text.primary" }, title)), /* @__PURE__ */ import_react12.default.createElement(import_material9.IconButton, { onClick: handleOpen, "data-testid": "test-buttonClose" }, /* @__PURE__ */ import_react12.default.createElement(import_icons_material7.Close, { color: "action" }))),
|
|
1803
|
+
/* @__PURE__ */ import_react12.default.createElement(import_material9.Stack, { py: 1, px: 3, gap: 1.5 }, /* @__PURE__ */ import_react12.default.createElement(import_material9.Typography, { variant: "body1" }, description || defaultDescription)),
|
|
1804
|
+
action && /* @__PURE__ */ import_react12.default.createElement(
|
|
1583
1805
|
import_material9.Stack,
|
|
1584
1806
|
{
|
|
1585
1807
|
id: "Action",
|
|
@@ -1590,7 +1812,7 @@ var SCModal = ({
|
|
|
1590
1812
|
bgcolor: "grey.50",
|
|
1591
1813
|
sx: { borderRadius: 1 }
|
|
1592
1814
|
},
|
|
1593
|
-
/* @__PURE__ */
|
|
1815
|
+
/* @__PURE__ */ import_react12.default.createElement(
|
|
1594
1816
|
import_material9.Button,
|
|
1595
1817
|
{
|
|
1596
1818
|
color: "inherit",
|
|
@@ -1600,7 +1822,7 @@ var SCModal = ({
|
|
|
1600
1822
|
},
|
|
1601
1823
|
capitalize("cancelar")
|
|
1602
1824
|
),
|
|
1603
|
-
/* @__PURE__ */
|
|
1825
|
+
/* @__PURE__ */ import_react12.default.createElement(
|
|
1604
1826
|
import_material9.Button,
|
|
1605
1827
|
{
|
|
1606
1828
|
"data-testid": "test-aceptar",
|
|
@@ -1617,32 +1839,32 @@ var SCModal = ({
|
|
|
1617
1839
|
};
|
|
1618
1840
|
|
|
1619
1841
|
// src/Components/MultiSelect/MultiSelect.tsx
|
|
1620
|
-
var
|
|
1842
|
+
var import_react15 = __toESM(require("react"), 1);
|
|
1621
1843
|
var import_material10 = require("@mui/material");
|
|
1622
1844
|
var import_icons_material9 = require("@mui/icons-material");
|
|
1623
1845
|
|
|
1624
1846
|
// src/Components/MultiSelect/helpers/useHandlers.tsx
|
|
1625
|
-
var
|
|
1847
|
+
var import_react13 = require("react");
|
|
1626
1848
|
function useMultiSelectHandlers() {
|
|
1627
|
-
const [anchorEl, setAnchorEl] = (0,
|
|
1628
|
-
const [open, setOpen] = (0,
|
|
1629
|
-
const [selectedItems, setSelectedItems] = (0,
|
|
1630
|
-
const [filterValue, setFilterValue] = (0,
|
|
1631
|
-
const handleOpen = (0,
|
|
1849
|
+
const [anchorEl, setAnchorEl] = (0, import_react13.useState)(null);
|
|
1850
|
+
const [open, setOpen] = (0, import_react13.useState)(false);
|
|
1851
|
+
const [selectedItems, setSelectedItems] = (0, import_react13.useState)([]);
|
|
1852
|
+
const [filterValue, setFilterValue] = (0, import_react13.useState)("");
|
|
1853
|
+
const handleOpen = (0, import_react13.useCallback)((e) => {
|
|
1632
1854
|
setAnchorEl(e.currentTarget);
|
|
1633
1855
|
setOpen(true);
|
|
1634
1856
|
}, []);
|
|
1635
|
-
const handleClose = (0,
|
|
1857
|
+
const handleClose = (0, import_react13.useCallback)(() => {
|
|
1636
1858
|
setAnchorEl(null);
|
|
1637
1859
|
setOpen(false);
|
|
1638
1860
|
}, []);
|
|
1639
|
-
const handleFilterChange = (0,
|
|
1861
|
+
const handleFilterChange = (0, import_react13.useCallback)(
|
|
1640
1862
|
(e) => {
|
|
1641
1863
|
setFilterValue(e.target.value);
|
|
1642
1864
|
},
|
|
1643
1865
|
[]
|
|
1644
1866
|
);
|
|
1645
|
-
const handleCheckboxToggle = (0,
|
|
1867
|
+
const handleCheckboxToggle = (0, import_react13.useCallback)((item) => {
|
|
1646
1868
|
setSelectedItems(
|
|
1647
1869
|
(prev) => prev.includes(item) ? prev.filter((i) => i !== item) : [...prev, item]
|
|
1648
1870
|
);
|
|
@@ -1669,15 +1891,15 @@ function getIconMultiSelect(name) {
|
|
|
1669
1891
|
}
|
|
1670
1892
|
|
|
1671
1893
|
// src/Components/MultiSelect/helpers/useFilteredItems.tsx
|
|
1672
|
-
var
|
|
1894
|
+
var import_react14 = require("react");
|
|
1673
1895
|
function useFilteredItems(items, filterValue, getItemLabel, selectedItems) {
|
|
1674
|
-
const filteredItems = (0,
|
|
1896
|
+
const filteredItems = (0, import_react14.useMemo)(
|
|
1675
1897
|
() => items.filter(
|
|
1676
1898
|
(item) => getItemLabel(item).toLowerCase().includes(filterValue.toLowerCase())
|
|
1677
1899
|
),
|
|
1678
1900
|
[items, filterValue, getItemLabel]
|
|
1679
1901
|
);
|
|
1680
|
-
const sortedItems = (0,
|
|
1902
|
+
const sortedItems = (0, import_react14.useMemo)(() => {
|
|
1681
1903
|
return [
|
|
1682
1904
|
...filteredItems.filter((item) => selectedItems.includes(item)),
|
|
1683
1905
|
...filteredItems.filter((item) => !selectedItems.includes(item))
|
|
@@ -1711,16 +1933,16 @@ function MultiSelect({
|
|
|
1711
1933
|
handleCheckboxToggle,
|
|
1712
1934
|
setOpen
|
|
1713
1935
|
} = useMultiSelectHandlers();
|
|
1714
|
-
(0,
|
|
1936
|
+
(0, import_react15.useEffect)(() => {
|
|
1715
1937
|
if (open !== void 0) {
|
|
1716
1938
|
setOpen(open);
|
|
1717
1939
|
}
|
|
1718
1940
|
}, [open, setOpen]);
|
|
1719
|
-
(0,
|
|
1941
|
+
(0, import_react15.useEffect)(() => {
|
|
1720
1942
|
setSelectedItems([]);
|
|
1721
1943
|
}, [items, setSelectedItems]);
|
|
1722
1944
|
const { filteredItems, sortedItems } = useFilteredItems(items, filterValue, getItemLabel, selectedItems);
|
|
1723
|
-
const Icon = (0,
|
|
1945
|
+
const Icon = (0, import_react15.useMemo)(() => {
|
|
1724
1946
|
var _a2;
|
|
1725
1947
|
return getIconMultiSelect((_a2 = button == null ? void 0 : button.icon) != null ? _a2 : "FilterListOutlined");
|
|
1726
1948
|
}, [button == null ? void 0 : button.icon]);
|
|
@@ -1734,7 +1956,7 @@ function MultiSelect({
|
|
|
1734
1956
|
{ text: "Aplicar", fn: () => {
|
|
1735
1957
|
} }
|
|
1736
1958
|
];
|
|
1737
|
-
return /* @__PURE__ */
|
|
1959
|
+
return /* @__PURE__ */ import_react15.default.createElement(import_react15.default.Fragment, null, /* @__PURE__ */ import_react15.default.createElement(
|
|
1738
1960
|
import_material10.Button,
|
|
1739
1961
|
{
|
|
1740
1962
|
"test-id": "multiselect-button",
|
|
@@ -1742,11 +1964,11 @@ function MultiSelect({
|
|
|
1742
1964
|
onClick: handleOpen,
|
|
1743
1965
|
variant: (_b = button == null ? void 0 : button.variant) != null ? _b : "text",
|
|
1744
1966
|
size: "small",
|
|
1745
|
-
startIcon: (button == null ? void 0 : button.iconPosition) === "left" || !(button == null ? void 0 : button.iconPosition) ? /* @__PURE__ */
|
|
1746
|
-
endIcon: (button == null ? void 0 : button.iconPosition) === "right" ? /* @__PURE__ */
|
|
1967
|
+
startIcon: (button == null ? void 0 : button.iconPosition) === "left" || !(button == null ? void 0 : button.iconPosition) ? /* @__PURE__ */ import_react15.default.createElement(Icon, null) : null,
|
|
1968
|
+
endIcon: (button == null ? void 0 : button.iconPosition) === "right" ? /* @__PURE__ */ import_react15.default.createElement(Icon, null) : null
|
|
1747
1969
|
},
|
|
1748
1970
|
capitalize(textButton != null ? textButton : "MultiSelect")
|
|
1749
|
-
), /* @__PURE__ */
|
|
1971
|
+
), /* @__PURE__ */ import_react15.default.createElement(
|
|
1750
1972
|
import_material10.Popover,
|
|
1751
1973
|
{
|
|
1752
1974
|
elevation: 8,
|
|
@@ -1755,7 +1977,7 @@ function MultiSelect({
|
|
|
1755
1977
|
open: openMultiselect,
|
|
1756
1978
|
onClose: () => setOpen(false)
|
|
1757
1979
|
},
|
|
1758
|
-
/* @__PURE__ */
|
|
1980
|
+
/* @__PURE__ */ import_react15.default.createElement(import_material10.Stack, { minWidth: "320px", "data-testid": "multiselect-container", bgcolor: "white", boxShadow: 3, borderRadius: 1 }, /* @__PURE__ */ import_react15.default.createElement(import_material10.Stack, { py: 1, px: 2 }, topPanel != null ? topPanel : /* @__PURE__ */ import_react15.default.createElement(import_material10.FormControl, { fullWidth: true, size: "small" }, /* @__PURE__ */ import_react15.default.createElement(
|
|
1759
1981
|
import_material10.TextField,
|
|
1760
1982
|
{
|
|
1761
1983
|
"data-testid": "multiselect-input",
|
|
@@ -1767,18 +1989,18 @@ function MultiSelect({
|
|
|
1767
1989
|
onChange: handleFilterChange,
|
|
1768
1990
|
slotProps: {
|
|
1769
1991
|
input: {
|
|
1770
|
-
endAdornment: /* @__PURE__ */
|
|
1992
|
+
endAdornment: /* @__PURE__ */ import_react15.default.createElement(import_material10.InputAdornment, { position: "end" }, /* @__PURE__ */ import_react15.default.createElement(import_icons_material9.SearchOutlined, { fontSize: "small" }))
|
|
1771
1993
|
}
|
|
1772
1994
|
}
|
|
1773
1995
|
}
|
|
1774
|
-
))), /* @__PURE__ */
|
|
1996
|
+
))), /* @__PURE__ */ import_react15.default.createElement(import_material10.Stack, { maxHeight: "300px", overflow: "auto" }, selectAll && /* @__PURE__ */ import_react15.default.createElement(import_material10.MenuItem, { dense, onClick: handleSelectAll }, /* @__PURE__ */ import_react15.default.createElement(import_material10.ListItemIcon, null, /* @__PURE__ */ import_react15.default.createElement(import_material10.Checkbox, { checked: allSelected, color: "primary" })), "Todos los items"), sortedItems.length > 0 ? sortedItems.map((item) => /* @__PURE__ */ import_react15.default.createElement(
|
|
1775
1997
|
import_material10.MenuItem,
|
|
1776
1998
|
{
|
|
1777
1999
|
key: getItemLabel(item),
|
|
1778
2000
|
dense,
|
|
1779
2001
|
onClick: () => handleCheckboxToggle(item)
|
|
1780
2002
|
},
|
|
1781
|
-
/* @__PURE__ */
|
|
2003
|
+
/* @__PURE__ */ import_react15.default.createElement(import_material10.ListItemIcon, null, /* @__PURE__ */ import_react15.default.createElement(
|
|
1782
2004
|
import_material10.Checkbox,
|
|
1783
2005
|
{
|
|
1784
2006
|
checked: selectedItems.includes(item),
|
|
@@ -1786,9 +2008,9 @@ function MultiSelect({
|
|
|
1786
2008
|
}
|
|
1787
2009
|
)),
|
|
1788
2010
|
getItemLabel(item)
|
|
1789
|
-
)) : /* @__PURE__ */
|
|
2011
|
+
)) : /* @__PURE__ */ import_react15.default.createElement(import_material10.MenuItem, { disabled: true }, "No se encontraron resultados")), /* @__PURE__ */ import_react15.default.createElement(import_material10.Stack, { direction: "row", gap: 1, p: 1, justifyContent: "space-between", bgcolor: "grey.50" }, resolvedActions.map((button2, index) => {
|
|
1790
2012
|
var _a2;
|
|
1791
|
-
return /* @__PURE__ */
|
|
2013
|
+
return /* @__PURE__ */ import_react15.default.createElement(
|
|
1792
2014
|
import_material10.Button,
|
|
1793
2015
|
{
|
|
1794
2016
|
key: index,
|
|
@@ -1804,7 +2026,7 @@ function MultiSelect({
|
|
|
1804
2026
|
}
|
|
1805
2027
|
|
|
1806
2028
|
// src/Components/PageHeader/PageHeader.tsx
|
|
1807
|
-
var
|
|
2029
|
+
var import_react16 = __toESM(require("react"), 1);
|
|
1808
2030
|
var import_material11 = require("@mui/material");
|
|
1809
2031
|
var PageHeader = ({
|
|
1810
2032
|
title,
|
|
@@ -1814,7 +2036,7 @@ var PageHeader = ({
|
|
|
1814
2036
|
fixed,
|
|
1815
2037
|
shadow = true
|
|
1816
2038
|
}) => {
|
|
1817
|
-
return /* @__PURE__ */
|
|
2039
|
+
return /* @__PURE__ */ import_react16.default.createElement(
|
|
1818
2040
|
import_material11.Stack,
|
|
1819
2041
|
{
|
|
1820
2042
|
"data-testid": "main-container",
|
|
@@ -1826,12 +2048,12 @@ var PageHeader = ({
|
|
|
1826
2048
|
zIndex: 10,
|
|
1827
2049
|
sx: { boxShadow: shadow ? (theme) => theme.shadows[1] : "none" }
|
|
1828
2050
|
},
|
|
1829
|
-
/* @__PURE__ */
|
|
2051
|
+
/* @__PURE__ */ import_react16.default.createElement(import_material11.Stack, { "data-testid": "page-header-content", height: 40, px: 3, pl: buttonBack ? 1 : 3, direction: "row", alignItems: "center", justifyContent: "space-between" }, /* @__PURE__ */ import_react16.default.createElement(import_material11.Stack, { id: "left-section", direction: "row", alignItems: "center", gap: 1 }, buttonBack, /* @__PURE__ */ import_react16.default.createElement(import_material11.Stack, { id: "text-section", gap: 0.5 }, /* @__PURE__ */ import_react16.default.createElement(import_material11.Typography, { "data-testid": "page-header-title", variant: "h6", color: "text.primary" }, title), subtitle && /* @__PURE__ */ import_react16.default.createElement(import_material11.Typography, { "data-testid": "page-header-subtitle", variant: "caption", color: "text.primary" }, subtitle))), actions && /* @__PURE__ */ import_react16.default.createElement(import_material11.Stack, { id: "right-actions", direction: "row", alignItems: "center", gap: 1 }, actions))
|
|
1830
2052
|
);
|
|
1831
2053
|
};
|
|
1832
2054
|
|
|
1833
2055
|
// src/Components/SCCalendarSwipeable.tsx
|
|
1834
|
-
var
|
|
2056
|
+
var import_react17 = __toESM(require("react"), 1);
|
|
1835
2057
|
var import_material12 = require("@mui/material");
|
|
1836
2058
|
var import_Grid24 = __toESM(require("@mui/material/Grid2"), 1);
|
|
1837
2059
|
var import_AdapterDateFns = require("@mui/x-date-pickers/AdapterDateFns");
|
|
@@ -1850,14 +2072,14 @@ var SCCalendarSwipeable = ({
|
|
|
1850
2072
|
state
|
|
1851
2073
|
}) => {
|
|
1852
2074
|
let convertFecha;
|
|
1853
|
-
const [fecha, setFecha] = (0,
|
|
1854
|
-
const [fechaSeleccionada, setFechaSeleccionada] = (0,
|
|
1855
|
-
const [stateVal, setstateVal] =
|
|
1856
|
-
const [openCalendar, setOpenCalendar] =
|
|
2075
|
+
const [fecha, setFecha] = (0, import_react17.useState)(/* @__PURE__ */ new Date());
|
|
2076
|
+
const [fechaSeleccionada, setFechaSeleccionada] = (0, import_react17.useState)();
|
|
2077
|
+
const [stateVal, setstateVal] = import_react17.default.useState(/* @__PURE__ */ new Date());
|
|
2078
|
+
const [openCalendar, setOpenCalendar] = import_react17.default.useState(false);
|
|
1857
2079
|
const hoy = /* @__PURE__ */ new Date();
|
|
1858
2080
|
const inicioSemana = (0, import_date_fns.startOfWeek)(fecha, { weekStartsOn: 0 });
|
|
1859
2081
|
const diasSemana = Array.from({ length: 7 }, (_, i) => (0, import_date_fns.addDays)(inicioSemana, i));
|
|
1860
|
-
|
|
2082
|
+
import_react17.default.useEffect(() => {
|
|
1861
2083
|
if (fecha != null) {
|
|
1862
2084
|
handleConvertFecha(fecha);
|
|
1863
2085
|
}
|
|
@@ -1876,11 +2098,11 @@ var SCCalendarSwipeable = ({
|
|
|
1876
2098
|
setOpenCalendar(newOpen);
|
|
1877
2099
|
};
|
|
1878
2100
|
const locale = __spreadValues({}, import_locale.es);
|
|
1879
|
-
return /* @__PURE__ */
|
|
2101
|
+
return /* @__PURE__ */ import_react17.default.createElement(import_react17.default.Fragment, null, /* @__PURE__ */ import_react17.default.createElement(import_LocalizationProvider2.LocalizationProvider, { dateAdapter: import_AdapterDateFns.AdapterDateFns, adapterLocale: locale }, openCalendar == false ? /* @__PURE__ */ import_react17.default.createElement(import_material12.Box, { "data-testid": "calendar-mobile", sx: { width: "100%", background: background ? background : "white", display: "flex", flexDirection: "column", alignItems: "center" } }, /* @__PURE__ */ import_react17.default.createElement(import_material12.Box, { sx: { width: "100%", maxWidth: "320px", background: "transparent" } }, /* @__PURE__ */ import_react17.default.createElement(import_Grid24.default, { container: true, gap: 0.5, sx: {
|
|
1880
2102
|
justifyContent: "space-between",
|
|
1881
2103
|
padding: "12px 0px",
|
|
1882
2104
|
background: "transparent"
|
|
1883
|
-
} }, diasSemana.map((dia) => /* @__PURE__ */
|
|
2105
|
+
} }, diasSemana.map((dia) => /* @__PURE__ */ import_react17.default.createElement(import_Grid24.default, { sx: { width: "36px" }, key: dia.toString() }, /* @__PURE__ */ import_react17.default.createElement(import_material12.Box, { sx: { width: "36px", height: "40px", display: "flex", alignItems: "center", justifyContent: "center" } }, /* @__PURE__ */ import_react17.default.createElement(import_material12.Typography, { sx: { fontSize: "12px !important", color: "#10184099" } }, (0, import_date_fns.format)(dia, "EEEE", { locale: import_locale.es }).charAt(0).toUpperCase())), /* @__PURE__ */ import_react17.default.createElement(
|
|
1884
2106
|
import_material12.Box,
|
|
1885
2107
|
{
|
|
1886
2108
|
onClick: () => setFecha(dia),
|
|
@@ -1896,8 +2118,8 @@ var SCCalendarSwipeable = ({
|
|
|
1896
2118
|
//height: '36px',
|
|
1897
2119
|
}
|
|
1898
2120
|
},
|
|
1899
|
-
/* @__PURE__ */
|
|
1900
|
-
)))), /* @__PURE__ */
|
|
2121
|
+
/* @__PURE__ */ import_react17.default.createElement(import_material12.Typography, { sx: { fontSize: "12px !important", color: (0, import_date_fns.isSameDay)(dia, fecha) ? "white" : "#101840DE" } }, (0, import_date_fns.format)(dia, "d"))
|
|
2122
|
+
)))), /* @__PURE__ */ import_react17.default.createElement(import_Grid24.default, { container: true, justifyContent: "center" }, /* @__PURE__ */ import_react17.default.createElement(import_material12.IconButton, { "data-testid": "open-calendar-button", onClick: toggleCalendar(true) }, /* @__PURE__ */ import_react17.default.createElement(import_KeyboardDoubleArrowDown.default, null))))) : /* @__PURE__ */ import_react17.default.createElement(import_material12.Box, { sx: { width: "100%", background: "white" } }, /* @__PURE__ */ import_react17.default.createElement(
|
|
1901
2123
|
import_StaticDatePicker.StaticDatePicker,
|
|
1902
2124
|
{
|
|
1903
2125
|
orientation: "landscape",
|
|
@@ -1907,17 +2129,17 @@ var SCCalendarSwipeable = ({
|
|
|
1907
2129
|
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" } },
|
|
1908
2130
|
onChange: (newValue) => setFecha(newValue)
|
|
1909
2131
|
}
|
|
1910
|
-
), /* @__PURE__ */
|
|
2132
|
+
), /* @__PURE__ */ import_react17.default.createElement(import_Grid24.default, { container: true, justifyContent: "center" }, /* @__PURE__ */ import_react17.default.createElement(import_material12.IconButton, { "data-testid": "close-calendar-button", onClick: toggleCalendar(false) }, /* @__PURE__ */ import_react17.default.createElement(import_KeyboardDoubleArrowUp.default, null))))));
|
|
1911
2133
|
};
|
|
1912
2134
|
|
|
1913
2135
|
// src/Components/SCDataGrid.tsx
|
|
1914
|
-
var
|
|
2136
|
+
var import_react18 = __toESM(require("react"), 1);
|
|
1915
2137
|
var import_x_data_grid_pro = require("@mui/x-data-grid-pro");
|
|
1916
2138
|
var import_x_license_pro2 = require("@mui/x-license-pro");
|
|
1917
2139
|
var import_KeyboardArrowDown = __toESM(require("@mui/icons-material/KeyboardArrowDown"), 1);
|
|
1918
2140
|
var import_KeyboardArrowUp = __toESM(require("@mui/icons-material/KeyboardArrowUp"), 1);
|
|
1919
2141
|
var import_styles = require("@mui/material/styles");
|
|
1920
|
-
|
|
2142
|
+
function SCDataGridInitial({ data, columns, groupColumns, rowsTable, checkboxSelection, width, maxHeight, density }) {
|
|
1921
2143
|
import_x_license_pro2.LicenseInfo.setLicenseKey(
|
|
1922
2144
|
"77d49a57fbc5f4af35ddb05c5f1742e0Tz0xMTI3MjgsRT0xNzc4MzcxMTk5MDAwLFM9cHJvLExNPXN1YnNjcmlwdGlvbixQVj1RMy0yMDI0LEtWPTI="
|
|
1923
2145
|
);
|
|
@@ -1928,45 +2150,80 @@ var SCDataGridInitial = ({ data, columns, groupColumns, rowsTable, checkboxSelec
|
|
|
1928
2150
|
return Math.floor(Math.random() * 1e6);
|
|
1929
2151
|
}
|
|
1930
2152
|
const getTreeDataPaths = (row) => {
|
|
2153
|
+
var _a, _b, _c;
|
|
2154
|
+
const group1Value = groupColumns && ((_a = groupColumns(row)) == null ? void 0 : _a.valueGroup1);
|
|
2155
|
+
const group2Value = groupColumns && ((_b = groupColumns(row)) == null ? void 0 : _b.valueGroup2);
|
|
2156
|
+
const fieldValue = groupColumns && ((_c = groupColumns(row)) == null ? void 0 : _c.fieldFirstColumn);
|
|
1931
2157
|
return [
|
|
1932
|
-
|
|
1933
|
-
...
|
|
1934
|
-
`${
|
|
2158
|
+
String(group1Value || ""),
|
|
2159
|
+
...group2Value ? [String(group2Value)] : [],
|
|
2160
|
+
`${String(fieldValue || "")}/${generateRandomId()}`
|
|
1935
2161
|
];
|
|
1936
2162
|
};
|
|
1937
2163
|
const groupingColDefs = {
|
|
1938
2164
|
field: "grouping",
|
|
1939
|
-
headerName: groupColumns
|
|
2165
|
+
headerName: groupColumns ? groupColumns(data[0]).headerNameFirstColumn : "Agrupador",
|
|
1940
2166
|
renderCell: (params) => {
|
|
1941
|
-
var _a;
|
|
2167
|
+
var _a, _b;
|
|
1942
2168
|
let label = params.value.toString().includes("/") ? params.value.split("/")[0].toString() : params.value.toString();
|
|
1943
|
-
|
|
1944
|
-
if (groupColumns
|
|
2169
|
+
let maxDepth = 0;
|
|
2170
|
+
if (groupColumns && data.length > 0) {
|
|
2171
|
+
const sampleItem = groupColumns(data[0]);
|
|
2172
|
+
if (sampleItem.valueGroup1) maxDepth++;
|
|
2173
|
+
if (sampleItem.valueGroup2) maxDepth++;
|
|
2174
|
+
maxDepth = Math.max(0, maxDepth - 1);
|
|
2175
|
+
}
|
|
2176
|
+
if (groupColumns) {
|
|
1945
2177
|
if (params.rowNode.depth === 0) {
|
|
1946
|
-
|
|
1947
|
-
|
|
1948
|
-
|
|
1949
|
-
|
|
1950
|
-
|
|
1951
|
-
|
|
2178
|
+
let customLabel = label;
|
|
2179
|
+
if (groupColumns) {
|
|
2180
|
+
const originalItem = data.find(
|
|
2181
|
+
(item) => {
|
|
2182
|
+
var _a2;
|
|
2183
|
+
return String((_a2 = groupColumns(item)) == null ? void 0 : _a2.valueGroup1) === label;
|
|
2184
|
+
}
|
|
2185
|
+
);
|
|
2186
|
+
if (originalItem) {
|
|
2187
|
+
const itemValue = groupColumns(originalItem);
|
|
2188
|
+
customLabel = itemValue.textGroup1 || label;
|
|
2189
|
+
}
|
|
2190
|
+
}
|
|
2191
|
+
const subgroup1 = arrayRows.filter((r) => {
|
|
2192
|
+
var _a2;
|
|
2193
|
+
return groupColumns && String((_a2 = groupColumns(r)) == null ? void 0 : _a2.valueGroup1) === label;
|
|
2194
|
+
}).map((r) => {
|
|
2195
|
+
var _a2;
|
|
2196
|
+
return groupColumns && String((_a2 = groupColumns(r)) == null ? void 0 : _a2.valueGroup2);
|
|
2197
|
+
});
|
|
1952
2198
|
const groupedDataLength1 = subgroup1.filter((valor, indiceActual, arreglo) => arreglo.indexOf(valor) === indiceActual);
|
|
1953
|
-
label = `${
|
|
1954
|
-
} else if (groupColumns
|
|
1955
|
-
const labelGrouping1 = (
|
|
1956
|
-
|
|
1957
|
-
|
|
1958
|
-
|
|
1959
|
-
|
|
1960
|
-
|
|
2199
|
+
label = `${customLabel} (${groupedDataLength1.length})`;
|
|
2200
|
+
} else if (((_a = groupColumns(data[0])) == null ? void 0 : _a.valueGroup2) && params.rowNode.depth === 1) {
|
|
2201
|
+
const labelGrouping1 = (_b = params.api.getRowNode(params.rowNode.parent)) == null ? void 0 : _b.groupingKey.toString();
|
|
2202
|
+
let customLabel = label;
|
|
2203
|
+
if (groupColumns) {
|
|
2204
|
+
const originalItem = data.find(
|
|
2205
|
+
(item) => {
|
|
2206
|
+
var _a2;
|
|
2207
|
+
return String((_a2 = groupColumns(item)) == null ? void 0 : _a2.valueGroup2) === label;
|
|
2208
|
+
}
|
|
2209
|
+
);
|
|
2210
|
+
if (originalItem) {
|
|
2211
|
+
const itemValue = groupColumns(originalItem);
|
|
2212
|
+
customLabel = itemValue.textGroup2 || label;
|
|
2213
|
+
}
|
|
2214
|
+
}
|
|
1961
2215
|
const groupedDataLength2 = arrayRows.filter(
|
|
1962
|
-
(r) =>
|
|
2216
|
+
(r) => {
|
|
2217
|
+
var _a2, _b2;
|
|
2218
|
+
return groupColumns && String((_a2 = groupColumns(r)) == null ? void 0 : _a2.valueGroup1) === labelGrouping1 && groupColumns && String((_b2 = groupColumns(r)) == null ? void 0 : _b2.valueGroup2) === label;
|
|
2219
|
+
}
|
|
1963
2220
|
).length;
|
|
1964
|
-
label = `${
|
|
2221
|
+
label = `${customLabel} (${groupedDataLength2})`;
|
|
1965
2222
|
} else {
|
|
1966
2223
|
label = label;
|
|
1967
2224
|
}
|
|
1968
2225
|
}
|
|
1969
|
-
return /* @__PURE__ */
|
|
2226
|
+
return /* @__PURE__ */ import_react18.default.createElement(
|
|
1970
2227
|
"div",
|
|
1971
2228
|
{
|
|
1972
2229
|
style: {
|
|
@@ -1983,7 +2240,7 @@ var SCDataGridInitial = ({ data, columns, groupColumns, rowsTable, checkboxSelec
|
|
|
1983
2240
|
fontWeight: params.rowNode.type == "group" ? "400" : "300"
|
|
1984
2241
|
}
|
|
1985
2242
|
},
|
|
1986
|
-
params.rowNode.type === "group" && /* @__PURE__ */
|
|
2243
|
+
params.rowNode.type === "group" && /* @__PURE__ */ import_react18.default.createElement(
|
|
1987
2244
|
"span",
|
|
1988
2245
|
{
|
|
1989
2246
|
style: {
|
|
@@ -1996,25 +2253,32 @@ var SCDataGridInitial = ({ data, columns, groupColumns, rowsTable, checkboxSelec
|
|
|
1996
2253
|
params.api.setRowChildrenExpansion(params.id, !params.rowNode.childrenExpanded);
|
|
1997
2254
|
}
|
|
1998
2255
|
},
|
|
1999
|
-
params.rowNode.childrenExpanded ? /* @__PURE__ */
|
|
2256
|
+
params.rowNode.childrenExpanded ? /* @__PURE__ */ import_react18.default.createElement(import_KeyboardArrowUp.default, { fontSize: "small", color: "action" }) : /* @__PURE__ */ import_react18.default.createElement(import_KeyboardArrowDown.default, { fontSize: "small", color: "action" })
|
|
2000
2257
|
),
|
|
2001
2258
|
label
|
|
2002
2259
|
);
|
|
2003
2260
|
},
|
|
2004
2261
|
colSpan: (params) => {
|
|
2262
|
+
var _a, _b;
|
|
2005
2263
|
const value = String(params);
|
|
2006
|
-
const fieldGrouping1 = groupColumns[0]
|
|
2007
|
-
const fieldGrouping2 = groupColumns
|
|
2264
|
+
const fieldGrouping1 = groupColumns ? (_a = groupColumns(data[0])) == null ? void 0 : _a.valueGroup1 : void 0;
|
|
2265
|
+
const fieldGrouping2 = groupColumns ? (_b = groupColumns(data[0])) == null ? void 0 : _b.valueGroup2 : void 0;
|
|
2008
2266
|
let agrupado1 = false;
|
|
2009
2267
|
let agrupado2 = false;
|
|
2010
2268
|
if (fieldGrouping1 != void 0) {
|
|
2011
2269
|
agrupado1 = arrayRows.some(
|
|
2012
|
-
(row) =>
|
|
2270
|
+
(row) => {
|
|
2271
|
+
var _a2;
|
|
2272
|
+
return groupColumns && String((_a2 = groupColumns(row)) == null ? void 0 : _a2.valueGroup1) === value;
|
|
2273
|
+
}
|
|
2013
2274
|
);
|
|
2014
2275
|
}
|
|
2015
2276
|
if (fieldGrouping2 != void 0) {
|
|
2016
2277
|
agrupado2 = arrayRows.some(
|
|
2017
|
-
(row) =>
|
|
2278
|
+
(row) => {
|
|
2279
|
+
var _a2;
|
|
2280
|
+
return groupColumns && String((_a2 = groupColumns(row)) == null ? void 0 : _a2.valueGroup2) === value;
|
|
2281
|
+
}
|
|
2018
2282
|
);
|
|
2019
2283
|
}
|
|
2020
2284
|
if (agrupado1 || agrupado2) {
|
|
@@ -2031,11 +2295,11 @@ var SCDataGridInitial = ({ data, columns, groupColumns, rowsTable, checkboxSelec
|
|
|
2031
2295
|
let styleRowHeight = density == "compact" ? 32 : density == "standard" ? 28 : density == "comfortable" ? 36 : 32;
|
|
2032
2296
|
let rows = rowsTable ? rowsTable : validationTreeData != false ? parseInt(data.length.toString()) : data.length < 10 ? parseInt(data.length.toString()) : 10;
|
|
2033
2297
|
let validationGroupingColDef = groupingColDefs || {};
|
|
2034
|
-
const [groupDataLenght, setGroupDataLengh] = (0,
|
|
2035
|
-
const [pageSize, setPageSize] = (0,
|
|
2036
|
-
const [arrayRows, setArrayRows] = (0,
|
|
2037
|
-
const [selectionModel, setSelectionModel] = (0,
|
|
2038
|
-
(0,
|
|
2298
|
+
const [groupDataLenght, setGroupDataLengh] = (0, import_react18.useState)(0);
|
|
2299
|
+
const [pageSize, setPageSize] = (0, import_react18.useState)(rows);
|
|
2300
|
+
const [arrayRows, setArrayRows] = (0, import_react18.useState)([]);
|
|
2301
|
+
const [selectionModel, setSelectionModel] = (0, import_react18.useState)([]);
|
|
2302
|
+
(0, import_react18.useEffect)(() => {
|
|
2039
2303
|
if ((data == null ? void 0 : data.length) > 0) {
|
|
2040
2304
|
dataConvertRows(data, void 0);
|
|
2041
2305
|
}
|
|
@@ -2091,7 +2355,7 @@ var SCDataGridInitial = ({ data, columns, groupColumns, rowsTable, checkboxSelec
|
|
|
2091
2355
|
setSelectionModel([...newSelection]);
|
|
2092
2356
|
}
|
|
2093
2357
|
};
|
|
2094
|
-
return /* @__PURE__ */
|
|
2358
|
+
return /* @__PURE__ */ import_react18.default.createElement(import_react18.default.Fragment, null, data && /* @__PURE__ */ import_react18.default.createElement(import_react18.default.Fragment, null, /* @__PURE__ */ import_react18.default.createElement("div", { style: { width: width || "100%", maxHeight: maxHeight ? `${maxHeight}px` : "none" } }, /* @__PURE__ */ import_react18.default.createElement(
|
|
2095
2359
|
import_x_data_grid_pro.DataGridPro,
|
|
2096
2360
|
{
|
|
2097
2361
|
apiRef,
|
|
@@ -2125,7 +2389,6 @@ var SCDataGridInitial = ({ data, columns, groupColumns, rowsTable, checkboxSelec
|
|
|
2125
2389
|
},
|
|
2126
2390
|
sx: {
|
|
2127
2391
|
maxHeight: maxHeight ? `${maxHeight}px` : "none",
|
|
2128
|
-
//overflow: 'auto',
|
|
2129
2392
|
"& .MuiDataGrid-filler": {
|
|
2130
2393
|
display: "none !important"
|
|
2131
2394
|
},
|
|
@@ -2155,14 +2418,14 @@ var SCDataGridInitial = ({ data, columns, groupColumns, rowsTable, checkboxSelec
|
|
|
2155
2418
|
}
|
|
2156
2419
|
}
|
|
2157
2420
|
))));
|
|
2158
|
-
}
|
|
2159
|
-
var SCDataGrid =
|
|
2160
|
-
const isEqual = prevProps.
|
|
2421
|
+
}
|
|
2422
|
+
var SCDataGrid = import_react18.default.memo(SCDataGridInitial, (prevProps, nextProps) => {
|
|
2423
|
+
const isEqual = prevProps.rowsTable === nextProps.rowsTable && prevProps.checkboxSelection === nextProps.checkboxSelection && prevProps.width === nextProps.width && prevProps.maxHeight === nextProps.maxHeight && prevProps.density === nextProps.density;
|
|
2161
2424
|
return isEqual;
|
|
2162
2425
|
});
|
|
2163
2426
|
|
|
2164
2427
|
// src/Components/EmptyState/EmptyState.tsx
|
|
2165
|
-
var
|
|
2428
|
+
var import_react19 = __toESM(require("react"), 1);
|
|
2166
2429
|
var import_material13 = require("@mui/material");
|
|
2167
2430
|
|
|
2168
2431
|
// src/assets/ImgEmptyState/create.svg
|
|
@@ -2190,7 +2453,7 @@ var DefaultIcon = ({
|
|
|
2190
2453
|
}) => {
|
|
2191
2454
|
const imageUrl = EmptyStateImageUrls[state];
|
|
2192
2455
|
const iconSize = size === "small" ? { width: "40px", height: "40px" } : { width: "60px", height: "60px" };
|
|
2193
|
-
return /* @__PURE__ */
|
|
2456
|
+
return /* @__PURE__ */ import_react19.default.createElement("img", { src: imageUrl, alt: state, style: iconSize });
|
|
2194
2457
|
};
|
|
2195
2458
|
var EmptyState = ({
|
|
2196
2459
|
state = "create",
|
|
@@ -2199,11 +2462,11 @@ var EmptyState = ({
|
|
|
2199
2462
|
subtitle,
|
|
2200
2463
|
actions,
|
|
2201
2464
|
containerHeight = "100vh",
|
|
2202
|
-
icon = /* @__PURE__ */
|
|
2465
|
+
icon = /* @__PURE__ */ import_react19.default.createElement(DefaultIcon, { state, size })
|
|
2203
2466
|
}) => {
|
|
2204
2467
|
const titleVariant = size === "small" ? "subtitle2" : "h6";
|
|
2205
2468
|
const subtitleVariant = size === "small" ? "caption" : "body1";
|
|
2206
|
-
return /* @__PURE__ */
|
|
2469
|
+
return /* @__PURE__ */ import_react19.default.createElement(
|
|
2207
2470
|
import_material13.Stack,
|
|
2208
2471
|
{
|
|
2209
2472
|
alignItems: "center",
|
|
@@ -2212,8 +2475,8 @@ var EmptyState = ({
|
|
|
2212
2475
|
height: containerHeight,
|
|
2213
2476
|
"data-testid": "empty-state-container"
|
|
2214
2477
|
},
|
|
2215
|
-
icon && /* @__PURE__ */
|
|
2216
|
-
/* @__PURE__ */
|
|
2478
|
+
icon && /* @__PURE__ */ import_react19.default.createElement(import_material13.Stack, null, icon),
|
|
2479
|
+
/* @__PURE__ */ import_react19.default.createElement(import_material13.Stack, { gap: 0.5 }, /* @__PURE__ */ import_react19.default.createElement(import_material13.Typography, { color: "text.primary", variant: titleVariant, textAlign: "center" }, title), subtitle && /* @__PURE__ */ import_react19.default.createElement(
|
|
2217
2480
|
import_material13.Typography,
|
|
2218
2481
|
{
|
|
2219
2482
|
variant: subtitleVariant,
|
|
@@ -2221,7 +2484,7 @@ var EmptyState = ({
|
|
|
2221
2484
|
color: "text.secondary"
|
|
2222
2485
|
},
|
|
2223
2486
|
subtitle
|
|
2224
|
-
), actions && (actions == null ? void 0 : actions.length) > 0 && /* @__PURE__ */
|
|
2487
|
+
), actions && (actions == null ? void 0 : actions.length) > 0 && /* @__PURE__ */ import_react19.default.createElement(
|
|
2225
2488
|
import_material13.Stack,
|
|
2226
2489
|
{
|
|
2227
2490
|
direction: "row",
|
|
@@ -2231,15 +2494,15 @@ var EmptyState = ({
|
|
|
2231
2494
|
},
|
|
2232
2495
|
actions.map((action, index) => {
|
|
2233
2496
|
var _a, _b, _c, _d;
|
|
2234
|
-
return /* @__PURE__ */
|
|
2497
|
+
return /* @__PURE__ */ import_react19.default.createElement(
|
|
2235
2498
|
import_material13.Button,
|
|
2236
2499
|
{
|
|
2237
2500
|
key: index,
|
|
2238
2501
|
color: (_a = action.color) != null ? _a : "primary",
|
|
2239
2502
|
variant: (_b = action.variant) != null ? _b : "text",
|
|
2240
2503
|
size: (_c = action.size) != null ? _c : "small",
|
|
2241
|
-
startIcon: action.icon && action.iconPosition === "left" ? /* @__PURE__ */
|
|
2242
|
-
endIcon: action.icon && action.iconPosition === "right" ? /* @__PURE__ */
|
|
2504
|
+
startIcon: action.icon && action.iconPosition === "left" ? /* @__PURE__ */ import_react19.default.createElement("img", { src: action.icon, alt: "icon" }) : void 0,
|
|
2505
|
+
endIcon: action.icon && action.iconPosition === "right" ? /* @__PURE__ */ import_react19.default.createElement("img", { src: action.icon, alt: "icon" }) : void 0,
|
|
2243
2506
|
onClick: action.onClick
|
|
2244
2507
|
},
|
|
2245
2508
|
capitalize((_d = action.text) != null ? _d : "action")
|
|
@@ -2250,7 +2513,7 @@ var EmptyState = ({
|
|
|
2250
2513
|
};
|
|
2251
2514
|
|
|
2252
2515
|
// src/Components/SCDialog.tsx
|
|
2253
|
-
var
|
|
2516
|
+
var import_react20 = __toESM(require("react"), 1);
|
|
2254
2517
|
var import_material14 = require("@mui/material");
|
|
2255
2518
|
var import_Grid25 = __toESM(require("@mui/material/Grid2"), 1);
|
|
2256
2519
|
var import_Close2 = __toESM(require("@mui/icons-material/Close"), 1);
|
|
@@ -2260,8 +2523,8 @@ var SCDialog = ({ title, iconTitle, subtitle, content, actions, buttonDialog, di
|
|
|
2260
2523
|
let iconTitleValidation = "";
|
|
2261
2524
|
let IconTitle;
|
|
2262
2525
|
let ButtonIcon;
|
|
2263
|
-
const [open, setOpen] = (0,
|
|
2264
|
-
(0,
|
|
2526
|
+
const [open, setOpen] = (0, import_react20.useState)(show);
|
|
2527
|
+
(0, import_react20.useEffect)(() => {
|
|
2265
2528
|
if (show) {
|
|
2266
2529
|
handleOpen();
|
|
2267
2530
|
} else {
|
|
@@ -2286,7 +2549,7 @@ var SCDialog = ({ title, iconTitle, subtitle, content, actions, buttonDialog, di
|
|
|
2286
2549
|
});
|
|
2287
2550
|
if (iconTitle) {
|
|
2288
2551
|
if (Muicon5[iconTitle] == void 0) {
|
|
2289
|
-
if (iconTitle &&
|
|
2552
|
+
if (iconTitle && import_react20.default.isValidElement(iconTitle) && iconTitle.type == void 0) {
|
|
2290
2553
|
iconTitleValidation = "image";
|
|
2291
2554
|
IconTitle = iconTitle;
|
|
2292
2555
|
} else {
|
|
@@ -2311,8 +2574,8 @@ var SCDialog = ({ title, iconTitle, subtitle, content, actions, buttonDialog, di
|
|
|
2311
2574
|
}
|
|
2312
2575
|
};
|
|
2313
2576
|
const dialogActions = actions != null ? actions : [{ text: "Cerrar", fn: handleClose }];
|
|
2314
|
-
content = content != null ? content : { component: /* @__PURE__ */
|
|
2315
|
-
return /* @__PURE__ */
|
|
2577
|
+
content = content != null ? content : { component: /* @__PURE__ */ import_react20.default.createElement(import_material14.Box, null, " Aqui va el contenido ") };
|
|
2578
|
+
return /* @__PURE__ */ import_react20.default.createElement("div", null, buttonDialog ? /* @__PURE__ */ import_react20.default.createElement(import_react20.default.Fragment, null, buttonDialog.text != void 0 ? /* @__PURE__ */ import_react20.default.createElement(import_material14.Tooltip, { placement: "bottom-start", title: buttonDialog.tooltip != void 0 ? buttonDialog.tooltip : "", slotProps: { popper: { modifiers: [{ name: "offset", options: { offset: [0, -14] } }] } } }, /* @__PURE__ */ import_react20.default.createElement(import_material14.Button, { 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__ */ import_react20.default.createElement(ButtonIcon, null) : "" : "", endIcon: (buttonDialog == null ? void 0 : buttonDialog.iconPosition) != void 0 ? (buttonDialog == null ? void 0 : buttonDialog.iconPosition) == "right" ? /* @__PURE__ */ import_react20.default.createElement(ButtonIcon, null) : "" : "", onClick: handleOpen }, " ", (buttonDialog == null ? void 0 : buttonDialog.text) != void 0 ? buttonDialog.text : "", " ")) : /* @__PURE__ */ import_react20.default.createElement(import_material14.IconButton, { style: { cursor: "pointer" }, onClick: handleOpen }, /* @__PURE__ */ import_react20.default.createElement(import_material14.SvgIcon, { fontSize: "small", color: (buttonDialog == null ? void 0 : buttonDialog.color) != void 0 ? buttonDialog == null ? void 0 : buttonDialog.color : "action", component: ButtonIcon }))) : "", /* @__PURE__ */ import_react20.default.createElement(import_material14.Modal, { open: open || false, onClose: handleClose }, /* @__PURE__ */ import_react20.default.createElement(
|
|
2316
2579
|
import_material14.Dialog,
|
|
2317
2580
|
{
|
|
2318
2581
|
"data-testid": "dialog-element",
|
|
@@ -2326,8 +2589,8 @@ var SCDialog = ({ title, iconTitle, subtitle, content, actions, buttonDialog, di
|
|
|
2326
2589
|
}
|
|
2327
2590
|
}
|
|
2328
2591
|
},
|
|
2329
|
-
title && /* @__PURE__ */
|
|
2330
|
-
/* @__PURE__ */
|
|
2592
|
+
title && /* @__PURE__ */ import_react20.default.createElement(import_material14.DialogTitle, { sx: { m: 0, padding: "8px 16px 8px 16px" }, "data-testid": "dialog-icon-title" }, /* @__PURE__ */ import_react20.default.createElement(import_Grid25.default, { container: true, size: 12, sx: { justifyContent: "space-between", flexWrap: "nowrap" } }, /* @__PURE__ */ import_react20.default.createElement(import_Grid25.default, { container: true, size: 11, sx: { alignItems: "center" } }, iconTitle ? iconTitleValidation == "image" ? /* @__PURE__ */ import_react20.default.createElement(import_material14.Box, { sx: { marginRight: "16px", width: "44px", height: "44px", borderRadius: "1px" } }, /* @__PURE__ */ import_react20.default.createElement("img", { src: IconTitle, width: "44px", height: "44px" })) : /* @__PURE__ */ import_react20.default.createElement(import_material14.SvgIcon, { color: "action", fontSize: "small", component: IconTitle, sx: { marginRight: "16px" } }) : "", /* @__PURE__ */ import_react20.default.createElement(import_Grid25.default, null, /* @__PURE__ */ import_react20.default.createElement(import_material14.Typography, { color: "text.primary", variant: "h6", gutterBottom: true }, title ? title : ""), /* @__PURE__ */ import_react20.default.createElement(import_material14.Typography, { color: "text.secondary", variant: "body2", gutterBottom: true }, subtitle ? subtitle : ""))), disableClose != true ? /* @__PURE__ */ import_react20.default.createElement(import_material14.IconButton, { "data-testid": "close-dialog-button", onClick: handleClose, size: "small", color: "default", sx: { height: 22, width: 22 } }, /* @__PURE__ */ import_react20.default.createElement(import_Close2.default, null)) : "")),
|
|
2593
|
+
/* @__PURE__ */ import_react20.default.createElement(
|
|
2331
2594
|
import_material14.DialogContent,
|
|
2332
2595
|
{
|
|
2333
2596
|
"data-testid": "dialog-content",
|
|
@@ -2355,7 +2618,7 @@ var SCDialog = ({ title, iconTitle, subtitle, content, actions, buttonDialog, di
|
|
|
2355
2618
|
}
|
|
2356
2619
|
}
|
|
2357
2620
|
},
|
|
2358
|
-
content.url ? /* @__PURE__ */
|
|
2621
|
+
content.url ? /* @__PURE__ */ import_react20.default.createElement(
|
|
2359
2622
|
"iframe",
|
|
2360
2623
|
{
|
|
2361
2624
|
style: { border: "none", minWidth: "100%", minHeight: "100%" },
|
|
@@ -2365,7 +2628,7 @@ var SCDialog = ({ title, iconTitle, subtitle, content, actions, buttonDialog, di
|
|
|
2365
2628
|
}
|
|
2366
2629
|
) : content.component
|
|
2367
2630
|
),
|
|
2368
|
-
dialogActions.length > 0 ? /* @__PURE__ */
|
|
2631
|
+
dialogActions.length > 0 ? /* @__PURE__ */ import_react20.default.createElement(import_material14.DialogActions, { sx: { gap: 1, m: 0, padding: "12px 16px 12px 16px", justifyContent: dialogActions.length >= 3 ? "space-between" : "flex-end" } }, dialogActions.length >= 3 ? /* @__PURE__ */ import_react20.default.createElement(import_react20.default.Fragment, null, /* @__PURE__ */ import_react20.default.createElement(
|
|
2369
2632
|
import_material14.Button,
|
|
2370
2633
|
{
|
|
2371
2634
|
variant: "text",
|
|
@@ -2373,11 +2636,11 @@ var SCDialog = ({ title, iconTitle, subtitle, content, actions, buttonDialog, di
|
|
|
2373
2636
|
size: "small",
|
|
2374
2637
|
onClick: dialogActions[0].fn,
|
|
2375
2638
|
disabled: dialogActions[0].disabled || false,
|
|
2376
|
-
startIcon: dialogActions[0].icon ? /* @__PURE__ */
|
|
2639
|
+
startIcon: dialogActions[0].icon ? /* @__PURE__ */ import_react20.default.createElement(import_material14.SvgIcon, { fontSize: "small", component: dialogActions[0].icon }) : void 0
|
|
2377
2640
|
},
|
|
2378
2641
|
dialogActions[0].text
|
|
2379
|
-
), /* @__PURE__ */
|
|
2380
|
-
return /* @__PURE__ */
|
|
2642
|
+
), /* @__PURE__ */ import_react20.default.createElement(import_material14.Box, { sx: { display: "flex", gap: 1 } }, dialogActions.slice(1).map((boton, index) => {
|
|
2643
|
+
return /* @__PURE__ */ import_react20.default.createElement(
|
|
2381
2644
|
import_material14.Button,
|
|
2382
2645
|
{
|
|
2383
2646
|
key: index + 1,
|
|
@@ -2386,12 +2649,12 @@ var SCDialog = ({ title, iconTitle, subtitle, content, actions, buttonDialog, di
|
|
|
2386
2649
|
size: "small",
|
|
2387
2650
|
onClick: boton.fn,
|
|
2388
2651
|
disabled: boton.disabled || false,
|
|
2389
|
-
startIcon: boton.icon ? /* @__PURE__ */
|
|
2652
|
+
startIcon: boton.icon ? /* @__PURE__ */ import_react20.default.createElement(import_material14.SvgIcon, { fontSize: "small", component: boton.icon }) : void 0
|
|
2390
2653
|
},
|
|
2391
2654
|
boton.text
|
|
2392
2655
|
);
|
|
2393
2656
|
}))) : dialogActions.map((boton, index) => {
|
|
2394
|
-
return /* @__PURE__ */
|
|
2657
|
+
return /* @__PURE__ */ import_react20.default.createElement(
|
|
2395
2658
|
import_material14.Button,
|
|
2396
2659
|
{
|
|
2397
2660
|
key: index,
|
|
@@ -2400,7 +2663,7 @@ var SCDialog = ({ title, iconTitle, subtitle, content, actions, buttonDialog, di
|
|
|
2400
2663
|
size: "small",
|
|
2401
2664
|
onClick: boton.fn,
|
|
2402
2665
|
disabled: boton.disabled || false,
|
|
2403
|
-
startIcon: boton.icon ? /* @__PURE__ */
|
|
2666
|
+
startIcon: boton.icon ? /* @__PURE__ */ import_react20.default.createElement(import_material14.SvgIcon, { fontSize: "small", component: boton.icon }) : void 0
|
|
2404
2667
|
},
|
|
2405
2668
|
boton.text
|
|
2406
2669
|
);
|
|
@@ -2409,12 +2672,12 @@ var SCDialog = ({ title, iconTitle, subtitle, content, actions, buttonDialog, di
|
|
|
2409
2672
|
};
|
|
2410
2673
|
|
|
2411
2674
|
// src/Components/SCMenu.tsx
|
|
2412
|
-
var
|
|
2675
|
+
var import_react22 = __toESM(require("react"), 1);
|
|
2413
2676
|
var import_material15 = require("@mui/material");
|
|
2414
2677
|
var import_Grid26 = __toESM(require("@mui/material/Grid2"), 1);
|
|
2415
2678
|
|
|
2416
2679
|
// src/Components/Hooks/useWindowDimensions.ts
|
|
2417
|
-
var
|
|
2680
|
+
var import_react21 = require("react");
|
|
2418
2681
|
function getWindowDimensions() {
|
|
2419
2682
|
const { innerWidth: width, innerHeight: height } = window;
|
|
2420
2683
|
return {
|
|
@@ -2423,8 +2686,8 @@ function getWindowDimensions() {
|
|
|
2423
2686
|
};
|
|
2424
2687
|
}
|
|
2425
2688
|
function useWindowDimensions() {
|
|
2426
|
-
const [windowDimensions, setWindowDimensions] = (0,
|
|
2427
|
-
(0,
|
|
2689
|
+
const [windowDimensions, setWindowDimensions] = (0, import_react21.useState)(getWindowDimensions());
|
|
2690
|
+
(0, import_react21.useEffect)(() => {
|
|
2428
2691
|
function handleResize() {
|
|
2429
2692
|
setWindowDimensions(getWindowDimensions());
|
|
2430
2693
|
}
|
|
@@ -2442,12 +2705,12 @@ var SCMenu = ({ header, options, defaultOption, disable, widthMenu, heightMenu,
|
|
|
2442
2705
|
const pageSize = widthPage ? parseInt(widthPage) : width - menuSize;
|
|
2443
2706
|
const widthContainer = menuSize + pageSize;
|
|
2444
2707
|
let heightContainer = heightMenu ? parseInt(heightMenu) : height - 76;
|
|
2445
|
-
const [selectedIndex, setSelectedIndex] =
|
|
2446
|
-
const [value, setValue] =
|
|
2447
|
-
|
|
2708
|
+
const [selectedIndex, setSelectedIndex] = import_react22.default.useState("1");
|
|
2709
|
+
const [value, setValue] = import_react22.default.useState("1");
|
|
2710
|
+
import_react22.default.useEffect(() => {
|
|
2448
2711
|
heightContainer = heightMenu ? parseInt(heightMenu) : height - 76;
|
|
2449
2712
|
}, [height]);
|
|
2450
|
-
|
|
2713
|
+
import_react22.default.useEffect(() => {
|
|
2451
2714
|
if (defaultOption) {
|
|
2452
2715
|
handleClickMenusItem(event, void 0);
|
|
2453
2716
|
}
|
|
@@ -2477,7 +2740,7 @@ var SCMenu = ({ header, options, defaultOption, disable, widthMenu, heightMenu,
|
|
|
2477
2740
|
setValue(String(index + 1));
|
|
2478
2741
|
}
|
|
2479
2742
|
};
|
|
2480
|
-
return /* @__PURE__ */
|
|
2743
|
+
return /* @__PURE__ */ import_react22.default.createElement(import_react22.default.Fragment, null, /* @__PURE__ */ import_react22.default.createElement(import_Grid26.default, { container: true, sx: { height: heightContainer, width: widthContainer, flexDirection: "column" } }, /* @__PURE__ */ import_react22.default.createElement(import_material15.Paper, { "data-testid": "menu-content", sx: { width: menuSize, height: heightContainer, overflow: "auto" } }, header && header.component, /* @__PURE__ */ import_react22.default.createElement(import_material15.MenuList, { sx: { height: options.length * 45, padding: "8px 0px" } }, options.map((option, index) => /* @__PURE__ */ import_react22.default.createElement(import_react22.default.Fragment, null, /* @__PURE__ */ import_react22.default.createElement(
|
|
2481
2744
|
import_material15.MenuItem,
|
|
2482
2745
|
{
|
|
2483
2746
|
disabled: disable == true ? true : false,
|
|
@@ -2485,26 +2748,26 @@ var SCMenu = ({ header, options, defaultOption, disable, widthMenu, heightMenu,
|
|
|
2485
2748
|
selected: String(index + 1) === selectedIndex,
|
|
2486
2749
|
onClick: (event2) => handleClickMenusItem(event2, index)
|
|
2487
2750
|
},
|
|
2488
|
-
option.iconLeft ? /* @__PURE__ */
|
|
2489
|
-
/* @__PURE__ */
|
|
2490
|
-
), option.divider == true ? /* @__PURE__ */
|
|
2751
|
+
option.iconLeft ? /* @__PURE__ */ import_react22.default.createElement(import_material15.ListItemIcon, { sx: { color: String(index + 1) === selectedIndex ? "primary" : "active" } }, /* @__PURE__ */ import_react22.default.createElement(import_material15.SvgIcon, { fontSize: "small", color: String(index + 1) === selectedIndex ? "primary" : "action", component: option.iconLeft })) : "",
|
|
2752
|
+
/* @__PURE__ */ import_react22.default.createElement(import_Grid26.default, { container: true, size: 12, sx: { maxWidth: 220, flexWrap: "noWrap", alignItems: "center" } }, /* @__PURE__ */ import_react22.default.createElement(import_material15.Typography, { noWrap: true, variant: "caption", color: String(index + 1) === selectedIndex ? "primary" : "active" }, option.name), option.iconRight ? /* @__PURE__ */ import_react22.default.createElement(import_material15.ListItemIcon, { sx: { minWidth: "0px !important", color: String(index + 1) === selectedIndex ? "primary" : "active" } }, /* @__PURE__ */ import_react22.default.createElement(import_material15.SvgIcon, { fontSize: "small", color: String(index + 1) === selectedIndex ? "primary" : "action", component: option.iconRight })) : "")
|
|
2753
|
+
), option.divider == true ? /* @__PURE__ */ import_react22.default.createElement(import_material15.Divider, null) : "")))), /* @__PURE__ */ import_react22.default.createElement(import_Grid26.default, { container: true }, options.map((option, index) => option.page ? String(index + 1) == value ? /* @__PURE__ */ import_react22.default.createElement(import_material15.Box, { "data-testid": "menu-page-content", sx: { padding: "16px", width: pageSize, height: heightContainer }, key: index }, option.page) : "" : /* @__PURE__ */ import_react22.default.createElement(import_material15.Typography, { color: "error" }, "No se ha configurado el componente a visualizar")))));
|
|
2491
2754
|
};
|
|
2492
2755
|
|
|
2493
2756
|
// src/Components/SCTabs.tsx
|
|
2494
|
-
var
|
|
2757
|
+
var import_react23 = __toESM(require("react"), 1);
|
|
2495
2758
|
var import_material16 = require("@mui/material");
|
|
2496
2759
|
var import_TabPanel = __toESM(require("@mui/lab/TabPanel"), 1);
|
|
2497
2760
|
var import_TabContext = __toESM(require("@mui/lab/TabContext"), 1);
|
|
2498
2761
|
var Muicon7 = __toESM(require("@mui/icons-material"), 1);
|
|
2499
2762
|
var SCTabs = ({ options, defaultOption, typeIcon, background, iconPosition, colorTab, orientation, variant, scrollButtons, children }) => {
|
|
2500
|
-
const [toast, setToast] =
|
|
2763
|
+
const [toast, setToast] = import_react23.default.useState(null);
|
|
2501
2764
|
let i = 0;
|
|
2502
2765
|
let j = 0;
|
|
2503
2766
|
let k = 0;
|
|
2504
2767
|
let l = 0;
|
|
2505
2768
|
let validateTypeIcon = true;
|
|
2506
|
-
const [value, setValue] =
|
|
2507
|
-
(0,
|
|
2769
|
+
const [value, setValue] = import_react23.default.useState("1");
|
|
2770
|
+
(0, import_react23.useEffect)(() => {
|
|
2508
2771
|
if (defaultOption) {
|
|
2509
2772
|
handleChange(event, void 0);
|
|
2510
2773
|
}
|
|
@@ -2554,7 +2817,7 @@ var SCTabs = ({ options, defaultOption, typeIcon, background, iconPosition, colo
|
|
|
2554
2817
|
setValue(newValue);
|
|
2555
2818
|
}
|
|
2556
2819
|
};
|
|
2557
|
-
return /* @__PURE__ */
|
|
2820
|
+
return /* @__PURE__ */ import_react23.default.createElement(import_react23.default.Fragment, null, validateTypeIcon == true ? /* @__PURE__ */ import_react23.default.createElement(import_material16.Box, { sx: { height: orientation == "vertical" ? "100%" : "auto", display: "flex", flexDirection: orientation == "vertical" ? "row" : "column" }, id: "tabsitos" }, /* @__PURE__ */ import_react23.default.createElement(import_TabContext.default, { value }, /* @__PURE__ */ import_react23.default.createElement(
|
|
2558
2821
|
import_material16.Tabs,
|
|
2559
2822
|
{
|
|
2560
2823
|
"data-testid": "tab-container",
|
|
@@ -2568,7 +2831,7 @@ var SCTabs = ({ options, defaultOption, typeIcon, background, iconPosition, colo
|
|
|
2568
2831
|
orientation: orientation || "horizontal",
|
|
2569
2832
|
sx: { borderBottom: orientation == "vertical" ? 0 : 1, borderRight: orientation == "vertical" ? 1 : 0, borderColor: "divider", background: background || "" }
|
|
2570
2833
|
},
|
|
2571
|
-
options.map((option) => /* @__PURE__ */
|
|
2834
|
+
options.map((option) => /* @__PURE__ */ import_react23.default.createElement(
|
|
2572
2835
|
import_material16.Tab,
|
|
2573
2836
|
{
|
|
2574
2837
|
"data-testid": "tab-item",
|
|
@@ -2577,7 +2840,7 @@ var SCTabs = ({ options, defaultOption, typeIcon, background, iconPosition, colo
|
|
|
2577
2840
|
label: option.name || "",
|
|
2578
2841
|
disabled: option.disabled || false,
|
|
2579
2842
|
iconPosition: iconPosition || "end",
|
|
2580
|
-
icon: typeIcon == "badge" ? /* @__PURE__ */
|
|
2843
|
+
icon: typeIcon == "badge" ? /* @__PURE__ */ import_react23.default.createElement(
|
|
2581
2844
|
import_material16.Badge,
|
|
2582
2845
|
{
|
|
2583
2846
|
sx: {
|
|
@@ -2592,33 +2855,38 @@ var SCTabs = ({ options, defaultOption, typeIcon, background, iconPosition, colo
|
|
|
2592
2855
|
badgeContent: option.iconOrBadge,
|
|
2593
2856
|
color: value == String(i) ? colorTab ? colorTab : "primary" : "default"
|
|
2594
2857
|
}
|
|
2595
|
-
) : typeIcon == "icon" ? /* @__PURE__ */
|
|
2858
|
+
) : typeIcon == "icon" ? /* @__PURE__ */ import_react23.default.createElement(import_material16.SvgIcon, { fontSize: "small", component: option.iconOrBadge, color: value == String(i) ? colorTab ? colorTab : "primary" : "action", sx: { width: "20px", height: "20px" } }) : "",
|
|
2596
2859
|
sx: { "& .MuiTab-icon": { margin: "0px !important" }, padding: "10px 16px", gap: "4px" }
|
|
2597
2860
|
}
|
|
2598
2861
|
))
|
|
2599
|
-
), children, options.map((option) => /* @__PURE__ */
|
|
2862
|
+
), children, options.map((option) => /* @__PURE__ */ import_react23.default.createElement(
|
|
2600
2863
|
import_TabPanel.default,
|
|
2601
2864
|
{
|
|
2602
2865
|
key: k = k + 1,
|
|
2603
2866
|
value: String(l = l + 1),
|
|
2604
2867
|
sx: { padding: "16px" }
|
|
2605
2868
|
},
|
|
2606
|
-
option.page ? option.page : /* @__PURE__ */
|
|
2607
|
-
)))) : /* @__PURE__ */
|
|
2869
|
+
option.page ? option.page : /* @__PURE__ */ import_react23.default.createElement(import_material16.Typography, null, "No se ha configurado el componente a visualizar ")
|
|
2870
|
+
)))) : /* @__PURE__ */ import_react23.default.createElement(import_material16.Box, { sx: { height: "200px" } }, toast && /* @__PURE__ */ import_react23.default.createElement(SCToastNotification, __spreadValues({ "data-testid": "error-tab-message" }, toast))));
|
|
2608
2871
|
};
|
|
2609
2872
|
|
|
2610
2873
|
// src/Components/Calendario/Calendar.tsx
|
|
2611
|
-
var
|
|
2874
|
+
var import_react29 = __toESM(require("react"), 1);
|
|
2612
2875
|
var import_material22 = require("@mui/material");
|
|
2613
|
-
var import_dayjs7 = __toESM(require("dayjs"), 1);
|
|
2614
2876
|
|
|
2615
2877
|
// src/Components/Calendario/CalendarToolbar.tsx
|
|
2616
|
-
var
|
|
2878
|
+
var import_react24 = __toESM(require("react"), 1);
|
|
2617
2879
|
var import_icons_material10 = require("@mui/icons-material");
|
|
2618
2880
|
var import_material17 = require("@mui/material");
|
|
2619
2881
|
var import_dayjs2 = __toESM(require("dayjs"), 1);
|
|
2882
|
+
var import_updateLocale = __toESM(require("dayjs/plugin/updateLocale"), 1);
|
|
2620
2883
|
var import_es2 = require("dayjs/locale/es");
|
|
2621
2884
|
import_dayjs2.default.locale("es");
|
|
2885
|
+
import_dayjs2.default.extend(import_updateLocale.default);
|
|
2886
|
+
import_dayjs2.default.updateLocale("en", {
|
|
2887
|
+
weekStart: 0
|
|
2888
|
+
// 0 = domingo
|
|
2889
|
+
});
|
|
2622
2890
|
var CalendarToolbar = ({
|
|
2623
2891
|
labelDate,
|
|
2624
2892
|
view,
|
|
@@ -2626,7 +2894,7 @@ var CalendarToolbar = ({
|
|
|
2626
2894
|
onNavigate,
|
|
2627
2895
|
children
|
|
2628
2896
|
}) => {
|
|
2629
|
-
const [anchorEl, setAnchorEl] = (0,
|
|
2897
|
+
const [anchorEl, setAnchorEl] = (0, import_react24.useState)(null);
|
|
2630
2898
|
const open = Boolean(anchorEl);
|
|
2631
2899
|
const handleMenuOpen = (event2) => {
|
|
2632
2900
|
setAnchorEl(event2.currentTarget);
|
|
@@ -2639,23 +2907,25 @@ var CalendarToolbar = ({
|
|
|
2639
2907
|
handleMenuClose();
|
|
2640
2908
|
};
|
|
2641
2909
|
const getFormattedDate = () => {
|
|
2910
|
+
const sunday = labelDate.day(0);
|
|
2642
2911
|
if (view === "month") {
|
|
2643
|
-
|
|
2912
|
+
const textMonth = labelDate.format("MMMM YYYY");
|
|
2913
|
+
return textMonth.charAt(0).toUpperCase() + textMonth.slice(1);
|
|
2644
2914
|
}
|
|
2645
2915
|
if (view === "week") {
|
|
2646
|
-
return `${labelDate.startOf("week").
|
|
2916
|
+
return `${labelDate.startOf("week").format("DD MMM")} - ${labelDate.endOf("week").format("DD MMM YYYY")}`;
|
|
2647
2917
|
}
|
|
2648
2918
|
return labelDate.format(" DD MMMM YYYY");
|
|
2649
2919
|
};
|
|
2650
|
-
return /* @__PURE__ */
|
|
2920
|
+
return /* @__PURE__ */ import_react24.default.createElement(import_material17.Stack, { direction: "row", alignItems: "center", justifyContent: "space-between", gap: 0.5, px: 1, py: 0.5 }, /* @__PURE__ */ import_react24.default.createElement(import_material17.Box, null, /* @__PURE__ */ import_react24.default.createElement(
|
|
2651
2921
|
import_material17.Chip,
|
|
2652
2922
|
{
|
|
2653
2923
|
label: "Hoy",
|
|
2654
|
-
icon: /* @__PURE__ */
|
|
2924
|
+
icon: /* @__PURE__ */ import_react24.default.createElement(import_icons_material10.LightModeOutlined, { fontSize: "small" }),
|
|
2655
2925
|
color: "primary",
|
|
2656
2926
|
onClick: () => onNavigate("TODAY")
|
|
2657
2927
|
}
|
|
2658
|
-
)), /* @__PURE__ */
|
|
2928
|
+
)), /* @__PURE__ */ import_react24.default.createElement(import_material17.Stack, { direction: "row", alignItems: "center", gap: 1 }, /* @__PURE__ */ import_react24.default.createElement(import_material17.IconButton, { "aria-label": "Anterior", onClick: () => onNavigate("PREV"), size: "small", color: "primary" }, /* @__PURE__ */ import_react24.default.createElement(import_icons_material10.ChevronLeft, { fontSize: "small" })), /* @__PURE__ */ import_react24.default.createElement(import_material17.IconButton, { "aria-label": "Siguiente", onClick: () => onNavigate("NEXT"), size: "small", color: "primary" }, /* @__PURE__ */ import_react24.default.createElement(import_icons_material10.ChevronRight, { fontSize: "small" })), /* @__PURE__ */ import_react24.default.createElement(import_material17.Typography, { variant: "h6", color: "primary", "data-testid": "currentDate" }, getFormattedDate()), /* @__PURE__ */ import_react24.default.createElement(import_material17.IconButton, { onClick: handleMenuOpen, size: "small", color: "primary", "aria-label": "Cambiar vista" }, /* @__PURE__ */ import_react24.default.createElement(import_icons_material10.KeyboardArrowDown, { fontSize: "small" })), /* @__PURE__ */ import_react24.default.createElement(
|
|
2659
2929
|
import_material17.Menu,
|
|
2660
2930
|
{
|
|
2661
2931
|
anchorEl,
|
|
@@ -2664,14 +2934,14 @@ var CalendarToolbar = ({
|
|
|
2664
2934
|
anchorOrigin: { vertical: "bottom", horizontal: "center" },
|
|
2665
2935
|
transformOrigin: { vertical: "top", horizontal: "center" }
|
|
2666
2936
|
},
|
|
2667
|
-
/* @__PURE__ */
|
|
2668
|
-
/* @__PURE__ */
|
|
2669
|
-
/* @__PURE__ */
|
|
2670
|
-
)), children ? /* @__PURE__ */
|
|
2937
|
+
/* @__PURE__ */ import_react24.default.createElement(import_material17.MenuItem, { onClick: () => handleViewChange("month") }, "Mes"),
|
|
2938
|
+
/* @__PURE__ */ import_react24.default.createElement(import_material17.MenuItem, { onClick: () => handleViewChange("week") }, "Semana"),
|
|
2939
|
+
/* @__PURE__ */ import_react24.default.createElement(import_material17.MenuItem, { onClick: () => handleViewChange("day") }, "D\xEDa")
|
|
2940
|
+
)), children ? /* @__PURE__ */ import_react24.default.createElement(import_material17.Box, null, children) : /* @__PURE__ */ import_react24.default.createElement(import_material17.Box, { width: "24px" }), " ");
|
|
2671
2941
|
};
|
|
2672
2942
|
|
|
2673
2943
|
// src/Components/Calendario/Views/MonthView.tsx
|
|
2674
|
-
var
|
|
2944
|
+
var import_react26 = __toESM(require("react"), 1);
|
|
2675
2945
|
var import_material19 = require("@mui/material");
|
|
2676
2946
|
var import_Add = __toESM(require("@mui/icons-material/Add"), 1);
|
|
2677
2947
|
var import_dayjs4 = __toESM(require("dayjs"), 1);
|
|
@@ -2698,14 +2968,24 @@ var stateColors = {
|
|
|
2698
2968
|
Asignada: "warning.main",
|
|
2699
2969
|
Finalizado: "primary.main",
|
|
2700
2970
|
Vencida: "error.main",
|
|
2701
|
-
EnProgreso: "success.main"
|
|
2971
|
+
EnProgreso: "success.main",
|
|
2972
|
+
Aplazada: "grey.400",
|
|
2973
|
+
Generada: "secondary.main"
|
|
2702
2974
|
};
|
|
2703
2975
|
|
|
2704
2976
|
// src/Components/Calendario/Event.tsx
|
|
2705
|
-
var
|
|
2977
|
+
var import_react25 = __toESM(require("react"), 1);
|
|
2706
2978
|
var import_material18 = require("@mui/material");
|
|
2707
|
-
var CalendarEventCard = ({ event: event2, color, sx, onClick }) => {
|
|
2708
|
-
|
|
2979
|
+
var CalendarEventCard = ({ event: event2, color, sx, onClick, onHover }) => {
|
|
2980
|
+
const [anchorEl, setAnchorEl] = import_react25.default.useState(null);
|
|
2981
|
+
const handlePopoverOpen = (event3) => {
|
|
2982
|
+
setAnchorEl(event3.currentTarget);
|
|
2983
|
+
};
|
|
2984
|
+
const handlePopoverClose = () => {
|
|
2985
|
+
setAnchorEl(null);
|
|
2986
|
+
};
|
|
2987
|
+
const open = Boolean(anchorEl);
|
|
2988
|
+
return /* @__PURE__ */ import_react25.default.createElement(
|
|
2709
2989
|
import_material18.Stack,
|
|
2710
2990
|
{
|
|
2711
2991
|
direction: "row",
|
|
@@ -2713,6 +2993,7 @@ var CalendarEventCard = ({ event: event2, color, sx, onClick }) => {
|
|
|
2713
2993
|
borderRadius: 0.5,
|
|
2714
2994
|
alignItems: "flex-start",
|
|
2715
2995
|
minHeight: "20px",
|
|
2996
|
+
onMouseOver: () => onHover == null ? void 0 : onHover(event2),
|
|
2716
2997
|
onClick: (e) => {
|
|
2717
2998
|
e.stopPropagation();
|
|
2718
2999
|
onClick == null ? void 0 : onClick(event2);
|
|
@@ -2725,7 +3006,7 @@ var CalendarEventCard = ({ event: event2, color, sx, onClick }) => {
|
|
|
2725
3006
|
cursor: onClick ? "pointer" : "default"
|
|
2726
3007
|
}, sx)
|
|
2727
3008
|
},
|
|
2728
|
-
/* @__PURE__ */
|
|
3009
|
+
/* @__PURE__ */ import_react25.default.createElement(
|
|
2729
3010
|
import_material18.Divider,
|
|
2730
3011
|
{
|
|
2731
3012
|
orientation: "vertical",
|
|
@@ -2737,7 +3018,7 @@ var CalendarEventCard = ({ event: event2, color, sx, onClick }) => {
|
|
|
2737
3018
|
}
|
|
2738
3019
|
}
|
|
2739
3020
|
),
|
|
2740
|
-
/* @__PURE__ */
|
|
3021
|
+
/* @__PURE__ */ import_react25.default.createElement(
|
|
2741
3022
|
import_material18.Box,
|
|
2742
3023
|
{
|
|
2743
3024
|
px: 1,
|
|
@@ -2747,7 +3028,7 @@ var CalendarEventCard = ({ event: event2, color, sx, onClick }) => {
|
|
|
2747
3028
|
display: "flex",
|
|
2748
3029
|
alignItems: "center"
|
|
2749
3030
|
},
|
|
2750
|
-
/* @__PURE__ */
|
|
3031
|
+
/* @__PURE__ */ import_react25.default.createElement(
|
|
2751
3032
|
import_material18.Typography,
|
|
2752
3033
|
{
|
|
2753
3034
|
color: "text.primary",
|
|
@@ -2757,29 +3038,62 @@ var CalendarEventCard = ({ event: event2, color, sx, onClick }) => {
|
|
|
2757
3038
|
overflow: "hidden",
|
|
2758
3039
|
textOverflow: "ellipsis",
|
|
2759
3040
|
whiteSpace: "nowrap"
|
|
2760
|
-
}
|
|
3041
|
+
},
|
|
3042
|
+
onMouseEnter: handlePopoverOpen,
|
|
3043
|
+
onMouseLeave: handlePopoverClose
|
|
2761
3044
|
},
|
|
2762
|
-
|
|
3045
|
+
event2.title.charAt(0).toUpperCase() + event2.title.slice(1).toLowerCase()
|
|
3046
|
+
),
|
|
3047
|
+
/* @__PURE__ */ import_react25.default.createElement(
|
|
3048
|
+
import_material18.Popover,
|
|
3049
|
+
{
|
|
3050
|
+
id: "mouse-over-popover",
|
|
3051
|
+
sx: { pointerEvents: "none" },
|
|
3052
|
+
open,
|
|
3053
|
+
anchorEl,
|
|
3054
|
+
anchorOrigin: {
|
|
3055
|
+
vertical: "top",
|
|
3056
|
+
horizontal: "right"
|
|
3057
|
+
},
|
|
3058
|
+
transformOrigin: {
|
|
3059
|
+
vertical: "bottom",
|
|
3060
|
+
horizontal: "right"
|
|
3061
|
+
},
|
|
3062
|
+
onClose: handlePopoverClose,
|
|
3063
|
+
disableRestoreFocus: true
|
|
3064
|
+
},
|
|
3065
|
+
onHover ? onHover(event2) : " "
|
|
2763
3066
|
)
|
|
2764
3067
|
)
|
|
2765
3068
|
);
|
|
2766
3069
|
};
|
|
2767
3070
|
|
|
3071
|
+
// src/assets/Icon Scheduler.svg
|
|
3072
|
+
var Icon_Scheduler_default = "./Icon Scheduler-WX62PISD.svg";
|
|
3073
|
+
|
|
2768
3074
|
// src/Components/Calendario/Views/MonthView.tsx
|
|
2769
3075
|
import_dayjs4.default.extend(import_localeData.default);
|
|
2770
3076
|
import_dayjs4.default.extend(import_isBetween.default);
|
|
2771
|
-
var MonthView = ({ events, onDayClick, onMoreClick, currentDate, onEventClick }) => {
|
|
3077
|
+
var MonthView = ({ events, isLoading, onDayClick, onMoreClick, currentDate, onEventClick, onEventHover }) => {
|
|
3078
|
+
const noEvents = events.length === 0;
|
|
2772
3079
|
const days = getMonthDays(currentDate);
|
|
2773
3080
|
const weekDays = Array.from({ length: 7 }, (_, i) => (0, import_dayjs4.default)().day(i));
|
|
2774
|
-
const [openDrawer, setOpenDrawer] =
|
|
2775
|
-
const [selectedDay, setSelectedDay] =
|
|
2776
|
-
const [selectedEvents, setSelectedEvents] =
|
|
2777
|
-
return /* @__PURE__ */
|
|
3081
|
+
const [openDrawer, setOpenDrawer] = import_react26.default.useState(false);
|
|
3082
|
+
const [selectedDay, setSelectedDay] = import_react26.default.useState(null);
|
|
3083
|
+
const [selectedEvents, setSelectedEvents] = import_react26.default.useState([]);
|
|
3084
|
+
return /* @__PURE__ */ import_react26.default.createElement(import_material19.Box, { width: "100%", sx: { overflowX: "auto" } }, /* @__PURE__ */ import_react26.default.createElement(import_material19.Box, { minWidth: "1050px" }, /* @__PURE__ */ import_react26.default.createElement(import_material19.Box, { display: "grid", gridTemplateColumns: "repeat(7, minmax(150px, 1fr))", gap: 0.5, mb: 1 }, weekDays.map((day) => /* @__PURE__ */ import_react26.default.createElement(import_material19.Box, { key: day.day(), textAlign: "center", py: 0.5 }, /* @__PURE__ */ import_react26.default.createElement(import_material19.Typography, { variant: "caption", color: "text.secondary" }, day.format("dddd"))))), isLoading ? /* @__PURE__ */ import_react26.default.createElement(import_material19.Box, { display: "flex", alignItems: "center", justifyContent: "center", width: "100%", height: "450px" }, /* @__PURE__ */ import_react26.default.createElement(import_material19.CircularProgress, { sx: { width: "60px", height: "60px" }, variant: "indeterminate" })) : !isLoading && noEvents ? /* @__PURE__ */ import_react26.default.createElement(
|
|
3085
|
+
EmptyState,
|
|
3086
|
+
{
|
|
3087
|
+
title: "Inicia la gesti\xF3n de las actividades",
|
|
3088
|
+
subtitle: "Selecciona un mec\xE1nico y as\xEDgnale las actividades a realizar.",
|
|
3089
|
+
icon: /* @__PURE__ */ import_react26.default.createElement("img", { src: Icon_Scheduler_default, alt: "icon_calendario", style: { width: 60, height: 60 } })
|
|
3090
|
+
}
|
|
3091
|
+
) : /* @__PURE__ */ import_react26.default.createElement(import_material19.Box, { display: "grid", gridTemplateColumns: "repeat(7, minmax(150px, 1fr))", gap: 0.5 }, days.map((day) => {
|
|
2778
3092
|
const dayEvents = events.filter(
|
|
2779
3093
|
(e) => day.isBetween(e.start.startOf("day"), e.end.endOf("day"), null, "[]")
|
|
2780
3094
|
);
|
|
2781
3095
|
const isCurrentMonth = day.month() === currentDate.month();
|
|
2782
|
-
return /* @__PURE__ */
|
|
3096
|
+
return /* @__PURE__ */ import_react26.default.createElement(
|
|
2783
3097
|
import_material19.Paper,
|
|
2784
3098
|
{
|
|
2785
3099
|
key: day.toString(),
|
|
@@ -2796,7 +3110,7 @@ var MonthView = ({ events, onDayClick, onMoreClick, currentDate, onEventClick })
|
|
|
2796
3110
|
overflow: "hidden"
|
|
2797
3111
|
}
|
|
2798
3112
|
},
|
|
2799
|
-
/* @__PURE__ */
|
|
3113
|
+
/* @__PURE__ */ import_react26.default.createElement(import_material19.Box, { p: 1, flexShrink: 0 }, /* @__PURE__ */ import_react26.default.createElement(import_material19.Box, { display: "flex", alignItems: "center", justifyContent: "flex-start" }, /* @__PURE__ */ import_react26.default.createElement(
|
|
2800
3114
|
import_material19.Box,
|
|
2801
3115
|
{
|
|
2802
3116
|
sx: {
|
|
@@ -2809,7 +3123,7 @@ var MonthView = ({ events, onDayClick, onMoreClick, currentDate, onEventClick })
|
|
|
2809
3123
|
justifyContent: "center"
|
|
2810
3124
|
}
|
|
2811
3125
|
},
|
|
2812
|
-
/* @__PURE__ */
|
|
3126
|
+
/* @__PURE__ */ import_react26.default.createElement(
|
|
2813
3127
|
import_material19.Typography,
|
|
2814
3128
|
{
|
|
2815
3129
|
variant: "body2",
|
|
@@ -2817,7 +3131,7 @@ var MonthView = ({ events, onDayClick, onMoreClick, currentDate, onEventClick })
|
|
|
2817
3131
|
},
|
|
2818
3132
|
day.date()
|
|
2819
3133
|
)
|
|
2820
|
-
), dayEvents.length > 2 && /* @__PURE__ */
|
|
3134
|
+
), dayEvents.length > 2 && /* @__PURE__ */ import_react26.default.createElement(import_material19.Tooltip, { title: "M\xE1s eventos" }, /* @__PURE__ */ import_react26.default.createElement(
|
|
2821
3135
|
import_material19.IconButton,
|
|
2822
3136
|
{
|
|
2823
3137
|
color: "primary",
|
|
@@ -2829,18 +3143,19 @@ var MonthView = ({ events, onDayClick, onMoreClick, currentDate, onEventClick })
|
|
|
2829
3143
|
setSelectedEvents(dayEvents);
|
|
2830
3144
|
}
|
|
2831
3145
|
},
|
|
2832
|
-
/* @__PURE__ */
|
|
3146
|
+
/* @__PURE__ */ import_react26.default.createElement(import_Add.default, { fontSize: "small" })
|
|
2833
3147
|
)))),
|
|
2834
|
-
/* @__PURE__ */
|
|
3148
|
+
/* @__PURE__ */ import_react26.default.createElement(import_material19.Box, { display: "flex", flexDirection: "column", gap: 0.5, p: 1, pt: 0, overflow: "hidden" }, dayEvents.slice(0, 2).map((event2) => /* @__PURE__ */ import_react26.default.createElement(
|
|
2835
3149
|
CalendarEventCard,
|
|
2836
3150
|
{
|
|
2837
3151
|
key: `${event2.id}-${day.toString()}`,
|
|
2838
3152
|
event: event2,
|
|
2839
3153
|
color: stateColors[event2.state],
|
|
2840
|
-
onClick: () => onEventClick == null ? void 0 : onEventClick(event2, day)
|
|
3154
|
+
onClick: () => onEventClick == null ? void 0 : onEventClick(event2, day),
|
|
3155
|
+
onHover: onEventHover
|
|
2841
3156
|
}
|
|
2842
3157
|
))),
|
|
2843
|
-
dayEvents.length > 2 && /* @__PURE__ */
|
|
3158
|
+
dayEvents.length > 2 && /* @__PURE__ */ import_react26.default.createElement(import_material19.Stack, { justifyContent: "flex-end", px: 1, pb: 0.5, onClick: (e) => e.stopPropagation() }, /* @__PURE__ */ import_react26.default.createElement(
|
|
2844
3159
|
SCDrawer,
|
|
2845
3160
|
{
|
|
2846
3161
|
width: "350px",
|
|
@@ -2852,7 +3167,7 @@ var MonthView = ({ events, onDayClick, onMoreClick, currentDate, onEventClick })
|
|
|
2852
3167
|
arrayElements: [{
|
|
2853
3168
|
component: (() => {
|
|
2854
3169
|
const [first, ...rest] = dayEvents;
|
|
2855
|
-
return /* @__PURE__ */
|
|
3170
|
+
return /* @__PURE__ */ import_react26.default.createElement(import_material19.Box, { display: "flex", width: "100%", flexDirection: "column", height: "100%", pr: 1.5 }, /* @__PURE__ */ import_react26.default.createElement(import_material19.Typography, { width: "100%", color: "text.secondary" }, " Proximo evento "), first && /* @__PURE__ */ import_react26.default.createElement(import_material19.Box, { p: 1, pb: 1, width: "100%" }, /* @__PURE__ */ import_react26.default.createElement(
|
|
2856
3171
|
CalendarEventCard,
|
|
2857
3172
|
{
|
|
2858
3173
|
event: first,
|
|
@@ -2867,7 +3182,7 @@ var MonthView = ({ events, onDayClick, onMoreClick, currentDate, onEventClick })
|
|
|
2867
3182
|
}
|
|
2868
3183
|
}
|
|
2869
3184
|
}
|
|
2870
|
-
)), /* @__PURE__ */
|
|
3185
|
+
)), /* @__PURE__ */ import_react26.default.createElement(import_material19.Divider, { flexItem: true, sx: { width: "100%" } }), /* @__PURE__ */ import_react26.default.createElement(import_material19.Typography, { width: "100%", py: 1, color: "text.secondary" }, " Eventos restantes "), /* @__PURE__ */ import_react26.default.createElement(
|
|
2871
3186
|
import_material19.Box,
|
|
2872
3187
|
{
|
|
2873
3188
|
width: "100%",
|
|
@@ -2880,13 +3195,14 @@ var MonthView = ({ events, onDayClick, onMoreClick, currentDate, onEventClick })
|
|
|
2880
3195
|
flexDirection: "column",
|
|
2881
3196
|
gap: 1.5
|
|
2882
3197
|
},
|
|
2883
|
-
rest.map((event2) => /* @__PURE__ */
|
|
3198
|
+
rest.map((event2) => /* @__PURE__ */ import_react26.default.createElement(
|
|
2884
3199
|
CalendarEventCard,
|
|
2885
3200
|
{
|
|
2886
3201
|
key: `${event2.id}-${day.toString()}`,
|
|
2887
3202
|
event: event2,
|
|
2888
3203
|
color: stateColors[event2.state],
|
|
2889
3204
|
onClick: () => onEventClick == null ? void 0 : onEventClick(event2, day),
|
|
3205
|
+
onHover: onEventHover,
|
|
2890
3206
|
sx: {
|
|
2891
3207
|
whiteSpace: "normal",
|
|
2892
3208
|
"& .MuiTypography-root": {
|
|
@@ -2907,15 +3223,26 @@ var MonthView = ({ events, onDayClick, onMoreClick, currentDate, onEventClick })
|
|
|
2907
3223
|
};
|
|
2908
3224
|
|
|
2909
3225
|
// src/Components/Calendario/Views/WeekView.tsx
|
|
2910
|
-
var
|
|
3226
|
+
var import_react27 = __toESM(require("react"), 1);
|
|
2911
3227
|
var import_material20 = require("@mui/material");
|
|
2912
3228
|
var import_dayjs5 = __toESM(require("dayjs"), 1);
|
|
2913
3229
|
var import_localeData2 = __toESM(require("dayjs/plugin/localeData"), 1);
|
|
2914
3230
|
import_dayjs5.default.extend(import_localeData2.default);
|
|
2915
|
-
var WeekView = ({
|
|
3231
|
+
var WeekView = ({
|
|
3232
|
+
events,
|
|
3233
|
+
currentDate,
|
|
3234
|
+
isLoading,
|
|
3235
|
+
onDayClick,
|
|
3236
|
+
onEventClick,
|
|
3237
|
+
onEventHover,
|
|
3238
|
+
startHour = 0,
|
|
3239
|
+
endHour = 23
|
|
3240
|
+
}) => {
|
|
3241
|
+
const noEvents = events.length === 0;
|
|
3242
|
+
const todayString = (0, import_dayjs5.default)().format("YYYY-MM-DD");
|
|
2916
3243
|
const startOfWeek2 = currentDate.startOf("week");
|
|
2917
3244
|
const days = Array.from({ length: 7 }, (_, i) => startOfWeek2.add(i, "day"));
|
|
2918
|
-
const
|
|
3245
|
+
const hours = Array.from({ length: endHour - startHour + 1 }, (_, i) => startHour + i);
|
|
2919
3246
|
const getCellBorderType = (cellHour, dayEvents) => {
|
|
2920
3247
|
for (const event2 of dayEvents) {
|
|
2921
3248
|
const start = event2.start.hour() + event2.start.minute() / 60;
|
|
@@ -2923,8 +3250,7 @@ var WeekView = ({ events, currentDate, onDayClick, onEventClick }) => {
|
|
|
2923
3250
|
const cellStart = cellHour;
|
|
2924
3251
|
const cellEnd = cellHour + 1;
|
|
2925
3252
|
if (cellEnd > start && cellStart < end) {
|
|
2926
|
-
if (Math.abs(cellStart - start) < 0.01 && Math.abs(cellEnd - end) < 0.01)
|
|
2927
|
-
return "full";
|
|
3253
|
+
if (Math.abs(cellStart - start) < 0.01 && Math.abs(cellEnd - end) < 0.01) return "full";
|
|
2928
3254
|
if (Math.abs(cellStart - start) < 0.01) return "start";
|
|
2929
3255
|
if (Math.abs(cellEnd - end) < 0.01) return "end";
|
|
2930
3256
|
return "middle";
|
|
@@ -2932,92 +3258,122 @@ var WeekView = ({ events, currentDate, onDayClick, onEventClick }) => {
|
|
|
2932
3258
|
}
|
|
2933
3259
|
return "none";
|
|
2934
3260
|
};
|
|
2935
|
-
return /* @__PURE__ */
|
|
2936
|
-
|
|
2937
|
-
|
|
2938
|
-
key: day.toString(),
|
|
2939
|
-
height: 40,
|
|
2940
|
-
flex: 1,
|
|
2941
|
-
pl: 0.5,
|
|
2942
|
-
textAlign: "center",
|
|
2943
|
-
display: "flex",
|
|
2944
|
-
flexDirection: "column",
|
|
2945
|
-
justifyContent: "center",
|
|
2946
|
-
alignItems: "flex-start"
|
|
2947
|
-
},
|
|
2948
|
-
/* @__PURE__ */ import_react26.default.createElement(import_material20.Typography, { variant: "caption", color: "text.secondary" }, day.format("dddd"))
|
|
2949
|
-
))), /* @__PURE__ */ import_react26.default.createElement(import_material20.Box, { display: "flex", flex: 1 }, /* @__PURE__ */ import_react26.default.createElement(import_material20.Box, { width: 45, bgcolor: "background.default" }, hours2.map((h) => /* @__PURE__ */ import_react26.default.createElement(
|
|
2950
|
-
import_material20.Box,
|
|
2951
|
-
{
|
|
2952
|
-
key: h,
|
|
2953
|
-
height: 60,
|
|
2954
|
-
textAlign: "right",
|
|
2955
|
-
pr: 1,
|
|
2956
|
-
borderTop: "1px solid",
|
|
2957
|
-
borderColor: "divider"
|
|
2958
|
-
},
|
|
2959
|
-
/* @__PURE__ */ import_react26.default.createElement(import_material20.Typography, { variant: "caption", color: "text.secondary" }, (0, import_dayjs5.default)().hour(h).format("h A"))
|
|
2960
|
-
))), days.map((day) => {
|
|
2961
|
-
const dayEvents = events.filter(
|
|
2962
|
-
(event2) => day.isBetween(event2.start.startOf("day"), event2.end.endOf("day"), null, "[]")
|
|
2963
|
-
);
|
|
2964
|
-
return /* @__PURE__ */ import_react26.default.createElement(
|
|
3261
|
+
return /* @__PURE__ */ import_react27.default.createElement(import_material20.Box, { display: "flex", flexDirection: "column", height: "100%" }, /* @__PURE__ */ import_react27.default.createElement(import_material20.Box, { display: "flex", bgcolor: "transparent" }, /* @__PURE__ */ import_react27.default.createElement(import_material20.Box, { width: 45, bgcolor: "transparent" }), days.map((day) => {
|
|
3262
|
+
const isToday2 = day.format("YYYY-MM-DD") === todayString;
|
|
3263
|
+
return /* @__PURE__ */ import_react27.default.createElement(
|
|
2965
3264
|
import_material20.Box,
|
|
2966
3265
|
{
|
|
2967
3266
|
key: day.toString(),
|
|
3267
|
+
height: 40,
|
|
2968
3268
|
flex: 1,
|
|
2969
|
-
|
|
2970
|
-
|
|
2971
|
-
|
|
2972
|
-
|
|
2973
|
-
|
|
3269
|
+
pl: 0.5,
|
|
3270
|
+
textAlign: "center",
|
|
3271
|
+
display: "flex",
|
|
3272
|
+
flexDirection: "column",
|
|
3273
|
+
justifyContent: "center",
|
|
3274
|
+
alignItems: "flex-start",
|
|
3275
|
+
bgcolor: isToday2 ? "primary.100" : "transparent",
|
|
3276
|
+
borderRadius: isToday2 ? "6px 6px 0 0" : "0",
|
|
3277
|
+
borderBottom: isToday2 ? 2 : 0,
|
|
3278
|
+
borderColor: isToday2 ? "primary.main" : "transparent"
|
|
2974
3279
|
},
|
|
2975
|
-
|
|
2976
|
-
|
|
2977
|
-
return /* @__PURE__ */ import_react26.default.createElement(
|
|
2978
|
-
import_material20.Box,
|
|
2979
|
-
{
|
|
2980
|
-
key: hourIdx,
|
|
2981
|
-
height: 60,
|
|
2982
|
-
borderTop: "1px solid",
|
|
2983
|
-
borderColor: borderType === "start" || borderType === "full" || borderType === "none" ? "divider" : "transparent",
|
|
2984
|
-
borderBottom: borderType === "end" || borderType === "full" ? "1px solid divider" : void 0
|
|
2985
|
-
}
|
|
2986
|
-
);
|
|
2987
|
-
}),
|
|
2988
|
-
dayEvents.map((event2) => {
|
|
2989
|
-
const eventStart = day.isSame(event2.start, "day") ? event2.start : day.startOf("day").hour(0).minute(0);
|
|
2990
|
-
const eventEnd = day.isSame(event2.end, "day") ? event2.end : day.endOf("day").hour(23).minute(59);
|
|
2991
|
-
const startMinutes = eventStart.hour() * 60 + eventStart.minute();
|
|
2992
|
-
const durationMinutes = eventEnd.diff(eventStart, "minute");
|
|
2993
|
-
return /* @__PURE__ */ import_react26.default.createElement(
|
|
2994
|
-
CalendarEventCard,
|
|
2995
|
-
{
|
|
2996
|
-
key: `${event2.id}-${day.toString()}`,
|
|
2997
|
-
event: event2,
|
|
2998
|
-
color: stateColors[event2.state],
|
|
2999
|
-
onClick: () => onEventClick == null ? void 0 : onEventClick(event2, day),
|
|
3000
|
-
sx: {
|
|
3001
|
-
position: "absolute",
|
|
3002
|
-
top: `${startMinutes + 15}px`,
|
|
3003
|
-
left: 4,
|
|
3004
|
-
right: 4,
|
|
3005
|
-
cursor: "pointer",
|
|
3006
|
-
height: "auto"
|
|
3007
|
-
}
|
|
3008
|
-
}
|
|
3009
|
-
);
|
|
3010
|
-
})
|
|
3280
|
+
/* @__PURE__ */ import_react27.default.createElement(import_material20.Typography, { variant: "h6", color: "text.primary" }, day.format("D")),
|
|
3281
|
+
/* @__PURE__ */ import_react27.default.createElement(import_material20.Typography, { variant: "caption", color: "text.secondary" }, day.format("dddd"))
|
|
3011
3282
|
);
|
|
3012
|
-
})))
|
|
3283
|
+
})), isLoading ? /* @__PURE__ */ import_react27.default.createElement(import_material20.Box, { display: "flex", alignItems: "center", justifyContent: "center", width: "100%", height: "450px" }, /* @__PURE__ */ import_react27.default.createElement(import_material20.CircularProgress, { sx: { width: "60px", height: "60px" }, variant: "indeterminate" })) : !isLoading && noEvents ? /* @__PURE__ */ import_react27.default.createElement(
|
|
3284
|
+
EmptyState,
|
|
3285
|
+
{
|
|
3286
|
+
title: "Inicia la gesti\xF3n de las actividades",
|
|
3287
|
+
subtitle: "Selecciona un mec\xE1nico y as\xEDgnale las actividades a realizar.",
|
|
3288
|
+
icon: /* @__PURE__ */ import_react27.default.createElement("img", { src: Icon_Scheduler_default, alt: "icon_calendario", style: { width: 60, height: 60 } })
|
|
3289
|
+
}
|
|
3290
|
+
) : (
|
|
3291
|
+
// Grid de horas y eventos
|
|
3292
|
+
/* @__PURE__ */ import_react27.default.createElement(import_material20.Box, { display: "flex", flex: 1 }, /* @__PURE__ */ import_react27.default.createElement(import_material20.Box, { width: 45, bgcolor: "transparent" }, hours.map((h) => /* @__PURE__ */ import_react27.default.createElement(
|
|
3293
|
+
import_material20.Box,
|
|
3294
|
+
{
|
|
3295
|
+
key: h,
|
|
3296
|
+
height: 60,
|
|
3297
|
+
textAlign: "right",
|
|
3298
|
+
pr: 1,
|
|
3299
|
+
borderColor: "divider"
|
|
3300
|
+
},
|
|
3301
|
+
/* @__PURE__ */ import_react27.default.createElement(import_material20.Typography, { variant: "caption", color: "text.secondary" }, (0, import_dayjs5.default)().hour(h).format("h A"))
|
|
3302
|
+
))), days.map((day) => {
|
|
3303
|
+
const dayEvents = events.filter(
|
|
3304
|
+
(event2) => day.isBetween(event2.start.startOf("day"), event2.end.endOf("day"), null, "[]")
|
|
3305
|
+
).filter((event2) => {
|
|
3306
|
+
const startsInRange = event2.start.hour() >= startHour && event2.start.hour() <= endHour;
|
|
3307
|
+
const endsInRange = event2.end.hour() >= startHour && event2.end.hour() <= endHour;
|
|
3308
|
+
return startsInRange || endsInRange;
|
|
3309
|
+
}).sort((a, b) => a.start.valueOf() - b.start.valueOf());
|
|
3310
|
+
return /* @__PURE__ */ import_react27.default.createElement(
|
|
3311
|
+
import_material20.Box,
|
|
3312
|
+
{
|
|
3313
|
+
key: day.toString(),
|
|
3314
|
+
flex: 1,
|
|
3315
|
+
borderLeft: "1px solid",
|
|
3316
|
+
borderColor: "divider",
|
|
3317
|
+
position: "relative",
|
|
3318
|
+
"data-testid": `week-day-column-${day.format("YYYY-MM-DD")}`,
|
|
3319
|
+
onClick: () => onDayClick == null ? void 0 : onDayClick(day)
|
|
3320
|
+
},
|
|
3321
|
+
hours.map((hourIdx) => {
|
|
3322
|
+
const borderType = getCellBorderType(hourIdx, dayEvents);
|
|
3323
|
+
return /* @__PURE__ */ import_react27.default.createElement(
|
|
3324
|
+
import_material20.Box,
|
|
3325
|
+
{
|
|
3326
|
+
key: hourIdx,
|
|
3327
|
+
height: 60,
|
|
3328
|
+
borderTop: "1px solid",
|
|
3329
|
+
borderColor: borderType === "start" || borderType === "full" || borderType === "none" ? "divider" : "transparent",
|
|
3330
|
+
borderBottom: borderType === "end" || borderType === "full" ? "1px solid divider" : void 0
|
|
3331
|
+
}
|
|
3332
|
+
);
|
|
3333
|
+
}),
|
|
3334
|
+
dayEvents.map((event2) => {
|
|
3335
|
+
const eventStart = day.isSame(event2.start, "day") ? event2.start : day.startOf("day").hour(startHour).minute(0);
|
|
3336
|
+
const eventEnd = day.isSame(event2.end, "day") ? event2.end : day.endOf("day").hour(endHour).minute(59);
|
|
3337
|
+
const startMinutes = (eventStart.hour() - startHour) * 60 + eventStart.minute();
|
|
3338
|
+
const durationMinutes = eventEnd.diff(eventStart, "minute");
|
|
3339
|
+
return /* @__PURE__ */ import_react27.default.createElement(
|
|
3340
|
+
CalendarEventCard,
|
|
3341
|
+
{
|
|
3342
|
+
key: `${event2.id}-${day.toString()}`,
|
|
3343
|
+
event: event2,
|
|
3344
|
+
color: stateColors[event2.state],
|
|
3345
|
+
onClick: () => onEventClick == null ? void 0 : onEventClick(event2, day),
|
|
3346
|
+
onHover: onEventHover,
|
|
3347
|
+
sx: {
|
|
3348
|
+
position: "absolute",
|
|
3349
|
+
top: `${startMinutes}px`,
|
|
3350
|
+
left: 4,
|
|
3351
|
+
right: 4,
|
|
3352
|
+
cursor: "pointer",
|
|
3353
|
+
height: `${durationMinutes}px`
|
|
3354
|
+
}
|
|
3355
|
+
}
|
|
3356
|
+
);
|
|
3357
|
+
})
|
|
3358
|
+
);
|
|
3359
|
+
}))
|
|
3360
|
+
));
|
|
3013
3361
|
};
|
|
3014
3362
|
|
|
3015
3363
|
// src/Components/Calendario/Views/DayView.tsx
|
|
3016
|
-
var
|
|
3364
|
+
var import_react28 = __toESM(require("react"), 1);
|
|
3017
3365
|
var import_material21 = require("@mui/material");
|
|
3018
3366
|
var import_dayjs6 = __toESM(require("dayjs"), 1);
|
|
3019
|
-
var
|
|
3020
|
-
|
|
3367
|
+
var DayView = ({
|
|
3368
|
+
events,
|
|
3369
|
+
currentDate,
|
|
3370
|
+
isLoading,
|
|
3371
|
+
onEventClick,
|
|
3372
|
+
onEventHover,
|
|
3373
|
+
startHour = 0,
|
|
3374
|
+
endHour = 24
|
|
3375
|
+
}) => {
|
|
3376
|
+
const hours = Array.from({ length: endHour - startHour }, (_, i) => startHour + i);
|
|
3021
3377
|
const getCellBorderType = (cellHour, dayEvents2) => {
|
|
3022
3378
|
for (const event2 of dayEvents2) {
|
|
3023
3379
|
const start = event2.start.hour() + event2.start.minute() / 60;
|
|
@@ -3025,8 +3381,7 @@ var DayView = ({ events, currentDate, onEventClick }) => {
|
|
|
3025
3381
|
const cellStart = cellHour;
|
|
3026
3382
|
const cellEnd = cellHour + 1;
|
|
3027
3383
|
if (cellEnd > start && cellStart < end) {
|
|
3028
|
-
if (Math.abs(cellStart - start) < 0.01 && Math.abs(cellEnd - end) < 0.01)
|
|
3029
|
-
return "full";
|
|
3384
|
+
if (Math.abs(cellStart - start) < 0.01 && Math.abs(cellEnd - end) < 0.01) return "full";
|
|
3030
3385
|
if (Math.abs(cellStart - start) < 0.01) return "start";
|
|
3031
3386
|
if (Math.abs(cellEnd - end) < 0.01) return "end";
|
|
3032
3387
|
return "middle";
|
|
@@ -3037,20 +3392,15 @@ var DayView = ({ events, currentDate, onEventClick }) => {
|
|
|
3037
3392
|
const dayEvents = events.filter(
|
|
3038
3393
|
(event2) => currentDate.isBetween(event2.start.startOf("day"), event2.end.endOf("day"), null, "[]")
|
|
3039
3394
|
);
|
|
3040
|
-
|
|
3041
|
-
|
|
3395
|
+
const noEvents = events.length === 0;
|
|
3396
|
+
return /* @__PURE__ */ import_react28.default.createElement(import_material21.Box, { display: "flex", flexDirection: "column", height: "100%" }, /* @__PURE__ */ import_react28.default.createElement(import_material21.Box, { display: "flex", borderBottom: "1px solid", borderColor: "primary.main", bgcolor: "background.paper" }, /* @__PURE__ */ import_react28.default.createElement(import_material21.Box, { width: 47, bgcolor: "background.default", borderBottom: "1px solid", borderColor: "transparent" }), /* @__PURE__ */ import_react28.default.createElement(import_material21.Box, { flex: 1, display: "flex", flexDirection: "column", textAlign: "start", gap: 0.5, py: 1, bgcolor: "primary.50" }, /* @__PURE__ */ import_react28.default.createElement(import_material21.Typography, { variant: "h6", color: "text.secondary" }, currentDate.format("D")), /* @__PURE__ */ import_react28.default.createElement(import_material21.Typography, { variant: "caption", color: "text.secondary" }, currentDate.format("dddd")))), isLoading ? /* @__PURE__ */ import_react28.default.createElement(import_material21.Box, { display: "flex", alignItems: "center", justifyContent: "center", width: "100%", height: "450px" }, /* @__PURE__ */ import_react28.default.createElement(import_material21.CircularProgress, { sx: { width: "60px", height: "60px" }, variant: "indeterminate" })) : noEvents ? /* @__PURE__ */ import_react28.default.createElement(
|
|
3397
|
+
EmptyState,
|
|
3042
3398
|
{
|
|
3043
|
-
|
|
3044
|
-
|
|
3045
|
-
|
|
3046
|
-
|
|
3047
|
-
|
|
3048
|
-
py: 1,
|
|
3049
|
-
bgcolor: "primary.50"
|
|
3050
|
-
},
|
|
3051
|
-
/* @__PURE__ */ import_react27.default.createElement(import_material21.Typography, { variant: "h6", color: "text.secondary" }, currentDate.format("D")),
|
|
3052
|
-
/* @__PURE__ */ import_react27.default.createElement(import_material21.Typography, { variant: "caption", color: "text.secondary" }, currentDate.format("dddd"))
|
|
3053
|
-
)), /* @__PURE__ */ import_react27.default.createElement(import_material21.Box, { display: "flex", flex: 1 }, /* @__PURE__ */ import_react27.default.createElement(import_material21.Box, { width: 47, bgcolor: "background.default" }, hours.map((h) => /* @__PURE__ */ import_react27.default.createElement(
|
|
3399
|
+
title: "Inicia la gesti\xF3n de las actividades",
|
|
3400
|
+
subtitle: "Selecciona un mec\xE1nico y as\xEDgnale las actividades a realizar.",
|
|
3401
|
+
icon: /* @__PURE__ */ import_react28.default.createElement("img", { src: Icon_Scheduler_default, alt: "icon_calendario", style: { width: 60, height: 60 } })
|
|
3402
|
+
}
|
|
3403
|
+
) : /* @__PURE__ */ import_react28.default.createElement(import_material21.Box, { display: "flex", flex: 1 }, /* @__PURE__ */ import_react28.default.createElement(import_material21.Box, { width: 47, bgcolor: "background.default" }, hours.map((h) => /* @__PURE__ */ import_react28.default.createElement(
|
|
3054
3404
|
import_material21.Box,
|
|
3055
3405
|
{
|
|
3056
3406
|
key: h,
|
|
@@ -3061,10 +3411,10 @@ var DayView = ({ events, currentDate, onEventClick }) => {
|
|
|
3061
3411
|
borderRight: "1px solid",
|
|
3062
3412
|
borderColor: "divider"
|
|
3063
3413
|
},
|
|
3064
|
-
/* @__PURE__ */
|
|
3065
|
-
))), /* @__PURE__ */
|
|
3414
|
+
/* @__PURE__ */ import_react28.default.createElement(import_material21.Typography, { variant: "caption", color: "text.secondary" }, (0, import_dayjs6.default)().hour(h).format("h A"))
|
|
3415
|
+
))), /* @__PURE__ */ import_react28.default.createElement(import_material21.Box, { flex: 1, position: "relative" }, hours.map((hourIdx) => {
|
|
3066
3416
|
const borderType = getCellBorderType(hourIdx, dayEvents);
|
|
3067
|
-
return /* @__PURE__ */
|
|
3417
|
+
return /* @__PURE__ */ import_react28.default.createElement(
|
|
3068
3418
|
import_material21.Box,
|
|
3069
3419
|
{
|
|
3070
3420
|
key: hourIdx,
|
|
@@ -3075,20 +3425,26 @@ var DayView = ({ events, currentDate, onEventClick }) => {
|
|
|
3075
3425
|
}
|
|
3076
3426
|
);
|
|
3077
3427
|
}), dayEvents.map((event2) => {
|
|
3078
|
-
const eventStart = currentDate.isSame(event2.start, "day") ? event2.start : currentDate.startOf("day")
|
|
3079
|
-
const eventEnd = currentDate.isSame(event2.end, "day") ? event2.end : currentDate.endOf("day")
|
|
3080
|
-
const
|
|
3081
|
-
const
|
|
3082
|
-
|
|
3428
|
+
const eventStart = currentDate.isSame(event2.start, "day") ? event2.start : currentDate.startOf("day");
|
|
3429
|
+
const eventEnd = currentDate.isSame(event2.end, "day") ? event2.end : currentDate.endOf("day");
|
|
3430
|
+
const minStart = currentDate.hour(startHour).minute(0);
|
|
3431
|
+
const maxEnd = currentDate.hour(endHour).minute(0);
|
|
3432
|
+
const clampedStart = eventStart.isBefore(minStart) ? minStart : eventStart;
|
|
3433
|
+
const clampedEnd = eventEnd.isAfter(maxEnd) ? maxEnd : eventEnd;
|
|
3434
|
+
const startMinutes = (clampedStart.hour() - startHour) * 60 + clampedStart.minute();
|
|
3435
|
+
const durationMinutes = clampedEnd.diff(clampedStart, "minute");
|
|
3436
|
+
return /* @__PURE__ */ import_react28.default.createElement(
|
|
3083
3437
|
CalendarEventCard,
|
|
3084
3438
|
{
|
|
3085
3439
|
key: `${event2.id}-${currentDate.toString()}`,
|
|
3086
3440
|
event: event2,
|
|
3087
3441
|
color: stateColors[event2.state],
|
|
3088
|
-
onClick: () => onEventClick == null ? void 0 : onEventClick(event2),
|
|
3442
|
+
onClick: () => onEventClick == null ? void 0 : onEventClick(event2, currentDate),
|
|
3443
|
+
onHover: onEventHover,
|
|
3089
3444
|
sx: {
|
|
3090
3445
|
position: "absolute",
|
|
3091
|
-
top: `${startMinutes
|
|
3446
|
+
top: `${startMinutes}px`,
|
|
3447
|
+
height: `${durationMinutes}px`,
|
|
3092
3448
|
left: 4,
|
|
3093
3449
|
right: 4
|
|
3094
3450
|
}
|
|
@@ -3098,17 +3454,23 @@ var DayView = ({ events, currentDate, onEventClick }) => {
|
|
|
3098
3454
|
};
|
|
3099
3455
|
|
|
3100
3456
|
// src/Components/Calendario/Calendar.tsx
|
|
3457
|
+
var import_dayjs7 = __toESM(require("dayjs"), 1);
|
|
3101
3458
|
var Calendar = ({
|
|
3102
3459
|
events,
|
|
3103
3460
|
onDayClick,
|
|
3104
3461
|
onMoreClick,
|
|
3105
3462
|
onEventClick,
|
|
3463
|
+
onEventHover,
|
|
3106
3464
|
view: initialView = "month",
|
|
3107
3465
|
onViewChange,
|
|
3108
|
-
toolbar
|
|
3466
|
+
toolbar,
|
|
3467
|
+
isLoading = false,
|
|
3468
|
+
startHour = 0,
|
|
3469
|
+
// <- valor por defecto
|
|
3470
|
+
endHour = 23
|
|
3109
3471
|
}) => {
|
|
3110
|
-
const [view, setView] = (0,
|
|
3111
|
-
const [currentDate, setCurrentDate] = (0,
|
|
3472
|
+
const [view, setView] = (0, import_react29.useState)(initialView);
|
|
3473
|
+
const [currentDate, setCurrentDate] = (0, import_react29.useState)((0, import_dayjs7.default)());
|
|
3112
3474
|
const handleViewChange = (newView) => {
|
|
3113
3475
|
setView(newView);
|
|
3114
3476
|
onViewChange == null ? void 0 : onViewChange(newView);
|
|
@@ -3116,12 +3478,18 @@ var Calendar = ({
|
|
|
3116
3478
|
const handleNavigate = (action) => {
|
|
3117
3479
|
let newDate = currentDate;
|
|
3118
3480
|
const unit = view === "month" ? "month" : "day";
|
|
3119
|
-
if (action === "PREV")
|
|
3120
|
-
|
|
3121
|
-
|
|
3481
|
+
if (action === "PREV") {
|
|
3482
|
+
if (view === "day") newDate = currentDate.subtract(1, "day");
|
|
3483
|
+
if (view === "week") newDate = currentDate.subtract(1, "week");
|
|
3484
|
+
if (view === "month") newDate = currentDate.subtract(1, "month");
|
|
3485
|
+
} else if (action === "NEXT") {
|
|
3486
|
+
if (view === "day") newDate = currentDate.add(1, "day");
|
|
3487
|
+
if (view === "week") newDate = currentDate.add(1, "week");
|
|
3488
|
+
if (view === "month") newDate = currentDate.add(1, "month");
|
|
3489
|
+
} else if (action === "TODAY") newDate = (0, import_dayjs7.default)();
|
|
3122
3490
|
setCurrentDate(newDate);
|
|
3123
3491
|
};
|
|
3124
|
-
return /* @__PURE__ */
|
|
3492
|
+
return /* @__PURE__ */ import_react29.default.createElement(import_material22.Box, null, /* @__PURE__ */ import_react29.default.createElement(
|
|
3125
3493
|
CalendarToolbar,
|
|
3126
3494
|
{
|
|
3127
3495
|
labelDate: currentDate,
|
|
@@ -3130,39 +3498,280 @@ var Calendar = ({
|
|
|
3130
3498
|
onNavigate: handleNavigate
|
|
3131
3499
|
},
|
|
3132
3500
|
toolbar
|
|
3133
|
-
),
|
|
3501
|
+
), isLoading ? /* @__PURE__ */ import_react29.default.createElement(import_react29.default.Fragment, null, /* @__PURE__ */ import_react29.default.createElement(import_material22.Box, null, /* @__PURE__ */ import_react29.default.createElement(
|
|
3502
|
+
import_material22.Box,
|
|
3503
|
+
{
|
|
3504
|
+
display: "flex",
|
|
3505
|
+
justifyContent: "center",
|
|
3506
|
+
alignItems: "center",
|
|
3507
|
+
height: "400px"
|
|
3508
|
+
},
|
|
3509
|
+
/* @__PURE__ */ import_react29.default.createElement(import_material22.CircularProgress, { variant: "indeterminate" })
|
|
3510
|
+
))) : /* @__PURE__ */ import_react29.default.createElement(import_react29.default.Fragment, null, view === "month" && /* @__PURE__ */ import_react29.default.createElement(
|
|
3134
3511
|
MonthView,
|
|
3135
3512
|
{
|
|
3136
3513
|
events,
|
|
3514
|
+
currentDate,
|
|
3137
3515
|
onDayClick,
|
|
3138
3516
|
onMoreClick,
|
|
3139
3517
|
onEventClick,
|
|
3140
|
-
|
|
3518
|
+
onEventHover
|
|
3141
3519
|
}
|
|
3142
|
-
), view === "week" && /* @__PURE__ */
|
|
3520
|
+
), view === "week" && /* @__PURE__ */ import_react29.default.createElement(
|
|
3143
3521
|
WeekView,
|
|
3144
3522
|
{
|
|
3145
3523
|
events,
|
|
3146
3524
|
currentDate,
|
|
3147
3525
|
onDayClick,
|
|
3148
3526
|
onMoreClick,
|
|
3149
|
-
onEventClick
|
|
3527
|
+
onEventClick,
|
|
3528
|
+
onEventHover,
|
|
3529
|
+
startHour,
|
|
3530
|
+
endHour
|
|
3150
3531
|
}
|
|
3151
|
-
), view === "day" && /* @__PURE__ */
|
|
3532
|
+
), view === "day" && /* @__PURE__ */ import_react29.default.createElement(
|
|
3152
3533
|
DayView,
|
|
3153
3534
|
{
|
|
3154
3535
|
events,
|
|
3155
3536
|
currentDate,
|
|
3156
|
-
onEventClick
|
|
3537
|
+
onEventClick,
|
|
3538
|
+
onEventHover,
|
|
3539
|
+
startHour,
|
|
3540
|
+
endHour
|
|
3157
3541
|
}
|
|
3158
|
-
));
|
|
3542
|
+
)));
|
|
3543
|
+
};
|
|
3544
|
+
|
|
3545
|
+
// src/Components/SCTime.tsx
|
|
3546
|
+
var import_react30 = __toESM(require("react"), 1);
|
|
3547
|
+
var import_material23 = require("@mui/material");
|
|
3548
|
+
var import_LocalizationProvider3 = require("@mui/x-date-pickers/LocalizationProvider");
|
|
3549
|
+
var import_AdapterDayjs2 = require("@mui/x-date-pickers/AdapterDayjs");
|
|
3550
|
+
var import_dayjs8 = __toESM(require("dayjs"), 1);
|
|
3551
|
+
var import_es3 = require("dayjs/locale/es");
|
|
3552
|
+
var import_x_license_pro3 = require("@mui/x-license-pro");
|
|
3553
|
+
var import_AccessTime = __toESM(require("@mui/icons-material/AccessTime"), 1);
|
|
3554
|
+
var import_TimeField = require("@mui/x-date-pickers/TimeField");
|
|
3555
|
+
var import_DigitalClock = require("@mui/x-date-pickers/DigitalClock");
|
|
3556
|
+
var SCTime = ({
|
|
3557
|
+
label = "Hora",
|
|
3558
|
+
required = false,
|
|
3559
|
+
disabled = false,
|
|
3560
|
+
background = "transparent",
|
|
3561
|
+
timeStep = 5,
|
|
3562
|
+
state,
|
|
3563
|
+
setState
|
|
3564
|
+
}) => {
|
|
3565
|
+
import_x_license_pro3.LicenseInfo.setLicenseKey(
|
|
3566
|
+
"77d49a57fbc5f4af35ddb05c5f1742e0Tz0xMTI3MjgsRT0xNzc4MzcxMTk5MDAwLFM9cHJvLExNPXN1YnNjcmlwdGlvbixQVj1RMy0yMDI0LEtWPTI="
|
|
3567
|
+
);
|
|
3568
|
+
const isTimeEmpty = required && !state;
|
|
3569
|
+
const hasError = isTimeEmpty;
|
|
3570
|
+
const [anchorEl, setAnchorEl] = (0, import_react30.useState)(null);
|
|
3571
|
+
const [isOpenPopover, setIsOpenPopover] = (0, import_react30.useState)(false);
|
|
3572
|
+
const [popoverPlacement, setPopoverPlacement] = (0, import_react30.useState)("bottom");
|
|
3573
|
+
const detectPlacement = (element) => {
|
|
3574
|
+
const rect = element.getBoundingClientRect();
|
|
3575
|
+
const windowHeight = window.innerHeight;
|
|
3576
|
+
const spaceBelow = windowHeight - rect.bottom;
|
|
3577
|
+
const spaceAbove = rect.top;
|
|
3578
|
+
const popoverHeight = 300;
|
|
3579
|
+
if (spaceBelow < popoverHeight && spaceAbove > spaceBelow) {
|
|
3580
|
+
setPopoverPlacement("top");
|
|
3581
|
+
} else {
|
|
3582
|
+
setPopoverPlacement("bottom");
|
|
3583
|
+
}
|
|
3584
|
+
};
|
|
3585
|
+
const handleTimeFieldClick = (event2) => {
|
|
3586
|
+
if (!disabled) {
|
|
3587
|
+
const target = event2.currentTarget;
|
|
3588
|
+
setAnchorEl(target);
|
|
3589
|
+
detectPlacement(target);
|
|
3590
|
+
setIsOpenPopover(true);
|
|
3591
|
+
}
|
|
3592
|
+
};
|
|
3593
|
+
const handleTimeChange = (newValue) => {
|
|
3594
|
+
const dayjsValue = newValue ? (0, import_dayjs8.default)(newValue) : null;
|
|
3595
|
+
setState(dayjsValue);
|
|
3596
|
+
setIsOpenPopover(false);
|
|
3597
|
+
setAnchorEl(null);
|
|
3598
|
+
};
|
|
3599
|
+
const handleClose = () => {
|
|
3600
|
+
setIsOpenPopover(false);
|
|
3601
|
+
setAnchorEl(null);
|
|
3602
|
+
};
|
|
3603
|
+
return /* @__PURE__ */ import_react30.default.createElement(import_LocalizationProvider3.LocalizationProvider, { dateAdapter: import_AdapterDayjs2.AdapterDayjs }, /* @__PURE__ */ import_react30.default.createElement(import_material23.Box, { sx: { position: "relative", width: "120px" } }, /* @__PURE__ */ import_react30.default.createElement(
|
|
3604
|
+
import_TimeField.TimeField,
|
|
3605
|
+
{
|
|
3606
|
+
label,
|
|
3607
|
+
value: state,
|
|
3608
|
+
disabled,
|
|
3609
|
+
required,
|
|
3610
|
+
error: hasError,
|
|
3611
|
+
onClick: handleTimeFieldClick,
|
|
3612
|
+
slotProps: {
|
|
3613
|
+
textField: {
|
|
3614
|
+
InputProps: {
|
|
3615
|
+
endAdornment: /* @__PURE__ */ import_react30.default.createElement(import_material23.InputAdornment, { position: "end" }, /* @__PURE__ */ import_react30.default.createElement(
|
|
3616
|
+
import_AccessTime.default,
|
|
3617
|
+
{
|
|
3618
|
+
color: disabled ? "disabled" : "action",
|
|
3619
|
+
sx: { cursor: disabled ? "default" : "pointer" },
|
|
3620
|
+
fontSize: "small"
|
|
3621
|
+
}
|
|
3622
|
+
)),
|
|
3623
|
+
sx: {
|
|
3624
|
+
backgroundColor: background,
|
|
3625
|
+
padding: "8px 12px",
|
|
3626
|
+
cursor: disabled ? "default" : "pointer",
|
|
3627
|
+
"& input": {
|
|
3628
|
+
cursor: disabled ? "default" : "pointer"
|
|
3629
|
+
}
|
|
3630
|
+
}
|
|
3631
|
+
}
|
|
3632
|
+
}
|
|
3633
|
+
},
|
|
3634
|
+
sx: {
|
|
3635
|
+
width: "100%",
|
|
3636
|
+
"& .MuiInputBase-input": {
|
|
3637
|
+
cursor: disabled ? "default" : "pointer"
|
|
3638
|
+
},
|
|
3639
|
+
"& .MuiPickersSectionList-root": {
|
|
3640
|
+
padding: "0px !important"
|
|
3641
|
+
}
|
|
3642
|
+
}
|
|
3643
|
+
}
|
|
3644
|
+
), /* @__PURE__ */ import_react30.default.createElement(
|
|
3645
|
+
import_material23.Popover,
|
|
3646
|
+
{
|
|
3647
|
+
open: isOpenPopover,
|
|
3648
|
+
anchorEl,
|
|
3649
|
+
onClose: handleClose,
|
|
3650
|
+
anchorOrigin: {
|
|
3651
|
+
vertical: popoverPlacement === "top" ? "top" : "bottom",
|
|
3652
|
+
horizontal: "left"
|
|
3653
|
+
},
|
|
3654
|
+
transformOrigin: {
|
|
3655
|
+
vertical: popoverPlacement === "top" ? "bottom" : "top",
|
|
3656
|
+
horizontal: "left"
|
|
3657
|
+
},
|
|
3658
|
+
marginThreshold: 0,
|
|
3659
|
+
disableScrollLock: true,
|
|
3660
|
+
slotProps: {
|
|
3661
|
+
paper: {
|
|
3662
|
+
sx: {
|
|
3663
|
+
boxShadow: "0px 4px 20px rgba(0, 0, 0, 0.1)",
|
|
3664
|
+
borderRadius: 1,
|
|
3665
|
+
border: "1px solid #e0e0e0",
|
|
3666
|
+
maxHeight: "300px",
|
|
3667
|
+
overflow: "visible"
|
|
3668
|
+
}
|
|
3669
|
+
}
|
|
3670
|
+
}
|
|
3671
|
+
},
|
|
3672
|
+
/* @__PURE__ */ import_react30.default.createElement(import_material23.ClickAwayListener, { onClickAway: handleClose }, /* @__PURE__ */ import_react30.default.createElement(import_material23.Box, { sx: { p: 0 } }, /* @__PURE__ */ import_react30.default.createElement(
|
|
3673
|
+
import_DigitalClock.DigitalClock,
|
|
3674
|
+
{
|
|
3675
|
+
value: state,
|
|
3676
|
+
onChange: handleTimeChange,
|
|
3677
|
+
timeStep,
|
|
3678
|
+
sx: {
|
|
3679
|
+
"& .MuiList-root": {
|
|
3680
|
+
maxHeight: "250px",
|
|
3681
|
+
overflow: "auto"
|
|
3682
|
+
},
|
|
3683
|
+
"& .MuiMenuItem-root": {
|
|
3684
|
+
fontSize: "0.875rem",
|
|
3685
|
+
py: 0.5
|
|
3686
|
+
}
|
|
3687
|
+
}
|
|
3688
|
+
}
|
|
3689
|
+
)))
|
|
3690
|
+
)));
|
|
3691
|
+
};
|
|
3692
|
+
|
|
3693
|
+
// src/Components/SCCard.tsx
|
|
3694
|
+
var import_react31 = __toESM(require("react"), 1);
|
|
3695
|
+
var import_material24 = require("@mui/material");
|
|
3696
|
+
var import_IconButton = __toESM(require("@mui/material/IconButton"), 1);
|
|
3697
|
+
var import_Card = __toESM(require("@mui/material/Card"), 1);
|
|
3698
|
+
var import_CardHeader = __toESM(require("@mui/material/CardHeader"), 1);
|
|
3699
|
+
var import_CardMedia = __toESM(require("@mui/material/CardMedia"), 1);
|
|
3700
|
+
var import_CardContent = __toESM(require("@mui/material/CardContent"), 1);
|
|
3701
|
+
var import_CardActions = __toESM(require("@mui/material/CardActions"), 1);
|
|
3702
|
+
var import_Collapse = __toESM(require("@mui/material/Collapse"), 1);
|
|
3703
|
+
var import_ExpandMore = __toESM(require("@mui/icons-material/ExpandMore"), 1);
|
|
3704
|
+
var Muicon8 = __toESM(require("@mui/icons-material"), 1);
|
|
3705
|
+
var SCCard = ({ title, image, iconTitle, actionsTitle, subtitle, content, actions, expand }) => {
|
|
3706
|
+
let iconTitleValidation = "";
|
|
3707
|
+
let IconTitle;
|
|
3708
|
+
const [expanded, setExpanded] = import_react31.default.useState(false);
|
|
3709
|
+
if (iconTitle) {
|
|
3710
|
+
if (Muicon8[iconTitle] == void 0) {
|
|
3711
|
+
if (iconTitle && import_react31.default.isValidElement(iconTitle) && iconTitle.type == void 0) {
|
|
3712
|
+
iconTitleValidation = "image";
|
|
3713
|
+
IconTitle = iconTitle;
|
|
3714
|
+
} else {
|
|
3715
|
+
iconTitleValidation = "icon";
|
|
3716
|
+
IconTitle = iconTitle;
|
|
3717
|
+
}
|
|
3718
|
+
} else {
|
|
3719
|
+
iconTitleValidation = "icon";
|
|
3720
|
+
IconTitle = Muicon8[iconTitle];
|
|
3721
|
+
}
|
|
3722
|
+
}
|
|
3723
|
+
const handleExpandClick = () => {
|
|
3724
|
+
setExpanded(!expanded);
|
|
3725
|
+
};
|
|
3726
|
+
return /* @__PURE__ */ import_react31.default.createElement(import_Card.default, { sx: { maxWidth: 345 } }, title && /* @__PURE__ */ import_react31.default.createElement(
|
|
3727
|
+
import_CardHeader.default,
|
|
3728
|
+
{
|
|
3729
|
+
avatar: iconTitle ? iconTitleValidation === "image" ? /* @__PURE__ */ import_react31.default.createElement(import_material24.Box, { sx: { marginRight: "16px", width: "44px", height: "44px", borderRadius: "1px" } }, /* @__PURE__ */ import_react31.default.createElement("img", { src: IconTitle, width: "44px", height: "44px" })) : /* @__PURE__ */ import_react31.default.createElement(import_material24.SvgIcon, { color: "action", fontSize: "small", component: IconTitle, sx: { marginRight: "16px" } }) : void 0,
|
|
3730
|
+
action: (expand == null ? void 0 : expand.position) == "top" ? (expand == null ? void 0 : expand.type) === "text" ? /* @__PURE__ */ import_react31.default.createElement(import_material24.Button, { onClick: handleExpandClick, sx: { marginRight: "auto" } }, "Expandir") : (expand == null ? void 0 : expand.type) === "icon" && /* @__PURE__ */ import_react31.default.createElement(import_IconButton.default, { onClick: handleExpandClick, sx: { marginRight: "auto" }, size: "small" }, /* @__PURE__ */ import_react31.default.createElement(import_ExpandMore.default, { fontSize: "small" })) : actionsTitle,
|
|
3731
|
+
title,
|
|
3732
|
+
subheader: subtitle,
|
|
3733
|
+
sx: {
|
|
3734
|
+
"& .MuiCardHeader-title": {
|
|
3735
|
+
fontSize: "14px",
|
|
3736
|
+
color: "text.primary"
|
|
3737
|
+
},
|
|
3738
|
+
"& .MuiCardHeader-subheader": {
|
|
3739
|
+
fontSize: "13px",
|
|
3740
|
+
color: "text.secondary"
|
|
3741
|
+
},
|
|
3742
|
+
"& .MuiCardHeader-action": {
|
|
3743
|
+
height: "40px !important",
|
|
3744
|
+
display: "flex",
|
|
3745
|
+
alignItems: "center"
|
|
3746
|
+
}
|
|
3747
|
+
}
|
|
3748
|
+
}
|
|
3749
|
+
), image && /* @__PURE__ */ import_react31.default.createElement(
|
|
3750
|
+
import_CardMedia.default,
|
|
3751
|
+
{
|
|
3752
|
+
component: "img",
|
|
3753
|
+
height: "194",
|
|
3754
|
+
image
|
|
3755
|
+
}
|
|
3756
|
+
), content && /* @__PURE__ */ import_react31.default.createElement(import_CardContent.default, { sx: { padding: "8px 16px !important" } }, content), ((expand == null ? void 0 : expand.position) == "bottom" || actions != void 0) && /* @__PURE__ */ import_react31.default.createElement(import_CardActions.default, { disableSpacing: true, sx: { justifyContent: "flex-end" } }, (expand == null ? void 0 : expand.position) === "bottom" ? (expand == null ? void 0 : expand.type) === "text" ? /* @__PURE__ */ import_react31.default.createElement(import_material24.Button, { onClick: handleExpandClick, sx: { marginRight: "auto" } }, "Expandir") : (expand == null ? void 0 : expand.type) === "icon" && /* @__PURE__ */ import_react31.default.createElement(import_IconButton.default, { onClick: handleExpandClick, sx: { marginRight: "auto" } }, /* @__PURE__ */ import_react31.default.createElement(import_ExpandMore.default, null)) : null, actions && actions.length > 0 ? actions.map((action, index) => /* @__PURE__ */ import_react31.default.createElement(
|
|
3757
|
+
import_material24.Button,
|
|
3758
|
+
{
|
|
3759
|
+
key: index,
|
|
3760
|
+
size: "small",
|
|
3761
|
+
color: action.color || "primary",
|
|
3762
|
+
variant: action.variant || "text",
|
|
3763
|
+
onClick: action.fn,
|
|
3764
|
+
disabled: action.disabled || false
|
|
3765
|
+
},
|
|
3766
|
+
action.text
|
|
3767
|
+
)) : ""), expand && /* @__PURE__ */ import_react31.default.createElement(import_Collapse.default, { in: expanded, timeout: "auto", unmountOnExit: true }, /* @__PURE__ */ import_react31.default.createElement(import_CardContent.default, { sx: { padding: "8px 16px !important" } }, expand.content)));
|
|
3159
3768
|
};
|
|
3160
3769
|
|
|
3161
3770
|
// src/Theme/index.ts
|
|
3162
3771
|
var import_styles3 = require("@mui/material/styles");
|
|
3163
3772
|
|
|
3164
3773
|
// src/Theme/components.ts
|
|
3165
|
-
var
|
|
3774
|
+
var import_react32 = __toESM(require("react"), 1);
|
|
3166
3775
|
var import_icons_material11 = require("@mui/icons-material");
|
|
3167
3776
|
var components = {
|
|
3168
3777
|
MuiSelect: {
|
|
@@ -3860,10 +4469,10 @@ var components = {
|
|
|
3860
4469
|
MuiAlert: {
|
|
3861
4470
|
defaultProps: {
|
|
3862
4471
|
iconMapping: {
|
|
3863
|
-
success:
|
|
3864
|
-
error:
|
|
3865
|
-
warning:
|
|
3866
|
-
info:
|
|
4472
|
+
success: import_react32.default.createElement(import_icons_material11.CheckCircleRounded),
|
|
4473
|
+
error: import_react32.default.createElement(import_icons_material11.ErrorRounded),
|
|
4474
|
+
warning: import_react32.default.createElement(import_icons_material11.WarningRounded),
|
|
4475
|
+
info: import_react32.default.createElement(import_icons_material11.InfoRounded)
|
|
3867
4476
|
}
|
|
3868
4477
|
},
|
|
3869
4478
|
variants: [
|
|
@@ -4912,6 +5521,7 @@ var ADCSincoTheme = (0, import_styles3.createTheme)(__spreadValues({}, ADCTheme)
|
|
|
4912
5521
|
PageHeader,
|
|
4913
5522
|
SCAutocomplete,
|
|
4914
5523
|
SCCalendarSwipeable,
|
|
5524
|
+
SCCard,
|
|
4915
5525
|
SCDataGrid,
|
|
4916
5526
|
SCDataGridInitial,
|
|
4917
5527
|
SCDateRange,
|
|
@@ -4923,6 +5533,7 @@ var ADCSincoTheme = (0, import_styles3.createTheme)(__spreadValues({}, ADCTheme)
|
|
|
4923
5533
|
SCTabs,
|
|
4924
5534
|
SCTextArea,
|
|
4925
5535
|
SCTextField,
|
|
5536
|
+
SCTime,
|
|
4926
5537
|
SCToastNotification,
|
|
4927
5538
|
SincoTheme,
|
|
4928
5539
|
ToastProgress,
|