header-sider-layout
Version:
ant-design-pro layout, based on pro-layout, with header and sider layout.
42 lines (41 loc) • 1.46 kB
TypeScript
import './index.less';
import React, { Component } from 'react';
import { Settings } from '../defaultSettings';
declare type MergerSettingsType<T> = Partial<T> & {
primaryColor?: string;
colorWeak?: boolean;
};
interface SettingItemProps {
title: React.ReactNode;
action: React.ReactElement;
disabled?: boolean;
disabledReason?: React.ReactNode;
}
export interface SettingDrawerProps {
settings: MergerSettingsType<Settings>;
collapse?: boolean;
getContainer?: any;
onCollapseChange?: (collapse: boolean) => void;
onSettingChange?: (settings: MergerSettingsType<Settings>) => void;
}
export interface SettingDrawerState extends MergerSettingsType<Settings> {
collapse?: boolean;
language?: string;
}
declare class SettingDrawer extends Component<SettingDrawerProps, SettingDrawerState> {
state: SettingDrawerState;
static getDerivedStateFromProps(props: SettingDrawerProps): SettingDrawerState | null;
componentDidMount(): void;
componentWillUnmount(): void;
onLanguageChange: () => void;
getLayoutSetting: () => SettingItemProps[];
changeSetting: (key: string, value: string | boolean) => void;
togglerContent: () => void;
renderLayoutSettingItem: (item: SettingItemProps) => JSX.Element;
getFormatMessage: () => (data: {
id: string;
defaultMessage?: string | undefined;
}) => string;
render(): React.ReactNode;
}
export default SettingDrawer;