react-native-draggable-masonry-grid
Version:
React native flatlist based implementation of masonary grid with drag/drop functionality
49 lines • 2.17 kB
TypeScript
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