UNPKG

yuang-framework-ui-pc

Version:

yuang-framework-ui-pc Library

183 lines (181 loc) 6.67 kB
import { PropType, ExtractPropTypes, InjectionKey } from 'vue'; import { StyleValue } from '../ele-app/types'; import { EleMenusProps, EleBreadcrumbProps, EleBacktopProps, EleDropdownProps } from '../ele-app/plus'; import { MenuItem } from '../ele-menus/types'; import { BreadcrumbItem } from '../ele-breadcrumb/types'; import { TabPaneItem, TabEventOption, ContextMenus } from '../ele-tabs/types'; import { Layout, SidebarLayout, HeaderStyle, SidebarStyle, TabStyle, TabBar, Maximized, LayoutProvide } from './types'; /** * 属性 */ export declare const adminLayoutProps: { /** 高度 */ height: { type: (NumberConstructor | StringConstructor)[]; default: string; }; /** 顶栏菜单数据 */ headerMenus: PropType<MenuItem[]>; /** 顶栏菜单选中 */ headerActive: StringConstructor; /** 侧栏菜单数据 */ sidebarMenus: PropType<MenuItem[]>; /** 侧栏菜单选中 */ sidebarActive: StringConstructor; /** 双侧栏一级菜单数据 */ sideboxMenus: PropType<MenuItem[]>; /** 双侧栏一级菜单选中 */ sideboxActive: StringConstructor; /** 页签数据 */ tabs: PropType<TabPaneItem[]>; /** 页签选中 */ tabActive: StringConstructor; /** 面包屑导航数据 */ levels: PropType<BreadcrumbItem[]>; /** 是否折叠侧栏 */ collapse: BooleanConstructor; /** 双侧栏一级是否紧凑风格 */ compact: BooleanConstructor; /** 内容区是否最大化 */ maximized: PropType<Maximized>; /** 是否需要页签栏 */ tabBar: PropType<TabBar>; /** 是否需要面包屑导航 */ breadcrumb: PropType<boolean | EleBreadcrumbProps>; /** 是否需要返回顶部 */ backTop: PropType<boolean | EleBacktopProps>; /** 顶栏菜单属性 */ headerMenuProps: PropType<EleMenusProps>; /** 侧栏菜单属性 */ sidebarMenuProps: PropType<EleMenusProps>; /** 双侧栏一级菜单属性 */ sideboxMenuProps: PropType<EleMenusProps>; /** 布局类型 */ layout: PropType<Layout>; /** 侧栏布局类型 */ sidebarLayout: PropType<SidebarLayout>; /** 顶栏风格 */ headerStyle: PropType<HeaderStyle>; /** 侧栏风格 */ sidebarStyle: PropType<SidebarStyle>; /** 页签风格 */ tabStyle: { type: PropType<TabStyle>; default: string; }; /** 是否固定顶栏 */ fixedHeader: BooleanConstructor; /** 是否固定侧栏 */ fixedSidebar: BooleanConstructor; /** 是否固定内容区 */ fixedBody: BooleanConstructor; /** logo是否置于顶栏 */ logoInHeader: BooleanConstructor; /** 是否需要固定的主页页签 */ fixedHome: BooleanConstructor; /** 主页路由地址 */ homePath: StringConstructor; /** 是否选中固定的主页页签 */ isHome: BooleanConstructor; /** 是否支持页签右键菜单 */ tabContextMenu: PropType<boolean | EleDropdownProps>; /** 页签右键菜单数据 */ tabContextMenus: PropType<ContextMenus>; /** 是否支持页签拖动排序 */ tabSortable: BooleanConstructor; /** 顶栏菜单标题插槽名称 */ headerTitleSlot: { type: StringConstructor; default: string; }; /** 顶栏菜单图标插槽名称 */ headerIconSlot: { type: StringConstructor; default: string; }; /** 侧栏菜单标题插槽名称 */ sidebarTitleSlot: { type: StringConstructor; default: string; }; /** 侧栏菜单图标插槽名称 */ sidebarIconSlot: { type: StringConstructor; default: string; }; /** 双侧栏一级菜单标题插槽名称 */ sideboxTitleSlot: { type: StringConstructor; default: string; }; /** 双侧栏一级菜单图标插槽名称 */ sideboxIconSlot: { type: StringConstructor; default: string; }; /** 顶栏样式 */ headerCustomStyle: PropType<StyleValue>; /** 侧栏样式 */ sidebarCustomStyle: PropType<StyleValue>; /** 双侧栏一级样式 */ sideboxCustomStyle: PropType<StyleValue>; /** 页签栏样式 */ tabsCustomStyle: PropType<StyleValue>; /** 内容区样式 */ contentCustomStyle: PropType<StyleValue>; /** logo样式 */ logoStyle: PropType<StyleValue>; /** logo文字样式 */ logoTitleStyle: PropType<StyleValue>; /** 顶栏菜单样式 */ headerMenusStyle: PropType<StyleValue>; /** 侧栏菜单样式 */ sidebarMenusStyle: PropType<StyleValue>; /** 双侧栏一级菜单样式 */ sideboxMenusStyle: PropType<StyleValue>; /** logo图片地址 */ logoSrc: StringConstructor; /** logo文字 */ logoTitle: StringConstructor; /** 菜单是否自动滚动到选中位置 */ menuScrollToActive: { type: BooleanConstructor; default: boolean; }; /** 是否是移动端风格 */ mobile: BooleanConstructor; }; export type AdminLayoutProps = ExtractPropTypes<typeof adminLayoutProps>; /** * 事件 */ export declare const adminLayoutEmits: { 'update:collapse': (_collapse: boolean) => boolean; logoClick: (_e: MouseEvent) => boolean; headMenuOpen: (_index: string, _indexPath: string[]) => boolean; headMenuClose: (_index: string, _indexPath: string[]) => boolean; headMenuItemClick: (_item: MenuItem, _e: MouseEvent) => boolean; headMenuItemMouseenter: (_item: MenuItem, _e: MouseEvent) => boolean; headMenuItemMouseleave: (_item: MenuItem, _e: MouseEvent) => boolean; headMouseenter: (_e: MouseEvent) => boolean; headMouseleave: (_e: MouseEvent) => boolean; boxMenuItemClick: (_item: MenuItem, _e: MouseEvent) => boolean; boxMenuItemMouseenter: (_item: MenuItem, _e: MouseEvent) => boolean; boxMenuItemMouseleave: (_item: MenuItem, _e: MouseEvent) => boolean; boxMouseenter: (_e: MouseEvent) => boolean; boxMouseleave: (_e: MouseEvent) => boolean; sideMenuOpen: (_index: string, _indexPath: string[]) => boolean; sideMenuClose: (_index: string, _indexPath: string[]) => boolean; sideMenuItemClick: (_item: MenuItem, _e: MouseEvent) => boolean; sideMouseenter: (_e: MouseEvent) => boolean; sideMouseleave: (_e: MouseEvent) => boolean; tabClick: (_option: TabEventOption) => boolean; tabRemove: (_name: string) => boolean; tabContextMenu: (_option: TabEventOption) => boolean; tabSortChange: (_data: TabPaneItem[]) => boolean; contentMounted: (_contentEl: HTMLElement, _modalsEl: HTMLElement) => boolean; }; /** * 共享数据key */ export declare const LAYOUT_KEY: InjectionKey<LayoutProvide>;