componentes-sinco 1.0.36 → 1.0.38

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 CHANGED
@@ -1740,6 +1740,10 @@ function SCSelect({
1740
1740
  disabled: disabled || false,
1741
1741
  error,
1742
1742
  MenuProps: {
1743
+ sx: {
1744
+ zIndex: 1400
1745
+ // muy alto para que quede encima
1746
+ },
1743
1747
  PaperProps: {
1744
1748
  sx: {
1745
1749
  maxHeight: "300px",
@@ -1968,6 +1972,12 @@ function SCAutocomplete({
1968
1972
  })
1969
1973
  )),
1970
1974
  slotProps: {
1975
+ popper: {
1976
+ sx: {
1977
+ zIndex: 1400
1978
+ // controla el contenedor flotante
1979
+ }
1980
+ },
1971
1981
  listbox: {
1972
1982
  component: import_react15.default.forwardRef(function ListboxComponent(props, ref) {
1973
1983
  return /* @__PURE__ */ import_react15.default.createElement(import_react15.default.Fragment, null, /* @__PURE__ */ import_react15.default.createElement(
@@ -2111,6 +2121,12 @@ var SCDateRange = ({
2111
2121
  field: import_MultiInputDateRangeField.MultiInputDateRangeField
2112
2122
  },
2113
2123
  slotProps: {
2124
+ popper: {
2125
+ sx: {
2126
+ zIndex: 1400
2127
+ // muy alto para que quede encima
2128
+ }
2129
+ },
2114
2130
  textField: ({ position }) => {
2115
2131
  const isStart = position === "start";
2116
2132
  return {
@@ -2285,7 +2301,7 @@ var DrawerActions = ({ actions, anchor }) => {
2285
2301
  return /* @__PURE__ */ import_react18.default.createElement(
2286
2302
  import_Grid2.default,
2287
2303
  {
2288
- sx: { borderTop: 1, borderColor: "#1018403B" },
2304
+ sx: { borderTop: 1, borderColor: "#1018403B", zIndex: 1500 },
2289
2305
  container: true,
2290
2306
  gap: 2,
2291
2307
  padding: "8px 12px",
@@ -2353,9 +2369,10 @@ function SCDrawer({
2353
2369
  width,
2354
2370
  open,
2355
2371
  setOpen,
2356
- chipFilters
2372
+ chipFilters,
2373
+ heightDrawer = 456
2357
2374
  }) {
2358
- const drawerBleeding = 56;
2375
+ const drawerBleeding = heightDrawer;
2359
2376
  const { drawerOpen, handleDrawerClose, toggleDrawer } = useDrawerState({ open, setOpen });
2360
2377
  const { toast, setToastWithDelay } = useToast();
2361
2378
  const {
@@ -2411,7 +2428,7 @@ function SCDrawer({
2411
2428
  onDeleteFilter: handleDeleteFilter
2412
2429
  }
2413
2430
  ),
2414
- /* @__PURE__ */ import_react20.default.createElement(
2431
+ buttonDrawer && /* @__PURE__ */ import_react20.default.createElement(
2415
2432
  DrawerButton,
2416
2433
  {
2417
2434
  buttonDrawer,
@@ -2449,6 +2466,7 @@ function SCDrawer({
2449
2466
  anchor: "bottom",
2450
2467
  swipeAreaWidth: drawerBleeding,
2451
2468
  sx: {
2469
+ zIndex: 1400,
2452
2470
  "& .MuiDrawer-paper": {
2453
2471
  width: "auto",
2454
2472
  height: `calc(50% - ${drawerBleeding}px)`,
@@ -3406,7 +3424,7 @@ var SCDialog = ({ title, iconTitle, subtitle, content, actions, buttonDialog, di
3406
3424
  }
3407
3425
  ) : content.component
3408
3426
  ),
3409
- dialogActions != void 0 && dialogActions != false ? Array.isArray(dialogActions) && (dialogActions == null ? void 0 : dialogActions.length) > 0 ? /* @__PURE__ */ import_react33.default.createElement(import_material20.DialogActions, { sx: { gap: 1, m: 0, padding: "12px 16px 12px 16px", justifyContent: dialogActions.length >= 3 ? "space-between" : "flex-end" } }, typeView !== "mobile" ? /* @__PURE__ */ import_react33.default.createElement(import_react33.default.Fragment, null, dialogActions.length >= 3 ? /* @__PURE__ */ import_react33.default.createElement(import_react33.default.Fragment, null, /* @__PURE__ */ import_react33.default.createElement(
3427
+ dialogActions != void 0 && dialogActions != false ? Array.isArray(dialogActions) && (dialogActions == null ? void 0 : dialogActions.length) > 0 ? /* @__PURE__ */ import_react33.default.createElement(import_material20.DialogActions, { sx: { zIndex: 1200, gap: 1, m: 0, padding: "12px 16px 12px 16px", justifyContent: dialogActions.length >= 3 ? "space-between" : "flex-end" } }, typeView !== "mobile" ? /* @__PURE__ */ import_react33.default.createElement(import_react33.default.Fragment, null, dialogActions.length >= 3 ? /* @__PURE__ */ import_react33.default.createElement(import_react33.default.Fragment, null, /* @__PURE__ */ import_react33.default.createElement(
3410
3428
  import_material20.Button,
3411
3429
  {
3412
3430
  variant: "text",
@@ -3485,17 +3503,19 @@ var SCListContent = ({ options, iconLeftType = "Icon", iconRightType = "Icon" })
3485
3503
  import_material21.ListItemButton,
3486
3504
  {
3487
3505
  disabled: option.disable,
3488
- onClick: option.fn
3506
+ onClick: option.fn,
3507
+ sx: { gap: 1 }
3489
3508
  },
3490
- option.iconLeft ? iconLeftType == "Icon" ? /* @__PURE__ */ import_react34.default.createElement(import_material21.ListItemIcon, { sx: { minWidth: "0px !important", marginRight: "8px" } }, /* @__PURE__ */ import_react34.default.createElement(import_material21.SvgIcon, { fontSize: "small", color: option.iconLeftColor || "action", component: option.iconLeft })) : /* @__PURE__ */ import_react34.default.createElement(import_Avatar.default, null, ((_a = option.iconLeft) == null ? void 0 : _a.type) != void 0 ? /* @__PURE__ */ import_react34.default.createElement(import_material21.SvgIcon, { fontSize: "small", color: option.iconLeftColor || "action", component: option.iconLeft }) : option.iconLeft) : "",
3509
+ option.iconLeft ? iconLeftType == "Icon" ? /* @__PURE__ */ import_react34.default.createElement(import_material21.ListItemIcon, { sx: { minWidth: "0px !important" } }, /* @__PURE__ */ import_react34.default.createElement(import_material21.SvgIcon, { fontSize: "small", sx: { color: option.iconLeftColor || "action" }, component: option.iconLeft })) : /* @__PURE__ */ import_react34.default.createElement(import_Avatar.default, { sx: { width: 25, height: 25, fontSize: "11px", bgcolor: option.iconLeftColor ? `${option.iconLeftColor}.main` : "default" } }, ((_a = option.iconLeft) == null ? void 0 : _a.type) != void 0 ? /* @__PURE__ */ import_react34.default.createElement(import_material21.SvgIcon, { fontSize: "small", component: option.iconLeft }) : option.iconLeft) : "",
3491
3510
  /* @__PURE__ */ import_react34.default.createElement(
3492
3511
  import_material21.ListItemText,
3493
3512
  {
3513
+ sx: { color: option.colorDisabled == true ? "text.disabled" : "default" },
3494
3514
  primary: option.title,
3495
- secondary: /* @__PURE__ */ import_react34.default.createElement(import_Grid7.default, { gap: 0.5 }, /* @__PURE__ */ import_react34.default.createElement(import_Grid7.default, { container: true, gap: 0.5 }, option.subtitle), /* @__PURE__ */ import_react34.default.createElement(import_Grid7.default, { container: true, gap: 0.5 }, option.description))
3515
+ secondary: /* @__PURE__ */ import_react34.default.createElement(import_Grid7.default, { gap: 0.5 }, /* @__PURE__ */ import_react34.default.createElement(import_Grid7.default, { container: true, gap: 0.5, sx: { color: option.colorDisabled == true ? "text.disabled" : "default" } }, option.subtitle), /* @__PURE__ */ import_react34.default.createElement(import_Grid7.default, { container: true, gap: 0.5, sx: { color: option.colorDisabled == true ? "text.disabled" : "default" } }, option.description))
3496
3516
  }
3497
3517
  ),
3498
- option.iconRight ? iconRightType == "Icon" ? /* @__PURE__ */ import_react34.default.createElement(import_material21.ListItemIcon, { sx: { minWidth: "0px !important", marginRight: "8px" } }, /* @__PURE__ */ import_react34.default.createElement(import_material21.SvgIcon, { fontSize: "small", color: option.iconRightColor || "action", component: option.iconRight })) : /* @__PURE__ */ import_react34.default.createElement(import_Avatar.default, null, ((_b = option.iconRight) == null ? void 0 : _b.type) != void 0 ? /* @__PURE__ */ import_react34.default.createElement(import_material21.SvgIcon, { fontSize: "small", color: option.iconRightColor || "action", component: option.iconRight }) : option.iconRight) : ""
3518
+ option.iconRight ? iconRightType == "Icon" ? /* @__PURE__ */ import_react34.default.createElement(import_material21.ListItemIcon, { sx: { minWidth: "0px !important", marginRight: "8px" } }, /* @__PURE__ */ import_react34.default.createElement(import_material21.SvgIcon, { fontSize: "small", sx: { color: option.iconRightColor || "action" }, component: option.iconRight })) : /* @__PURE__ */ import_react34.default.createElement(import_Avatar.default, { variant: "circular", sx: { width: 20, height: 20 } }, ((_b = option.iconRight) == null ? void 0 : _b.type) != void 0 ? /* @__PURE__ */ import_react34.default.createElement(import_material21.SvgIcon, { fontSize: "small", color: option.iconRightColor || "action", component: option.iconRight }) : option.iconRight) : ""
3499
3519
  ), option.divider == true ? /* @__PURE__ */ import_react34.default.createElement(import_material21.Divider, null) : "");
3500
3520
  })));
3501
3521
  };
@@ -4569,7 +4589,8 @@ var SCTime = ({
4569
4589
  timeStep = 5,
4570
4590
  state,
4571
4591
  setState,
4572
- error
4592
+ width,
4593
+ error = false
4573
4594
  }) => {
4574
4595
  import_x_license3.LicenseInfo.setLicenseKey(
4575
4596
  "77d49a57fbc5f4af35ddb05c5f1742e0Tz0xMTI3MjgsRT0xNzc4MzcxMTk5MDAwLFM9cHJvLExNPXN1YnNjcmlwdGlvbixQVj1RMy0yMDI0LEtWPTI="
@@ -4609,7 +4630,7 @@ var SCTime = ({
4609
4630
  setIsOpenPopover(false);
4610
4631
  setAnchorEl(null);
4611
4632
  };
4612
- return /* @__PURE__ */ import_react48.default.createElement(import_LocalizationProvider3.LocalizationProvider, { dateAdapter: import_AdapterDayjs2.AdapterDayjs }, /* @__PURE__ */ import_react48.default.createElement(import_material32.Box, { sx: { position: "relative", width: "120px" } }, /* @__PURE__ */ import_react48.default.createElement(
4633
+ return /* @__PURE__ */ import_react48.default.createElement(import_LocalizationProvider3.LocalizationProvider, { dateAdapter: import_AdapterDayjs2.AdapterDayjs }, /* @__PURE__ */ import_react48.default.createElement(import_material32.Box, { sx: { position: "relative", width: width != null ? width : "99%" } }, /* @__PURE__ */ import_react48.default.createElement(
4613
4634
  import_TimeField.TimeField,
4614
4635
  {
4615
4636
  label,
@@ -4666,6 +4687,7 @@ var SCTime = ({
4666
4687
  },
4667
4688
  marginThreshold: 0,
4668
4689
  disableScrollLock: true,
4690
+ sx: { zIndex: "1400" },
4669
4691
  slotProps: {
4670
4692
  paper: {
4671
4693
  sx: {
@@ -4673,7 +4695,8 @@ var SCTime = ({
4673
4695
  borderRadius: 1,
4674
4696
  border: "1px solid #e0e0e0",
4675
4697
  maxHeight: "300px",
4676
- overflow: "visible"
4698
+ overflow: "visible",
4699
+ width: width != null ? width : "100%"
4677
4700
  }
4678
4701
  }
4679
4702
  }
@@ -4884,11 +4907,11 @@ var SCActivityCalendar = ({
4884
4907
  options: [{
4885
4908
  title: event2.activityDescription,
4886
4909
  subtitle: /* @__PURE__ */ import_react50.default.createElement(import_react50.default.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__ */ import_react50.default.createElement(import_react50.default.Fragment, null, /* @__PURE__ */ import_react50.default.createElement(import_material34.Typography, null, "Todo el dia"), /* @__PURE__ */ import_react50.default.createElement(import_LightModeOutlined.default, { fontSize: "small" })) : /* @__PURE__ */ import_react50.default.createElement(import_react50.default.Fragment, null, /* @__PURE__ */ import_react50.default.createElement(import_material34.Typography, null, new Date(event2.date.replace("00:00:00", event2.startTime)).toLocaleTimeString([], { hour: "2-digit", minute: "2-digit", hour12: true })), /* @__PURE__ */ import_react50.default.createElement(import_ArrowForward.default, { fontSize: "small" }), /* @__PURE__ */ import_react50.default.createElement(import_material34.Typography, null, new Date(event2.date.replace("00:00:00", event2.finalTime)).toLocaleTimeString([], { hour: "2-digit", minute: "2-digit", hour12: true })))),
4887
- iconLeftColor: event2.state === "Finalizada" ? "success" : "action",
4910
+ iconLeftColor: event2.state === "Finalizada" ? "#C7E49D" : "action",
4888
4911
  iconLeft: event2.state === "Finalizada" ? "CheckCircle" : event2.state === "Aplazada" ? "EventBusyOutlined" : event2.state === "En progreso" ? "PendingOutlined" : "RadioButtonUnchecked",
4889
4912
  description: /* @__PURE__ */ import_react50.default.createElement(import_react50.default.Fragment, null, event2.state === "Aplazada" || event2.state === "En progreso" || event2.state === "Auto asignada" ? /* @__PURE__ */ import_react50.default.createElement(import_react50.default.Fragment, null, /* @__PURE__ */ import_react50.default.createElement(import_material34.Badge, { variant: "dot", badgeContent: "", sx: { display: "flex", alignItems: "center", "& .MuiBadge-badge": { top: "50%", transform: "translateY(-50%)" }, color: "action" } }), /* @__PURE__ */ import_react50.default.createElement(import_material34.Typography, null, event2.state == "Auto asignada" ? "Adicional" : event2.state)) : null),
4890
4913
  divider: eventosDelDia.length === idx + 1 ? false : true,
4891
- disable: event2.state === "Finalizada" || event2.state === "Aplazada" || event2.state === "En progreso" ? true : false,
4914
+ colorDisabled: event2.state === "Finalizada" || event2.state === "Aplazada" || event2.state === "En progreso" ? true : false,
4892
4915
  fn: fn ? () => fn(event2) : void 0
4893
4916
  }]
4894
4917
  }
@@ -4911,6 +4934,7 @@ var SCActivityCalendar = ({
4911
4934
 
4912
4935
  // src/Components/Adjuntar/mobile/AdjuntarMobile.tsx
4913
4936
  var import_react52 = __toESM(require("react"), 1);
4937
+ var import_react_webcam = __toESM(require("react-webcam"), 1);
4914
4938
 
4915
4939
  // src/Components/Adjuntar/mobile/components/button.tsx
4916
4940
  var import_react51 = __toESM(require("react"), 1);
@@ -4964,6 +4988,8 @@ var import_material36 = require("@mui/material");
4964
4988
  var import_CssBaseline = __toESM(require("@mui/material/CssBaseline"), 1);
4965
4989
  var import_system = require("@mui/system");
4966
4990
  var import_icons_material13 = require("@mui/icons-material");
4991
+ var import_PhotoCamera = __toESM(require("@mui/icons-material/PhotoCamera"), 1);
4992
+ var import_CancelOutlined = __toESM(require("@mui/icons-material/CancelOutlined"), 1);
4967
4993
  var AttachmentMobile = ({
4968
4994
  buttonAttachment,
4969
4995
  maxSize = 400,
@@ -4974,15 +5000,54 @@ var AttachmentMobile = ({
4974
5000
  onChange,
4975
5001
  sx
4976
5002
  }) => {
5003
+ const webcamRef = (0, import_react52.useRef)(null);
5004
+ const [abrirCamara, setAbrirCamara] = (0, import_react52.useState)(false);
5005
+ const [capturedImage, setCapturedImage] = (0, import_react52.useState)(null);
4977
5006
  const [files, setFiles] = (0, import_react52.useState)([]);
4978
5007
  const [toast, setToast] = (0, import_react52.useState)(null);
4979
5008
  const [open, setOpen] = import_react52.default.useState(false);
4980
5009
  const toggleAttachment = (newOpen) => () => {
4981
5010
  setOpen(newOpen);
4982
5011
  };
5012
+ const closeCam = () => {
5013
+ setAbrirCamara(false);
5014
+ };
5015
+ const openCam = () => {
5016
+ setOpen(false);
5017
+ setAbrirCamara(true);
5018
+ };
5019
+ let capturedImage2 = null;
5020
+ const capture = (0, import_react52.useCallback)((e) => {
5021
+ if (webcamRef.current) {
5022
+ const imageSrc = webcamRef.current.getScreenshot();
5023
+ setCapturedImage(imageSrc);
5024
+ capturedImage2 = imageSrc;
5025
+ setOpen(false);
5026
+ toggleAttachment(false);
5027
+ setAbrirCamara(false);
5028
+ handleUpload(e);
5029
+ }
5030
+ }, [webcamRef, setCapturedImage]);
4983
5031
  const inputRef = (0, import_react52.useRef)(null);
4984
5032
  const handleUpload = (event2) => {
4985
- const newFiles = event2.target.files;
5033
+ var _a;
5034
+ let newFiles = event2.target.files;
5035
+ if (capturedImage || capturedImage2) {
5036
+ const image = capturedImage || capturedImage2;
5037
+ if (!image) return;
5038
+ const arr = image.split(",");
5039
+ const mime = ((_a = arr[0].match(/:(.*?);/)) == null ? void 0 : _a[1]) || "image/jpeg";
5040
+ const bstr = atob(arr[1]);
5041
+ let n = bstr.length;
5042
+ const u8arr = new Uint8Array(n);
5043
+ while (n--) {
5044
+ u8arr[n] = bstr.charCodeAt(n);
5045
+ }
5046
+ const fechaActual = new Date(Date.now());
5047
+ const fechaConFormato = fechaActual.getFullYear() + "" + (fechaActual.getMonth() + 1) + fechaActual.getDate();
5048
+ const capturedFile = new File([u8arr], `photo_${fechaConFormato}.jpg`, { type: mime });
5049
+ newFiles = [capturedFile];
5050
+ }
4986
5051
  if (!newFiles) return;
4987
5052
  const nuevosArchivos = [];
4988
5053
  const archivosValidos = [];
@@ -5088,8 +5153,11 @@ var AttachmentMobile = ({
5088
5153
  }
5089
5154
  });
5090
5155
  const AttachtmentActions = [
5091
- { icon: /* @__PURE__ */ import_react52.default.createElement(import_icons_material13.FolderOpenOutlined, { type: "file", color: "primary" }), color: "primary", label: "Galer\xEDa", onClick: () => alert("diste click en Galeria") },
5092
- { icon: /* @__PURE__ */ import_react52.default.createElement(import_icons_material13.PhotoCameraOutlined, { type: "file", color: "success" }), color: "success", label: "C\xE1mara", onClick: () => alert("diste click en Camara") },
5156
+ { icon: /* @__PURE__ */ import_react52.default.createElement(import_icons_material13.FolderOpenOutlined, { type: "file", color: "primary" }), color: "primary", label: "Galer\xEDa", onClick: () => {
5157
+ var _a;
5158
+ return (_a = inputRef.current) == null ? void 0 : _a.click();
5159
+ } },
5160
+ { icon: /* @__PURE__ */ import_react52.default.createElement(import_icons_material13.PhotoCameraOutlined, { type: "file", color: "success" }), color: "success", label: "C\xE1mara", onClick: () => openCam() },
5093
5161
  { icon: /* @__PURE__ */ import_react52.default.createElement(import_icons_material13.FolderOpenOutlined, { type: "file", color: "warning" }), color: "warning", label: "Archivos", onClick: () => {
5094
5162
  var _a;
5095
5163
  return (_a = inputRef.current) == null ? void 0 : _a.click();
@@ -5112,6 +5180,7 @@ var AttachmentMobile = ({
5112
5180
  {
5113
5181
  ModalProps: {
5114
5182
  sx: {
5183
+ zIndex: 1400,
5115
5184
  "& .MuiPaper-root": {
5116
5185
  borderRadius: "16px 16px 0 0"
5117
5186
  }
@@ -5166,7 +5235,49 @@ var AttachmentMobile = ({
5166
5235
  ),
5167
5236
  /* @__PURE__ */ import_react52.default.createElement(import_material36.Typography, { variant: "body2", color: "text.primary" }, option.label)
5168
5237
  ))))
5169
- ), files.length > 0 && /* @__PURE__ */ import_react52.default.createElement(
5238
+ ), abrirCamara && /* @__PURE__ */ import_react52.default.createElement(import_react52.default.Fragment, null, /* @__PURE__ */ import_react52.default.createElement(import_CancelOutlined.default, { onClick: closeCam, sx: { borderRadius: "50px", height: "35px", width: "35px", zIndex: 1700, background: "white", position: "absolute", left: `calc(100% - 50px)`, bottom: `calc(100% - 50px)` } }), /* @__PURE__ */ import_react52.default.createElement(import_material36.Stack, { className: "camras" }, /* @__PURE__ */ import_react52.default.createElement(
5239
+ import_react_webcam.default,
5240
+ {
5241
+ audio: false,
5242
+ ref: webcamRef,
5243
+ width: "100%",
5244
+ height: "100%",
5245
+ screenshotFormat: "image/jpeg",
5246
+ videoConstraints: {
5247
+ //facingMode: { exact: "environment" }
5248
+ facingMode: "user"
5249
+ //facingMode: "environment" // cámara trasera
5250
+ },
5251
+ style: {
5252
+ position: "fixed",
5253
+ // Fijo para cubrir toda la ventana
5254
+ top: 0,
5255
+ left: 0,
5256
+ objectFit: "cover",
5257
+ backgroundColor: "black",
5258
+ zIndex: 1600
5259
+ // Encima de todo
5260
+ }
5261
+ }
5262
+ ), /* @__PURE__ */ import_react52.default.createElement(
5263
+ import_PhotoCamera.default,
5264
+ {
5265
+ onClick: capture,
5266
+ sx: {
5267
+ height: "45px",
5268
+ width: "45px",
5269
+ padding: "6px",
5270
+ backgroundColor: "white",
5271
+ color: "#1E62A1",
5272
+ borderRadius: "50px",
5273
+ zIndex: 1700,
5274
+ position: "absolute",
5275
+ bottom: "10px",
5276
+ left: "50%"
5277
+ },
5278
+ fontSize: "medium"
5279
+ }
5280
+ ))), files.length > 0 && /* @__PURE__ */ import_react52.default.createElement(
5170
5281
  import_material36.Stack,
5171
5282
  {
5172
5283
  "data-testid": "ContenedorArchivosAdjuntos",