UNPKG

@alauda-fe/common

Version:

Alauda frontend team common codes.

66 lines (65 loc) 1.87 kB
import { GridItemComponent } from './components/grid-items/component'; import { CompactType } from './utils/react-grid-layout.utils'; export type GridItemDimension = 'w' | 'h' | undefined; export type DragActionType = 'drag' | 'resize'; export type COMPACT_TYPE = 'HORIZONTAL' | 'VERTICAL' | 'FREE'; export declare const GridCompactType: Record<COMPACT_TYPE, CompactType>; export type GridCompactType = (typeof GridCompactType)[keyof typeof GridCompactType]; export type GridLayoutItem<Extra = unknown> = { id: string; x: number; y: number; w: number; h: number; minW?: number; minH?: number; maxW?: number; maxH?: number; } & Extra; export type GridLayout<Extra = unknown> = Array<GridLayoutItem<Extra>>; export interface GridItemClientRect { top?: number; bottom?: number; left?: number; right?: number; width?: number; height?: number; } export interface GridItemDraggingInfo { pointerDownEvent: MouseEvent; pointerDragEvent: MouseEvent; gridElemClientRect: GridItemClientRect; dragElemClientRect: GridItemClientRect; scrollDifference: { top: number; left: number; }; } export interface GridItemRenderData<T = number> { id: string; top: T; left: T; width: T; height: T; } export interface GridCfg { cols: number; rowHeight: number; layout: GridLayoutItem[]; preventCollision?: boolean; gutter: number; } export interface DragResizeEvent { layout: GridLayout; layoutItem: GridLayoutItem; gridItemRef: GridItemComponent; } export type DragStartEvent = DragResizeEvent; export type ResizeStartEvent = DragResizeEvent; export type DragEndEvent = DragResizeEvent; export type ResizeEndEvent = DragResizeEvent; export interface ItemResizeEvent { width: number; height: number; gridItemRef: GridItemComponent; }