/** ProLayout 布局模式(结构参考常见 admin 四类布局,样式保持 deppon 现有设计语言) */ export type ProLayoutMode = 'defaults' | 'classic' | 'transverse' | 'columns'; /** 悬浮设置按钮位置 */ export type ProLayoutSettingsFabPosition = 'right-center' | 'right-bottom' | 'left-center' | 'left-bottom'; /** 可注入到 .pro-layout 根节点的主题令牌(对应 --pro-layout-* CSS 变量) */ export interface ProLayoutThemeTokens { /** 强调色 / 主色,同步 --pro-layout-accent 与 Element Plus primary */ accent?: string; shellBg?: string; shellRadius?: string; shellBorder?: string; shellShadow?: string; headerBg?: string; tagsBarBg?: string; mainBg?: string; text?: string; textMuted?: string; siderBg?: string; topMenuFontFamily?: string; } /** 全局 CSS 变量(键名不含 --,与 App.vue :root 中 --* 对应) */ export type ProLayoutGlobalColors = Record; /** 运行时主题配置(含布局与界面开关,可持久化) */ export interface ProLayoutThemeConfig { layout?: ProLayoutMode; tokens?: ProLayoutThemeTokens; /** 写入 document.documentElement 的全局主题变量 */ globalColors?: ProLayoutGlobalColors; isDark?: boolean; isCollapse?: boolean; isFixedHeader?: boolean; isTagsView?: boolean; isShowSider?: boolean; } export interface ProLayoutSettingsFabConfig { /** 是否显示内置悬浮按钮 */ show?: boolean; /** 相对视口的定位 */ position?: ProLayoutSettingsFabPosition; /** 距边缘偏移,如 { right: '16px', bottom: '80px' } */ offset?: Record; /** 合并到按钮根节点的内联样式 */ style?: Record; /** 合并到按钮根节点的 class */ class?: string | string[] | Record; /** 按钮尺寸:default | large | small */ size?: 'default' | 'large' | 'small'; /** tooltip 文案 */ title?: string; /** 是否显示内置齿轮图标;false 时仅用默认插槽 */ showIcon?: boolean; }