@fesjs/fes-design
Version:
fes-design for PC
32 lines (31 loc) • 1.05 kB
TypeScript
import type { CSSProperties, InjectionKey, PropType, Ref, ToRefs } from 'vue';
import type { ExtractPublicPropTypes } from '../_util/interface';
export declare enum COMPONENT_NAME {
LAYOUT = "FLayout",
HEADER = "FHeader",
FOOTER = "FFooter",
ASIDE = "FAside",
MAIN = "FMain"
}
export interface LayoutChild {
type: COMPONENT_NAME;
}
export type AsidePlacement = 'left' | 'right' | '';
export declare const layoutProps: {
readonly embedded: {
readonly type: BooleanConstructor;
readonly default: false;
};
readonly fixed: {
readonly type: BooleanConstructor;
readonly default: false;
};
readonly containerClass: PropType<CSSProperties>;
readonly containerStyle: PropType<CSSProperties>;
};
export type LayoutProps = ExtractPublicPropTypes<typeof layoutProps>;
export interface LayoutInst extends ToRefs<LayoutProps> {
addChild: (child: LayoutChild) => void;
asidePlacement?: Ref<AsidePlacement>;
}
export declare const LAYOUT_PROVIDE_KEY: InjectionKey<LayoutInst>;