admin-vben5/packages/@core/ui-kit/layout-ui/src/vben-layout.ts

176 lines
3.0 KiB
TypeScript
Raw Normal View History

2025-06-18 11:03:42 +08:00
import type {
ContentCompactType,
LayoutHeaderModeType,
LayoutType,
ThemeModeType,
} from '@vben-core/typings';
interface VbenLayoutProps {
/**
*
* @default 'wide'
*/
contentCompact?: ContentCompactType;
/**
*
* @default 1200
*/
contentCompactWidth?: number;
/**
* padding
* @default 16
*/
contentPadding?: number;
/**
* paddingBottom
* @default 16
*/
contentPaddingBottom?: number;
/**
* paddingLeft
* @default 16
*/
contentPaddingLeft?: number;
/**
* paddingRight
* @default 16
*/
contentPaddingRight?: number;
/**
* paddingTop
* @default 16
*/
contentPaddingTop?: number;
/**
* footer
* @default false
*/
footerEnable?: boolean;
/**
* footer
* @default true
*/
footerFixed?: boolean;
/**
* footer
* @default 32
*/
footerHeight?: number;
/**
* header高度
* @default 48
*/
headerHeight?: number;
/**
*
* @default false
*/
headerHidden?: boolean;
/**
* header
* @default 'fixed'
*/
headerMode?: LayoutHeaderModeType;
/**
* header
*/
headerTheme?: ThemeModeType;
/**
* header切换侧边栏按钮
* @default
*/
headerToggleSidebarButton?: boolean;
/**
* header是否显示
* @default true
*/
headerVisible?: boolean;
/**
*
* @default false
*/
isMobile?: boolean;
/**
*
* sidebar-nav
* header-nav
* mixed-nav &
* sidebar-mixed-nav
* full-content
* @default sidebar-nav
*/
layout?: LayoutType;
/**
*
* @default false
*/
sidebarCollapse?: boolean;
/**
*
* @default true
*/
sidebarCollapsedButton?: boolean;
/**
* title
* @default true
*/
sidebarCollapseShowTitle?: boolean;
/**
*
* @default true
*/
sidebarEnable?: boolean;
/**
*
* @default 48
*/
sidebarExtraCollapsedWidth?: number;
/**
*
* @default true
*/
sidebarFixedButton?: boolean;
/**
*
* @default false
*/
sidebarHidden?: boolean;
/**
*
* @default 80
*/
sidebarMixedWidth?: number;
/**
*
* @default dark
*/
sidebarTheme?: ThemeModeType;
/**
*
* @default 210
*/
sidebarWidth?: number;
/**
*
* @default 48
*/
sideCollapseWidth?: number;
/**
* tab是否可见
* @default true
*/
tabbarEnable?: boolean;
/**
* tab高度
* @default 30
*/
tabbarHeight?: number;
/**
* zIndex
* @default 100
*/
zIndex?: number;
}
export type { VbenLayoutProps };