@versini/ui-datagrid 0.4.1 → 0.4.2
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/DataGrid/DataGrid.js +1 -1
- package/dist/DataGrid/DataGridContext.js +1 -1
- package/dist/DataGrid/DataGridTypes.js +1 -1
- package/dist/DataGrid/index.js +1 -1
- package/dist/DataGridAnimated/AnimatedWrapper.js +1 -1
- package/dist/DataGridAnimated/index.js +1 -1
- package/dist/DataGridAnimated/useAnimatedHeight.js +1 -1
- package/dist/DataGridBody/DataGridBody.js +1 -1
- package/dist/DataGridBody/getBodyClass.js +1 -1
- package/dist/DataGridBody/index.js +1 -1
- package/dist/DataGridBody/useColumnMeasurement.js +10 -3
- package/dist/DataGridCell/DataGridCell.js +1 -1
- package/dist/DataGridCell/index.js +1 -1
- package/dist/DataGridCellSort/DataGridCellSort.js +1 -1
- package/dist/DataGridCellSort/index.js +1 -1
- package/dist/DataGridConstants/DataGridConstants.js +1 -1
- package/dist/DataGridConstants/index.js +1 -1
- package/dist/DataGridFooter/DataGridFooter.js +1 -1
- package/dist/DataGridFooter/index.js +1 -1
- package/dist/DataGridHeader/DataGridHeader.js +1 -1
- package/dist/DataGridHeader/index.js +1 -1
- package/dist/DataGridInfinite/DataGridInfiniteBody.js +1 -1
- package/dist/DataGridInfinite/index.js +1 -1
- package/dist/DataGridRow/DataGridRow.js +1 -1
- package/dist/DataGridRow/index.js +1 -1
- package/dist/DataGridSorting/index.js +1 -1
- package/dist/DataGridSorting/sortingUtils.js +1 -1
- package/dist/utilities/classes.js +1 -1
- package/package.json +2 -2
package/dist/DataGrid/index.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
@versini/ui-datagrid v0.4.
|
|
2
|
+
@versini/ui-datagrid v0.4.2
|
|
3
3
|
© 2026 gizmette.com
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
import { useContext, useLayoutEffect } from "react";
|
|
6
|
+
import { useContext, useLayoutEffect, useRef } from "react";
|
|
7
7
|
import { DataGridContext } from "../DataGrid/DataGridContext.js";
|
|
8
8
|
|
|
9
9
|
;// CONCATENATED MODULE: external "react"
|
|
@@ -24,6 +24,7 @@ import { DataGridContext } from "../DataGrid/DataGridContext.js";
|
|
|
24
24
|
*
|
|
25
25
|
*/ function useColumnMeasurement(bodyRef, contentDependency) {
|
|
26
26
|
const ctx = useContext(DataGridContext);
|
|
27
|
+
const prevWidthsRef = useRef([]);
|
|
27
28
|
// biome-ignore lint/correctness/useExhaustiveDependencies: contentDependency triggers remeasurement when rows change
|
|
28
29
|
useLayoutEffect(()=>{
|
|
29
30
|
const element = bodyRef.current;
|
|
@@ -41,7 +42,13 @@ import { DataGridContext } from "../DataGrid/DataGridContext.js";
|
|
|
41
42
|
}
|
|
42
43
|
const measureColumns = ()=>{
|
|
43
44
|
const widths = Array.from(cells).map((cell)=>cell.getBoundingClientRect().width);
|
|
44
|
-
|
|
45
|
+
// Only update state if widths have actually changed to prevent infinite loops.
|
|
46
|
+
const prevWidths = prevWidthsRef.current;
|
|
47
|
+
const hasChanged = widths.length !== prevWidths.length || widths.some((w, i)=>w !== prevWidths[i]);
|
|
48
|
+
if (hasChanged) {
|
|
49
|
+
prevWidthsRef.current = widths;
|
|
50
|
+
ctx.setMeasuredColumnWidths?.(widths);
|
|
51
|
+
}
|
|
45
52
|
};
|
|
46
53
|
// Initial measurement.
|
|
47
54
|
measureColumns();
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@versini/ui-datagrid",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.2",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"author": "Arno Versini",
|
|
6
6
|
"publishConfig": {
|
|
@@ -94,5 +94,5 @@
|
|
|
94
94
|
"sideEffects": [
|
|
95
95
|
"**/*.css"
|
|
96
96
|
],
|
|
97
|
-
"gitHead": "
|
|
97
|
+
"gitHead": "26d6f863e034c26395f8a67bb203297770864d52"
|
|
98
98
|
}
|