@sheetxl/grid-react 0.7.20 → 0.7.22
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/browser/cjs/index.cjs +4 -4
- package/browser/esm/index.mjs +1141 -1138
- package/node/esm/index.mjs +511 -507
- package/package.json +3 -3
- package/types/index.d.ts +184 -179
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sheetxl/grid-react",
|
|
3
3
|
"description": "Grid React - Advanced grid component for React",
|
|
4
|
-
"version": "0.7.
|
|
4
|
+
"version": "0.7.22",
|
|
5
5
|
"license": "SEE LICENSE IN <LICENSE>",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"exports": {
|
|
@@ -41,8 +41,8 @@
|
|
|
41
41
|
"table"
|
|
42
42
|
],
|
|
43
43
|
"dependencies": {
|
|
44
|
-
"@sheetxl/utils": "^0.7.
|
|
45
|
-
"@sheetxl/utils-react": "^0.7.
|
|
44
|
+
"@sheetxl/utils": "^0.7.22",
|
|
45
|
+
"@sheetxl/utils-react": "^0.7.22",
|
|
46
46
|
"clsx": "^2.1.1",
|
|
47
47
|
"react-merge-refs": "^3.0.2",
|
|
48
48
|
"react-use": "^17.6.0",
|
package/types/index.d.ts
CHANGED
|
@@ -3,11 +3,11 @@ import { AxisOrientationFlags } from '@sheetxl/utils';
|
|
|
3
3
|
import { Bounds } from '@sheetxl/utils';
|
|
4
4
|
import { CellCoords } from '@sheetxl/utils';
|
|
5
5
|
import { CellFinder } from '@sheetxl/utils-react';
|
|
6
|
-
import { CellLayout } from '@sheetxl/utils-react';
|
|
7
6
|
import { default as default_2 } from 'react';
|
|
8
7
|
import { Direction } from '@sheetxl/utils';
|
|
9
8
|
import { HiddenHeadersAt } from '@sheetxl/utils-react';
|
|
10
9
|
import { HorizontalAlignment } from '@sheetxl/utils-react';
|
|
10
|
+
import { ICellLayout } from '@sheetxl/utils-react';
|
|
11
11
|
import { ICommands } from '@sheetxl/utils-react';
|
|
12
12
|
import { IScrollPaneElement } from '@sheetxl/utils-react';
|
|
13
13
|
import { ItemSizer } from '@sheetxl/utils-react';
|
|
@@ -37,7 +37,7 @@ export declare interface AnimatedStrokeProps {
|
|
|
37
37
|
|
|
38
38
|
/**
|
|
39
39
|
* Data grid component for rendering cells onto a virtual panel.
|
|
40
|
-
* This component coordinates between
|
|
40
|
+
* This component coordinates between ICellLayout and CellRenderer.
|
|
41
41
|
* This component expects a width and height to be passed to it.
|
|
42
42
|
*
|
|
43
43
|
* * To support dynamic width/height based on div sizing wrap this is @see <Grid>
|
|
@@ -114,7 +114,7 @@ export declare interface CellRendererProps<T = any> extends React.HTMLAttributes
|
|
|
114
114
|
/**
|
|
115
115
|
* The view that is rendering a collection of cells
|
|
116
116
|
*/
|
|
117
|
-
view:
|
|
117
|
+
view: IGridView;
|
|
118
118
|
/**
|
|
119
119
|
* The RangeCoords that is being rendering.
|
|
120
120
|
* @remarks
|
|
@@ -155,7 +155,7 @@ export declare interface EditorOverlayResults {
|
|
|
155
155
|
/**
|
|
156
156
|
* Editor component to be injected.
|
|
157
157
|
*/
|
|
158
|
-
|
|
158
|
+
renderOverlay: <T>(view: IGridView, ref?: default_2.Ref<T>) => default_2.ReactNode;
|
|
159
159
|
/**
|
|
160
160
|
* Bind to keyboard event
|
|
161
161
|
*/
|
|
@@ -279,7 +279,7 @@ export declare interface GridProps extends default_2.HTMLAttributes<HTMLDivEleme
|
|
|
279
279
|
/**
|
|
280
280
|
* The layout for the cells
|
|
281
281
|
*/
|
|
282
|
-
layout?:
|
|
282
|
+
layout?: ICellLayout;
|
|
283
283
|
/**
|
|
284
284
|
* Called on scroll, subject to debouncing. Used for programmatic changes. Called even on load
|
|
285
285
|
*/
|
|
@@ -316,11 +316,11 @@ export declare interface GridProps extends default_2.HTMLAttributes<HTMLDivEleme
|
|
|
316
316
|
/**
|
|
317
317
|
* Allow for customization of freezeTopDivider
|
|
318
318
|
*/
|
|
319
|
-
|
|
319
|
+
propsFreezeLeft?: Partial<LineProps>;
|
|
320
320
|
/**
|
|
321
321
|
* Allow for customization of freezeTopDivider
|
|
322
322
|
*/
|
|
323
|
-
|
|
323
|
+
propsFreezeTop?: Partial<LineProps>;
|
|
324
324
|
/**
|
|
325
325
|
* Called right before a row is being rendered.
|
|
326
326
|
* Will be called for frozen cells and merged cells
|
|
@@ -339,7 +339,7 @@ export declare interface GridProps extends default_2.HTMLAttributes<HTMLDivEleme
|
|
|
339
339
|
* the pointerEvents are set to none. To enable interaction this should be
|
|
340
340
|
* overwritten.
|
|
341
341
|
*/
|
|
342
|
-
|
|
342
|
+
renderCell?: (props: CellRendererProps) => default_2.ReactNode;
|
|
343
343
|
/**
|
|
344
344
|
* Allow for cells to be inset. This is a way to account for borders. By default this is 1, 1, 1,x.
|
|
345
345
|
*/
|
|
@@ -347,18 +347,18 @@ export declare interface GridProps extends default_2.HTMLAttributes<HTMLDivEleme
|
|
|
347
347
|
/**
|
|
348
348
|
* Render elements for the view. This will be called whenever the viewport changes.
|
|
349
349
|
*/
|
|
350
|
-
|
|
350
|
+
renderOverlays?: ((view: IGridView) => default_2.ReactNode)[];
|
|
351
351
|
/**
|
|
352
352
|
* Props passed to all overlayRenderers
|
|
353
353
|
*/
|
|
354
|
-
|
|
354
|
+
propsOverlays?: default_2.HTMLAttributes<HTMLDivElement>;
|
|
355
355
|
/**
|
|
356
356
|
* Used for rendering overlays. Similar to cell render but covers the entire area.
|
|
357
|
+
*
|
|
357
358
|
* @param props
|
|
358
|
-
* @returns
|
|
359
359
|
*/
|
|
360
|
-
|
|
361
|
-
|
|
360
|
+
renderOverlay?: <T extends HTMLDivElement = HTMLDivElement>(props: OverlayRendererProps<T>) => default_2.ReactNode;
|
|
361
|
+
propsOverlay?: default_2.HTMLAttributes<HTMLDivElement>;
|
|
362
362
|
/**
|
|
363
363
|
* Overlays are generally clipped to fit in the viewport but
|
|
364
364
|
* this allows for the properties to be overridden.
|
|
@@ -367,11 +367,11 @@ export declare interface GridProps extends default_2.HTMLAttributes<HTMLDivEleme
|
|
|
367
367
|
/**
|
|
368
368
|
* Allows users to Wrap stage children in Top level Context
|
|
369
369
|
*/
|
|
370
|
-
|
|
370
|
+
wrapperStage?: (children: default_2.ReactNode) => default_2.ReactNode;
|
|
371
371
|
/**
|
|
372
372
|
* Props that can be injected to stage
|
|
373
373
|
*/
|
|
374
|
-
|
|
374
|
+
propsStage?: default_2.HTMLAttributes<HTMLDivElement>;
|
|
375
375
|
/**
|
|
376
376
|
* Show grid lines.
|
|
377
377
|
* Useful for spreadsheets
|
|
@@ -387,11 +387,11 @@ export declare interface GridProps extends default_2.HTMLAttributes<HTMLDivEleme
|
|
|
387
387
|
/**
|
|
388
388
|
* Gridline props for rows.
|
|
389
389
|
*/
|
|
390
|
-
|
|
390
|
+
propsGridLineRows?: default_2.SVGProps<SVGPathElement>;
|
|
391
391
|
/**
|
|
392
392
|
* Gridline props for columns.
|
|
393
393
|
*/
|
|
394
|
-
|
|
394
|
+
propsGridLineColumns?: default_2.SVGProps<SVGPathElement>;
|
|
395
395
|
/**
|
|
396
396
|
* Will skip rendering for this row and the adjacent rows in the given direction.
|
|
397
397
|
*/
|
|
@@ -421,7 +421,7 @@ export declare interface GridProps extends default_2.HTMLAttributes<HTMLDivEleme
|
|
|
421
421
|
* iterated and if hiddenCellAt does not return false then cellRender will be
|
|
422
422
|
* called.
|
|
423
423
|
*/
|
|
424
|
-
getVisibleCells?: (view:
|
|
424
|
+
getVisibleCells?: (view: IGridView) => ({
|
|
425
425
|
coords: CellCoords;
|
|
426
426
|
value?: any;
|
|
427
427
|
range?: RangeCoords;
|
|
@@ -476,151 +476,14 @@ export declare interface GridSurfaceStyle extends PaintStyle {
|
|
|
476
476
|
darkMode?: boolean;
|
|
477
477
|
}
|
|
478
478
|
|
|
479
|
-
/**
|
|
480
|
-
* Describes the view of a grid.
|
|
481
|
-
*
|
|
482
|
-
* @remarks
|
|
483
|
-
* Useful for overlay rendering.
|
|
484
|
-
*/
|
|
485
|
-
export declare interface GridView {
|
|
486
|
-
/**
|
|
487
|
-
* Returns the underlying stage element for the view.
|
|
488
|
-
*
|
|
489
|
-
* @remarks
|
|
490
|
-
* Useful for capturing stage events.
|
|
491
|
-
*/
|
|
492
|
-
getStage(): HTMLDivElement | null;
|
|
493
|
-
/**
|
|
494
|
-
* The anchor for the view.
|
|
495
|
-
*/
|
|
496
|
-
getAnchor(): AnchorLocation;
|
|
497
|
-
/**
|
|
498
|
-
* Allow for dimensions to be determined for various cells.
|
|
499
|
-
* The cellLayout is inclusive of the zoom
|
|
500
|
-
*/
|
|
501
|
-
getLayout(): CellLayout;
|
|
502
|
-
/**
|
|
503
|
-
* Useful for internal rendering.
|
|
504
|
-
*
|
|
505
|
-
* @remarks
|
|
506
|
-
* The cell layout will account for zoom factors already.
|
|
507
|
-
*/
|
|
508
|
-
getZoom(): number;
|
|
509
|
-
/**
|
|
510
|
-
* This captures the total viewable range.
|
|
511
|
-
*
|
|
512
|
-
* @remarks
|
|
513
|
-
* Will have the sames values as {@link getVisibleRows} and {@link getVisibleColumns}.
|
|
514
|
-
*/
|
|
515
|
-
getVisibleRangeCoords(): RangeCoords;
|
|
516
|
-
/**
|
|
517
|
-
* Useful for scanning. Contains a list of row offsets that are visible.
|
|
518
|
-
* Guaranteed to be non-null but may be zero length if no rows are visible.
|
|
519
|
-
*/
|
|
520
|
-
getVisibleRows(): readonly number[];
|
|
521
|
-
/**
|
|
522
|
-
* Useful for scanning. Contains a list of column offsets that are visible.
|
|
523
|
-
* Guaranteed to be non-null but may be zero length if no column are visible.
|
|
524
|
-
*/
|
|
525
|
-
getVisibleColumns(): readonly number[];
|
|
526
|
-
/**
|
|
527
|
-
* Returns the SizedOffsets for columns.
|
|
528
|
-
*/
|
|
529
|
-
getVisibleColumnOffsets(): SizedOffset;
|
|
530
|
-
/**
|
|
531
|
-
* Returns the SizedOffsets for rows.
|
|
532
|
-
*/
|
|
533
|
-
getVisibleRowOffsets(): SizedOffset;
|
|
534
|
-
/**
|
|
535
|
-
* Returns the range coords that captures the entire view.
|
|
536
|
-
*/
|
|
537
|
-
getTotalRangeCoords(): RangeCoords;
|
|
538
|
-
/**
|
|
539
|
-
* Clip a rectangle against the viewport.
|
|
540
|
-
*
|
|
541
|
-
* @remarks
|
|
542
|
-
* * A negative inset will extend outside of the viewport;
|
|
543
|
-
* * Useful when elements should visually 'flow' off of the viewport. (i.e. selection with borders)
|
|
544
|
-
*/
|
|
545
|
-
toClipBounds(bounds?: Bounds, insets?: number | Bounds): Bounds;
|
|
546
|
-
/**
|
|
547
|
-
* Returns the viewport bounds for an absolute bounds.
|
|
548
|
-
*/
|
|
549
|
-
toViewBounds(bounds: Bounds): Bounds;
|
|
550
|
-
/**
|
|
551
|
-
* Returns the absolute bounds for a viewport bounds.
|
|
552
|
-
*/
|
|
553
|
-
toAbsoluteBounds(bounds: Bounds): Bounds;
|
|
554
|
-
/**
|
|
555
|
-
* The bounds of the the overlay relative to the total view.
|
|
556
|
-
*/
|
|
557
|
-
getBounds(): Bounds;
|
|
558
|
-
/**
|
|
559
|
-
* Additional inside padding.
|
|
560
|
-
*/
|
|
561
|
-
getInsets(): Rectangle;
|
|
562
|
-
/**
|
|
563
|
-
* Returns the cell as a range. If this cell is merged this will be reflected.
|
|
564
|
-
* Note - This is slightly more sophisticated than rowSpan and colSpan
|
|
565
|
-
* because it allows for queries that are not on the top/left.
|
|
566
|
-
*/
|
|
567
|
-
getCellCoordsAsRangeCoords(coords: CellCoords): RangeCoords;
|
|
568
|
-
/**
|
|
569
|
-
* Returns a bounds for a given range.
|
|
570
|
-
* If not specified then will return for the cellRange.
|
|
571
|
-
*
|
|
572
|
-
* @param adjustment This allows you to adjust the rect. Note - This is not like insets
|
|
573
|
-
*
|
|
574
|
-
* @remarks
|
|
575
|
-
* The bounds are relative to the view.
|
|
576
|
-
*/
|
|
577
|
-
getRangeCoordsBounds(range?: RangeCoords, adjustment?: Partial<Rectangle>): Bounds;
|
|
578
|
-
/**
|
|
579
|
-
* Scroll the cell coords into view.
|
|
580
|
-
* If the coord does not have an index it will only scroll in a single direction.
|
|
581
|
-
*/
|
|
582
|
-
scrollCellCoordsIntoView(coords: Partial<CellCoords>, options?: globalThis.ScrollIntoViewOptions | boolean): Promise<Partial<TopLeft>>;
|
|
583
|
-
/**
|
|
584
|
-
* Returns the coords at the offset.
|
|
585
|
-
* @param x - The x offset relative to the view
|
|
586
|
-
* @param y - The y offset relative to the view
|
|
587
|
-
* @param actualCell - Don't return the topLeft of a merge. Default value `false`.
|
|
588
|
-
*/
|
|
589
|
-
getCellCoordsFromClient(x: number, y: number, actualCell?: boolean): CellCoords | null;
|
|
590
|
-
/**
|
|
591
|
-
* Indicate the allowable scroll directions.
|
|
592
|
-
*/
|
|
593
|
-
getScrollOrientation(): AxisOrientationFlags;
|
|
594
|
-
getScrollTopLeft(): TopLeft;
|
|
595
|
-
getFreezeTopLeft(): TopLeft;
|
|
596
|
-
/**
|
|
597
|
-
* Returns the total size of all rendered values in pixels.
|
|
598
|
-
*/
|
|
599
|
-
getTotalSize(): Size;
|
|
600
|
-
/**
|
|
601
|
-
* This is the size for all views (but not including the headers)
|
|
602
|
-
*/
|
|
603
|
-
getViewportSize(): Size;
|
|
604
|
-
/**
|
|
605
|
-
* Allows for access to all current views.
|
|
606
|
-
*/
|
|
607
|
-
allViews(): Partial<Record<AnchorLocation, GridView>>;
|
|
608
|
-
/**
|
|
609
|
-
* Returns a point relative to the view.
|
|
610
|
-
*/
|
|
611
|
-
getRelativePointFromClient(x: number, y: number): Point | null;
|
|
612
|
-
}
|
|
613
|
-
|
|
614
479
|
/**
|
|
615
480
|
* A divider placed between headers to provider a visual cue for various actions.
|
|
616
481
|
* Resize, hide/unhide, etc.
|
|
617
482
|
*/
|
|
618
|
-
export declare const HeaderDivider: default_2.
|
|
619
|
-
ref?: default_2.Ref<IHeaderDividerElement>;
|
|
620
|
-
}>;
|
|
483
|
+
export declare const HeaderDivider: default_2.NamedExoticComponent<Omit<HeaderDividerAnchorProps, "ref"> & default_2.RefAttributes<IHeaderDividerElement>>;
|
|
621
484
|
|
|
622
485
|
export declare interface HeaderDividerAnchorProps extends HeaderDividerProps {
|
|
623
|
-
|
|
486
|
+
renderDivider?: (props: HeaderDividerRendererProps) => default_2.ReactNode;
|
|
624
487
|
/**
|
|
625
488
|
* The number of pixels to mouse before resizing starts.
|
|
626
489
|
* If this number is less than 1 then it will be 1.
|
|
@@ -674,7 +537,7 @@ export declare interface HeaderDividerAnchorProps extends HeaderDividerProps {
|
|
|
674
537
|
*/
|
|
675
538
|
export declare interface HeaderDividerProps extends default_2.HTMLAttributes<HTMLDivElement> {
|
|
676
539
|
orientation: RangeOrientation;
|
|
677
|
-
view:
|
|
540
|
+
view: IGridView;
|
|
678
541
|
index: number;
|
|
679
542
|
/**
|
|
680
543
|
* This should disable interaction. This should also
|
|
@@ -819,17 +682,17 @@ export declare interface IGridAttributes {
|
|
|
819
682
|
* over a frozen pane it will return the frozen pane otherwise
|
|
820
683
|
* it will return the center view.
|
|
821
684
|
*/
|
|
822
|
-
getViewFromClient: (x: number, y: number) =>
|
|
685
|
+
getViewFromClient: (x: number, y: number) => IGridView;
|
|
823
686
|
/**
|
|
824
687
|
* Returns the view for the given coords. If coord is
|
|
825
688
|
* over a frozen pane it will return the frozen pane otherwise
|
|
826
689
|
* it will return the center view.
|
|
827
690
|
*/
|
|
828
|
-
getViewFromCellCoords: (coords: CellCoords) =>
|
|
691
|
+
getViewFromCellCoords: (coords: CellCoords) => IGridView;
|
|
829
692
|
/**
|
|
830
693
|
* Returns null if the view does not exist.
|
|
831
694
|
*/
|
|
832
|
-
getViewFromLocation: (anchor: AnchorLocation) =>
|
|
695
|
+
getViewFromLocation: (anchor: AnchorLocation) => IGridView | null;
|
|
833
696
|
/**
|
|
834
697
|
* Called when the view has been changed.
|
|
835
698
|
* @remarks
|
|
@@ -848,6 +711,141 @@ export declare interface IGridAttributes {
|
|
|
848
711
|
export declare interface IGridElement extends HTMLDivElement, IGridAttributes {
|
|
849
712
|
}
|
|
850
713
|
|
|
714
|
+
/**
|
|
715
|
+
* Describes the view of a grid.
|
|
716
|
+
*
|
|
717
|
+
* @remarks
|
|
718
|
+
* Useful for overlay rendering.
|
|
719
|
+
*/
|
|
720
|
+
export declare interface IGridView {
|
|
721
|
+
/**
|
|
722
|
+
* Returns the underlying stage element for the view.
|
|
723
|
+
*
|
|
724
|
+
* @remarks
|
|
725
|
+
* Useful for capturing stage events.
|
|
726
|
+
*/
|
|
727
|
+
getStage(): HTMLDivElement | null;
|
|
728
|
+
/**
|
|
729
|
+
* The anchor for the view.
|
|
730
|
+
*/
|
|
731
|
+
getAnchor(): AnchorLocation;
|
|
732
|
+
/**
|
|
733
|
+
* Allow for dimensions to be determined for various cells.
|
|
734
|
+
* The cellLayout is inclusive of the zoom
|
|
735
|
+
*/
|
|
736
|
+
getLayout(): ICellLayout;
|
|
737
|
+
/**
|
|
738
|
+
* Useful for internal rendering.
|
|
739
|
+
*
|
|
740
|
+
* @remarks
|
|
741
|
+
* The cell layout will account for zoom factors already.
|
|
742
|
+
*/
|
|
743
|
+
getZoom(): number;
|
|
744
|
+
/**
|
|
745
|
+
* This captures the total viewable range.
|
|
746
|
+
*
|
|
747
|
+
* @remarks
|
|
748
|
+
* Will have the sames values as {@link getVisibleRows} and {@link getVisibleColumns}.
|
|
749
|
+
*/
|
|
750
|
+
getVisibleRangeCoords(): RangeCoords;
|
|
751
|
+
/**
|
|
752
|
+
* Useful for scanning. Contains a list of row offsets that are visible.
|
|
753
|
+
* Guaranteed to be non-null but may be zero length if no rows are visible.
|
|
754
|
+
*/
|
|
755
|
+
getVisibleRows(): readonly number[];
|
|
756
|
+
/**
|
|
757
|
+
* Useful for scanning. Contains a list of column offsets that are visible.
|
|
758
|
+
* Guaranteed to be non-null but may be zero length if no column are visible.
|
|
759
|
+
*/
|
|
760
|
+
getVisibleColumns(): readonly number[];
|
|
761
|
+
/**
|
|
762
|
+
* Returns the SizedOffsets for columns.
|
|
763
|
+
*/
|
|
764
|
+
getVisibleColumnOffsets(): SizedOffset;
|
|
765
|
+
/**
|
|
766
|
+
* Returns the SizedOffsets for rows.
|
|
767
|
+
*/
|
|
768
|
+
getVisibleRowOffsets(): SizedOffset;
|
|
769
|
+
/**
|
|
770
|
+
* Returns the range coords that captures the entire view.
|
|
771
|
+
*/
|
|
772
|
+
getTotalRangeCoords(): RangeCoords;
|
|
773
|
+
/**
|
|
774
|
+
* Clip a rectangle against the viewport.
|
|
775
|
+
*
|
|
776
|
+
* @remarks
|
|
777
|
+
* * A negative inset will extend outside of the viewport;
|
|
778
|
+
* * Useful when elements should visually 'flow' off of the viewport. (i.e. selection with borders)
|
|
779
|
+
*/
|
|
780
|
+
toClipBounds(bounds?: Bounds, insets?: number | Bounds): Bounds;
|
|
781
|
+
/**
|
|
782
|
+
* Returns the viewport bounds for an absolute bounds.
|
|
783
|
+
*/
|
|
784
|
+
toViewBounds(bounds: Bounds): Bounds;
|
|
785
|
+
/**
|
|
786
|
+
* Returns the absolute bounds for a viewport bounds.
|
|
787
|
+
*/
|
|
788
|
+
toAbsoluteBounds(bounds: Bounds): Bounds;
|
|
789
|
+
/**
|
|
790
|
+
* The bounds of the the overlay relative to the total view.
|
|
791
|
+
*/
|
|
792
|
+
getBounds(): Bounds;
|
|
793
|
+
/**
|
|
794
|
+
* Additional inside padding.
|
|
795
|
+
*/
|
|
796
|
+
getInsets(): Rectangle;
|
|
797
|
+
/**
|
|
798
|
+
* Returns the cell as a range. If this cell is merged this will be reflected.
|
|
799
|
+
* Note - This is slightly more sophisticated than rowSpan and colSpan
|
|
800
|
+
* because it allows for queries that are not on the top/left.
|
|
801
|
+
*/
|
|
802
|
+
getCellCoordsAsRangeCoords(coords: CellCoords): RangeCoords;
|
|
803
|
+
/**
|
|
804
|
+
* Returns a bounds for a given range.
|
|
805
|
+
* If not specified then will return for the cellRange.
|
|
806
|
+
*
|
|
807
|
+
* @param adjustment This allows you to adjust the rect. Note - This is not like insets
|
|
808
|
+
*
|
|
809
|
+
* @remarks
|
|
810
|
+
* The bounds are relative to the view.
|
|
811
|
+
*/
|
|
812
|
+
getRangeCoordsBounds(range?: RangeCoords, adjustment?: Partial<Rectangle>): Bounds;
|
|
813
|
+
/**
|
|
814
|
+
* Scroll the cell coords into view.
|
|
815
|
+
* If the coord does not have an index it will only scroll in a single direction.
|
|
816
|
+
*/
|
|
817
|
+
scrollCellCoordsIntoView(coords: Partial<CellCoords>, options?: globalThis.ScrollIntoViewOptions | boolean): Promise<Partial<TopLeft>>;
|
|
818
|
+
/**
|
|
819
|
+
* Returns the coords at the offset.
|
|
820
|
+
* @param x - The x offset relative to the view
|
|
821
|
+
* @param y - The y offset relative to the view
|
|
822
|
+
* @param actualCell - Don't return the topLeft of a merge. Default value `false`.
|
|
823
|
+
*/
|
|
824
|
+
getCellCoordsFromClient(x: number, y: number, actualCell?: boolean): CellCoords | null;
|
|
825
|
+
/**
|
|
826
|
+
* Indicate the allowable scroll directions.
|
|
827
|
+
*/
|
|
828
|
+
getScrollOrientation(): AxisOrientationFlags;
|
|
829
|
+
getScrollTopLeft(): TopLeft;
|
|
830
|
+
getFreezeTopLeft(): TopLeft;
|
|
831
|
+
/**
|
|
832
|
+
* Returns the total size of all rendered values in pixels.
|
|
833
|
+
*/
|
|
834
|
+
getTotalSize(): Size;
|
|
835
|
+
/**
|
|
836
|
+
* This is the size for all views (but not including the headers)
|
|
837
|
+
*/
|
|
838
|
+
getViewportSize(): Size;
|
|
839
|
+
/**
|
|
840
|
+
* Allows for access to all current views.
|
|
841
|
+
*/
|
|
842
|
+
allViews(): Partial<Record<AnchorLocation, IGridView>>;
|
|
843
|
+
/**
|
|
844
|
+
* Returns a point relative to the view.
|
|
845
|
+
*/
|
|
846
|
+
getRelativePointFromClient(x: number, y: number): Point | null;
|
|
847
|
+
}
|
|
848
|
+
|
|
851
849
|
export declare interface IHeaderDividerAttributes {
|
|
852
850
|
}
|
|
853
851
|
|
|
@@ -857,21 +855,22 @@ export declare interface IHeaderDividerElement extends HTMLDivElement, IHeaderDi
|
|
|
857
855
|
export declare interface LineProps extends default_2.SVGProps<SVGSVGElement> {
|
|
858
856
|
linePoints: number[];
|
|
859
857
|
bounds: Bounds;
|
|
860
|
-
|
|
858
|
+
propsPath?: default_2.SVGProps<SVGPathElement>;
|
|
861
859
|
}
|
|
862
860
|
|
|
863
861
|
export declare type NewHeaderSelectionMode = "clear" | "modify" | "append";
|
|
864
862
|
|
|
865
863
|
export declare type NewSelectionMode = "clear" | "modify" | "append";
|
|
866
864
|
|
|
867
|
-
export declare interface OverlayRendererProps extends React.HTMLAttributes<
|
|
865
|
+
export declare interface OverlayRendererProps<T extends HTMLDivElement = any> extends React.HTMLAttributes<HTMLDivElement>, React.Attributes {
|
|
868
866
|
/**
|
|
869
867
|
* The view that is rendering a collection of cells
|
|
870
868
|
*/
|
|
871
|
-
view:
|
|
869
|
+
view: IGridView;
|
|
872
870
|
onStageKeyDown?: (e: React.KeyboardEvent<Element>) => void;
|
|
873
871
|
onStagePointerDown?: (e: React.PointerEvent<Element>) => void;
|
|
874
872
|
onStageDoubleClick?: (e: React.PointerEvent<Element>) => void;
|
|
873
|
+
ref?: React.Ref<T>;
|
|
875
874
|
}
|
|
876
875
|
|
|
877
876
|
export declare interface PaintStyle {
|
|
@@ -887,7 +886,7 @@ export declare const safeSelectionCoords: (prev?: SelectionCoords) => SelectionC
|
|
|
887
886
|
/**
|
|
888
887
|
* ScrollableGrid. This wraps BaseGrid and manages bounds to create consistent css behavior for consumers
|
|
889
888
|
*/
|
|
890
|
-
export declare const ScrollableGrid: default_2.NamedExoticComponent<Omit<ScrollableGridProps, "ref"> & default_2.RefAttributes<IGridElement>>;
|
|
889
|
+
export declare const ScrollableGrid: default_2.NamedExoticComponent<Omit<ScrollableGridProps, "ref"> & default_2.RefAttributes<IGridElement & IScrollPaneElement>>;
|
|
891
890
|
|
|
892
891
|
export declare interface ScrollableGridProps extends GridProps, ScrollPaneProps {
|
|
893
892
|
/**
|
|
@@ -907,8 +906,8 @@ export { Selection_2 as Selection }
|
|
|
907
906
|
export declare const SELECTION_CLIP_INSETS = -10;
|
|
908
907
|
|
|
909
908
|
export declare interface SelectionPointerHandlerOptions extends Omit<PointerHandlerOptions, "onPointerDown" | "onPointerMoveOrWait"> {
|
|
910
|
-
onSelectionPointerDown: (event: default_2.PointerEvent<Element>, modifiers: PointerModifiers, view?:
|
|
911
|
-
onSelectionPointerMoveOrWait?: (event: default_2.PointerEvent<Element>, modifiers: PointerModifiers, originalEvent: default_2.PointerEvent<Element>, view?:
|
|
909
|
+
onSelectionPointerDown: (event: default_2.PointerEvent<Element>, modifiers: PointerModifiers, view?: IGridView, coords?: CellCoords, pivotCoords?: CellCoords, extendSelection?: boolean, scrollToAnchor?: boolean, resetCellAnchor?: boolean) => boolean | void;
|
|
910
|
+
onSelectionPointerMoveOrWait?: (event: default_2.PointerEvent<Element>, modifiers: PointerModifiers, originalEvent: default_2.PointerEvent<Element>, view?: IGridView, coords?: CellCoords, pivotCoords?: CellCoords, scrollToAnchor?: boolean, resetCellAnchor?: boolean) => void;
|
|
912
911
|
}
|
|
913
912
|
|
|
914
913
|
export declare type SelectionPolicy = "single" | "range" | "multiple";
|
|
@@ -918,7 +917,13 @@ export declare interface SelectionProps extends SVGRectProps {
|
|
|
918
917
|
* @defaultValue false unless props are set
|
|
919
918
|
*/
|
|
920
919
|
isAnimatedStroke?: boolean;
|
|
921
|
-
|
|
920
|
+
/**
|
|
921
|
+
* Customize props for Animated Stroke
|
|
922
|
+
*/
|
|
923
|
+
propsAnimatedStroke?: AnimatedStrokeProps;
|
|
924
|
+
/**
|
|
925
|
+
* The range that this selection represents.
|
|
926
|
+
*/
|
|
922
927
|
range: RangeCoords;
|
|
923
928
|
/**
|
|
924
929
|
* An area may or may not contain an anchor cell.
|
|
@@ -956,7 +961,7 @@ export declare interface SelectionResults {
|
|
|
956
961
|
* // TODO - make this a function that takes props and received onMouse, onKeyboard
|
|
957
962
|
* (we can then make selection overlays a function that doesn't rerender the table (or sheet on move))
|
|
958
963
|
*/
|
|
959
|
-
|
|
964
|
+
renderOverlay: (view: IGridView) => default_2.ReactNode;
|
|
960
965
|
/**
|
|
961
966
|
* Navigate left/right/up/down
|
|
962
967
|
* @param direction The direction to navigate.
|
|
@@ -1051,8 +1056,8 @@ declare const SVGRect_2: (props: SVGRectProps) => JSX.Element;
|
|
|
1051
1056
|
export { SVGRect_2 as SVGRect }
|
|
1052
1057
|
|
|
1053
1058
|
export declare interface SVGRectProps extends default_2.SVGProps<SVGSVGElement> {
|
|
1054
|
-
|
|
1055
|
-
|
|
1059
|
+
boundsPath?: Bounds;
|
|
1060
|
+
propsPath?: default_2.SVGProps<SVGPathElement>;
|
|
1056
1061
|
}
|
|
1057
1062
|
|
|
1058
1063
|
export declare interface TextStyle extends PaintStyle {
|
|
@@ -1082,7 +1087,7 @@ export declare interface TouchSelectHandleProps extends default_2.HTMLAttributes
|
|
|
1082
1087
|
*/
|
|
1083
1088
|
anchor: 'tl' | 'br' | 'l' | 't' | 'r' | 'b';
|
|
1084
1089
|
range: RangeCoords;
|
|
1085
|
-
view:
|
|
1090
|
+
view: IGridView;
|
|
1086
1091
|
size?: number;
|
|
1087
1092
|
borderWidth?: number;
|
|
1088
1093
|
borderStroke?: string;
|
|
@@ -1113,7 +1118,7 @@ export declare interface TouchSelectHandleProps extends default_2.HTMLAttributes
|
|
|
1113
1118
|
/**
|
|
1114
1119
|
* Hook to manage cell layout
|
|
1115
1120
|
*/
|
|
1116
|
-
export declare const useCellLayout: (props: UseCellLayoutProps | null) =>
|
|
1121
|
+
export declare const useCellLayout: (props: UseCellLayoutProps | null) => ICellLayout;
|
|
1117
1122
|
|
|
1118
1123
|
export declare interface UseCellLayoutProps {
|
|
1119
1124
|
/**
|
|
@@ -1251,7 +1256,7 @@ export declare interface useKeyboardEditorOverlayOptions {
|
|
|
1251
1256
|
/**
|
|
1252
1257
|
* The view that is being used for rendering
|
|
1253
1258
|
*/
|
|
1254
|
-
view:
|
|
1259
|
+
view: IGridView;
|
|
1255
1260
|
/**
|
|
1256
1261
|
* Active selected cell. This is required to enable
|
|
1257
1262
|
* the editor to activate when a key is pressed
|
|
@@ -1300,7 +1305,7 @@ export declare interface useKeyboardEditorOverlayOptions {
|
|
|
1300
1305
|
* @returns Either `true` or an `StartEditEvent`
|
|
1301
1306
|
*/
|
|
1302
1307
|
isEditorStartPointerEvent?: (e: PointerEvent, coords: CellCoords) => boolean | StartEditEvent;
|
|
1303
|
-
|
|
1308
|
+
propsContainer?: default_2.HTMLAttributes<HTMLDivElement>;
|
|
1304
1309
|
borderStrokeFill?: string;
|
|
1305
1310
|
borderStrokeWidth?: number;
|
|
1306
1311
|
/**
|
|
@@ -1312,7 +1317,7 @@ export declare interface useKeyboardEditorOverlayOptions {
|
|
|
1312
1317
|
/**
|
|
1313
1318
|
* Hook to enable selection in grid
|
|
1314
1319
|
*/
|
|
1315
|
-
export declare const useSelection: ({ gridRef, commands, layout, selection: propSelection, onSelectionChange: propOnSelectionChange, onSelectionDragStart: propOnSelectionDragStart, onSelectionDragEnd: propOnSelectionDragEnd, selectionPolicy, newSelectionMode, allowDeselectSelection, onFillPreview: propOnFillPreview, onFillCancel: propOnFillCancel, onFillDone: propOnFillDone, onFill: propOnFill, disableFillDrag, fillHandleBorderColor, hiddenRowsAt: propHiddenRowsAt, hiddenColumnsAt: propHiddenColumnsAt, isContentfulCell: propsIsContentfulCell, contentfulCellFinder: propContentfulCellFinder, getDataCoords, alwaysScrollToActiveCoords, selectionBounds: propSelectionBounds, pointerDownInterceptor, pointerMoveInterceptor, mergedRanges, canSelectionSpanMergedCells, onMoveDragStart: propOnMoveDragStart, onMoveDragUpdate: propOnMoveDragUpdate, onMoveDragEnd: propOnMoveDragEnd, onMoveDragDone: propOnMoveDragDone,
|
|
1320
|
+
export declare const useSelection: ({ gridRef, commands, layout, selection: propSelection, onSelectionChange: propOnSelectionChange, onSelectionDragStart: propOnSelectionDragStart, onSelectionDragEnd: propOnSelectionDragEnd, selectionPolicy, newSelectionMode, allowDeselectSelection, onFillPreview: propOnFillPreview, onFillCancel: propOnFillCancel, onFillDone: propOnFillDone, onFill: propOnFill, disableFillDrag, fillHandleBorderColor, hiddenRowsAt: propHiddenRowsAt, hiddenColumnsAt: propHiddenColumnsAt, isContentfulCell: propsIsContentfulCell, contentfulCellFinder: propContentfulCellFinder, getDataCoords, alwaysScrollToActiveCoords, selectionBounds: propSelectionBounds, pointerDownInterceptor, pointerMoveInterceptor, mergedRanges, canSelectionSpanMergedCells, onMoveDragStart: propOnMoveDragStart, onMoveDragUpdate: propOnMoveDragUpdate, onMoveDragEnd: propOnMoveDragEnd, onMoveDragDone: propOnMoveDragDone, renderSelection: propRenderSelection, disableMoveDrag, getCellCoordsAsRangeCoords, moveDragHitSize, moveDragOutlineSize, selectionBackgroundColor, selectionBorderColor, selectionRemoveBorderColor, selectionRemoveBackgroundColor, disableTouchSelection, propsTouchSelectHandle, }: UseSelectionOptions) => SelectionResults;
|
|
1316
1321
|
|
|
1317
1322
|
export declare interface UseSelectionOptions {
|
|
1318
1323
|
/**
|
|
@@ -1323,7 +1328,7 @@ export declare interface UseSelectionOptions {
|
|
|
1323
1328
|
/**
|
|
1324
1329
|
* This is used for pageUp/pageDown and getHiddenAuto.
|
|
1325
1330
|
*/
|
|
1326
|
-
layout?:
|
|
1331
|
+
layout?: ICellLayout;
|
|
1327
1332
|
/**
|
|
1328
1333
|
* selections
|
|
1329
1334
|
*/
|
|
@@ -1458,11 +1463,11 @@ export declare interface UseSelectionOptions {
|
|
|
1458
1463
|
/**
|
|
1459
1464
|
* If touch is enabled.
|
|
1460
1465
|
*/
|
|
1461
|
-
|
|
1466
|
+
propsTouchSelectHandle?: TouchSelectHandleProps;
|
|
1462
1467
|
/**
|
|
1463
1468
|
* Allow users to customize selected cells design
|
|
1464
1469
|
*/
|
|
1465
|
-
|
|
1470
|
+
renderSelection?: (props: SelectionProps) => default_2.ReactNode;
|
|
1466
1471
|
/**
|
|
1467
1472
|
* Border color of selected area
|
|
1468
1473
|
*/
|