@types/react-resizable
TypeScript icon, indicating that this package has built-in type declarations

3.0.7 • Public • Published

Installation

npm install --save @types/react-resizable

Summary

This package contains type definitions for react-resizable (https://github.com/react-grid-layout/react-resizable).

Details

Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/react-resizable.

index.d.ts

import * as React from "react";

export type Axis = "both" | "x" | "y" | "none";
export type ResizeHandle = "s" | "w" | "e" | "n" | "sw" | "nw" | "se" | "ne";

export interface ResizableState {
    resizing: boolean;
    width: number;
    height: number;
    slackW: number;
    slackH: number;
}

export interface DragCallbackData {
    node: HTMLElement;
    x: number;
    y: number;
    deltaX: number;
    deltaY: number;
    lastX: number;
    lastY: number;
}

export interface ResizeCallbackData {
    node: HTMLElement;
    size: { width: number; height: number };
    handle: ResizeHandle;
}

export type ResizableProps =
    & {
        children?: React.ReactNode;
        className?: string | undefined;
        handle?:
            | React.ReactNode
            | ((resizeHandle: ResizeHandle, ref: React.RefObject<any>) => React.ReactNode)
            | undefined;
        handleSize?: [number, number] | undefined;
        lockAspectRatio?: boolean | undefined;
        minConstraints?: [width: number, height: number] | undefined;
        maxConstraints?: [width: number, height: number] | undefined;
        onResizeStop?: ((e: React.SyntheticEvent, data: ResizeCallbackData) => any) | undefined;
        onResizeStart?: ((e: React.SyntheticEvent, data: ResizeCallbackData) => any) | undefined;
        onResize?: ((e: React.SyntheticEvent, data: ResizeCallbackData) => any) | undefined;
        draggableOpts?: any;
        resizeHandles?: ResizeHandle[] | undefined;
        transformScale?: number;
    }
    & (
        | {
            width: number;
            height?: number | undefined;
            axis: "x";
        }
        | {
            width?: number | undefined;
            height: number;
            axis: "y";
        }
        | {
            width: number;
            height: number;
            axis?: "both";
        }
    );

export class Resizable extends React.Component<ResizableProps, ResizableState> {}

export interface ResizableBoxState {
    height: number;
    width: number;
}

export type ResizableBoxProps = ResizableProps & { style?: React.CSSProperties };

export class ResizableBox extends React.Component<ResizableBoxProps, ResizableBoxState> {}

Additional Details

  • Last updated: Tue, 07 Nov 2023 09:09:39 GMT
  • Dependencies: @types/react

Credits

These definitions were written by Harry Brrundage.

Readme

Keywords

none

Package Sidebar

Install

npm i @types/react-resizable

Weekly Downloads

175,065

Version

3.0.7

License

MIT

Unpacked Size

7.1 kB

Total Files

5

Last publish

Collaborators

  • types