choerodon-ui
Version:
An enterprise-class UI design language and React-based implementation
57 lines (56 loc) • 1.97 kB
TypeScript
import { HTMLAttributes, PureComponent, ReactNode } from 'react';
import LayoutContext, { LayoutContextValue } from './LayoutContext';
export declare type CollapseType = 'clickTrigger' | 'responsive';
export declare type SiderTheme = 'light' | 'dark';
export interface SiderProps extends HTMLAttributes<HTMLDivElement> {
prefixCls?: string;
collapsible?: boolean;
collapsed?: boolean;
defaultCollapsed?: boolean;
reverseArrow?: boolean;
onCollapse?: (collapsed: boolean, type: CollapseType) => void;
trigger?: ReactNode;
width?: number | string;
collapsedWidth?: number | string;
breakpoint?: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'xxl';
theme?: SiderTheme;
onBreakpoint?: (broken: boolean) => void;
}
export interface SiderState {
collapsed?: boolean;
below: boolean;
belowShow?: boolean;
}
export interface SiderContext {
siderCollapsed: boolean;
}
export default class Sider extends PureComponent<SiderProps, SiderState> {
static displayName: string;
static get contextType(): typeof LayoutContext;
static __C7N_LAYOUT_SIDER: any;
static defaultProps: {
collapsible: boolean;
defaultCollapsed: boolean;
reverseArrow: boolean;
width: number;
collapsedWidth: number;
style: {};
theme: import("../tooltip").TooltipTheme;
};
context: LayoutContextValue;
private mql;
private uniqueId;
constructor(props: SiderProps, context: LayoutContextValue);
getContextValue(): {
siderCollapsed: boolean | undefined;
collapsedWidth: string | number | undefined;
};
componentWillReceiveProps(nextProps: SiderProps): void;
componentDidMount(): void;
componentWillUnmount(): void;
responsiveHandler: (event: MediaQueryListEvent) => void;
setCollapsed: (collapsed: boolean, type: CollapseType) => void;
toggle: () => void;
belowShowChange: () => void;
render(): JSX.Element;
}