componentes-sinco 1.0.25 → 1.0.27
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +358 -175
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +29 -1
- package/dist/index.d.ts +29 -1
- package/dist/index.js +355 -174
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -723,7 +723,7 @@ var Attachment = ({
|
|
|
723
723
|
setToast({
|
|
724
724
|
title: "Error al eliminar archivo",
|
|
725
725
|
type: "error",
|
|
726
|
-
time:
|
|
726
|
+
time: 2
|
|
727
727
|
});
|
|
728
728
|
} finally {
|
|
729
729
|
setFileToDelete(null);
|
|
@@ -765,13 +765,13 @@ function getIconValidation(name) {
|
|
|
765
765
|
}
|
|
766
766
|
|
|
767
767
|
// src/Components/Textfield/Helpers/validateKeyDown.tsx
|
|
768
|
-
function validateKeyDown(event2,
|
|
768
|
+
function validateKeyDown(event2, format3) {
|
|
769
769
|
const key = event2.key;
|
|
770
770
|
const target = event2.target;
|
|
771
|
-
if (
|
|
771
|
+
if (format3 === "int" && !/^[0-9]$/.test(key)) {
|
|
772
772
|
event2.preventDefault();
|
|
773
773
|
}
|
|
774
|
-
if (
|
|
774
|
+
if (format3 === "decimal" && (target.value === "" && key === "." || key === "-" || key === "+")) {
|
|
775
775
|
event2.preventDefault();
|
|
776
776
|
}
|
|
777
777
|
if (target.type === "text") {
|
|
@@ -810,7 +810,7 @@ var SCTextField = ({
|
|
|
810
810
|
maxLength,
|
|
811
811
|
//Apariencia
|
|
812
812
|
variant = "outlined",
|
|
813
|
-
format:
|
|
813
|
+
format: format3,
|
|
814
814
|
disabled,
|
|
815
815
|
required,
|
|
816
816
|
size,
|
|
@@ -864,7 +864,7 @@ var SCTextField = ({
|
|
|
864
864
|
event2.preventDefault();
|
|
865
865
|
};
|
|
866
866
|
const handleKeyDown = (event2) => {
|
|
867
|
-
validateKeyDown(event2,
|
|
867
|
+
validateKeyDown(event2, format3);
|
|
868
868
|
if (onKeyDown) onKeyDown(event2);
|
|
869
869
|
};
|
|
870
870
|
const handleInputChange = (event2) => {
|
|
@@ -961,11 +961,11 @@ var SCTextField = ({
|
|
|
961
961
|
onChange: handleInputChange,
|
|
962
962
|
onBlur: handleBlur,
|
|
963
963
|
inputProps: { maxLength: maxLength ? maxLength : 50 },
|
|
964
|
-
type: !showPassword &&
|
|
965
|
-
className:
|
|
964
|
+
type: !showPassword && format3 === "password" ? "password" : (format3 || "text").toUpperCase() === "INT" || (format3 || "text").toUpperCase() === "DECIMAL" ? "number" : "text",
|
|
965
|
+
className: format3 === "password" && !showPassword ? "" : "",
|
|
966
966
|
placeholder,
|
|
967
967
|
startAdornment: iconInputStart ? /* @__PURE__ */ React5.createElement(InputAdornment, { position: "start" }, IconInputStartValidation === "text" ? iconInputStart : IconInputStart ? /* @__PURE__ */ React5.createElement(IconInputStart, { fontSize: "small" }) : null) : "",
|
|
968
|
-
endAdornment: /* @__PURE__ */ React5.createElement(InputAdornment, { position: "end" },
|
|
968
|
+
endAdornment: /* @__PURE__ */ React5.createElement(InputAdornment, { position: "end" }, format3 === "password" ? /* @__PURE__ */ React5.createElement(
|
|
969
969
|
IconButton4,
|
|
970
970
|
{
|
|
971
971
|
"aria-label": "toggle password visibility",
|
|
@@ -1015,11 +1015,11 @@ var SCTextField = ({
|
|
|
1015
1015
|
fontSize: "small"
|
|
1016
1016
|
}
|
|
1017
1017
|
))) : iconInputEnd !== void 0 ? IconInputEndValidation === "text" ? iconInputEnd : IconInputEnd ? /* @__PURE__ */ React5.createElement(IconInputEnd, { fontSize: "small" }) : null : ""),
|
|
1018
|
-
label: label ? label + (
|
|
1019
|
-
autoComplete:
|
|
1018
|
+
label: label ? label + (format3 === "password" && !showPassword ? "" : "") : "",
|
|
1019
|
+
autoComplete: format3 === "password" ? "new-password" : "off"
|
|
1020
1020
|
}
|
|
1021
1021
|
)
|
|
1022
|
-
), (iconInputEnd !== void 0 ||
|
|
1022
|
+
), (iconInputEnd !== void 0 || format3 === "password") && infoElement ? /* @__PURE__ */ React5.createElement(React5.Fragment, null, infoElement.component === "popover" ? /* @__PURE__ */ React5.createElement(React5.Fragment, null, /* @__PURE__ */ React5.createElement(
|
|
1023
1023
|
InfoOutlined,
|
|
1024
1024
|
{
|
|
1025
1025
|
"data-testid": "test-infoElement",
|
|
@@ -2415,11 +2415,7 @@ var SCCalendarSwipeable = ({
|
|
|
2415
2415
|
setOpenCalendar(newOpen);
|
|
2416
2416
|
};
|
|
2417
2417
|
const locale = __spreadValues({}, es);
|
|
2418
|
-
return /* @__PURE__ */ React15.createElement(React15.Fragment, null, /* @__PURE__ */ React15.createElement(LocalizationProvider2, { dateAdapter: AdapterDateFns, adapterLocale: locale }, openCalendar == false ? /* @__PURE__ */ React15.createElement(Box11, { "data-testid": "calendar-mobile", sx: { width: "100%", background: background ? background : "white", display: "flex", flexDirection: "column", alignItems: "center" } }, /* @__PURE__ */ React15.createElement(Box11, { sx: { width: "100%", maxWidth: "320px", background: "transparent" } }, /* @__PURE__ */ React15.createElement(Grid5, { container: true, gap: 0.5, sx: {
|
|
2419
|
-
justifyContent: "space-between",
|
|
2420
|
-
padding: "12px 0px",
|
|
2421
|
-
background: "transparent"
|
|
2422
|
-
} }, diasSemana.map((dia) => /* @__PURE__ */ React15.createElement(Grid5, { sx: { width: "36px" }, key: dia.toString() }, /* @__PURE__ */ React15.createElement(Box11, { sx: { width: "36px", height: "40px", display: "flex", alignItems: "center", justifyContent: "center" } }, /* @__PURE__ */ React15.createElement(Typography12, { sx: { fontSize: "12px !important", color: "#10184099" } }, format(dia, "EEEE", { locale: es }).charAt(0).toUpperCase())), /* @__PURE__ */ React15.createElement(
|
|
2418
|
+
return /* @__PURE__ */ React15.createElement(React15.Fragment, null, /* @__PURE__ */ React15.createElement(LocalizationProvider2, { dateAdapter: AdapterDateFns, adapterLocale: locale }, openCalendar == false ? /* @__PURE__ */ React15.createElement(Box11, { "data-testid": "calendar-mobile", sx: { width: "100%", background: background ? background : "white", display: "flex", flexDirection: "column", alignItems: "center" } }, /* @__PURE__ */ React15.createElement(Box11, { sx: { width: "100%", maxWidth: "320px", background: "transparent" } }, /* @__PURE__ */ React15.createElement(Grid5, { container: true, gap: 0.5, sx: { justifyContent: "space-between", padding: "12px 0px", background: "transparent" } }, diasSemana.map((dia) => /* @__PURE__ */ React15.createElement(Grid5, { sx: { width: "36px" }, key: dia.toString() }, /* @__PURE__ */ React15.createElement(Box11, { sx: { width: "36px", height: "40px", display: "flex", alignItems: "center", justifyContent: "center" } }, /* @__PURE__ */ React15.createElement(Typography12, { sx: { fontSize: "12px !important", color: "#10184099" } }, format(dia, "EEEE", { locale: es }).charAt(0).toUpperCase())), /* @__PURE__ */ React15.createElement(
|
|
2423
2419
|
Box11,
|
|
2424
2420
|
{
|
|
2425
2421
|
onClick: () => setFecha(dia),
|
|
@@ -3000,13 +2996,55 @@ var SCDialog = ({ title, iconTitle, subtitle, content, actions, buttonDialog, di
|
|
|
3000
2996
|
)));
|
|
3001
2997
|
};
|
|
3002
2998
|
|
|
3003
|
-
// src/Components/
|
|
2999
|
+
// src/Components/SCListContent.tsx
|
|
3004
3000
|
import React23 from "react";
|
|
3005
|
-
import {
|
|
3001
|
+
import { Divider as Divider4, List, ListItemButton, ListItemIcon as ListItemIcon4, ListItemText as ListItemText3, SvgIcon as SvgIcon6 } from "@mui/material";
|
|
3006
3002
|
import Grid7 from "@mui/material/Grid2";
|
|
3003
|
+
import * as Muicon6 from "@mui/icons-material";
|
|
3004
|
+
var SCListContent = ({ options }) => {
|
|
3005
|
+
const [selectedIndex, setSelectedIndex] = React23.useState("1");
|
|
3006
|
+
const [value, setValue] = React23.useState("1");
|
|
3007
|
+
options.map(function(option, index, array) {
|
|
3008
|
+
if (option == null ? void 0 : option.iconLeft) {
|
|
3009
|
+
if ((option == null ? void 0 : option.iconLeft.type) == void 0) {
|
|
3010
|
+
option.iconLeft = Muicon6[option == null ? void 0 : option.iconLeft];
|
|
3011
|
+
} else {
|
|
3012
|
+
option;
|
|
3013
|
+
}
|
|
3014
|
+
}
|
|
3015
|
+
if (option == null ? void 0 : option.iconRight) {
|
|
3016
|
+
if ((option == null ? void 0 : option.iconRight.type) == void 0) {
|
|
3017
|
+
option.iconRight = Muicon6[option == null ? void 0 : option.iconRight];
|
|
3018
|
+
} else {
|
|
3019
|
+
option;
|
|
3020
|
+
}
|
|
3021
|
+
}
|
|
3022
|
+
});
|
|
3023
|
+
return /* @__PURE__ */ React23.createElement(React23.Fragment, null, /* @__PURE__ */ React23.createElement(List, { sx: { width: "100%", maxWidth: 360, bgcolor: "background.paper", padding: "0px !important" } }, options.map((option, index) => /* @__PURE__ */ React23.createElement(React23.Fragment, { key: index }, /* @__PURE__ */ React23.createElement(
|
|
3024
|
+
ListItemButton,
|
|
3025
|
+
{
|
|
3026
|
+
disabled: option.disable,
|
|
3027
|
+
onClick: option.fn
|
|
3028
|
+
},
|
|
3029
|
+
option.iconLeft ? /* @__PURE__ */ React23.createElement(ListItemIcon4, { sx: { minWidth: "30px !important" } }, /* @__PURE__ */ React23.createElement(SvgIcon6, { fontSize: "small", color: option.iconLeftColor || "action", component: option.iconLeft })) : "",
|
|
3030
|
+
/* @__PURE__ */ React23.createElement(
|
|
3031
|
+
ListItemText3,
|
|
3032
|
+
{
|
|
3033
|
+
primary: option.title,
|
|
3034
|
+
secondary: /* @__PURE__ */ React23.createElement(Grid7, { gap: 0.5 }, /* @__PURE__ */ React23.createElement(Grid7, { container: true, gap: 0.5 }, option.subtitle), /* @__PURE__ */ React23.createElement(Grid7, { container: true, gap: 0.5 }, option.description))
|
|
3035
|
+
}
|
|
3036
|
+
),
|
|
3037
|
+
option.iconRight ? /* @__PURE__ */ React23.createElement(ListItemIcon4, { sx: { minWidth: "0px !important" } }, /* @__PURE__ */ React23.createElement(SvgIcon6, { fontSize: "small", color: option.iconRightColor || "action", component: option.iconRight })) : ""
|
|
3038
|
+
), option.divider == true ? /* @__PURE__ */ React23.createElement(Divider4, null) : ""))));
|
|
3039
|
+
};
|
|
3040
|
+
|
|
3041
|
+
// src/Components/SCMenu.tsx
|
|
3042
|
+
import React24 from "react";
|
|
3043
|
+
import { Box as Box14, Typography as Typography16, Paper as Paper2, Divider as Divider5, MenuList as MenuList2, MenuItem as MenuItem5, ListItemIcon as ListItemIcon5, SvgIcon as SvgIcon7 } from "@mui/material";
|
|
3044
|
+
import Grid8 from "@mui/material/Grid2";
|
|
3007
3045
|
|
|
3008
3046
|
// src/Components/Hooks/useWindowDimensions.ts
|
|
3009
|
-
import { useState as
|
|
3047
|
+
import { useState as useState12, useEffect as useEffect16 } from "react";
|
|
3010
3048
|
function getWindowDimensions() {
|
|
3011
3049
|
const { innerWidth: width, innerHeight: height } = window;
|
|
3012
3050
|
return {
|
|
@@ -3015,8 +3053,8 @@ function getWindowDimensions() {
|
|
|
3015
3053
|
};
|
|
3016
3054
|
}
|
|
3017
3055
|
function useWindowDimensions() {
|
|
3018
|
-
const [windowDimensions, setWindowDimensions] =
|
|
3019
|
-
|
|
3056
|
+
const [windowDimensions, setWindowDimensions] = useState12(getWindowDimensions());
|
|
3057
|
+
useEffect16(() => {
|
|
3020
3058
|
function handleResize() {
|
|
3021
3059
|
setWindowDimensions(getWindowDimensions());
|
|
3022
3060
|
}
|
|
@@ -3027,19 +3065,19 @@ function useWindowDimensions() {
|
|
|
3027
3065
|
}
|
|
3028
3066
|
|
|
3029
3067
|
// src/Components/SCMenu.tsx
|
|
3030
|
-
import * as
|
|
3068
|
+
import * as Muicon7 from "@mui/icons-material";
|
|
3031
3069
|
var SCMenu = ({ header, options, defaultOption, disable, widthMenu, heightMenu, widthPage }) => {
|
|
3032
3070
|
const { height, width } = useWindowDimensions();
|
|
3033
3071
|
const menuSize = widthMenu ? parseInt(widthMenu) : 284;
|
|
3034
3072
|
const pageSize = widthPage ? parseInt(widthPage) : width - menuSize;
|
|
3035
3073
|
const widthContainer = menuSize + pageSize;
|
|
3036
3074
|
let heightContainer = heightMenu ? parseInt(heightMenu) : height - 76;
|
|
3037
|
-
const [selectedIndex, setSelectedIndex] =
|
|
3038
|
-
const [value, setValue] =
|
|
3039
|
-
|
|
3075
|
+
const [selectedIndex, setSelectedIndex] = React24.useState("1");
|
|
3076
|
+
const [value, setValue] = React24.useState("1");
|
|
3077
|
+
React24.useEffect(() => {
|
|
3040
3078
|
heightContainer = heightMenu ? parseInt(heightMenu) : height - 76;
|
|
3041
3079
|
}, [height]);
|
|
3042
|
-
|
|
3080
|
+
React24.useEffect(() => {
|
|
3043
3081
|
if (defaultOption) {
|
|
3044
3082
|
handleClickMenusItem(event, void 0);
|
|
3045
3083
|
}
|
|
@@ -3047,14 +3085,14 @@ var SCMenu = ({ header, options, defaultOption, disable, widthMenu, heightMenu,
|
|
|
3047
3085
|
options.map(function(option, index, array) {
|
|
3048
3086
|
if (option == null ? void 0 : option.iconLeft) {
|
|
3049
3087
|
if ((option == null ? void 0 : option.iconLeft.type) == void 0) {
|
|
3050
|
-
option.iconLeft =
|
|
3088
|
+
option.iconLeft = Muicon7[option == null ? void 0 : option.iconLeft];
|
|
3051
3089
|
} else {
|
|
3052
3090
|
option;
|
|
3053
3091
|
}
|
|
3054
3092
|
}
|
|
3055
3093
|
if (option == null ? void 0 : option.iconRight) {
|
|
3056
3094
|
if ((option == null ? void 0 : option.iconRight.type) == void 0) {
|
|
3057
|
-
option.iconRight =
|
|
3095
|
+
option.iconRight = Muicon7[option == null ? void 0 : option.iconRight];
|
|
3058
3096
|
} else {
|
|
3059
3097
|
option;
|
|
3060
3098
|
}
|
|
@@ -3069,34 +3107,34 @@ var SCMenu = ({ header, options, defaultOption, disable, widthMenu, heightMenu,
|
|
|
3069
3107
|
setValue(String(index + 1));
|
|
3070
3108
|
}
|
|
3071
3109
|
};
|
|
3072
|
-
return /* @__PURE__ */
|
|
3073
|
-
|
|
3110
|
+
return /* @__PURE__ */ React24.createElement(React24.Fragment, null, /* @__PURE__ */ React24.createElement(Grid8, { container: true, sx: { height: heightContainer, width: widthContainer, flexDirection: "column" } }, /* @__PURE__ */ React24.createElement(Paper2, { "data-testid": "menu-content", sx: { width: menuSize, height: heightContainer, overflow: "auto" } }, header && header.component, /* @__PURE__ */ React24.createElement(MenuList2, { sx: { height: options.length * 45, padding: "8px 0px" } }, options.map((option, index) => /* @__PURE__ */ React24.createElement(React24.Fragment, null, /* @__PURE__ */ React24.createElement(
|
|
3111
|
+
MenuItem5,
|
|
3074
3112
|
{
|
|
3075
3113
|
disabled: disable == true ? true : false,
|
|
3076
3114
|
key: index,
|
|
3077
3115
|
selected: String(index + 1) === selectedIndex,
|
|
3078
3116
|
onClick: (event2) => handleClickMenusItem(event2, index)
|
|
3079
3117
|
},
|
|
3080
|
-
option.iconLeft ? /* @__PURE__ */
|
|
3081
|
-
/* @__PURE__ */
|
|
3082
|
-
), option.divider == true ? /* @__PURE__ */
|
|
3118
|
+
option.iconLeft ? /* @__PURE__ */ React24.createElement(ListItemIcon5, { sx: { color: String(index + 1) === selectedIndex ? "primary" : "active" } }, /* @__PURE__ */ React24.createElement(SvgIcon7, { fontSize: "small", color: String(index + 1) === selectedIndex ? "primary" : "action", component: option.iconLeft })) : "",
|
|
3119
|
+
/* @__PURE__ */ React24.createElement(Grid8, { container: true, size: 12, sx: { maxWidth: 220, flexWrap: "noWrap", alignItems: "center" } }, /* @__PURE__ */ React24.createElement(Typography16, { noWrap: true, variant: "caption", color: String(index + 1) === selectedIndex ? "primary" : "active" }, option.name), option.iconRight ? /* @__PURE__ */ React24.createElement(ListItemIcon5, { sx: { minWidth: "0px !important", color: String(index + 1) === selectedIndex ? "primary" : "active" } }, /* @__PURE__ */ React24.createElement(SvgIcon7, { fontSize: "small", color: String(index + 1) === selectedIndex ? "primary" : "action", component: option.iconRight })) : "")
|
|
3120
|
+
), option.divider == true ? /* @__PURE__ */ React24.createElement(Divider5, null) : "")))), /* @__PURE__ */ React24.createElement(Grid8, { container: true }, options.map((option, index) => option.page ? String(index + 1) == value ? /* @__PURE__ */ React24.createElement(Box14, { "data-testid": "menu-page-content", sx: { padding: "16px", width: pageSize, height: heightContainer }, key: index }, option.page) : "" : /* @__PURE__ */ React24.createElement(Typography16, { color: "error" }, "No se ha configurado el componente a visualizar")))));
|
|
3083
3121
|
};
|
|
3084
3122
|
|
|
3085
3123
|
// src/Components/SCTabs.tsx
|
|
3086
|
-
import
|
|
3087
|
-
import { Typography as
|
|
3124
|
+
import React25, { useEffect as useEffect17 } from "react";
|
|
3125
|
+
import { Typography as Typography17, Box as Box15, SvgIcon as SvgIcon8, Tab as Tab2, Tabs as Tabs2, Badge } from "@mui/material";
|
|
3088
3126
|
import TabPanel from "@mui/lab/TabPanel";
|
|
3089
3127
|
import TabContext from "@mui/lab/TabContext";
|
|
3090
|
-
import * as
|
|
3128
|
+
import * as Muicon8 from "@mui/icons-material";
|
|
3091
3129
|
var SCTabs = ({ options, defaultOption, typeIcon, background, iconPosition, colorTab, orientation, variant, scrollButtons, children }) => {
|
|
3092
|
-
const [toast, setToast] =
|
|
3130
|
+
const [toast, setToast] = React25.useState(null);
|
|
3093
3131
|
let i = 0;
|
|
3094
3132
|
let j = 0;
|
|
3095
3133
|
let k = 0;
|
|
3096
3134
|
let l = 0;
|
|
3097
3135
|
let validateTypeIcon = true;
|
|
3098
|
-
const [value, setValue] =
|
|
3099
|
-
|
|
3136
|
+
const [value, setValue] = React25.useState("1");
|
|
3137
|
+
useEffect17(() => {
|
|
3100
3138
|
if (defaultOption) {
|
|
3101
3139
|
handleChange(event, void 0);
|
|
3102
3140
|
}
|
|
@@ -3105,9 +3143,9 @@ var SCTabs = ({ options, defaultOption, typeIcon, background, iconPosition, colo
|
|
|
3105
3143
|
const optionsLength = options.length;
|
|
3106
3144
|
if (option == null ? void 0 : option.iconOrBadge) {
|
|
3107
3145
|
if (typeIcon == "icon") {
|
|
3108
|
-
if ((option == null ? void 0 : option.iconOrBadge) in
|
|
3146
|
+
if ((option == null ? void 0 : option.iconOrBadge) in Muicon8 == true) {
|
|
3109
3147
|
validateTypeIcon = true;
|
|
3110
|
-
option.iconOrBadge =
|
|
3148
|
+
option.iconOrBadge = Muicon8[option == null ? void 0 : option.iconOrBadge];
|
|
3111
3149
|
} else {
|
|
3112
3150
|
validateTypeIcon = false;
|
|
3113
3151
|
setTimeout(() => {
|
|
@@ -3121,7 +3159,7 @@ var SCTabs = ({ options, defaultOption, typeIcon, background, iconPosition, colo
|
|
|
3121
3159
|
return;
|
|
3122
3160
|
}
|
|
3123
3161
|
} else if (typeIcon == "badge") {
|
|
3124
|
-
if ((option == null ? void 0 : option.iconOrBadge) in
|
|
3162
|
+
if ((option == null ? void 0 : option.iconOrBadge) in Muicon8 == false) {
|
|
3125
3163
|
validateTypeIcon = true;
|
|
3126
3164
|
option;
|
|
3127
3165
|
} else {
|
|
@@ -3146,8 +3184,8 @@ var SCTabs = ({ options, defaultOption, typeIcon, background, iconPosition, colo
|
|
|
3146
3184
|
setValue(newValue);
|
|
3147
3185
|
}
|
|
3148
3186
|
};
|
|
3149
|
-
return /* @__PURE__ */
|
|
3150
|
-
|
|
3187
|
+
return /* @__PURE__ */ React25.createElement(React25.Fragment, null, validateTypeIcon == true ? /* @__PURE__ */ React25.createElement(Box15, { sx: { height: orientation == "vertical" ? "100%" : "auto", display: "flex", flexDirection: orientation == "vertical" ? "row" : "column" }, id: "tabsitos" }, /* @__PURE__ */ React25.createElement(TabContext, { value }, /* @__PURE__ */ React25.createElement(
|
|
3188
|
+
Tabs2,
|
|
3151
3189
|
{
|
|
3152
3190
|
"data-testid": "tab-container",
|
|
3153
3191
|
value,
|
|
@@ -3160,8 +3198,8 @@ var SCTabs = ({ options, defaultOption, typeIcon, background, iconPosition, colo
|
|
|
3160
3198
|
orientation: orientation || "horizontal",
|
|
3161
3199
|
sx: { borderBottom: orientation == "vertical" ? 0 : 1, borderRight: orientation == "vertical" ? 1 : 0, borderColor: "divider", background: background || "" }
|
|
3162
3200
|
},
|
|
3163
|
-
options.map((option) => /* @__PURE__ */
|
|
3164
|
-
|
|
3201
|
+
options.map((option) => /* @__PURE__ */ React25.createElement(
|
|
3202
|
+
Tab2,
|
|
3165
3203
|
{
|
|
3166
3204
|
"data-testid": "tab-item",
|
|
3167
3205
|
value: String(i = i + 1),
|
|
@@ -3169,7 +3207,7 @@ var SCTabs = ({ options, defaultOption, typeIcon, background, iconPosition, colo
|
|
|
3169
3207
|
label: option.name || "",
|
|
3170
3208
|
disabled: option.disabled || false,
|
|
3171
3209
|
iconPosition: iconPosition || "end",
|
|
3172
|
-
icon: typeIcon == "badge" ? /* @__PURE__ */
|
|
3210
|
+
icon: typeIcon == "badge" ? /* @__PURE__ */ React25.createElement(
|
|
3173
3211
|
Badge,
|
|
3174
3212
|
{
|
|
3175
3213
|
sx: {
|
|
@@ -3184,29 +3222,29 @@ var SCTabs = ({ options, defaultOption, typeIcon, background, iconPosition, colo
|
|
|
3184
3222
|
badgeContent: option.iconOrBadge,
|
|
3185
3223
|
color: value == String(i) ? colorTab ? colorTab : "primary" : "default"
|
|
3186
3224
|
}
|
|
3187
|
-
) : typeIcon == "icon" ? /* @__PURE__ */
|
|
3225
|
+
) : typeIcon == "icon" ? /* @__PURE__ */ React25.createElement(SvgIcon8, { fontSize: "small", component: option.iconOrBadge, color: value == String(i) ? colorTab ? colorTab : "primary" : "action", sx: { width: "20px", height: "20px" } }) : "",
|
|
3188
3226
|
sx: { "& .MuiTab-icon": { margin: "0px !important" }, padding: "10px 16px", gap: "4px" }
|
|
3189
3227
|
}
|
|
3190
3228
|
))
|
|
3191
|
-
), children, options.map((option) => /* @__PURE__ */
|
|
3229
|
+
), children, options.map((option) => /* @__PURE__ */ React25.createElement(
|
|
3192
3230
|
TabPanel,
|
|
3193
3231
|
{
|
|
3194
3232
|
key: k = k + 1,
|
|
3195
3233
|
value: String(l = l + 1),
|
|
3196
3234
|
sx: { padding: "16px" }
|
|
3197
3235
|
},
|
|
3198
|
-
option.page ? option.page : /* @__PURE__ */
|
|
3199
|
-
)))) : /* @__PURE__ */
|
|
3236
|
+
option.page ? option.page : /* @__PURE__ */ React25.createElement(Typography17, null, "No se ha configurado el componente a visualizar ")
|
|
3237
|
+
)))) : /* @__PURE__ */ React25.createElement(Box15, { sx: { height: "200px" } }, toast && /* @__PURE__ */ React25.createElement(SCToastNotification, __spreadValues({ "data-testid": "error-tab-message" }, toast))));
|
|
3200
3238
|
};
|
|
3201
3239
|
|
|
3202
3240
|
// src/Components/Calendario/Calendar.tsx
|
|
3203
|
-
import
|
|
3204
|
-
import { Box as
|
|
3241
|
+
import React32, { useEffect as useEffect18, useState as useState14 } from "react";
|
|
3242
|
+
import { Box as Box21, CircularProgress as CircularProgress5 } from "@mui/material";
|
|
3205
3243
|
|
|
3206
3244
|
// src/Components/Calendario/CalendarToolbar.tsx
|
|
3207
|
-
import
|
|
3245
|
+
import React26, { useState as useState13 } from "react";
|
|
3208
3246
|
import { ChevronLeft, ChevronRight, KeyboardArrowDown as KeyboardArrowDown2, LightModeOutlined } from "@mui/icons-material";
|
|
3209
|
-
import { Box as
|
|
3247
|
+
import { Box as Box16, Chip as Chip4, IconButton as IconButton11, Menu, MenuItem as MenuItem6, Stack as Stack10, Typography as Typography18 } from "@mui/material";
|
|
3210
3248
|
import dayjs2 from "dayjs";
|
|
3211
3249
|
import updateLocale from "dayjs/plugin/updateLocale";
|
|
3212
3250
|
import "dayjs/locale/es";
|
|
@@ -3223,7 +3261,7 @@ var CalendarToolbar = ({
|
|
|
3223
3261
|
onNavigate,
|
|
3224
3262
|
children
|
|
3225
3263
|
}) => {
|
|
3226
|
-
const [anchorEl, setAnchorEl] =
|
|
3264
|
+
const [anchorEl, setAnchorEl] = useState13(null);
|
|
3227
3265
|
const open = Boolean(anchorEl);
|
|
3228
3266
|
const handleMenuOpen = (event2) => {
|
|
3229
3267
|
setAnchorEl(event2.currentTarget);
|
|
@@ -3246,15 +3284,15 @@ var CalendarToolbar = ({
|
|
|
3246
3284
|
}
|
|
3247
3285
|
return labelDate.format(" DD MMMM YYYY");
|
|
3248
3286
|
};
|
|
3249
|
-
return /* @__PURE__ */
|
|
3250
|
-
|
|
3287
|
+
return /* @__PURE__ */ React26.createElement(Stack10, { direction: "row", alignItems: "center", justifyContent: "space-between", gap: 0.5, px: 1, py: 0.5 }, /* @__PURE__ */ React26.createElement(Box16, null, /* @__PURE__ */ React26.createElement(
|
|
3288
|
+
Chip4,
|
|
3251
3289
|
{
|
|
3252
3290
|
label: "Hoy",
|
|
3253
|
-
icon: /* @__PURE__ */
|
|
3291
|
+
icon: /* @__PURE__ */ React26.createElement(LightModeOutlined, { fontSize: "small" }),
|
|
3254
3292
|
color: "primary",
|
|
3255
3293
|
onClick: () => onNavigate("TODAY")
|
|
3256
3294
|
}
|
|
3257
|
-
)), /* @__PURE__ */
|
|
3295
|
+
)), /* @__PURE__ */ React26.createElement(Stack10, { direction: "row", alignItems: "center", gap: 1 }, /* @__PURE__ */ React26.createElement(IconButton11, { "aria-label": "Anterior", onClick: () => onNavigate("PREV"), size: "small", color: "primary" }, /* @__PURE__ */ React26.createElement(ChevronLeft, { fontSize: "small" })), /* @__PURE__ */ React26.createElement(IconButton11, { "aria-label": "Siguiente", onClick: () => onNavigate("NEXT"), size: "small", color: "primary" }, /* @__PURE__ */ React26.createElement(ChevronRight, { fontSize: "small" })), /* @__PURE__ */ React26.createElement(Typography18, { variant: "h6", color: "primary", "data-testid": "currentDate" }, getFormattedDate()), /* @__PURE__ */ React26.createElement(IconButton11, { onClick: handleMenuOpen, size: "small", color: "primary", "aria-label": "Cambiar vista" }, /* @__PURE__ */ React26.createElement(KeyboardArrowDown2, { fontSize: "small" })), /* @__PURE__ */ React26.createElement(
|
|
3258
3296
|
Menu,
|
|
3259
3297
|
{
|
|
3260
3298
|
anchorEl,
|
|
@@ -3263,15 +3301,15 @@ var CalendarToolbar = ({
|
|
|
3263
3301
|
anchorOrigin: { vertical: "bottom", horizontal: "center" },
|
|
3264
3302
|
transformOrigin: { vertical: "top", horizontal: "center" }
|
|
3265
3303
|
},
|
|
3266
|
-
/* @__PURE__ */
|
|
3267
|
-
/* @__PURE__ */
|
|
3268
|
-
/* @__PURE__ */
|
|
3269
|
-
)), children ? /* @__PURE__ */
|
|
3304
|
+
/* @__PURE__ */ React26.createElement(MenuItem6, { onClick: () => handleViewChange("month") }, "Mes"),
|
|
3305
|
+
/* @__PURE__ */ React26.createElement(MenuItem6, { onClick: () => handleViewChange("week") }, "Semana"),
|
|
3306
|
+
/* @__PURE__ */ React26.createElement(MenuItem6, { onClick: () => handleViewChange("day") }, "D\xEDa")
|
|
3307
|
+
)), children ? /* @__PURE__ */ React26.createElement(Box16, null, children) : /* @__PURE__ */ React26.createElement(Box16, { width: "24px" }), " ");
|
|
3270
3308
|
};
|
|
3271
3309
|
|
|
3272
3310
|
// src/Components/Calendario/Views/MonthView.tsx
|
|
3273
|
-
import
|
|
3274
|
-
import { Box as
|
|
3311
|
+
import React29 from "react";
|
|
3312
|
+
import { Box as Box18, Typography as Typography20, IconButton as IconButton12, Paper as Paper3, Tooltip as Tooltip6, Stack as Stack12, Divider as Divider7, CircularProgress as CircularProgress2 } from "@mui/material";
|
|
3275
3313
|
import AddIcon from "@mui/icons-material/Add";
|
|
3276
3314
|
import dayjs4 from "dayjs";
|
|
3277
3315
|
import localeData from "dayjs/plugin/localeData";
|
|
@@ -3303,10 +3341,10 @@ var stateColors = {
|
|
|
3303
3341
|
};
|
|
3304
3342
|
|
|
3305
3343
|
// src/Components/Calendario/Event.tsx
|
|
3306
|
-
import
|
|
3307
|
-
import { Box as
|
|
3344
|
+
import React27 from "react";
|
|
3345
|
+
import { Box as Box17, Stack as Stack11, Typography as Typography19, Divider as Divider6, Popover as Popover5 } from "@mui/material";
|
|
3308
3346
|
var CalendarEventCard = ({ event: event2, color, sx, onClick, onHover }) => {
|
|
3309
|
-
const [anchorEl, setAnchorEl] =
|
|
3347
|
+
const [anchorEl, setAnchorEl] = React27.useState(null);
|
|
3310
3348
|
const handlePopoverOpen = (event3) => {
|
|
3311
3349
|
setAnchorEl(event3.currentTarget);
|
|
3312
3350
|
};
|
|
@@ -3314,8 +3352,8 @@ var CalendarEventCard = ({ event: event2, color, sx, onClick, onHover }) => {
|
|
|
3314
3352
|
setAnchorEl(null);
|
|
3315
3353
|
};
|
|
3316
3354
|
const open = Boolean(anchorEl);
|
|
3317
|
-
return /* @__PURE__ */
|
|
3318
|
-
|
|
3355
|
+
return /* @__PURE__ */ React27.createElement(
|
|
3356
|
+
Stack11,
|
|
3319
3357
|
{
|
|
3320
3358
|
direction: "row",
|
|
3321
3359
|
padding: 0.5,
|
|
@@ -3335,8 +3373,8 @@ var CalendarEventCard = ({ event: event2, color, sx, onClick, onHover }) => {
|
|
|
3335
3373
|
cursor: onClick ? "pointer" : "default"
|
|
3336
3374
|
}, sx)
|
|
3337
3375
|
},
|
|
3338
|
-
/* @__PURE__ */
|
|
3339
|
-
|
|
3376
|
+
/* @__PURE__ */ React27.createElement(
|
|
3377
|
+
Divider6,
|
|
3340
3378
|
{
|
|
3341
3379
|
orientation: "vertical",
|
|
3342
3380
|
flexItem: true,
|
|
@@ -3347,8 +3385,8 @@ var CalendarEventCard = ({ event: event2, color, sx, onClick, onHover }) => {
|
|
|
3347
3385
|
}
|
|
3348
3386
|
}
|
|
3349
3387
|
),
|
|
3350
|
-
/* @__PURE__ */
|
|
3351
|
-
|
|
3388
|
+
/* @__PURE__ */ React27.createElement(
|
|
3389
|
+
Box17,
|
|
3352
3390
|
{
|
|
3353
3391
|
px: 1,
|
|
3354
3392
|
py: 0.5,
|
|
@@ -3357,8 +3395,8 @@ var CalendarEventCard = ({ event: event2, color, sx, onClick, onHover }) => {
|
|
|
3357
3395
|
display: "flex",
|
|
3358
3396
|
alignItems: "center"
|
|
3359
3397
|
},
|
|
3360
|
-
/* @__PURE__ */
|
|
3361
|
-
|
|
3398
|
+
/* @__PURE__ */ React27.createElement(
|
|
3399
|
+
Typography19,
|
|
3362
3400
|
{
|
|
3363
3401
|
color: "text.primary",
|
|
3364
3402
|
variant: "caption",
|
|
@@ -3373,8 +3411,8 @@ var CalendarEventCard = ({ event: event2, color, sx, onClick, onHover }) => {
|
|
|
3373
3411
|
},
|
|
3374
3412
|
event2.title.charAt(0).toUpperCase() + event2.title.slice(1).toLowerCase()
|
|
3375
3413
|
),
|
|
3376
|
-
/* @__PURE__ */
|
|
3377
|
-
|
|
3414
|
+
/* @__PURE__ */ React27.createElement(
|
|
3415
|
+
Popover5,
|
|
3378
3416
|
{
|
|
3379
3417
|
id: "mouse-over-popover",
|
|
3380
3418
|
sx: { pointerEvents: "none" },
|
|
@@ -3398,9 +3436,9 @@ var CalendarEventCard = ({ event: event2, color, sx, onClick, onHover }) => {
|
|
|
3398
3436
|
};
|
|
3399
3437
|
|
|
3400
3438
|
// src/assets/LogoCalendario.tsx
|
|
3401
|
-
import
|
|
3439
|
+
import React28 from "react";
|
|
3402
3440
|
var LogoCalendario = () => {
|
|
3403
|
-
return /* @__PURE__ */
|
|
3441
|
+
return /* @__PURE__ */ React28.createElement("svg", { width: "60", height: "61", viewBox: "0 0 60 61", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, /* @__PURE__ */ React28.createElement("g", { "clip-path": "url(#clip0_5353_24891)" }, /* @__PURE__ */ React28.createElement("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M40.7361 11.1589C39.7792 11.1589 39.0106 11.9722 39.0106 12.9661V15.4375H20.0309V12.9661C20.0309 11.964 19.2545 11.1589 18.3055 11.1589C17.3487 11.1589 16.5801 11.9722 16.5801 12.9661V15.4375H12.8819C12.0652 15.4375 11.4038 16.0918 11.4038 16.8998V20.6551C11.4038 21.463 12.0652 22.1174 12.8819 22.1174H46.8383C47.655 22.1174 48.3165 21.463 48.3165 20.6551V16.8998C48.3165 16.0918 47.655 15.4375 46.8383 15.4375H42.4615V12.9661C42.4615 11.964 41.6851 11.1589 40.7361 11.1589ZM19.4827 19.2049C19.6528 19.1343 19.7361 19.006 19.7724 18.8352C19.6916 18.9714 19.594 19.0957 19.4827 19.2049Z", fill: "#00BCD4" }), /* @__PURE__ */ React28.createElement("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M14.2037 25.8653C13.7579 25.8653 13.425 26.2168 13.425 26.6093V47.3669C13.425 47.7595 13.7579 48.1109 14.2037 48.1109H46.0004C46.4782 48.1109 46.8656 47.7236 46.8656 47.2458V26.6093C46.8656 26.2168 46.5327 25.8653 46.087 25.8653H14.2037ZM11.6948 26.6093C11.6948 25.2255 12.8384 24.135 14.2037 24.135H46.087C47.4522 24.135 48.5959 25.2255 48.5959 26.6093V47.2458C48.5959 48.6792 47.4339 49.8412 46.0004 49.8412H14.2037C12.8384 49.8412 11.6948 48.7508 11.6948 47.3669V26.6093Z", fill: "#6392BD" }), /* @__PURE__ */ React28.createElement("path", { d: "M19.481 30.9138C19.481 30.5164 20.1155 30.1903 20.9058 30.1903C21.6894 30.1903 22.3305 30.5131 22.3305 30.9138V32.8862C22.3305 33.2836 21.6894 33.6097 20.9058 33.6097C20.1222 33.6097 19.481 33.2869 19.481 32.8862V30.9138Z", fill: "#6392BD" }), /* @__PURE__ */ React28.createElement("path", { d: "M30.0242 30.1903C29.2339 30.1903 28.5995 30.5164 28.5995 30.9138V32.8862C28.5995 33.2869 29.2406 33.6097 30.0242 33.6097C30.8079 33.6097 31.449 33.2836 31.449 32.8862V30.9138C31.449 30.5131 30.8079 30.1903 30.0242 30.1903Z", fill: "#6392BD" }), /* @__PURE__ */ React28.createElement("path", { d: "M37.7179 30.9138C37.7179 30.5164 38.3524 30.1903 39.1427 30.1903C39.608 30.1903 40.022 30.3038 40.2825 30.4797C40.3515 30.5276 40.4116 30.5788 40.4561 30.6344C40.5274 30.7201 40.5675 30.8147 40.5675 30.9138V32.8862C40.5675 33.2836 39.9263 33.6097 39.1427 33.6097C38.3591 33.6097 37.7179 33.2869 37.7179 32.8862V30.9138Z", fill: "#6392BD" }), /* @__PURE__ */ React28.createElement("path", { d: "M20.9058 39.8787C20.1155 39.8787 19.481 40.2048 19.481 40.6022V42.5746C19.481 42.687 19.5322 42.7927 19.6213 42.8874C19.7036 42.9731 19.8172 43.0499 19.9552 43.1122C20.2068 43.228 20.5407 43.2981 20.9058 43.2981C21.6894 43.2981 22.3305 42.972 22.3305 42.5746V40.6022C22.3305 40.2015 21.6894 39.8787 20.9058 39.8787Z", fill: "#6392BD" }), /* @__PURE__ */ React28.createElement("path", { d: "M29.524 39.9477C29.7087 39.9032 29.9158 39.8787 30.1339 39.8787C30.9176 39.8787 31.5587 40.2015 31.5587 40.6022V42.5746C31.5587 42.972 30.9176 43.2981 30.1339 43.2981C29.3503 43.2981 28.7092 42.9753 28.7092 42.5746V40.6022C28.7092 40.315 29.0409 40.0646 29.524 39.9477Z", fill: "#6392BD" }), /* @__PURE__ */ React28.createElement("path", { d: "M38.5141 39.9482C38.6989 39.9037 38.9059 39.8792 39.1241 39.8792C39.9077 39.8792 40.5488 40.202 40.5488 40.6027V42.5751C40.5488 42.9725 39.9077 43.2986 39.1241 43.2986C38.3405 43.2986 37.6993 42.9758 37.6993 42.5751V40.6027C37.6993 40.3155 38.031 40.0651 38.5141 39.9482Z", fill: "#6392BD" })), /* @__PURE__ */ React28.createElement("defs", null, /* @__PURE__ */ React28.createElement("clipPath", { id: "clip0_5353_24891" }, /* @__PURE__ */ React28.createElement("rect", { width: "60", height: "60", fill: "white", transform: "translate(0 0.5)" }))));
|
|
3404
3442
|
};
|
|
3405
3443
|
|
|
3406
3444
|
// src/Components/Calendario/Views/MonthView.tsx
|
|
@@ -3410,23 +3448,23 @@ var MonthView = ({ events, isLoading, onDayClick, onMoreClick, currentDate, onEv
|
|
|
3410
3448
|
const noEvents = events.length === 0;
|
|
3411
3449
|
const days = getMonthDays(currentDate);
|
|
3412
3450
|
const weekDays = Array.from({ length: 7 }, (_, i) => dayjs4().day(i));
|
|
3413
|
-
const [openDrawer, setOpenDrawer] =
|
|
3414
|
-
const [selectedDay, setSelectedDay] =
|
|
3415
|
-
const [selectedEvents, setSelectedEvents] =
|
|
3416
|
-
return /* @__PURE__ */
|
|
3451
|
+
const [openDrawer, setOpenDrawer] = React29.useState(false);
|
|
3452
|
+
const [selectedDay, setSelectedDay] = React29.useState(null);
|
|
3453
|
+
const [selectedEvents, setSelectedEvents] = React29.useState([]);
|
|
3454
|
+
return /* @__PURE__ */ React29.createElement(Box18, { width: "100%", sx: { overflowX: "auto" } }, /* @__PURE__ */ React29.createElement(Box18, { minWidth: "1050px" }, /* @__PURE__ */ React29.createElement(Box18, { display: "grid", gridTemplateColumns: "repeat(7, minmax(150px, 1fr))", gap: 0.5, mb: 1 }, weekDays.map((day) => /* @__PURE__ */ React29.createElement(Box18, { key: day.day(), textAlign: "center", py: 0.5 }, /* @__PURE__ */ React29.createElement(Typography20, { variant: "caption", color: "text.secondary" }, day.format("dddd"))))), isLoading ? /* @__PURE__ */ React29.createElement(Box18, { display: "flex", alignItems: "center", justifyContent: "center", width: "100%", height: "450px" }, /* @__PURE__ */ React29.createElement(CircularProgress2, { sx: { width: "60px", height: "60px" }, variant: "indeterminate" })) : !isLoading && noEvents ? /* @__PURE__ */ React29.createElement(
|
|
3417
3455
|
EmptyState,
|
|
3418
3456
|
{
|
|
3419
3457
|
title: "Inicia la gesti\xF3n de las actividades",
|
|
3420
3458
|
subtitle: "Selecciona un mec\xE1nico y as\xEDgnale las actividades a realizar.",
|
|
3421
|
-
icon: /* @__PURE__ */
|
|
3459
|
+
icon: /* @__PURE__ */ React29.createElement(LogoCalendario, null)
|
|
3422
3460
|
}
|
|
3423
|
-
) : /* @__PURE__ */
|
|
3461
|
+
) : /* @__PURE__ */ React29.createElement(Box18, { display: "grid", gridTemplateColumns: "repeat(7, minmax(150px, 1fr))", gap: 0.5 }, days.map((day) => {
|
|
3424
3462
|
const dayEvents = events.filter(
|
|
3425
3463
|
(e) => day.isBetween(e.start.startOf("day"), e.end.endOf("day"), null, "[]")
|
|
3426
3464
|
);
|
|
3427
3465
|
const isCurrentMonth = day.month() === currentDate.month();
|
|
3428
|
-
return /* @__PURE__ */
|
|
3429
|
-
|
|
3466
|
+
return /* @__PURE__ */ React29.createElement(
|
|
3467
|
+
Paper3,
|
|
3430
3468
|
{
|
|
3431
3469
|
key: day.toString(),
|
|
3432
3470
|
onClick: () => onDayClick == null ? void 0 : onDayClick(day),
|
|
@@ -3442,8 +3480,8 @@ var MonthView = ({ events, isLoading, onDayClick, onMoreClick, currentDate, onEv
|
|
|
3442
3480
|
overflow: "hidden"
|
|
3443
3481
|
}
|
|
3444
3482
|
},
|
|
3445
|
-
/* @__PURE__ */
|
|
3446
|
-
|
|
3483
|
+
/* @__PURE__ */ React29.createElement(Box18, { p: 1, flexShrink: 0 }, /* @__PURE__ */ React29.createElement(Box18, { display: "flex", alignItems: "center", justifyContent: "flex-start" }, /* @__PURE__ */ React29.createElement(
|
|
3484
|
+
Box18,
|
|
3447
3485
|
{
|
|
3448
3486
|
sx: {
|
|
3449
3487
|
width: 24,
|
|
@@ -3455,16 +3493,16 @@ var MonthView = ({ events, isLoading, onDayClick, onMoreClick, currentDate, onEv
|
|
|
3455
3493
|
justifyContent: "center"
|
|
3456
3494
|
}
|
|
3457
3495
|
},
|
|
3458
|
-
/* @__PURE__ */
|
|
3459
|
-
|
|
3496
|
+
/* @__PURE__ */ React29.createElement(
|
|
3497
|
+
Typography20,
|
|
3460
3498
|
{
|
|
3461
3499
|
variant: "body2",
|
|
3462
3500
|
sx: { color: isToday(day) ? "white" : "text.secondary" }
|
|
3463
3501
|
},
|
|
3464
3502
|
day.date()
|
|
3465
3503
|
)
|
|
3466
|
-
), dayEvents.length > 2 && /* @__PURE__ */
|
|
3467
|
-
|
|
3504
|
+
), dayEvents.length > 2 && /* @__PURE__ */ React29.createElement(Tooltip6, { title: "M\xE1s eventos" }, /* @__PURE__ */ React29.createElement(
|
|
3505
|
+
IconButton12,
|
|
3468
3506
|
{
|
|
3469
3507
|
color: "primary",
|
|
3470
3508
|
size: "small",
|
|
@@ -3475,9 +3513,9 @@ var MonthView = ({ events, isLoading, onDayClick, onMoreClick, currentDate, onEv
|
|
|
3475
3513
|
setSelectedEvents(dayEvents);
|
|
3476
3514
|
}
|
|
3477
3515
|
},
|
|
3478
|
-
/* @__PURE__ */
|
|
3516
|
+
/* @__PURE__ */ React29.createElement(AddIcon, { fontSize: "small" })
|
|
3479
3517
|
)))),
|
|
3480
|
-
/* @__PURE__ */
|
|
3518
|
+
/* @__PURE__ */ React29.createElement(Box18, { display: "flex", flexDirection: "column", gap: 0.5, p: 1, pt: 0, overflow: "hidden" }, dayEvents.slice(0, 2).map((event2) => /* @__PURE__ */ React29.createElement(
|
|
3481
3519
|
CalendarEventCard,
|
|
3482
3520
|
{
|
|
3483
3521
|
key: `${event2.id}-${day.toString()}`,
|
|
@@ -3487,8 +3525,8 @@ var MonthView = ({ events, isLoading, onDayClick, onMoreClick, currentDate, onEv
|
|
|
3487
3525
|
onHover: onEventHover
|
|
3488
3526
|
}
|
|
3489
3527
|
))),
|
|
3490
|
-
dayEvents.length > 2 && /* @__PURE__ */
|
|
3491
|
-
|
|
3528
|
+
dayEvents.length > 2 && /* @__PURE__ */ React29.createElement(
|
|
3529
|
+
Stack12,
|
|
3492
3530
|
{
|
|
3493
3531
|
justifyItems: "center",
|
|
3494
3532
|
px: 1,
|
|
@@ -3496,7 +3534,7 @@ var MonthView = ({ events, isLoading, onDayClick, onMoreClick, currentDate, onEv
|
|
|
3496
3534
|
onClick: (e) => e.stopPropagation(),
|
|
3497
3535
|
sx: { "& .MuiButtonBase-root": { width: "100%" } }
|
|
3498
3536
|
},
|
|
3499
|
-
/* @__PURE__ */
|
|
3537
|
+
/* @__PURE__ */ React29.createElement(
|
|
3500
3538
|
SCDrawer,
|
|
3501
3539
|
{
|
|
3502
3540
|
width: "350px",
|
|
@@ -3508,7 +3546,7 @@ var MonthView = ({ events, isLoading, onDayClick, onMoreClick, currentDate, onEv
|
|
|
3508
3546
|
arrayElements: [{
|
|
3509
3547
|
component: (() => {
|
|
3510
3548
|
const [first, ...rest] = dayEvents;
|
|
3511
|
-
return /* @__PURE__ */
|
|
3549
|
+
return /* @__PURE__ */ React29.createElement(Box18, { display: "flex", width: "100%", flexDirection: "column", height: "100%", pr: 1.5 }, /* @__PURE__ */ React29.createElement(Typography20, { width: "100%", color: "text.secondary" }, " Proximo evento "), first && /* @__PURE__ */ React29.createElement(Box18, { p: 1, pb: 1, width: "100%" }, /* @__PURE__ */ React29.createElement(
|
|
3512
3550
|
CalendarEventCard,
|
|
3513
3551
|
{
|
|
3514
3552
|
event: first,
|
|
@@ -3524,8 +3562,8 @@ var MonthView = ({ events, isLoading, onDayClick, onMoreClick, currentDate, onEv
|
|
|
3524
3562
|
}
|
|
3525
3563
|
}
|
|
3526
3564
|
}
|
|
3527
|
-
)), /* @__PURE__ */
|
|
3528
|
-
|
|
3565
|
+
)), /* @__PURE__ */ React29.createElement(Divider7, { flexItem: true, sx: { width: "100%" } }), /* @__PURE__ */ React29.createElement(Typography20, { width: "100%", py: 1, color: "text.secondary" }, " Eventos restantes "), /* @__PURE__ */ React29.createElement(
|
|
3566
|
+
Box18,
|
|
3529
3567
|
{
|
|
3530
3568
|
width: "100%",
|
|
3531
3569
|
height: "100%",
|
|
@@ -3537,7 +3575,7 @@ var MonthView = ({ events, isLoading, onDayClick, onMoreClick, currentDate, onEv
|
|
|
3537
3575
|
flexDirection: "column",
|
|
3538
3576
|
gap: 1.5
|
|
3539
3577
|
},
|
|
3540
|
-
rest.map((event2) => /* @__PURE__ */
|
|
3578
|
+
rest.map((event2) => /* @__PURE__ */ React29.createElement(
|
|
3541
3579
|
CalendarEventCard,
|
|
3542
3580
|
{
|
|
3543
3581
|
key: `${event2.id}-${day.toString()}`,
|
|
@@ -3566,8 +3604,8 @@ var MonthView = ({ events, isLoading, onDayClick, onMoreClick, currentDate, onEv
|
|
|
3566
3604
|
};
|
|
3567
3605
|
|
|
3568
3606
|
// src/Components/Calendario/Views/WeekView.tsx
|
|
3569
|
-
import
|
|
3570
|
-
import { Box as
|
|
3607
|
+
import React30 from "react";
|
|
3608
|
+
import { Box as Box19, CircularProgress as CircularProgress3, Typography as Typography21 } from "@mui/material";
|
|
3571
3609
|
import dayjs5 from "dayjs";
|
|
3572
3610
|
import localeData2 from "dayjs/plugin/localeData";
|
|
3573
3611
|
dayjs5.extend(localeData2);
|
|
@@ -3583,8 +3621,8 @@ var WeekView = ({
|
|
|
3583
3621
|
}) => {
|
|
3584
3622
|
const noEvents = events.length === 0;
|
|
3585
3623
|
const todayString = dayjs5().format("YYYY-MM-DD");
|
|
3586
|
-
const
|
|
3587
|
-
const days = Array.from({ length: 7 }, (_, i) =>
|
|
3624
|
+
const startOfWeek3 = currentDate.startOf("week");
|
|
3625
|
+
const days = Array.from({ length: 7 }, (_, i) => startOfWeek3.add(i, "day"));
|
|
3588
3626
|
const hours = Array.from({ length: endHour - startHour + 1 }, (_, i) => startHour + i);
|
|
3589
3627
|
const getCellBorderType = (cellHour, dayEvents) => {
|
|
3590
3628
|
for (const event2 of dayEvents) {
|
|
@@ -3601,10 +3639,10 @@ var WeekView = ({
|
|
|
3601
3639
|
}
|
|
3602
3640
|
return "none";
|
|
3603
3641
|
};
|
|
3604
|
-
return /* @__PURE__ */
|
|
3642
|
+
return /* @__PURE__ */ React30.createElement(Box19, { display: "flex", flexDirection: "column", height: "100%" }, /* @__PURE__ */ React30.createElement(Box19, { display: "flex", bgcolor: "transparent" }, /* @__PURE__ */ React30.createElement(Box19, { width: 45, bgcolor: "transparent" }), days.map((day) => {
|
|
3605
3643
|
const isToday2 = day.format("YYYY-MM-DD") === todayString;
|
|
3606
|
-
return /* @__PURE__ */
|
|
3607
|
-
|
|
3644
|
+
return /* @__PURE__ */ React30.createElement(
|
|
3645
|
+
Box19,
|
|
3608
3646
|
{
|
|
3609
3647
|
key: day.toString(),
|
|
3610
3648
|
height: 40,
|
|
@@ -3620,20 +3658,20 @@ var WeekView = ({
|
|
|
3620
3658
|
borderBottom: isToday2 ? 2 : 0,
|
|
3621
3659
|
borderColor: isToday2 ? "primary.main" : "transparent"
|
|
3622
3660
|
},
|
|
3623
|
-
/* @__PURE__ */
|
|
3624
|
-
/* @__PURE__ */
|
|
3661
|
+
/* @__PURE__ */ React30.createElement(Typography21, { variant: "h6", color: "text.primary" }, day.format("D")),
|
|
3662
|
+
/* @__PURE__ */ React30.createElement(Typography21, { variant: "caption", color: "text.secondary" }, day.format("dddd"))
|
|
3625
3663
|
);
|
|
3626
|
-
})), isLoading ? /* @__PURE__ */
|
|
3664
|
+
})), isLoading ? /* @__PURE__ */ React30.createElement(Box19, { display: "flex", alignItems: "center", justifyContent: "center", width: "100%", height: "450px" }, /* @__PURE__ */ React30.createElement(CircularProgress3, { sx: { width: "60px", height: "60px" }, variant: "indeterminate" })) : !isLoading && noEvents ? /* @__PURE__ */ React30.createElement(
|
|
3627
3665
|
EmptyState,
|
|
3628
3666
|
{
|
|
3629
3667
|
title: "Inicia la gesti\xF3n de las actividades",
|
|
3630
3668
|
subtitle: "Selecciona un mec\xE1nico y as\xEDgnale las actividades a realizar.",
|
|
3631
|
-
icon: /* @__PURE__ */
|
|
3669
|
+
icon: /* @__PURE__ */ React30.createElement(LogoCalendario, null)
|
|
3632
3670
|
}
|
|
3633
3671
|
) : (
|
|
3634
3672
|
// Grid de horas y eventos
|
|
3635
|
-
/* @__PURE__ */
|
|
3636
|
-
|
|
3673
|
+
/* @__PURE__ */ React30.createElement(Box19, { display: "flex", flex: 1 }, /* @__PURE__ */ React30.createElement(Box19, { width: 45, bgcolor: "transparent" }, hours.map((h) => /* @__PURE__ */ React30.createElement(
|
|
3674
|
+
Box19,
|
|
3637
3675
|
{
|
|
3638
3676
|
key: h,
|
|
3639
3677
|
height: 60,
|
|
@@ -3641,7 +3679,7 @@ var WeekView = ({
|
|
|
3641
3679
|
pr: 1,
|
|
3642
3680
|
borderColor: "divider"
|
|
3643
3681
|
},
|
|
3644
|
-
/* @__PURE__ */
|
|
3682
|
+
/* @__PURE__ */ React30.createElement(Typography21, { variant: "caption", color: "text.secondary" }, dayjs5().hour(h).format("h A"))
|
|
3645
3683
|
))), days.map((day) => {
|
|
3646
3684
|
const dayEvents = events.filter(
|
|
3647
3685
|
(event2) => day.isBetween(event2.start.startOf("day"), event2.end.endOf("day"), null, "[]")
|
|
@@ -3650,8 +3688,8 @@ var WeekView = ({
|
|
|
3650
3688
|
const endsInRange = event2.end.hour() >= startHour && event2.end.hour() <= endHour;
|
|
3651
3689
|
return startsInRange || endsInRange;
|
|
3652
3690
|
}).sort((a, b) => a.start.valueOf() - b.start.valueOf());
|
|
3653
|
-
return /* @__PURE__ */
|
|
3654
|
-
|
|
3691
|
+
return /* @__PURE__ */ React30.createElement(
|
|
3692
|
+
Box19,
|
|
3655
3693
|
{
|
|
3656
3694
|
key: day.toString(),
|
|
3657
3695
|
flex: 1,
|
|
@@ -3663,8 +3701,8 @@ var WeekView = ({
|
|
|
3663
3701
|
},
|
|
3664
3702
|
hours.map((hourIdx) => {
|
|
3665
3703
|
const borderType = getCellBorderType(hourIdx, dayEvents);
|
|
3666
|
-
return /* @__PURE__ */
|
|
3667
|
-
|
|
3704
|
+
return /* @__PURE__ */ React30.createElement(
|
|
3705
|
+
Box19,
|
|
3668
3706
|
{
|
|
3669
3707
|
key: hourIdx,
|
|
3670
3708
|
height: 60,
|
|
@@ -3679,7 +3717,7 @@ var WeekView = ({
|
|
|
3679
3717
|
const eventEnd = day.isSame(event2.end, "day") ? event2.end : day.endOf("day").hour(endHour).minute(59);
|
|
3680
3718
|
const startMinutes = (eventStart.hour() - startHour) * 60 + eventStart.minute();
|
|
3681
3719
|
const durationMinutes = eventEnd.diff(eventStart, "minute");
|
|
3682
|
-
return /* @__PURE__ */
|
|
3720
|
+
return /* @__PURE__ */ React30.createElement(
|
|
3683
3721
|
CalendarEventCard,
|
|
3684
3722
|
{
|
|
3685
3723
|
key: `${event2.id}-${day.toString()}`,
|
|
@@ -3704,8 +3742,8 @@ var WeekView = ({
|
|
|
3704
3742
|
};
|
|
3705
3743
|
|
|
3706
3744
|
// src/Components/Calendario/Views/DayView.tsx
|
|
3707
|
-
import
|
|
3708
|
-
import { Box as
|
|
3745
|
+
import React31 from "react";
|
|
3746
|
+
import { Box as Box20, CircularProgress as CircularProgress4, Typography as Typography22 } from "@mui/material";
|
|
3709
3747
|
import dayjs6 from "dayjs";
|
|
3710
3748
|
var DayView = ({
|
|
3711
3749
|
events,
|
|
@@ -3736,15 +3774,15 @@ var DayView = ({
|
|
|
3736
3774
|
(event2) => currentDate.isBetween(event2.start.startOf("day"), event2.end.endOf("day"), null, "[]")
|
|
3737
3775
|
);
|
|
3738
3776
|
const noEvents = events.length === 0;
|
|
3739
|
-
return /* @__PURE__ */
|
|
3777
|
+
return /* @__PURE__ */ React31.createElement(Box20, { display: "flex", flexDirection: "column", height: "100%" }, /* @__PURE__ */ React31.createElement(Box20, { display: "flex", borderBottom: "1px solid", borderColor: "primary.main", bgcolor: "background.paper" }, /* @__PURE__ */ React31.createElement(Box20, { width: 47, bgcolor: "background.default", borderBottom: "1px solid", borderColor: "transparent" }), /* @__PURE__ */ React31.createElement(Box20, { flex: 1, display: "flex", flexDirection: "column", textAlign: "start", gap: 0.5, py: 1, bgcolor: "primary.50" }, /* @__PURE__ */ React31.createElement(Typography22, { variant: "h6", color: "text.secondary" }, currentDate.format("D")), /* @__PURE__ */ React31.createElement(Typography22, { variant: "caption", color: "text.secondary" }, currentDate.format("dddd")))), isLoading ? /* @__PURE__ */ React31.createElement(Box20, { display: "flex", alignItems: "center", justifyContent: "center", width: "100%", height: "450px" }, /* @__PURE__ */ React31.createElement(CircularProgress4, { sx: { width: "60px", height: "60px" }, variant: "indeterminate" })) : noEvents ? /* @__PURE__ */ React31.createElement(
|
|
3740
3778
|
EmptyState,
|
|
3741
3779
|
{
|
|
3742
3780
|
title: "Inicia la gesti\xF3n de las actividades",
|
|
3743
3781
|
subtitle: "Selecciona un mec\xE1nico y as\xEDgnale las actividades a realizar.",
|
|
3744
|
-
icon: /* @__PURE__ */
|
|
3782
|
+
icon: /* @__PURE__ */ React31.createElement(LogoCalendario, null)
|
|
3745
3783
|
}
|
|
3746
|
-
) : /* @__PURE__ */
|
|
3747
|
-
|
|
3784
|
+
) : /* @__PURE__ */ React31.createElement(Box20, { display: "flex", flex: 1 }, /* @__PURE__ */ React31.createElement(Box20, { width: 47, bgcolor: "background.default" }, hours.map((h) => /* @__PURE__ */ React31.createElement(
|
|
3785
|
+
Box20,
|
|
3748
3786
|
{
|
|
3749
3787
|
key: h,
|
|
3750
3788
|
height: 60,
|
|
@@ -3754,11 +3792,11 @@ var DayView = ({
|
|
|
3754
3792
|
borderRight: "1px solid",
|
|
3755
3793
|
borderColor: "divider"
|
|
3756
3794
|
},
|
|
3757
|
-
/* @__PURE__ */
|
|
3758
|
-
))), /* @__PURE__ */
|
|
3795
|
+
/* @__PURE__ */ React31.createElement(Typography22, { variant: "caption", color: "text.secondary" }, dayjs6().hour(h).format("h A"))
|
|
3796
|
+
))), /* @__PURE__ */ React31.createElement(Box20, { flex: 1, position: "relative" }, hours.map((hourIdx) => {
|
|
3759
3797
|
const borderType = getCellBorderType(hourIdx, dayEvents);
|
|
3760
|
-
return /* @__PURE__ */
|
|
3761
|
-
|
|
3798
|
+
return /* @__PURE__ */ React31.createElement(
|
|
3799
|
+
Box20,
|
|
3762
3800
|
{
|
|
3763
3801
|
key: hourIdx,
|
|
3764
3802
|
height: 60,
|
|
@@ -3776,7 +3814,7 @@ var DayView = ({
|
|
|
3776
3814
|
const clampedEnd = eventEnd.isAfter(maxEnd) ? maxEnd : eventEnd;
|
|
3777
3815
|
const startMinutes = (clampedStart.hour() - startHour) * 60 + clampedStart.minute();
|
|
3778
3816
|
const durationMinutes = clampedEnd.diff(clampedStart, "minute");
|
|
3779
|
-
return /* @__PURE__ */
|
|
3817
|
+
return /* @__PURE__ */ React31.createElement(
|
|
3780
3818
|
CalendarEventCard,
|
|
3781
3819
|
{
|
|
3782
3820
|
key: `${event2.id}-${currentDate.toString()}`,
|
|
@@ -3804,6 +3842,7 @@ var Calendar = ({
|
|
|
3804
3842
|
onMoreClick,
|
|
3805
3843
|
onEventClick,
|
|
3806
3844
|
onEventHover,
|
|
3845
|
+
onDateChange,
|
|
3807
3846
|
view: initialView = "month",
|
|
3808
3847
|
onViewChange,
|
|
3809
3848
|
toolbar,
|
|
@@ -3812,8 +3851,11 @@ var Calendar = ({
|
|
|
3812
3851
|
// <- valor por defecto
|
|
3813
3852
|
endHour = 23
|
|
3814
3853
|
}) => {
|
|
3815
|
-
const [view, setView] =
|
|
3816
|
-
const [currentDate, setCurrentDate] =
|
|
3854
|
+
const [view, setView] = useState14(initialView);
|
|
3855
|
+
const [currentDate, setCurrentDate] = useState14(dayjs7());
|
|
3856
|
+
useEffect18(() => {
|
|
3857
|
+
onDateChange == null ? void 0 : onDateChange(currentDate);
|
|
3858
|
+
}, []);
|
|
3817
3859
|
const handleViewChange = (newView) => {
|
|
3818
3860
|
setView(newView);
|
|
3819
3861
|
onViewChange == null ? void 0 : onViewChange(newView);
|
|
@@ -3831,8 +3873,9 @@ var Calendar = ({
|
|
|
3831
3873
|
if (view === "month") newDate = currentDate.add(1, "month");
|
|
3832
3874
|
} else if (action === "TODAY") newDate = dayjs7();
|
|
3833
3875
|
setCurrentDate(newDate);
|
|
3876
|
+
onDateChange == null ? void 0 : onDateChange(newDate);
|
|
3834
3877
|
};
|
|
3835
|
-
return /* @__PURE__ */
|
|
3878
|
+
return /* @__PURE__ */ React32.createElement(Box21, null, /* @__PURE__ */ React32.createElement(
|
|
3836
3879
|
CalendarToolbar,
|
|
3837
3880
|
{
|
|
3838
3881
|
labelDate: currentDate,
|
|
@@ -3841,16 +3884,16 @@ var Calendar = ({
|
|
|
3841
3884
|
onNavigate: handleNavigate
|
|
3842
3885
|
},
|
|
3843
3886
|
toolbar
|
|
3844
|
-
), isLoading ? /* @__PURE__ */
|
|
3845
|
-
|
|
3887
|
+
), isLoading ? /* @__PURE__ */ React32.createElement(React32.Fragment, null, /* @__PURE__ */ React32.createElement(Box21, null, /* @__PURE__ */ React32.createElement(
|
|
3888
|
+
Box21,
|
|
3846
3889
|
{
|
|
3847
3890
|
display: "flex",
|
|
3848
3891
|
justifyContent: "center",
|
|
3849
3892
|
alignItems: "center",
|
|
3850
3893
|
height: "400px"
|
|
3851
3894
|
},
|
|
3852
|
-
/* @__PURE__ */
|
|
3853
|
-
))) : /* @__PURE__ */
|
|
3895
|
+
/* @__PURE__ */ React32.createElement(CircularProgress5, { variant: "indeterminate" })
|
|
3896
|
+
))) : /* @__PURE__ */ React32.createElement(React32.Fragment, null, view === "month" && /* @__PURE__ */ React32.createElement(
|
|
3854
3897
|
MonthView,
|
|
3855
3898
|
{
|
|
3856
3899
|
events,
|
|
@@ -3860,7 +3903,7 @@ var Calendar = ({
|
|
|
3860
3903
|
onEventClick,
|
|
3861
3904
|
onEventHover
|
|
3862
3905
|
}
|
|
3863
|
-
), view === "week" && /* @__PURE__ */
|
|
3906
|
+
), view === "week" && /* @__PURE__ */ React32.createElement(
|
|
3864
3907
|
WeekView,
|
|
3865
3908
|
{
|
|
3866
3909
|
events,
|
|
@@ -3872,7 +3915,7 @@ var Calendar = ({
|
|
|
3872
3915
|
startHour,
|
|
3873
3916
|
endHour
|
|
3874
3917
|
}
|
|
3875
|
-
), view === "day" && /* @__PURE__ */
|
|
3918
|
+
), view === "day" && /* @__PURE__ */ React32.createElement(
|
|
3876
3919
|
DayView,
|
|
3877
3920
|
{
|
|
3878
3921
|
events,
|
|
@@ -3886,8 +3929,8 @@ var Calendar = ({
|
|
|
3886
3929
|
};
|
|
3887
3930
|
|
|
3888
3931
|
// src/Components/SCTime.tsx
|
|
3889
|
-
import
|
|
3890
|
-
import { Box as
|
|
3932
|
+
import React33, { useState as useState15 } from "react";
|
|
3933
|
+
import { Box as Box22, InputAdornment as InputAdornment6, Popover as Popover6, ClickAwayListener as ClickAwayListener2 } from "@mui/material";
|
|
3891
3934
|
import { LocalizationProvider as LocalizationProvider3 } from "@mui/x-date-pickers/LocalizationProvider";
|
|
3892
3935
|
import { AdapterDayjs as AdapterDayjs2 } from "@mui/x-date-pickers/AdapterDayjs";
|
|
3893
3936
|
import dayjs8 from "dayjs";
|
|
@@ -3910,9 +3953,9 @@ var SCTime = ({
|
|
|
3910
3953
|
);
|
|
3911
3954
|
const isTimeEmpty = required && !state;
|
|
3912
3955
|
const hasError = isTimeEmpty;
|
|
3913
|
-
const [anchorEl, setAnchorEl] =
|
|
3914
|
-
const [isOpenPopover, setIsOpenPopover] =
|
|
3915
|
-
const [popoverPlacement, setPopoverPlacement] =
|
|
3956
|
+
const [anchorEl, setAnchorEl] = useState15(null);
|
|
3957
|
+
const [isOpenPopover, setIsOpenPopover] = useState15(false);
|
|
3958
|
+
const [popoverPlacement, setPopoverPlacement] = useState15("bottom");
|
|
3916
3959
|
const detectPlacement = (element) => {
|
|
3917
3960
|
const rect = element.getBoundingClientRect();
|
|
3918
3961
|
const windowHeight = window.innerHeight;
|
|
@@ -3943,7 +3986,7 @@ var SCTime = ({
|
|
|
3943
3986
|
setIsOpenPopover(false);
|
|
3944
3987
|
setAnchorEl(null);
|
|
3945
3988
|
};
|
|
3946
|
-
return /* @__PURE__ */
|
|
3989
|
+
return /* @__PURE__ */ React33.createElement(LocalizationProvider3, { dateAdapter: AdapterDayjs2 }, /* @__PURE__ */ React33.createElement(Box22, { sx: { position: "relative", width: "120px" } }, /* @__PURE__ */ React33.createElement(
|
|
3947
3990
|
TimeField,
|
|
3948
3991
|
{
|
|
3949
3992
|
label,
|
|
@@ -3955,7 +3998,7 @@ var SCTime = ({
|
|
|
3955
3998
|
slotProps: {
|
|
3956
3999
|
textField: {
|
|
3957
4000
|
InputProps: {
|
|
3958
|
-
endAdornment: /* @__PURE__ */
|
|
4001
|
+
endAdornment: /* @__PURE__ */ React33.createElement(InputAdornment6, { position: "end" }, /* @__PURE__ */ React33.createElement(
|
|
3959
4002
|
AccessTimeIcon,
|
|
3960
4003
|
{
|
|
3961
4004
|
color: disabled ? "disabled" : "action",
|
|
@@ -3984,8 +4027,8 @@ var SCTime = ({
|
|
|
3984
4027
|
}
|
|
3985
4028
|
}
|
|
3986
4029
|
}
|
|
3987
|
-
), /* @__PURE__ */
|
|
3988
|
-
|
|
4030
|
+
), /* @__PURE__ */ React33.createElement(
|
|
4031
|
+
Popover6,
|
|
3989
4032
|
{
|
|
3990
4033
|
open: isOpenPopover,
|
|
3991
4034
|
anchorEl,
|
|
@@ -4012,7 +4055,7 @@ var SCTime = ({
|
|
|
4012
4055
|
}
|
|
4013
4056
|
}
|
|
4014
4057
|
},
|
|
4015
|
-
/* @__PURE__ */
|
|
4058
|
+
/* @__PURE__ */ React33.createElement(ClickAwayListener2, { onClickAway: handleClose }, /* @__PURE__ */ React33.createElement(Box22, { sx: { p: 0 } }, /* @__PURE__ */ React33.createElement(
|
|
4016
4059
|
DigitalClock,
|
|
4017
4060
|
{
|
|
4018
4061
|
value: state,
|
|
@@ -4034,9 +4077,9 @@ var SCTime = ({
|
|
|
4034
4077
|
};
|
|
4035
4078
|
|
|
4036
4079
|
// src/Components/SCCard.tsx
|
|
4037
|
-
import
|
|
4038
|
-
import { Button as
|
|
4039
|
-
import
|
|
4080
|
+
import React34 from "react";
|
|
4081
|
+
import { Button as Button13, Box as Box23, SvgIcon as SvgIcon9 } from "@mui/material";
|
|
4082
|
+
import IconButton13 from "@mui/material/IconButton";
|
|
4040
4083
|
import Card from "@mui/material/Card";
|
|
4041
4084
|
import CardHeader from "@mui/material/CardHeader";
|
|
4042
4085
|
import CardMedia from "@mui/material/CardMedia";
|
|
@@ -4044,14 +4087,14 @@ import CardContent from "@mui/material/CardContent";
|
|
|
4044
4087
|
import CardActions from "@mui/material/CardActions";
|
|
4045
4088
|
import Collapse from "@mui/material/Collapse";
|
|
4046
4089
|
import ExpandMoreIcon from "@mui/icons-material/ExpandMore";
|
|
4047
|
-
import * as
|
|
4090
|
+
import * as Muicon9 from "@mui/icons-material";
|
|
4048
4091
|
var SCCard = ({ title, image, iconTitle, actionsTitle, subtitle, content, actions, expand }) => {
|
|
4049
4092
|
let iconTitleValidation = "";
|
|
4050
4093
|
let IconTitle;
|
|
4051
|
-
const [expanded, setExpanded] =
|
|
4094
|
+
const [expanded, setExpanded] = React34.useState(false);
|
|
4052
4095
|
if (iconTitle) {
|
|
4053
|
-
if (
|
|
4054
|
-
if (iconTitle &&
|
|
4096
|
+
if (Muicon9[iconTitle] == void 0) {
|
|
4097
|
+
if (iconTitle && React34.isValidElement(iconTitle) && iconTitle.type == void 0) {
|
|
4055
4098
|
iconTitleValidation = "image";
|
|
4056
4099
|
IconTitle = iconTitle;
|
|
4057
4100
|
} else {
|
|
@@ -4060,17 +4103,17 @@ var SCCard = ({ title, image, iconTitle, actionsTitle, subtitle, content, action
|
|
|
4060
4103
|
}
|
|
4061
4104
|
} else {
|
|
4062
4105
|
iconTitleValidation = "icon";
|
|
4063
|
-
IconTitle =
|
|
4106
|
+
IconTitle = Muicon9[iconTitle];
|
|
4064
4107
|
}
|
|
4065
4108
|
}
|
|
4066
4109
|
const handleExpandClick = () => {
|
|
4067
4110
|
setExpanded(!expanded);
|
|
4068
4111
|
};
|
|
4069
|
-
return /* @__PURE__ */
|
|
4112
|
+
return /* @__PURE__ */ React34.createElement(Card, { sx: { maxWidth: 345 } }, title && /* @__PURE__ */ React34.createElement(
|
|
4070
4113
|
CardHeader,
|
|
4071
4114
|
{
|
|
4072
|
-
avatar: iconTitle ? iconTitleValidation === "image" ? /* @__PURE__ */
|
|
4073
|
-
action: (expand == null ? void 0 : expand.position) == "top" ? (expand == null ? void 0 : expand.type) === "text" ? /* @__PURE__ */
|
|
4115
|
+
avatar: iconTitle ? iconTitleValidation === "image" ? /* @__PURE__ */ React34.createElement(Box23, { sx: { marginRight: "16px", width: "44px", height: "44px", borderRadius: "1px" } }, /* @__PURE__ */ React34.createElement("img", { src: IconTitle, width: "44px", height: "44px" })) : /* @__PURE__ */ React34.createElement(SvgIcon9, { color: "action", fontSize: "small", component: IconTitle, sx: { marginRight: "16px" } }) : void 0,
|
|
4116
|
+
action: (expand == null ? void 0 : expand.position) == "top" ? (expand == null ? void 0 : expand.type) === "text" ? /* @__PURE__ */ React34.createElement(Button13, { onClick: handleExpandClick, sx: { marginRight: "auto" } }, "Expandir") : (expand == null ? void 0 : expand.type) === "icon" && /* @__PURE__ */ React34.createElement(IconButton13, { onClick: handleExpandClick, sx: { marginRight: "auto" }, size: "small" }, /* @__PURE__ */ React34.createElement(ExpandMoreIcon, { fontSize: "small" })) : actionsTitle,
|
|
4074
4117
|
title,
|
|
4075
4118
|
subheader: subtitle,
|
|
4076
4119
|
sx: {
|
|
@@ -4089,15 +4132,15 @@ var SCCard = ({ title, image, iconTitle, actionsTitle, subtitle, content, action
|
|
|
4089
4132
|
}
|
|
4090
4133
|
}
|
|
4091
4134
|
}
|
|
4092
|
-
), image && /* @__PURE__ */
|
|
4135
|
+
), image && /* @__PURE__ */ React34.createElement(
|
|
4093
4136
|
CardMedia,
|
|
4094
4137
|
{
|
|
4095
4138
|
component: "img",
|
|
4096
4139
|
height: "194",
|
|
4097
4140
|
image
|
|
4098
4141
|
}
|
|
4099
|
-
), content && /* @__PURE__ */
|
|
4100
|
-
|
|
4142
|
+
), content && /* @__PURE__ */ React34.createElement(CardContent, { sx: { padding: "8px 16px !important" } }, content), ((expand == null ? void 0 : expand.position) == "bottom" || actions != void 0) && /* @__PURE__ */ React34.createElement(CardActions, { disableSpacing: true, sx: { justifyContent: "flex-end" } }, (expand == null ? void 0 : expand.position) === "bottom" ? (expand == null ? void 0 : expand.type) === "text" ? /* @__PURE__ */ React34.createElement(Button13, { onClick: handleExpandClick, sx: { marginRight: "auto" } }, "Expandir") : (expand == null ? void 0 : expand.type) === "icon" && /* @__PURE__ */ React34.createElement(IconButton13, { onClick: handleExpandClick, sx: { marginRight: "auto" } }, /* @__PURE__ */ React34.createElement(ExpandMoreIcon, null)) : null, actions && actions.length > 0 ? actions.map((action, index) => /* @__PURE__ */ React34.createElement(
|
|
4143
|
+
Button13,
|
|
4101
4144
|
{
|
|
4102
4145
|
key: index,
|
|
4103
4146
|
size: "small",
|
|
@@ -4107,14 +4150,150 @@ var SCCard = ({ title, image, iconTitle, actionsTitle, subtitle, content, action
|
|
|
4107
4150
|
disabled: action.disabled || false
|
|
4108
4151
|
},
|
|
4109
4152
|
action.text
|
|
4110
|
-
)) : ""), expand && /* @__PURE__ */
|
|
4153
|
+
)) : ""), expand && /* @__PURE__ */ React34.createElement(Collapse, { in: expanded, timeout: "auto", unmountOnExit: true }, /* @__PURE__ */ React34.createElement(CardContent, { sx: { padding: "8px 16px !important" } }, expand.content)));
|
|
4154
|
+
};
|
|
4155
|
+
|
|
4156
|
+
// src/Components/SCActivityCalendar.tsx
|
|
4157
|
+
import React35, { useState as useState17 } from "react";
|
|
4158
|
+
import { Typography as Typography25, IconButton as IconButton14, Box as Box24, Badge as Badge2 } from "@mui/material";
|
|
4159
|
+
import Grid9 from "@mui/material/Grid2";
|
|
4160
|
+
import { AdapterDateFns as AdapterDateFns2 } from "@mui/x-date-pickers/AdapterDateFns";
|
|
4161
|
+
import { LocalizationProvider as LocalizationProvider4 } from "@mui/x-date-pickers/LocalizationProvider";
|
|
4162
|
+
import { StaticDatePicker as StaticDatePicker2 } from "@mui/x-date-pickers/StaticDatePicker";
|
|
4163
|
+
import { es as es2 } from "date-fns/locale";
|
|
4164
|
+
import { format as format2, startOfWeek as startOfWeek2, addDays as addDays2, isSameDay as isSameDay2 } from "date-fns";
|
|
4165
|
+
import KeyboardDoubleArrowDownIcon2 from "@mui/icons-material/KeyboardDoubleArrowDown";
|
|
4166
|
+
import KeyboardDoubleArrowUpIcon2 from "@mui/icons-material/KeyboardDoubleArrowUp";
|
|
4167
|
+
import ArrowForwardIcon from "@mui/icons-material/ArrowForward";
|
|
4168
|
+
import LightModeOutlinedIcon from "@mui/icons-material/LightModeOutlined";
|
|
4169
|
+
var SCActivityCalendar = ({
|
|
4170
|
+
//informativas
|
|
4171
|
+
//apariencia
|
|
4172
|
+
background,
|
|
4173
|
+
//funcionales
|
|
4174
|
+
setState,
|
|
4175
|
+
state,
|
|
4176
|
+
events,
|
|
4177
|
+
fn,
|
|
4178
|
+
configRangeHour
|
|
4179
|
+
}) => {
|
|
4180
|
+
let convertFecha;
|
|
4181
|
+
const [fecha, setFecha] = useState17(/* @__PURE__ */ new Date());
|
|
4182
|
+
const [fechaSeleccionada, setFechaSeleccionada] = useState17();
|
|
4183
|
+
const [stateVal, setstateVal] = React35.useState(/* @__PURE__ */ new Date());
|
|
4184
|
+
const [openCalendar, setOpenCalendar] = React35.useState(false);
|
|
4185
|
+
const hoy = /* @__PURE__ */ new Date();
|
|
4186
|
+
const inicioSemana = startOfWeek2(fecha, { weekStartsOn: 0 });
|
|
4187
|
+
const diasSemana = Array.from({ length: 7 }, (_, i) => addDays2(inicioSemana, i));
|
|
4188
|
+
React35.useEffect(() => {
|
|
4189
|
+
if (fecha != null) {
|
|
4190
|
+
handleConvertFecha(fecha);
|
|
4191
|
+
}
|
|
4192
|
+
}, [fecha]);
|
|
4193
|
+
const handleConvertFecha = (fecha2) => {
|
|
4194
|
+
if (fecha2) {
|
|
4195
|
+
let day = (fecha2.getDate() < 10 ? "0" : "") + fecha2.getDate();
|
|
4196
|
+
let month = (fecha2.getMonth() + 1 < 10 ? "0" : "") + (fecha2.getMonth() + 1);
|
|
4197
|
+
let year = fecha2.getFullYear();
|
|
4198
|
+
convertFecha = day + "/" + month + "/" + year;
|
|
4199
|
+
setState(convertFecha);
|
|
4200
|
+
setFecha(fecha2);
|
|
4201
|
+
}
|
|
4202
|
+
};
|
|
4203
|
+
const toggleCalendar = (newOpen) => () => {
|
|
4204
|
+
setOpenCalendar(newOpen);
|
|
4205
|
+
};
|
|
4206
|
+
const locale = __spreadProps(__spreadValues({}, es2), {
|
|
4207
|
+
options: {
|
|
4208
|
+
weekStartsOn: 0
|
|
4209
|
+
// 0 para domingo, 1 para lunes, etc.
|
|
4210
|
+
}
|
|
4211
|
+
});
|
|
4212
|
+
return /* @__PURE__ */ React35.createElement(React35.Fragment, null, /* @__PURE__ */ React35.createElement(LocalizationProvider4, { dateAdapter: AdapterDateFns2, adapterLocale: es2 }, openCalendar == false ? /* @__PURE__ */ React35.createElement(Box24, { "data-testid": "calendar-mobile", sx: { width: "100%", background: background ? background : "white", display: "flex", flexDirection: "column", alignItems: "center" } }, /* @__PURE__ */ React35.createElement(Box24, { sx: { width: "100%", maxWidth: "320px", background: "transparent" } }, /* @__PURE__ */ React35.createElement(Grid9, { container: true, gap: 0.5, sx: { justifyContent: "space-between", padding: "12px 0px", background: "transparent" } }, diasSemana.map((dia) => /* @__PURE__ */ React35.createElement(Grid9, { sx: { width: "36px" }, key: dia.toString() }, /* @__PURE__ */ React35.createElement(Box24, { sx: { width: "36px", height: "40px", display: "flex", alignItems: "center", justifyContent: "center" } }, /* @__PURE__ */ React35.createElement(Typography25, { sx: { fontSize: "12px !important", color: "#10184099" } }, format2(dia, "EEEE", { locale: es2 }).charAt(0).toUpperCase())), /* @__PURE__ */ React35.createElement(
|
|
4213
|
+
Box24,
|
|
4214
|
+
{
|
|
4215
|
+
onClick: () => setFecha(dia),
|
|
4216
|
+
sx: {
|
|
4217
|
+
padding: "10px",
|
|
4218
|
+
textAlign: "center",
|
|
4219
|
+
backgroundColor: isSameDay2(dia, fecha) ? "#2063a0" : "transparent",
|
|
4220
|
+
cursor: "pointer",
|
|
4221
|
+
borderRadius: "50%",
|
|
4222
|
+
//border: '1px solid lightgray',
|
|
4223
|
+
position: "relative"
|
|
4224
|
+
//width: '36px',
|
|
4225
|
+
//height: '36px',
|
|
4226
|
+
}
|
|
4227
|
+
},
|
|
4228
|
+
/* @__PURE__ */ React35.createElement(Typography25, { sx: { fontSize: "12px !important", color: isSameDay2(dia, fecha) ? "white" : "#101840DE" } }, format2(dia, "d"))
|
|
4229
|
+
)))), /* @__PURE__ */ React35.createElement(Grid9, { container: true, justifyContent: "center" }, /* @__PURE__ */ React35.createElement(IconButton14, { "data-testid": "open-calendar-button", onClick: toggleCalendar(true) }, /* @__PURE__ */ React35.createElement(KeyboardDoubleArrowDownIcon2, { color: "action" }))))) : /* @__PURE__ */ React35.createElement(Box24, { sx: { width: "100%", background: "white" } }, /* @__PURE__ */ React35.createElement(
|
|
4230
|
+
StaticDatePicker2,
|
|
4231
|
+
{
|
|
4232
|
+
orientation: "landscape",
|
|
4233
|
+
openTo: "day",
|
|
4234
|
+
value: fecha,
|
|
4235
|
+
slotProps: { toolbar: { hidden: true }, actionBar: { actions: [] } },
|
|
4236
|
+
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" } },
|
|
4237
|
+
onChange: (newValue) => setFecha(newValue)
|
|
4238
|
+
}
|
|
4239
|
+
), /* @__PURE__ */ React35.createElement(Grid9, { container: true, justifyContent: "center" }, /* @__PURE__ */ React35.createElement(IconButton14, { "data-testid": "close-calendar-button", onClick: toggleCalendar(false) }, /* @__PURE__ */ React35.createElement(KeyboardDoubleArrowUpIcon2, { color: "action" }))))), /* @__PURE__ */ React35.createElement(Box24, { sx: { width: "100%", height: openCalendar ? "calc(91% - 300px)" : "calc(91% - 100px)", background: "white", display: "flex", flexDirection: "column", overflowY: "auto", gap: "8px", scrollSnapType: "x mandatory", paddingBottom: "10px" } }, diasSemana.map((day, dayIndex) => /* @__PURE__ */ React35.createElement(
|
|
4240
|
+
Box24,
|
|
4241
|
+
{
|
|
4242
|
+
key: dayIndex
|
|
4243
|
+
},
|
|
4244
|
+
/* @__PURE__ */ React35.createElement(Grid9, { container: true }, /* @__PURE__ */ React35.createElement(Typography25, { variant: "subtitle1", sx: { color: isSameDay2(day, fecha) ? "info.dark" : "text.secondary" } }, day.toLocaleDateString("es-ES", {
|
|
4245
|
+
day: "numeric"
|
|
4246
|
+
}), " de ", day.toLocaleDateString("es-ES", {
|
|
4247
|
+
month: "short"
|
|
4248
|
+
}), ", ", day.toLocaleDateString("es-ES", {
|
|
4249
|
+
weekday: "long"
|
|
4250
|
+
}))),
|
|
4251
|
+
/* @__PURE__ */ React35.createElement(Box24, { sx: {
|
|
4252
|
+
display: "flex",
|
|
4253
|
+
flexDirection: "column"
|
|
4254
|
+
} }, (() => {
|
|
4255
|
+
const esDomingo = day.getDay() === 0;
|
|
4256
|
+
const eventosDelDia = events.filter(
|
|
4257
|
+
(event2) => new Date(event2.date).toDateString() === day.toDateString()
|
|
4258
|
+
);
|
|
4259
|
+
if (eventosDelDia.length > 0) {
|
|
4260
|
+
return eventosDelDia.map((event2, idx) => /* @__PURE__ */ React35.createElement(
|
|
4261
|
+
SCListContent,
|
|
4262
|
+
{
|
|
4263
|
+
key: idx,
|
|
4264
|
+
options: [{
|
|
4265
|
+
title: event2.description,
|
|
4266
|
+
subtitle: /* @__PURE__ */ React35.createElement(React35.Fragment, null, configRangeHour && new Date(event2.date.replace("00:00:00", event2.startTime)).getHours() === new Date(event2.date.replace("00:00:00", configRangeHour.split("-")[0])).getHours() && new Date(event2.date.replace("00:00:00", event2.finalTime)).getHours() === new Date(event2.date.replace("00:00:00", configRangeHour.split("-")[1])).getHours() && new Date(event2.date.replace("00:00:00", event2.startTime)).getMinutes() === new Date(event2.date.replace("00:00:00", configRangeHour.split("-")[0])).getMinutes() && new Date(event2.date.replace("00:00:00", event2.finalTime)).getMinutes() === new Date(event2.date.replace("00:00:00", configRangeHour.split("-")[1])).getMinutes() ? /* @__PURE__ */ React35.createElement(React35.Fragment, null, /* @__PURE__ */ React35.createElement(Typography25, null, "Todo el dia"), /* @__PURE__ */ React35.createElement(LightModeOutlinedIcon, { fontSize: "small" })) : /* @__PURE__ */ React35.createElement(React35.Fragment, null, /* @__PURE__ */ React35.createElement(Typography25, null, new Date(event2.date.replace("00:00:00", event2.startTime)).toLocaleTimeString([], { hour: "2-digit", minute: "2-digit", hour12: true })), /* @__PURE__ */ React35.createElement(ArrowForwardIcon, { fontSize: "small" }), /* @__PURE__ */ React35.createElement(Typography25, null, new Date(event2.date.replace("00:00:00", event2.finalTime)).toLocaleTimeString([], { hour: "2-digit", minute: "2-digit", hour12: true })))),
|
|
4267
|
+
iconLeftColor: event2.state === "Finalizada" ? "success" : "action",
|
|
4268
|
+
iconLeft: event2.state === "Finalizada" ? "CheckCircle" : event2.state === "Aplazada" ? "EventBusyOutlined" : event2.state === "En progreso" ? "PendingOutlined" : "RadioButtonUnchecked",
|
|
4269
|
+
description: /* @__PURE__ */ React35.createElement(React35.Fragment, null, event2.state === "Aplazada" || event2.state === "En progreso" || event2.state === "Auto asignada" ? /* @__PURE__ */ React35.createElement(React35.Fragment, null, /* @__PURE__ */ React35.createElement(Badge2, { variant: "dot", badgeContent: "", sx: { display: "flex", alignItems: "center", "& .MuiBadge-badge": { top: "50%", transform: "translateY(-50%)" }, color: "action" } }), /* @__PURE__ */ React35.createElement(Typography25, null, event2.state == "Auto asignada" ? "Adicional" : event2.state)) : null),
|
|
4270
|
+
divider: eventosDelDia.length === idx + 1 ? false : true,
|
|
4271
|
+
disable: event2.state === "Finalizada" || event2.state === "Aplazada" || event2.state === "En progreso" ? true : false,
|
|
4272
|
+
fn: fn ? () => fn(event2) : void 0
|
|
4273
|
+
}]
|
|
4274
|
+
}
|
|
4275
|
+
));
|
|
4276
|
+
} else {
|
|
4277
|
+
return /* @__PURE__ */ React35.createElement(
|
|
4278
|
+
SCListContent,
|
|
4279
|
+
{
|
|
4280
|
+
options: [{
|
|
4281
|
+
title: esDomingo == true ? "No disponible" : "No hay actividades asignadas",
|
|
4282
|
+
iconLeft: esDomingo == true ? "BlockOutlined" : "HandymanOutlined",
|
|
4283
|
+
disable: true
|
|
4284
|
+
}]
|
|
4285
|
+
}
|
|
4286
|
+
);
|
|
4287
|
+
}
|
|
4288
|
+
})())
|
|
4289
|
+
))));
|
|
4111
4290
|
};
|
|
4112
4291
|
|
|
4113
4292
|
// src/Theme/index.ts
|
|
4114
4293
|
import { createTheme } from "@mui/material/styles";
|
|
4115
4294
|
|
|
4116
4295
|
// src/Theme/components.ts
|
|
4117
|
-
import
|
|
4296
|
+
import React36 from "react";
|
|
4118
4297
|
import {
|
|
4119
4298
|
InfoRounded as InfoRounded2,
|
|
4120
4299
|
CheckCircleRounded as CheckCircleRounded2,
|
|
@@ -4817,10 +4996,10 @@ var components = {
|
|
|
4817
4996
|
MuiAlert: {
|
|
4818
4997
|
defaultProps: {
|
|
4819
4998
|
iconMapping: {
|
|
4820
|
-
success:
|
|
4821
|
-
error:
|
|
4822
|
-
warning:
|
|
4823
|
-
info:
|
|
4999
|
+
success: React36.createElement(CheckCircleRounded2),
|
|
5000
|
+
error: React36.createElement(ErrorRounded2),
|
|
5001
|
+
warning: React36.createElement(WarningRounded2),
|
|
5002
|
+
info: React36.createElement(InfoRounded2)
|
|
4824
5003
|
}
|
|
4825
5004
|
},
|
|
4826
5005
|
variants: [
|
|
@@ -5867,6 +6046,7 @@ export {
|
|
|
5867
6046
|
FooterAction,
|
|
5868
6047
|
MultiSelect,
|
|
5869
6048
|
PageHeader,
|
|
6049
|
+
SCActivityCalendar,
|
|
5870
6050
|
SCAutocomplete,
|
|
5871
6051
|
SCCalendarSwipeable,
|
|
5872
6052
|
SCCard,
|
|
@@ -5875,6 +6055,7 @@ export {
|
|
|
5875
6055
|
SCDateRange,
|
|
5876
6056
|
SCDialog,
|
|
5877
6057
|
SCDrawer,
|
|
6058
|
+
SCListContent,
|
|
5878
6059
|
SCMenu,
|
|
5879
6060
|
SCModal,
|
|
5880
6061
|
SCSelect,
|