///
import React, { Component, ReactNode } from 'react';
import PropTypes from 'prop-types';
interface Props {
position: 'left' | 'right' | 'top' | 'bottom';
zIndex: number;
fluid: boolean;
size?: number;
defaultSize: number;
dimMode: 'none' | 'transparent' | 'opaque';
isVisible?: boolean;
onVisibleChange?: (isVisible: boolean) => void;
onSizeChange?: (size: number) => void;
dimStyle?: React.CSSProperties | null;
dockStyle?: React.CSSProperties | null;
dockHiddenStyle?: React.CSSProperties | null;
duration: number;
children?: React.FunctionComponent<{
position: 'left' | 'right' | 'top' | 'bottom';
isResizing: boolean | undefined;
size: number;
isVisible: boolean | undefined;
}> | ReactNode;
}
interface State {
isControlled: boolean;
size: number;
isDimHidden: boolean;
fullWidth: number;
fullHeight: number;
isTransitionStarted: boolean;
isWindowResizing: unknown;
isResizing?: boolean;
}
export default class Dock extends Component {
state: State;
static propTypes: {
position: PropTypes.Requireable;
zIndex: PropTypes.Requireable;
fluid: PropTypes.Requireable;
size: PropTypes.Requireable;
defaultSize: PropTypes.Requireable;
dimMode: PropTypes.Requireable;
isVisible: PropTypes.Requireable;
onVisibleChange: PropTypes.Requireable<(...args: any[]) => any>;
onSizeChange: PropTypes.Requireable<(...args: any[]) => any>;
dimStyle: PropTypes.Requireable