simple-table-core 3.6.9 → 3.7.0

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.
@@ -0,0 +1,37 @@
1
+ /**
2
+ * ARIA row layer.
3
+ *
4
+ * The table renders cells as absolutely-positioned, virtualized, FLIP-animated
5
+ * elements. The ARIA `grid` pattern, however, requires the hierarchy
6
+ * `grid → rowgroup → row → gridcell/columnheader`; a flat list of cells under
7
+ * the section (rowgroup) makes validators (axe) report the cells as disallowed
8
+ * children of the rowgroup and as missing their required `row` parent.
9
+ *
10
+ * `aria-owns` does NOT solve this: axe (and the ARIA tree) still treat a cell
11
+ * as a child of its DOM parent, so the cell remains an invalid rowgroup child.
12
+ * The cells must therefore be real DOM descendants of a `role="row"` element.
13
+ *
14
+ * To get that hierarchy without disturbing the carefully-tuned positioning and
15
+ * animation machinery, the row element uses `display: contents`: it generates
16
+ * no box, establishes no containing block, and takes part in no layout, so its
17
+ * absolutely-positioned cell children are laid out exactly as if they were
18
+ * still direct children of the section. It is still present in the
19
+ * accessibility tree (axe's screen-reader visibility check only looks at
20
+ * `display:none` / `visibility` / `content-visibility` / `aria-hidden`, never
21
+ * at box size), so it provides the required `row` layer for free.
22
+ */
23
+ /**
24
+ * Return the `role="row"` element for `rowKey` inside `container`, creating it
25
+ * (as a zero-box `display: contents` element) on first use. Refreshes
26
+ * `aria-rowindex` when it changes. New cells should be appended to the returned
27
+ * element so they become DOM descendants of a row.
28
+ */
29
+ export declare const getOrCreateRowElement: (container: HTMLElement, rowKey: string, ariaRowIndex: number) => HTMLElement;
30
+ /**
31
+ * Remove row elements that no longer contain any cells. Retained animation
32
+ * "ghost" cells keep their row alive until they finish and remove themselves,
33
+ * so we prune purely on emptiness rather than on a live-row set.
34
+ */
35
+ export declare const reconcileRowElements: (container: HTMLElement) => void;
36
+ /** Remove every row element tracked for `container`. */
37
+ export declare const cleanupAriaRows: (container: HTMLElement) => void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "simple-table-core",
3
- "version": "3.6.9",
3
+ "version": "3.7.0",
4
4
  "main": "dist/cjs/index.js",
5
5
  "module": "dist/index.es.js",
6
6
  "types": "dist/src/index.d.ts",