@sheetxl/grid-react 0.8.0-beta.1 → 0.8.0-beta.11

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 (65) hide show
  1. package/README.md +16 -5
  2. package/browser/esm/index.mjs +3504 -2846
  3. package/licenses/dependencies.txt +0 -208
  4. package/node/esm/index.mjs +3861 -2284
  5. package/package.json +8 -12
  6. package/types/src/cell/CellRenderer.d.ts +14 -3
  7. package/types/src/cell/GridlineLayer.d.ts +39 -1
  8. package/types/src/editor/DefaultEditable.d.ts +25 -6
  9. package/types/src/editor/EditSession.d.ts +34 -5
  10. package/types/src/editor/EditState.d.ts +6 -0
  11. package/types/src/editor/EditorDiv.d.ts +3 -2
  12. package/types/src/editor/EditorInput.d.ts +7 -3
  13. package/types/src/editor/EditorLayer.d.ts +9 -4
  14. package/types/src/editor/EditorStartLayer.d.ts +33 -0
  15. package/types/src/editor/index.d.ts +1 -0
  16. package/types/src/editor/useEditorKeymap.d.ts +18 -2
  17. package/types/src/header/GridFreezeAnchor.d.ts +29 -0
  18. package/types/src/header/HeaderDividerAnchor.d.ts +29 -0
  19. package/types/src/header/HeaderFreezeAnchor.d.ts +37 -0
  20. package/types/src/header/_freezeSnap.d.ts +28 -0
  21. package/types/src/header/_useFreezeGrip.d.ts +28 -0
  22. package/types/src/header/index.d.ts +2 -0
  23. package/types/src/header/useHeaderSelectionPointer.d.ts +10 -6
  24. package/types/src/layer/GestureTip.d.ts +69 -0
  25. package/types/src/layer/GridFloatPanel.d.ts +19 -0
  26. package/types/src/layer/Layer.d.ts +6 -0
  27. package/types/src/layer/RangeFloatLayer.d.ts +143 -51
  28. package/types/src/layer/RangePrompt.d.ts +8 -8
  29. package/types/src/layer/RangeTooltip.d.ts +123 -0
  30. package/types/src/layer/RangeTooltipLayer.d.ts +53 -0
  31. package/types/src/layer/StickyAnchor.d.ts +15 -5
  32. package/types/src/layer/StickyPortal.d.ts +73 -0
  33. package/types/src/layer/TooltipProvider.d.ts +101 -0
  34. package/types/src/layer/index.d.ts +7 -4
  35. package/types/src/layer/useGridAnchor.d.ts +45 -4
  36. package/types/src/layer/useHoverIntent.d.ts +35 -8
  37. package/types/src/list/CheckboxList.d.ts +22 -1
  38. package/types/src/list/List.d.ts +11 -2
  39. package/types/src/list/ListSearch.d.ts +52 -0
  40. package/types/src/list/ListSurface.d.ts +25 -5
  41. package/types/src/list/PickList.d.ts +71 -0
  42. package/types/src/list/_measureText.d.ts +14 -0
  43. package/types/src/list/index.d.ts +2 -0
  44. package/types/src/range/DragHandle.d.ts +19 -2
  45. package/types/src/range/Draggable.d.ts +132 -7
  46. package/types/src/range/FillHandle.d.ts +33 -3
  47. package/types/src/range/RangeInsertBar.d.ts +91 -0
  48. package/types/src/range/index.d.ts +2 -0
  49. package/types/src/selection/SelectionLayer.d.ts +128 -15
  50. package/types/src/selection/SelectionStyle.d.ts +33 -0
  51. package/types/src/selection/SelectionTouchGrips.d.ts +0 -4
  52. package/types/src/selection/_SelectionUtils.d.ts +6 -0
  53. package/types/src/selection/useDragCells.d.ts +65 -9
  54. package/types/src/surface/GridPane.d.ts +2 -0
  55. package/types/src/surface/IGridPane.d.ts +15 -2
  56. package/types/src/surface/SurfaceStateProvider.d.ts +1 -1
  57. package/types/src/surface/getPrimaryPane.d.ts +13 -0
  58. package/types/src/surface/index.d.ts +1 -0
  59. package/types/src/surface/useSurfaceState.d.ts +19 -0
  60. package/types/src/svg/_Glide.d.ts +9 -0
  61. package/types/src/theme/GridTheme.d.ts +1 -1
  62. package/browser/cjs/index.cjs +0 -3
  63. package/types/src/layer/HoverTipLayer.d.ts +0 -47
  64. package/types/src/layer/StickyFloat.d.ts +0 -68
  65. package/types/src/layer/useRangeHover.d.ts +0 -36
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 receives keys first (and may `stopPropagation` to keep them from the grid); when the
308
- surface is focused, keys reach the grid and it navigates as usual.
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?"
@@ -364,8 +372,9 @@ anchor resolver + Floating UI), not from them:
364
372
 
365
373
  - **`StickyAnchor`** — resolves a grid anchor (range / cell / edge / point) to a live position;
366
374
  children render inline (clipping with the pane) or self-position via render-prop.
367
- - **`StickyFloat`** — the portal flavor: floats content beside the anchor with flip/shift/clamp.
368
- - **`HoverTipLayer`** — hover-intent tips: a `Layer` tap probing the hovered cell + a `StickyFloat`.
375
+ - **`StickyPortal`** — the portal flavor: floats content beside the anchor with flip/shift/clamp.
376
+ - **`RangeTooltipLayer`** — the tooltip kind: a `Layer` tap probing the hovered cell + a `StickyPortal` in the
377
+ group's bubble; `TooltipProvider` sets the timing, the bubble and the single-open group.
369
378
  - **`RangePrompt`** — a persistent prompt pinned to a range, with an out-of-view "go to" affordance.
370
379
 
371
380
  Naming convention: a component ending in `-Layer` roots a `Layer` (drop it in as a grid child);
@@ -390,7 +399,9 @@ Complete, drop-in layers (each roots its own `Layer` — stack them like any oth
390
399
  directly on a `GridSurface` when you own the stack.
391
400
  - **`SelectionLayer`** — pointer + keyboard selection over an `ISelection` model, with move grip and
392
401
  fill handle slots.
393
- - **`EditorLayer`** — an always-mounted inline cell editor (swappable input).
402
+ - **`EditorStartLayer`** — the ready-mode edit starters (typed key / F2 / double-click); mount it
403
+ first (the floor).
404
+ - **`EditorLayer`** — an always-mounted inline cell editor (swappable input); mount it last (the top).
394
405
  - **`RangesPickerLayer`** — multi-rectangle range picking (formula references, chart ranges).
395
406
  - **`List`** — a virtualized list built from the same engine (a one-column grid + selection).
396
407