@affino/datagrid-orchestration 0.1.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/LICENSE +21 -0
- package/README.md +6 -0
- package/dist/src/createDataGridRuntime.d.ts +19 -0
- package/dist/src/createDataGridRuntime.d.ts.map +1 -0
- package/dist/src/createDataGridRuntime.js +33 -0
- package/dist/src/dataGridContextMenuContracts.d.ts +20 -0
- package/dist/src/dataGridContextMenuContracts.d.ts.map +1 -0
- package/dist/src/dataGridContextMenuContracts.js +1 -0
- package/dist/src/dataGridPointerContracts.d.ts +5 -0
- package/dist/src/dataGridPointerContracts.d.ts.map +1 -0
- package/dist/src/dataGridPointerContracts.js +1 -0
- package/dist/src/dataGridRangeMutationKernel.d.ts +27 -0
- package/dist/src/dataGridRangeMutationKernel.d.ts.map +1 -0
- package/dist/src/dataGridRangeMutationKernel.js +46 -0
- package/dist/src/dataGridWritableRef.d.ts +4 -0
- package/dist/src/dataGridWritableRef.d.ts.map +1 -0
- package/dist/src/dataGridWritableRef.js +1 -0
- package/dist/src/index.d.ts +77 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +76 -0
- package/dist/src/selectionOverlayTransform.d.ts +16 -0
- package/dist/src/selectionOverlayTransform.d.ts.map +1 -0
- package/dist/src/selectionOverlayTransform.js +21 -0
- package/dist/src/useDataGridA11yCellIds.d.ts +16 -0
- package/dist/src/useDataGridA11yCellIds.d.ts.map +1 -0
- package/dist/src/useDataGridA11yCellIds.js +26 -0
- package/dist/src/useDataGridAxisAutoScrollDelta.d.ts +10 -0
- package/dist/src/useDataGridAxisAutoScrollDelta.d.ts.map +1 -0
- package/dist/src/useDataGridAxisAutoScrollDelta.js +20 -0
- package/dist/src/useDataGridCellCoordNormalizer.d.ts +26 -0
- package/dist/src/useDataGridCellCoordNormalizer.d.ts.map +1 -0
- package/dist/src/useDataGridCellCoordNormalizer.js +29 -0
- package/dist/src/useDataGridCellDatasetResolver.d.ts +16 -0
- package/dist/src/useDataGridCellDatasetResolver.d.ts.map +1 -0
- package/dist/src/useDataGridCellDatasetResolver.js +23 -0
- package/dist/src/useDataGridCellNavigation.d.ts +23 -0
- package/dist/src/useDataGridCellNavigation.d.ts.map +1 -0
- package/dist/src/useDataGridCellNavigation.js +111 -0
- package/dist/src/useDataGridCellPointerDownRouter.d.ts +42 -0
- package/dist/src/useDataGridCellPointerDownRouter.d.ts.map +1 -0
- package/dist/src/useDataGridCellPointerDownRouter.js +48 -0
- package/dist/src/useDataGridCellPointerHoverRouter.d.ts +24 -0
- package/dist/src/useDataGridCellPointerHoverRouter.d.ts.map +1 -0
- package/dist/src/useDataGridCellPointerHoverRouter.js +25 -0
- package/dist/src/useDataGridCellRangeHelpers.d.ts +30 -0
- package/dist/src/useDataGridCellRangeHelpers.d.ts.map +1 -0
- package/dist/src/useDataGridCellRangeHelpers.js +89 -0
- package/dist/src/useDataGridCellVisibilityScroller.d.ts +41 -0
- package/dist/src/useDataGridCellVisibilityScroller.d.ts.map +1 -0
- package/dist/src/useDataGridCellVisibilityScroller.js +43 -0
- package/dist/src/useDataGridCellVisualStatePredicates.d.ts +40 -0
- package/dist/src/useDataGridCellVisualStatePredicates.d.ts.map +1 -0
- package/dist/src/useDataGridCellVisualStatePredicates.js +126 -0
- package/dist/src/useDataGridClearSelectionLifecycle.d.ts +27 -0
- package/dist/src/useDataGridClearSelectionLifecycle.d.ts.map +1 -0
- package/dist/src/useDataGridClearSelectionLifecycle.js +21 -0
- package/dist/src/useDataGridClipboardBridge.d.ts +31 -0
- package/dist/src/useDataGridClipboardBridge.d.ts.map +1 -0
- package/dist/src/useDataGridClipboardBridge.js +138 -0
- package/dist/src/useDataGridClipboardMutations.d.ts +47 -0
- package/dist/src/useDataGridClipboardMutations.d.ts.map +1 -0
- package/dist/src/useDataGridClipboardMutations.js +216 -0
- package/dist/src/useDataGridClipboardValuePolicy.d.ts +5 -0
- package/dist/src/useDataGridClipboardValuePolicy.d.ts.map +1 -0
- package/dist/src/useDataGridClipboardValuePolicy.js +14 -0
- package/dist/src/useDataGridColumnFilterOrchestration.d.ts +64 -0
- package/dist/src/useDataGridColumnFilterOrchestration.d.ts.map +1 -0
- package/dist/src/useDataGridColumnFilterOrchestration.js +359 -0
- package/dist/src/useDataGridColumnLayoutOrchestration.d.ts +59 -0
- package/dist/src/useDataGridColumnLayoutOrchestration.d.ts.map +1 -0
- package/dist/src/useDataGridColumnLayoutOrchestration.js +151 -0
- package/dist/src/useDataGridColumnUiPolicy.d.ts +25 -0
- package/dist/src/useDataGridColumnUiPolicy.d.ts.map +1 -0
- package/dist/src/useDataGridColumnUiPolicy.js +55 -0
- package/dist/src/useDataGridContextMenu.d.ts +30 -0
- package/dist/src/useDataGridContextMenu.d.ts.map +1 -0
- package/dist/src/useDataGridContextMenu.js +147 -0
- package/dist/src/useDataGridContextMenuActionRouter.d.ts +19 -0
- package/dist/src/useDataGridContextMenuActionRouter.d.ts.map +1 -0
- package/dist/src/useDataGridContextMenuActionRouter.js +29 -0
- package/dist/src/useDataGridContextMenuAnchor.d.ts +33 -0
- package/dist/src/useDataGridContextMenuAnchor.d.ts.map +1 -0
- package/dist/src/useDataGridContextMenuAnchor.js +60 -0
- package/dist/src/useDataGridCopyRangeHelpers.d.ts +20 -0
- package/dist/src/useDataGridCopyRangeHelpers.d.ts.map +1 -0
- package/dist/src/useDataGridCopyRangeHelpers.js +28 -0
- package/dist/src/useDataGridDragPointerSelection.d.ts +22 -0
- package/dist/src/useDataGridDragPointerSelection.d.ts.map +1 -0
- package/dist/src/useDataGridDragPointerSelection.js +23 -0
- package/dist/src/useDataGridDragSelectionLifecycle.d.ts +18 -0
- package/dist/src/useDataGridDragSelectionLifecycle.d.ts.map +1 -0
- package/dist/src/useDataGridDragSelectionLifecycle.js +11 -0
- package/dist/src/useDataGridEditableValuePolicy.d.ts +32 -0
- package/dist/src/useDataGridEditableValuePolicy.d.ts.map +1 -0
- package/dist/src/useDataGridEditableValuePolicy.js +95 -0
- package/dist/src/useDataGridEnumTrigger.d.ts +17 -0
- package/dist/src/useDataGridEnumTrigger.d.ts.map +1 -0
- package/dist/src/useDataGridEnumTrigger.js +28 -0
- package/dist/src/useDataGridFillHandleStart.d.ts +30 -0
- package/dist/src/useDataGridFillHandleStart.d.ts.map +1 -0
- package/dist/src/useDataGridFillHandleStart.js +27 -0
- package/dist/src/useDataGridFillSelectionLifecycle.d.ts +24 -0
- package/dist/src/useDataGridFillSelectionLifecycle.d.ts.map +1 -0
- package/dist/src/useDataGridFillSelectionLifecycle.js +15 -0
- package/dist/src/useDataGridGlobalMouseDownContextMenuCloser.d.ts +10 -0
- package/dist/src/useDataGridGlobalMouseDownContextMenuCloser.d.ts.map +1 -0
- package/dist/src/useDataGridGlobalMouseDownContextMenuCloser.js +17 -0
- package/dist/src/useDataGridGlobalPointerLifecycle.d.ts +40 -0
- package/dist/src/useDataGridGlobalPointerLifecycle.d.ts.map +1 -0
- package/dist/src/useDataGridGlobalPointerLifecycle.js +153 -0
- package/dist/src/useDataGridGroupBadge.d.ts +13 -0
- package/dist/src/useDataGridGroupBadge.d.ts.map +1 -0
- package/dist/src/useDataGridGroupBadge.js +19 -0
- package/dist/src/useDataGridGroupMetaOrchestration.d.ts +18 -0
- package/dist/src/useDataGridGroupMetaOrchestration.d.ts.map +1 -0
- package/dist/src/useDataGridGroupMetaOrchestration.js +43 -0
- package/dist/src/useDataGridGroupValueLabelResolver.d.ts +10 -0
- package/dist/src/useDataGridGroupValueLabelResolver.d.ts.map +1 -0
- package/dist/src/useDataGridGroupValueLabelResolver.js +15 -0
- package/dist/src/useDataGridGroupingSortOrchestration.d.ts +13 -0
- package/dist/src/useDataGridGroupingSortOrchestration.d.ts.map +1 -0
- package/dist/src/useDataGridGroupingSortOrchestration.js +22 -0
- package/dist/src/useDataGridHeaderContextActions.d.ts +15 -0
- package/dist/src/useDataGridHeaderContextActions.d.ts.map +1 -0
- package/dist/src/useDataGridHeaderContextActions.js +41 -0
- package/dist/src/useDataGridHeaderInteractionRouter.d.ts +12 -0
- package/dist/src/useDataGridHeaderInteractionRouter.d.ts.map +1 -0
- package/dist/src/useDataGridHeaderInteractionRouter.js +35 -0
- package/dist/src/useDataGridHeaderLayerOrchestration.d.ts +13 -0
- package/dist/src/useDataGridHeaderLayerOrchestration.d.ts.map +1 -0
- package/dist/src/useDataGridHeaderLayerOrchestration.js +18 -0
- package/dist/src/useDataGridHeaderResizeOrchestration.d.ts +43 -0
- package/dist/src/useDataGridHeaderResizeOrchestration.d.ts.map +1 -0
- package/dist/src/useDataGridHeaderResizeOrchestration.js +180 -0
- package/dist/src/useDataGridHeaderSortOrchestration.d.ts +20 -0
- package/dist/src/useDataGridHeaderSortOrchestration.d.ts.map +1 -0
- package/dist/src/useDataGridHeaderSortOrchestration.js +86 -0
- package/dist/src/useDataGridHistoryActionRunner.d.ts +15 -0
- package/dist/src/useDataGridHistoryActionRunner.d.ts.map +1 -0
- package/dist/src/useDataGridHistoryActionRunner.js +35 -0
- package/dist/src/useDataGridInlineEditOrchestration.d.ts +46 -0
- package/dist/src/useDataGridInlineEditOrchestration.d.ts.map +1 -0
- package/dist/src/useDataGridInlineEditOrchestration.js +116 -0
- package/dist/src/useDataGridInlineEditorFocus.d.ts +9 -0
- package/dist/src/useDataGridInlineEditorFocus.d.ts.map +1 -0
- package/dist/src/useDataGridInlineEditorFocus.js +37 -0
- package/dist/src/useDataGridInlineEditorKeyRouter.d.ts +12 -0
- package/dist/src/useDataGridInlineEditorKeyRouter.d.ts.map +1 -0
- package/dist/src/useDataGridInlineEditorKeyRouter.js +31 -0
- package/dist/src/useDataGridInlineEditorSchema.d.ts +11 -0
- package/dist/src/useDataGridInlineEditorSchema.d.ts.map +1 -0
- package/dist/src/useDataGridInlineEditorSchema.js +26 -0
- package/dist/src/useDataGridInlineEditorTargetNavigation.d.ts +30 -0
- package/dist/src/useDataGridInlineEditorTargetNavigation.d.ts.map +1 -0
- package/dist/src/useDataGridInlineEditorTargetNavigation.js +66 -0
- package/dist/src/useDataGridIntentHistory.d.ts +25 -0
- package/dist/src/useDataGridIntentHistory.d.ts.map +1 -0
- package/dist/src/useDataGridIntentHistory.js +109 -0
- package/dist/src/useDataGridKeyboardCommandRouter.d.ts +18 -0
- package/dist/src/useDataGridKeyboardCommandRouter.d.ts.map +1 -0
- package/dist/src/useDataGridKeyboardCommandRouter.js +81 -0
- package/dist/src/useDataGridMoveMutationPolicy.d.ts +12 -0
- package/dist/src/useDataGridMoveMutationPolicy.d.ts.map +1 -0
- package/dist/src/useDataGridMoveMutationPolicy.js +81 -0
- package/dist/src/useDataGridMutationSnapshot.d.ts +46 -0
- package/dist/src/useDataGridMutationSnapshot.d.ts.map +1 -0
- package/dist/src/useDataGridMutationSnapshot.js +57 -0
- package/dist/src/useDataGridNavigationPrimitives.d.ts +42 -0
- package/dist/src/useDataGridNavigationPrimitives.d.ts.map +1 -0
- package/dist/src/useDataGridNavigationPrimitives.js +105 -0
- package/dist/src/useDataGridPointerAutoScroll.d.ts +32 -0
- package/dist/src/useDataGridPointerAutoScroll.d.ts.map +1 -0
- package/dist/src/useDataGridPointerAutoScroll.js +85 -0
- package/dist/src/useDataGridPointerCellCoordResolver.d.ts +45 -0
- package/dist/src/useDataGridPointerCellCoordResolver.d.ts.map +1 -0
- package/dist/src/useDataGridPointerCellCoordResolver.js +107 -0
- package/dist/src/useDataGridPointerModifierPolicy.d.ts +5 -0
- package/dist/src/useDataGridPointerModifierPolicy.d.ts.map +1 -0
- package/dist/src/useDataGridPointerModifierPolicy.js +8 -0
- package/dist/src/useDataGridPointerPreviewRouter.d.ts +37 -0
- package/dist/src/useDataGridPointerPreviewRouter.d.ts.map +1 -0
- package/dist/src/useDataGridPointerPreviewRouter.js +55 -0
- package/dist/src/useDataGridQuickFilterActions.d.ts +10 -0
- package/dist/src/useDataGridQuickFilterActions.d.ts.map +1 -0
- package/dist/src/useDataGridQuickFilterActions.js +12 -0
- package/dist/src/useDataGridRangeMoveLifecycle.d.ts +15 -0
- package/dist/src/useDataGridRangeMoveLifecycle.d.ts.map +1 -0
- package/dist/src/useDataGridRangeMoveLifecycle.js +21 -0
- package/dist/src/useDataGridRangeMoveStart.d.ts +34 -0
- package/dist/src/useDataGridRangeMoveStart.d.ts.map +1 -0
- package/dist/src/useDataGridRangeMoveStart.js +23 -0
- package/dist/src/useDataGridRangeMutationEngine.d.ts +44 -0
- package/dist/src/useDataGridRangeMutationEngine.d.ts.map +1 -0
- package/dist/src/useDataGridRangeMutationEngine.js +210 -0
- package/dist/src/useDataGridRowSelectionInputHandlers.d.ts +10 -0
- package/dist/src/useDataGridRowSelectionInputHandlers.d.ts.map +1 -0
- package/dist/src/useDataGridRowSelectionInputHandlers.js +12 -0
- package/dist/src/useDataGridRowSelectionOrchestration.d.ts +7 -0
- package/dist/src/useDataGridRowSelectionOrchestration.d.ts.map +1 -0
- package/dist/src/useDataGridRowSelectionOrchestration.js +60 -0
- package/dist/src/useDataGridRowsProjection.d.ts +21 -0
- package/dist/src/useDataGridRowsProjection.d.ts.map +1 -0
- package/dist/src/useDataGridRowsProjection.js +69 -0
- package/dist/src/useDataGridRuntimeService.d.ts +33 -0
- package/dist/src/useDataGridRuntimeService.d.ts.map +1 -0
- package/dist/src/useDataGridRuntimeService.js +209 -0
- package/dist/src/useDataGridSelectionComparators.d.ts +16 -0
- package/dist/src/useDataGridSelectionComparators.d.ts.map +1 -0
- package/dist/src/useDataGridSelectionComparators.js +21 -0
- package/dist/src/useDataGridSelectionMoveHandle.d.ts +38 -0
- package/dist/src/useDataGridSelectionMoveHandle.d.ts.map +1 -0
- package/dist/src/useDataGridSelectionMoveHandle.js +49 -0
- package/dist/src/useDataGridSelectionOverlayOrchestration.d.ts +60 -0
- package/dist/src/useDataGridSelectionOverlayOrchestration.d.ts.map +1 -0
- package/dist/src/useDataGridSelectionOverlayOrchestration.js +137 -0
- package/dist/src/useDataGridTabTargetResolver.d.ts +17 -0
- package/dist/src/useDataGridTabTargetResolver.d.ts.map +1 -0
- package/dist/src/useDataGridTabTargetResolver.js +30 -0
- package/dist/src/useDataGridViewportBlurHandler.d.ts +16 -0
- package/dist/src/useDataGridViewportBlurHandler.d.ts.map +1 -0
- package/dist/src/useDataGridViewportBlurHandler.js +62 -0
- package/dist/src/useDataGridViewportContextMenuRouter.d.ts +31 -0
- package/dist/src/useDataGridViewportContextMenuRouter.d.ts.map +1 -0
- package/dist/src/useDataGridViewportContextMenuRouter.js +78 -0
- package/dist/src/useDataGridViewportMeasureScheduler.d.ts +22 -0
- package/dist/src/useDataGridViewportMeasureScheduler.d.ts.map +1 -0
- package/dist/src/useDataGridViewportMeasureScheduler.js +65 -0
- package/dist/src/useDataGridViewportScrollLifecycle.d.ts +16 -0
- package/dist/src/useDataGridViewportScrollLifecycle.d.ts.map +1 -0
- package/dist/src/useDataGridViewportScrollLifecycle.js +28 -0
- package/dist/src/useDataGridVirtualRangeMetrics.d.ts +32 -0
- package/dist/src/useDataGridVirtualRangeMetrics.d.ts.map +1 -0
- package/dist/src/useDataGridVirtualRangeMetrics.js +26 -0
- package/dist/src/useDataGridVisibleRowsSyncScheduler.d.ts +21 -0
- package/dist/src/useDataGridVisibleRowsSyncScheduler.d.ts.map +1 -0
- package/dist/src/useDataGridVisibleRowsSyncScheduler.js +70 -0
- package/dist/tsconfig.public.tsbuildinfo +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +50 -0
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export interface DataGridDatasetCellCoord {
|
|
2
|
+
rowIndex: number;
|
|
3
|
+
columnIndex: number;
|
|
4
|
+
}
|
|
5
|
+
export interface UseDataGridCellDatasetResolverOptions<TRow, TCoord extends DataGridDatasetCellCoord = DataGridDatasetCellCoord> {
|
|
6
|
+
resolveRows: () => readonly TRow[];
|
|
7
|
+
resolveRowId: (row: TRow) => string;
|
|
8
|
+
resolveColumnIndex: (columnKey: string) => number;
|
|
9
|
+
normalizeCellCoord: (coord: TCoord) => TCoord | null;
|
|
10
|
+
}
|
|
11
|
+
export interface UseDataGridCellDatasetResolverResult<TCoord extends DataGridDatasetCellCoord = DataGridDatasetCellCoord> {
|
|
12
|
+
resolveRowIndexById: (rowId: string) => number;
|
|
13
|
+
resolveCellCoordFromDataset: (rowId: string, columnKey: string) => TCoord | null;
|
|
14
|
+
}
|
|
15
|
+
export declare function useDataGridCellDatasetResolver<TRow, TCoord extends DataGridDatasetCellCoord = DataGridDatasetCellCoord>(options: UseDataGridCellDatasetResolverOptions<TRow, TCoord>): UseDataGridCellDatasetResolverResult<TCoord>;
|
|
16
|
+
//# sourceMappingURL=useDataGridCellDatasetResolver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDataGridCellDatasetResolver.d.ts","sourceRoot":"","sources":["../../src/useDataGridCellDatasetResolver.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,qCAAqC,CACpD,IAAI,EACJ,MAAM,SAAS,wBAAwB,GAAG,wBAAwB;IAElE,WAAW,EAAE,MAAM,SAAS,IAAI,EAAE,CAAA;IAClC,YAAY,EAAE,CAAC,GAAG,EAAE,IAAI,KAAK,MAAM,CAAA;IACnC,kBAAkB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,CAAA;IACjD,kBAAkB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAA;CACrD;AAED,MAAM,WAAW,oCAAoC,CACnD,MAAM,SAAS,wBAAwB,GAAG,wBAAwB;IAElE,mBAAmB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAA;IAC9C,2BAA2B,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAA;CACjF;AAED,wBAAgB,8BAA8B,CAC5C,IAAI,EACJ,MAAM,SAAS,wBAAwB,GAAG,wBAAwB,EAElE,OAAO,EAAE,qCAAqC,CAAC,IAAI,EAAE,MAAM,CAAC,GAC3D,oCAAoC,CAAC,MAAM,CAAC,CAwB9C"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export function useDataGridCellDatasetResolver(options) {
|
|
2
|
+
function resolveRowIndexById(rowId) {
|
|
3
|
+
return options.resolveRows().findIndex(row => String(options.resolveRowId(row)) === rowId);
|
|
4
|
+
}
|
|
5
|
+
function resolveCellCoordFromDataset(rowId, columnKey) {
|
|
6
|
+
const rowIndex = resolveRowIndexById(rowId);
|
|
7
|
+
if (rowIndex < 0) {
|
|
8
|
+
return null;
|
|
9
|
+
}
|
|
10
|
+
const columnIndex = options.resolveColumnIndex(columnKey);
|
|
11
|
+
if (columnIndex < 0) {
|
|
12
|
+
return null;
|
|
13
|
+
}
|
|
14
|
+
return options.normalizeCellCoord({
|
|
15
|
+
rowIndex,
|
|
16
|
+
columnIndex,
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
return {
|
|
20
|
+
resolveRowIndexById,
|
|
21
|
+
resolveCellCoordFromDataset,
|
|
22
|
+
};
|
|
23
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export interface DataGridNavigationCellCoord {
|
|
2
|
+
rowIndex: number;
|
|
3
|
+
columnIndex: number;
|
|
4
|
+
}
|
|
5
|
+
export interface UseDataGridCellNavigationOptions<TCoord extends DataGridNavigationCellCoord = DataGridNavigationCellCoord> {
|
|
6
|
+
resolveCurrentCellCoord: () => TCoord | null;
|
|
7
|
+
resolveTabTarget: (current: TCoord, backwards: boolean) => TCoord | null;
|
|
8
|
+
normalizeCellCoord: (coord: TCoord) => TCoord | null;
|
|
9
|
+
getAdjacentNavigableColumnIndex: (columnIndex: number, direction: 1 | -1) => number;
|
|
10
|
+
getFirstNavigableColumnIndex: () => number;
|
|
11
|
+
getLastNavigableColumnIndex: () => number;
|
|
12
|
+
getLastRowIndex: () => number;
|
|
13
|
+
resolveStepRows: () => number;
|
|
14
|
+
closeContextMenu: () => void;
|
|
15
|
+
clearCellSelection: () => void;
|
|
16
|
+
setLastAction: (message: string) => void;
|
|
17
|
+
applyCellSelection: (nextCoord: TCoord, extend: boolean, fallbackAnchor?: TCoord) => void;
|
|
18
|
+
}
|
|
19
|
+
export interface UseDataGridCellNavigationResult {
|
|
20
|
+
dispatchNavigation: (event: KeyboardEvent) => boolean;
|
|
21
|
+
}
|
|
22
|
+
export declare function useDataGridCellNavigation<TCoord extends DataGridNavigationCellCoord = DataGridNavigationCellCoord>(options: UseDataGridCellNavigationOptions<TCoord>): UseDataGridCellNavigationResult;
|
|
23
|
+
//# sourceMappingURL=useDataGridCellNavigation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDataGridCellNavigation.d.ts","sourceRoot":"","sources":["../../src/useDataGridCellNavigation.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,gCAAgC,CAC/C,MAAM,SAAS,2BAA2B,GAAG,2BAA2B;IAExE,uBAAuB,EAAE,MAAM,MAAM,GAAG,IAAI,CAAA;IAC5C,gBAAgB,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,KAAK,MAAM,GAAG,IAAI,CAAA;IACxE,kBAAkB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAA;IACpD,+BAA+B,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,MAAM,CAAA;IACnF,4BAA4B,EAAE,MAAM,MAAM,CAAA;IAC1C,2BAA2B,EAAE,MAAM,MAAM,CAAA;IACzC,eAAe,EAAE,MAAM,MAAM,CAAA;IAC7B,eAAe,EAAE,MAAM,MAAM,CAAA;IAC7B,gBAAgB,EAAE,MAAM,IAAI,CAAA;IAC5B,kBAAkB,EAAE,MAAM,IAAI,CAAA;IAC9B,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IACxC,kBAAkB,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;CAC1F;AAED,MAAM,WAAW,+BAA+B;IAC9C,kBAAkB,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,OAAO,CAAA;CACtD;AA6BD,wBAAgB,yBAAyB,CACvC,MAAM,SAAS,2BAA2B,GAAG,2BAA2B,EAExE,OAAO,EAAE,gCAAgC,CAAC,MAAM,CAAC,GAChD,+BAA+B,CAuFjC"}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
function prevent(event) {
|
|
2
|
+
event.preventDefault();
|
|
3
|
+
}
|
|
4
|
+
function resolveNavigationKey(event) {
|
|
5
|
+
if (event.code === "ArrowUp" || event.code === "ArrowDown" || event.code === "ArrowLeft" || event.code === "ArrowRight") {
|
|
6
|
+
return event.code;
|
|
7
|
+
}
|
|
8
|
+
// Some environments report ArrowUp/ArrowDown combos as PageUp/PageDown while
|
|
9
|
+
// preserving Arrow* code. Prefer the physical key in that case.
|
|
10
|
+
if (event.key === "PageDown" && event.code === "ArrowDown") {
|
|
11
|
+
return "ArrowDown";
|
|
12
|
+
}
|
|
13
|
+
if (event.key === "PageUp" && event.code === "ArrowUp") {
|
|
14
|
+
return "ArrowUp";
|
|
15
|
+
}
|
|
16
|
+
// Playwright/WebKit on macOS can occasionally emit Shift+Arrow as PageUp/PageDown
|
|
17
|
+
// without Arrow* codes. Preserve expected single-row extension semantics.
|
|
18
|
+
if (event.key === "PageDown" && event.shiftKey && !event.ctrlKey && !event.metaKey && !event.altKey) {
|
|
19
|
+
return "ArrowDown";
|
|
20
|
+
}
|
|
21
|
+
if (event.key === "PageUp" && event.shiftKey && !event.ctrlKey && !event.metaKey && !event.altKey) {
|
|
22
|
+
return "ArrowUp";
|
|
23
|
+
}
|
|
24
|
+
return event.key;
|
|
25
|
+
}
|
|
26
|
+
export function useDataGridCellNavigation(options) {
|
|
27
|
+
function dispatchNavigation(event) {
|
|
28
|
+
const current = options.resolveCurrentCellCoord();
|
|
29
|
+
if (!current) {
|
|
30
|
+
return false;
|
|
31
|
+
}
|
|
32
|
+
let target = { ...current };
|
|
33
|
+
let extend = event.shiftKey;
|
|
34
|
+
const stepRows = Math.max(1, options.resolveStepRows());
|
|
35
|
+
const key = resolveNavigationKey(event);
|
|
36
|
+
switch (key) {
|
|
37
|
+
case "ArrowUp":
|
|
38
|
+
target.rowIndex -= 1;
|
|
39
|
+
break;
|
|
40
|
+
case "ArrowDown":
|
|
41
|
+
target.rowIndex += 1;
|
|
42
|
+
break;
|
|
43
|
+
case "ArrowLeft":
|
|
44
|
+
target.columnIndex = options.getAdjacentNavigableColumnIndex(current.columnIndex, -1);
|
|
45
|
+
break;
|
|
46
|
+
case "ArrowRight":
|
|
47
|
+
target.columnIndex = options.getAdjacentNavigableColumnIndex(current.columnIndex, 1);
|
|
48
|
+
break;
|
|
49
|
+
case "PageUp":
|
|
50
|
+
target.rowIndex -= stepRows;
|
|
51
|
+
break;
|
|
52
|
+
case "PageDown":
|
|
53
|
+
target.rowIndex += stepRows;
|
|
54
|
+
break;
|
|
55
|
+
case "Home":
|
|
56
|
+
if (event.ctrlKey || event.metaKey) {
|
|
57
|
+
target = {
|
|
58
|
+
rowIndex: 0,
|
|
59
|
+
columnIndex: options.getFirstNavigableColumnIndex(),
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
target.columnIndex = options.getFirstNavigableColumnIndex();
|
|
64
|
+
}
|
|
65
|
+
break;
|
|
66
|
+
case "End":
|
|
67
|
+
if (event.ctrlKey || event.metaKey) {
|
|
68
|
+
target = {
|
|
69
|
+
rowIndex: options.getLastRowIndex(),
|
|
70
|
+
columnIndex: options.getLastNavigableColumnIndex(),
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
target.columnIndex = options.getLastNavigableColumnIndex();
|
|
75
|
+
}
|
|
76
|
+
break;
|
|
77
|
+
case "Tab":
|
|
78
|
+
{
|
|
79
|
+
const nextTab = options.resolveTabTarget(current, event.shiftKey);
|
|
80
|
+
if (!nextTab) {
|
|
81
|
+
return true;
|
|
82
|
+
}
|
|
83
|
+
target = nextTab;
|
|
84
|
+
}
|
|
85
|
+
extend = false;
|
|
86
|
+
break;
|
|
87
|
+
case "Enter":
|
|
88
|
+
target.rowIndex += event.shiftKey ? -1 : 1;
|
|
89
|
+
extend = false;
|
|
90
|
+
break;
|
|
91
|
+
case "Escape":
|
|
92
|
+
prevent(event);
|
|
93
|
+
options.closeContextMenu();
|
|
94
|
+
options.clearCellSelection();
|
|
95
|
+
options.setLastAction("Cleared cell selection");
|
|
96
|
+
return true;
|
|
97
|
+
default:
|
|
98
|
+
return false;
|
|
99
|
+
}
|
|
100
|
+
const normalized = options.normalizeCellCoord(target);
|
|
101
|
+
if (!normalized) {
|
|
102
|
+
return true;
|
|
103
|
+
}
|
|
104
|
+
prevent(event);
|
|
105
|
+
options.applyCellSelection(normalized, extend, current);
|
|
106
|
+
return true;
|
|
107
|
+
}
|
|
108
|
+
return {
|
|
109
|
+
dispatchNavigation,
|
|
110
|
+
};
|
|
111
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
export interface DataGridCellPointerCoord {
|
|
2
|
+
rowIndex: number;
|
|
3
|
+
columnIndex: number;
|
|
4
|
+
}
|
|
5
|
+
export interface DataGridCellPointerRange {
|
|
6
|
+
startRow: number;
|
|
7
|
+
endRow: number;
|
|
8
|
+
startColumn: number;
|
|
9
|
+
endColumn: number;
|
|
10
|
+
}
|
|
11
|
+
export interface UseDataGridCellPointerDownRouterOptions<TRow, TCoord extends DataGridCellPointerCoord = DataGridCellPointerCoord, TRange extends DataGridCellPointerRange = DataGridCellPointerRange> {
|
|
12
|
+
isSelectionColumn: (columnKey: string) => boolean;
|
|
13
|
+
isRangeMoveModifierActive: (event: MouseEvent) => boolean;
|
|
14
|
+
isEditorInteractionTarget: (target: HTMLElement | null) => boolean;
|
|
15
|
+
hasInlineEditor: () => boolean;
|
|
16
|
+
commitInlineEdit: () => boolean;
|
|
17
|
+
resolveCellCoord: (row: TRow, columnKey: string) => TCoord | null;
|
|
18
|
+
resolveSelectionRange: () => TRange | null;
|
|
19
|
+
isCoordInsideRange: (coord: TCoord, range: TRange) => boolean;
|
|
20
|
+
startRangeMove: (coord: TCoord, pointer: {
|
|
21
|
+
clientX: number;
|
|
22
|
+
clientY: number;
|
|
23
|
+
}) => void;
|
|
24
|
+
closeContextMenu: () => void;
|
|
25
|
+
focusViewport: () => void;
|
|
26
|
+
isFillDragging: () => boolean;
|
|
27
|
+
stopFillSelection: (commit: boolean) => void;
|
|
28
|
+
setDragSelecting: (value: boolean) => void;
|
|
29
|
+
setLastDragCoord: (coord: TCoord) => void;
|
|
30
|
+
setDragPointer: (pointer: {
|
|
31
|
+
clientX: number;
|
|
32
|
+
clientY: number;
|
|
33
|
+
}) => void;
|
|
34
|
+
applyCellSelection: (coord: TCoord, extend: boolean, fallbackAnchor?: TCoord) => void;
|
|
35
|
+
startInteractionAutoScroll: () => void;
|
|
36
|
+
setLastAction: (message: string) => void;
|
|
37
|
+
}
|
|
38
|
+
export interface UseDataGridCellPointerDownRouterResult<TRow> {
|
|
39
|
+
dispatchCellPointerDown: (row: TRow, columnKey: string, event: MouseEvent) => boolean;
|
|
40
|
+
}
|
|
41
|
+
export declare function useDataGridCellPointerDownRouter<TRow, TCoord extends DataGridCellPointerCoord = DataGridCellPointerCoord, TRange extends DataGridCellPointerRange = DataGridCellPointerRange>(options: UseDataGridCellPointerDownRouterOptions<TRow, TCoord, TRange>): UseDataGridCellPointerDownRouterResult<TRow>;
|
|
42
|
+
//# sourceMappingURL=useDataGridCellPointerDownRouter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDataGridCellPointerDownRouter.d.ts","sourceRoot":"","sources":["../../src/useDataGridCellPointerDownRouter.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,uCAAuC,CACtD,IAAI,EACJ,MAAM,SAAS,wBAAwB,GAAG,wBAAwB,EAClE,MAAM,SAAS,wBAAwB,GAAG,wBAAwB;IAElE,iBAAiB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAA;IACjD,yBAAyB,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,OAAO,CAAA;IACzD,yBAAyB,EAAE,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,KAAK,OAAO,CAAA;IAClE,eAAe,EAAE,MAAM,OAAO,CAAA;IAC9B,gBAAgB,EAAE,MAAM,OAAO,CAAA;IAC/B,gBAAgB,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAA;IACjE,qBAAqB,EAAE,MAAM,MAAM,GAAG,IAAI,CAAA;IAC1C,kBAAkB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAA;IAC7D,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAA;IACtF,gBAAgB,EAAE,MAAM,IAAI,CAAA;IAC5B,aAAa,EAAE,MAAM,IAAI,CAAA;IACzB,cAAc,EAAE,MAAM,OAAO,CAAA;IAC7B,iBAAiB,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAA;IAC5C,gBAAgB,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;IAC1C,gBAAgB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACzC,cAAc,EAAE,CAAC,OAAO,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAA;IACvE,kBAAkB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;IACrF,0BAA0B,EAAE,MAAM,IAAI,CAAA;IACtC,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;CACzC;AAED,MAAM,WAAW,sCAAsC,CACrD,IAAI;IAEJ,uBAAuB,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,KAAK,OAAO,CAAA;CACtF;AAED,wBAAgB,gCAAgC,CAC9C,IAAI,EACJ,MAAM,SAAS,wBAAwB,GAAG,wBAAwB,EAClE,MAAM,SAAS,wBAAwB,GAAG,wBAAwB,EAElE,OAAO,EAAE,uCAAuC,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,GACrE,sCAAsC,CAAC,IAAI,CAAC,CA6D9C"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
export function useDataGridCellPointerDownRouter(options) {
|
|
2
|
+
function dispatchCellPointerDown(row, columnKey, event) {
|
|
3
|
+
if (options.isSelectionColumn(columnKey)) {
|
|
4
|
+
return false;
|
|
5
|
+
}
|
|
6
|
+
const allowModifierSecondaryButton = options.isRangeMoveModifierActive(event) && event.button === 2;
|
|
7
|
+
if (event.button !== 0 && !allowModifierSecondaryButton) {
|
|
8
|
+
return false;
|
|
9
|
+
}
|
|
10
|
+
const targetNode = event.target;
|
|
11
|
+
if (options.isEditorInteractionTarget(targetNode)) {
|
|
12
|
+
return false;
|
|
13
|
+
}
|
|
14
|
+
if (options.hasInlineEditor()) {
|
|
15
|
+
options.commitInlineEdit();
|
|
16
|
+
}
|
|
17
|
+
const coord = options.resolveCellCoord(row, columnKey);
|
|
18
|
+
if (!coord) {
|
|
19
|
+
return false;
|
|
20
|
+
}
|
|
21
|
+
const currentRange = options.resolveSelectionRange();
|
|
22
|
+
if (options.isRangeMoveModifierActive(event) &&
|
|
23
|
+
currentRange &&
|
|
24
|
+
options.isCoordInsideRange(coord, currentRange)) {
|
|
25
|
+
event.preventDefault();
|
|
26
|
+
options.startRangeMove(coord, { clientX: event.clientX, clientY: event.clientY });
|
|
27
|
+
return true;
|
|
28
|
+
}
|
|
29
|
+
event.preventDefault();
|
|
30
|
+
options.closeContextMenu();
|
|
31
|
+
options.focusViewport();
|
|
32
|
+
if (options.isFillDragging()) {
|
|
33
|
+
options.stopFillSelection(false);
|
|
34
|
+
}
|
|
35
|
+
options.setDragSelecting(true);
|
|
36
|
+
options.setLastDragCoord(coord);
|
|
37
|
+
options.setDragPointer({ clientX: event.clientX, clientY: event.clientY });
|
|
38
|
+
options.applyCellSelection(coord, event.shiftKey, coord);
|
|
39
|
+
options.startInteractionAutoScroll();
|
|
40
|
+
options.setLastAction(event.shiftKey
|
|
41
|
+
? `Extended selection to R${coord.rowIndex + 1} · ${columnKey}`
|
|
42
|
+
: `Anchor set: R${coord.rowIndex + 1} · ${columnKey}`);
|
|
43
|
+
return true;
|
|
44
|
+
}
|
|
45
|
+
return {
|
|
46
|
+
dispatchCellPointerDown,
|
|
47
|
+
};
|
|
48
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export interface DataGridCellPointerHoverCoord {
|
|
2
|
+
rowIndex: number;
|
|
3
|
+
columnIndex: number;
|
|
4
|
+
}
|
|
5
|
+
export interface UseDataGridCellPointerHoverRouterOptions<TRow, TCoord extends DataGridCellPointerHoverCoord = DataGridCellPointerHoverCoord> {
|
|
6
|
+
isPrimaryPointerPressed?: (event: MouseEvent) => boolean;
|
|
7
|
+
hasInlineEditor: () => boolean;
|
|
8
|
+
isDragSelecting: () => boolean;
|
|
9
|
+
isSelectionColumn: (columnKey: string) => boolean;
|
|
10
|
+
resolveCellCoord: (row: TRow, columnKey: string) => TCoord | null;
|
|
11
|
+
resolveLastDragCoord: () => TCoord | null;
|
|
12
|
+
setLastDragCoord: (coord: TCoord) => void;
|
|
13
|
+
cellCoordsEqual: (a: TCoord | null, b: TCoord | null) => boolean;
|
|
14
|
+
setDragPointer: (pointer: {
|
|
15
|
+
clientX: number;
|
|
16
|
+
clientY: number;
|
|
17
|
+
}) => void;
|
|
18
|
+
applyCellSelection: (coord: TCoord, extend: boolean, fallbackAnchor?: TCoord, ensureVisible?: boolean) => void;
|
|
19
|
+
}
|
|
20
|
+
export interface UseDataGridCellPointerHoverRouterResult<TRow> {
|
|
21
|
+
dispatchCellPointerEnter: (row: TRow, columnKey: string, event: MouseEvent) => boolean;
|
|
22
|
+
}
|
|
23
|
+
export declare function useDataGridCellPointerHoverRouter<TRow, TCoord extends DataGridCellPointerHoverCoord = DataGridCellPointerHoverCoord>(options: UseDataGridCellPointerHoverRouterOptions<TRow, TCoord>): UseDataGridCellPointerHoverRouterResult<TRow>;
|
|
24
|
+
//# sourceMappingURL=useDataGridCellPointerHoverRouter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDataGridCellPointerHoverRouter.d.ts","sourceRoot":"","sources":["../../src/useDataGridCellPointerHoverRouter.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,wCAAwC,CACvD,IAAI,EACJ,MAAM,SAAS,6BAA6B,GAAG,6BAA6B;IAE5E,uBAAuB,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,OAAO,CAAA;IACxD,eAAe,EAAE,MAAM,OAAO,CAAA;IAC9B,eAAe,EAAE,MAAM,OAAO,CAAA;IAC9B,iBAAiB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAA;IACjD,gBAAgB,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAA;IACjE,oBAAoB,EAAE,MAAM,MAAM,GAAG,IAAI,CAAA;IACzC,gBAAgB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACzC,eAAe,EAAE,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,KAAK,OAAO,CAAA;IAChE,cAAc,EAAE,CAAC,OAAO,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAA;IACvE,kBAAkB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,OAAO,KAAK,IAAI,CAAA;CAC/G;AAED,MAAM,WAAW,uCAAuC,CACtD,IAAI;IAEJ,wBAAwB,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,KAAK,OAAO,CAAA;CACvF;AAED,wBAAgB,iCAAiC,CAC/C,IAAI,EACJ,MAAM,SAAS,6BAA6B,GAAG,6BAA6B,EAE5E,OAAO,EAAE,wCAAwC,CAAC,IAAI,EAAE,MAAM,CAAC,GAC9D,uCAAuC,CAAC,IAAI,CAAC,CA4B/C"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export function useDataGridCellPointerHoverRouter(options) {
|
|
2
|
+
const isPrimaryPointerPressed = options.isPrimaryPointerPressed ?? ((event) => (event.buttons & 1) === 1);
|
|
3
|
+
function dispatchCellPointerEnter(row, columnKey, event) {
|
|
4
|
+
if (options.hasInlineEditor() || !options.isDragSelecting() || options.isSelectionColumn(columnKey)) {
|
|
5
|
+
return false;
|
|
6
|
+
}
|
|
7
|
+
if (!isPrimaryPointerPressed(event)) {
|
|
8
|
+
return false;
|
|
9
|
+
}
|
|
10
|
+
const coord = options.resolveCellCoord(row, columnKey);
|
|
11
|
+
if (!coord) {
|
|
12
|
+
return false;
|
|
13
|
+
}
|
|
14
|
+
if (options.cellCoordsEqual(options.resolveLastDragCoord(), coord)) {
|
|
15
|
+
return false;
|
|
16
|
+
}
|
|
17
|
+
options.setLastDragCoord(coord);
|
|
18
|
+
options.setDragPointer({ clientX: event.clientX, clientY: event.clientY });
|
|
19
|
+
options.applyCellSelection(coord, true, undefined, false);
|
|
20
|
+
return true;
|
|
21
|
+
}
|
|
22
|
+
return {
|
|
23
|
+
dispatchCellPointerEnter,
|
|
24
|
+
};
|
|
25
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
export interface DataGridCellRangeCoord {
|
|
2
|
+
rowIndex: number;
|
|
3
|
+
columnIndex: number;
|
|
4
|
+
}
|
|
5
|
+
export interface DataGridCellRange {
|
|
6
|
+
startRow: number;
|
|
7
|
+
endRow: number;
|
|
8
|
+
startColumn: number;
|
|
9
|
+
endColumn: number;
|
|
10
|
+
}
|
|
11
|
+
export interface UseDataGridCellRangeHelpersOptions<TRow, TCoord extends DataGridCellRangeCoord = DataGridCellRangeCoord, TRange extends DataGridCellRange = DataGridCellRange> {
|
|
12
|
+
resolveRowsLength: () => number;
|
|
13
|
+
resolveFirstNavigableColumnIndex: () => number;
|
|
14
|
+
resolveCandidateCurrentCell: () => TCoord | null;
|
|
15
|
+
resolveColumnIndex: (columnKey: string) => number;
|
|
16
|
+
resolveNearestNavigableColumnIndex: (columnIndex: number, direction?: 1 | -1) => number;
|
|
17
|
+
clampRowIndex: (rowIndex: number) => number;
|
|
18
|
+
resolveRowIndex: (row: TRow) => number;
|
|
19
|
+
isColumnSelectable?: (columnKey: string) => boolean;
|
|
20
|
+
}
|
|
21
|
+
export interface UseDataGridCellRangeHelpersResult<TRow, TCoord extends DataGridCellRangeCoord = DataGridCellRangeCoord, TRange extends DataGridCellRange = DataGridCellRange> {
|
|
22
|
+
resolveCellCoord: (row: TRow, columnKey: string) => TCoord | null;
|
|
23
|
+
normalizeCellCoord: (coord: TCoord) => TCoord | null;
|
|
24
|
+
normalizeSelectionRange: (range: TRange) => TRange | null;
|
|
25
|
+
buildExtendedRange: (baseRange: TRange, coord: TCoord) => TRange | null;
|
|
26
|
+
isCellWithinRange: (rowIndex: number, columnIndex: number, range: TRange) => boolean;
|
|
27
|
+
resolveCurrentCellCoord: () => TCoord | null;
|
|
28
|
+
}
|
|
29
|
+
export declare function useDataGridCellRangeHelpers<TRow, TCoord extends DataGridCellRangeCoord = DataGridCellRangeCoord, TRange extends DataGridCellRange = DataGridCellRange>(options: UseDataGridCellRangeHelpersOptions<TRow, TCoord, TRange>): UseDataGridCellRangeHelpersResult<TRow, TCoord, TRange>;
|
|
30
|
+
//# sourceMappingURL=useDataGridCellRangeHelpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDataGridCellRangeHelpers.d.ts","sourceRoot":"","sources":["../../src/useDataGridCellRangeHelpers.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,kCAAkC,CACjD,IAAI,EACJ,MAAM,SAAS,sBAAsB,GAAG,sBAAsB,EAC9D,MAAM,SAAS,iBAAiB,GAAG,iBAAiB;IAEpD,iBAAiB,EAAE,MAAM,MAAM,CAAA;IAC/B,gCAAgC,EAAE,MAAM,MAAM,CAAA;IAC9C,2BAA2B,EAAE,MAAM,MAAM,GAAG,IAAI,CAAA;IAChD,kBAAkB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,CAAA;IACjD,kCAAkC,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,MAAM,CAAA;IACvF,aAAa,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAA;IAC3C,eAAe,EAAE,CAAC,GAAG,EAAE,IAAI,KAAK,MAAM,CAAA;IACtC,kBAAkB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAA;CACpD;AAED,MAAM,WAAW,iCAAiC,CAChD,IAAI,EACJ,MAAM,SAAS,sBAAsB,GAAG,sBAAsB,EAC9D,MAAM,SAAS,iBAAiB,GAAG,iBAAiB;IAEpD,gBAAgB,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAA;IACjE,kBAAkB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAA;IACpD,uBAAuB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAA;IACzD,kBAAkB,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAA;IACvE,iBAAiB,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAA;IACpF,uBAAuB,EAAE,MAAM,MAAM,GAAG,IAAI,CAAA;CAC7C;AAED,wBAAgB,2BAA2B,CACzC,IAAI,EACJ,MAAM,SAAS,sBAAsB,GAAG,sBAAsB,EAC9D,MAAM,SAAS,iBAAiB,GAAG,iBAAiB,EAEpD,OAAO,EAAE,kCAAkC,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,GAChE,iCAAiC,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,CAiGzD"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
export function useDataGridCellRangeHelpers(options) {
|
|
2
|
+
const isColumnSelectable = options.isColumnSelectable ?? (() => true);
|
|
3
|
+
function normalizeCellCoord(coord) {
|
|
4
|
+
if (options.resolveRowsLength() === 0) {
|
|
5
|
+
return null;
|
|
6
|
+
}
|
|
7
|
+
const rowIndex = options.clampRowIndex(coord.rowIndex);
|
|
8
|
+
const columnIndex = options.resolveNearestNavigableColumnIndex(Math.trunc(coord.columnIndex));
|
|
9
|
+
if (columnIndex < 0) {
|
|
10
|
+
return null;
|
|
11
|
+
}
|
|
12
|
+
return {
|
|
13
|
+
rowIndex,
|
|
14
|
+
columnIndex,
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
function resolveCellCoord(row, columnKey) {
|
|
18
|
+
if (!isColumnSelectable(columnKey)) {
|
|
19
|
+
return null;
|
|
20
|
+
}
|
|
21
|
+
const rawColumnIndex = options.resolveColumnIndex(columnKey);
|
|
22
|
+
if (rawColumnIndex < 0) {
|
|
23
|
+
return null;
|
|
24
|
+
}
|
|
25
|
+
const columnIndex = options.resolveNearestNavigableColumnIndex(rawColumnIndex);
|
|
26
|
+
if (columnIndex < 0) {
|
|
27
|
+
return null;
|
|
28
|
+
}
|
|
29
|
+
return {
|
|
30
|
+
rowIndex: options.clampRowIndex(options.resolveRowIndex(row)),
|
|
31
|
+
columnIndex,
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
function normalizeSelectionRange(range) {
|
|
35
|
+
const start = normalizeCellCoord({
|
|
36
|
+
rowIndex: range.startRow,
|
|
37
|
+
columnIndex: range.startColumn,
|
|
38
|
+
});
|
|
39
|
+
const end = normalizeCellCoord({
|
|
40
|
+
rowIndex: range.endRow,
|
|
41
|
+
columnIndex: range.endColumn,
|
|
42
|
+
});
|
|
43
|
+
if (!start || !end) {
|
|
44
|
+
return null;
|
|
45
|
+
}
|
|
46
|
+
return {
|
|
47
|
+
startRow: Math.min(start.rowIndex, end.rowIndex),
|
|
48
|
+
endRow: Math.max(start.rowIndex, end.rowIndex),
|
|
49
|
+
startColumn: Math.min(start.columnIndex, end.columnIndex),
|
|
50
|
+
endColumn: Math.max(start.columnIndex, end.columnIndex),
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
function buildExtendedRange(baseRange, coord) {
|
|
54
|
+
return normalizeSelectionRange({
|
|
55
|
+
startRow: coord.rowIndex < baseRange.startRow ? coord.rowIndex : baseRange.startRow,
|
|
56
|
+
endRow: coord.rowIndex > baseRange.endRow ? coord.rowIndex : baseRange.endRow,
|
|
57
|
+
startColumn: coord.columnIndex < baseRange.startColumn ? coord.columnIndex : baseRange.startColumn,
|
|
58
|
+
endColumn: coord.columnIndex > baseRange.endColumn ? coord.columnIndex : baseRange.endColumn,
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
function isCellWithinRange(rowIndex, columnIndex, range) {
|
|
62
|
+
return (rowIndex >= range.startRow &&
|
|
63
|
+
rowIndex <= range.endRow &&
|
|
64
|
+
columnIndex >= range.startColumn &&
|
|
65
|
+
columnIndex <= range.endColumn);
|
|
66
|
+
}
|
|
67
|
+
function resolveCurrentCellCoord() {
|
|
68
|
+
const candidate = options.resolveCandidateCurrentCell();
|
|
69
|
+
if (candidate) {
|
|
70
|
+
return normalizeCellCoord(candidate);
|
|
71
|
+
}
|
|
72
|
+
const firstColumnIndex = options.resolveFirstNavigableColumnIndex();
|
|
73
|
+
if (options.resolveRowsLength() === 0 || firstColumnIndex < 0) {
|
|
74
|
+
return null;
|
|
75
|
+
}
|
|
76
|
+
return {
|
|
77
|
+
rowIndex: 0,
|
|
78
|
+
columnIndex: firstColumnIndex,
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
return {
|
|
82
|
+
resolveCellCoord,
|
|
83
|
+
normalizeCellCoord,
|
|
84
|
+
normalizeSelectionRange,
|
|
85
|
+
buildExtendedRange,
|
|
86
|
+
isCellWithinRange,
|
|
87
|
+
resolveCurrentCellCoord,
|
|
88
|
+
};
|
|
89
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
export interface DataGridCellVisibilityCoord {
|
|
2
|
+
rowIndex: number;
|
|
3
|
+
columnIndex: number;
|
|
4
|
+
}
|
|
5
|
+
export interface DataGridCellVisibilityColumnMetric {
|
|
6
|
+
start: number;
|
|
7
|
+
end: number;
|
|
8
|
+
}
|
|
9
|
+
export interface DataGridCellVisibilityScrollPosition {
|
|
10
|
+
top: number;
|
|
11
|
+
left: number;
|
|
12
|
+
}
|
|
13
|
+
export interface DataGridCellVisibilityVirtualWindow {
|
|
14
|
+
rowStart?: number;
|
|
15
|
+
rowEnd?: number;
|
|
16
|
+
rowTotal: number;
|
|
17
|
+
colStart?: number;
|
|
18
|
+
colEnd?: number;
|
|
19
|
+
colTotal: number;
|
|
20
|
+
overscan?: {
|
|
21
|
+
top?: number;
|
|
22
|
+
bottom?: number;
|
|
23
|
+
left?: number;
|
|
24
|
+
right?: number;
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
export interface UseDataGridCellVisibilityScrollerOptions<TCoord extends DataGridCellVisibilityCoord, TMetric extends DataGridCellVisibilityColumnMetric = DataGridCellVisibilityColumnMetric> {
|
|
28
|
+
resolveViewportElement: () => HTMLElement | null;
|
|
29
|
+
resolveColumnMetric: (columnIndex: number) => TMetric | null | undefined;
|
|
30
|
+
resolveVirtualWindow: () => DataGridCellVisibilityVirtualWindow | null | undefined;
|
|
31
|
+
resolveHeaderHeight: () => number;
|
|
32
|
+
resolveRowHeight: () => number;
|
|
33
|
+
resolveRowOffset?: (rowIndex: number) => number;
|
|
34
|
+
resolveRowHeightAtIndex?: (rowIndex: number) => number;
|
|
35
|
+
setScrollPosition: (position: DataGridCellVisibilityScrollPosition) => void;
|
|
36
|
+
}
|
|
37
|
+
export interface UseDataGridCellVisibilityScrollerResult<TCoord extends DataGridCellVisibilityCoord> {
|
|
38
|
+
ensureCellVisible: (coord: TCoord) => void;
|
|
39
|
+
}
|
|
40
|
+
export declare function useDataGridCellVisibilityScroller<TCoord extends DataGridCellVisibilityCoord, TMetric extends DataGridCellVisibilityColumnMetric = DataGridCellVisibilityColumnMetric>(options: UseDataGridCellVisibilityScrollerOptions<TCoord, TMetric>): UseDataGridCellVisibilityScrollerResult<TCoord>;
|
|
41
|
+
//# sourceMappingURL=useDataGridCellVisibilityScroller.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDataGridCellVisibilityScroller.d.ts","sourceRoot":"","sources":["../../src/useDataGridCellVisibilityScroller.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,kCAAkC;IACjD,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;CACZ;AAED,MAAM,WAAW,oCAAoC;IACnD,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,mCAAmC;IAClD,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE;QACT,GAAG,CAAC,EAAE,MAAM,CAAA;QACZ,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,KAAK,CAAC,EAAE,MAAM,CAAA;KACf,CAAA;CACF;AAED,MAAM,WAAW,wCAAwC,CACvD,MAAM,SAAS,2BAA2B,EAC1C,OAAO,SAAS,kCAAkC,GAAG,kCAAkC;IAEvF,sBAAsB,EAAE,MAAM,WAAW,GAAG,IAAI,CAAA;IAChD,mBAAmB,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,GAAG,IAAI,GAAG,SAAS,CAAA;IACxE,oBAAoB,EAAE,MAAM,mCAAmC,GAAG,IAAI,GAAG,SAAS,CAAA;IAClF,mBAAmB,EAAE,MAAM,MAAM,CAAA;IACjC,gBAAgB,EAAE,MAAM,MAAM,CAAA;IAC9B,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAA;IAC/C,uBAAuB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAA;IACtD,iBAAiB,EAAE,CAAC,QAAQ,EAAE,oCAAoC,KAAK,IAAI,CAAA;CAC5E;AAED,MAAM,WAAW,uCAAuC,CACtD,MAAM,SAAS,2BAA2B;IAE1C,iBAAiB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;CAC3C;AAED,wBAAgB,iCAAiC,CAC/C,MAAM,SAAS,2BAA2B,EAC1C,OAAO,SAAS,kCAAkC,GAAG,kCAAkC,EAEvF,OAAO,EAAE,wCAAwC,CAAC,MAAM,EAAE,OAAO,CAAC,GACjE,uCAAuC,CAAC,MAAM,CAAC,CA8CjD"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
export function useDataGridCellVisibilityScroller(options) {
|
|
2
|
+
function ensureCellVisible(coord) {
|
|
3
|
+
const virtualWindow = options.resolveVirtualWindow();
|
|
4
|
+
const rowTotal = Math.max(0, Math.trunc(virtualWindow?.rowTotal ?? 0));
|
|
5
|
+
const colTotal = Math.max(0, Math.trunc(virtualWindow?.colTotal ?? 0));
|
|
6
|
+
if (rowTotal === 0 || colTotal === 0) {
|
|
7
|
+
return;
|
|
8
|
+
}
|
|
9
|
+
const safeRowIndex = Math.max(0, Math.min(rowTotal - 1, Math.trunc(coord.rowIndex)));
|
|
10
|
+
const safeColumnIndex = Math.max(0, Math.min(colTotal - 1, Math.trunc(coord.columnIndex)));
|
|
11
|
+
const viewport = options.resolveViewportElement();
|
|
12
|
+
const columnMetric = options.resolveColumnMetric(safeColumnIndex);
|
|
13
|
+
if (!viewport || !columnMetric) {
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
const headerHeight = options.resolveHeaderHeight();
|
|
17
|
+
const rowHeight = options.resolveRowHeight();
|
|
18
|
+
const rowTop = headerHeight + (options.resolveRowOffset?.(safeRowIndex) ?? (safeRowIndex * rowHeight));
|
|
19
|
+
const rowSpan = Math.max(1, options.resolveRowHeightAtIndex?.(safeRowIndex) ?? rowHeight);
|
|
20
|
+
const rowBottom = rowTop + rowSpan;
|
|
21
|
+
const visibleTop = viewport.scrollTop + headerHeight;
|
|
22
|
+
const visibleBottom = viewport.scrollTop + viewport.clientHeight;
|
|
23
|
+
if (rowTop < visibleTop) {
|
|
24
|
+
viewport.scrollTop = Math.max(0, rowTop - headerHeight);
|
|
25
|
+
}
|
|
26
|
+
else if (rowBottom > visibleBottom) {
|
|
27
|
+
viewport.scrollTop = Math.max(0, rowBottom - viewport.clientHeight);
|
|
28
|
+
}
|
|
29
|
+
if (columnMetric.start < viewport.scrollLeft) {
|
|
30
|
+
viewport.scrollLeft = Math.max(0, columnMetric.start);
|
|
31
|
+
}
|
|
32
|
+
else if (columnMetric.end > viewport.scrollLeft + viewport.clientWidth) {
|
|
33
|
+
viewport.scrollLeft = Math.max(0, columnMetric.end - viewport.clientWidth);
|
|
34
|
+
}
|
|
35
|
+
options.setScrollPosition({
|
|
36
|
+
top: viewport.scrollTop,
|
|
37
|
+
left: viewport.scrollLeft,
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
return {
|
|
41
|
+
ensureCellVisible,
|
|
42
|
+
};
|
|
43
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type { DataGridRowNode } from "@affino/datagrid-core";
|
|
2
|
+
export interface DataGridCellVisualStateCoord {
|
|
3
|
+
rowIndex: number;
|
|
4
|
+
columnIndex: number;
|
|
5
|
+
}
|
|
6
|
+
export interface DataGridCellVisualStateRange {
|
|
7
|
+
startRow: number;
|
|
8
|
+
endRow: number;
|
|
9
|
+
startColumn: number;
|
|
10
|
+
endColumn: number;
|
|
11
|
+
}
|
|
12
|
+
export interface UseDataGridCellVisualStatePredicatesOptions<TRow, TCoord extends DataGridCellVisualStateCoord = DataGridCellVisualStateCoord, TRange extends DataGridCellVisualStateRange = DataGridCellVisualStateRange> {
|
|
13
|
+
resolveRowIndex: (row: DataGridRowNode<TRow>) => number;
|
|
14
|
+
resolveColumnIndex: (columnKey: string) => number;
|
|
15
|
+
isCellWithinRange: (rowIndex: number, columnIndex: number, range: TRange) => boolean;
|
|
16
|
+
resolveSelectionRange: () => TRange | null;
|
|
17
|
+
resolveCopiedRange: () => TRange | null;
|
|
18
|
+
resolveAnchorCoord: () => TCoord | null;
|
|
19
|
+
resolveActiveCoord: () => TCoord | null;
|
|
20
|
+
isFillDragging: () => boolean;
|
|
21
|
+
isRangeMoving: () => boolean;
|
|
22
|
+
resolveFillPreviewRange: () => TRange | null;
|
|
23
|
+
resolveFillBaseRange: () => TRange | null;
|
|
24
|
+
resolveMovePreviewRange: () => TRange | null;
|
|
25
|
+
resolveMoveBaseRange: () => TRange | null;
|
|
26
|
+
isInlineEditorOpen?: () => boolean;
|
|
27
|
+
selectColumnKey?: string;
|
|
28
|
+
}
|
|
29
|
+
export interface UseDataGridCellVisualStatePredicatesResult<TRow> {
|
|
30
|
+
isCellInSelection: (row: DataGridRowNode<TRow>, columnKey: string) => boolean;
|
|
31
|
+
isCellInCopiedRange: (row: DataGridRowNode<TRow>, columnKey: string) => boolean;
|
|
32
|
+
isAnchorCell: (row: DataGridRowNode<TRow>, columnKey: string) => boolean;
|
|
33
|
+
isActiveCell: (row: DataGridRowNode<TRow>, columnKey: string) => boolean;
|
|
34
|
+
isRangeEndCell: (row: DataGridRowNode<TRow>, columnKey: string) => boolean;
|
|
35
|
+
isCellInFillPreview: (row: DataGridRowNode<TRow>, columnKey: string) => boolean;
|
|
36
|
+
isCellInMovePreview: (row: DataGridRowNode<TRow>, columnKey: string) => boolean;
|
|
37
|
+
shouldShowFillHandle: (row: DataGridRowNode<TRow>, columnKey: string) => boolean;
|
|
38
|
+
}
|
|
39
|
+
export declare function useDataGridCellVisualStatePredicates<TRow, TCoord extends DataGridCellVisualStateCoord = DataGridCellVisualStateCoord, TRange extends DataGridCellVisualStateRange = DataGridCellVisualStateRange>(options: UseDataGridCellVisualStatePredicatesOptions<TRow, TCoord, TRange>): UseDataGridCellVisualStatePredicatesResult<TRow>;
|
|
40
|
+
//# sourceMappingURL=useDataGridCellVisualStatePredicates.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDataGridCellVisualStatePredicates.d.ts","sourceRoot":"","sources":["../../src/useDataGridCellVisualStatePredicates.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAE5D,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,2CAA2C,CAC1D,IAAI,EACJ,MAAM,SAAS,4BAA4B,GAAG,4BAA4B,EAC1E,MAAM,SAAS,4BAA4B,GAAG,4BAA4B;IAE1E,eAAe,EAAE,CAAC,GAAG,EAAE,eAAe,CAAC,IAAI,CAAC,KAAK,MAAM,CAAA;IACvD,kBAAkB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,CAAA;IACjD,iBAAiB,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAA;IACpF,qBAAqB,EAAE,MAAM,MAAM,GAAG,IAAI,CAAA;IAC1C,kBAAkB,EAAE,MAAM,MAAM,GAAG,IAAI,CAAA;IACvC,kBAAkB,EAAE,MAAM,MAAM,GAAG,IAAI,CAAA;IACvC,kBAAkB,EAAE,MAAM,MAAM,GAAG,IAAI,CAAA;IACvC,cAAc,EAAE,MAAM,OAAO,CAAA;IAC7B,aAAa,EAAE,MAAM,OAAO,CAAA;IAC5B,uBAAuB,EAAE,MAAM,MAAM,GAAG,IAAI,CAAA;IAC5C,oBAAoB,EAAE,MAAM,MAAM,GAAG,IAAI,CAAA;IACzC,uBAAuB,EAAE,MAAM,MAAM,GAAG,IAAI,CAAA;IAC5C,oBAAoB,EAAE,MAAM,MAAM,GAAG,IAAI,CAAA;IACzC,kBAAkB,CAAC,EAAE,MAAM,OAAO,CAAA;IAClC,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB;AAED,MAAM,WAAW,0CAA0C,CAAC,IAAI;IAC9D,iBAAiB,EAAE,CAAC,GAAG,EAAE,eAAe,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAA;IAC7E,mBAAmB,EAAE,CAAC,GAAG,EAAE,eAAe,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAA;IAC/E,YAAY,EAAE,CAAC,GAAG,EAAE,eAAe,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAA;IACxE,YAAY,EAAE,CAAC,GAAG,EAAE,eAAe,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAA;IACxE,cAAc,EAAE,CAAC,GAAG,EAAE,eAAe,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAA;IAC1E,mBAAmB,EAAE,CAAC,GAAG,EAAE,eAAe,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAA;IAC/E,mBAAmB,EAAE,CAAC,GAAG,EAAE,eAAe,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAA;IAC/E,oBAAoB,EAAE,CAAC,GAAG,EAAE,eAAe,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAA;CACjF;AAED,wBAAgB,oCAAoC,CAClD,IAAI,EACJ,MAAM,SAAS,4BAA4B,GAAG,4BAA4B,EAC1E,MAAM,SAAS,4BAA4B,GAAG,4BAA4B,EAE1E,OAAO,EAAE,2CAA2C,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,GACzE,0CAA0C,CAAC,IAAI,CAAC,CA0IlD"}
|