@ishibashi0112/spreadsheet-grid 0.37.0 → 0.39.0

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 (120) hide show
  1. package/dist/hooks/useCellContextMenuController.d.ts +4 -4
  2. package/dist/hooks/useColumnAutosizeRunner.d.ts +2 -2
  3. package/dist/hooks/useColumnHeaderDragController.d.ts +2 -2
  4. package/dist/hooks/useColumnMenuController.d.ts +5 -5
  5. package/dist/hooks/useColumnSelectOptionsCollector.d.ts +2 -2
  6. package/dist/hooks/useController.d.ts +3 -1
  7. package/dist/hooks/useFilterPopoverController.d.ts +8 -8
  8. package/dist/hooks/useGlobalFilteredOrder.d.ts +3 -3
  9. package/dist/hooks/useGridBarContext.d.ts +1 -1
  10. package/dist/hooks/useGridClipboardController.d.ts +1 -1
  11. package/dist/hooks/useGridEditController.d.ts +4 -4
  12. package/dist/hooks/useGridHistoryController.d.ts +1 -1
  13. package/dist/hooks/useGridKeyboardInteractions.d.ts +1 -1
  14. package/dist/hooks/useGridPointerInteractions.d.ts +8 -8
  15. package/dist/hooks/useGridStore.d.ts +1 -1
  16. package/dist/hooks/useGridViewportSync.d.ts +1 -1
  17. package/dist/hooks/useResolvedGridTheme.d.ts +1 -1
  18. package/dist/hooks/useRowDragController.d.ts +2 -2
  19. package/dist/hooks/useServerSideRowModel.d.ts +3 -3
  20. package/dist/hooks/useToolPanelController.d.ts +2 -2
  21. package/dist/index.cjs +1 -10
  22. package/dist/index.d.ts +2 -2
  23. package/dist/index.js +2696 -8531
  24. package/dist/model/gridTypes.d.ts +2 -2
  25. package/dist/testing/index.d.ts +1 -5
  26. package/dist/testing.cjs +1 -1
  27. package/dist/testing.js +1 -51
  28. package/dist/view/ColumnChooserPanel.d.ts +1 -1
  29. package/dist/view/ColumnFilterPopover.d.ts +5 -5
  30. package/dist/view/GridBodyLayer.d.ts +2 -2
  31. package/dist/view/GridDetailLayer.d.ts +1 -1
  32. package/dist/view/GridHeaderRow.d.ts +2 -2
  33. package/dist/view/GridScrollHint.d.ts +2 -2
  34. package/package.json +8 -28
  35. package/README.md +0 -582
  36. package/dist/controllers/clipboardController.d.ts +0 -31
  37. package/dist/controllers/columnAutosizeRunner.d.ts +0 -20
  38. package/dist/controllers/columnHeaderDragController.d.ts +0 -44
  39. package/dist/controllers/columnMenuController.d.ts +0 -49
  40. package/dist/controllers/contextMenuController.d.ts +0 -30
  41. package/dist/controllers/editController.d.ts +0 -27
  42. package/dist/controllers/filterPopoverController.d.ts +0 -53
  43. package/dist/controllers/globalFilteredOrder.d.ts +0 -38
  44. package/dist/controllers/historyController.d.ts +0 -28
  45. package/dist/controllers/keyboardController.d.ts +0 -36
  46. package/dist/controllers/panelHeaderDragController.d.ts +0 -21
  47. package/dist/controllers/pointerInteractionsController.d.ts +0 -74
  48. package/dist/controllers/popoverSupport.d.ts +0 -18
  49. package/dist/controllers/rowDragController.d.ts +0 -40
  50. package/dist/controllers/selectOptionsCollector.d.ts +0 -31
  51. package/dist/controllers/serverSideRowModel.d.ts +0 -36
  52. package/dist/controllers/systemColorSchemeStore.d.ts +0 -5
  53. package/dist/controllers/toolPanelController.d.ts +0 -36
  54. package/dist/controllers/tooltipController.d.ts +0 -6
  55. package/dist/controllers/viewportSyncController.d.ts +0 -30
  56. package/dist/logic/aggregation.d.ts +0 -13
  57. package/dist/logic/autoScrollGeometry.d.ts +0 -27
  58. package/dist/logic/autoSizeOnData.d.ts +0 -10
  59. package/dist/logic/cellOverflowTooltip.d.ts +0 -5
  60. package/dist/logic/checkboxEditor.d.ts +0 -12
  61. package/dist/logic/chunkedLoop.d.ts +0 -8
  62. package/dist/logic/clearCells.d.ts +0 -31
  63. package/dist/logic/columnAutosize.d.ts +0 -18
  64. package/dist/logic/columnFlex.d.ts +0 -4
  65. package/dist/logic/columnReset.d.ts +0 -7
  66. package/dist/logic/contextMenuTarget.d.ts +0 -4
  67. package/dist/logic/cx.d.ts +0 -1
  68. package/dist/logic/dateFilterCondition.d.ts +0 -26
  69. package/dist/logic/dateFilterPresets.d.ts +0 -13
  70. package/dist/logic/dateFilterTree.d.ts +0 -17
  71. package/dist/logic/datePickerCalendar.d.ts +0 -12
  72. package/dist/logic/detailRow.d.ts +0 -33
  73. package/dist/logic/domGuards.d.ts +0 -7
  74. package/dist/logic/editorValues.d.ts +0 -5
  75. package/dist/logic/exportCsv.d.ts +0 -12
  76. package/dist/logic/exportData.d.ts +0 -9
  77. package/dist/logic/exportScope.d.ts +0 -3
  78. package/dist/logic/filterPopoverLayout.d.ts +0 -17
  79. package/dist/logic/filterPopoverOutsideClick.d.ts +0 -2
  80. package/dist/logic/filterSummary.d.ts +0 -3
  81. package/dist/logic/filtering.d.ts +0 -33
  82. package/dist/logic/geometry.d.ts +0 -72
  83. package/dist/logic/gridState.d.ts +0 -13
  84. package/dist/logic/grouping.d.ts +0 -34
  85. package/dist/logic/history.d.ts +0 -16
  86. package/dist/logic/inferFilterType.d.ts +0 -19
  87. package/dist/logic/numberFilterCondition.d.ts +0 -21
  88. package/dist/logic/panelDragGeometry.d.ts +0 -13
  89. package/dist/logic/rowHeightStore.d.ts +0 -13
  90. package/dist/logic/rowReorder.d.ts +0 -18
  91. package/dist/logic/rowSelection.d.ts +0 -16
  92. package/dist/logic/scrollHint.d.ts +0 -41
  93. package/dist/logic/scrollTargets.d.ts +0 -22
  94. package/dist/logic/selectEditorState.d.ts +0 -28
  95. package/dist/logic/selectOptions.d.ts +0 -9
  96. package/dist/logic/serverSideBlocks.d.ts +0 -2
  97. package/dist/logic/serverSideCache.d.ts +0 -14
  98. package/dist/logic/serverSideEdits.d.ts +0 -16
  99. package/dist/logic/serverSideQuery.d.ts +0 -7
  100. package/dist/logic/setFilterSearch.d.ts +0 -14
  101. package/dist/logic/setFilterSelection.d.ts +0 -5
  102. package/dist/logic/slotDom.d.ts +0 -8
  103. package/dist/logic/slotProps.d.ts +0 -18
  104. package/dist/logic/sorting.d.ts +0 -11
  105. package/dist/logic/textFilterCondition.d.ts +0 -18
  106. package/dist/logic/theme.d.ts +0 -3
  107. package/dist/logic/tooltipGeometry.d.ts +0 -19
  108. package/dist/logic/validation.d.ts +0 -14
  109. package/dist/logic/valueFormatters.d.ts +0 -9
  110. package/dist/logic/valueStore.d.ts +0 -6
  111. package/dist/logic/verticalGeometry.d.ts +0 -58
  112. package/dist/model/gridActions.d.ts +0 -125
  113. package/dist/model/gridReducer.d.ts +0 -4
  114. package/dist/model/gridSelectors.d.ts +0 -40
  115. package/dist/model/gridStore.d.ts +0 -24
  116. package/dist/model/gridTypes.core.d.ts +0 -796
  117. package/dist/utils/clipboard.d.ts +0 -29
  118. package/dist/utils/excelColumnName.d.ts +0 -1
  119. package/dist/utils/permissions.d.ts +0 -4
  120. package/dist/utils/scheduler.d.ts +0 -1
@@ -1,44 +0,0 @@
1
- import type { GridColumn, GridColumnPinned, GridResolvedSlot } from '../model/gridTypes';
2
- import { type ColumnPane, type GridPaneLayout } from '../logic/geometry';
3
- type ApplyColumnOrderAndPin = (orderedKeys: string[], pinOverride?: Map<string, GridColumnPinned | undefined>) => void;
4
- export declare function computeHeaderReorderedKeys<T>(columns: GridColumn<T>[], draggedKey: string, targetPane: ColumnPane, slotInTargetVisible: number): string[] | null;
5
- type ReadonlyRef<V> = {
6
- readonly current: V;
7
- };
8
- export type ColumnHeaderDragArgs<T> = {
9
- enabled: boolean;
10
- columns: GridColumn<T>[];
11
- paneLayout: GridPaneLayout<T>;
12
- leftPaneScrollRef: ReadonlyRef<HTMLElement | null>;
13
- rightPaneScrollRef: ReadonlyRef<HTMLElement | null>;
14
- bodyScrollRef: ReadonlyRef<HTMLElement | null>;
15
- scrollContainerRef: ReadonlyRef<HTMLElement | null>;
16
- leftIndicatorRef: ReadonlyRef<HTMLElement | null>;
17
- centerIndicatorRef: ReadonlyRef<HTMLElement | null>;
18
- rightIndicatorRef: ReadonlyRef<HTMLElement | null>;
19
- leftLeadingWidth: number;
20
- centerLeadingWidth: number;
21
- rightLeadingWidth: number;
22
- applyColumnOrderAndPin: ApplyColumnOrderAndPin;
23
- ghostSlot?: GridResolvedSlot;
24
- };
25
- export type ColumnDragHandlePointerEvent = {
26
- button: number;
27
- pointerId: number;
28
- clientX: number;
29
- clientY: number;
30
- currentTarget: {
31
- setPointerCapture: (pointerId: number) => void;
32
- releasePointerCapture: (pointerId: number) => void;
33
- };
34
- preventDefault: () => void;
35
- stopPropagation: () => void;
36
- };
37
- export type ColumnHeaderDragController<T> = {
38
- update: (args: ColumnHeaderDragArgs<T>) => void;
39
- onColumnDragHandlePointerDown: (column: GridColumn<T>, event: ColumnDragHandlePointerEvent) => void;
40
- applyReorderSettle: () => void;
41
- dispose: () => void;
42
- };
43
- export declare const createColumnHeaderDragController: <T>() => ColumnHeaderDragController<T>;
44
- export {};
@@ -1,49 +0,0 @@
1
- import type { GridColumn } from '../model/gridTypes';
2
- import { type ReadonlyElementRef } from './popoverSupport';
3
- export type ColumnMenuLayout = {
4
- top: number;
5
- left: number;
6
- width: number;
7
- maxHeight?: number;
8
- };
9
- export type ColumnMenuSnapshot = {
10
- columnKey: string | null;
11
- layout: ColumnMenuLayout | null;
12
- };
13
- export type ColumnMenuControllerArgs<T> = {
14
- visibleColumns: GridColumn<T>[];
15
- enableColumnMenu: boolean;
16
- gridRootRef: ReadonlyElementRef;
17
- };
18
- export type MenuButtonPointerEvent = {
19
- button: number;
20
- pointerType: string;
21
- currentTarget: HTMLButtonElement;
22
- preventDefault: () => void;
23
- stopPropagation: () => void;
24
- };
25
- export type MenuButtonClickEvent = {
26
- currentTarget: HTMLButtonElement;
27
- preventDefault: () => void;
28
- stopPropagation: () => void;
29
- };
30
- export type MenuContextEvent = {
31
- clientX: number;
32
- clientY: number;
33
- preventDefault: () => void;
34
- stopPropagation: () => void;
35
- };
36
- export type ColumnMenuController<T> = {
37
- update: (args: ColumnMenuControllerArgs<T>) => void;
38
- subscribe: (listener: () => void) => () => void;
39
- getSnapshot: () => ColumnMenuSnapshot;
40
- panelRef: {
41
- current: HTMLDivElement | null;
42
- };
43
- openFromButton: (column: GridColumn<T>, event: MenuButtonPointerEvent) => void;
44
- openFromButtonClick: (column: GridColumn<T>, event: MenuButtonClickEvent) => void;
45
- openFromContextMenu: (column: GridColumn<T>, event: MenuContextEvent) => void;
46
- close: () => void;
47
- dispose: () => void;
48
- };
49
- export declare const createColumnMenuController: <T>() => ColumnMenuController<T>;
@@ -1,30 +0,0 @@
1
- import type { GridContextMenuItem, GridContextMenuParams } from '../model/gridTypes';
2
- import { type ReadonlyElementRef } from './popoverSupport';
3
- export type CellContextMenuLayout = {
4
- top: number;
5
- left: number;
6
- width: number;
7
- };
8
- export type CellContextMenuState<T> = {
9
- params: GridContextMenuParams<T>;
10
- items: GridContextMenuItem[];
11
- };
12
- export type ContextMenuSnapshot<T> = {
13
- state: CellContextMenuState<T> | null;
14
- layout: CellContextMenuLayout | null;
15
- };
16
- export type ContextMenuControllerArgs = {
17
- gridRootRef: ReadonlyElementRef;
18
- };
19
- export type ContextMenuController<T> = {
20
- update: (args: ContextMenuControllerArgs) => void;
21
- subscribe: (listener: () => void) => () => void;
22
- getSnapshot: () => ContextMenuSnapshot<T>;
23
- panelRef: {
24
- current: HTMLDivElement | null;
25
- };
26
- open: (params: GridContextMenuParams<T>, items: GridContextMenuItem[]) => void;
27
- close: () => void;
28
- dispose: () => void;
29
- };
30
- export declare const createContextMenuController: <T>() => ContextMenuController<T>;
@@ -1,27 +0,0 @@
1
- import { type GridUiAction } from '../model/gridActions';
2
- import type { CellCoord, EditorCommitDirection, EditorCommitResult, GridColumn, GridUiState, RowModel } from '../model/gridTypes';
3
- import type { ServerSideCellEditInput } from '../logic/serverSideEdits';
4
- export type EditControllerArgs<T extends object> = {
5
- uiState: GridUiState;
6
- rows: T[];
7
- visibleColumns: GridColumn<T>[];
8
- rowModel: RowModel<T>;
9
- setEditorInitialValue: (value: string) => void;
10
- onRowsChange?: (nextRows: T[]) => void;
11
- applyServerSideCellEdits?: (edits: ServerSideCellEditInput<T>[]) => number;
12
- dispatch: (action: GridUiAction) => void;
13
- gridRootRef: {
14
- readonly current: HTMLElement | null;
15
- };
16
- editorActionGuardRef: {
17
- current: boolean;
18
- };
19
- };
20
- export type EditController<T extends object> = {
21
- update: (args: EditControllerArgs<T>) => void;
22
- activateSingleCell: (cell: CellCoord) => void;
23
- startEditWithValue: (cell: CellCoord, initialValue: string) => void;
24
- commitEdit: (committedValue: unknown, direction?: EditorCommitDirection) => EditorCommitResult;
25
- cancelEdit: () => void;
26
- };
27
- export declare const createEditController: <T extends object>() => EditController<T>;
@@ -1,53 +0,0 @@
1
- import type { ColumnFilterUiType, ColumnFilterValue, GridColumn } from '../model/gridTypes';
2
- import { type NumberFilterConditionDraft } from '../logic/numberFilterCondition';
3
- import { type TextFilterConditionDraft } from '../logic/textFilterCondition';
4
- import { type DateFilterConditionDraft } from '../logic/dateFilterCondition';
5
- import { type ReadonlyElementRef } from './popoverSupport';
6
- export type HeaderFilterPopoverState = {
7
- columnKey: string;
8
- filterType: ColumnFilterUiType;
9
- draftValue: string;
10
- numberDraft: NumberFilterConditionDraft | null;
11
- textDraft: TextFilterConditionDraft | null;
12
- dateDraft: DateFilterConditionDraft | null;
13
- };
14
- export type FilterPopoverLayout = {
15
- top: number;
16
- left: number;
17
- width: number;
18
- maxHeight: number;
19
- };
20
- export type FilterPopoverSnapshot = {
21
- state: HeaderFilterPopoverState | null;
22
- layout: FilterPopoverLayout | null;
23
- };
24
- export type FilterPopoverControllerArgs<T> = {
25
- visibleColumns: GridColumn<T>[];
26
- columnFilterValues: Record<string, ColumnFilterValue>;
27
- enableColumnFilter: boolean;
28
- gridRootRef: ReadonlyElementRef;
29
- resolveColumnFilterType?: (column: GridColumn<T>) => ColumnFilterUiType;
30
- };
31
- export type FilterPopoverController<T> = {
32
- update: (args: FilterPopoverControllerArgs<T>) => void;
33
- subscribe: (listener: () => void) => () => void;
34
- getSnapshot: () => FilterPopoverSnapshot;
35
- panelRef: {
36
- current: HTMLDivElement | null;
37
- };
38
- textInputRef: {
39
- current: HTMLInputElement | null;
40
- };
41
- selectRef: {
42
- current: HTMLSelectElement | null;
43
- };
44
- open: (column: GridColumn<T>) => void;
45
- close: () => void;
46
- updateDraft: (value: string) => void;
47
- updateNumberDraft: (draft: NumberFilterConditionDraft) => void;
48
- updateTextDraft: (draft: TextFilterConditionDraft) => void;
49
- updateDateDraft: (draft: DateFilterConditionDraft) => void;
50
- dispose: () => void;
51
- };
52
- export declare const resolveOpenedFilterColumn: <T>(visibleColumns: GridColumn<T>[], state: HeaderFilterPopoverState | null) => GridColumn<T> | null;
53
- export declare const createFilterPopoverController: <T>() => FilterPopoverController<T>;
@@ -1,38 +0,0 @@
1
- import type { GlobalFilterStatus, GridColumn } from '../model/gridTypes';
2
- import { type RowOrder } from '../logic/filtering';
3
- export declare const ASYNC_GLOBAL_FILTER_ROW_THRESHOLD = 50000;
4
- export type GlobalFilteredOrderResult = {
5
- order: RowOrder;
6
- status: GlobalFilterStatus;
7
- progress: number;
8
- };
9
- export type GlobalFilterKey<T> = {
10
- rows: T[];
11
- baseOrder: RowOrder;
12
- columns: GridColumn<T>[];
13
- needle: string;
14
- };
15
- export declare const resolveSyncGlobalFilteredOrder: <T>(key: GlobalFilterKey<T>, deferredText: string, enabled: boolean) => GlobalFilteredOrderResult | null;
16
- export type GlobalFilteredOrderArgs<T> = GlobalFilterKey<T> & {
17
- needsAsync: boolean;
18
- };
19
- type ReadyState<T> = GlobalFilterKey<T> & {
20
- order: RowOrder;
21
- rowsLength: number;
22
- };
23
- type ProgressState<T> = GlobalFilterKey<T> & {
24
- progress: number;
25
- };
26
- export type GlobalFilteredOrderSnapshot<T> = {
27
- ready: ReadyState<T> | null;
28
- progress: ProgressState<T> | null;
29
- };
30
- export declare const selectGlobalFilteredOrderResult: <T>(syncResult: GlobalFilteredOrderResult | null, snapshot: GlobalFilteredOrderSnapshot<T>, key: GlobalFilterKey<T>) => GlobalFilteredOrderResult;
31
- export type GlobalFilteredOrderRunner<T> = {
32
- update: (args: GlobalFilteredOrderArgs<T>) => void;
33
- subscribe: (listener: () => void) => () => void;
34
- getSnapshot: () => GlobalFilteredOrderSnapshot<T>;
35
- dispose: () => void;
36
- };
37
- export declare const createGlobalFilteredOrderRunner: <T>() => GlobalFilteredOrderRunner<T>;
38
- export {};
@@ -1,28 +0,0 @@
1
- import { type GridUiAction } from '../model/gridActions';
2
- import type { CellCoord, GridSelection, UndoRedoState } from '../model/gridTypes.core';
3
- export type GridHistoryEntry<T> = {
4
- rows: T[];
5
- selection: GridSelection;
6
- activeCell: CellCoord | null;
7
- };
8
- export type HistoryControllerArgs<T> = {
9
- rows: T[];
10
- selection: GridSelection;
11
- activeCell: CellCoord | null;
12
- onRowsChange?: (nextRows: T[]) => void;
13
- dispatch: (action: GridUiAction) => void;
14
- enabled: boolean;
15
- limit: number;
16
- onUndoRedoStateChange?: (state: UndoRedoState) => void;
17
- onAfterRestore?: (activeCell: CellCoord | null) => void;
18
- };
19
- export type HistoryController<T> = {
20
- update: (args: HistoryControllerArgs<T>) => void;
21
- handleRowsChange: (nextRows: T[]) => void;
22
- undo: () => void;
23
- redo: () => void;
24
- canUndo: () => boolean;
25
- canRedo: () => boolean;
26
- clearHistory: () => void;
27
- };
28
- export declare const createHistoryController: <T>() => HistoryController<T>;
@@ -1,36 +0,0 @@
1
- import { type GridUiAction } from '../model/gridActions';
2
- import type { CellCoord, GridColumn, GridUiState, RowModel, SpreadsheetGridProps } from '../model/gridTypes';
3
- export type GridKeyboardEventLike = {
4
- key: string;
5
- ctrlKey: boolean;
6
- metaKey: boolean;
7
- shiftKey: boolean;
8
- altKey: boolean;
9
- isComposing: boolean;
10
- target: EventTarget | null;
11
- preventDefault: () => void;
12
- };
13
- export type KeyboardControllerArgs<T> = {
14
- uiState: GridUiState;
15
- rowModel: RowModel<T>;
16
- visibleColumns: GridColumn<T>[];
17
- readOnly: boolean;
18
- canEditCell: SpreadsheetGridProps<T>['canEditCell'];
19
- setEditorInitialValue: (value: string) => void;
20
- dispatch: (action: GridUiAction) => void;
21
- handleCopy: () => Promise<void>;
22
- handleCellDoubleClick: (cell: CellCoord) => void;
23
- isWholeGridSelected: boolean;
24
- selectEntireGrid: () => void;
25
- onUndo: () => void;
26
- onRedo: () => void;
27
- onClearSelection: () => void;
28
- enableClearOnDelete: boolean;
29
- onToggleCheckboxCell: (cell: CellCoord) => void;
30
- onToggleGroup: (groupKey: string) => void;
31
- };
32
- export type KeyboardController<T> = {
33
- update: (args: KeyboardControllerArgs<T>) => void;
34
- handleKeyDown: (event: GridKeyboardEventLike) => Promise<void>;
35
- };
36
- export declare const createKeyboardController: <T>() => KeyboardController<T>;
@@ -1,21 +0,0 @@
1
- export type PanelHeaderDragPointerDown = {
2
- button: number;
3
- pointerId: number;
4
- clientX: number;
5
- clientY: number;
6
- target: EventTarget | null;
7
- preventDefault: () => void;
8
- };
9
- export type PanelHeaderDragStartArgs = {
10
- layout: {
11
- top: number;
12
- left: number;
13
- } | null;
14
- onMove: (top: number, left: number) => void;
15
- };
16
- export type PanelHeaderDragController = {
17
- startFromPointerDown: (event: PanelHeaderDragPointerDown, args: PanelHeaderDragStartArgs) => boolean;
18
- isActive: () => boolean;
19
- dispose: () => void;
20
- };
21
- export declare const createPanelHeaderDragController: () => PanelHeaderDragController;
@@ -1,74 +0,0 @@
1
- import { type GridUiAction } from '../model/gridActions';
2
- import type { CellCoord, GridColumn, GridUiState } from '../model/gridTypes';
3
- import { type GridPaneLayout } from '../logic/geometry';
4
- import { type RowMetrics } from '../logic/verticalGeometry';
5
- export declare const TOUCH_TAP_SLOP_PX = 10;
6
- export declare const TOUCH_DOUBLE_TAP_MS = 300;
7
- type MutableRef<V> = {
8
- current: V;
9
- };
10
- type ReadonlyRef<V> = {
11
- readonly current: V;
12
- };
13
- export type GridPointerEventLike = {
14
- button: number;
15
- pointerType: string;
16
- pointerId: number;
17
- clientX: number;
18
- clientY: number;
19
- shiftKey: boolean;
20
- preventDefault: () => void;
21
- };
22
- export type PointerInteractionsArgs<T> = {
23
- gridRootRef: ReadonlyRef<HTMLElement | null>;
24
- bodyScrollRef: ReadonlyRef<HTMLElement | null>;
25
- scrollContainerRef: ReadonlyRef<HTMLElement | null>;
26
- leftPaneScrollRef: ReadonlyRef<HTMLElement | null>;
27
- rightPaneScrollRef: ReadonlyRef<HTMLElement | null>;
28
- pointerClientRef: MutableRef<{
29
- x: number;
30
- y: number;
31
- } | null>;
32
- autoScrollFrameRef: MutableRef<number | null>;
33
- uiState: GridUiState;
34
- dispatch: (action: GridUiAction) => void;
35
- enableRangeSelection: boolean;
36
- enableSorting: boolean;
37
- orderedColumns: GridColumn<T>[];
38
- filteredRowsLength: number;
39
- visibleColumnsLength: number;
40
- paneLayout: GridPaneLayout<T>;
41
- leftLeadingWidth: number;
42
- centerLeadingWidth: number;
43
- rightLeadingWidth: number;
44
- headerHeight: number;
45
- rowMetrics: RowMetrics;
46
- verticalScaleFactor: number;
47
- setHoveredRowIndex: (value: number | null) => void;
48
- setHoveredColumnIndex: (value: number | null) => void;
49
- enableRowHover: boolean;
50
- enableColumnHeaderHover: boolean;
51
- enableRowSelection: boolean;
52
- onGutterRowSelect: (viewIndex: number, opts: {
53
- shiftKey: boolean;
54
- }) => void;
55
- onGutterRowSelectDrag: (viewIndex: number) => void;
56
- onCellDoubleClickRef: ReadonlyRef<(cell: CellCoord) => void>;
57
- };
58
- export type PointerInteractionsController<T> = {
59
- update: (args: PointerInteractionsArgs<T>) => void;
60
- updateSelectionFromPointer: (clientX: number, clientY: number) => void;
61
- handleCellPointerDown: (cell: CellCoord, event: GridPointerEventLike) => void;
62
- handleCellDoubleClick: (cell: CellCoord) => void;
63
- handleCellPointerEnter: (cell: CellCoord, event: GridPointerEventLike) => void;
64
- handleNativeDragStart: (event: {
65
- preventDefault: () => void;
66
- }) => void;
67
- handleRowHeaderPointerDown: (rowIndex: number, event: GridPointerEventLike) => void;
68
- handleRowHeaderPointerEnter: (rowIndex: number, event: GridPointerEventLike) => void;
69
- handleColumnHeaderPointerDown: (colIndex: number, event: GridPointerEventLike) => void;
70
- handleColumnHeaderPointerEnter: (colIndex: number, event: GridPointerEventLike) => void;
71
- dispose: () => void;
72
- };
73
- export declare const createPointerInteractionsController: <T>() => PointerInteractionsController<T>;
74
- export {};
@@ -1,18 +0,0 @@
1
- export type ReadonlyElementRef<E extends HTMLElement = HTMLElement> = {
2
- readonly current: E | null;
3
- };
4
- export declare const blurForPopover: (gridRoot: HTMLElement | null) => void;
5
- export declare const restoreGridFocus: (gridRootRef: ReadonlyElementRef) => void;
6
- export type PopoverWindowHandlers = {
7
- onResize?: () => void;
8
- onScroll?: (event: Event) => void;
9
- isInside: (target: Node) => boolean;
10
- onOutsidePointerDown: () => void;
11
- onKeyDown?: (event: KeyboardEvent) => void;
12
- };
13
- export type PopoverWindowBindings = {
14
- attach: () => void;
15
- detach: () => void;
16
- isAttached: () => boolean;
17
- };
18
- export declare const createPopoverWindowBindings: (handlers: PopoverWindowHandlers) => PopoverWindowBindings;
@@ -1,40 +0,0 @@
1
- import type { RowMetrics } from '../logic/verticalGeometry';
2
- import type { GridResolvedSlot } from '../model/gridTypes';
3
- type ReadonlyRef<V> = {
4
- readonly current: V;
5
- };
6
- export type RowDragArgs = {
7
- enabled: boolean;
8
- rowMetrics: RowMetrics;
9
- headerHeight: number;
10
- verticalScaleFactor: number;
11
- windowBaseOffsetPx: number;
12
- scrollContainerRef: ReadonlyRef<HTMLElement | null>;
13
- bodyScrollRef: ReadonlyRef<HTMLElement | null>;
14
- leftIndicatorRef: ReadonlyRef<HTMLElement | null>;
15
- centerIndicatorRef: ReadonlyRef<HTMLElement | null>;
16
- rightIndicatorRef: ReadonlyRef<HTMLElement | null>;
17
- getRowDragLabel: (viewIndex: number) => string;
18
- commitRowMove: (fromIndex: number, toIndex: number) => void;
19
- ghostSlot?: GridResolvedSlot;
20
- };
21
- export type RowDragHandlePointerEvent = {
22
- button: number;
23
- pointerId: number;
24
- clientX: number;
25
- clientY: number;
26
- currentTarget: {
27
- setPointerCapture: (pointerId: number) => void;
28
- releasePointerCapture: (pointerId: number) => void;
29
- };
30
- preventDefault: () => void;
31
- stopPropagation: () => void;
32
- };
33
- export type RowDragController = {
34
- update: (args: RowDragArgs) => void;
35
- onRowDragHandlePointerDown: (viewIndex: number, event: RowDragHandlePointerEvent) => void;
36
- applyReorderSettle: () => void;
37
- dispose: () => void;
38
- };
39
- export declare const createRowDragController: () => RowDragController;
40
- export {};
@@ -1,31 +0,0 @@
1
- import type { GridColumn } from '../model/gridTypes';
2
- import { type SelectOptionEntry } from '../logic/selectOptions';
3
- export declare const ASYNC_SELECT_COLLECT_ROW_THRESHOLD = 50000;
4
- export type ColumnSelectOptionsStatus = 'idle' | 'collecting' | 'ready';
5
- export type ColumnSelectOptionsResult = {
6
- status: ColumnSelectOptionsStatus;
7
- options: SelectOptionEntry[];
8
- allValues: ReadonlySet<string>;
9
- progress: number;
10
- };
11
- export declare const IDLE_SELECT_OPTIONS_RESULT: ColumnSelectOptionsResult;
12
- export type RawValueAccessor = (index: number) => unknown;
13
- export declare const resolveSyncSelectOptions: <T>(column: GridColumn<T> | null, rowCount: number, getRawValueAt: RawValueAccessor) => ColumnSelectOptionsResult | null;
14
- export type SelectOptionsCollectorArgs = {
15
- needsAsync: boolean;
16
- rowCount: number;
17
- getRawValueAt: RawValueAccessor;
18
- };
19
- export type SelectOptionsCollectSnapshot = {
20
- source: RawValueAccessor | null;
21
- rowCount: number;
22
- result: ColumnSelectOptionsResult;
23
- };
24
- export declare const selectCollectorResult: (snapshot: SelectOptionsCollectSnapshot, rowCount: number, getRawValueAt: RawValueAccessor) => ColumnSelectOptionsResult;
25
- export type SelectOptionsCollector = {
26
- update: (args: SelectOptionsCollectorArgs) => void;
27
- subscribe: (listener: () => void) => () => void;
28
- getSnapshot: () => SelectOptionsCollectSnapshot;
29
- dispose: () => void;
30
- };
31
- export declare const createSelectOptionsCollector: () => SelectOptionsCollector;
@@ -1,36 +0,0 @@
1
- import type { GridRowKey, RowModel, ServerSideDataSource, ServerSideLoadErrorParams, ServerSideQuery, ServerSideWriteErrorParams } from '../model/gridTypes';
2
- import { type ServerSideCellEditInput } from '../logic/serverSideEdits';
3
- export type ServerSideRowModelArgs<T> = {
4
- dataSource?: ServerSideDataSource<T>;
5
- rowKeyGetter: (row: T, index: number) => GridRowKey;
6
- query: ServerSideQuery;
7
- queryKey: string;
8
- refreshToken?: number;
9
- onLoadError?: (error: unknown, params: ServerSideLoadErrorParams) => void;
10
- onWriteError?: (error: unknown, params: ServerSideWriteErrorParams<T>) => void;
11
- debounceMs?: number;
12
- };
13
- export type ServerSideLoadErrorState = {
14
- failedBlockCount: number;
15
- };
16
- export type ServerSideWriteErrorState = {
17
- failedRowCount: number;
18
- };
19
- export type ServerSideRowModelSnapshot<T> = {
20
- rowModel: RowModel<T>;
21
- rowCount: number;
22
- loadError: ServerSideLoadErrorState | null;
23
- writeError: ServerSideWriteErrorState | null;
24
- };
25
- export type ServerSideRowModelController<T> = {
26
- update: (args: ServerSideRowModelArgs<T>) => void;
27
- subscribe: (listener: () => void) => () => void;
28
- getSnapshot: () => ServerSideRowModelSnapshot<T>;
29
- isRowLoaded: (viewIndex: number) => boolean;
30
- requestRange: (startIndex: number, endIndex: number) => void;
31
- refresh: () => void;
32
- retryFailedBlocks: () => void;
33
- applyCellEdits: (edits: ServerSideCellEditInput<T>[]) => number;
34
- dispose: () => void;
35
- };
36
- export declare const createServerSideRowModel: <T>(initial: ServerSideRowModelArgs<T>) => ServerSideRowModelController<T>;
@@ -1,5 +0,0 @@
1
- export declare const systemColorSchemeStore: {
2
- subscribe(onChange: () => void): () => void;
3
- getSnapshot(): boolean;
4
- getServerSnapshot(): boolean;
5
- };
@@ -1,36 +0,0 @@
1
- import { type ReadonlyElementRef } from './popoverSupport';
2
- export type ToolPanelTab = 'filter' | 'columns' | 'sort';
3
- export type ToolPanelLayout = {
4
- top: number;
5
- left: number;
6
- width: number;
7
- };
8
- export type ToolPanelControllerArgs = {
9
- canUseFilterTab: boolean;
10
- canUseColumnsTab: boolean;
11
- canUseSortTab: boolean;
12
- gridRootRef: ReadonlyElementRef;
13
- alliedRef?: ReadonlyElementRef;
14
- suppressEscape?: boolean;
15
- onSuppressedEscape?: () => void;
16
- };
17
- export type ToolPanelSnapshot = {
18
- requestedTab: ToolPanelTab | null;
19
- layout: ToolPanelLayout | null;
20
- flashTick: number;
21
- };
22
- export type ToolPanelController = {
23
- update: (args: ToolPanelControllerArgs) => void;
24
- subscribe: (listener: () => void) => () => void;
25
- getSnapshot: () => ToolPanelSnapshot;
26
- panelRef: {
27
- current: HTMLDivElement | null;
28
- };
29
- open: (tab: ToolPanelTab) => void;
30
- close: () => void;
31
- move: (top: number, left: number) => void;
32
- dispose: () => void;
33
- };
34
- export declare const resolveAvailableToolPanelTabs: (args: Pick<ToolPanelControllerArgs, "canUseFilterTab" | "canUseColumnsTab" | "canUseSortTab">) => ToolPanelTab[];
35
- export declare const resolveActiveToolPanelTab: (requestedTab: ToolPanelTab | null, availableTabs: ToolPanelTab[]) => ToolPanelTab | null;
36
- export declare const createToolPanelController: () => ToolPanelController;
@@ -1,6 +0,0 @@
1
- import type { GridResolvedSlot } from '../model/gridTypes.core';
2
- export type TooltipController = {
3
- setSlot: (slot: GridResolvedSlot | undefined) => void;
4
- dispose: () => void;
5
- };
6
- export declare function acquireTooltipController(slot?: GridResolvedSlot): TooltipController;
@@ -1,30 +0,0 @@
1
- import type { ColumnMeasurement } from '../logic/geometry';
2
- import type { CellCoord } from '../model/gridTypes.core';
3
- export type ViewportCellRect = {
4
- left: number;
5
- top: number;
6
- width: number;
7
- height: number;
8
- };
9
- export type ViewportSyncArgs<T> = {
10
- scrollElement: HTMLElement | null;
11
- columnVirtualizer: {
12
- measure: () => void;
13
- };
14
- columnMeasurements: ColumnMeasurement<T>[];
15
- totalScrollWidth: number;
16
- physicalBodyHeight: number;
17
- headerHeight: number;
18
- leftPaneWidth: number;
19
- rightPaneWidth: number;
20
- centerLeadingWidth: number;
21
- activeCellRect: ViewportCellRect | null;
22
- activeCell: CellCoord | null;
23
- verticalScaleFactor: number;
24
- };
25
- export type ViewportSyncController<T> = {
26
- update: (args: ViewportSyncArgs<T>) => void;
27
- };
28
- export declare const clampScrollToContent: (scrollElement: HTMLElement, args: Pick<ViewportSyncArgs<unknown>, "totalScrollWidth" | "physicalBodyHeight" | "headerHeight">) => void;
29
- export declare const scrollCellIntoView: (scrollElement: HTMLElement, rect: ViewportCellRect, args: Pick<ViewportSyncArgs<unknown>, "headerHeight" | "leftPaneWidth" | "rightPaneWidth" | "centerLeadingWidth" | "verticalScaleFactor">) => void;
30
- export declare const createViewportSyncController: <T>() => ViewportSyncController<T>;
@@ -1,13 +0,0 @@
1
- import type { GridAggFuncName } from '../model/gridTypes';
2
- export declare const BUILTIN_AGG_FUNC_NAMES: readonly GridAggFuncName[];
3
- export declare const isBuiltinAggFuncName: (value: unknown) => value is GridAggFuncName;
4
- export type BuiltinAggAccumulator = {
5
- count: number;
6
- numericCount: number;
7
- sum: number;
8
- min: number;
9
- max: number;
10
- };
11
- export declare const createBuiltinAggAccumulator: () => BuiltinAggAccumulator;
12
- export declare const accumulateBuiltinAgg: (accumulator: BuiltinAggAccumulator, value: unknown) => void;
13
- export declare const finalizeBuiltinAgg: (name: GridAggFuncName, accumulator: BuiltinAggAccumulator) => unknown;
@@ -1,27 +0,0 @@
1
- export declare const AUTO_SCROLL_EDGE_THRESHOLD = 24;
2
- export declare const AUTO_SCROLL_STEP = 18;
3
- export declare const AUTO_SCROLL_ACTIVATION_DISTANCE = 6;
4
- export type AutoScrollAxisDirection = -1 | 0 | 1;
5
- export type AutoScrollContentBox = {
6
- left: number;
7
- top: number;
8
- right: number;
9
- bottom: number;
10
- };
11
- export declare const resolveScrollContentBox: ({ rectLeft, rectTop, clientLeft, clientTop, clientWidth, clientHeight, }: {
12
- rectLeft: number;
13
- rectTop: number;
14
- clientLeft: number;
15
- clientTop: number;
16
- clientWidth: number;
17
- clientHeight: number;
18
- }) => AutoScrollContentBox;
19
- export declare const resolveAutoScrollAxisDirection: (pointer: number, start: number, end: number, edgeThreshold: number) => AutoScrollAxisDirection;
20
- export declare const computeNextScrollPosition: (current: number, direction: AutoScrollAxisDirection, step: number, max: number) => number;
21
- export declare const hasPointerLeftActivationRadius: (origin: {
22
- x: number;
23
- y: number;
24
- }, pointer: {
25
- x: number;
26
- y: number;
27
- }, activationDistance: number) => boolean;