flipper-plugin
Version:
Flipper Desktop plugin SDK and components
80 lines • 2.08 kB
TypeScript
/**
* Copyright (c) Meta Platforms, Inc. and affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*
* @format
*/
import { Component } from 'react';
import { Property } from 'csstype';
import React from 'react';
type SidebarPosition = 'left' | 'top' | 'right' | 'bottom';
type SidebarProps = {
/**
* Position of the sidebar.
*/
position: SidebarPosition;
/**
* Default width of the sidebar. Only used for left/right sidebars.
*/
width?: number;
/**
* Minimum sidebar width. Only used for left/right sidebars.
*/
minWidth?: number;
/**
* Maximum sidebar width. Only used for left/right sidebars.
*/
maxWidth?: number;
/**
* Default height of the sidebar.
*/
height?: number;
/**
* Minimum sidebar height. Only used for top/bottom sidebars.
*/
minHeight?: number;
/**
* Maximum sidebar height. Only used for top/bottom sidebars.
*/
maxHeight?: number;
/**
* Callback when the sidebar size ahs changed.
*/
onResize?: (width: number, height: number) => void;
/**
* Contents of the sidebar.
*/
children?: React.ReactNode;
/**
* Class name to customise styling.
*/
className?: string;
/**
* use a Sandy themed large gutter
*/
gutter?: boolean;
};
type SidebarState = {
width?: Property.Width<number>;
height?: Property.Height<number>;
userChange: boolean;
};
/**
* A resizable sidebar.
*/
export declare class Sidebar extends Component<SidebarProps, SidebarState> {
constructor(props: SidebarProps, context: Object);
static defaultProps: {
position: string;
};
static getDerivedStateFromProps(nextProps: SidebarProps, state: SidebarState): {
width: number | undefined;
height: number | undefined;
} | null;
onResize: (width: number, height: number) => void;
render(): JSX.Element;
}
export {};
//# sourceMappingURL=Sidebar.d.ts.map