/// import type { Item, Rectangle } from "./data-grid-types.js"; /** @category Types */ export interface BaseGridMouseEventArgs { readonly shiftKey: boolean; readonly ctrlKey: boolean; readonly metaKey: boolean; readonly isTouch: boolean; readonly isLongTouch?: boolean; readonly isDoubleClick?: boolean; readonly isEdge: boolean; readonly button: number; readonly buttons: number; readonly scrollEdge: readonly [xDir: -1 | 0 | 1, yDir: -1 | 0 | 1]; } export interface PositionableMouseEventArgs { readonly localEventX: number; readonly localEventY: number; } /** @category Types */ export interface GridMouseCellEventArgs extends BaseGridMouseEventArgs, PositionableMouseEventArgs { readonly kind: "cell"; readonly location: Item; readonly bounds: Rectangle; readonly isFillHandle: boolean; } /** @category Types */ export declare const headerKind: "header"; /** @category Types */ export interface GridMouseHeaderEventArgs extends BaseGridMouseEventArgs, PositionableMouseEventArgs { readonly kind: typeof headerKind; readonly location: readonly [number, -1]; readonly bounds: Rectangle; readonly group: string; } /** @category Types */ export declare const groupHeaderKind: "group-header"; /** @category Types */ export interface GridMouseGroupHeaderEventArgs extends BaseGridMouseEventArgs, PositionableMouseEventArgs { readonly kind: typeof groupHeaderKind; readonly location: readonly [number, -2]; readonly bounds: Rectangle; readonly group: string; } /** @category Types */ export declare const outOfBoundsKind: "out-of-bounds"; /** @category Types */ export declare enum OutOfBoundsRegionAxis { Start = -2, StartPadding = -1, Center = 0, EndPadding = 1, End = 2 } export interface GridMouseOutOfBoundsEventArgs extends BaseGridMouseEventArgs { readonly kind: typeof outOfBoundsKind; readonly location: Item; readonly isMaybeScrollbar: boolean; readonly region: readonly [OutOfBoundsRegionAxis, OutOfBoundsRegionAxis]; } /** @category Types */ export interface GridKeyEventArgs { readonly bounds: Rectangle | undefined; readonly key: string; readonly keyCode: number; readonly altKey: boolean; readonly shiftKey: boolean; readonly ctrlKey: boolean; readonly metaKey: boolean; readonly cancel: () => void; readonly stopPropagation: () => void; readonly preventDefault: () => void; readonly rawEvent: React.KeyboardEvent | undefined; readonly location: Item | undefined; } /** @category Types */ export type GridMouseEventArgs = GridMouseCellEventArgs | GridMouseHeaderEventArgs | GridMouseOutOfBoundsEventArgs | GridMouseGroupHeaderEventArgs; export interface PreventableEvent { preventDefault: () => void; } /** @category Types */ export interface CellClickedEventArgs extends GridMouseCellEventArgs, PreventableEvent { } /** @category Types */ export interface HeaderClickedEventArgs extends GridMouseHeaderEventArgs, PreventableEvent { } /** @category Types */ export interface GroupHeaderClickedEventArgs extends GridMouseGroupHeaderEventArgs, PreventableEvent { } export interface FillPatternEventArgs extends PreventableEvent { patternSource: Rectangle; fillDestination: Rectangle; } export interface DragHandler { readonly setData: (mime: string, payload: string) => void; readonly setDragImage: (image: Element, x: number, y: number) => void; readonly preventDefault: () => void; readonly defaultPrevented: () => boolean; } /** @category Types */ export type GridDragEventArgs = GridMouseEventArgs & DragHandler; export declare function mouseEventArgsAreEqual(args: GridMouseEventArgs | undefined, other: GridMouseEventArgs | undefined): boolean; //# sourceMappingURL=event-args.d.ts.map