choerodon-ui
Version:
An enterprise-class UI design language and React-based implementation
53 lines (52 loc) • 1.8 kB
TypeScript
import React, { HTMLAttributes, PureComponent, ReactNode } from 'react';
import { LayoutContextValue } from './LayoutContext';
export declare type CollapseType = 'clickTrigger' | 'responsive';
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';
}
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(): React.Context<LayoutContextValue>;
static __C7N_LAYOUT_SIDER: any;
static defaultProps: {
collapsible: boolean;
defaultCollapsed: boolean;
reverseArrow: boolean;
width: number;
collapsedWidth: number;
style: {};
};
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;
}