pixelize-design-library 3.1.0 → 3.1.1

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/CHANGELOG.md CHANGED
@@ -11,6 +11,12 @@ line below names its issue number.
11
11
 
12
12
  ## [Unreleased]
13
13
 
14
+ ### Fixed
15
+
16
+ - **`Table` (windowed, >30 rows) flickered at the bottom of a `tableMaxHeight` scroller.** The scroll limit ignored the
17
+ sticky header, so the clamp stopped one header-height (41px) short of the real bottom and fought the browser's own
18
+ scroll there. Rows now get the viewport minus the header.
19
+
14
20
  ## [3.1.0] — 2026-10-23
15
21
 
16
22
  ### Added
@@ -264,7 +264,11 @@ const TableBody = ({ data, isCheckbox, columns, startRow, rowsPerPage, columnWid
264
264
  setScrollTop(el.scrollTop);
265
265
  });
266
266
  };
267
- const measure = () => setViewportH(el.clientHeight);
267
+ // NOTE: the sticky header covers the top of the scroller, so rows only get what is left.
268
+ const measure = () => {
269
+ const head = el.querySelector("thead");
270
+ setViewportH(el.clientHeight - (head ? head.offsetHeight : 0));
271
+ };
268
272
  measure();
269
273
  setScrollTop(el.scrollTop);
270
274
  el.addEventListener("scroll", onScroll, { passive: true });
@@ -224,7 +224,11 @@ const TableBody = ({ data, isCheckbox, columns, startRow, rowsPerPage, columnWid
224
224
  setScrollTop(el.scrollTop);
225
225
  });
226
226
  };
227
- const measure = () => setViewportH(el.clientHeight);
227
+ // NOTE: the sticky header covers the top of the scroller, so rows only get what is left.
228
+ const measure = () => {
229
+ const head = el.querySelector("thead");
230
+ setViewportH(el.clientHeight - (head ? head.offsetHeight : 0));
231
+ };
228
232
  measure();
229
233
  setScrollTop(el.scrollTop);
230
234
  el.addEventListener("scroll", onScroll, { passive: true });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pixelize-design-library",
3
- "version": "3.1.0",
3
+ "version": "3.1.1",
4
4
  "description": "React component library for Pixelize apps: themeable Chakra-based components, design tokens and light/dark brand theming.",
5
5
  "keywords": [
6
6
  "react",