UNPKG

react-native-draggable-masonry-grid

Version:

React native flatlist based implementation of masonary grid with drag/drop functionality

49 lines 2.17 kB
import { type RefObject } from 'react'; import { View } from 'react-native'; import type { Coordinates, DraggableItem, DraggableMasonryGridListData, Vertices } from './types'; export declare function asyncWaitForMS(waitForMS: number): Promise<unknown>; /** * @param min * @param max * @returns {number} random integer between min(inclusive) and max(inclusive) */ export declare const generateRandomInteger: (min: number, max: number) => number; /** * * @param array * @param index * @returns new array with item at added at given index */ export declare function arrayAddItemAtIndex<T>(array: T[], index: number, item: T): T[]; /** * * @param array * @param index * @returns new array with item removed at given index */ export declare function arrayRemoveItemAtIndex<T>(array: T[], index: number): T[]; /** * * @param array * @param indexFrom * @param indexTo * @returns new array with item that was in indexFrom moved to indexTo */ export declare function arrayMoveFromIndexToIndex<T>(array: DraggableItem<T>[], indexFrom: number, indexTo: number): DraggableItem<T>[]; export declare function getGridColumns<T>(data: DraggableItem<T>[], numberOfColumns: number, columnWidth: number): { columnsForGrid: DraggableMasonryGridListData<T>[][]; gridDataInSequence: DraggableMasonryGridListData<T>[]; columnHeights: number[]; }; export declare function getRawDataFromGridColumns<T>(columnsForGrid: DraggableMasonryGridListData<T>[][], columnHeights: number[]): { rawDataInSequence: DraggableItem<T>[]; }; export declare const checkIfContainsCoordinates: (coordinates: Coordinates, vertices: Vertices) => boolean; export declare const checkForOverlap: (verticesA: Vertices, verticesB: Vertices) => boolean; export declare const getDistanceBetweenVertices: (coordinatesA: Coordinates, coordinatesB: Coordinates) => number; export declare const getViewVertices: (cardRef: RefObject<View | null> | undefined, options?: { scale?: number; offsets?: Partial<Vertices>; }) => Promise<Vertices>; export declare function useStateRef<T>(initialValue: T): [RefObject<T>, React.Dispatch<React.SetStateAction<T>>]; //# sourceMappingURL=utils.d.ts.map