componentes-sinco 1.1.31 → 1.1.33

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
@@ -1533,51 +1533,68 @@ var validateInputs = (arrayElements, onError, onSuccess, setChipFilters, setText
1533
1533
 
1534
1534
  // src/Components/Drawer/Helpers/validateTypeElement.tsx
1535
1535
  var import_react10 = __toESM(require("react"), 1);
1536
+ var COMPONENT_NAME_MAP = {
1537
+ SCtextField: "textField",
1538
+ SCtextArea: "textArea",
1539
+ SCDateRange: "dateRange",
1540
+ SCDatePicker: "datePicker",
1541
+ SCTime: "time",
1542
+ SCAutocomplete: "autocomplete",
1543
+ SCSelect: "select"
1544
+ };
1545
+ var getComponentName = (node) => {
1546
+ const type = node.type;
1547
+ return typeof type === "function" ? type.displayName || type.name || "" : "";
1548
+ };
1549
+ var isKnownComponent = (node) => {
1550
+ var _a;
1551
+ const name = getComponentName(node);
1552
+ if (COMPONENT_NAME_MAP[name]) return true;
1553
+ if (((_a = node.props) == null ? void 0 : _a.typeFormat) === "multiselect") return true;
1554
+ return false;
1555
+ };
1556
+ var findInTree = (node) => {
1557
+ var _a;
1558
+ if (!import_react10.default.isValidElement(node)) return null;
1559
+ if (isKnownComponent(node)) return node;
1560
+ const children = (_a = node.props) == null ? void 0 : _a.children;
1561
+ if (!children) return null;
1562
+ for (const child of import_react10.default.Children.toArray(children)) {
1563
+ if (import_react10.default.isValidElement(child)) {
1564
+ const found = findInTree(child);
1565
+ if (found) return found;
1566
+ }
1567
+ }
1568
+ return null;
1569
+ };
1570
+ var resolveValidation = (node) => {
1571
+ var _a;
1572
+ const name = getComponentName(node);
1573
+ if (((_a = node.props) == null ? void 0 : _a.typeFormat) === "multiselect") return "multiselect";
1574
+ return COMPONENT_NAME_MAP[name] || "";
1575
+ };
1536
1576
  var validateTypeElements = (element) => {
1537
1577
  var _a;
1538
1578
  let validation = "";
1539
1579
  let typeElement = element;
1540
- if (element.type == "textField") {
1541
- validation = "textField";
1542
- typeElement = element;
1543
- } else if (import_react10.default.isValidElement(element == null ? void 0 : element.component) && element.component.type && element.component.type.name == "SCtextField") {
1544
- validation = "textField";
1545
- typeElement = element == null ? void 0 : element.component.props;
1546
- } else if (element.type == "textArea") {
1547
- validation = "textArea";
1548
- typeElement = element;
1549
- } else if (import_react10.default.isValidElement(element == null ? void 0 : element.component) && element.component.type && element.component.type.name == "SCtextArea") {
1550
- validation = "textArea";
1551
- typeElement = element == null ? void 0 : element.component.props;
1552
- } else if (element.type == "dateRange") {
1553
- validation = "dateRange";
1554
- typeElement = element;
1555
- } else if (import_react10.default.isValidElement(element == null ? void 0 : element.component) && element.component.type && element.component.type.name == "SCDateRange") {
1556
- validation = "dateRange";
1557
- typeElement = element == null ? void 0 : element.component.props;
1558
- } else if (element.type == "autocomplete") {
1559
- validation = "autocomplete";
1580
+ if (element.type && COMPONENT_NAME_MAP[(_a = Object.keys(COMPONENT_NAME_MAP).find((k) => COMPONENT_NAME_MAP[k] === element.type)) != null ? _a : ""]) {
1581
+ validation = element.type;
1560
1582
  typeElement = element;
1561
- } else if (import_react10.default.isValidElement(element == null ? void 0 : element.component) && element.component.type && element.component.type.name == "SCAutocomplete") {
1562
- validation = "autocomplete";
1563
- typeElement = element == null ? void 0 : element.component.props;
1564
- } else if (element.typeFormat == "multiselect") {
1583
+ } else if (element.typeFormat === "multiselect") {
1565
1584
  validation = "multiselect";
1566
1585
  typeElement = element;
1567
- } else if (import_react10.default.isValidElement(element == null ? void 0 : element.component) && element.component.props && ((_a = element == null ? void 0 : element.component) == null ? void 0 : _a.props).typeFormat == "multiselect") {
1568
- validation = "multiselect";
1569
- typeElement = element == null ? void 0 : element.component.props;
1570
- } else if (element.type == "select") {
1571
- validation = "select";
1572
- typeElement = element;
1573
- } else if (import_react10.default.isValidElement(element == null ? void 0 : element.component) && element.component.type && element.component.type.name == "SCSelect") {
1574
- validation = "select";
1575
- typeElement = element == null ? void 0 : element.component.props;
1586
+ } else if (import_react10.default.isValidElement(element == null ? void 0 : element.component) && isKnownComponent(element.component)) {
1587
+ const node = element.component;
1588
+ validation = resolveValidation(node);
1589
+ typeElement = node.props;
1590
+ } else if (import_react10.default.isValidElement(element == null ? void 0 : element.component)) {
1591
+ const found = findInTree(element.component);
1592
+ if (found) {
1593
+ validation = resolveValidation(found);
1594
+ typeElement = found.props;
1595
+ }
1576
1596
  }
1577
- return {
1578
- validation,
1579
- element: typeElement
1580
- };
1597
+ return { validation, element: typeElement };
1581
1598
  };
1582
1599
 
1583
1600
  // src/Components/Drawer/hooks/useDrawerState.ts
@@ -1642,11 +1659,11 @@ var useChipFilters = (arrayElements, chipFilters) => {
1642
1659
  const processManualFilters = () => {
1643
1660
  const newFiltersToAdd = [];
1644
1661
  arrayElements.forEach((element) => {
1645
- var _a, _b, _c, _d;
1662
+ var _a, _b, _c, _d, _e, _f, _g, _h;
1646
1663
  const { validation, element: typeElement } = validateTypeElements(element);
1647
1664
  const textValue = ((_a = typeElement.state) == null ? void 0 : _a.textValue) !== void 0 ? String((_b = typeElement.state) == null ? void 0 : _b.textValue) : String(typeElement.state);
1648
1665
  if (textValue.trim() !== "" && textValue.trim() !== "," && textValue.trim() !== "undefined") {
1649
- const value = validation === "dateRange" ? `${(_c = typeElement.state[0]) == null ? void 0 : _c.format("DD/MM/YYYY")} - ${(_d = typeElement.state[1]) == null ? void 0 : _d.format("DD/MM/YYYY")}` : textValue;
1666
+ const value = validation === "dateRange" ? `${(_c = typeElement.state[0]) == null ? void 0 : _c.format("DD/MM/YYYY")} - ${(_d = typeElement.state[1]) == null ? void 0 : _d.format("DD/MM/YYYY")}` : validation === "datePicker" ? (_f = (_e = typeElement.state) == null ? void 0 : _e.format("DD/MM/YYYY")) != null ? _f : "" : validation === "time" ? (_h = (_g = typeElement.state) == null ? void 0 : _g.format("HH:mm")) != null ? _h : "" : textValue;
1650
1667
  const existingFilterIndex = newFiltersToAdd.findIndex(
1651
1668
  (filter) => filter.arrayElement.label === element.label
1652
1669
  );
@@ -1674,20 +1691,26 @@ var useChipFilters = (arrayElements, chipFilters) => {
1674
1691
  });
1675
1692
  };
1676
1693
  const getCurrentValue = (validation, typeElement) => {
1677
- var _a, _b, _c, _d, _e;
1694
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i;
1678
1695
  if (validation === "dateRange") {
1679
1696
  if (((_a = typeElement.state) == null ? void 0 : _a[0]) && ((_b = typeElement.state) == null ? void 0 : _b[1])) {
1680
1697
  return `${(_c = typeElement.state[0]) == null ? void 0 : _c.format("DD/MM/YYYY")} - ${(_d = typeElement.state[1]) == null ? void 0 : _d.format("DD/MM/YYYY")}`;
1681
1698
  }
1682
1699
  return "";
1683
1700
  }
1684
- return ((_e = typeElement.state) == null ? void 0 : _e.textValue) !== void 0 ? String(typeElement.state.textValue).trim() : String(typeElement.state).trim();
1701
+ if (validation === "datePicker") {
1702
+ return ((_f = (_e = typeElement.state) == null ? void 0 : _e.isValid) == null ? void 0 : _f.call(_e)) ? typeElement.state.format("DD/MM/YYYY") : "";
1703
+ }
1704
+ if (validation === "time") {
1705
+ return ((_h = (_g = typeElement.state) == null ? void 0 : _g.isValid) == null ? void 0 : _h.call(_g)) ? typeElement.state.format("HH:mm") : "";
1706
+ }
1707
+ return ((_i = typeElement.state) == null ? void 0 : _i.textValue) !== void 0 ? String(typeElement.state.textValue).trim() : String(typeElement.state).trim();
1685
1708
  };
1686
1709
  const updateFilter = (value, typeElement, label) => {
1687
1710
  setTextFilters((prevFilters) => {
1688
1711
  const newFilter = { value, arrayElement: typeElement };
1689
1712
  const existingFilterIndex = prevFilters.findIndex(
1690
- (filter) => filter.arrayElement.label === label
1713
+ (filter) => label !== void 0 ? filter.arrayElement.label === label : filter.value === value
1691
1714
  );
1692
1715
  if (existingFilterIndex !== -1) {
1693
1716
  const updatedFilters = [...prevFilters];
@@ -1753,6 +1776,10 @@ var resetElementByType = (originalElement, validation, typeElement) => {
1753
1776
  case "dateRange":
1754
1777
  defaultValue = [null, null];
1755
1778
  break;
1779
+ case "datePicker":
1780
+ case "time":
1781
+ defaultValue = null;
1782
+ break;
1756
1783
  case "multiselect":
1757
1784
  defaultValue = { hiddenValue: [], textValue: [] };
1758
1785
  break;
@@ -1843,7 +1870,7 @@ var ChipFiltersDisplay = ({
1843
1870
  scrollRef.current.scrollLeft += offset;
1844
1871
  }
1845
1872
  };
1846
- return /* @__PURE__ */ import_react15.default.createElement(import_material9.Box, { display: "flex", alignItems: "center", sx: { maxWidth: "78%" } }, /* @__PURE__ */ import_react15.default.createElement(import_material9.IconButton, { onClick: () => scroll(-150), size: "small" }, /* @__PURE__ */ import_react15.default.createElement(import_ChevronLeft.default, { fontSize: "small", color: "action" })), /* @__PURE__ */ import_react15.default.createElement(
1873
+ return /* @__PURE__ */ import_react15.default.createElement(import_react15.default.Fragment, null, (textFilters == null ? void 0 : textFilters.length) > 0 && /* @__PURE__ */ import_react15.default.createElement(import_material9.Box, { display: "flex", alignItems: "center", sx: { maxWidth: "78%" } }, /* @__PURE__ */ import_react15.default.createElement(import_material9.IconButton, { onClick: () => scroll(-150), size: "small" }, /* @__PURE__ */ import_react15.default.createElement(import_ChevronLeft.default, { fontSize: "small", color: "action" })), /* @__PURE__ */ import_react15.default.createElement(
1847
1874
  import_material9.Box,
1848
1875
  {
1849
1876
  ref: scrollRef,
@@ -1870,7 +1897,7 @@ var ChipFiltersDisplay = ({
1870
1897
  }
1871
1898
  })
1872
1899
  ))
1873
- ), /* @__PURE__ */ import_react15.default.createElement(import_material9.IconButton, { onClick: () => scroll(150), size: "small" }, /* @__PURE__ */ import_react15.default.createElement(import_ChevronRight.default, { fontSize: "small", color: "action" })));
1900
+ ), /* @__PURE__ */ import_react15.default.createElement(import_material9.IconButton, { onClick: () => scroll(150), size: "small" }, /* @__PURE__ */ import_react15.default.createElement(import_ChevronRight.default, { fontSize: "small", color: "action" }))));
1874
1901
  };
1875
1902
 
1876
1903
  // src/Components/Drawer/components/DrawerContent.tsx
@@ -2486,7 +2513,8 @@ function SCAutocomplete({
2486
2513
  setState,
2487
2514
  state,
2488
2515
  inputChange,
2489
- maxCheck
2516
+ maxCheck,
2517
+ width = "100%"
2490
2518
  }) {
2491
2519
  const labelContent = `<span style="color: red;">* </span>` + label;
2492
2520
  let group = "";
@@ -2578,13 +2606,26 @@ function SCAutocomplete({
2578
2606
  ) || null;
2579
2607
  const [open, setOpen] = import_react19.default.useState(false);
2580
2608
  const componentClickActiveRef = import_react19.default.useRef(false);
2609
+ const containerRef = import_react19.default.useRef(null);
2610
+ const [chipLimit, setChipLimit] = import_react19.default.useState(2);
2611
+ (0, import_react19.useEffect)(() => {
2612
+ const el = containerRef.current;
2613
+ if (!el) return;
2614
+ const observer = new ResizeObserver((entries) => {
2615
+ const width2 = entries[0].contentRect.width;
2616
+ const limit = Math.max(1, Math.floor((width2 - 80) / 128));
2617
+ setChipLimit(limit);
2618
+ });
2619
+ observer.observe(el);
2620
+ return () => observer.disconnect();
2621
+ }, []);
2581
2622
  const hayOnComponentClickGlobal = (0, import_react19.useMemo)(() => {
2582
2623
  return data.some((opt) => {
2583
2624
  const item = getItemValue(opt);
2584
2625
  return Boolean(item.onComponentClick);
2585
2626
  });
2586
2627
  }, [data, getItemValue]);
2587
- return /* @__PURE__ */ import_react19.default.createElement(import_react19.default.Fragment, null, data && /* @__PURE__ */ import_react19.default.createElement(
2628
+ return /* @__PURE__ */ import_react19.default.createElement(import_react19.default.Fragment, null, data && /* @__PURE__ */ import_react19.default.createElement(import_material13.Box, { ref: containerRef, sx: { width } }, /* @__PURE__ */ import_react19.default.createElement(
2588
2629
  import_material13.Autocomplete,
2589
2630
  __spreadProps(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues({}, hayOnComponentClickGlobal ? { disableCloseOnSelect: true } : {}), hayOnComponentClickGlobal ? { blurOnSelect: false } : {}), hayOnComponentClickGlobal ? { open } : {}), hayOnComponentClickGlobal ? { onOpen: () => setOpen(true) } : {}), hayOnComponentClickGlobal ? {
2590
2631
  onClose: (event2, reason) => {
@@ -2614,9 +2655,9 @@ function SCAutocomplete({
2614
2655
  width: "100%",
2615
2656
  maxWidth: "100%"
2616
2657
  },
2617
- limitTags: 2,
2658
+ limitTags: chipLimit,
2618
2659
  renderTags: (value, getTagProps) => {
2619
- const limit = 2;
2660
+ const limit = chipLimit;
2620
2661
  return /* @__PURE__ */ import_react19.default.createElement(import_react19.default.Fragment, null, value.slice(0, limit).map((option, index) => {
2621
2662
  const _a = getTagProps({ index }), { key } = _a, chipProps = __objRest(_a, ["key"]);
2622
2663
  return /* @__PURE__ */ import_react19.default.createElement(
@@ -2699,7 +2740,14 @@ function SCAutocomplete({
2699
2740
  },
2700
2741
  renderInput: (params) => /* @__PURE__ */ import_react19.default.createElement(import_react19.default.Fragment, null, /* @__PURE__ */ import_react19.default.createElement(
2701
2742
  import_material13.TextField,
2702
- __spreadProps(__spreadValues({}, params), {
2743
+ __spreadProps(__spreadValues({
2744
+ sx: { "& .MuiOutlinedInput-input": {
2745
+ padding: "2.5px 2px 2.5px 2px !important",
2746
+ // ajusta aquí
2747
+ width: "10px !important",
2748
+ minWidth: "10px !important"
2749
+ } }
2750
+ }, params), {
2703
2751
  label: required ? /* @__PURE__ */ import_react19.default.createElement("span", { dangerouslySetInnerHTML: { __html: labelContent } }) : label,
2704
2752
  placeholder: selectedOptions.length == 0 ? "B\xFAsqueda" : "",
2705
2753
  InputProps: __spreadProps(__spreadValues({}, params.InputProps), {
@@ -2774,7 +2822,7 @@ function SCAutocomplete({
2774
2822
  }
2775
2823
  }
2776
2824
  })
2777
- ));
2825
+ )));
2778
2826
  }
2779
2827
 
2780
2828
  // src/Components/SCDateRange.tsx
@@ -4642,11 +4690,9 @@ var SCAppBar = ({
4642
4690
  };
4643
4691
  (0, import_react46.useEffect)(() => {
4644
4692
  const handleOnline = () => {
4645
- console.log("tiene internet");
4646
4693
  setIsOnline(true);
4647
4694
  };
4648
4695
  const handleOffline = () => {
4649
- console.log(" no tiene internet");
4650
4696
  setIsOnline(false);
4651
4697
  };
4652
4698
  window.addEventListener("online", handleOnline);
@@ -5122,7 +5168,6 @@ function SCDataGridInitial({ data, columns, getRowId, groupColumns, titleRowsPag
5122
5168
  columnVisibilityModel[col.field] = false;
5123
5169
  }
5124
5170
  });
5125
- console.log("columnVisibilityModel:", columnVisibilityModel);
5126
5171
  const initialState = {
5127
5172
  pagination: { paginationModel: { pageSize: rows } }
5128
5173
  };