@neo4j-ndl/react 3.2.11 → 3.2.13

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.
Files changed (53) hide show
  1. package/lib/cjs/data-grid/Components.js +48 -64
  2. package/lib/cjs/data-grid/Components.js.map +1 -1
  3. package/lib/cjs/data-grid/DataGrid.js +11 -12
  4. package/lib/cjs/data-grid/DataGrid.js.map +1 -1
  5. package/lib/cjs/data-grid/DataGridContext.js.map +1 -1
  6. package/lib/cjs/data-grid/data-grid-nav/data-grid-nav.js +510 -0
  7. package/lib/cjs/data-grid/data-grid-nav/data-grid-nav.js.map +1 -0
  8. package/lib/cjs/data-grid/data-grid-nav/helpers.js +49 -0
  9. package/lib/cjs/data-grid/data-grid-nav/helpers.js.map +1 -0
  10. package/lib/cjs/data-grid/data-grid-nav/index.js +77 -0
  11. package/lib/cjs/data-grid/data-grid-nav/index.js.map +1 -0
  12. package/lib/cjs/data-grid/data-grid-nav/keys.js +42 -0
  13. package/lib/cjs/data-grid/data-grid-nav/keys.js.map +1 -0
  14. package/lib/cjs/data-grid/data-grid-nav/selectors.js +31 -0
  15. package/lib/cjs/data-grid/data-grid-nav/selectors.js.map +1 -0
  16. package/lib/cjs/data-grid/helpers.js +47 -1
  17. package/lib/cjs/data-grid/helpers.js.map +1 -1
  18. package/lib/cjs/data-grid/index.js +7 -1
  19. package/lib/cjs/data-grid/index.js.map +1 -1
  20. package/lib/cjs/modal/Modal.js +13 -7
  21. package/lib/cjs/modal/Modal.js.map +1 -1
  22. package/lib/esm/data-grid/Components.js +49 -65
  23. package/lib/esm/data-grid/Components.js.map +1 -1
  24. package/lib/esm/data-grid/DataGrid.js +5 -6
  25. package/lib/esm/data-grid/DataGrid.js.map +1 -1
  26. package/lib/esm/data-grid/DataGridContext.js.map +1 -1
  27. package/lib/esm/data-grid/data-grid-nav/data-grid-nav.js +506 -0
  28. package/lib/esm/data-grid/data-grid-nav/data-grid-nav.js.map +1 -0
  29. package/lib/esm/data-grid/data-grid-nav/helpers.js +45 -0
  30. package/lib/esm/data-grid/data-grid-nav/helpers.js.map +1 -0
  31. package/lib/esm/data-grid/data-grid-nav/index.js +74 -0
  32. package/lib/esm/data-grid/data-grid-nav/index.js.map +1 -0
  33. package/lib/esm/data-grid/data-grid-nav/keys.js +39 -0
  34. package/lib/esm/data-grid/data-grid-nav/keys.js.map +1 -0
  35. package/lib/esm/data-grid/data-grid-nav/selectors.js +28 -0
  36. package/lib/esm/data-grid/data-grid-nav/selectors.js.map +1 -0
  37. package/lib/esm/data-grid/helpers.js +45 -0
  38. package/lib/esm/data-grid/helpers.js.map +1 -1
  39. package/lib/esm/data-grid/index.js +2 -0
  40. package/lib/esm/data-grid/index.js.map +1 -1
  41. package/lib/esm/modal/Modal.js +13 -7
  42. package/lib/esm/modal/Modal.js.map +1 -1
  43. package/lib/types/data-grid/Components.d.ts +8 -5
  44. package/lib/types/data-grid/DataGrid.d.ts +2 -4
  45. package/lib/types/data-grid/DataGridContext.d.ts +2 -0
  46. package/lib/types/data-grid/data-grid-nav/data-grid-nav.d.ts +94 -0
  47. package/lib/types/data-grid/data-grid-nav/helpers.d.ts +26 -0
  48. package/lib/types/data-grid/data-grid-nav/index.d.ts +29 -0
  49. package/lib/types/data-grid/data-grid-nav/keys.d.ts +37 -0
  50. package/lib/types/data-grid/data-grid-nav/selectors.d.ts +27 -0
  51. package/lib/types/data-grid/helpers.d.ts +11 -1
  52. package/lib/types/data-grid/index.d.ts +2 -0
  53. package/package.json +2 -4
@@ -1 +1 @@
1
- {"version":3,"file":"DataGrid.js","sourceRoot":"","sources":["../../../src/data-grid/DataGrid.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DataGrid.js","sourceRoot":"","sources":["../../../src/data-grid/DataGrid.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"DataGridContext.js","sourceRoot":"","sources":["../../../src/data-grid/DataGridContext.tsx"],"names":[],"mappings":"AAwBA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAoElD,8DAA8D;AAC9D,MAAM,CAAC,MAAM,eAAe,GAAG,aAAa,CAA2B,IAAK,CAAC,CAAC;AAE9E,MAAM,UAAU,kBAAkB;IAChC,MAAM,OAAO,GAAG,UAAU,CAAyB,eAAe,CAAC,CAAC;IACpE,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,kEAAkE,CACnE,CAAC;IACJ,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"DataGridContext.js","sourceRoot":"","sources":["../../../src/data-grid/DataGridContext.tsx"],"names":[],"mappings":"AAwBA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAsElD,8DAA8D;AAC9D,MAAM,CAAC,MAAM,eAAe,GAAG,aAAa,CAA2B,IAAK,CAAC,CAAC;AAE9E,MAAM,UAAU,kBAAkB;IAChC,MAAM,OAAO,GAAG,UAAU,CAAyB,eAAe,CAAC,CAAC;IACpE,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,kEAAkE,CACnE,CAAC;IACJ,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -0,0 +1,506 @@
1
+ /**
2
+ *
3
+ * Copyright (c) "Neo4j"
4
+ * Neo4j Sweden AB [http://neo4j.com]
5
+ *
6
+ * This file is part of Neo4j.
7
+ *
8
+ * Neo4j is free software: you can redistribute it and/or modify
9
+ * it under the terms of the GNU General Public License as published by
10
+ * the Free Software Foundation, either version 3 of the License, or
11
+ * (at your option) any later version.
12
+ *
13
+ * This program is distributed in the hope that it will be useful,
14
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
15
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
+ * GNU General Public License for more details.
17
+ *
18
+ * You should have received a copy of the GNU General Public License
19
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
20
+ */
21
+ import { isValidInteractiveElement } from './helpers';
22
+ import { Keys } from './keys';
23
+ import { Selectors } from './selectors';
24
+ export class DataGridNav {
25
+ constructor(config = {}) {
26
+ this.keys = [];
27
+ this.debugLog = (functionName, message) => {
28
+ if (this.debug)
29
+ console.info(`[${functionName}]: ${message}`);
30
+ };
31
+ const { selectors = {}, pageUpDown, isDebug = false } = config;
32
+ this.selectors = Object.assign(Object.assign({}, Selectors), selectors);
33
+ this.pageUpDown = pageUpDown;
34
+ this.keys = [];
35
+ this.debug = isDebug;
36
+ this.disabled = false;
37
+ }
38
+ /**
39
+ * Disables the keyboard listener in cases
40
+ * that elements inside the grid need to use
41
+ * arrows keys etc., like select dropdowns
42
+ */
43
+ disable() {
44
+ this.disabled = true;
45
+ }
46
+ /**
47
+ * Enables the keyboard listeners
48
+ */
49
+ enable() {
50
+ this.disabled = false;
51
+ }
52
+ isFocusable(el) {
53
+ return el instanceof HTMLElement || el instanceof SVGElement;
54
+ }
55
+ focusParentCell(el) {
56
+ const cell = el.closest(this.selectors.Cell);
57
+ if (cell && this.isFocusable(cell)) {
58
+ cell.focus();
59
+ }
60
+ }
61
+ /** Used as a keyboard listener for key up */
62
+ tableKeyUp() {
63
+ // TODO: have a cleanup as user can press key
64
+ // and then move to another tab, and get back to the same tab
65
+ // so this will not be empty (the bug exists with .pop)
66
+ this.keys = [];
67
+ }
68
+ /** Used as a keyboard listener for key down */
69
+ tableKeyDown(e) {
70
+ var _a;
71
+ this.debugLog('tableKeyDown', `Key pressed: ${e.key}`);
72
+ if (this.disabled) {
73
+ this.debugLog('tableKeyDown', 'interaction is disabled');
74
+ return;
75
+ }
76
+ /**
77
+ * Avoid page scrolling etc.
78
+ * Enable default behavior for:
79
+ * Tab, Shift + Tab
80
+ * TODO: Actually it will be better to just prevent
81
+ * in ArrowKeys and PageKeys maybe?
82
+ * Or should the consumer stop propagation?!
83
+ * Cannot work with preventDefault as it will
84
+ * first capture the event from an input in cell for example
85
+ */
86
+ if (Keys.ArrowDown === e.key ||
87
+ Keys.ArrowUp === e.key ||
88
+ Keys.ArrowLeft === e.key ||
89
+ Keys.ArrowRight === e.key) {
90
+ e.preventDefault();
91
+ }
92
+ /**
93
+ * Add key to the stack if it's
94
+ * not the same with the last (long press)
95
+ */
96
+ if (this.keys.length === 0 || this.keys[this.keys.length - 1] !== e.key) {
97
+ this.keys.push(e.key);
98
+ }
99
+ /**
100
+ * Need to check if we are inside a grid cell
101
+ * or not to enable/disable Grid Navigation
102
+ */
103
+ if (!(e.target instanceof Element))
104
+ return;
105
+ const cell = (_a = e.target.parentElement) === null || _a === void 0 ? void 0 : _a.closest(`${this.selectors.Cell},${this.selectors.Row}`);
106
+ if (!cell) {
107
+ this.debugLog('tableKeyDown', 'cell not found');
108
+ return;
109
+ }
110
+ if (cell.matches(this.selectors.Cell)) {
111
+ this.debugLog('tableKeyDown', 'event captured in cell');
112
+ this.cellNavigation(e);
113
+ }
114
+ else {
115
+ this.debugLog('tableKeyDown', 'event captured in grid');
116
+ this.gridNavigation(e);
117
+ }
118
+ }
119
+ /**
120
+ * Handles the navigation inside a cell
121
+ */
122
+ cellNavigation(e) {
123
+ if (!(e.target instanceof Element))
124
+ return;
125
+ const cell = e.target.closest(this.selectors.Cell);
126
+ if (!cell) {
127
+ this.debugLog('cellNavigation', 'cell not found');
128
+ return;
129
+ }
130
+ if (this.getValidFocusableChild(cell)) {
131
+ this.debugLog('cellNavigation', 'valid focusable child found');
132
+ this.gridNavigation(e);
133
+ return;
134
+ }
135
+ const focusableWidgets = cell
136
+ ? [...cell.querySelectorAll(this.selectors.Focusable)]
137
+ : [];
138
+ const widgetIdx = focusableWidgets.findIndex((el) => el === e.target);
139
+ /**
140
+ * Keys: Escape
141
+ * Restore grid navigation
142
+ */
143
+ if (e.key === Keys.Escape && this.isFocusable(cell)) {
144
+ cell.focus();
145
+ e.preventDefault();
146
+ e.stopPropagation();
147
+ return;
148
+ }
149
+ /**
150
+ * Keys: ArrowRight, ArrowDown
151
+ * Move to the next focusable cell, or the first one
152
+ *
153
+ * Arrow Down disabled:
154
+ * https://github.com/w3c/aria-practices/issues/2739#issuecomment-1613538972
155
+ */
156
+ if (e.key === Keys.ArrowRight || e.key === Keys.ArrowDown) {
157
+ const nextFocusable = widgetIdx === focusableWidgets.length - 1 ? 0 : widgetIdx + 1;
158
+ const widgetToFocus = focusableWidgets[nextFocusable];
159
+ if (this.isFocusable(widgetToFocus)) {
160
+ widgetToFocus.focus();
161
+ }
162
+ return;
163
+ }
164
+ /**
165
+ * Keys: ArrowLeft, ArrowUp
166
+ * Move to the previous focusable cell, or the last one
167
+ *
168
+ * Arrow Up disabled:
169
+ * https://github.com/w3c/aria-practices/issues/2739#issuecomment-1613538972
170
+ */
171
+ if (e.key === Keys.ArrowLeft || e.key === Keys.ArrowUp) {
172
+ const previousFocusable = widgetIdx === 0 ? focusableWidgets.length - 1 : widgetIdx - 1;
173
+ const widgetToFocus = focusableWidgets[previousFocusable];
174
+ if (this.isFocusable(widgetToFocus)) {
175
+ widgetToFocus.focus();
176
+ }
177
+ return;
178
+ }
179
+ }
180
+ /**
181
+ * Get the valid focusable child of a cell
182
+ * @return {FocusableElement | null} - The valid focusable child, or null if there are none or multiple focusable children
183
+ */
184
+ getValidFocusableChild(el) {
185
+ const focusableChildren = [
186
+ ...el.querySelectorAll(this.selectors.Focusable),
187
+ ];
188
+ if (focusableChildren.length === 1 &&
189
+ isValidInteractiveElement(focusableChildren[0]) &&
190
+ this.isFocusable(focusableChildren[0])) {
191
+ return focusableChildren[0];
192
+ }
193
+ return null;
194
+ }
195
+ /**
196
+ * Handles the navigation outside a cell
197
+ * on the grid level
198
+ */
199
+ gridNavigation(e) {
200
+ var _a;
201
+ if (!(e.target instanceof Element))
202
+ return;
203
+ if (this.keys.length === 1) {
204
+ /**
205
+ * Keys: Enter
206
+ * Should move focus inside the cell to the first focusable element:
207
+ * https://www.w3.org/WAI/ARIA/apg/patterns/grid/#gridNav_inside
208
+ */
209
+ if (e.key === Keys.Enter) {
210
+ const cell = e.target.querySelector(this.selectors.Focusable);
211
+ if (cell && this.isFocusable(cell)) {
212
+ // Enter can trigger child elements:
213
+ // Source: https://www.reddit.com/r/learnjavascript/comments/14kpj24/wrong_keydown_listener_is_called_with_focus/
214
+ // If the e.preventDefault causes issues, we can offset the execution with setTimeout
215
+ cell.focus();
216
+ e.preventDefault();
217
+ }
218
+ }
219
+ /**
220
+ * Keys: ArrowLeft, ArrowRight
221
+ * Should move focus to the next/previous cell
222
+ */
223
+ if (e.key === Keys.ArrowLeft || e.key === Keys.ArrowRight) {
224
+ const direction = e.key === Keys.ArrowLeft ? 'prev' : 'next';
225
+ // Get the closest cell we are currently in
226
+ const cell = e.target.closest(this.selectors.Cell);
227
+ if (cell && cell instanceof Element) {
228
+ const closeFocusable = this.findUntil(direction, cell, this.selectors.Cell);
229
+ if (closeFocusable) {
230
+ const focusableChild = this.getValidFocusableChild(closeFocusable);
231
+ const toFocus = focusableChild !== null && focusableChild !== void 0 ? focusableChild : closeFocusable;
232
+ toFocus.focus();
233
+ toFocus.scrollIntoView({
234
+ block: 'nearest',
235
+ inline: 'nearest',
236
+ });
237
+ }
238
+ }
239
+ }
240
+ /**
241
+ * Keys: Up,Down
242
+ * Should move focus to the same column of the next/previous row
243
+ */
244
+ if (e.key === Keys.ArrowDown || e.key === Keys.ArrowUp) {
245
+ this.verticalCellNavigation(e);
246
+ return;
247
+ }
248
+ /**
249
+ * Keys: PageUp, PageDown
250
+ * Should move focus to the first/last row
251
+ * or a predefined number of rows if user provides a value
252
+ */
253
+ if (e.key === Keys.PageUp || e.key === Keys.PageDown) {
254
+ this.pageCellNavigation(e);
255
+ return;
256
+ }
257
+ /**
258
+ * Keys: Home, End
259
+ * Should move focus to the first/last cell of the current row
260
+ */
261
+ if (e.key === Keys.Home || e.key === Keys.End) {
262
+ const row = e.target.closest(this.selectors.Row);
263
+ const rowChildren = [...((row === null || row === void 0 ? void 0 : row.children) || [])];
264
+ if (e.key === 'End')
265
+ rowChildren.reverse();
266
+ this.focusOnFirstCell(rowChildren);
267
+ }
268
+ }
269
+ else {
270
+ /**
271
+ * Keys: Control + Home, Control + End
272
+ * Should move focus to the first/last cell of the first/last row
273
+ */
274
+ const [firstKey, secondKey] = this.keys;
275
+ if (firstKey === 'Control' &&
276
+ (secondKey === Keys.Home || secondKey === Keys.End)) {
277
+ const row = e.target.closest(this.selectors.Row);
278
+ const siblings = (_a = row.parentElement) === null || _a === void 0 ? void 0 : _a.children;
279
+ if (!siblings) {
280
+ this.debugLog('cellNavigation', 'siblings not found');
281
+ return;
282
+ }
283
+ const rowToFocus = secondKey === Keys.Home ? siblings[0] : siblings[siblings.length - 1];
284
+ const rowChildren = [...((rowToFocus === null || rowToFocus === void 0 ? void 0 : rowToFocus.children) || [])];
285
+ if (secondKey === Keys.End)
286
+ rowChildren.reverse();
287
+ this.focusOnFirstCell(rowChildren);
288
+ }
289
+ }
290
+ }
291
+ pageCellNavigation(e) {
292
+ var _a;
293
+ if (!(e.target instanceof Element))
294
+ return;
295
+ const row = e.target.closest(this.selectors.Row);
296
+ const cell = e.target.closest(this.selectors.Cell);
297
+ if (row && cell) {
298
+ const position = this.getColumnIndex(cell);
299
+ if (position === undefined) {
300
+ this.debugLog('cellNavigation', 'position not found');
301
+ return;
302
+ }
303
+ const direction = e.key === Keys.PageUp ? 'prev' : 'next';
304
+ const siblings = (_a = row.parentElement) === null || _a === void 0 ? void 0 : _a.children;
305
+ if (!siblings) {
306
+ this.debugLog('cellNavigation', 'siblings not found');
307
+ return;
308
+ }
309
+ // If pageUpDown is defined, we should move that number of rows, or to the closest possible
310
+ let destinationRow;
311
+ if (this.pageUpDown) {
312
+ const methodClbk = direction === 'prev' ? 'previousSibling' : 'nextSibling';
313
+ let sibling = row[methodClbk];
314
+ if (sibling === null)
315
+ return;
316
+ let lastVisitedSibling = sibling;
317
+ for (let i = 0; i < this.pageUpDown - 1 && sibling; i++) {
318
+ sibling = sibling[methodClbk];
319
+ if (sibling) {
320
+ lastVisitedSibling = sibling;
321
+ }
322
+ }
323
+ destinationRow = sibling ? sibling : lastVisitedSibling;
324
+ }
325
+ else {
326
+ destinationRow =
327
+ direction === 'prev' ? siblings[0] : siblings[siblings.length - 1];
328
+ }
329
+ if (!destinationRow || !(destinationRow instanceof Element))
330
+ return;
331
+ const child = destinationRow.children[position];
332
+ if (child && this.isFocusable(child)) {
333
+ const focusableGrandChild = this.getValidFocusableChild(child);
334
+ if (focusableGrandChild) {
335
+ focusableGrandChild.focus();
336
+ }
337
+ else {
338
+ child.focus();
339
+ }
340
+ }
341
+ }
342
+ }
343
+ verticalCellNavigation(e) {
344
+ var _a, _b, _c, _d, _e;
345
+ if (!(e.target instanceof Element))
346
+ return;
347
+ const row = e.target.closest(this.selectors.Row);
348
+ const cell = e.target.closest(this.selectors.Cell);
349
+ if (row && cell) {
350
+ const cellPosition = this.getColumnIndex(cell);
351
+ const rowPosition = this.getRowIndex(row);
352
+ this.debugLog('gridNavigation', `Initial row position: ${rowPosition}`);
353
+ this.debugLog('gridNavigation', `Initial cell position: ${cellPosition}`);
354
+ if (cellPosition === undefined || rowPosition === undefined) {
355
+ this.debugLog('verticalCellNavigation', 'row or cell position not found');
356
+ return;
357
+ }
358
+ const direction = e.key === Keys.ArrowUp ? 'prev' : 'next';
359
+ /** Find previous rowgroup and focus on the proper cell */
360
+ if (rowPosition === 0 && direction === 'prev') {
361
+ const currentRowGroup = (_a = row.parentElement) === null || _a === void 0 ? void 0 : _a.closest(this.selectors.RowGroup);
362
+ const siblingRowGroups = [
363
+ ...(((_b = currentRowGroup === null || currentRowGroup === void 0 ? void 0 : currentRowGroup.parentElement) === null || _b === void 0 ? void 0 : _b.children) || []),
364
+ ];
365
+ const currentRowGroupIdx = siblingRowGroups.findIndex((el) => el === currentRowGroup);
366
+ if (currentRowGroupIdx !== 0) {
367
+ const previousRowGroup = siblingRowGroups[currentRowGroupIdx - 1];
368
+ const rows = [
369
+ ...previousRowGroup.querySelectorAll(this.selectors.Row),
370
+ ];
371
+ const child = rows[rows.length - 1].children[cellPosition];
372
+ if (child && this.isFocusable(child)) {
373
+ const focusableGrandChild = this.getValidFocusableChild(child);
374
+ if (focusableGrandChild) {
375
+ focusableGrandChild.focus();
376
+ }
377
+ else {
378
+ child.focus();
379
+ }
380
+ }
381
+ return;
382
+ }
383
+ }
384
+ const siblingRows = [
385
+ ...(((_c = row.parentElement) === null || _c === void 0 ? void 0 : _c.querySelectorAll(this.selectors.Row)) || []),
386
+ ];
387
+ /** Find next rowgroup and focus on the proper cell */
388
+ if (rowPosition === siblingRows.length - 1 && direction === 'next') {
389
+ const currentRowGroup = (_d = row.parentElement) === null || _d === void 0 ? void 0 : _d.closest(this.selectors.RowGroup);
390
+ const siblingRowGroups = [
391
+ ...(((_e = currentRowGroup === null || currentRowGroup === void 0 ? void 0 : currentRowGroup.parentElement) === null || _e === void 0 ? void 0 : _e.children) || []),
392
+ ];
393
+ const currentRowGroupIdx = siblingRowGroups.findIndex((el) => el === currentRowGroup);
394
+ if (currentRowGroupIdx !== siblingRowGroups.length - 1) {
395
+ const nextRowGroup = siblingRowGroups[currentRowGroupIdx + 1];
396
+ const rows = [...nextRowGroup.querySelectorAll(this.selectors.Row)];
397
+ const child = rows[0].children[cellPosition];
398
+ if (child && this.isFocusable(child)) {
399
+ const focusableGrandChild = this.getValidFocusableChild(child);
400
+ if (focusableGrandChild) {
401
+ focusableGrandChild.focus();
402
+ }
403
+ else {
404
+ child.focus();
405
+ }
406
+ }
407
+ return;
408
+ }
409
+ return;
410
+ }
411
+ /** Navigation in the same rowgroup */
412
+ const destinationRow = this.findUntil(direction, row, this.selectors.Row);
413
+ if (!destinationRow)
414
+ return;
415
+ const child = destinationRow.children[cellPosition];
416
+ if (child && this.isFocusable(child)) {
417
+ const focusableGrandChild = this.getValidFocusableChild(child);
418
+ if (focusableGrandChild) {
419
+ focusableGrandChild.focus();
420
+ }
421
+ else {
422
+ child.focus();
423
+ }
424
+ }
425
+ }
426
+ }
427
+ /**
428
+ * Sending a row `Element` and then the first cell will be focused.
429
+ *
430
+ * If you want to focus the last cell then the row children can be passed in
431
+ * reversed order
432
+ */
433
+ focusOnFirstCell(el) {
434
+ for (let i = 0; i < el.length; i++) {
435
+ const child = el[i];
436
+ if (this.isFocusable(child)) {
437
+ child.focus();
438
+ return;
439
+ }
440
+ }
441
+ }
442
+ /**
443
+ * Get the column index of a `cell` based on the first `row` parent.
444
+ * `cellIndex` could be used, but it's not supported in HTML tables.
445
+ */
446
+ getColumnIndex(cell) {
447
+ var _a;
448
+ let position = 0;
449
+ const siblings = (_a = cell === null || cell === void 0 ? void 0 : cell.parentNode) === null || _a === void 0 ? void 0 : _a.children;
450
+ if (!siblings)
451
+ return undefined;
452
+ while (cell !== siblings[position] && siblings[position] !== undefined) {
453
+ position++;
454
+ }
455
+ // Cell position find was not possible, maybe should log here
456
+ if (siblings[position] === undefined) {
457
+ this.debugLog('getColumnIndex', 'position finding was not successful');
458
+ return undefined;
459
+ }
460
+ return position;
461
+ }
462
+ /**
463
+ * Get the row index of a `row` based
464
+ * on its sibling rows
465
+ */
466
+ getRowIndex(row) {
467
+ var _a;
468
+ let position = 0;
469
+ const siblings = (_a = row === null || row === void 0 ? void 0 : row.parentNode) === null || _a === void 0 ? void 0 : _a.children;
470
+ if (!siblings)
471
+ return undefined;
472
+ while (row !== siblings[position] && siblings[position] !== undefined) {
473
+ position++;
474
+ }
475
+ // Cell position find was not possible
476
+ if (siblings[position] === undefined) {
477
+ this.debugLog('getRowIndex', 'position finding was not successful');
478
+ return undefined;
479
+ }
480
+ return position;
481
+ }
482
+ /**
483
+ * Equivalent to prevUntil/nextUntil in jQuery
484
+ * https://api.jquery.com/prevUntil/
485
+ */
486
+ findUntil(direction, el, matchSelector, exitSelector) {
487
+ let element = el;
488
+ const method = direction === 'next' ? 'nextSibling' : 'previousSibling';
489
+ while (element[method]) {
490
+ const sibling = element[method];
491
+ if (!sibling)
492
+ return null;
493
+ if (exitSelector &&
494
+ sibling instanceof Element &&
495
+ sibling.matches(exitSelector)) {
496
+ return null;
497
+ }
498
+ if (sibling instanceof Element && sibling.matches(matchSelector)) {
499
+ return sibling;
500
+ }
501
+ element = sibling;
502
+ }
503
+ return null;
504
+ }
505
+ }
506
+ //# sourceMappingURL=data-grid-nav.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-grid-nav.js","sourceRoot":"","sources":["../../../../src/data-grid/data-grid-nav/data-grid-nav.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ *
3
+ * Copyright (c) "Neo4j"
4
+ * Neo4j Sweden AB [http://neo4j.com]
5
+ *
6
+ * This file is part of Neo4j.
7
+ *
8
+ * Neo4j is free software: you can redistribute it and/or modify
9
+ * it under the terms of the GNU General Public License as published by
10
+ * the Free Software Foundation, either version 3 of the License, or
11
+ * (at your option) any later version.
12
+ *
13
+ * This program is distributed in the hope that it will be useful,
14
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
15
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
+ * GNU General Public License for more details.
17
+ *
18
+ * You should have received a copy of the GNU General Public License
19
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
20
+ */
21
+ /**
22
+ * This function checks that an element is interactive and of a type that doesn't disrupt grid navigation.
23
+ * @param element the element to check
24
+ * @returns true if the element is an interactive element that doesn't disrupt grid navigation
25
+ */
26
+ export const isValidInteractiveElement = (element) => {
27
+ if (!(element instanceof HTMLElement))
28
+ return false;
29
+ const interactiveTags = new Set(['A', 'BUTTON', 'DETAILS']);
30
+ const interactiveInputTypes = new Set([
31
+ 'checkbox',
32
+ 'radio',
33
+ 'submit',
34
+ 'reset',
35
+ ]);
36
+ if (interactiveTags.has(element.tagName)) {
37
+ return true;
38
+ }
39
+ if (element.tagName === 'INPUT') {
40
+ const inputType = element.type;
41
+ return interactiveInputTypes.has(inputType);
42
+ }
43
+ return false;
44
+ };
45
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../src/data-grid/data-grid-nav/helpers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH;;;;GAIG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,OAAgB,EAAW,EAAE;IACrE,IAAI,CAAC,CAAC,OAAO,YAAY,WAAW,CAAC;QAAE,OAAO,KAAK,CAAC;IAEpD,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;IAC5D,MAAM,qBAAqB,GAAG,IAAI,GAAG,CAAC;QACpC,UAAU;QACV,OAAO;QACP,QAAQ;QACR,OAAO;KACR,CAAC,CAAC;IAEH,IAAI,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACzC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,OAAO,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;QAChC,MAAM,SAAS,GAAI,OAA4B,CAAC,IAAI,CAAC;QACrD,OAAO,qBAAqB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC9C,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC,CAAC"}