@ceed/cds 1.40.3-next.3 → 1.40.3-next.4

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
@@ -463,7 +463,7 @@ function useSlotRef(slotProp, ref) {
463
463
  return (0, import_react6.useMemo)(() => {
464
464
  if (isFunctionForm) {
465
465
  return ((ownerState) => {
466
- const resolved = slotProp(ownerState);
466
+ const resolved = slotProp(ownerState) ?? {};
467
467
  const merged = mergeRefs(resolved.ref, ref);
468
468
  return merged ? { ...resolved, ref: merged } : { ...resolved };
469
469
  });
@@ -4005,10 +4005,17 @@ function useDataTableRenderer({
4005
4005
  if (!columnGroupingModel) return columnsProp;
4006
4006
  return reorderColumnsByGroupingModel(columnsProp, columnGroupingModel);
4007
4007
  }, [columnsProp, columnGroupingModel]);
4008
- const visibleColumns = (0, import_react27.useMemo)(
4009
- () => reorderedColumns.filter((col) => visibilityModel[col.field] !== false),
4008
+ const visibleColumnIndexes = (0, import_react27.useMemo)(
4009
+ () => reorderedColumns.reduce((acc, col, index) => {
4010
+ if (visibilityModel[col.field] !== false) acc.push(index);
4011
+ return acc;
4012
+ }, []),
4010
4013
  [reorderedColumns, visibilityModel]
4011
4014
  );
4015
+ const visibleColumns = (0, import_react27.useMemo)(
4016
+ () => visibleColumnIndexes.map((index) => reorderedColumns[index]),
4017
+ [visibleColumnIndexes, reorderedColumns]
4018
+ );
4012
4019
  const visibleFieldSet = (0, import_react27.useMemo)(() => new Set(visibleColumns.map((c) => c.field)), [visibleColumns]);
4013
4020
  const tableMinWidth = (0, import_react27.useMemo)(() => {
4014
4021
  const DEFAULT_MIN = 50;
@@ -4028,27 +4035,24 @@ function useDataTableRenderer({
4028
4035
  ),
4029
4036
  [reorderedColumns]
4030
4037
  );
4031
- const columnIdByColumn = (0, import_react27.useMemo)(() => {
4038
+ const allColumnIds = (0, import_react27.useMemo)(() => {
4032
4039
  const taken = new Set(reorderedColumns.map((column) => String(column.field)));
4033
4040
  const assigned = /* @__PURE__ */ new Set();
4034
- const ids = /* @__PURE__ */ new Map();
4035
- reorderedColumns.forEach((column) => {
4041
+ return reorderedColumns.map((column) => {
4036
4042
  const field = String(column.field);
4037
4043
  if (!assigned.has(field)) {
4038
4044
  assigned.add(field);
4039
- ids.set(column, field);
4040
- return;
4045
+ return field;
4041
4046
  }
4042
4047
  let n = 2;
4043
4048
  while (taken.has(`${field}__${n}`)) n += 1;
4044
4049
  taken.add(`${field}__${n}`);
4045
- ids.set(column, `${field}__${n}`);
4050
+ return `${field}__${n}`;
4046
4051
  });
4047
- return ids;
4048
4052
  }, [reorderedColumns]);
4049
4053
  const columnIds = (0, import_react27.useMemo)(
4050
- () => visibleColumns.map((column) => columnIdByColumn.get(column) ?? String(column.field)),
4051
- [visibleColumns, columnIdByColumn]
4054
+ () => visibleColumnIndexes.map((index) => allColumnIds[index]),
4055
+ [visibleColumnIndexes, allColumnIds]
4052
4056
  );
4053
4057
  const visibleColumnsById = (0, import_react27.useMemo)(
4054
4058
  () => Object.fromEntries(
package/dist/index.js CHANGED
@@ -316,7 +316,7 @@ function useSlotRef(slotProp, ref) {
316
316
  return useMemo(() => {
317
317
  if (isFunctionForm) {
318
318
  return ((ownerState) => {
319
- const resolved = slotProp(ownerState);
319
+ const resolved = slotProp(ownerState) ?? {};
320
320
  const merged = mergeRefs(resolved.ref, ref);
321
321
  return merged ? { ...resolved, ref: merged } : { ...resolved };
322
322
  });
@@ -3890,10 +3890,17 @@ function useDataTableRenderer({
3890
3890
  if (!columnGroupingModel) return columnsProp;
3891
3891
  return reorderColumnsByGroupingModel(columnsProp, columnGroupingModel);
3892
3892
  }, [columnsProp, columnGroupingModel]);
3893
- const visibleColumns = useMemo11(
3894
- () => reorderedColumns.filter((col) => visibilityModel[col.field] !== false),
3893
+ const visibleColumnIndexes = useMemo11(
3894
+ () => reorderedColumns.reduce((acc, col, index) => {
3895
+ if (visibilityModel[col.field] !== false) acc.push(index);
3896
+ return acc;
3897
+ }, []),
3895
3898
  [reorderedColumns, visibilityModel]
3896
3899
  );
3900
+ const visibleColumns = useMemo11(
3901
+ () => visibleColumnIndexes.map((index) => reorderedColumns[index]),
3902
+ [visibleColumnIndexes, reorderedColumns]
3903
+ );
3897
3904
  const visibleFieldSet = useMemo11(() => new Set(visibleColumns.map((c) => c.field)), [visibleColumns]);
3898
3905
  const tableMinWidth = useMemo11(() => {
3899
3906
  const DEFAULT_MIN = 50;
@@ -3913,27 +3920,24 @@ function useDataTableRenderer({
3913
3920
  ),
3914
3921
  [reorderedColumns]
3915
3922
  );
3916
- const columnIdByColumn = useMemo11(() => {
3923
+ const allColumnIds = useMemo11(() => {
3917
3924
  const taken = new Set(reorderedColumns.map((column) => String(column.field)));
3918
3925
  const assigned = /* @__PURE__ */ new Set();
3919
- const ids = /* @__PURE__ */ new Map();
3920
- reorderedColumns.forEach((column) => {
3926
+ return reorderedColumns.map((column) => {
3921
3927
  const field = String(column.field);
3922
3928
  if (!assigned.has(field)) {
3923
3929
  assigned.add(field);
3924
- ids.set(column, field);
3925
- return;
3930
+ return field;
3926
3931
  }
3927
3932
  let n = 2;
3928
3933
  while (taken.has(`${field}__${n}`)) n += 1;
3929
3934
  taken.add(`${field}__${n}`);
3930
- ids.set(column, `${field}__${n}`);
3935
+ return `${field}__${n}`;
3931
3936
  });
3932
- return ids;
3933
3937
  }, [reorderedColumns]);
3934
3938
  const columnIds = useMemo11(
3935
- () => visibleColumns.map((column) => columnIdByColumn.get(column) ?? String(column.field)),
3936
- [visibleColumns, columnIdByColumn]
3939
+ () => visibleColumnIndexes.map((index) => allColumnIds[index]),
3940
+ [visibleColumnIndexes, allColumnIds]
3937
3941
  );
3938
3942
  const visibleColumnsById = useMemo11(
3939
3943
  () => Object.fromEntries(