@tipolox/litgrid-web 1.0.1 → 1.0.3

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/README.md ADDED
@@ -0,0 +1,48 @@
1
+ # @tipolox/litgrid-web
2
+
3
+ LitGrid's `yc-grid` Web Component: a virtualized data grid for browser applications. Importing the package registers the custom element.
4
+
5
+ ## Install
6
+
7
+ ```bash
8
+ npm install @tipolox/litgrid-web
9
+ ```
10
+
11
+ Use a modern browser with native Web Component support and a bundler that supports ECMAScript modules.
12
+
13
+ ## Quick start
14
+
15
+ Add the element to your page:
16
+
17
+ ```html
18
+ <yc-grid></yc-grid>
19
+ ```
20
+
21
+ Run this in your application entry point after the element is in the DOM:
22
+
23
+ ```ts
24
+ import '@tipolox/litgrid-web'
25
+ import type { DataGridElement } from '@tipolox/litgrid-web'
26
+
27
+ const grid = document.querySelector('yc-grid') as DataGridElement
28
+ grid.data = [
29
+ { id: 1, name: 'Ada' },
30
+ { id: 2, name: 'Grace' }
31
+ ]
32
+ grid.columns = [
33
+ { key: 'id', header: 'ID', width: 80 },
34
+ { key: 'name', header: 'Name', width: 180 }
35
+ ]
36
+ grid.viewportHeight = 400
37
+ ```
38
+
39
+ `viewportHeight` defines the viewport used for row virtualization.
40
+
41
+ ## Resources
42
+
43
+ - [Live demo](https://tipolox.com/litgrid/demo)
44
+ - [Repository](https://github.com/tipolox/litgrid)
45
+ - [Web Component guide](https://github.com/tipolox/litgrid/blob/main/docs/vanilla-js-guide.md)
46
+ - [API reference](https://github.com/tipolox/litgrid/blob/main/docs/api-reference.md)
47
+
48
+ Licensed under the [MIT License](https://github.com/tipolox/litgrid/blob/main/LICENSE).
@@ -47,6 +47,11 @@ export declare class DataGrid extends LitElement {
47
47
  private headerRowElement;
48
48
  private activeCell;
49
49
  private shouldFocusActiveCell;
50
+ private gridCellHasFocus;
51
+ private shouldFocusViewport;
52
+ private renderedActiveCellId;
53
+ private renderedRowStart;
54
+ private renderedColumnStart;
50
55
  private headerMenuTrigger;
51
56
  private shouldFocusHeaderMenu;
52
57
  private shouldRestoreHeaderMenuFocus;
@@ -136,6 +141,7 @@ export declare class DataGrid extends LitElement {
136
141
  private focusHeaderMenu;
137
142
  private handleShellKeyDown;
138
143
  private handleViewportFocus;
144
+ private handleGridFocusIn;
139
145
  private announceScreenReader;
140
146
  private getScreenReaderDescription;
141
147
  private getColumnLabel;
@@ -217,11 +223,15 @@ export declare class DataGrid extends LitElement {
217
223
  private getRowClass;
218
224
  private getCellClass;
219
225
  private setActiveCell;
226
+ private reconcileActiveCell;
220
227
  private focusActiveCell;
221
228
  private getRowIndexAtOffset;
222
229
  private getPageNavigationRowIndex;
223
230
  private getTabNavigationCell;
224
231
  private scrollActiveCellIntoView;
232
+ private getCellControls;
233
+ private focusCellControl;
234
+ private syncInteractionCell;
225
235
  private handleKeyDown;
226
236
  private getRowSelectionIntent;
227
237
  private handleRowClick;
@@ -1 +1 @@
1
- {"version":3,"file":"DataGrid.d.ts","sourceRoot":"","sources":["../../src/components/DataGrid.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DataGrid.d.ts","sourceRoot":"","sources":["../../src/components/DataGrid.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  // src/components/DataGrid.ts
2
- import { LitElement, css, html, render as litRender } from 'lit';
2
+ import { LitElement, css, html, nothing, render as litRender } from 'lit';
3
3
  import { cache } from 'lit/directives/cache.js';
4
4
  import { createGridEngine } from '@tipolox/litgrid-core';
5
5
  import { calculateDisplayLayout, createVariableVirtualizer, createVirtualizer, mapDisplayScrollOffset } from '@tipolox/litgrid-renderer';
@@ -11,6 +11,7 @@ import { normalizeRowHeight } from '../sizing/rowSizing.js';
11
11
  import { serializeSelectedCells } from '../clipboard/serializeSelectedCells.js';
12
12
  import { serializeSelectedRows } from '../clipboard/serializeSelectedRows.js';
13
13
  import { createColumnState, parseColumnState, resolveColumnState } from '../columnState/columnState.js';
14
+ const CELL_CONTROL_SELECTOR = 'a[href], area[href], button, input, select, textarea, summary, audio[controls], video[controls], [tabindex], [contenteditable]:not([contenteditable="false"])';
14
15
  const FILTER_OPERATORS = [
15
16
  { value: 'contains', label: 'Contains' },
16
17
  { value: 'equals', label: 'Equals' },
@@ -88,6 +89,11 @@ export class DataGrid extends LitElement {
88
89
  this.headerRowElement = null;
89
90
  this.activeCell = null;
90
91
  this.shouldFocusActiveCell = false;
92
+ this.gridCellHasFocus = false;
93
+ this.shouldFocusViewport = false;
94
+ this.renderedActiveCellId = null;
95
+ this.renderedRowStart = 0;
96
+ this.renderedColumnStart = 0;
91
97
  this.headerMenuTrigger = null;
92
98
  this.shouldFocusHeaderMenu = false;
93
99
  this.shouldRestoreHeaderMenuFocus = false;
@@ -241,6 +247,8 @@ export class DataGrid extends LitElement {
241
247
  static { this.styles = [lightThemeStyles, darkThemeStyles, css `
242
248
  :host {
243
249
  display: block;
250
+ min-width: 0;
251
+ max-width: 100%;
244
252
  color: var(--litgrid-color-text);
245
253
  font: 14px/1.4 system-ui, sans-serif;
246
254
  }
@@ -368,6 +376,8 @@ export class DataGrid extends LitElement {
368
376
 
369
377
  .header-row-header {
370
378
  position: relative;
379
+ /* Cover translated headers without clipping menus below the header. */
380
+ z-index: 4;
371
381
  height: 36px;
372
382
  border-right: 1px solid var(--litgrid-color-border);
373
383
  }
@@ -706,6 +716,7 @@ export class DataGrid extends LitElement {
706
716
 
707
717
  .pagination {
708
718
  display: flex;
719
+ flex-wrap: wrap;
709
720
  align-items: center;
710
721
  justify-content: flex-end;
711
722
  gap: 10px;
@@ -716,8 +727,29 @@ export class DataGrid extends LitElement {
716
727
  font-size: 13px;
717
728
  }
718
729
 
730
+ .pagination-summary,
731
+ .pagination-navigation {
732
+ display: flex;
733
+ flex-wrap: wrap;
734
+ align-items: center;
735
+ gap: 10px;
736
+ min-width: 0;
737
+ }
738
+
739
+ .pagination span,
740
+ .pagination label {
741
+ white-space: nowrap;
742
+ }
743
+
744
+ .pagination label {
745
+ display: inline-flex;
746
+ align-items: center;
747
+ gap: 4px;
748
+ }
749
+
719
750
  .pagination button,
720
751
  .pagination select {
752
+ flex-shrink: 0;
721
753
  border: 1px solid var(--litgrid-color-border);
722
754
  border-radius: 6px;
723
755
  background: var(--litgrid-color-surface);
@@ -740,6 +772,10 @@ export class DataGrid extends LitElement {
740
772
  }
741
773
  updated() {
742
774
  this.updateScrollbarWidth();
775
+ if (this.shouldFocusViewport) {
776
+ this.shouldFocusViewport = false;
777
+ this.viewportElement?.focus({ preventScroll: true });
778
+ }
743
779
  this.focusActiveCell();
744
780
  this.focusHeaderMenu();
745
781
  // Detect actual DOM spacer height after render. Some browsers clamp
@@ -775,6 +811,7 @@ export class DataGrid extends LitElement {
775
811
  viewportElement.removeEventListener('scroll', this.handleScroll);
776
812
  }
777
813
  this.headerRowElement = null;
814
+ this.viewportElement = null;
778
815
  if (this.measureContainer && this.measureContainer.parentNode) {
779
816
  this.measureContainer.parentNode.removeChild(this.measureContainer);
780
817
  }
@@ -805,6 +842,7 @@ export class DataGrid extends LitElement {
805
842
  if (!(viewport instanceof HTMLElement)) {
806
843
  return;
807
844
  }
845
+ this.viewportElement = viewport;
808
846
  const nextWidth = viewport.offsetWidth - viewport.clientWidth;
809
847
  const nextViewportWidth = viewport.clientWidth;
810
848
  if (nextWidth !== this.scrollbarWidth || nextViewportWidth !== this.viewportWidth) {
@@ -1138,7 +1176,7 @@ export class DataGrid extends LitElement {
1138
1176
  this.columnChooserOpen = false;
1139
1177
  this.columnChooserPosition = null;
1140
1178
  this.shouldFocusHeaderMenu = false;
1141
- this.shouldRestoreHeaderMenuFocus = restoreFocus && this.headerMenuTrigger !== null;
1179
+ this.shouldRestoreHeaderMenuFocus = restoreFocus;
1142
1180
  this.requestUpdate();
1143
1181
  }
1144
1182
  toggleColumnChooser(event) {
@@ -1147,6 +1185,9 @@ export class DataGrid extends LitElement {
1147
1185
  return;
1148
1186
  }
1149
1187
  if (event?.currentTarget instanceof HTMLElement) {
1188
+ if (!this.activeHeaderMenu && event.currentTarget instanceof HTMLButtonElement) {
1189
+ this.headerMenuTrigger = event.currentTarget;
1190
+ }
1150
1191
  const shell = this.renderRoot.querySelector('.shell');
1151
1192
  const menu = event.currentTarget.closest('.header-menu');
1152
1193
  const anchorBounds = (menu ?? event.currentTarget).getBoundingClientRect();
@@ -1172,13 +1213,17 @@ export class DataGrid extends LitElement {
1172
1213
  this.columnChooserOpen = false;
1173
1214
  this.columnChooserPosition = null;
1174
1215
  this.shouldFocusHeaderMenu = false;
1175
- this.shouldRestoreHeaderMenuFocus = restoreFocus && this.headerMenuTrigger !== null;
1216
+ this.shouldRestoreHeaderMenuFocus = restoreFocus;
1176
1217
  this.requestUpdate();
1177
1218
  }
1178
1219
  focusHeaderMenu() {
1179
1220
  if (this.shouldRestoreHeaderMenuFocus) {
1180
1221
  this.shouldRestoreHeaderMenuFocus = false;
1181
- this.headerMenuTrigger?.focus();
1222
+ const target = this.headerMenuTrigger?.isConnected
1223
+ ? this.headerMenuTrigger
1224
+ : this.renderRoot.querySelector('.header-action-button, .columns-button')
1225
+ ?? this.viewportElement;
1226
+ target?.focus();
1182
1227
  this.headerMenuTrigger = null;
1183
1228
  return;
1184
1229
  }
@@ -1199,12 +1244,16 @@ export class DataGrid extends LitElement {
1199
1244
  this.closeHeaderMenu(true);
1200
1245
  }
1201
1246
  handleViewportFocus(event) {
1202
- if (event.target !== event.currentTarget || this.activeCell) {
1247
+ if (event.target !== event.currentTarget || this.activeCell || this.engine.getRowCount() === 0 || this.getVisibleColumns().length === 0) {
1203
1248
  return;
1204
1249
  }
1205
1250
  this.setActiveCell(0, 0);
1206
1251
  this.requestUpdate();
1207
1252
  }
1253
+ handleGridFocusIn(event) {
1254
+ const target = event.composedPath()[0];
1255
+ this.gridCellHasFocus = target instanceof HTMLElement && target.classList.contains('cell');
1256
+ }
1208
1257
  announceScreenReader(message) {
1209
1258
  if (!this.screenReaderAnnouncements || !message || message === this.lastScreenReaderAnnouncement) {
1210
1259
  return;
@@ -1214,7 +1263,18 @@ export class DataGrid extends LitElement {
1214
1263
  this.requestUpdate();
1215
1264
  }
1216
1265
  getScreenReaderDescription() {
1217
- return this.ariaDescription || 'Use arrow keys to move between cells. Press Enter or Space to select. Press Control or Command C to copy selected cells or rows.';
1266
+ if (this.ariaDescription)
1267
+ return this.ariaDescription;
1268
+ const mode = this.engine.getConfig().selection.mode;
1269
+ const navigation = 'Use arrow keys to move between cells. Press F2 to interact with controls in a cell and Escape to return to cell navigation.';
1270
+ if (mode === 'none')
1271
+ return navigation;
1272
+ const selection = mode === 'multi-row'
1273
+ ? 'Press Enter or Space to select a row. Hold Control or Command to toggle a row, or Shift to select a range of rows.'
1274
+ : mode === 'multi-cell'
1275
+ ? 'Press Enter or Space to toggle a cell.'
1276
+ : `Press Enter or Space to select a ${mode === 'row' ? 'row' : 'cell'}.`;
1277
+ return `${navigation} ${selection} Press Control or Command C to copy selected cells or rows.`;
1218
1278
  }
1219
1279
  getColumnLabel(columnKey) {
1220
1280
  const column = this.getVisibleColumns().find((item) => item.key === columnKey)
@@ -1238,8 +1298,11 @@ export class DataGrid extends LitElement {
1238
1298
  announceActiveCell() {
1239
1299
  this.announceScreenReader(this.getActiveCellAnnouncement());
1240
1300
  }
1241
- announceRowSelection(rowIndex) {
1242
- this.announceScreenReader(`Row ${rowIndex + 1} ${this.engine.isRowSelected(rowIndex) ? 'selected' : 'deselected'}.`);
1301
+ announceRowSelection(rowIndex, intent = 'replace') {
1302
+ const anchor = this.engine.getSelection().anchorRowIndex ?? rowIndex;
1303
+ this.announceScreenReader(intent === 'range' && anchor !== rowIndex
1304
+ ? `Rows ${Math.min(anchor, rowIndex) + 1} through ${Math.max(anchor, rowIndex) + 1} selected.`
1305
+ : `Row ${rowIndex + 1} ${this.engine.isRowSelected(rowIndex) ? 'selected' : 'deselected'}.`);
1243
1306
  }
1244
1307
  announceCellSelection(rowIndex, columnKey) {
1245
1308
  this.announceScreenReader(`${this.getColumnLabel(columnKey)}, row ${rowIndex + 1} ${this.engine.isCellSelected(rowIndex, columnKey) ? 'selected' : 'deselected'}.`);
@@ -1252,27 +1315,27 @@ export class DataGrid extends LitElement {
1252
1315
  this.engine.sortBy(columnKey, 'asc');
1253
1316
  this.announceScreenReader(`${this.getColumnLabel(columnKey)} sorted ascending.`);
1254
1317
  this.requestUpdate();
1255
- this.closeHeaderMenu();
1318
+ this.closeHeaderMenu(true);
1256
1319
  }
1257
1320
  handleSortDescending(columnKey) {
1258
1321
  this.engine.sortBy(columnKey, 'desc');
1259
1322
  this.announceScreenReader(`${this.getColumnLabel(columnKey)} sorted descending.`);
1260
1323
  this.requestUpdate();
1261
- this.closeHeaderMenu();
1324
+ this.closeHeaderMenu(true);
1262
1325
  }
1263
1326
  handleClearSort() {
1264
1327
  this.engine.clearSort();
1265
1328
  this.announceScreenReader('Sorting cleared.');
1266
1329
  this.requestUpdate();
1267
- this.closeHeaderMenu();
1330
+ this.closeHeaderMenu(true);
1268
1331
  }
1269
1332
  handleBestFit(columnKey) {
1270
1333
  this.bestFitColumn(columnKey);
1271
- this.closeHeaderMenu();
1334
+ this.closeHeaderMenu(true);
1272
1335
  }
1273
1336
  handleBestFitAllColumns() {
1274
1337
  this.bestFitAllColumns();
1275
- this.closeHeaderMenu();
1338
+ this.closeHeaderMenu(true);
1276
1339
  }
1277
1340
  getTextMeasureContext() {
1278
1341
  if (this.textMeasureContext) {
@@ -1428,7 +1491,7 @@ export class DataGrid extends LitElement {
1428
1491
  }
1429
1492
  toggleQuickSearch() {
1430
1493
  this.quickSearchVisible = !this.quickSearchVisible;
1431
- this.closeHeaderMenu();
1494
+ this.closeHeaderMenu(true);
1432
1495
  }
1433
1496
  handleQuickSearchInput(query) {
1434
1497
  this.quickSearchDraft = query;
@@ -1488,18 +1551,35 @@ export class DataGrid extends LitElement {
1488
1551
  return this.engine.getTotalRowCount();
1489
1552
  }
1490
1553
  selectRow(rowIndex, intent) {
1491
- this.engine.selectRow(rowIndex, intent);
1492
- this.announceRowSelection(rowIndex);
1554
+ if (!this.isRowSelectionMode() || !Number.isInteger(rowIndex) || rowIndex < 0 || rowIndex >= this.engine.getRowCount())
1555
+ return;
1556
+ const effectiveIntent = this.engine.getConfig().selection.mode === 'row' ? 'replace' : intent ?? 'replace';
1557
+ const previous = this.engine.getSelection();
1558
+ // The engine's range operation always produces a contiguous anchored range.
1559
+ // Its endpoint and size identify a repeated operation without scanning rows.
1560
+ const unchanged = effectiveIntent === 'range'
1561
+ ? previous.rowIndex === rowIndex && previous.rowIndexes.size === Math.abs((previous.anchorRowIndex ?? rowIndex) - rowIndex) + 1
1562
+ : effectiveIntent === 'replace' && previous.rowIndexes.size === 1 && previous.rowIndexes.has(rowIndex);
1563
+ this.engine.selectRow(rowIndex, effectiveIntent);
1564
+ if (!unchanged)
1565
+ this.announceRowSelection(rowIndex, effectiveIntent);
1493
1566
  this.requestUpdate();
1494
1567
  }
1495
1568
  selectAllRows() {
1569
+ if (this.engine.getConfig().selection.mode !== 'multi-row' || this.engine.getRowCount() === 0)
1570
+ return;
1571
+ const unchanged = this.engine.getSelection().rowIndexes.size === this.engine.getRowCount();
1496
1572
  this.engine.selectAllRows();
1497
- this.announceScreenReader(`All ${this.engine.getRowCount()} displayed rows selected.`);
1573
+ if (!unchanged)
1574
+ this.announceScreenReader(`All ${this.engine.getRowCount()} displayed rows selected.`);
1498
1575
  this.requestUpdate();
1499
1576
  }
1500
1577
  clearSelection() {
1578
+ const previous = this.engine.getSelection();
1579
+ const hadSelection = previous.rowIndexes.size > 0 || previous.cells.size > 0;
1501
1580
  this.engine.clearSelection();
1502
- this.announceScreenReader('Selection cleared.');
1581
+ if (hadSelection)
1582
+ this.announceScreenReader('Selection cleared.');
1503
1583
  this.requestUpdate();
1504
1584
  }
1505
1585
  getSelection() {
@@ -1561,11 +1641,11 @@ export class DataGrid extends LitElement {
1561
1641
  ...filter,
1562
1642
  value: this.isValueFreeFilter(filter.operator) ? undefined : filter.value
1563
1643
  });
1564
- this.closeHeaderMenu();
1644
+ this.closeHeaderMenu(true);
1565
1645
  }
1566
1646
  clearHeaderFilter(columnKey) {
1567
1647
  this.clearFilter(columnKey);
1568
- this.closeHeaderMenu();
1648
+ this.closeHeaderMenu(true);
1569
1649
  }
1570
1650
  isColumnFiltered(columnKey) {
1571
1651
  return this.engine.getFilters().some((filter) => filter.columnKey === columnKey);
@@ -1787,8 +1867,23 @@ export class DataGrid extends LitElement {
1787
1867
  this.shouldFocusActiveCell = shouldFocus;
1788
1868
  this.announceActiveCell();
1789
1869
  }
1870
+ reconcileActiveCell(rowCount, columnCount) {
1871
+ if (!this.activeCell)
1872
+ return;
1873
+ if (rowCount === 0 || columnCount === 0) {
1874
+ this.activeCell = null;
1875
+ this.shouldFocusActiveCell = false;
1876
+ return;
1877
+ }
1878
+ const rowIndex = Math.min(this.activeCell.rowIndex, rowCount - 1);
1879
+ const columnIndex = Math.min(this.activeCell.columnIndex, columnCount - 1);
1880
+ if (rowIndex !== this.activeCell.rowIndex || columnIndex !== this.activeCell.columnIndex) {
1881
+ this.activeCell = { rowIndex, columnIndex };
1882
+ this.shouldFocusActiveCell = this.gridCellHasFocus;
1883
+ }
1884
+ }
1790
1885
  focusActiveCell() {
1791
- if (!this.shouldFocusActiveCell || !this.activeCell) {
1886
+ if (!this.shouldFocusActiveCell || !this.activeCell || !this.renderedActiveCellId) {
1792
1887
  return;
1793
1888
  }
1794
1889
  const cell = this.renderRoot.querySelector(`.cell[data-row-index="${this.activeCell.rowIndex}"][data-column-index="${this.activeCell.columnIndex}"]`);
@@ -1892,32 +1987,115 @@ export class DataGrid extends LitElement {
1892
1987
  viewport.scrollLeft = Math.max(0, columnRight - bodyViewportWidth);
1893
1988
  }
1894
1989
  }
1990
+ getCellControls(cell) {
1991
+ // Only inspect the cell explicitly entered by the user, never a render or
1992
+ // virtualization path. Custom focusable hosts can own shadow controls.
1993
+ return Array.from(cell.querySelectorAll(CELL_CONTROL_SELECTOR))
1994
+ .filter((control) => !control.matches(':disabled, input[type="hidden"]')
1995
+ && !control.closest('[hidden], [inert]'));
1996
+ }
1997
+ focusCellControl(control) {
1998
+ control.focus({ preventScroll: true });
1999
+ return control.getRootNode().activeElement === control;
2000
+ }
2001
+ syncInteractionCell(cell) {
2002
+ const rowIndex = Number(cell.dataset.rowIndex);
2003
+ const columnIndex = Number(cell.dataset.columnIndex);
2004
+ if (this.activeCell?.rowIndex !== rowIndex || this.activeCell.columnIndex !== columnIndex) {
2005
+ this.setActiveCell(rowIndex, columnIndex);
2006
+ this.requestUpdate();
2007
+ }
2008
+ }
1895
2009
  handleKeyDown(event) {
1896
- const target = event.target;
1897
- if (target instanceof HTMLInputElement || target instanceof HTMLSelectElement || target instanceof HTMLButtonElement) {
2010
+ if (event.defaultPrevented)
1898
2011
  return;
2012
+ let owningCell;
2013
+ let insideControl = false;
2014
+ // The composed path also protects nested markup and renderer shadow controls.
2015
+ for (const target of event.composedPath()) {
2016
+ if (!(target instanceof Element))
2017
+ continue;
2018
+ if (target.matches('.cell[role="gridcell"]')) {
2019
+ owningCell = target;
2020
+ break;
2021
+ }
2022
+ if (target === event.currentTarget)
2023
+ break;
2024
+ if (target.matches(CELL_CONTROL_SELECTOR))
2025
+ insideControl = true;
2026
+ }
2027
+ if (insideControl) {
2028
+ if (!owningCell)
2029
+ return;
2030
+ if (event.key === 'Escape') {
2031
+ event.preventDefault();
2032
+ event.stopPropagation();
2033
+ this.syncInteractionCell(owningCell);
2034
+ owningCell.focus({ preventScroll: true });
2035
+ return;
2036
+ }
2037
+ const focused = this.renderRoot.activeElement;
2038
+ if (event.key !== 'Tab' || !focused || focused === owningCell || !owningCell.contains(focused))
2039
+ return;
2040
+ // An open shadow widget owns the Tab order of its internal controls.
2041
+ if (focused.shadowRoot?.activeElement)
2042
+ return;
2043
+ const controls = this.getCellControls(owningCell).filter((control) => control.tabIndex >= 0
2044
+ || control === focused || control.matches('[contenteditable]:not([tabindex])'));
2045
+ const current = controls.indexOf(focused);
2046
+ // Shadow widgets own their internal Tab order; a focusable host is their entry point.
2047
+ if (current < 0)
2048
+ return;
2049
+ const direction = event.shiftKey ? -1 : 1;
2050
+ for (let index = current + direction; index >= 0 && index < controls.length; index += direction) {
2051
+ if (this.focusCellControl(controls[index])) {
2052
+ event.preventDefault();
2053
+ return;
2054
+ }
2055
+ }
2056
+ this.syncInteractionCell(owningCell);
2057
+ if (event.shiftKey) {
2058
+ event.preventDefault();
2059
+ owningCell.focus({ preventScroll: true });
2060
+ return;
2061
+ }
2062
+ // At the last control, resume the existing forward cell Tab navigation.
1899
2063
  }
1900
2064
  const rowCount = this.engine.getRowCount();
1901
2065
  const columnCount = this.getVisibleColumns().length;
2066
+ this.reconcileActiveCell(rowCount, columnCount);
1902
2067
  if (rowCount === 0 || columnCount === 0) {
1903
2068
  return;
1904
2069
  }
1905
- if ((event.key === 'Enter' || event.key === ' ') && !event.ctrlKey && !event.metaKey && !event.altKey) {
2070
+ if (event.key === 'F2' && !event.altKey && !event.ctrlKey && !event.metaKey && !event.shiftKey) {
2071
+ const active = this.activeCell ?? { rowIndex: 0, columnIndex: 0 };
2072
+ const cell = owningCell ?? this.renderRoot.querySelector(`.cell[data-row-index="${active.rowIndex}"][data-column-index="${active.columnIndex}"]`);
2073
+ if (cell) {
2074
+ for (const control of this.getCellControls(cell)) {
2075
+ if (this.focusCellControl(control)) {
2076
+ event.preventDefault();
2077
+ break;
2078
+ }
2079
+ }
2080
+ }
2081
+ return;
2082
+ }
2083
+ if ((event.key === 'Enter' || event.key === ' ') && !event.altKey) {
1906
2084
  const activeCell = this.activeCell ?? { rowIndex: 0, columnIndex: 0 };
1907
- if (this.isCellSelectionMode()) {
2085
+ if (this.isCellSelectionMode() && !event.ctrlKey && !event.metaKey) {
1908
2086
  const column = this.getVisibleColumns()[activeCell.columnIndex];
1909
2087
  if (column) {
1910
2088
  event.preventDefault();
2089
+ const unchanged = this.engine.getConfig().selection.mode === 'cell' && this.engine.isCellSelected(activeCell.rowIndex, column.key);
1911
2090
  this.engine.selectCell(activeCell.rowIndex, column.key);
1912
- this.announceCellSelection(activeCell.rowIndex, column.key);
2091
+ if (!unchanged)
2092
+ this.announceCellSelection(activeCell.rowIndex, column.key);
1913
2093
  this.requestUpdate();
1914
2094
  }
1915
2095
  }
1916
2096
  else if (this.isRowSelectionMode()) {
1917
2097
  event.preventDefault();
1918
- this.engine.selectRow(activeCell.rowIndex, 'replace');
1919
- this.announceRowSelection(activeCell.rowIndex);
1920
- this.requestUpdate();
2098
+ this.selectRow(activeCell.rowIndex, this.getRowSelectionIntent(event));
1921
2099
  }
1922
2100
  return;
1923
2101
  }
@@ -1996,9 +2174,7 @@ export class DataGrid extends LitElement {
1996
2174
  if (!this.isRowSelectionMode()) {
1997
2175
  return;
1998
2176
  }
1999
- this.engine.selectRow(rowIndex, this.getRowSelectionIntent(event));
2000
- this.announceRowSelection(rowIndex);
2001
- this.requestUpdate();
2177
+ this.selectRow(rowIndex, this.getRowSelectionIntent(event));
2002
2178
  }
2003
2179
  handleRowMouseDown(event) {
2004
2180
  if (this.isRowSelectionMode() && event.shiftKey) {
@@ -2012,8 +2188,10 @@ export class DataGrid extends LitElement {
2012
2188
  return;
2013
2189
  }
2014
2190
  event.stopPropagation();
2191
+ const unchanged = this.engine.getConfig().selection.mode === 'cell' && this.engine.isCellSelected(rowIndex, column.key);
2015
2192
  this.engine.selectCell(rowIndex, column.key);
2016
- this.announceCellSelection(rowIndex, column.key);
2193
+ if (!unchanged)
2194
+ this.announceCellSelection(rowIndex, column.key);
2017
2195
  this.requestUpdate();
2018
2196
  }
2019
2197
  renderCell(column, row, rowIndex) {
@@ -2066,7 +2244,6 @@ export class DataGrid extends LitElement {
2066
2244
  `;
2067
2245
  }
2068
2246
  set data(value) {
2069
- this.activeCell = null;
2070
2247
  this.clearQuickSearchDebounce();
2071
2248
  this.sourceRowCount = Array.isArray(value) ? value.length : 0;
2072
2249
  this.engine.setData(value ?? []);
@@ -2076,9 +2253,7 @@ export class DataGrid extends LitElement {
2076
2253
  this.requestUpdate();
2077
2254
  }
2078
2255
  handleRowCheckboxChange(rowIndex) {
2079
- this.engine.selectRow(rowIndex, 'toggle');
2080
- this.announceRowSelection(rowIndex);
2081
- this.requestUpdate();
2256
+ this.selectRow(rowIndex, 'toggle');
2082
2257
  }
2083
2258
  getDisplayedSelectedRowCount() {
2084
2259
  const rowCount = this.engine.getRowCount();
@@ -2110,12 +2285,15 @@ export class DataGrid extends LitElement {
2110
2285
  this.requestUpdate();
2111
2286
  }
2112
2287
  set columns(value) {
2113
- this.activeCell = null;
2288
+ const activeCell = this.activeCell;
2114
2289
  this.sourceColumnDefs = Array.isArray(value) ? [...value] : [];
2115
2290
  this.columnDefs = [...this.sourceColumnDefs];
2116
2291
  this.hiddenColumnKeys = new Set(this.sourceColumnDefs.filter((column) => column.hidden).map((column) => column.key));
2117
2292
  this.clearBestFitWidths();
2118
2293
  this.restorePersistedColumnState();
2294
+ // Structural synchronization must not discard navigation. This also
2295
+ // restores the position after persisted column state has been applied.
2296
+ this.activeCell = activeCell;
2119
2297
  this.requestUpdate();
2120
2298
  }
2121
2299
  get columnStateStorageKey() {
@@ -2210,6 +2388,7 @@ export class DataGrid extends LitElement {
2210
2388
  }
2211
2389
  // Ensure start/end indices are within valid bounds to avoid empty renders
2212
2390
  const safeStartIndex = Math.max(0, Math.min(range.startIndex, Math.max(0, count)));
2391
+ let renderedRowStart = safeStartIndex;
2213
2392
  const safeEndIndex = Math.max(safeStartIndex, Math.min(range.endIndex, count));
2214
2393
  let rows = this.engine.getVisibleRows(safeStartIndex, safeEndIndex);
2215
2394
  if (rows.length === 0 && count > 0) {
@@ -2219,6 +2398,7 @@ export class DataGrid extends LitElement {
2219
2398
  const fallbackStart = Math.max(0, count - visibleCountFallback);
2220
2399
  const fallbackEnd = count;
2221
2400
  rows = this.engine.getVisibleRows(fallbackStart, fallbackEnd);
2401
+ renderedRowStart = fallbackStart;
2222
2402
  }
2223
2403
  const columns = this.getVisibleColumns();
2224
2404
  const columnWidths = columns.map((column) => this.getColumnWidth(column));
@@ -2230,6 +2410,23 @@ export class DataGrid extends LitElement {
2230
2410
  });
2231
2411
  const columnRange = this.columnVirtualizer.getState();
2232
2412
  const visibleColumns = columns.slice(columnRange.startIndex, columnRange.endIndex);
2413
+ this.reconcileActiveCell(count, columns.length);
2414
+ const activeCellIsRendered = this.activeCell !== null
2415
+ && this.activeCell.rowIndex >= renderedRowStart
2416
+ && this.activeCell.rowIndex < renderedRowStart + rows.length
2417
+ && this.activeCell.columnIndex >= columnRange.startIndex
2418
+ && this.activeCell.columnIndex < columnRange.endIndex;
2419
+ this.renderedActiveCellId = activeCellIsRendered && this.activeCell
2420
+ ? this.getGridCellId(this.activeCell.rowIndex, this.activeCell.columnIndex)
2421
+ : null;
2422
+ if (!activeCellIsRendered || this.renderedRowStart !== renderedRowStart || this.renderedColumnStart !== columnRange.startIndex) {
2423
+ // Preserve logical navigation when the cell leaves either rendered range.
2424
+ // A focused node can also be reused for another cell when the range moves.
2425
+ // Hand off once; later scroll renders don't touch focus on the viewport.
2426
+ this.shouldFocusViewport = this.gridCellHasFocus;
2427
+ }
2428
+ this.renderedRowStart = renderedRowStart;
2429
+ this.renderedColumnStart = columnRange.startIndex;
2233
2430
  const visibleColumnWidths = columnWidths.slice(columnRange.startIndex, columnRange.endIndex);
2234
2431
  const isFirstVisibleColumn = (column, index) => index === 0;
2235
2432
  const gridTemplate = [
@@ -2439,22 +2636,25 @@ export class DataGrid extends LitElement {
2439
2636
  </div>
2440
2637
  ${visibleColumns.length === 0
2441
2638
  ? html `<div class="column-chooser-empty">
2442
- <button type="button" @click=${() => this.toggleColumnChooser()}>Columns</button>
2639
+ <button class="columns-button" type="button" @click=${(event) => this.toggleColumnChooser(event)}>Columns</button>
2443
2640
  </div>`
2444
2641
  : ''}
2445
2642
  <div
2446
2643
  class="viewport"
2447
2644
  role="grid"
2645
+ aria-multiselectable=${['multi-row', 'multi-cell'].includes(this.engine.getConfig().selection.mode) ? 'true' : nothing}
2448
2646
  aria-label=${this.ariaLabel || 'Data grid'}
2449
2647
  aria-rowcount=${count + 1}
2450
2648
  aria-colcount=${columns.length + (this.isRowHeaderVisible() ? 1 : 0)}
2451
- aria-activedescendant=${this.activeCell ? this.getGridCellId(this.activeCell.rowIndex, this.activeCell.columnIndex) : undefined}
2649
+ aria-activedescendant=${this.renderedActiveCellId ?? nothing}
2452
2650
  aria-describedby=${`${this.gridId}-description`}
2453
2651
  aria-owns=${this.getHeaderRowId()}
2454
2652
  style=${`--grid-height: ${this.height}px;`}
2455
2653
  tabindex="0"
2456
2654
  @scroll=${this.handleScroll}
2457
2655
  @focus=${this.handleViewportFocus}
2656
+ @focusin=${this.handleGridFocusIn}
2657
+ @focusout=${() => { this.gridCellHasFocus = false; }}
2458
2658
 
2459
2659
  @keydown=${this.handleKeyDown}
2460
2660
  @click=${() => this.closeHeaderMenu()}
@@ -2466,7 +2666,7 @@ export class DataGrid extends LitElement {
2466
2666
  style=${`--offset-top: ${displayOffsetTop}px; padding-bottom: ${displayBottomPadding}px;`}
2467
2667
  >
2468
2668
  ${rows.map((row, index) => {
2469
- const rowIndex = range.startIndex + index;
2669
+ const rowIndex = renderedRowStart + index;
2470
2670
  const height = this.getRowHeight(rowIndex);
2471
2671
  return html `
2472
2672
  <div
@@ -2491,31 +2691,35 @@ export class DataGrid extends LitElement {
2491
2691
  ${pagination.enabled
2492
2692
  ? html `
2493
2693
  <div class="pagination" role="navigation" aria-label="Pagination">
2494
- <span>${pagination.totalRows} rows</span>
2495
- <label>
2496
- Rows per page
2497
- <select
2498
- aria-label="Rows per page"
2499
- @change=${(event) => this.setPageSize(Number(event.target.value))}
2500
- >
2501
- ${pageSizeOptions.map((pageSize) => html `
2502
- <option value=${pageSize} ?selected=${pageSize === pagination.pageSize}>
2503
- ${pageSize}
2504
- </option>
2505
- `)}
2506
- </select>
2507
- </label>
2508
- <span>Page ${pagination.pageCount === 0 ? 0 : pagination.pageIndex + 1} of ${pagination.pageCount}</span>
2509
- <button
2510
- type="button"
2511
- ?disabled=${pagination.pageIndex === 0}
2512
- @click=${() => this.setPage(pagination.pageIndex - 1)}
2513
- >Previous</button>
2514
- <button
2515
- type="button"
2516
- ?disabled=${pagination.pageCount === 0 || pagination.pageIndex >= pagination.pageCount - 1}
2517
- @click=${() => this.setPage(pagination.pageIndex + 1)}
2518
- >Next</button>
2694
+ <div class="pagination-summary">
2695
+ <span>${pagination.totalRows} rows</span>
2696
+ <label>
2697
+ Rows per page
2698
+ <select
2699
+ aria-label="Rows per page"
2700
+ @change=${(event) => this.setPageSize(Number(event.target.value))}
2701
+ >
2702
+ ${pageSizeOptions.map((pageSize) => html `
2703
+ <option value=${pageSize} ?selected=${pageSize === pagination.pageSize}>
2704
+ ${pageSize}
2705
+ </option>
2706
+ `)}
2707
+ </select>
2708
+ </label>
2709
+ </div>
2710
+ <div class="pagination-navigation">
2711
+ <span>Page ${pagination.pageCount === 0 ? 0 : pagination.pageIndex + 1} of ${pagination.pageCount}</span>
2712
+ <button
2713
+ type="button"
2714
+ ?disabled=${pagination.pageIndex === 0}
2715
+ @click=${() => this.setPage(pagination.pageIndex - 1)}
2716
+ >Previous</button>
2717
+ <button
2718
+ type="button"
2719
+ ?disabled=${pagination.pageCount === 0 || pagination.pageIndex >= pagination.pageCount - 1}
2720
+ @click=${() => this.setPage(pagination.pageIndex + 1)}
2721
+ >Next</button>
2722
+ </div>
2519
2723
  </div>
2520
2724
  `
2521
2725
  : ''}
@@ -1 +1 @@
1
- {"version":3,"file":"DataGrid.js","sourceRoot":"","sources":["../../src/components/DataGrid.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DataGrid.js","sourceRoot":"","sources":["../../src/components/DataGrid.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tipolox/litgrid-web",
3
- "version": "1.0.1",
3
+ "version": "1.0.3",
4
4
  "description": "LitGrid DataGrid Web Component.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -39,8 +39,8 @@
39
39
  },
40
40
  "dependencies": {
41
41
  "lit": "^3.3.2",
42
- "@tipolox/litgrid-core": "^1.0.1",
43
- "@tipolox/litgrid-renderer": "^1.0.1"
42
+ "@tipolox/litgrid-core": "^1.0.3",
43
+ "@tipolox/litgrid-renderer": "^1.0.3"
44
44
  },
45
45
  "scripts": {
46
46
  "prebuild": "node -e \"const fs=require('node:fs'); fs.rmSync('dist',{recursive:true,force:true}); fs.mkdirSync('dist',{recursive:true}); fs.copyFileSync('../../LICENSE','dist/LICENSE')\"",