componentes-sinco 1.1.42 → 1.1.44

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.cts CHANGED
@@ -27,9 +27,10 @@ interface AttachmentProps<T> {
27
27
  deleteAction?: (name: string) => Promise<void> | void;
28
28
  initialFiles?: UploadedFile$1[];
29
29
  iconFileItem?: any | React.ReactNode | React.ReactElement | React.ElementType | null;
30
+ view?: 'file' | 'button';
30
31
  }
31
32
 
32
- declare const Attachment: ({ sx, compact, error, maxSize, fileAccepted, onLoading, onChange, downloadAction, deleteAction, initialFiles, iconFileItem, }: AttachmentProps<any>) => React__default.JSX.Element;
33
+ declare const Attachment: ({ sx, compact, error, maxSize, fileAccepted, onLoading, onChange, downloadAction, deleteAction, initialFiles, iconFileItem, view, }: AttachmentProps<any>) => React__default.JSX.Element;
33
34
 
34
35
  type ReplyPalette$1 = "primary" | "secondary" | "warning" | "info" | "success" | "error" | any;
35
36
  type ReplyTextPalette = "primary" | "secondary" | "disabled";
@@ -639,6 +640,28 @@ interface SCDialogProps {
639
640
  }
640
641
  declare const SCDialog: ({ title, iconTitle, subtitle, content, actions, buttonDialog, disableClose, dividers, widthContent, heightContent, background, typeView, setShow, show }: SCDialogProps) => React__default.JSX.Element;
641
642
 
643
+ interface ColumnDef {
644
+ field: string;
645
+ type?: 'number' | 'string' | 'boolean' | 'date' | 'dateTime';
646
+ headerName?: string;
647
+ valueGetter?: (value: any) => any;
648
+ renderCell?: (value: any) => any;
649
+ }
650
+ interface DownloadButtonProps {
651
+ text?: string;
652
+ color?: 'inherit' | 'primary' | 'secondary' | 'success' | 'error' | 'info' | 'warning';
653
+ variant?: 'text' | 'outlined' | 'contained';
654
+ disabled?: boolean;
655
+ size?: 'small' | 'medium' | 'large';
656
+ }
657
+ interface SCDownloadExcelTableProps {
658
+ downloadButton?: DownloadButtonProps;
659
+ fileName?: string;
660
+ data?: Record<string, any>[];
661
+ columns?: ColumnDef[];
662
+ }
663
+ declare const SCDownloadExcelTable: ({ downloadButton, fileName, data, columns, }: SCDownloadExcelTableProps) => React__default.JSX.Element;
664
+
642
665
  interface Option$2 {
643
666
  title?: string;
644
667
  subtitle?: any;
@@ -757,4 +780,4 @@ declare const SincoTheme: _mui_material_styles.Theme;
757
780
  declare let AdproSincoTheme: _mui_material_styles.Theme;
758
781
  declare let ADCSincoTheme: _mui_material_styles.Theme;
759
782
 
760
- export { ADCSincoTheme, AdproSincoTheme, Attachment, AttachmentMobile, BasicMenu, type BasicMenuProps, CALENDAR_CONSTANTS, Calendar, type CalendarEvent, type CalendarProps, type CalendarView, type CellBorderType, DayEventsList, EmptyState, type EmptyStateProperties, type EmptyStateSize, type EmptyStateStates, type EventState, FooterAction, type FooterActionsProperties, type ModalProps, type ModalStates, MultiSelect, type MultiSelectProps, type NavigationAction, PageHeader, type PageheaderProperties, type ReplyButtonVariants, type ReplyPalette$1 as ReplyPalette, type ReplyTextPalette, type ReplyVariants, type RepplyAnchorPositions, type RepplySizeVariants, SCActivityCalendar, SCAlert, SCAppBar, SCAutocomplete, SCCalendarSwipeable, SCCard, SCDataGrid, SCDataGridInitial, SCDatePicker, SCDateRange, SCDialog, SCDrawer, SCListContent, SCMenu, SCModal, SCSelect, SCSnackBar, SCTabs, SCTextArea, type SCTextAreaProps, SCTextField, type SCTextFieldProps, SCTime, SCToastNotification, SCZoom, SincoTheme, StopEvent, type ToastBaseProperties, ToastProgress, type ToastType, capitalize, clampEventToVisibleRange, filterEventsForDay, getButtonColor, getCellBorderType, getIcon, getIconComponent, getIconMultiSelect, getModalColor, modalStateConfig, useCalendarNavigation, useFilteredItems, useMultiSelectHandlers, useProgress };
783
+ export { ADCSincoTheme, AdproSincoTheme, Attachment, AttachmentMobile, BasicMenu, type BasicMenuProps, CALENDAR_CONSTANTS, Calendar, type CalendarEvent, type CalendarProps, type CalendarView, type CellBorderType, DayEventsList, EmptyState, type EmptyStateProperties, type EmptyStateSize, type EmptyStateStates, type EventState, FooterAction, type FooterActionsProperties, type ModalProps, type ModalStates, MultiSelect, type MultiSelectProps, type NavigationAction, PageHeader, type PageheaderProperties, type ReplyButtonVariants, type ReplyPalette$1 as ReplyPalette, type ReplyTextPalette, type ReplyVariants, type RepplyAnchorPositions, type RepplySizeVariants, SCActivityCalendar, SCAlert, SCAppBar, SCAutocomplete, SCCalendarSwipeable, SCCard, SCDataGrid, SCDataGridInitial, SCDatePicker, SCDateRange, SCDialog, SCDownloadExcelTable, SCDrawer, SCListContent, SCMenu, SCModal, SCSelect, SCSnackBar, SCTabs, SCTextArea, type SCTextAreaProps, SCTextField, type SCTextFieldProps, SCTime, SCToastNotification, SCZoom, SincoTheme, StopEvent, type ToastBaseProperties, ToastProgress, type ToastType, capitalize, clampEventToVisibleRange, filterEventsForDay, getButtonColor, getCellBorderType, getIcon, getIconComponent, getIconMultiSelect, getModalColor, modalStateConfig, useCalendarNavigation, useFilteredItems, useMultiSelectHandlers, useProgress };
package/dist/index.d.ts CHANGED
@@ -27,9 +27,10 @@ interface AttachmentProps<T> {
27
27
  deleteAction?: (name: string) => Promise<void> | void;
28
28
  initialFiles?: UploadedFile$1[];
29
29
  iconFileItem?: any | React.ReactNode | React.ReactElement | React.ElementType | null;
30
+ view?: 'file' | 'button';
30
31
  }
31
32
 
32
- declare const Attachment: ({ sx, compact, error, maxSize, fileAccepted, onLoading, onChange, downloadAction, deleteAction, initialFiles, iconFileItem, }: AttachmentProps<any>) => React__default.JSX.Element;
33
+ declare const Attachment: ({ sx, compact, error, maxSize, fileAccepted, onLoading, onChange, downloadAction, deleteAction, initialFiles, iconFileItem, view, }: AttachmentProps<any>) => React__default.JSX.Element;
33
34
 
34
35
  type ReplyPalette$1 = "primary" | "secondary" | "warning" | "info" | "success" | "error" | any;
35
36
  type ReplyTextPalette = "primary" | "secondary" | "disabled";
@@ -639,6 +640,28 @@ interface SCDialogProps {
639
640
  }
640
641
  declare const SCDialog: ({ title, iconTitle, subtitle, content, actions, buttonDialog, disableClose, dividers, widthContent, heightContent, background, typeView, setShow, show }: SCDialogProps) => React__default.JSX.Element;
641
642
 
643
+ interface ColumnDef {
644
+ field: string;
645
+ type?: 'number' | 'string' | 'boolean' | 'date' | 'dateTime';
646
+ headerName?: string;
647
+ valueGetter?: (value: any) => any;
648
+ renderCell?: (value: any) => any;
649
+ }
650
+ interface DownloadButtonProps {
651
+ text?: string;
652
+ color?: 'inherit' | 'primary' | 'secondary' | 'success' | 'error' | 'info' | 'warning';
653
+ variant?: 'text' | 'outlined' | 'contained';
654
+ disabled?: boolean;
655
+ size?: 'small' | 'medium' | 'large';
656
+ }
657
+ interface SCDownloadExcelTableProps {
658
+ downloadButton?: DownloadButtonProps;
659
+ fileName?: string;
660
+ data?: Record<string, any>[];
661
+ columns?: ColumnDef[];
662
+ }
663
+ declare const SCDownloadExcelTable: ({ downloadButton, fileName, data, columns, }: SCDownloadExcelTableProps) => React__default.JSX.Element;
664
+
642
665
  interface Option$2 {
643
666
  title?: string;
644
667
  subtitle?: any;
@@ -757,4 +780,4 @@ declare const SincoTheme: _mui_material_styles.Theme;
757
780
  declare let AdproSincoTheme: _mui_material_styles.Theme;
758
781
  declare let ADCSincoTheme: _mui_material_styles.Theme;
759
782
 
760
- export { ADCSincoTheme, AdproSincoTheme, Attachment, AttachmentMobile, BasicMenu, type BasicMenuProps, CALENDAR_CONSTANTS, Calendar, type CalendarEvent, type CalendarProps, type CalendarView, type CellBorderType, DayEventsList, EmptyState, type EmptyStateProperties, type EmptyStateSize, type EmptyStateStates, type EventState, FooterAction, type FooterActionsProperties, type ModalProps, type ModalStates, MultiSelect, type MultiSelectProps, type NavigationAction, PageHeader, type PageheaderProperties, type ReplyButtonVariants, type ReplyPalette$1 as ReplyPalette, type ReplyTextPalette, type ReplyVariants, type RepplyAnchorPositions, type RepplySizeVariants, SCActivityCalendar, SCAlert, SCAppBar, SCAutocomplete, SCCalendarSwipeable, SCCard, SCDataGrid, SCDataGridInitial, SCDatePicker, SCDateRange, SCDialog, SCDrawer, SCListContent, SCMenu, SCModal, SCSelect, SCSnackBar, SCTabs, SCTextArea, type SCTextAreaProps, SCTextField, type SCTextFieldProps, SCTime, SCToastNotification, SCZoom, SincoTheme, StopEvent, type ToastBaseProperties, ToastProgress, type ToastType, capitalize, clampEventToVisibleRange, filterEventsForDay, getButtonColor, getCellBorderType, getIcon, getIconComponent, getIconMultiSelect, getModalColor, modalStateConfig, useCalendarNavigation, useFilteredItems, useMultiSelectHandlers, useProgress };
783
+ export { ADCSincoTheme, AdproSincoTheme, Attachment, AttachmentMobile, BasicMenu, type BasicMenuProps, CALENDAR_CONSTANTS, Calendar, type CalendarEvent, type CalendarProps, type CalendarView, type CellBorderType, DayEventsList, EmptyState, type EmptyStateProperties, type EmptyStateSize, type EmptyStateStates, type EventState, FooterAction, type FooterActionsProperties, type ModalProps, type ModalStates, MultiSelect, type MultiSelectProps, type NavigationAction, PageHeader, type PageheaderProperties, type ReplyButtonVariants, type ReplyPalette$1 as ReplyPalette, type ReplyTextPalette, type ReplyVariants, type RepplyAnchorPositions, type RepplySizeVariants, SCActivityCalendar, SCAlert, SCAppBar, SCAutocomplete, SCCalendarSwipeable, SCCard, SCDataGrid, SCDataGridInitial, SCDatePicker, SCDateRange, SCDialog, SCDownloadExcelTable, SCDrawer, SCListContent, SCMenu, SCModal, SCSelect, SCSnackBar, SCTabs, SCTextArea, type SCTextAreaProps, SCTextField, type SCTextFieldProps, SCTime, SCToastNotification, SCZoom, SincoTheme, StopEvent, type ToastBaseProperties, ToastProgress, type ToastType, capitalize, clampEventToVisibleRange, filterEventsForDay, getButtonColor, getCellBorderType, getIcon, getIconComponent, getIconMultiSelect, getModalColor, modalStateConfig, useCalendarNavigation, useFilteredItems, useMultiSelectHandlers, useProgress };
package/dist/index.js CHANGED
@@ -400,7 +400,8 @@ var Attachment = ({
400
400
  downloadAction,
401
401
  deleteAction,
402
402
  initialFiles = [],
403
- iconFileItem
403
+ iconFileItem,
404
+ view = "button"
404
405
  }) => {
405
406
  const [files, setFiles] = useState4([]);
406
407
  const [fileToDelete, setFileToDelete] = useState4(null);
@@ -524,7 +525,7 @@ var Attachment = ({
524
525
  return filteredFiles;
525
526
  });
526
527
  };
527
- return /* @__PURE__ */ React4.createElement(Stack3, { spacing: 2 }, toast && /* @__PURE__ */ React4.createElement(SCToastNotification, __spreadValues({}, toast)), /* @__PURE__ */ React4.createElement(
528
+ return /* @__PURE__ */ React4.createElement(Stack3, { spacing: 2, display: "flex", flexDirection: "column", gap: 1 }, toast && /* @__PURE__ */ React4.createElement(SCToastNotification, __spreadValues({}, toast)), /* @__PURE__ */ React4.createElement(
528
529
  "input",
529
530
  {
530
531
  type: "file",
@@ -533,7 +534,7 @@ var Attachment = ({
533
534
  ref: inputRef,
534
535
  onChange: handleUpload
535
536
  }
536
- ), /* @__PURE__ */ React4.createElement(
537
+ ), view === "button" && /* @__PURE__ */ React4.createElement(
537
538
  Stack3,
538
539
  {
539
540
  "data-testid": "ZonaAdjuntos",
@@ -642,6 +643,7 @@ var Attachment = ({
642
643
  id: "ContenedorArchivosAdjuntos",
643
644
  width: "100%",
644
645
  sx: __spreadValues({
646
+ marginTop: "0px !important",
645
647
  overflowY: "auto"
646
648
  }, files.length > 5 && {
647
649
  maxHeight: 250
@@ -701,7 +703,7 @@ var Attachment = ({
701
703
  },
702
704
  /* @__PURE__ */ React4.createElement(FileDownload, { fontSize: "small", color: "action" })
703
705
  )),
704
- /* @__PURE__ */ React4.createElement(Tooltip, { title: "Eliminar" }, /* @__PURE__ */ React4.createElement(
706
+ view === "button" && /* @__PURE__ */ React4.createElement(Tooltip, { title: "Eliminar" }, /* @__PURE__ */ React4.createElement(
705
707
  IconButton3,
706
708
  {
707
709
  size: "small",
@@ -2826,7 +2828,7 @@ function SCAutocomplete({
2826
2828
  __spreadValues({
2827
2829
  size: "small",
2828
2830
  label: getItemValue(option).text
2829
- }, chipOutside.type === "avatar" ? { avatar: /* @__PURE__ */ React15.createElement(Avatar, null, avatarText) } : {})
2831
+ }, chipOutside.type === "avatar" ? { avatar: /* @__PURE__ */ React15.createElement(Avatar, { sx: { height: "15px !important", width: "15px !important" } }, avatarText) } : {})
2830
2832
  ));
2831
2833
  })
2832
2834
  ), /* @__PURE__ */ React15.createElement(Box11, { sx: { display: "flex", flexWrap: "wrap", gap: 0.5, maxHeight: 36, overflow: "hidden" } }, selectedOptions.slice(0, displayCount).map((option) => {
@@ -2840,7 +2842,7 @@ function SCAutocomplete({
2840
2842
  variant: "filled",
2841
2843
  label: getItemValue(option).text,
2842
2844
  onDelete: () => handleDeleteChip(option)
2843
- }, chipOutside.type === "avatar" ? { avatar: /* @__PURE__ */ React15.createElement(Avatar, null, avatarText) } : {})
2845
+ }, chipOutside.type === "avatar" ? { avatar: /* @__PURE__ */ React15.createElement(Avatar, { sx: { height: "15px !important", width: "15px !important" } }, avatarText) } : {})
2844
2846
  );
2845
2847
  }), hiddenCount > 0 && /* @__PURE__ */ React15.createElement(
2846
2848
  Box11,
@@ -4412,7 +4414,7 @@ var PageHeader = ({
4412
4414
  fixed,
4413
4415
  shadow = true
4414
4416
  }) => {
4415
- return /* @__PURE__ */ React35.createElement(
4417
+ return /* @__PURE__ */ React35.createElement(React35.Fragment, null, /* @__PURE__ */ React35.createElement(
4416
4418
  Stack13,
4417
4419
  {
4418
4420
  "data-testid": "main-container",
@@ -4425,7 +4427,7 @@ var PageHeader = ({
4425
4427
  sx: { boxShadow: shadow ? (theme) => theme.shadows[1] : "none" }
4426
4428
  },
4427
4429
  /* @__PURE__ */ React35.createElement(Stack13, { "data-testid": "page-header-content", height: 40, px: 3, pl: buttonBack ? 1 : 3, direction: "row", alignItems: "center", justifyContent: "space-between" }, /* @__PURE__ */ React35.createElement(Stack13, { id: "left-section", direction: "row", alignItems: "center", gap: 1 }, buttonBack, /* @__PURE__ */ React35.createElement(Stack13, { id: "text-section", gap: 0.5 }, /* @__PURE__ */ React35.createElement(Typography18, { "data-testid": "page-header-title", variant: "h6", color: "text.primary" }, title), subtitle && /* @__PURE__ */ React35.createElement(Typography18, { "data-testid": "page-header-subtitle", variant: "caption", color: "text.secondary" }, subtitle))), actions && /* @__PURE__ */ React35.createElement(Stack13, { id: "right-actions", direction: "row", alignItems: "center", gap: 1 }, actions))
4428
- );
4430
+ ), fixed && /* @__PURE__ */ React35.createElement(Stack13, { sx: { height: 48 } }));
4429
4431
  };
4430
4432
 
4431
4433
  // src/Components/SCActivityCalendar.tsx
@@ -5638,8 +5640,56 @@ var SCDialog = ({ title, iconTitle, subtitle, content, actions, buttonDialog, di
5638
5640
  )));
5639
5641
  };
5640
5642
 
5641
- // src/Components/SCMenu.tsx
5643
+ // src/Components/SCDownloadExcelTable.tsx
5642
5644
  import React45 from "react";
5645
+ import { Button as Button20 } from "@mui/material";
5646
+ import FileDownloadOutlinedIcon2 from "@mui/icons-material/FileDownloadOutlined";
5647
+ import * as XLSX from "xlsx";
5648
+ var SCDownloadExcelTable = ({
5649
+ downloadButton,
5650
+ fileName = "archivo excel",
5651
+ data = [],
5652
+ columns = []
5653
+ }) => {
5654
+ const formatValue = (value, type) => {
5655
+ if (value === null || value === void 0) return "";
5656
+ if (type === "boolean") return value ? "S\xED" : "No";
5657
+ if ((type === "date" || type === "dateTime") && value instanceof Date)
5658
+ return value.toLocaleString("es-CO");
5659
+ if ((type === "date" || type === "dateTime") && typeof value === "string")
5660
+ return new Date(value).toLocaleString("es-CO");
5661
+ return value;
5662
+ };
5663
+ const descargaExcel = () => {
5664
+ const headers = columns.map((col) => col.field == "" ? "" : col.headerName);
5665
+ const rows = data.map(
5666
+ (row) => columns.map((col) => {
5667
+ const raw = row[col.field];
5668
+ const resolved = col.valueGetter ? col.valueGetter(raw) : raw;
5669
+ return formatValue(resolved, col.type);
5670
+ })
5671
+ );
5672
+ const worksheet = XLSX.utils.aoa_to_sheet([headers, ...rows]);
5673
+ const workbook = XLSX.utils.book_new();
5674
+ XLSX.utils.book_append_sheet(workbook, worksheet, "Hoja1");
5675
+ XLSX.writeFile(workbook, `${fileName}.xlsx`);
5676
+ };
5677
+ return /* @__PURE__ */ React45.createElement(
5678
+ Button20,
5679
+ {
5680
+ onClick: descargaExcel,
5681
+ startIcon: /* @__PURE__ */ React45.createElement(FileDownloadOutlinedIcon2, null),
5682
+ size: (downloadButton == null ? void 0 : downloadButton.size) || "small",
5683
+ color: (downloadButton == null ? void 0 : downloadButton.color) || "primary",
5684
+ variant: (downloadButton == null ? void 0 : downloadButton.variant) || "text",
5685
+ disabled: (downloadButton == null ? void 0 : downloadButton.disabled) || data.length === 0
5686
+ },
5687
+ (downloadButton == null ? void 0 : downloadButton.text) || "Descargar Excel"
5688
+ );
5689
+ };
5690
+
5691
+ // src/Components/SCMenu.tsx
5692
+ import React46 from "react";
5643
5693
  import { Box as Box27, Typography as Typography26, Paper as Paper5, Divider as Divider8, MenuList as MenuList3, MenuItem as MenuItem9, ListItemIcon as ListItemIcon7, SvgIcon as SvgIcon11 } from "@mui/material";
5644
5694
  import Grid12 from "@mui/material/Grid";
5645
5695
 
@@ -5672,12 +5722,12 @@ var SCMenu = ({ header, options, defaultOption, disable, widthMenu, heightMenu,
5672
5722
  const pageSize = widthPage ? parseInt(widthPage) : width - menuSize;
5673
5723
  const widthContainer = menuSize + pageSize;
5674
5724
  let heightContainer = heightMenu ? parseInt(heightMenu) : height - 76;
5675
- const [selectedIndex, setSelectedIndex] = React45.useState("1");
5676
- const [value, setValue] = React45.useState("1");
5677
- React45.useEffect(() => {
5725
+ const [selectedIndex, setSelectedIndex] = React46.useState("1");
5726
+ const [value, setValue] = React46.useState("1");
5727
+ React46.useEffect(() => {
5678
5728
  heightContainer = heightMenu ? parseInt(heightMenu) : height - 76;
5679
5729
  }, [height]);
5680
- React45.useEffect(() => {
5730
+ React46.useEffect(() => {
5681
5731
  if (defaultOption) {
5682
5732
  handleClickMenusItem(event, void 0);
5683
5733
  }
@@ -5707,7 +5757,7 @@ var SCMenu = ({ header, options, defaultOption, disable, widthMenu, heightMenu,
5707
5757
  setValue(String(index + 1));
5708
5758
  }
5709
5759
  };
5710
- return /* @__PURE__ */ React45.createElement(React45.Fragment, null, /* @__PURE__ */ React45.createElement(Grid12, { container: true, sx: { height: heightContainer, width: widthContainer, flexDirection: "column" } }, /* @__PURE__ */ React45.createElement(Paper5, { "data-testid": "menu-content", sx: { width: menuSize, height: heightContainer, overflow: "auto" } }, header && header.component, /* @__PURE__ */ React45.createElement(MenuList3, { sx: { height: options.length * 45, padding: "8px 0px" } }, options.map((option, index) => /* @__PURE__ */ React45.createElement(React45.Fragment, null, /* @__PURE__ */ React45.createElement(
5760
+ return /* @__PURE__ */ React46.createElement(React46.Fragment, null, /* @__PURE__ */ React46.createElement(Grid12, { container: true, sx: { height: heightContainer, width: widthContainer, flexDirection: "column" } }, /* @__PURE__ */ React46.createElement(Paper5, { "data-testid": "menu-content", sx: { width: menuSize, height: heightContainer, overflow: "auto" } }, header && header.component, /* @__PURE__ */ React46.createElement(MenuList3, { sx: { height: options.length * 45, padding: "8px 0px" } }, options.map((option, index) => /* @__PURE__ */ React46.createElement(React46.Fragment, null, /* @__PURE__ */ React46.createElement(
5711
5761
  MenuItem9,
5712
5762
  {
5713
5763
  disabled: disable == true ? true : false,
@@ -5715,13 +5765,13 @@ var SCMenu = ({ header, options, defaultOption, disable, widthMenu, heightMenu,
5715
5765
  selected: String(index + 1) === selectedIndex,
5716
5766
  onClick: (event2) => handleClickMenusItem(event2, index)
5717
5767
  },
5718
- option.iconLeft ? /* @__PURE__ */ React45.createElement(ListItemIcon7, { sx: { color: String(index + 1) === selectedIndex ? "primary" : "active" } }, /* @__PURE__ */ React45.createElement(SvgIcon11, { fontSize: "small", color: String(index + 1) === selectedIndex ? "primary" : "action", component: option.iconLeft })) : "",
5719
- /* @__PURE__ */ React45.createElement(Grid12, { container: true, size: 12, sx: { maxWidth: 220, flexWrap: "noWrap", alignItems: "center" } }, /* @__PURE__ */ React45.createElement(Typography26, { noWrap: true, variant: "caption", color: String(index + 1) === selectedIndex ? "primary" : "active" }, option.name), option.iconRight ? /* @__PURE__ */ React45.createElement(ListItemIcon7, { sx: { minWidth: "0px !important", color: String(index + 1) === selectedIndex ? "primary" : "active" } }, /* @__PURE__ */ React45.createElement(SvgIcon11, { fontSize: "small", color: String(index + 1) === selectedIndex ? "primary" : "action", component: option.iconRight })) : "")
5720
- ), option.divider == true ? /* @__PURE__ */ React45.createElement(Divider8, null) : "")))), /* @__PURE__ */ React45.createElement(Grid12, { container: true }, options.map((option, index) => option.page ? String(index + 1) == value ? /* @__PURE__ */ React45.createElement(Box27, { "data-testid": "menu-page-content", sx: { padding: "16px", width: pageSize, height: heightContainer }, key: index }, option.page) : "" : /* @__PURE__ */ React45.createElement(Typography26, { color: "error" }, "No se ha configurado el componente a visualizar")))));
5768
+ option.iconLeft ? /* @__PURE__ */ React46.createElement(ListItemIcon7, { sx: { color: String(index + 1) === selectedIndex ? "primary" : "active" } }, /* @__PURE__ */ React46.createElement(SvgIcon11, { fontSize: "small", color: String(index + 1) === selectedIndex ? "primary" : "action", component: option.iconLeft })) : "",
5769
+ /* @__PURE__ */ React46.createElement(Grid12, { container: true, size: 12, sx: { maxWidth: 220, flexWrap: "noWrap", alignItems: "center" } }, /* @__PURE__ */ React46.createElement(Typography26, { noWrap: true, variant: "caption", color: String(index + 1) === selectedIndex ? "primary" : "active" }, option.name), option.iconRight ? /* @__PURE__ */ React46.createElement(ListItemIcon7, { sx: { minWidth: "0px !important", color: String(index + 1) === selectedIndex ? "primary" : "active" } }, /* @__PURE__ */ React46.createElement(SvgIcon11, { fontSize: "small", color: String(index + 1) === selectedIndex ? "primary" : "action", component: option.iconRight })) : "")
5770
+ ), option.divider == true ? /* @__PURE__ */ React46.createElement(Divider8, null) : "")))), /* @__PURE__ */ React46.createElement(Grid12, { container: true }, options.map((option, index) => option.page ? String(index + 1) == value ? /* @__PURE__ */ React46.createElement(Box27, { "data-testid": "menu-page-content", sx: { padding: "16px", width: pageSize, height: heightContainer }, key: index }, option.page) : "" : /* @__PURE__ */ React46.createElement(Typography26, { color: "error" }, "No se ha configurado el componente a visualizar")))));
5721
5771
  };
5722
5772
 
5723
5773
  // src/Components/SCSnackBar.tsx
5724
- import React46 from "react";
5774
+ import React47 from "react";
5725
5775
  import MuiAlert from "@mui/material/Alert";
5726
5776
  import "dayjs/locale/es";
5727
5777
  import Snackbar from "@mui/material/Snackbar";
@@ -5742,7 +5792,7 @@ var SCSnackBar = ({
5742
5792
  }
5743
5793
  setOpenState(false);
5744
5794
  };
5745
- return /* @__PURE__ */ React46.createElement(React46.Fragment, null, /* @__PURE__ */ React46.createElement(
5795
+ return /* @__PURE__ */ React47.createElement(React47.Fragment, null, /* @__PURE__ */ React47.createElement(
5746
5796
  Snackbar,
5747
5797
  __spreadProps(__spreadValues({
5748
5798
  anchorOrigin: { vertical: posicionVertical, horizontal: posicionHorizontal },
@@ -5751,7 +5801,7 @@ var SCSnackBar = ({
5751
5801
  }, close ? { onClose: handleClose } : {}), {
5752
5802
  sx: { zIndex: 2e3 }
5753
5803
  }),
5754
- /* @__PURE__ */ React46.createElement(
5804
+ /* @__PURE__ */ React47.createElement(
5755
5805
  MuiAlert,
5756
5806
  __spreadProps(__spreadValues({}, close ? { onClose: handleClose } : {}), {
5757
5807
  severity: type,
@@ -5763,19 +5813,19 @@ var SCSnackBar = ({
5763
5813
  };
5764
5814
 
5765
5815
  // src/Components/SCTabs.tsx
5766
- import React47, { useEffect as useEffect21 } from "react";
5816
+ import React48, { useEffect as useEffect21 } from "react";
5767
5817
  import { Typography as Typography27, Box as Box28, SvgIcon as SvgIcon12, Tab as Tab3, Tabs as Tabs3, Badge as Badge3 } from "@mui/material";
5768
5818
  import TabPanel from "@mui/lab/TabPanel";
5769
5819
  import TabContext from "@mui/lab/TabContext";
5770
5820
  import * as Muicon11 from "@mui/icons-material";
5771
5821
  var SCTabs = ({ options, defaultOption, typeIcon, background, iconPosition, colorTab, orientation, variant, scrollButtons, children }) => {
5772
- const [toast, setToast] = React47.useState(null);
5822
+ const [toast, setToast] = React48.useState(null);
5773
5823
  let i = 0;
5774
5824
  let j = 0;
5775
5825
  let k = 0;
5776
5826
  let l = 0;
5777
5827
  let validateTypeIcon = true;
5778
- const [value, setValue] = React47.useState("1");
5828
+ const [value, setValue] = React48.useState("1");
5779
5829
  useEffect21(() => {
5780
5830
  if (defaultOption) {
5781
5831
  handleChange(event, void 0);
@@ -5826,7 +5876,7 @@ var SCTabs = ({ options, defaultOption, typeIcon, background, iconPosition, colo
5826
5876
  setValue(newValue);
5827
5877
  }
5828
5878
  };
5829
- return /* @__PURE__ */ React47.createElement(React47.Fragment, null, validateTypeIcon == true ? /* @__PURE__ */ React47.createElement(Box28, { sx: { height: orientation == "vertical" ? "100%" : "auto", display: "flex", flexDirection: orientation == "vertical" ? "row" : "column" }, id: "tabsitos" }, /* @__PURE__ */ React47.createElement(TabContext, { value }, /* @__PURE__ */ React47.createElement(
5879
+ return /* @__PURE__ */ React48.createElement(React48.Fragment, null, validateTypeIcon == true ? /* @__PURE__ */ React48.createElement(Box28, { sx: { height: orientation == "vertical" ? "100%" : "auto", display: "flex", flexDirection: orientation == "vertical" ? "row" : "column" }, id: "tabsitos" }, /* @__PURE__ */ React48.createElement(TabContext, { value }, /* @__PURE__ */ React48.createElement(
5830
5880
  Tabs3,
5831
5881
  {
5832
5882
  "data-testid": "tab-container",
@@ -5840,7 +5890,7 @@ var SCTabs = ({ options, defaultOption, typeIcon, background, iconPosition, colo
5840
5890
  orientation: orientation || "horizontal",
5841
5891
  sx: { borderBottom: orientation == "vertical" ? 0 : 1, borderRight: orientation == "vertical" ? 1 : 0, borderColor: "divider", background: background || "" }
5842
5892
  },
5843
- options.map((option) => /* @__PURE__ */ React47.createElement(
5893
+ options.map((option) => /* @__PURE__ */ React48.createElement(
5844
5894
  Tab3,
5845
5895
  {
5846
5896
  "data-testid": "tab-item",
@@ -5849,7 +5899,7 @@ var SCTabs = ({ options, defaultOption, typeIcon, background, iconPosition, colo
5849
5899
  label: option.name || "",
5850
5900
  disabled: option.disabled || false,
5851
5901
  iconPosition: iconPosition || "end",
5852
- icon: typeIcon == "badge" ? /* @__PURE__ */ React47.createElement(
5902
+ icon: typeIcon == "badge" ? /* @__PURE__ */ React48.createElement(
5853
5903
  Badge3,
5854
5904
  {
5855
5905
  sx: {
@@ -5864,23 +5914,23 @@ var SCTabs = ({ options, defaultOption, typeIcon, background, iconPosition, colo
5864
5914
  badgeContent: option.iconOrBadge,
5865
5915
  color: value == String(i) ? colorTab ? colorTab : "primary" : "default"
5866
5916
  }
5867
- ) : typeIcon == "icon" ? /* @__PURE__ */ React47.createElement(SvgIcon12, { fontSize: "small", component: option.iconOrBadge, color: value == String(i) ? colorTab ? colorTab : "primary" : "action", sx: { width: "20px", height: "20px" } }) : "",
5917
+ ) : typeIcon == "icon" ? /* @__PURE__ */ React48.createElement(SvgIcon12, { fontSize: "small", component: option.iconOrBadge, color: value == String(i) ? colorTab ? colorTab : "primary" : "action", sx: { width: "20px", height: "20px" } }) : "",
5868
5918
  sx: { "& .MuiTab-icon": { margin: "0px !important" }, padding: "10px 16px", gap: "4px" }
5869
5919
  }
5870
5920
  ))
5871
- ), children, options.map((option) => /* @__PURE__ */ React47.createElement(
5921
+ ), children, options.map((option) => /* @__PURE__ */ React48.createElement(
5872
5922
  TabPanel,
5873
5923
  {
5874
5924
  key: k = k + 1,
5875
5925
  value: String(l = l + 1),
5876
5926
  sx: { padding: "16px" }
5877
5927
  },
5878
- option.page ? option.page : /* @__PURE__ */ React47.createElement(Typography27, null, "No se ha configurado el componente a visualizar ")
5879
- )))) : /* @__PURE__ */ React47.createElement(Box28, { sx: { height: "200px" } }, toast && /* @__PURE__ */ React47.createElement(SCToastNotification, __spreadValues({ "data-testid": "error-tab-message" }, toast))));
5928
+ option.page ? option.page : /* @__PURE__ */ React48.createElement(Typography27, null, "No se ha configurado el componente a visualizar ")
5929
+ )))) : /* @__PURE__ */ React48.createElement(Box28, { sx: { height: "200px" } }, toast && /* @__PURE__ */ React48.createElement(SCToastNotification, __spreadValues({ "data-testid": "error-tab-message" }, toast))));
5880
5930
  };
5881
5931
 
5882
5932
  // src/Components/SCTime.tsx
5883
- import React48, { useState as useState27 } from "react";
5933
+ import React49, { useState as useState27 } from "react";
5884
5934
  import { Box as Box29, InputAdornment as InputAdornment6, Popover as Popover8, ClickAwayListener as ClickAwayListener3 } from "@mui/material";
5885
5935
  import { LocalizationProvider as LocalizationProvider5 } from "@mui/x-date-pickers/LocalizationProvider";
5886
5936
  import { AdapterDayjs as AdapterDayjs3 } from "@mui/x-date-pickers/AdapterDayjs";
@@ -5941,7 +5991,7 @@ var SCTime = ({
5941
5991
  setIsOpenPopover(false);
5942
5992
  setAnchorEl(null);
5943
5993
  };
5944
- return /* @__PURE__ */ React48.createElement(LocalizationProvider5, { dateAdapter: AdapterDayjs3 }, /* @__PURE__ */ React48.createElement(Box29, { sx: { position: "relative", minWidth: "120px", width: width ? `${width}%` : "99%" } }, /* @__PURE__ */ React48.createElement(
5994
+ return /* @__PURE__ */ React49.createElement(LocalizationProvider5, { dateAdapter: AdapterDayjs3 }, /* @__PURE__ */ React49.createElement(Box29, { sx: { position: "relative", minWidth: "120px", width: width ? `${width}%` : "99%" } }, /* @__PURE__ */ React49.createElement(
5945
5995
  TimeField,
5946
5996
  {
5947
5997
  label,
@@ -5953,7 +6003,7 @@ var SCTime = ({
5953
6003
  slotProps: {
5954
6004
  textField: {
5955
6005
  InputProps: {
5956
- endAdornment: /* @__PURE__ */ React48.createElement(InputAdornment6, { position: "end" }, /* @__PURE__ */ React48.createElement(
6006
+ endAdornment: /* @__PURE__ */ React49.createElement(InputAdornment6, { position: "end" }, /* @__PURE__ */ React49.createElement(
5957
6007
  AccessTimeIcon,
5958
6008
  {
5959
6009
  color: disabled ? "disabled" : "action",
@@ -5982,7 +6032,7 @@ var SCTime = ({
5982
6032
  }
5983
6033
  }
5984
6034
  }
5985
- ), /* @__PURE__ */ React48.createElement(
6035
+ ), /* @__PURE__ */ React49.createElement(
5986
6036
  Popover8,
5987
6037
  {
5988
6038
  open: isOpenPopover,
@@ -6013,7 +6063,7 @@ var SCTime = ({
6013
6063
  }
6014
6064
  }
6015
6065
  },
6016
- /* @__PURE__ */ React48.createElement(ClickAwayListener3, { onClickAway: handleClose }, /* @__PURE__ */ React48.createElement(Box29, { sx: { p: 0 } }, /* @__PURE__ */ React48.createElement(
6066
+ /* @__PURE__ */ React49.createElement(ClickAwayListener3, { onClickAway: handleClose }, /* @__PURE__ */ React49.createElement(Box29, { sx: { p: 0 } }, /* @__PURE__ */ React49.createElement(
6017
6067
  DigitalClock,
6018
6068
  {
6019
6069
  value: state,
@@ -6036,7 +6086,7 @@ var SCTime = ({
6036
6086
  };
6037
6087
 
6038
6088
  // src/Components/SCZoom.tsx
6039
- import React49, { useState as useState28 } from "react";
6089
+ import React50, { useState as useState28 } from "react";
6040
6090
  import { Typography as Typography29, Divider as Divider9, IconButton as IconButton18, Box as Box30 } from "@mui/material";
6041
6091
  import Grid13 from "@mui/material/Grid";
6042
6092
  import ZoomOutIcon from "@mui/icons-material/ZoomOut";
@@ -6053,7 +6103,7 @@ var SCZoom = ({ image, width, height, bottom, left }) => {
6053
6103
  const handleReset = () => {
6054
6104
  setZoom(1);
6055
6105
  };
6056
- return /* @__PURE__ */ React49.createElement(Box30, { style: { width: width || "280px", height: height || "280px" } }, /* @__PURE__ */ React49.createElement(
6106
+ return /* @__PURE__ */ React50.createElement(Box30, { style: { width: width || "280px", height: height || "280px" } }, /* @__PURE__ */ React50.createElement(
6057
6107
  Box30,
6058
6108
  {
6059
6109
  sx: {
@@ -6063,7 +6113,7 @@ var SCZoom = ({ image, width, height, bottom, left }) => {
6063
6113
  height: height || "340px"
6064
6114
  }
6065
6115
  },
6066
- /* @__PURE__ */ React49.createElement(
6116
+ /* @__PURE__ */ React50.createElement(
6067
6117
  "img",
6068
6118
  {
6069
6119
  src: image,
@@ -6075,14 +6125,14 @@ var SCZoom = ({ image, width, height, bottom, left }) => {
6075
6125
  }
6076
6126
  }
6077
6127
  )
6078
- ), /* @__PURE__ */ React49.createElement(Grid13, { container: true, flexWrap: "nowrap", alignItems: "center", gap: 1, sx: { position: "relative", bottom: bottom != null ? bottom : `calc(100% - 87%)`, left: left != null ? left : `calc(100% - 72%)`, zIndex: 1, width: "147px", borderRadius: "4px", padding: "4px 12px", border: bottom ? "0px" : "1px solid #0000001F", background: "white", boxShadow: bottom ? "" : "2px 3px 5px 0px #18274B33" } }, /* @__PURE__ */ React49.createElement(Grid13, { container: true, alignItems: "center", justifyContent: "center", flexWrap: "nowrap", gap: 0.5, sx: { width: "84px" } }, /* @__PURE__ */ React49.createElement(IconButton18, { onClick: handleZoomOut, disabled: zoom <= 0.5, size: "small" }, /* @__PURE__ */ React49.createElement(ZoomOutIcon, { color: "action", fontSize: "small" })), /* @__PURE__ */ React49.createElement(Typography29, { variant: "body2", color: "textSecondary" }, Math.round(zoom * 100), "%"), /* @__PURE__ */ React49.createElement(IconButton18, { onClick: handleZoomIn, disabled: zoom >= 3, color: "primary", size: "small" }, /* @__PURE__ */ React49.createElement(ZoomInIcon, { color: "action", fontSize: "small" }))), /* @__PURE__ */ React49.createElement(Divider9, { orientation: "vertical", sx: { width: "1px", height: "16px" } }), /* @__PURE__ */ React49.createElement(IconButton18, { onClick: handleReset, color: "primary", size: "small" }, /* @__PURE__ */ React49.createElement(RotateRightIcon, { color: "action", fontSize: "small" }))));
6128
+ ), /* @__PURE__ */ React50.createElement(Grid13, { container: true, flexWrap: "nowrap", alignItems: "center", gap: 1, sx: { position: "relative", bottom: bottom != null ? bottom : `calc(100% - 87%)`, left: left != null ? left : `calc(100% - 72%)`, zIndex: 1, width: "147px", borderRadius: "4px", padding: "4px 12px", border: bottom ? "0px" : "1px solid #0000001F", background: "white", boxShadow: bottom ? "" : "2px 3px 5px 0px #18274B33" } }, /* @__PURE__ */ React50.createElement(Grid13, { container: true, alignItems: "center", justifyContent: "center", flexWrap: "nowrap", gap: 0.5, sx: { width: "84px" } }, /* @__PURE__ */ React50.createElement(IconButton18, { onClick: handleZoomOut, disabled: zoom <= 0.5, size: "small" }, /* @__PURE__ */ React50.createElement(ZoomOutIcon, { color: "action", fontSize: "small" })), /* @__PURE__ */ React50.createElement(Typography29, { variant: "body2", color: "textSecondary" }, Math.round(zoom * 100), "%"), /* @__PURE__ */ React50.createElement(IconButton18, { onClick: handleZoomIn, disabled: zoom >= 3, color: "primary", size: "small" }, /* @__PURE__ */ React50.createElement(ZoomInIcon, { color: "action", fontSize: "small" }))), /* @__PURE__ */ React50.createElement(Divider9, { orientation: "vertical", sx: { width: "1px", height: "16px" } }), /* @__PURE__ */ React50.createElement(IconButton18, { onClick: handleReset, color: "primary", size: "small" }, /* @__PURE__ */ React50.createElement(RotateRightIcon, { color: "action", fontSize: "small" }))));
6079
6129
  };
6080
6130
 
6081
6131
  // src/Theme/index.ts
6082
6132
  import { createTheme } from "@mui/material/styles";
6083
6133
 
6084
6134
  // src/Theme/components.ts
6085
- import React50 from "react";
6135
+ import React51 from "react";
6086
6136
  import {
6087
6137
  InfoRounded as InfoRounded2,
6088
6138
  CheckCircleRounded as CheckCircleRounded2,
@@ -6786,10 +6836,10 @@ var components = {
6786
6836
  MuiAlert: {
6787
6837
  defaultProps: {
6788
6838
  iconMapping: {
6789
- success: React50.createElement(CheckCircleRounded2),
6790
- error: React50.createElement(ErrorRounded2),
6791
- warning: React50.createElement(WarningRounded2),
6792
- info: React50.createElement(InfoRounded2)
6839
+ success: React51.createElement(CheckCircleRounded2),
6840
+ error: React51.createElement(ErrorRounded2),
6841
+ warning: React51.createElement(WarningRounded2),
6842
+ info: React51.createElement(InfoRounded2)
6793
6843
  }
6794
6844
  },
6795
6845
  variants: [
@@ -7851,6 +7901,7 @@ export {
7851
7901
  SCDatePicker,
7852
7902
  SCDateRange,
7853
7903
  SCDialog,
7904
+ SCDownloadExcelTable,
7854
7905
  SCDrawer,
7855
7906
  SCListContent,
7856
7907
  SCMenu,