@sheetxl/grid-react 0.8.0-beta.4 → 0.8.0-beta.6
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 +13 -3
- package/browser/cjs/index.cjs +2 -2
- package/browser/esm/index.mjs +340 -334
- package/node/esm/index.mjs +150 -144
- package/package.json +3 -3
- package/types/src/editor/EditorLayer.d.ts +9 -4
- package/types/src/editor/EditorStartLayer.d.ts +32 -0
- package/types/src/editor/index.d.ts +1 -0
package/README.md
CHANGED
|
@@ -304,8 +304,16 @@ const pane = useGridPane();
|
|
|
304
304
|
The **Stage is the grid's surface** — focus rests on it, and that's what cell navigation uses.
|
|
305
305
|
Programmatically, `gridRef.current.focus()` (or `pane.focus()`) focuses the surface. A `VirtualDiv`
|
|
306
306
|
that should take keyboard focus opts in with `tabIndex` — regular div focus semantics: when it's
|
|
307
|
-
focused it
|
|
308
|
-
|
|
307
|
+
focused, keys target it and reach its handlers at its layer's turn (after the taps above it, per
|
|
308
|
+
law 3), and it may `stopPropagation` to keep them from the layers below; when the surface is
|
|
309
|
+
focused, keys reach the grid and it navigates as usual.
|
|
310
|
+
|
|
311
|
+
A behavior that belongs to the **grid in ready mode** — opening the cell editor on a typed key or a
|
|
312
|
+
double-click — is the floor's, not the top's: put it on its own Layer at the *bottom* of the stack
|
|
313
|
+
(it then hears only what no widget above consumed) and, for keys, act only when the surface itself
|
|
314
|
+
is the event target. A layer that sits high to *paint* (the editor box) must not carry that
|
|
315
|
+
behavior, because its tap would hear every widget's keys first. `EditorStartLayer` + `EditorLayer`
|
|
316
|
+
are this split.
|
|
309
317
|
|
|
310
318
|
Keys are positionless, so their walk skips hit-testing: **every** layer is offered the key, top of
|
|
311
319
|
z first, then the command system terminates the bubble. There is **no** "is the target an input?"
|
|
@@ -390,7 +398,9 @@ Complete, drop-in layers (each roots its own `Layer` — stack them like any oth
|
|
|
390
398
|
directly on a `GridSurface` when you own the stack.
|
|
391
399
|
- **`SelectionLayer`** — pointer + keyboard selection over an `ISelection` model, with move grip and
|
|
392
400
|
fill handle slots.
|
|
393
|
-
- **`
|
|
401
|
+
- **`EditorStartLayer`** — the ready-mode edit starters (typed key / F2 / double-click); mount it
|
|
402
|
+
first (the floor).
|
|
403
|
+
- **`EditorLayer`** — an always-mounted inline cell editor (swappable input); mount it last (the top).
|
|
394
404
|
- **`RangesPickerLayer`** — multi-rectangle range picking (formula references, chart ranges).
|
|
395
405
|
- **`List`** — a virtualized list built from the same engine (a one-column grid + selection).
|
|
396
406
|
|