UNPKG

react-peel

Version:

react-peel is a react library to create realistic peeling effects. No dependencies.

103 lines (98 loc) 3.04 kB
import React$1, { RefObject, ReactNode } from 'react'; declare namespace PeelCorners { let TOP_LEFT: number; let TOP_RIGHT: number; let BOTTOM_LEFT: number; let BOTTOM_RIGHT: number; } interface PeelOptions { topShadow?: boolean; topShadowBlur?: number; topShadowAlpha?: number; topShadowOffsetX?: number; topShadowOffsetY?: number; topShadowCreatesShape?: boolean; backReflection?: boolean; backReflectionSize?: number; backReflectionOffset?: number; backReflectionAlpha?: number; backReflectionDistribute?: boolean; backShadow?: boolean; backShadowSize?: number; backShadowOffset?: number; backShadowAlpha?: number; backShadowDistribute?: boolean; corner?: keyof typeof PeelCorners; bottomShadow?: boolean; bottomShadowSize?: number; bottomShadowOffset?: number; bottomShadowDarkAlpha?: number; bottomShadowLightAlpha?: number; bottomShadowDistribute?: boolean; mode?: "book" | "calendar"; setPeelOnInit?: boolean; clippingBoxScale?: number; flipConstraintOffset?: number; dragPreventsDefault?: boolean; shape?: SvgElementProps; } type TCoords = { x: number; y: number; }; type HtmlDivProps = React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>; type CircleProps = { cx: number; cy: number; r: number; } & { [key: string]: any; }; type PathProps = { d: string; } & { [key: string]: any; }; type RectProps = { x: number; y: number; width: number; height: number; } & { [key: string]: any; }; type PolygonProps = { points: string; } & { [key: string]: any; }; type SvgElementProps = { circle?: CircleProps; path?: PathProps; rect?: RectProps; polygon?: PolygonProps; }; type Props = { ref?: RefObject<any>; className?: string; height?: string | number; width?: string | number; children?: ReactNode; options?: PeelOptions; peelPosition?: TCoords; corner?: TCoords | keyof typeof PeelCorners; constraints?: TCoords | keyof typeof PeelCorners | Array<TCoords | keyof typeof PeelCorners>; timeAlongPath?: number; drag?: boolean; handleDrag?: (event: MouseEvent, x: number, y: number, peel: any) => any; handlePress?: (event: MouseEvent, peel: any) => any; mode?: "book" | "calendar"; fadeThreshold?: number; peelPath?: number[]; containerProps?: Omit<HtmlDivProps, "ref" | "className">; }; declare const PeelWrapper: React$1.ForwardRefExoticComponent<Omit<Props, "ref"> & React$1.RefAttributes<unknown>>; declare const PeelTop: React$1.ForwardRefExoticComponent<Omit<HtmlDivProps, "ref"> & React$1.RefAttributes<HTMLDivElement>>; declare const PeelBack: React$1.ForwardRefExoticComponent<Omit<HtmlDivProps, "ref"> & React$1.RefAttributes<HTMLDivElement>>; declare const PeelBottom: React$1.ForwardRefExoticComponent<Omit<HtmlDivProps, "ref"> & React$1.RefAttributes<HTMLDivElement>>; export { PeelBack, PeelBottom, PeelTop, PeelWrapper };