@ishibashi0112/spreadsheet-grid 0.36.0 → 0.37.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.
- package/dist/controllers/columnAutosizeRunner.d.ts +20 -0
- package/dist/controllers/columnHeaderDragController.d.ts +44 -0
- package/dist/controllers/columnMenuController.d.ts +49 -0
- package/dist/controllers/contextMenuController.d.ts +30 -0
- package/dist/controllers/filterPopoverController.d.ts +53 -0
- package/dist/controllers/globalFilteredOrder.d.ts +38 -0
- package/dist/controllers/pointerInteractionsController.d.ts +74 -0
- package/dist/controllers/popoverSupport.d.ts +18 -0
- package/dist/controllers/rowDragController.d.ts +40 -0
- package/dist/controllers/selectOptionsCollector.d.ts +31 -0
- package/dist/controllers/serverSideRowModel.d.ts +36 -0
- package/dist/controllers/toolPanelController.d.ts +36 -0
- package/dist/hooks/useCellContextMenuController.d.ts +7 -13
- package/dist/hooks/useColumnAutosizeRunner.d.ts +3 -13
- package/dist/hooks/useColumnHeaderDragController.d.ts +5 -16
- package/dist/hooks/useColumnMenuController.d.ts +10 -12
- package/dist/hooks/useColumnSelectOptionsCollector.d.ts +2 -10
- package/dist/hooks/useFilterPopoverController.d.ts +16 -25
- package/dist/hooks/useGlobalFilteredOrder.d.ts +4 -8
- package/dist/hooks/useGridPointerInteractions.d.ts +15 -39
- package/dist/hooks/useRowDragController.d.ts +4 -13
- package/dist/hooks/useServerSideRowModel.d.ts +5 -18
- package/dist/hooks/useToolPanelController.d.ts +7 -9
- package/dist/index.cjs +8 -8
- package/dist/index.js +3474 -3537
- package/dist/logic/chunkedLoop.d.ts +8 -0
- package/dist/logic/valueStore.d.ts +6 -0
- package/package.json +1 -1
|
@@ -1,22 +1,7 @@
|
|
|
1
1
|
import { type RefObject } from 'react';
|
|
2
2
|
import type { ColumnFilterUiType, ColumnFilterValue, GridColumn } from '../model/gridTypes';
|
|
3
|
-
import { type
|
|
4
|
-
|
|
5
|
-
import { type DateFilterConditionDraft } from '../logic/dateFilterCondition';
|
|
6
|
-
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
|
-
};
|
|
3
|
+
import { type FilterPopoverLayout } from '../controllers/filterPopoverController';
|
|
4
|
+
export type { FilterPopoverLayout } from '../controllers/filterPopoverController';
|
|
20
5
|
type UseFilterPopoverControllerArgs<T> = {
|
|
21
6
|
visibleColumns: GridColumn<T>[];
|
|
22
7
|
columnFilterValues: Record<string, ColumnFilterValue>;
|
|
@@ -24,20 +9,26 @@ type UseFilterPopoverControllerArgs<T> = {
|
|
|
24
9
|
gridRootRef: RefObject<HTMLDivElement | null>;
|
|
25
10
|
resolveColumnFilterType?: (column: GridColumn<T>) => ColumnFilterUiType;
|
|
26
11
|
};
|
|
27
|
-
export declare const useFilterPopoverController: <T>(
|
|
28
|
-
filterPopoverState: HeaderFilterPopoverState | null;
|
|
12
|
+
export declare const useFilterPopoverController: <T>(args: UseFilterPopoverControllerArgs<T>) => {
|
|
13
|
+
filterPopoverState: import("../controllers/filterPopoverController").HeaderFilterPopoverState | null;
|
|
29
14
|
filterPopoverLayout: FilterPopoverLayout | null;
|
|
30
|
-
filterPopoverRef:
|
|
31
|
-
|
|
32
|
-
|
|
15
|
+
filterPopoverRef: {
|
|
16
|
+
current: HTMLDivElement | null;
|
|
17
|
+
};
|
|
18
|
+
filterTextInputRef: {
|
|
19
|
+
current: HTMLInputElement | null;
|
|
20
|
+
};
|
|
21
|
+
filterSelectRef: {
|
|
22
|
+
current: HTMLSelectElement | null;
|
|
23
|
+
};
|
|
33
24
|
isFilterPopoverOpen: boolean;
|
|
34
25
|
openedFilterColumn: GridColumn<T> | null;
|
|
35
26
|
openedFilterType: ColumnFilterUiType | null;
|
|
36
27
|
openColumnFilterPopover: (column: GridColumn<T>) => void;
|
|
37
28
|
closeColumnFilterPopover: () => void;
|
|
38
29
|
updateFilterPopoverDraft: (value: string) => void;
|
|
39
|
-
updateFilterPopoverNumberDraft: (draft: NumberFilterConditionDraft) => void;
|
|
40
|
-
updateFilterPopoverTextDraft: (draft: TextFilterConditionDraft) => void;
|
|
41
|
-
updateFilterPopoverDateDraft: (draft: DateFilterConditionDraft) => void;
|
|
30
|
+
updateFilterPopoverNumberDraft: (draft: import("../logic/numberFilterCondition").NumberFilterConditionDraft) => void;
|
|
31
|
+
updateFilterPopoverTextDraft: (draft: import("../logic/textFilterCondition").TextFilterConditionDraft) => void;
|
|
32
|
+
updateFilterPopoverDateDraft: (draft: import("../logic/dateFilterCondition").DateFilterConditionDraft) => void;
|
|
42
33
|
};
|
|
43
34
|
export default useFilterPopoverController;
|
|
@@ -1,11 +1,7 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import { type
|
|
3
|
-
|
|
4
|
-
export type GlobalFilteredOrderResult
|
|
5
|
-
order: RowOrder;
|
|
6
|
-
status: GlobalFilterStatus;
|
|
7
|
-
progress: number;
|
|
8
|
-
};
|
|
1
|
+
import type { GridColumn } from '../model/gridTypes';
|
|
2
|
+
import { type GlobalFilteredOrderResult } from '../controllers/globalFilteredOrder';
|
|
3
|
+
import type { RowOrder } from '../logic/filtering';
|
|
4
|
+
export { ASYNC_GLOBAL_FILTER_ROW_THRESHOLD, type GlobalFilteredOrderResult, } from '../controllers/globalFilteredOrder';
|
|
9
5
|
type UseGlobalFilteredOrderArgs<T> = {
|
|
10
6
|
rows: T[];
|
|
11
7
|
baseOrder: RowOrder;
|
|
@@ -1,11 +1,8 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
3
|
-
import
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
export declare const TOUCH_TAP_SLOP_PX = 10;
|
|
7
|
-
export declare const TOUCH_DOUBLE_TAP_MS = 300;
|
|
8
|
-
type UseGridPointerInteractionsArgs<T> = {
|
|
1
|
+
import type { RefObject } from 'react';
|
|
2
|
+
import type { CellCoord } from '../model/gridTypes';
|
|
3
|
+
import { type PointerInteractionsArgs } from '../controllers/pointerInteractionsController';
|
|
4
|
+
export { TOUCH_DOUBLE_TAP_MS, TOUCH_TAP_SLOP_PX, } from '../controllers/pointerInteractionsController';
|
|
5
|
+
type UseGridPointerInteractionsArgs<T> = Omit<PointerInteractionsArgs<T>, 'gridRootRef' | 'bodyScrollRef' | 'scrollContainerRef' | 'leftPaneScrollRef' | 'rightPaneScrollRef' | 'pointerClientRef' | 'autoScrollFrameRef' | 'onCellDoubleClickRef'> & {
|
|
9
6
|
gridRootRef: RefObject<HTMLDivElement | null>;
|
|
10
7
|
bodyScrollRef: RefObject<HTMLDivElement | null>;
|
|
11
8
|
scrollContainerRef: RefObject<HTMLDivElement | null>;
|
|
@@ -16,40 +13,19 @@ type UseGridPointerInteractionsArgs<T> = {
|
|
|
16
13
|
y: number;
|
|
17
14
|
} | null>;
|
|
18
15
|
autoScrollFrameRef: RefObject<number | null>;
|
|
19
|
-
uiState: GridUiState;
|
|
20
|
-
dispatch: Dispatch<GridUiAction>;
|
|
21
|
-
enableRangeSelection: boolean;
|
|
22
|
-
enableSorting: boolean;
|
|
23
|
-
orderedColumns: GridColumn<T>[];
|
|
24
|
-
filteredRowsLength: number;
|
|
25
|
-
visibleColumnsLength: number;
|
|
26
|
-
paneLayout: GridPaneLayout<T>;
|
|
27
|
-
leftLeadingWidth: number;
|
|
28
|
-
centerLeadingWidth: number;
|
|
29
|
-
rightLeadingWidth: number;
|
|
30
|
-
headerHeight: number;
|
|
31
|
-
rowMetrics: RowMetrics;
|
|
32
|
-
verticalScaleFactor: number;
|
|
33
|
-
setHoveredRowIndex: (value: number | null) => void;
|
|
34
|
-
setHoveredColumnIndex: (value: number | null) => void;
|
|
35
|
-
enableRowHover: boolean;
|
|
36
|
-
enableColumnHeaderHover: boolean;
|
|
37
|
-
enableRowSelection: boolean;
|
|
38
|
-
onGutterRowSelect: (viewIndex: number, opts: {
|
|
39
|
-
shiftKey: boolean;
|
|
40
|
-
}) => void;
|
|
41
|
-
onGutterRowSelectDrag: (viewIndex: number) => void;
|
|
42
16
|
onCellDoubleClickRef: RefObject<(cell: CellCoord) => void>;
|
|
43
17
|
};
|
|
44
|
-
export declare const useGridPointerInteractions: <T>(
|
|
18
|
+
export declare const useGridPointerInteractions: <T>(args: UseGridPointerInteractionsArgs<T>) => {
|
|
45
19
|
updateSelectionFromPointer: (clientX: number, clientY: number) => void;
|
|
46
|
-
handleCellPointerDown: (cell: CellCoord, event:
|
|
20
|
+
handleCellPointerDown: (cell: CellCoord, event: import("../controllers/pointerInteractionsController").GridPointerEventLike) => void;
|
|
47
21
|
handleCellDoubleClick: (cell: CellCoord) => void;
|
|
48
|
-
handleCellPointerEnter: (cell: CellCoord, event:
|
|
49
|
-
handleNativeDragStart: (event:
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
22
|
+
handleCellPointerEnter: (cell: CellCoord, event: import("../controllers/pointerInteractionsController").GridPointerEventLike) => void;
|
|
23
|
+
handleNativeDragStart: (event: {
|
|
24
|
+
preventDefault: () => void;
|
|
25
|
+
}) => void;
|
|
26
|
+
handleRowHeaderPointerDown: (rowIndex: number, event: import("../controllers/pointerInteractionsController").GridPointerEventLike) => void;
|
|
27
|
+
handleRowHeaderPointerEnter: (rowIndex: number, event: import("../controllers/pointerInteractionsController").GridPointerEventLike) => void;
|
|
28
|
+
handleColumnHeaderPointerDown: (colIndex: number, event: import("../controllers/pointerInteractionsController").GridPointerEventLike) => void;
|
|
29
|
+
handleColumnHeaderPointerEnter: (colIndex: number, event: import("../controllers/pointerInteractionsController").GridPointerEventLike) => void;
|
|
54
30
|
};
|
|
55
31
|
export default useGridPointerInteractions;
|
|
@@ -1,20 +1,11 @@
|
|
|
1
|
-
import { type
|
|
2
|
-
import type
|
|
3
|
-
|
|
4
|
-
type UseRowDragControllerArgs = {
|
|
5
|
-
enabled: boolean;
|
|
6
|
-
rowMetrics: RowMetrics;
|
|
7
|
-
headerHeight: number;
|
|
8
|
-
verticalScaleFactor: number;
|
|
9
|
-
windowBaseOffsetPx: number;
|
|
1
|
+
import { type RefObject } from 'react';
|
|
2
|
+
import { type RowDragArgs } from '../controllers/rowDragController';
|
|
3
|
+
type UseRowDragControllerArgs = Omit<RowDragArgs, 'scrollContainerRef' | 'bodyScrollRef' | 'leftIndicatorRef' | 'centerIndicatorRef' | 'rightIndicatorRef'> & {
|
|
10
4
|
scrollContainerRef: RefObject<HTMLDivElement | null>;
|
|
11
5
|
bodyScrollRef: RefObject<HTMLDivElement | null>;
|
|
12
|
-
getRowDragLabel: (viewIndex: number) => string;
|
|
13
|
-
commitRowMove: (fromIndex: number, toIndex: number) => void;
|
|
14
|
-
ghostSlot?: GridResolvedSlot;
|
|
15
6
|
};
|
|
16
7
|
export declare const useRowDragController: (args: UseRowDragControllerArgs) => {
|
|
17
|
-
onRowDragHandlePointerDown: (viewIndex: number, event:
|
|
8
|
+
onRowDragHandlePointerDown: (viewIndex: number, event: import("../controllers/rowDragController").RowDragHandlePointerEvent) => void;
|
|
18
9
|
leftIndicatorRef: RefObject<HTMLDivElement | null>;
|
|
19
10
|
centerIndicatorRef: RefObject<HTMLDivElement | null>;
|
|
20
11
|
rightIndicatorRef: RefObject<HTMLDivElement | null>;
|
|
@@ -1,21 +1,8 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import { type
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
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
|
-
};
|
|
1
|
+
import type { RowModel } from '../model/gridTypes';
|
|
2
|
+
import { type ServerSideLoadErrorState, type ServerSideRowModelArgs, type ServerSideWriteErrorState } from '../controllers/serverSideRowModel';
|
|
3
|
+
import type { ServerSideCellEditInput } from '../logic/serverSideEdits';
|
|
4
|
+
export type { ServerSideLoadErrorState, ServerSideWriteErrorState, } from '../controllers/serverSideRowModel';
|
|
5
|
+
export type UseServerSideRowModelParams<T> = ServerSideRowModelArgs<T>;
|
|
19
6
|
export type UseServerSideRowModelResult<T> = {
|
|
20
7
|
rowModel: RowModel<T>;
|
|
21
8
|
rowCount: number;
|
|
@@ -1,10 +1,6 @@
|
|
|
1
|
-
import type
|
|
2
|
-
|
|
3
|
-
export type ToolPanelLayout
|
|
4
|
-
top: number;
|
|
5
|
-
left: number;
|
|
6
|
-
width: number;
|
|
7
|
-
};
|
|
1
|
+
import { type RefObject } from 'react';
|
|
2
|
+
import { type ToolPanelLayout, type ToolPanelTab } from '../controllers/toolPanelController';
|
|
3
|
+
export type { ToolPanelLayout, ToolPanelTab } from '../controllers/toolPanelController';
|
|
8
4
|
type UseToolPanelControllerArgs = {
|
|
9
5
|
canUseFilterTab: boolean;
|
|
10
6
|
canUseColumnsTab: boolean;
|
|
@@ -14,12 +10,14 @@ type UseToolPanelControllerArgs = {
|
|
|
14
10
|
suppressEscape?: boolean;
|
|
15
11
|
onSuppressedEscape?: () => void;
|
|
16
12
|
};
|
|
17
|
-
export declare const useToolPanelController: (
|
|
13
|
+
export declare const useToolPanelController: (args: UseToolPanelControllerArgs) => {
|
|
18
14
|
activeToolPanelTab: ToolPanelTab | null;
|
|
19
15
|
availableToolPanelTabs: ToolPanelTab[];
|
|
20
16
|
toolPanelLayout: ToolPanelLayout | null;
|
|
21
17
|
toolPanelFlashTick: number;
|
|
22
|
-
toolPanelRef:
|
|
18
|
+
toolPanelRef: {
|
|
19
|
+
current: HTMLDivElement | null;
|
|
20
|
+
};
|
|
23
21
|
openToolPanel: (tab: ToolPanelTab) => void;
|
|
24
22
|
closeToolPanel: () => void;
|
|
25
23
|
moveToolPanel: (top: number, left: number) => void;
|