@ishibashi0112/spreadsheet-grid 0.7.0 → 0.8.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/SpreadsheetGrid.d.ts +1 -1
- package/dist/hooks/useCellContextMenuController.d.ts +23 -0
- package/dist/hooks/useColumnHeaderDragController.d.ts +1 -0
- package/dist/hooks/useGlobalFilteredOrder.d.ts +17 -0
- package/dist/hooks/useGridBarContext.d.ts +5 -3
- package/dist/hooks/useGridPointerInteractions.d.ts +6 -1
- package/dist/index.cjs +8 -8
- package/dist/index.d.ts +1 -1
- package/dist/index.js +2126 -1554
- package/dist/logic/contextMenuTarget.d.ts +4 -0
- package/dist/logic/filtering.d.ts +1 -0
- package/dist/logic/rowSelection.d.ts +16 -0
- package/dist/model/gridActions.d.ts +5 -1
- package/dist/model/gridTypes.d.ts +84 -0
- package/dist/style.css +1 -1
- package/dist/view/CellContextMenuPopover.d.ts +12 -0
- package/dist/view/DefaultGridTopBar.d.ts +4 -1
- package/dist/view/GridBodyLayer.d.ts +4 -2
- package/dist/view/GridHeaderRow.d.ts +4 -2
- package/dist/view/RowSelectionCheckbox.d.ts +8 -0
- package/package.json +1 -1
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import './styles.css';
|
|
2
2
|
import type { SpreadsheetGridProps } from './model/gridTypes';
|
|
3
|
-
export declare function SpreadsheetGrid<T extends object>({ rows, dataSource, serverSideRefreshToken, columns, onRowsChange, onColumnsChange, rowKeyGetter, createRow, createOverflowColumn, rowHeight, autoHeight, estimateRowHeight, headerHeight, rowHeaderWidth, height, maxHeight, readOnly, canEditCell, enableRangeSelection, enableGlobalFilter, enableColumnFilter, enableSorting, enableColumnResize, enableRowHover, enableColumnHeaderHover, enableColumnMenu, noMatchingRowsText, noRowsText, showTopBar, showBottomBar, showTopBarSummary, showTopBarFilter, showTopBarCounts, showBottomBarCounts, renderTopBar, renderBottomBar, className, classNames, getRowClassName, ref, onStateChange, }: SpreadsheetGridProps<T>): import("react").JSX.Element;
|
|
3
|
+
export declare function SpreadsheetGrid<T extends object>({ rows, dataSource, serverSideRefreshToken, columns, onRowsChange, onColumnsChange, rowKeyGetter, createRow, createOverflowColumn, rowHeight, autoHeight, estimateRowHeight, headerHeight, rowHeaderWidth, height, maxHeight, readOnly, canEditCell, enableRangeSelection, enableRowSelection, rowSelectionMode, enableSelectAllRows: enableSelectAllRowsProp, rowSelection: rowSelectionProp, selectedRowKeys: selectedRowKeysProp, onRowSelectionChange, enableGlobalFilter, enableColumnFilter, enableSorting, enableColumnResize, enableRowHover, enableColumnHeaderHover, enableColumnMenu, noMatchingRowsText, noRowsText, showTopBar, showBottomBar, showTopBarSummary, showTopBarFilter, globalFilterPlaceholder, globalFilterIcon, showTopBarCounts, showBottomBarCounts, renderTopBar, renderBottomBar, className, classNames, getRowClassName, enableContextMenu, getContextMenuItems, onContextMenuOpen, ref, onStateChange, }: SpreadsheetGridProps<T>): import("react").JSX.Element;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { type RefObject } from 'react';
|
|
2
|
+
import type { GridContextMenuItem, GridContextMenuParams } from '../model/gridTypes';
|
|
3
|
+
export type CellContextMenuLayout = {
|
|
4
|
+
top: number;
|
|
5
|
+
left: number;
|
|
6
|
+
width: number;
|
|
7
|
+
};
|
|
8
|
+
type CellContextMenuState<T> = {
|
|
9
|
+
params: GridContextMenuParams<T>;
|
|
10
|
+
items: GridContextMenuItem[];
|
|
11
|
+
};
|
|
12
|
+
type UseCellContextMenuControllerArgs = {
|
|
13
|
+
gridRootRef: RefObject<HTMLDivElement | null>;
|
|
14
|
+
};
|
|
15
|
+
export declare const useCellContextMenuController: <T>({ gridRootRef, }: UseCellContextMenuControllerArgs) => {
|
|
16
|
+
contextMenuState: CellContextMenuState<T> | null;
|
|
17
|
+
contextMenuLayout: CellContextMenuLayout | null;
|
|
18
|
+
contextMenuRef: RefObject<HTMLDivElement | null>;
|
|
19
|
+
isContextMenuOpen: boolean;
|
|
20
|
+
openContextMenu: (params: GridContextMenuParams<T>, items: GridContextMenuItem[]) => void;
|
|
21
|
+
closeContextMenu: () => void;
|
|
22
|
+
};
|
|
23
|
+
export default useCellContextMenuController;
|
|
@@ -20,5 +20,6 @@ export declare const useColumnHeaderDragController: <T>(args: UseColumnHeaderDra
|
|
|
20
20
|
leftIndicatorRef: RefObject<HTMLDivElement | null>;
|
|
21
21
|
centerIndicatorRef: RefObject<HTMLDivElement | null>;
|
|
22
22
|
rightIndicatorRef: RefObject<HTMLDivElement | null>;
|
|
23
|
+
applyReorderSettle: () => void;
|
|
23
24
|
};
|
|
24
25
|
export default useColumnHeaderDragController;
|
|
@@ -0,0 +1,17 @@
|
|
|
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
|
+
type UseGlobalFilteredOrderArgs<T> = {
|
|
10
|
+
rows: T[];
|
|
11
|
+
baseOrder: RowOrder;
|
|
12
|
+
columns: GridColumn<T>[];
|
|
13
|
+
globalText: string;
|
|
14
|
+
enabled: boolean;
|
|
15
|
+
};
|
|
16
|
+
export declare const useGlobalFilteredOrder: <T>({ rows, baseOrder, columns, globalText, enabled, }: UseGlobalFilteredOrderArgs<T>) => GlobalFilteredOrderResult;
|
|
17
|
+
export default useGlobalFilteredOrder;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { GridColumn, GridUiState, SpreadsheetGridSlotContext } from '../model/gridTypes';
|
|
2
|
-
type GridSlotContextBase<T> = Omit<SpreadsheetGridSlotContext<T>, 'setGlobalFilterText' | 'derivedSummary' | 'filteredRows'>;
|
|
1
|
+
import type { GlobalFilterStatus, GridColumn, GridUiState, SpreadsheetGridSlotContext } from '../model/gridTypes';
|
|
2
|
+
type GridSlotContextBase<T> = Omit<SpreadsheetGridSlotContext<T>, 'setGlobalFilterText' | 'derivedSummary' | 'filteredRows' | 'globalFilterStatus' | 'globalFilterProgress'>;
|
|
3
3
|
type UseGridBarContextArgs<T> = {
|
|
4
4
|
rows: T[];
|
|
5
5
|
viewRowCount: number;
|
|
@@ -8,8 +8,10 @@ type UseGridBarContextArgs<T> = {
|
|
|
8
8
|
visibleColumns: GridColumn<T>[];
|
|
9
9
|
uiState: GridUiState;
|
|
10
10
|
setGlobalFilterText: (value: string) => void;
|
|
11
|
+
globalFilterStatus: GlobalFilterStatus;
|
|
12
|
+
globalFilterProgress: number;
|
|
11
13
|
};
|
|
12
|
-
export declare const useGridBarContext: <T>({ rows, viewRowCount, getFilteredRows, columns, visibleColumns, uiState, setGlobalFilterText, }: UseGridBarContextArgs<T>) => {
|
|
14
|
+
export declare const useGridBarContext: <T>({ rows, viewRowCount, getFilteredRows, columns, visibleColumns, uiState, setGlobalFilterText, globalFilterStatus, globalFilterProgress, }: UseGridBarContextArgs<T>) => {
|
|
13
15
|
slotContextBase: GridSlotContextBase<T>;
|
|
14
16
|
derivedSummary: import("..").SpreadsheetGridDerivedSummary;
|
|
15
17
|
slotContext: SpreadsheetGridSlotContext<T>;
|
|
@@ -32,8 +32,13 @@ type UseGridPointerInteractionsArgs<T> = {
|
|
|
32
32
|
setHoveredColumnIndex: (value: number | null) => void;
|
|
33
33
|
enableRowHover: boolean;
|
|
34
34
|
enableColumnHeaderHover: boolean;
|
|
35
|
+
enableRowSelection: boolean;
|
|
36
|
+
onGutterRowSelect: (viewIndex: number, opts: {
|
|
37
|
+
shiftKey: boolean;
|
|
38
|
+
}) => void;
|
|
39
|
+
onGutterRowSelectDrag: (viewIndex: number) => void;
|
|
35
40
|
};
|
|
36
|
-
export declare const useGridPointerInteractions: <T>({ gridRootRef, bodyScrollRef, scrollContainerRef, leftPaneScrollRef, rightPaneScrollRef, pointerClientRef, autoScrollFrameRef, uiState, dispatch, enableRangeSelection, enableSorting, orderedColumns, filteredRowsLength, visibleColumnsLength, paneLayout, leftLeadingWidth, centerLeadingWidth, rightLeadingWidth, headerHeight, rowMetrics, verticalScaleFactor, setHoveredRowIndex, setHoveredColumnIndex, enableRowHover, enableColumnHeaderHover, }: UseGridPointerInteractionsArgs<T>) => {
|
|
41
|
+
export declare const useGridPointerInteractions: <T>({ gridRootRef, bodyScrollRef, scrollContainerRef, leftPaneScrollRef, rightPaneScrollRef, pointerClientRef, autoScrollFrameRef, uiState, dispatch, enableRangeSelection, enableSorting, orderedColumns, filteredRowsLength, visibleColumnsLength, paneLayout, leftLeadingWidth, centerLeadingWidth, rightLeadingWidth, headerHeight, rowMetrics, verticalScaleFactor, setHoveredRowIndex, setHoveredColumnIndex, enableRowHover, enableColumnHeaderHover, enableRowSelection, onGutterRowSelect, onGutterRowSelectDrag, }: UseGridPointerInteractionsArgs<T>) => {
|
|
37
42
|
updateSelectionFromPointer: (clientX: number, clientY: number) => void;
|
|
38
43
|
handleCellPointerDown: (cell: CellCoord, event: PointerEvent<HTMLDivElement>) => void;
|
|
39
44
|
handleCellPointerEnter: (cell: CellCoord, event: PointerEvent<HTMLDivElement>) => void;
|