@robot-admin/layout 2.3.2 → 3.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,1939 @@
1
+ import { AllowedComponentProps } from 'vue';
2
+ import { App } from 'vue';
3
+ import { Component } from 'vue';
4
+ import { ComponentCustomProps } from 'vue';
5
+ import { ComponentOptionsBase } from 'vue';
6
+ import { ComponentOptionsMixin } from 'vue';
7
+ import { ComponentProvideOptions } from 'vue';
8
+ import { ComputedRef } from 'vue';
9
+ import { CreateComponentPublicInstanceWithMixins } from 'vue';
10
+ import { DefineComponent } from 'vue';
11
+ import { GlobalComponents } from 'vue';
12
+ import { GlobalDirectives } from 'vue';
13
+ import { InjectionKey } from 'vue';
14
+ import { MaybeRefOrGetter } from 'vue';
15
+ import { PublicProps } from 'vue';
16
+ import { Ref } from 'vue';
17
+ import { RouteLocationNormalizedLoaded } from 'vue-router';
18
+ import { Store } from 'pinia';
19
+ import { StoreDefinition } from 'pinia';
20
+ import { VNode } from 'vue';
21
+ import { VNodeProps } from 'vue';
22
+ import { WritableComputedRef } from 'vue';
23
+
24
+ declare const __VLS_component: DefineComponent< {}, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, true, {}, HTMLDivElement>;
25
+
26
+ declare const __VLS_component_2: DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
27
+ "update:show": (value: boolean) => any;
28
+ }, string, PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
29
+ "onUpdate:show"?: ((value: boolean) => any) | undefined;
30
+ }>, {
31
+ width: number;
32
+ maxImportBytes: number;
33
+ }, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
34
+
35
+ declare const __VLS_component_3: DefineComponent<__VLS_Props_9, {
36
+ collapsed: ComputedRef<boolean>;
37
+ toggleCollapse: () => void;
38
+ }, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
39
+ "update:collapsed": (value: boolean) => any;
40
+ }, string, PublicProps, Readonly<__VLS_Props_9> & Readonly<{
41
+ "onUpdate:collapsed"?: ((value: boolean) => any) | undefined;
42
+ }>, {
43
+ collapsed: boolean;
44
+ }, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
45
+
46
+ declare const __VLS_component_4: DefineComponent< {}, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, true, {}, HTMLDivElement>;
47
+
48
+ declare const __VLS_component_5: DefineComponent< {}, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, true, {}, HTMLDivElement>;
49
+
50
+ declare const __VLS_component_6: DefineComponent< {}, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, true, {}, HTMLDivElement>;
51
+
52
+ declare const __VLS_component_7: DefineComponent< {}, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, true, {}, HTMLDivElement>;
53
+
54
+ declare const __VLS_component_8: DefineComponent< {}, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, true, {}, HTMLDivElement>;
55
+
56
+ declare type __VLS_Props = {
57
+ /** 抽屉宽度,默认 380px */
58
+ width?: number;
59
+ /** 显式设置 Store;优先级高于 setupLayout 注入和默认 Store */
60
+ store?: SettingsStoreInstance;
61
+ /** 由宿主实现的缓存清理、页面刷新等高副作用操作 */
62
+ actions?: SettingsDrawerActions;
63
+ /** 导入文件最大字节数,默认 1 MiB */
64
+ maxImportBytes?: number;
65
+ };
66
+
67
+ declare type __VLS_Props_2 = {
68
+ /** 是否显示品牌名称 */
69
+ showName?: boolean;
70
+ /** 是否显示分隔线 */
71
+ showDivider?: boolean;
72
+ /** Logo 尺寸 */
73
+ size?: number;
74
+ /** 是否折叠状态 */
75
+ collapsed?: boolean;
76
+ /** 布局方向 */
77
+ variant?: "vertical" | "horizontal";
78
+ };
79
+
80
+ declare type __VLS_Props_3 = {
81
+ /** 菜单数据 */
82
+ menus: MenuOptions[];
83
+ /** 当前激活的菜单路径 */
84
+ active?: string;
85
+ };
86
+
87
+ declare type __VLS_Props_4 = {
88
+ /** 是否显示 */
89
+ show: boolean;
90
+ /** 当前悬浮的一级菜单项(包含 children) */
91
+ menuItem: MenuOptions | null;
92
+ /** 判断菜单项是否激活 */
93
+ isActive?: (path: string | undefined) => boolean;
94
+ };
95
+
96
+ declare type __VLS_Props_5 = {
97
+ /** 二级菜单列表 */
98
+ menus: MenuOptions[];
99
+ /** 当前一级菜单项(显示标题和图标) */
100
+ activeItem?: MenuOptions;
101
+ /** 判断菜单项是否激活 */
102
+ isActive?: (path: string | undefined) => boolean;
103
+ };
104
+
105
+ declare type __VLS_Props_6 = {
106
+ /** 菜单数据 */
107
+ menus: MenuOptions[];
108
+ /** 是否显示 */
109
+ show: boolean;
110
+ };
111
+
112
+ declare type __VLS_Props_7 = {
113
+ show?: boolean;
114
+ };
115
+
116
+ declare type __VLS_Props_8 = {
117
+ /** 菜单数据 */
118
+ data: MenuOptions[];
119
+ };
120
+
121
+ declare type __VLS_Props_9 = {
122
+ /** 控制侧边栏折叠状态 (支持 v-model:collapsed) */
123
+ collapsed?: boolean;
124
+ };
125
+
126
+ declare type __VLS_PublicProps = {
127
+ "show"?: boolean;
128
+ } & __VLS_Props;
129
+
130
+ declare function __VLS_template(): {
131
+ attrs: Partial<{}>;
132
+ slots: {
133
+ logo?(_: {}): any;
134
+ logo?(_: {}): any;
135
+ logo?(_: {}): any;
136
+ logo?(_: {}): any;
137
+ logo?(_: {}): any;
138
+ logo?(_: {}): any;
139
+ menu?(_: {
140
+ collapsed: boolean;
141
+ }): any;
142
+ header?(_: {}): any;
143
+ header?(_: {}): any;
144
+ footer?(_: {}): any;
145
+ footer?(_: {}): any;
146
+ footer?(_: {}): any;
147
+ footer?(_: {}): any;
148
+ footer?(_: {}): any;
149
+ footer?(_: {}): any;
150
+ 'top-menu'?(_: {}): any;
151
+ 'top-menu'?(_: {}): any;
152
+ 'top-menu'?(_: {}): any;
153
+ 'header-extra'?(_: {}): any;
154
+ 'header-extra'?(_: {}): any;
155
+ 'header-extra'?(_: {}): any;
156
+ 'header-extra'?(_: {}): any;
157
+ 'tags-view'?(_: {}): any;
158
+ 'tags-view'?(_: {}): any;
159
+ 'tags-view'?(_: {}): any;
160
+ 'tags-view'?(_: {}): any;
161
+ brand?(_: {}): any;
162
+ 'menu-trigger'?(_: {}): any;
163
+ 'drawer-menu'?(_: {}): any;
164
+ };
165
+ refs: {};
166
+ rootEl: HTMLDivElement;
167
+ };
168
+
169
+ declare function __VLS_template_2(): {
170
+ attrs: Partial<{}>;
171
+ slots: {
172
+ 'appearance-prepend'?(_: {
173
+ settings: Store<string, Pick<{
174
+ themeMode: Ref<ThemeMode, ThemeMode>;
175
+ primaryColor: Ref<string, string>;
176
+ borderRadius: Ref<BorderRadiusSize, BorderRadiusSize>;
177
+ transitionType: Ref<TransitionType, TransitionType>;
178
+ enableTransition: Ref<boolean, boolean>;
179
+ layoutMode: Ref<LayoutMode, LayoutMode>;
180
+ menuExpandMode: Ref<MenuExpandMode, MenuExpandMode>;
181
+ collapsed: Ref<boolean, boolean>;
182
+ fixedHeader: Ref<boolean, boolean>;
183
+ showBreadcrumb: Ref<boolean, boolean>;
184
+ showBreadcrumbIcon: Ref<boolean, boolean>;
185
+ showTagsView: Ref<boolean, boolean>;
186
+ tagsViewHeight: Ref<number, number>;
187
+ tagsViewStyle: Ref<TagsViewStyle, TagsViewStyle>;
188
+ showFooter: Ref<boolean, boolean>;
189
+ sidebarWidth: Ref<number, number>;
190
+ sidebarCollapsedWidth: Ref<number, number>;
191
+ headerHeight: Ref<number, number>;
192
+ enableHotkeys: Ref<boolean, boolean>;
193
+ version: Ref<string, string>;
194
+ borderRadiusValue: ComputedRef<"4px" | "6px" | "8px">;
195
+ transitionName: ComputedRef<"" | "fade-transform" | "fade-slide" | "fade-zoom">;
196
+ shouldEnableTransition: ComputedRef<boolean>;
197
+ settingsState: ComputedRef<SettingsState>;
198
+ syncCSSVariables: () => void;
199
+ applyPreset: (preset: ThemePreset) => Promise<void>;
200
+ resetSettings: () => void;
201
+ updateThemeMode: (mode: ThemeMode) => Promise<void>;
202
+ toggleCollapse: () => void;
203
+ }, "themeMode" | "layoutMode" | "primaryColor" | "borderRadius" | "transitionType" | "enableTransition" | "menuExpandMode" | "collapsed" | "fixedHeader" | "showBreadcrumb" | "showBreadcrumbIcon" | "showTagsView" | "tagsViewHeight" | "tagsViewStyle" | "showFooter" | "sidebarWidth" | "sidebarCollapsedWidth" | "headerHeight" | "enableHotkeys" | "version">, Pick<{
204
+ themeMode: Ref<ThemeMode, ThemeMode>;
205
+ primaryColor: Ref<string, string>;
206
+ borderRadius: Ref<BorderRadiusSize, BorderRadiusSize>;
207
+ transitionType: Ref<TransitionType, TransitionType>;
208
+ enableTransition: Ref<boolean, boolean>;
209
+ layoutMode: Ref<LayoutMode, LayoutMode>;
210
+ menuExpandMode: Ref<MenuExpandMode, MenuExpandMode>;
211
+ collapsed: Ref<boolean, boolean>;
212
+ fixedHeader: Ref<boolean, boolean>;
213
+ showBreadcrumb: Ref<boolean, boolean>;
214
+ showBreadcrumbIcon: Ref<boolean, boolean>;
215
+ showTagsView: Ref<boolean, boolean>;
216
+ tagsViewHeight: Ref<number, number>;
217
+ tagsViewStyle: Ref<TagsViewStyle, TagsViewStyle>;
218
+ showFooter: Ref<boolean, boolean>;
219
+ sidebarWidth: Ref<number, number>;
220
+ sidebarCollapsedWidth: Ref<number, number>;
221
+ headerHeight: Ref<number, number>;
222
+ enableHotkeys: Ref<boolean, boolean>;
223
+ version: Ref<string, string>;
224
+ borderRadiusValue: ComputedRef<"4px" | "6px" | "8px">;
225
+ transitionName: ComputedRef<"" | "fade-transform" | "fade-slide" | "fade-zoom">;
226
+ shouldEnableTransition: ComputedRef<boolean>;
227
+ settingsState: ComputedRef<SettingsState>;
228
+ syncCSSVariables: () => void;
229
+ applyPreset: (preset: ThemePreset) => Promise<void>;
230
+ resetSettings: () => void;
231
+ updateThemeMode: (mode: ThemeMode) => Promise<void>;
232
+ toggleCollapse: () => void;
233
+ }, "borderRadiusValue" | "transitionName" | "shouldEnableTransition" | "settingsState">, Pick<{
234
+ themeMode: Ref<ThemeMode, ThemeMode>;
235
+ primaryColor: Ref<string, string>;
236
+ borderRadius: Ref<BorderRadiusSize, BorderRadiusSize>;
237
+ transitionType: Ref<TransitionType, TransitionType>;
238
+ enableTransition: Ref<boolean, boolean>;
239
+ layoutMode: Ref<LayoutMode, LayoutMode>;
240
+ menuExpandMode: Ref<MenuExpandMode, MenuExpandMode>;
241
+ collapsed: Ref<boolean, boolean>;
242
+ fixedHeader: Ref<boolean, boolean>;
243
+ showBreadcrumb: Ref<boolean, boolean>;
244
+ showBreadcrumbIcon: Ref<boolean, boolean>;
245
+ showTagsView: Ref<boolean, boolean>;
246
+ tagsViewHeight: Ref<number, number>;
247
+ tagsViewStyle: Ref<TagsViewStyle, TagsViewStyle>;
248
+ showFooter: Ref<boolean, boolean>;
249
+ sidebarWidth: Ref<number, number>;
250
+ sidebarCollapsedWidth: Ref<number, number>;
251
+ headerHeight: Ref<number, number>;
252
+ enableHotkeys: Ref<boolean, boolean>;
253
+ version: Ref<string, string>;
254
+ borderRadiusValue: ComputedRef<"4px" | "6px" | "8px">;
255
+ transitionName: ComputedRef<"" | "fade-transform" | "fade-slide" | "fade-zoom">;
256
+ shouldEnableTransition: ComputedRef<boolean>;
257
+ settingsState: ComputedRef<SettingsState>;
258
+ syncCSSVariables: () => void;
259
+ applyPreset: (preset: ThemePreset) => Promise<void>;
260
+ resetSettings: () => void;
261
+ updateThemeMode: (mode: ThemeMode) => Promise<void>;
262
+ toggleCollapse: () => void;
263
+ }, "syncCSSVariables" | "applyPreset" | "resetSettings" | "updateThemeMode" | "toggleCollapse">>;
264
+ }): any;
265
+ 'appearance-append'?(_: {
266
+ settings: Store<string, Pick<{
267
+ themeMode: Ref<ThemeMode, ThemeMode>;
268
+ primaryColor: Ref<string, string>;
269
+ borderRadius: Ref<BorderRadiusSize, BorderRadiusSize>;
270
+ transitionType: Ref<TransitionType, TransitionType>;
271
+ enableTransition: Ref<boolean, boolean>;
272
+ layoutMode: Ref<LayoutMode, LayoutMode>;
273
+ menuExpandMode: Ref<MenuExpandMode, MenuExpandMode>;
274
+ collapsed: Ref<boolean, boolean>;
275
+ fixedHeader: Ref<boolean, boolean>;
276
+ showBreadcrumb: Ref<boolean, boolean>;
277
+ showBreadcrumbIcon: Ref<boolean, boolean>;
278
+ showTagsView: Ref<boolean, boolean>;
279
+ tagsViewHeight: Ref<number, number>;
280
+ tagsViewStyle: Ref<TagsViewStyle, TagsViewStyle>;
281
+ showFooter: Ref<boolean, boolean>;
282
+ sidebarWidth: Ref<number, number>;
283
+ sidebarCollapsedWidth: Ref<number, number>;
284
+ headerHeight: Ref<number, number>;
285
+ enableHotkeys: Ref<boolean, boolean>;
286
+ version: Ref<string, string>;
287
+ borderRadiusValue: ComputedRef<"4px" | "6px" | "8px">;
288
+ transitionName: ComputedRef<"" | "fade-transform" | "fade-slide" | "fade-zoom">;
289
+ shouldEnableTransition: ComputedRef<boolean>;
290
+ settingsState: ComputedRef<SettingsState>;
291
+ syncCSSVariables: () => void;
292
+ applyPreset: (preset: ThemePreset) => Promise<void>;
293
+ resetSettings: () => void;
294
+ updateThemeMode: (mode: ThemeMode) => Promise<void>;
295
+ toggleCollapse: () => void;
296
+ }, "themeMode" | "layoutMode" | "primaryColor" | "borderRadius" | "transitionType" | "enableTransition" | "menuExpandMode" | "collapsed" | "fixedHeader" | "showBreadcrumb" | "showBreadcrumbIcon" | "showTagsView" | "tagsViewHeight" | "tagsViewStyle" | "showFooter" | "sidebarWidth" | "sidebarCollapsedWidth" | "headerHeight" | "enableHotkeys" | "version">, Pick<{
297
+ themeMode: Ref<ThemeMode, ThemeMode>;
298
+ primaryColor: Ref<string, string>;
299
+ borderRadius: Ref<BorderRadiusSize, BorderRadiusSize>;
300
+ transitionType: Ref<TransitionType, TransitionType>;
301
+ enableTransition: Ref<boolean, boolean>;
302
+ layoutMode: Ref<LayoutMode, LayoutMode>;
303
+ menuExpandMode: Ref<MenuExpandMode, MenuExpandMode>;
304
+ collapsed: Ref<boolean, boolean>;
305
+ fixedHeader: Ref<boolean, boolean>;
306
+ showBreadcrumb: Ref<boolean, boolean>;
307
+ showBreadcrumbIcon: Ref<boolean, boolean>;
308
+ showTagsView: Ref<boolean, boolean>;
309
+ tagsViewHeight: Ref<number, number>;
310
+ tagsViewStyle: Ref<TagsViewStyle, TagsViewStyle>;
311
+ showFooter: Ref<boolean, boolean>;
312
+ sidebarWidth: Ref<number, number>;
313
+ sidebarCollapsedWidth: Ref<number, number>;
314
+ headerHeight: Ref<number, number>;
315
+ enableHotkeys: Ref<boolean, boolean>;
316
+ version: Ref<string, string>;
317
+ borderRadiusValue: ComputedRef<"4px" | "6px" | "8px">;
318
+ transitionName: ComputedRef<"" | "fade-transform" | "fade-slide" | "fade-zoom">;
319
+ shouldEnableTransition: ComputedRef<boolean>;
320
+ settingsState: ComputedRef<SettingsState>;
321
+ syncCSSVariables: () => void;
322
+ applyPreset: (preset: ThemePreset) => Promise<void>;
323
+ resetSettings: () => void;
324
+ updateThemeMode: (mode: ThemeMode) => Promise<void>;
325
+ toggleCollapse: () => void;
326
+ }, "borderRadiusValue" | "transitionName" | "shouldEnableTransition" | "settingsState">, Pick<{
327
+ themeMode: Ref<ThemeMode, ThemeMode>;
328
+ primaryColor: Ref<string, string>;
329
+ borderRadius: Ref<BorderRadiusSize, BorderRadiusSize>;
330
+ transitionType: Ref<TransitionType, TransitionType>;
331
+ enableTransition: Ref<boolean, boolean>;
332
+ layoutMode: Ref<LayoutMode, LayoutMode>;
333
+ menuExpandMode: Ref<MenuExpandMode, MenuExpandMode>;
334
+ collapsed: Ref<boolean, boolean>;
335
+ fixedHeader: Ref<boolean, boolean>;
336
+ showBreadcrumb: Ref<boolean, boolean>;
337
+ showBreadcrumbIcon: Ref<boolean, boolean>;
338
+ showTagsView: Ref<boolean, boolean>;
339
+ tagsViewHeight: Ref<number, number>;
340
+ tagsViewStyle: Ref<TagsViewStyle, TagsViewStyle>;
341
+ showFooter: Ref<boolean, boolean>;
342
+ sidebarWidth: Ref<number, number>;
343
+ sidebarCollapsedWidth: Ref<number, number>;
344
+ headerHeight: Ref<number, number>;
345
+ enableHotkeys: Ref<boolean, boolean>;
346
+ version: Ref<string, string>;
347
+ borderRadiusValue: ComputedRef<"4px" | "6px" | "8px">;
348
+ transitionName: ComputedRef<"" | "fade-transform" | "fade-slide" | "fade-zoom">;
349
+ shouldEnableTransition: ComputedRef<boolean>;
350
+ settingsState: ComputedRef<SettingsState>;
351
+ syncCSSVariables: () => void;
352
+ applyPreset: (preset: ThemePreset) => Promise<void>;
353
+ resetSettings: () => void;
354
+ updateThemeMode: (mode: ThemeMode) => Promise<void>;
355
+ toggleCollapse: () => void;
356
+ }, "syncCSSVariables" | "applyPreset" | "resetSettings" | "updateThemeMode" | "toggleCollapse">>;
357
+ }): any;
358
+ 'layout-prepend'?(_: {
359
+ settings: Store<string, Pick<{
360
+ themeMode: Ref<ThemeMode, ThemeMode>;
361
+ primaryColor: Ref<string, string>;
362
+ borderRadius: Ref<BorderRadiusSize, BorderRadiusSize>;
363
+ transitionType: Ref<TransitionType, TransitionType>;
364
+ enableTransition: Ref<boolean, boolean>;
365
+ layoutMode: Ref<LayoutMode, LayoutMode>;
366
+ menuExpandMode: Ref<MenuExpandMode, MenuExpandMode>;
367
+ collapsed: Ref<boolean, boolean>;
368
+ fixedHeader: Ref<boolean, boolean>;
369
+ showBreadcrumb: Ref<boolean, boolean>;
370
+ showBreadcrumbIcon: Ref<boolean, boolean>;
371
+ showTagsView: Ref<boolean, boolean>;
372
+ tagsViewHeight: Ref<number, number>;
373
+ tagsViewStyle: Ref<TagsViewStyle, TagsViewStyle>;
374
+ showFooter: Ref<boolean, boolean>;
375
+ sidebarWidth: Ref<number, number>;
376
+ sidebarCollapsedWidth: Ref<number, number>;
377
+ headerHeight: Ref<number, number>;
378
+ enableHotkeys: Ref<boolean, boolean>;
379
+ version: Ref<string, string>;
380
+ borderRadiusValue: ComputedRef<"4px" | "6px" | "8px">;
381
+ transitionName: ComputedRef<"" | "fade-transform" | "fade-slide" | "fade-zoom">;
382
+ shouldEnableTransition: ComputedRef<boolean>;
383
+ settingsState: ComputedRef<SettingsState>;
384
+ syncCSSVariables: () => void;
385
+ applyPreset: (preset: ThemePreset) => Promise<void>;
386
+ resetSettings: () => void;
387
+ updateThemeMode: (mode: ThemeMode) => Promise<void>;
388
+ toggleCollapse: () => void;
389
+ }, "themeMode" | "layoutMode" | "primaryColor" | "borderRadius" | "transitionType" | "enableTransition" | "menuExpandMode" | "collapsed" | "fixedHeader" | "showBreadcrumb" | "showBreadcrumbIcon" | "showTagsView" | "tagsViewHeight" | "tagsViewStyle" | "showFooter" | "sidebarWidth" | "sidebarCollapsedWidth" | "headerHeight" | "enableHotkeys" | "version">, Pick<{
390
+ themeMode: Ref<ThemeMode, ThemeMode>;
391
+ primaryColor: Ref<string, string>;
392
+ borderRadius: Ref<BorderRadiusSize, BorderRadiusSize>;
393
+ transitionType: Ref<TransitionType, TransitionType>;
394
+ enableTransition: Ref<boolean, boolean>;
395
+ layoutMode: Ref<LayoutMode, LayoutMode>;
396
+ menuExpandMode: Ref<MenuExpandMode, MenuExpandMode>;
397
+ collapsed: Ref<boolean, boolean>;
398
+ fixedHeader: Ref<boolean, boolean>;
399
+ showBreadcrumb: Ref<boolean, boolean>;
400
+ showBreadcrumbIcon: Ref<boolean, boolean>;
401
+ showTagsView: Ref<boolean, boolean>;
402
+ tagsViewHeight: Ref<number, number>;
403
+ tagsViewStyle: Ref<TagsViewStyle, TagsViewStyle>;
404
+ showFooter: Ref<boolean, boolean>;
405
+ sidebarWidth: Ref<number, number>;
406
+ sidebarCollapsedWidth: Ref<number, number>;
407
+ headerHeight: Ref<number, number>;
408
+ enableHotkeys: Ref<boolean, boolean>;
409
+ version: Ref<string, string>;
410
+ borderRadiusValue: ComputedRef<"4px" | "6px" | "8px">;
411
+ transitionName: ComputedRef<"" | "fade-transform" | "fade-slide" | "fade-zoom">;
412
+ shouldEnableTransition: ComputedRef<boolean>;
413
+ settingsState: ComputedRef<SettingsState>;
414
+ syncCSSVariables: () => void;
415
+ applyPreset: (preset: ThemePreset) => Promise<void>;
416
+ resetSettings: () => void;
417
+ updateThemeMode: (mode: ThemeMode) => Promise<void>;
418
+ toggleCollapse: () => void;
419
+ }, "borderRadiusValue" | "transitionName" | "shouldEnableTransition" | "settingsState">, Pick<{
420
+ themeMode: Ref<ThemeMode, ThemeMode>;
421
+ primaryColor: Ref<string, string>;
422
+ borderRadius: Ref<BorderRadiusSize, BorderRadiusSize>;
423
+ transitionType: Ref<TransitionType, TransitionType>;
424
+ enableTransition: Ref<boolean, boolean>;
425
+ layoutMode: Ref<LayoutMode, LayoutMode>;
426
+ menuExpandMode: Ref<MenuExpandMode, MenuExpandMode>;
427
+ collapsed: Ref<boolean, boolean>;
428
+ fixedHeader: Ref<boolean, boolean>;
429
+ showBreadcrumb: Ref<boolean, boolean>;
430
+ showBreadcrumbIcon: Ref<boolean, boolean>;
431
+ showTagsView: Ref<boolean, boolean>;
432
+ tagsViewHeight: Ref<number, number>;
433
+ tagsViewStyle: Ref<TagsViewStyle, TagsViewStyle>;
434
+ showFooter: Ref<boolean, boolean>;
435
+ sidebarWidth: Ref<number, number>;
436
+ sidebarCollapsedWidth: Ref<number, number>;
437
+ headerHeight: Ref<number, number>;
438
+ enableHotkeys: Ref<boolean, boolean>;
439
+ version: Ref<string, string>;
440
+ borderRadiusValue: ComputedRef<"4px" | "6px" | "8px">;
441
+ transitionName: ComputedRef<"" | "fade-transform" | "fade-slide" | "fade-zoom">;
442
+ shouldEnableTransition: ComputedRef<boolean>;
443
+ settingsState: ComputedRef<SettingsState>;
444
+ syncCSSVariables: () => void;
445
+ applyPreset: (preset: ThemePreset) => Promise<void>;
446
+ resetSettings: () => void;
447
+ updateThemeMode: (mode: ThemeMode) => Promise<void>;
448
+ toggleCollapse: () => void;
449
+ }, "syncCSSVariables" | "applyPreset" | "resetSettings" | "updateThemeMode" | "toggleCollapse">>;
450
+ }): any;
451
+ 'layout-after-mode'?(_: {
452
+ settings: Store<string, Pick<{
453
+ themeMode: Ref<ThemeMode, ThemeMode>;
454
+ primaryColor: Ref<string, string>;
455
+ borderRadius: Ref<BorderRadiusSize, BorderRadiusSize>;
456
+ transitionType: Ref<TransitionType, TransitionType>;
457
+ enableTransition: Ref<boolean, boolean>;
458
+ layoutMode: Ref<LayoutMode, LayoutMode>;
459
+ menuExpandMode: Ref<MenuExpandMode, MenuExpandMode>;
460
+ collapsed: Ref<boolean, boolean>;
461
+ fixedHeader: Ref<boolean, boolean>;
462
+ showBreadcrumb: Ref<boolean, boolean>;
463
+ showBreadcrumbIcon: Ref<boolean, boolean>;
464
+ showTagsView: Ref<boolean, boolean>;
465
+ tagsViewHeight: Ref<number, number>;
466
+ tagsViewStyle: Ref<TagsViewStyle, TagsViewStyle>;
467
+ showFooter: Ref<boolean, boolean>;
468
+ sidebarWidth: Ref<number, number>;
469
+ sidebarCollapsedWidth: Ref<number, number>;
470
+ headerHeight: Ref<number, number>;
471
+ enableHotkeys: Ref<boolean, boolean>;
472
+ version: Ref<string, string>;
473
+ borderRadiusValue: ComputedRef<"4px" | "6px" | "8px">;
474
+ transitionName: ComputedRef<"" | "fade-transform" | "fade-slide" | "fade-zoom">;
475
+ shouldEnableTransition: ComputedRef<boolean>;
476
+ settingsState: ComputedRef<SettingsState>;
477
+ syncCSSVariables: () => void;
478
+ applyPreset: (preset: ThemePreset) => Promise<void>;
479
+ resetSettings: () => void;
480
+ updateThemeMode: (mode: ThemeMode) => Promise<void>;
481
+ toggleCollapse: () => void;
482
+ }, "themeMode" | "layoutMode" | "primaryColor" | "borderRadius" | "transitionType" | "enableTransition" | "menuExpandMode" | "collapsed" | "fixedHeader" | "showBreadcrumb" | "showBreadcrumbIcon" | "showTagsView" | "tagsViewHeight" | "tagsViewStyle" | "showFooter" | "sidebarWidth" | "sidebarCollapsedWidth" | "headerHeight" | "enableHotkeys" | "version">, Pick<{
483
+ themeMode: Ref<ThemeMode, ThemeMode>;
484
+ primaryColor: Ref<string, string>;
485
+ borderRadius: Ref<BorderRadiusSize, BorderRadiusSize>;
486
+ transitionType: Ref<TransitionType, TransitionType>;
487
+ enableTransition: Ref<boolean, boolean>;
488
+ layoutMode: Ref<LayoutMode, LayoutMode>;
489
+ menuExpandMode: Ref<MenuExpandMode, MenuExpandMode>;
490
+ collapsed: Ref<boolean, boolean>;
491
+ fixedHeader: Ref<boolean, boolean>;
492
+ showBreadcrumb: Ref<boolean, boolean>;
493
+ showBreadcrumbIcon: Ref<boolean, boolean>;
494
+ showTagsView: Ref<boolean, boolean>;
495
+ tagsViewHeight: Ref<number, number>;
496
+ tagsViewStyle: Ref<TagsViewStyle, TagsViewStyle>;
497
+ showFooter: Ref<boolean, boolean>;
498
+ sidebarWidth: Ref<number, number>;
499
+ sidebarCollapsedWidth: Ref<number, number>;
500
+ headerHeight: Ref<number, number>;
501
+ enableHotkeys: Ref<boolean, boolean>;
502
+ version: Ref<string, string>;
503
+ borderRadiusValue: ComputedRef<"4px" | "6px" | "8px">;
504
+ transitionName: ComputedRef<"" | "fade-transform" | "fade-slide" | "fade-zoom">;
505
+ shouldEnableTransition: ComputedRef<boolean>;
506
+ settingsState: ComputedRef<SettingsState>;
507
+ syncCSSVariables: () => void;
508
+ applyPreset: (preset: ThemePreset) => Promise<void>;
509
+ resetSettings: () => void;
510
+ updateThemeMode: (mode: ThemeMode) => Promise<void>;
511
+ toggleCollapse: () => void;
512
+ }, "borderRadiusValue" | "transitionName" | "shouldEnableTransition" | "settingsState">, Pick<{
513
+ themeMode: Ref<ThemeMode, ThemeMode>;
514
+ primaryColor: Ref<string, string>;
515
+ borderRadius: Ref<BorderRadiusSize, BorderRadiusSize>;
516
+ transitionType: Ref<TransitionType, TransitionType>;
517
+ enableTransition: Ref<boolean, boolean>;
518
+ layoutMode: Ref<LayoutMode, LayoutMode>;
519
+ menuExpandMode: Ref<MenuExpandMode, MenuExpandMode>;
520
+ collapsed: Ref<boolean, boolean>;
521
+ fixedHeader: Ref<boolean, boolean>;
522
+ showBreadcrumb: Ref<boolean, boolean>;
523
+ showBreadcrumbIcon: Ref<boolean, boolean>;
524
+ showTagsView: Ref<boolean, boolean>;
525
+ tagsViewHeight: Ref<number, number>;
526
+ tagsViewStyle: Ref<TagsViewStyle, TagsViewStyle>;
527
+ showFooter: Ref<boolean, boolean>;
528
+ sidebarWidth: Ref<number, number>;
529
+ sidebarCollapsedWidth: Ref<number, number>;
530
+ headerHeight: Ref<number, number>;
531
+ enableHotkeys: Ref<boolean, boolean>;
532
+ version: Ref<string, string>;
533
+ borderRadiusValue: ComputedRef<"4px" | "6px" | "8px">;
534
+ transitionName: ComputedRef<"" | "fade-transform" | "fade-slide" | "fade-zoom">;
535
+ shouldEnableTransition: ComputedRef<boolean>;
536
+ settingsState: ComputedRef<SettingsState>;
537
+ syncCSSVariables: () => void;
538
+ applyPreset: (preset: ThemePreset) => Promise<void>;
539
+ resetSettings: () => void;
540
+ updateThemeMode: (mode: ThemeMode) => Promise<void>;
541
+ toggleCollapse: () => void;
542
+ }, "syncCSSVariables" | "applyPreset" | "resetSettings" | "updateThemeMode" | "toggleCollapse">>;
543
+ }): any;
544
+ 'layout-append'?(_: {
545
+ settings: Store<string, Pick<{
546
+ themeMode: Ref<ThemeMode, ThemeMode>;
547
+ primaryColor: Ref<string, string>;
548
+ borderRadius: Ref<BorderRadiusSize, BorderRadiusSize>;
549
+ transitionType: Ref<TransitionType, TransitionType>;
550
+ enableTransition: Ref<boolean, boolean>;
551
+ layoutMode: Ref<LayoutMode, LayoutMode>;
552
+ menuExpandMode: Ref<MenuExpandMode, MenuExpandMode>;
553
+ collapsed: Ref<boolean, boolean>;
554
+ fixedHeader: Ref<boolean, boolean>;
555
+ showBreadcrumb: Ref<boolean, boolean>;
556
+ showBreadcrumbIcon: Ref<boolean, boolean>;
557
+ showTagsView: Ref<boolean, boolean>;
558
+ tagsViewHeight: Ref<number, number>;
559
+ tagsViewStyle: Ref<TagsViewStyle, TagsViewStyle>;
560
+ showFooter: Ref<boolean, boolean>;
561
+ sidebarWidth: Ref<number, number>;
562
+ sidebarCollapsedWidth: Ref<number, number>;
563
+ headerHeight: Ref<number, number>;
564
+ enableHotkeys: Ref<boolean, boolean>;
565
+ version: Ref<string, string>;
566
+ borderRadiusValue: ComputedRef<"4px" | "6px" | "8px">;
567
+ transitionName: ComputedRef<"" | "fade-transform" | "fade-slide" | "fade-zoom">;
568
+ shouldEnableTransition: ComputedRef<boolean>;
569
+ settingsState: ComputedRef<SettingsState>;
570
+ syncCSSVariables: () => void;
571
+ applyPreset: (preset: ThemePreset) => Promise<void>;
572
+ resetSettings: () => void;
573
+ updateThemeMode: (mode: ThemeMode) => Promise<void>;
574
+ toggleCollapse: () => void;
575
+ }, "themeMode" | "layoutMode" | "primaryColor" | "borderRadius" | "transitionType" | "enableTransition" | "menuExpandMode" | "collapsed" | "fixedHeader" | "showBreadcrumb" | "showBreadcrumbIcon" | "showTagsView" | "tagsViewHeight" | "tagsViewStyle" | "showFooter" | "sidebarWidth" | "sidebarCollapsedWidth" | "headerHeight" | "enableHotkeys" | "version">, Pick<{
576
+ themeMode: Ref<ThemeMode, ThemeMode>;
577
+ primaryColor: Ref<string, string>;
578
+ borderRadius: Ref<BorderRadiusSize, BorderRadiusSize>;
579
+ transitionType: Ref<TransitionType, TransitionType>;
580
+ enableTransition: Ref<boolean, boolean>;
581
+ layoutMode: Ref<LayoutMode, LayoutMode>;
582
+ menuExpandMode: Ref<MenuExpandMode, MenuExpandMode>;
583
+ collapsed: Ref<boolean, boolean>;
584
+ fixedHeader: Ref<boolean, boolean>;
585
+ showBreadcrumb: Ref<boolean, boolean>;
586
+ showBreadcrumbIcon: Ref<boolean, boolean>;
587
+ showTagsView: Ref<boolean, boolean>;
588
+ tagsViewHeight: Ref<number, number>;
589
+ tagsViewStyle: Ref<TagsViewStyle, TagsViewStyle>;
590
+ showFooter: Ref<boolean, boolean>;
591
+ sidebarWidth: Ref<number, number>;
592
+ sidebarCollapsedWidth: Ref<number, number>;
593
+ headerHeight: Ref<number, number>;
594
+ enableHotkeys: Ref<boolean, boolean>;
595
+ version: Ref<string, string>;
596
+ borderRadiusValue: ComputedRef<"4px" | "6px" | "8px">;
597
+ transitionName: ComputedRef<"" | "fade-transform" | "fade-slide" | "fade-zoom">;
598
+ shouldEnableTransition: ComputedRef<boolean>;
599
+ settingsState: ComputedRef<SettingsState>;
600
+ syncCSSVariables: () => void;
601
+ applyPreset: (preset: ThemePreset) => Promise<void>;
602
+ resetSettings: () => void;
603
+ updateThemeMode: (mode: ThemeMode) => Promise<void>;
604
+ toggleCollapse: () => void;
605
+ }, "borderRadiusValue" | "transitionName" | "shouldEnableTransition" | "settingsState">, Pick<{
606
+ themeMode: Ref<ThemeMode, ThemeMode>;
607
+ primaryColor: Ref<string, string>;
608
+ borderRadius: Ref<BorderRadiusSize, BorderRadiusSize>;
609
+ transitionType: Ref<TransitionType, TransitionType>;
610
+ enableTransition: Ref<boolean, boolean>;
611
+ layoutMode: Ref<LayoutMode, LayoutMode>;
612
+ menuExpandMode: Ref<MenuExpandMode, MenuExpandMode>;
613
+ collapsed: Ref<boolean, boolean>;
614
+ fixedHeader: Ref<boolean, boolean>;
615
+ showBreadcrumb: Ref<boolean, boolean>;
616
+ showBreadcrumbIcon: Ref<boolean, boolean>;
617
+ showTagsView: Ref<boolean, boolean>;
618
+ tagsViewHeight: Ref<number, number>;
619
+ tagsViewStyle: Ref<TagsViewStyle, TagsViewStyle>;
620
+ showFooter: Ref<boolean, boolean>;
621
+ sidebarWidth: Ref<number, number>;
622
+ sidebarCollapsedWidth: Ref<number, number>;
623
+ headerHeight: Ref<number, number>;
624
+ enableHotkeys: Ref<boolean, boolean>;
625
+ version: Ref<string, string>;
626
+ borderRadiusValue: ComputedRef<"4px" | "6px" | "8px">;
627
+ transitionName: ComputedRef<"" | "fade-transform" | "fade-slide" | "fade-zoom">;
628
+ shouldEnableTransition: ComputedRef<boolean>;
629
+ settingsState: ComputedRef<SettingsState>;
630
+ syncCSSVariables: () => void;
631
+ applyPreset: (preset: ThemePreset) => Promise<void>;
632
+ resetSettings: () => void;
633
+ updateThemeMode: (mode: ThemeMode) => Promise<void>;
634
+ toggleCollapse: () => void;
635
+ }, "syncCSSVariables" | "applyPreset" | "resetSettings" | "updateThemeMode" | "toggleCollapse">>;
636
+ }): any;
637
+ 'features-prepend'?(_: {
638
+ settings: Store<string, Pick<{
639
+ themeMode: Ref<ThemeMode, ThemeMode>;
640
+ primaryColor: Ref<string, string>;
641
+ borderRadius: Ref<BorderRadiusSize, BorderRadiusSize>;
642
+ transitionType: Ref<TransitionType, TransitionType>;
643
+ enableTransition: Ref<boolean, boolean>;
644
+ layoutMode: Ref<LayoutMode, LayoutMode>;
645
+ menuExpandMode: Ref<MenuExpandMode, MenuExpandMode>;
646
+ collapsed: Ref<boolean, boolean>;
647
+ fixedHeader: Ref<boolean, boolean>;
648
+ showBreadcrumb: Ref<boolean, boolean>;
649
+ showBreadcrumbIcon: Ref<boolean, boolean>;
650
+ showTagsView: Ref<boolean, boolean>;
651
+ tagsViewHeight: Ref<number, number>;
652
+ tagsViewStyle: Ref<TagsViewStyle, TagsViewStyle>;
653
+ showFooter: Ref<boolean, boolean>;
654
+ sidebarWidth: Ref<number, number>;
655
+ sidebarCollapsedWidth: Ref<number, number>;
656
+ headerHeight: Ref<number, number>;
657
+ enableHotkeys: Ref<boolean, boolean>;
658
+ version: Ref<string, string>;
659
+ borderRadiusValue: ComputedRef<"4px" | "6px" | "8px">;
660
+ transitionName: ComputedRef<"" | "fade-transform" | "fade-slide" | "fade-zoom">;
661
+ shouldEnableTransition: ComputedRef<boolean>;
662
+ settingsState: ComputedRef<SettingsState>;
663
+ syncCSSVariables: () => void;
664
+ applyPreset: (preset: ThemePreset) => Promise<void>;
665
+ resetSettings: () => void;
666
+ updateThemeMode: (mode: ThemeMode) => Promise<void>;
667
+ toggleCollapse: () => void;
668
+ }, "themeMode" | "layoutMode" | "primaryColor" | "borderRadius" | "transitionType" | "enableTransition" | "menuExpandMode" | "collapsed" | "fixedHeader" | "showBreadcrumb" | "showBreadcrumbIcon" | "showTagsView" | "tagsViewHeight" | "tagsViewStyle" | "showFooter" | "sidebarWidth" | "sidebarCollapsedWidth" | "headerHeight" | "enableHotkeys" | "version">, Pick<{
669
+ themeMode: Ref<ThemeMode, ThemeMode>;
670
+ primaryColor: Ref<string, string>;
671
+ borderRadius: Ref<BorderRadiusSize, BorderRadiusSize>;
672
+ transitionType: Ref<TransitionType, TransitionType>;
673
+ enableTransition: Ref<boolean, boolean>;
674
+ layoutMode: Ref<LayoutMode, LayoutMode>;
675
+ menuExpandMode: Ref<MenuExpandMode, MenuExpandMode>;
676
+ collapsed: Ref<boolean, boolean>;
677
+ fixedHeader: Ref<boolean, boolean>;
678
+ showBreadcrumb: Ref<boolean, boolean>;
679
+ showBreadcrumbIcon: Ref<boolean, boolean>;
680
+ showTagsView: Ref<boolean, boolean>;
681
+ tagsViewHeight: Ref<number, number>;
682
+ tagsViewStyle: Ref<TagsViewStyle, TagsViewStyle>;
683
+ showFooter: Ref<boolean, boolean>;
684
+ sidebarWidth: Ref<number, number>;
685
+ sidebarCollapsedWidth: Ref<number, number>;
686
+ headerHeight: Ref<number, number>;
687
+ enableHotkeys: Ref<boolean, boolean>;
688
+ version: Ref<string, string>;
689
+ borderRadiusValue: ComputedRef<"4px" | "6px" | "8px">;
690
+ transitionName: ComputedRef<"" | "fade-transform" | "fade-slide" | "fade-zoom">;
691
+ shouldEnableTransition: ComputedRef<boolean>;
692
+ settingsState: ComputedRef<SettingsState>;
693
+ syncCSSVariables: () => void;
694
+ applyPreset: (preset: ThemePreset) => Promise<void>;
695
+ resetSettings: () => void;
696
+ updateThemeMode: (mode: ThemeMode) => Promise<void>;
697
+ toggleCollapse: () => void;
698
+ }, "borderRadiusValue" | "transitionName" | "shouldEnableTransition" | "settingsState">, Pick<{
699
+ themeMode: Ref<ThemeMode, ThemeMode>;
700
+ primaryColor: Ref<string, string>;
701
+ borderRadius: Ref<BorderRadiusSize, BorderRadiusSize>;
702
+ transitionType: Ref<TransitionType, TransitionType>;
703
+ enableTransition: Ref<boolean, boolean>;
704
+ layoutMode: Ref<LayoutMode, LayoutMode>;
705
+ menuExpandMode: Ref<MenuExpandMode, MenuExpandMode>;
706
+ collapsed: Ref<boolean, boolean>;
707
+ fixedHeader: Ref<boolean, boolean>;
708
+ showBreadcrumb: Ref<boolean, boolean>;
709
+ showBreadcrumbIcon: Ref<boolean, boolean>;
710
+ showTagsView: Ref<boolean, boolean>;
711
+ tagsViewHeight: Ref<number, number>;
712
+ tagsViewStyle: Ref<TagsViewStyle, TagsViewStyle>;
713
+ showFooter: Ref<boolean, boolean>;
714
+ sidebarWidth: Ref<number, number>;
715
+ sidebarCollapsedWidth: Ref<number, number>;
716
+ headerHeight: Ref<number, number>;
717
+ enableHotkeys: Ref<boolean, boolean>;
718
+ version: Ref<string, string>;
719
+ borderRadiusValue: ComputedRef<"4px" | "6px" | "8px">;
720
+ transitionName: ComputedRef<"" | "fade-transform" | "fade-slide" | "fade-zoom">;
721
+ shouldEnableTransition: ComputedRef<boolean>;
722
+ settingsState: ComputedRef<SettingsState>;
723
+ syncCSSVariables: () => void;
724
+ applyPreset: (preset: ThemePreset) => Promise<void>;
725
+ resetSettings: () => void;
726
+ updateThemeMode: (mode: ThemeMode) => Promise<void>;
727
+ toggleCollapse: () => void;
728
+ }, "syncCSSVariables" | "applyPreset" | "resetSettings" | "updateThemeMode" | "toggleCollapse">>;
729
+ }): any;
730
+ 'features-append'?(_: {
731
+ settings: Store<string, Pick<{
732
+ themeMode: Ref<ThemeMode, ThemeMode>;
733
+ primaryColor: Ref<string, string>;
734
+ borderRadius: Ref<BorderRadiusSize, BorderRadiusSize>;
735
+ transitionType: Ref<TransitionType, TransitionType>;
736
+ enableTransition: Ref<boolean, boolean>;
737
+ layoutMode: Ref<LayoutMode, LayoutMode>;
738
+ menuExpandMode: Ref<MenuExpandMode, MenuExpandMode>;
739
+ collapsed: Ref<boolean, boolean>;
740
+ fixedHeader: Ref<boolean, boolean>;
741
+ showBreadcrumb: Ref<boolean, boolean>;
742
+ showBreadcrumbIcon: Ref<boolean, boolean>;
743
+ showTagsView: Ref<boolean, boolean>;
744
+ tagsViewHeight: Ref<number, number>;
745
+ tagsViewStyle: Ref<TagsViewStyle, TagsViewStyle>;
746
+ showFooter: Ref<boolean, boolean>;
747
+ sidebarWidth: Ref<number, number>;
748
+ sidebarCollapsedWidth: Ref<number, number>;
749
+ headerHeight: Ref<number, number>;
750
+ enableHotkeys: Ref<boolean, boolean>;
751
+ version: Ref<string, string>;
752
+ borderRadiusValue: ComputedRef<"4px" | "6px" | "8px">;
753
+ transitionName: ComputedRef<"" | "fade-transform" | "fade-slide" | "fade-zoom">;
754
+ shouldEnableTransition: ComputedRef<boolean>;
755
+ settingsState: ComputedRef<SettingsState>;
756
+ syncCSSVariables: () => void;
757
+ applyPreset: (preset: ThemePreset) => Promise<void>;
758
+ resetSettings: () => void;
759
+ updateThemeMode: (mode: ThemeMode) => Promise<void>;
760
+ toggleCollapse: () => void;
761
+ }, "themeMode" | "layoutMode" | "primaryColor" | "borderRadius" | "transitionType" | "enableTransition" | "menuExpandMode" | "collapsed" | "fixedHeader" | "showBreadcrumb" | "showBreadcrumbIcon" | "showTagsView" | "tagsViewHeight" | "tagsViewStyle" | "showFooter" | "sidebarWidth" | "sidebarCollapsedWidth" | "headerHeight" | "enableHotkeys" | "version">, Pick<{
762
+ themeMode: Ref<ThemeMode, ThemeMode>;
763
+ primaryColor: Ref<string, string>;
764
+ borderRadius: Ref<BorderRadiusSize, BorderRadiusSize>;
765
+ transitionType: Ref<TransitionType, TransitionType>;
766
+ enableTransition: Ref<boolean, boolean>;
767
+ layoutMode: Ref<LayoutMode, LayoutMode>;
768
+ menuExpandMode: Ref<MenuExpandMode, MenuExpandMode>;
769
+ collapsed: Ref<boolean, boolean>;
770
+ fixedHeader: Ref<boolean, boolean>;
771
+ showBreadcrumb: Ref<boolean, boolean>;
772
+ showBreadcrumbIcon: Ref<boolean, boolean>;
773
+ showTagsView: Ref<boolean, boolean>;
774
+ tagsViewHeight: Ref<number, number>;
775
+ tagsViewStyle: Ref<TagsViewStyle, TagsViewStyle>;
776
+ showFooter: Ref<boolean, boolean>;
777
+ sidebarWidth: Ref<number, number>;
778
+ sidebarCollapsedWidth: Ref<number, number>;
779
+ headerHeight: Ref<number, number>;
780
+ enableHotkeys: Ref<boolean, boolean>;
781
+ version: Ref<string, string>;
782
+ borderRadiusValue: ComputedRef<"4px" | "6px" | "8px">;
783
+ transitionName: ComputedRef<"" | "fade-transform" | "fade-slide" | "fade-zoom">;
784
+ shouldEnableTransition: ComputedRef<boolean>;
785
+ settingsState: ComputedRef<SettingsState>;
786
+ syncCSSVariables: () => void;
787
+ applyPreset: (preset: ThemePreset) => Promise<void>;
788
+ resetSettings: () => void;
789
+ updateThemeMode: (mode: ThemeMode) => Promise<void>;
790
+ toggleCollapse: () => void;
791
+ }, "borderRadiusValue" | "transitionName" | "shouldEnableTransition" | "settingsState">, Pick<{
792
+ themeMode: Ref<ThemeMode, ThemeMode>;
793
+ primaryColor: Ref<string, string>;
794
+ borderRadius: Ref<BorderRadiusSize, BorderRadiusSize>;
795
+ transitionType: Ref<TransitionType, TransitionType>;
796
+ enableTransition: Ref<boolean, boolean>;
797
+ layoutMode: Ref<LayoutMode, LayoutMode>;
798
+ menuExpandMode: Ref<MenuExpandMode, MenuExpandMode>;
799
+ collapsed: Ref<boolean, boolean>;
800
+ fixedHeader: Ref<boolean, boolean>;
801
+ showBreadcrumb: Ref<boolean, boolean>;
802
+ showBreadcrumbIcon: Ref<boolean, boolean>;
803
+ showTagsView: Ref<boolean, boolean>;
804
+ tagsViewHeight: Ref<number, number>;
805
+ tagsViewStyle: Ref<TagsViewStyle, TagsViewStyle>;
806
+ showFooter: Ref<boolean, boolean>;
807
+ sidebarWidth: Ref<number, number>;
808
+ sidebarCollapsedWidth: Ref<number, number>;
809
+ headerHeight: Ref<number, number>;
810
+ enableHotkeys: Ref<boolean, boolean>;
811
+ version: Ref<string, string>;
812
+ borderRadiusValue: ComputedRef<"4px" | "6px" | "8px">;
813
+ transitionName: ComputedRef<"" | "fade-transform" | "fade-slide" | "fade-zoom">;
814
+ shouldEnableTransition: ComputedRef<boolean>;
815
+ settingsState: ComputedRef<SettingsState>;
816
+ syncCSSVariables: () => void;
817
+ applyPreset: (preset: ThemePreset) => Promise<void>;
818
+ resetSettings: () => void;
819
+ updateThemeMode: (mode: ThemeMode) => Promise<void>;
820
+ toggleCollapse: () => void;
821
+ }, "syncCSSVariables" | "applyPreset" | "resetSettings" | "updateThemeMode" | "toggleCollapse">>;
822
+ }): any;
823
+ };
824
+ refs: {};
825
+ rootEl: any;
826
+ };
827
+
828
+ declare function __VLS_template_3(): {
829
+ attrs: Partial<{}>;
830
+ slots: {
831
+ logo?(_: {}): any;
832
+ menu?(_: {
833
+ collapsed: boolean;
834
+ }): any;
835
+ header?(_: {}): any;
836
+ footer?(_: {}): any;
837
+ };
838
+ refs: {};
839
+ rootEl: any;
840
+ };
841
+
842
+ declare function __VLS_template_4(): {
843
+ attrs: Partial<{}>;
844
+ slots: {
845
+ logo?(_: {}): any;
846
+ menu?(_: {}): any;
847
+ 'header-extra'?(_: {}): any;
848
+ 'tags-view'?(_: {}): any;
849
+ footer?(_: {}): any;
850
+ };
851
+ refs: {};
852
+ rootEl: HTMLDivElement;
853
+ };
854
+
855
+ declare function __VLS_template_5(): {
856
+ attrs: Partial<{}>;
857
+ slots: {
858
+ logo?(_: {}): any;
859
+ header?(_: {}): any;
860
+ footer?(_: {}): any;
861
+ };
862
+ refs: {};
863
+ rootEl: HTMLDivElement;
864
+ };
865
+
866
+ declare function __VLS_template_6(): {
867
+ attrs: Partial<{}>;
868
+ slots: {
869
+ logo?(_: {}): any;
870
+ brand?(_: {}): any;
871
+ 'top-menu'?(_: {}): any;
872
+ 'header-extra'?(_: {}): any;
873
+ 'tags-view'?(_: {}): any;
874
+ footer?(_: {}): any;
875
+ };
876
+ refs: {};
877
+ rootEl: HTMLDivElement;
878
+ };
879
+
880
+ declare function __VLS_template_7(): {
881
+ attrs: Partial<{}>;
882
+ slots: {
883
+ logo?(_: {}): any;
884
+ 'top-menu'?(_: {}): any;
885
+ 'header-extra'?(_: {}): any;
886
+ 'tags-view'?(_: {}): any;
887
+ footer?(_: {}): any;
888
+ };
889
+ refs: {};
890
+ rootEl: HTMLDivElement;
891
+ };
892
+
893
+ declare function __VLS_template_8(): {
894
+ attrs: Partial<{}>;
895
+ slots: {
896
+ 'menu-trigger'?(_: {}): any;
897
+ logo?(_: {}): any;
898
+ 'header-extra'?(_: {}): any;
899
+ 'tags-view'?(_: {}): any;
900
+ 'drawer-menu'?(_: {}): any;
901
+ footer?(_: {}): any;
902
+ };
903
+ refs: {};
904
+ rootEl: HTMLDivElement;
905
+ };
906
+
907
+ declare type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
908
+
909
+ declare type __VLS_TemplateResult_2 = ReturnType<typeof __VLS_template_2>;
910
+
911
+ declare type __VLS_TemplateResult_3 = ReturnType<typeof __VLS_template_3>;
912
+
913
+ declare type __VLS_TemplateResult_4 = ReturnType<typeof __VLS_template_4>;
914
+
915
+ declare type __VLS_TemplateResult_5 = ReturnType<typeof __VLS_template_5>;
916
+
917
+ declare type __VLS_TemplateResult_6 = ReturnType<typeof __VLS_template_6>;
918
+
919
+ declare type __VLS_TemplateResult_7 = ReturnType<typeof __VLS_template_7>;
920
+
921
+ declare type __VLS_TemplateResult_8 = ReturnType<typeof __VLS_template_8>;
922
+
923
+ declare type __VLS_WithTemplateSlots<T, S> = T & {
924
+ new (): {
925
+ $slots: S;
926
+ };
927
+ };
928
+
929
+ declare type __VLS_WithTemplateSlots_2<T, S> = T & {
930
+ new (): {
931
+ $slots: S;
932
+ };
933
+ };
934
+
935
+ declare type __VLS_WithTemplateSlots_3<T, S> = T & {
936
+ new (): {
937
+ $slots: S;
938
+ };
939
+ };
940
+
941
+ declare type __VLS_WithTemplateSlots_4<T, S> = T & {
942
+ new (): {
943
+ $slots: S;
944
+ };
945
+ };
946
+
947
+ declare type __VLS_WithTemplateSlots_5<T, S> = T & {
948
+ new (): {
949
+ $slots: S;
950
+ };
951
+ };
952
+
953
+ declare type __VLS_WithTemplateSlots_6<T, S> = T & {
954
+ new (): {
955
+ $slots: S;
956
+ };
957
+ };
958
+
959
+ declare type __VLS_WithTemplateSlots_7<T, S> = T & {
960
+ new (): {
961
+ $slots: S;
962
+ };
963
+ };
964
+
965
+ declare type __VLS_WithTemplateSlots_8<T, S> = T & {
966
+ new (): {
967
+ $slots: S;
968
+ };
969
+ };
970
+
971
+ /**
972
+ * 调整颜色亮度。
973
+ * @returns 调整后的 #rrggbb;输入非法时原样返回。
974
+ */
975
+ export declare function adjustColor(color: string, amount: number): string;
976
+
977
+ export declare const BORDER_RADIUS_MAP: {
978
+ readonly small: "4px";
979
+ readonly medium: "6px";
980
+ readonly large: "8px";
981
+ };
982
+
983
+ /** 圆角大小。 */
984
+ export declare type BorderRadiusSize = "small" | "medium" | "large";
985
+
986
+ export declare const BrandLogo: DefineComponent<__VLS_Props_2, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_2> & Readonly<{}>, {
987
+ collapsed: boolean;
988
+ size: number;
989
+ showName: boolean;
990
+ showDivider: boolean;
991
+ variant: "vertical" | "horizontal";
992
+ }, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLDivElement>;
993
+
994
+ /** @deprecated 请使用 CardLayout;该别名计划在 4.0 移除。 */
995
+ export declare const C_CardLayout: {
996
+ new (...args: any[]): CreateComponentPublicInstanceWithMixins<Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, PublicProps, {}, true, {}, {}, GlobalComponents, GlobalDirectives, string, {}, HTMLDivElement, ComponentProvideOptions, {
997
+ P: {};
998
+ B: {};
999
+ D: {};
1000
+ C: {};
1001
+ M: {};
1002
+ Defaults: {};
1003
+ }, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, {}>;
1004
+ __isFragment?: never;
1005
+ __isTeleport?: never;
1006
+ __isSuspense?: never;
1007
+ } & ComponentOptionsBase<Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, {}, {}, string, {}, GlobalComponents, GlobalDirectives, string, ComponentProvideOptions> & VNodeProps & AllowedComponentProps & ComponentCustomProps & (new () => {
1008
+ $slots: {
1009
+ 'menu-trigger'?(_: {}): any;
1010
+ logo?(_: {}): any;
1011
+ 'header-extra'?(_: {}): any;
1012
+ 'tags-view'?(_: {}): any;
1013
+ 'drawer-menu'?(_: {}): any;
1014
+ footer?(_: {}): any;
1015
+ };
1016
+ });
1017
+
1018
+ export declare const C_LayoutContainer: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
1019
+
1020
+ /** @deprecated 请使用 MixLayout;该别名计划在 4.0 移除。 */
1021
+ export declare const C_MixLayout: {
1022
+ new (...args: any[]): CreateComponentPublicInstanceWithMixins<Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, PublicProps, {}, true, {}, {}, GlobalComponents, GlobalDirectives, string, {}, HTMLDivElement, ComponentProvideOptions, {
1023
+ P: {};
1024
+ B: {};
1025
+ D: {};
1026
+ C: {};
1027
+ M: {};
1028
+ Defaults: {};
1029
+ }, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, {}>;
1030
+ __isFragment?: never;
1031
+ __isTeleport?: never;
1032
+ __isSuspense?: never;
1033
+ } & ComponentOptionsBase<Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, {}, {}, string, {}, GlobalComponents, GlobalDirectives, string, ComponentProvideOptions> & VNodeProps & AllowedComponentProps & ComponentCustomProps & (new () => {
1034
+ $slots: {
1035
+ logo?(_: {}): any;
1036
+ header?(_: {}): any;
1037
+ footer?(_: {}): any;
1038
+ };
1039
+ });
1040
+
1041
+ /** @deprecated 请使用 MixTopLayout;该别名计划在 4.0 移除。 */
1042
+ export declare const C_MixTopLayout: {
1043
+ new (...args: any[]): CreateComponentPublicInstanceWithMixins<Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, PublicProps, {}, true, {}, {}, GlobalComponents, GlobalDirectives, string, {}, HTMLDivElement, ComponentProvideOptions, {
1044
+ P: {};
1045
+ B: {};
1046
+ D: {};
1047
+ C: {};
1048
+ M: {};
1049
+ Defaults: {};
1050
+ }, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, {}>;
1051
+ __isFragment?: never;
1052
+ __isTeleport?: never;
1053
+ __isSuspense?: never;
1054
+ } & ComponentOptionsBase<Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, {}, {}, string, {}, GlobalComponents, GlobalDirectives, string, ComponentProvideOptions> & VNodeProps & AllowedComponentProps & ComponentCustomProps & (new () => {
1055
+ $slots: {
1056
+ logo?(_: {}): any;
1057
+ brand?(_: {}): any;
1058
+ 'top-menu'?(_: {}): any;
1059
+ 'header-extra'?(_: {}): any;
1060
+ 'tags-view'?(_: {}): any;
1061
+ footer?(_: {}): any;
1062
+ };
1063
+ });
1064
+
1065
+ /** @deprecated 请使用 ReverseHorizontalMixLayout;该别名计划在 4.0 移除。 */
1066
+ export declare const C_ReverseHorizontalMixLayout: {
1067
+ new (...args: any[]): CreateComponentPublicInstanceWithMixins<Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, PublicProps, {}, true, {}, {}, GlobalComponents, GlobalDirectives, string, {}, HTMLDivElement, ComponentProvideOptions, {
1068
+ P: {};
1069
+ B: {};
1070
+ D: {};
1071
+ C: {};
1072
+ M: {};
1073
+ Defaults: {};
1074
+ }, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, {}>;
1075
+ __isFragment?: never;
1076
+ __isTeleport?: never;
1077
+ __isSuspense?: never;
1078
+ } & ComponentOptionsBase<Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, {}, {}, string, {}, GlobalComponents, GlobalDirectives, string, ComponentProvideOptions> & VNodeProps & AllowedComponentProps & ComponentCustomProps & (new () => {
1079
+ $slots: {
1080
+ logo?(_: {}): any;
1081
+ 'top-menu'?(_: {}): any;
1082
+ 'header-extra'?(_: {}): any;
1083
+ 'tags-view'?(_: {}): any;
1084
+ footer?(_: {}): any;
1085
+ };
1086
+ });
1087
+
1088
+ /** @deprecated 请使用 SideLayout;该别名计划在 4.0 移除。 */
1089
+ export declare const C_SideLayout: {
1090
+ new (...args: any[]): CreateComponentPublicInstanceWithMixins<Readonly<{
1091
+ collapsed?: boolean;
1092
+ }> & Readonly<{
1093
+ "onUpdate:collapsed"?: ((value: boolean) => any) | undefined;
1094
+ }>, {
1095
+ collapsed: ComputedRef<boolean>;
1096
+ toggleCollapse: () => void;
1097
+ }, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
1098
+ "update:collapsed": (value: boolean) => any;
1099
+ }, PublicProps, {
1100
+ collapsed: boolean;
1101
+ }, false, {}, {}, GlobalComponents, GlobalDirectives, string, {}, any, ComponentProvideOptions, {
1102
+ P: {};
1103
+ B: {};
1104
+ D: {};
1105
+ C: {};
1106
+ M: {};
1107
+ Defaults: {};
1108
+ }, Readonly<{
1109
+ collapsed?: boolean;
1110
+ }> & Readonly<{
1111
+ "onUpdate:collapsed"?: ((value: boolean) => any) | undefined;
1112
+ }>, {
1113
+ collapsed: ComputedRef<boolean>;
1114
+ toggleCollapse: () => void;
1115
+ }, {}, {}, {}, {
1116
+ collapsed: boolean;
1117
+ }>;
1118
+ __isFragment?: never;
1119
+ __isTeleport?: never;
1120
+ __isSuspense?: never;
1121
+ } & ComponentOptionsBase<Readonly<{
1122
+ collapsed?: boolean;
1123
+ }> & Readonly<{
1124
+ "onUpdate:collapsed"?: ((value: boolean) => any) | undefined;
1125
+ }>, {
1126
+ collapsed: ComputedRef<boolean>;
1127
+ toggleCollapse: () => void;
1128
+ }, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
1129
+ "update:collapsed": (value: boolean) => any;
1130
+ }, string, {
1131
+ collapsed: boolean;
1132
+ }, {}, string, {}, GlobalComponents, GlobalDirectives, string, ComponentProvideOptions> & VNodeProps & AllowedComponentProps & ComponentCustomProps & (new () => {
1133
+ $slots: {
1134
+ logo?(_: {}): any;
1135
+ menu?(_: {
1136
+ collapsed: boolean;
1137
+ }): any;
1138
+ header?(_: {}): any;
1139
+ footer?(_: {}): any;
1140
+ };
1141
+ });
1142
+
1143
+ /** @deprecated 请使用 TopLayout;该别名计划在 4.0 移除。 */
1144
+ export declare const C_TopLayout: {
1145
+ new (...args: any[]): CreateComponentPublicInstanceWithMixins<Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, PublicProps, {}, true, {}, {}, GlobalComponents, GlobalDirectives, string, {}, HTMLDivElement, ComponentProvideOptions, {
1146
+ P: {};
1147
+ B: {};
1148
+ D: {};
1149
+ C: {};
1150
+ M: {};
1151
+ Defaults: {};
1152
+ }, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, {}>;
1153
+ __isFragment?: never;
1154
+ __isTeleport?: never;
1155
+ __isSuspense?: never;
1156
+ } & ComponentOptionsBase<Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, {}, {}, string, {}, GlobalComponents, GlobalDirectives, string, ComponentProvideOptions> & VNodeProps & AllowedComponentProps & ComponentCustomProps & (new () => {
1157
+ $slots: {
1158
+ logo?(_: {}): any;
1159
+ menu?(_: {}): any;
1160
+ 'header-extra'?(_: {}): any;
1161
+ 'tags-view'?(_: {}): any;
1162
+ footer?(_: {}): any;
1163
+ };
1164
+ });
1165
+
1166
+ export declare const CardLayout: __VLS_WithTemplateSlots_8<typeof __VLS_component_8, __VLS_TemplateResult_8["slots"]>;
1167
+
1168
+ /** Color swatches for color picker */
1169
+ export declare const COLOR_SWATCHES: string[];
1170
+
1171
+ /**
1172
+ * 将最小宿主输入转换为完整 LayoutContext。
1173
+ *
1174
+ * 保留底层 LayoutContext 作为高级扩展协议,同时避免普通接入重复桥接 Store 字段。
1175
+ */
1176
+ export declare function createLayoutContext(options: CreateLayoutContextOptions): LayoutContext;
1177
+
1178
+ /** 创建标准布局上下文所需的最小宿主适配。 */
1179
+ export declare interface CreateLayoutContextOptions {
1180
+ /** 布局设置 Store,可使用默认 Store 或 createSettingsStore() 创建的实例。 */
1181
+ settings: SettingsStoreInstance;
1182
+ /** 宿主菜单;支持普通值、Ref、ComputedRef 或 getter。 */
1183
+ menus: MaybeRefOrGetter<MenuOptions[]>;
1184
+ /** 宿主暗色状态;支持普通值、Ref、ComputedRef 或 getter。 */
1185
+ isDark: MaybeRefOrGetter<boolean>;
1186
+ /** 品牌信息,未提供的字段使用包内安全默认值。 */
1187
+ brand?: LayoutBrandConfig;
1188
+ /** 布局内部用于渲染菜单图标的宿主组件。 */
1189
+ iconComponent?: Component;
1190
+ }
1191
+
1192
+ /**
1193
+ * 创建设置管理 Store
1194
+ * @param options - 配置选项
1195
+ */
1196
+ export declare function createSettingsStore(options?: SettingsStoreOptions): StoreDefinition<string, Pick<{
1197
+ themeMode: Ref<ThemeMode, ThemeMode>;
1198
+ primaryColor: Ref<string, string>;
1199
+ borderRadius: Ref<BorderRadiusSize, BorderRadiusSize>;
1200
+ transitionType: Ref<TransitionType, TransitionType>;
1201
+ enableTransition: Ref<boolean, boolean>;
1202
+ layoutMode: Ref<LayoutMode, LayoutMode>;
1203
+ menuExpandMode: Ref<MenuExpandMode, MenuExpandMode>;
1204
+ collapsed: Ref<boolean, boolean>;
1205
+ fixedHeader: Ref<boolean, boolean>;
1206
+ showBreadcrumb: Ref<boolean, boolean>;
1207
+ showBreadcrumbIcon: Ref<boolean, boolean>;
1208
+ showTagsView: Ref<boolean, boolean>;
1209
+ tagsViewHeight: Ref<number, number>;
1210
+ tagsViewStyle: Ref<TagsViewStyle, TagsViewStyle>;
1211
+ showFooter: Ref<boolean, boolean>;
1212
+ sidebarWidth: Ref<number, number>;
1213
+ sidebarCollapsedWidth: Ref<number, number>;
1214
+ headerHeight: Ref<number, number>;
1215
+ enableHotkeys: Ref<boolean, boolean>;
1216
+ version: Ref<string, string>;
1217
+ borderRadiusValue: ComputedRef<"4px" | "6px" | "8px">;
1218
+ transitionName: ComputedRef<"" | "fade-transform" | "fade-slide" | "fade-zoom">;
1219
+ shouldEnableTransition: ComputedRef<boolean>;
1220
+ settingsState: ComputedRef<SettingsState>;
1221
+ syncCSSVariables: () => void;
1222
+ applyPreset: (preset: ThemePreset) => Promise<void>;
1223
+ resetSettings: () => void;
1224
+ updateThemeMode: (mode: ThemeMode) => Promise<void>;
1225
+ toggleCollapse: () => void;
1226
+ }, "themeMode" | "layoutMode" | "primaryColor" | "borderRadius" | "transitionType" | "enableTransition" | "menuExpandMode" | "collapsed" | "fixedHeader" | "showBreadcrumb" | "showBreadcrumbIcon" | "showTagsView" | "tagsViewHeight" | "tagsViewStyle" | "showFooter" | "sidebarWidth" | "sidebarCollapsedWidth" | "headerHeight" | "enableHotkeys" | "version">, Pick<{
1227
+ themeMode: Ref<ThemeMode, ThemeMode>;
1228
+ primaryColor: Ref<string, string>;
1229
+ borderRadius: Ref<BorderRadiusSize, BorderRadiusSize>;
1230
+ transitionType: Ref<TransitionType, TransitionType>;
1231
+ enableTransition: Ref<boolean, boolean>;
1232
+ layoutMode: Ref<LayoutMode, LayoutMode>;
1233
+ menuExpandMode: Ref<MenuExpandMode, MenuExpandMode>;
1234
+ collapsed: Ref<boolean, boolean>;
1235
+ fixedHeader: Ref<boolean, boolean>;
1236
+ showBreadcrumb: Ref<boolean, boolean>;
1237
+ showBreadcrumbIcon: Ref<boolean, boolean>;
1238
+ showTagsView: Ref<boolean, boolean>;
1239
+ tagsViewHeight: Ref<number, number>;
1240
+ tagsViewStyle: Ref<TagsViewStyle, TagsViewStyle>;
1241
+ showFooter: Ref<boolean, boolean>;
1242
+ sidebarWidth: Ref<number, number>;
1243
+ sidebarCollapsedWidth: Ref<number, number>;
1244
+ headerHeight: Ref<number, number>;
1245
+ enableHotkeys: Ref<boolean, boolean>;
1246
+ version: Ref<string, string>;
1247
+ borderRadiusValue: ComputedRef<"4px" | "6px" | "8px">;
1248
+ transitionName: ComputedRef<"" | "fade-transform" | "fade-slide" | "fade-zoom">;
1249
+ shouldEnableTransition: ComputedRef<boolean>;
1250
+ settingsState: ComputedRef<SettingsState>;
1251
+ syncCSSVariables: () => void;
1252
+ applyPreset: (preset: ThemePreset) => Promise<void>;
1253
+ resetSettings: () => void;
1254
+ updateThemeMode: (mode: ThemeMode) => Promise<void>;
1255
+ toggleCollapse: () => void;
1256
+ }, "borderRadiusValue" | "transitionName" | "shouldEnableTransition" | "settingsState">, Pick<{
1257
+ themeMode: Ref<ThemeMode, ThemeMode>;
1258
+ primaryColor: Ref<string, string>;
1259
+ borderRadius: Ref<BorderRadiusSize, BorderRadiusSize>;
1260
+ transitionType: Ref<TransitionType, TransitionType>;
1261
+ enableTransition: Ref<boolean, boolean>;
1262
+ layoutMode: Ref<LayoutMode, LayoutMode>;
1263
+ menuExpandMode: Ref<MenuExpandMode, MenuExpandMode>;
1264
+ collapsed: Ref<boolean, boolean>;
1265
+ fixedHeader: Ref<boolean, boolean>;
1266
+ showBreadcrumb: Ref<boolean, boolean>;
1267
+ showBreadcrumbIcon: Ref<boolean, boolean>;
1268
+ showTagsView: Ref<boolean, boolean>;
1269
+ tagsViewHeight: Ref<number, number>;
1270
+ tagsViewStyle: Ref<TagsViewStyle, TagsViewStyle>;
1271
+ showFooter: Ref<boolean, boolean>;
1272
+ sidebarWidth: Ref<number, number>;
1273
+ sidebarCollapsedWidth: Ref<number, number>;
1274
+ headerHeight: Ref<number, number>;
1275
+ enableHotkeys: Ref<boolean, boolean>;
1276
+ version: Ref<string, string>;
1277
+ borderRadiusValue: ComputedRef<"4px" | "6px" | "8px">;
1278
+ transitionName: ComputedRef<"" | "fade-transform" | "fade-slide" | "fade-zoom">;
1279
+ shouldEnableTransition: ComputedRef<boolean>;
1280
+ settingsState: ComputedRef<SettingsState>;
1281
+ syncCSSVariables: () => void;
1282
+ applyPreset: (preset: ThemePreset) => Promise<void>;
1283
+ resetSettings: () => void;
1284
+ updateThemeMode: (mode: ThemeMode) => Promise<void>;
1285
+ toggleCollapse: () => void;
1286
+ }, "syncCSSVariables" | "applyPreset" | "resetSettings" | "updateThemeMode" | "toggleCollapse">>;
1287
+
1288
+ /**
1289
+ * 默认品牌配置
1290
+ */
1291
+ export declare const DEFAULT_BRAND_CONFIG: Required<LayoutBrandConfig>;
1292
+
1293
+ export declare const DEFAULT_SETTINGS: SettingsState;
1294
+
1295
+ /**
1296
+ * 抽屉菜单控制器 Injection Key
1297
+ */
1298
+ export declare const DRAWER_HANDLER_KEY: InjectionKey<DrawerHandlers>;
1299
+
1300
+ /**
1301
+ * 抽屉菜单统一控制器
1302
+ * 解决 MenuTrigger 与 DrawerMenu 各自拥有独立定时器导致的
1303
+ * "鼠标从 trigger 移到 drawer 过程中 drawer 被关闭"问题
1304
+ */
1305
+ export declare interface DrawerHandlers {
1306
+ /** 显示抽屉并取消所有待执行的隐藏操作 */
1307
+ show: () => void;
1308
+ /** 启动延迟隐藏(300ms) */
1309
+ startHide: () => void;
1310
+ /** 立即隐藏抽屉(如导航跳转后) */
1311
+ hide: () => void;
1312
+ }
1313
+
1314
+ export declare const DrawerMenu: DefineComponent<__VLS_Props_6, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_6> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLDivElement>;
1315
+
1316
+ export declare const FloatingMenu: DefineComponent<__VLS_Props_4, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
1317
+ click: (item: MenuOptions) => any;
1318
+ }, string, PublicProps, Readonly<__VLS_Props_4> & Readonly<{
1319
+ onClick?: ((item: MenuOptions) => any) | undefined;
1320
+ }>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
1321
+
1322
+ export declare const IconMenu: DefineComponent<__VLS_Props_3, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
1323
+ click: (item: MenuOptions) => any;
1324
+ }, string, PublicProps, Readonly<__VLS_Props_3> & Readonly<{
1325
+ onClick?: ((item: MenuOptions) => any) | undefined;
1326
+ }>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLDivElement>;
1327
+
1328
+ /**
1329
+ * 布局上下文 Injection Key
1330
+ */
1331
+ export declare const LAYOUT_CONTEXT_KEY: InjectionKey<LayoutContext>;
1332
+
1333
+ export declare const LAYOUT_MODES: LayoutInfo[];
1334
+
1335
+ /** 当前布局使用的设置 Store,支持自定义 Store id 与多实例。 */
1336
+ export declare const LAYOUT_SETTINGS_KEY: InjectionKey<SettingsStoreInstance>;
1337
+
1338
+ /**
1339
+ * 品牌配置
1340
+ */
1341
+ export declare interface LayoutBrandConfig {
1342
+ /** 品牌名称,如 'Robot Admin' */
1343
+ name?: string;
1344
+ /** 品牌副标题,如 '机器人管理系统' */
1345
+ subtitle?: string;
1346
+ /** Logo 地址(图片或视频) */
1347
+ logoSrc?: string;
1348
+ /** Logo 类型 */
1349
+ logoType?: "video" | "image";
1350
+ /** Logo 尺寸 */
1351
+ logoSize?: number;
1352
+ /** 首页路径,默认 '/home' */
1353
+ homePath?: string;
1354
+ /** 页脚版权文本 */
1355
+ copyright?: string;
1356
+ }
1357
+
1358
+ /** KeepAlive 缓存选项 */
1359
+ export declare interface LayoutCacheOptions {
1360
+ /** 最大缓存数量,默认 20 */
1361
+ maxCacheCount?: number;
1362
+ /** 是否输出缓存调试日志,默认 false */
1363
+ enableDevLog?: boolean;
1364
+ /** 是否暴露调试方法到 window,默认 false */
1365
+ exposeToWindow?: boolean;
1366
+ }
1367
+
1368
+ /**
1369
+ * 布局上下文数据接口
1370
+ * 骨架组件通过 inject 获取这些数据
1371
+ */
1372
+ export declare interface LayoutContext {
1373
+ /** 菜单列表数据 */
1374
+ menus: ComputedRef<MenuOptions[]>;
1375
+ /** 是否为暗色模式 */
1376
+ isDark: ComputedRef<boolean>;
1377
+ /** 当前布局模式 */
1378
+ layoutMode: ComputedRef<LayoutMode>;
1379
+ /** 侧边栏折叠状态;提供后由容器和宿主头部共享同一数据源 */
1380
+ collapsed?: WritableComputedRef<boolean>;
1381
+ /** 菜单展开方式 */
1382
+ menuExpandMode?: ComputedRef<MenuExpandMode>;
1383
+ /** 侧边栏宽度 (px) */
1384
+ sidebarWidth: ComputedRef<number>;
1385
+ /** 侧边栏折叠后宽度 (px) */
1386
+ sidebarCollapsedWidth: ComputedRef<number>;
1387
+ /** 是否显示页脚 */
1388
+ showFooter: ComputedRef<boolean>;
1389
+ /** 是否显示标签页 */
1390
+ showTagsView: ComputedRef<boolean>;
1391
+ /** 标签页高度 (px) */
1392
+ tagsViewHeight: ComputedRef<number>;
1393
+ /** 头部高度 (px) */
1394
+ headerHeight: ComputedRef<number>;
1395
+ /** 过渡动画名称 */
1396
+ transitionName: ComputedRef<string>;
1397
+ /** 是否显示面包屑 */
1398
+ showBreadcrumb: ComputedRef<boolean>;
1399
+ /** 是否显示面包屑图标 */
1400
+ showBreadcrumbIcon: ComputedRef<boolean>;
1401
+ /** 是否固定头部 */
1402
+ fixedHeader: ComputedRef<boolean>;
1403
+ /** 品牌信息 */
1404
+ brand: LayoutBrandConfig;
1405
+ /**
1406
+ * 自定义图标组件(如 @iconify/vue 的 Icon 组件)
1407
+ * 用于布局内部组件渲染菜单图标
1408
+ * 组件需接受 name (string) 和 size (number) 两个 props
1409
+ * 如果不提供,将使用 CSS class 渲染图标
1410
+ */
1411
+ iconComponent?: Component;
1412
+ }
1413
+
1414
+ /** 布局模式展示信息。 */
1415
+ export declare interface LayoutInfo {
1416
+ mode: LayoutMode;
1417
+ label: string;
1418
+ description: string;
1419
+ icon: string;
1420
+ }
1421
+
1422
+ /** 内置布局模式。 */
1423
+ export declare type LayoutMode = "side" | "top" | "mix" | "mix-top" | "reverse-horizontal-mix" | "card-layout";
1424
+
1425
+ /** 经校验后可原子应用的布局配置。 */
1426
+ export declare interface LayoutSettingsConfig extends LayoutVisualEffects {
1427
+ schemaVersion?: number;
1428
+ settings?: Partial<SettingsState>;
1429
+ }
1430
+
1431
+ export declare interface LayoutVisualEffects {
1432
+ gray?: boolean;
1433
+ colorWeak?: boolean;
1434
+ watermark?: {
1435
+ enabled: boolean;
1436
+ text: string;
1437
+ };
1438
+ }
1439
+
1440
+ export declare const MENU_COLLAPSE_KEY: InjectionKey<MenuCollapseHandlers>;
1441
+
1442
+ /** 侧边栏折叠控制器。 */
1443
+ export declare interface MenuCollapseHandlers {
1444
+ isCollapsed: ComputedRef<boolean>;
1445
+ handleCollapsedChange: (collapsed: boolean) => void;
1446
+ }
1447
+
1448
+ /** 菜单展开方式。 */
1449
+ export declare type MenuExpandMode = "inline" | "panel";
1450
+
1451
+ /**
1452
+ * 菜单项类型
1453
+ * - `group` 分组
1454
+ * - `divider` 分割线
1455
+ * - `item` 普通菜单项
1456
+ */
1457
+ export declare type MenuItemType = "group" | "divider" | "item";
1458
+
1459
+ /**
1460
+ * 菜单选项的详细类型定义
1461
+ */
1462
+ export declare interface MenuOptions {
1463
+ /** 菜单项类型(分组/分割线) */
1464
+ type?: "group" | "divider";
1465
+ /** 唯一标识 */
1466
+ key?: string;
1467
+ /** 菜单跳转路径 */
1468
+ path?: string;
1469
+ /** 菜单名称(可对应路由名) */
1470
+ name?: string;
1471
+ /** 菜单项对应的组件名称 */
1472
+ component?: string;
1473
+ /** 重定向路径 */
1474
+ redirect?: string;
1475
+ /** 菜单显示的文本 */
1476
+ label?: string;
1477
+ /** 图标 */
1478
+ icon?: string | (() => VNode) | VNode;
1479
+ /** 是否禁用此菜单项 */
1480
+ disabled?: boolean;
1481
+ /** 元数据 */
1482
+ meta?: {
1483
+ /** 页面标题 */
1484
+ title?: string;
1485
+ /** 菜单项的图标 */
1486
+ icon?: string;
1487
+ /** 是否在菜单中隐藏 */
1488
+ hidden?: boolean;
1489
+ /** 是否固定在标签栏 */
1490
+ affix?: boolean;
1491
+ /** 是否缓存该页面 */
1492
+ keepAlive?: boolean;
1493
+ /** 是否全屏显示 */
1494
+ full?: boolean;
1495
+ /** 外部链接 URL */
1496
+ link?: string;
1497
+ /** 扩展属性 */
1498
+ [key: string]: any;
1499
+ };
1500
+ /** 子菜单 */
1501
+ children?: MenuOptions[];
1502
+ }
1503
+
1504
+ /**
1505
+ * 标签栏项类型定义
1506
+ */
1507
+ export declare interface MenuTag {
1508
+ /** 标签项对应的路由路径 */
1509
+ path: string;
1510
+ /** 标签显示的标题(已翻译) */
1511
+ title: string;
1512
+ /** 原始标题(中文,用于重新翻译) */
1513
+ originalTitle?: string;
1514
+ /** 显示的图标 */
1515
+ icon?: string;
1516
+ /** 标签相关元数据 */
1517
+ meta?: {
1518
+ /** 是否固定在标签栏 */
1519
+ affix?: boolean;
1520
+ };
1521
+ }
1522
+
1523
+ export declare const MenuTrigger: DefineComponent<__VLS_Props_7, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_7> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLDivElement>;
1524
+
1525
+ export declare const MixLayout: __VLS_WithTemplateSlots_5<typeof __VLS_component_5, __VLS_TemplateResult_5["slots"]>;
1526
+
1527
+ export declare const MixTopLayout: __VLS_WithTemplateSlots_6<typeof __VLS_component_6, __VLS_TemplateResult_6["slots"]>;
1528
+
1529
+ export declare const PRESET_COLORS: PresetColor[];
1530
+
1531
+ /** 预设颜色。 */
1532
+ export declare interface PresetColor {
1533
+ name: string;
1534
+ value: string;
1535
+ }
1536
+
1537
+ /** 在组件 setup 中创建并提供标准布局上下文。 */
1538
+ export declare function provideLayout(options: CreateLayoutContextOptions): LayoutContext;
1539
+
1540
+ /** 在组件 setup 中提供布局上下文,避免消费方直接操作 InjectionKey。 */
1541
+ export declare function provideLayoutContext(context: LayoutContext): LayoutContext;
1542
+
1543
+ export declare const ResponsiveMenu: DefineComponent<__VLS_Props_8, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_8> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {
1544
+ containerRef: HTMLDivElement;
1545
+ }, HTMLDivElement>;
1546
+
1547
+ export declare const ReverseHorizontalMixLayout: __VLS_WithTemplateSlots_7<typeof __VLS_component_7, __VLS_TemplateResult_7["slots"]>;
1548
+
1549
+ /**
1550
+ * 一次性校验完整导入文件。此函数不修改任何响应式状态或浏览器 API,
1551
+ * 消费方可以在成功返回后再原子应用结果。
1552
+ */
1553
+ export declare function sanitizeLayoutSettingsConfig(input: unknown): LayoutSettingsConfig;
1554
+
1555
+ /**
1556
+ * 校验来自配置文件等不可信来源的设置。
1557
+ * 未知键为向前兼容而忽略;已知键的非法值会让整次导入失败。
1558
+ */
1559
+ export declare function sanitizeSettingsPatch(input: unknown): Partial<SettingsState>;
1560
+
1561
+ /** 当前导入导出配置格式版本。 */
1562
+ export declare const SETTINGS_CONFIG_SCHEMA_VERSION: 1;
1563
+
1564
+ export declare const SettingsDrawer: __VLS_WithTemplateSlots_2<typeof __VLS_component_2, __VLS_TemplateResult_2["slots"]>;
1565
+
1566
+ /** 由宿主应用实现的高副作用操作。 */
1567
+ export declare interface SettingsDrawerActions {
1568
+ clearCache?: () => void | Promise<void>;
1569
+ reloadPage?: () => void;
1570
+ }
1571
+
1572
+ /** UI 无关的布局设置协议。 */
1573
+ export declare interface SettingsState {
1574
+ themeMode: ThemeMode;
1575
+ primaryColor: string;
1576
+ borderRadius: BorderRadiusSize;
1577
+ transitionType: TransitionType;
1578
+ enableTransition: boolean;
1579
+ layoutMode: LayoutMode;
1580
+ menuExpandMode: MenuExpandMode;
1581
+ collapsed: boolean;
1582
+ fixedHeader: boolean;
1583
+ showBreadcrumb: boolean;
1584
+ showBreadcrumbIcon: boolean;
1585
+ showTagsView: boolean;
1586
+ tagsViewHeight: number;
1587
+ tagsViewStyle: TagsViewStyle;
1588
+ showFooter: boolean;
1589
+ sidebarWidth: number;
1590
+ sidebarCollapsedWidth: number;
1591
+ headerHeight: number;
1592
+ enableHotkeys: boolean;
1593
+ version: string;
1594
+ }
1595
+
1596
+ /** 默认设置 Store 实例类型,供组件注入或显式传入。 */
1597
+ export declare type SettingsStoreInstance = ReturnType<typeof useSettingsStore>;
1598
+
1599
+ /** Settings Store 初始化选项。 */
1600
+ export declare interface SettingsStoreOptions {
1601
+ id?: string;
1602
+ defaults?: Partial<SettingsState>;
1603
+ onThemeModeChange?: (mode: ThemeMode) => void | Promise<void>;
1604
+ }
1605
+
1606
+ /**
1607
+ * 初始化布局系统
1608
+ *
1609
+ * @example
1610
+ * ```ts
1611
+ * import { setupLayout } from '@robot-admin/layout'
1612
+ * setupLayout(app, {
1613
+ * onThemeModeChange: async (mode) => {
1614
+ * const themeStore = useThemeStore()
1615
+ * await themeStore.setMode(mode)
1616
+ * }
1617
+ * })
1618
+ * ```
1619
+ */
1620
+ export declare function setupLayout(app: App, options?: SettingsStoreOptions): StoreDefinition<string, Pick<{
1621
+ themeMode: Ref<ThemeMode, ThemeMode>;
1622
+ primaryColor: Ref<string, string>;
1623
+ borderRadius: Ref<BorderRadiusSize, BorderRadiusSize>;
1624
+ transitionType: Ref<TransitionType, TransitionType>;
1625
+ enableTransition: Ref<boolean, boolean>;
1626
+ layoutMode: Ref<LayoutMode, LayoutMode>;
1627
+ menuExpandMode: Ref<MenuExpandMode, MenuExpandMode>;
1628
+ collapsed: Ref<boolean, boolean>;
1629
+ fixedHeader: Ref<boolean, boolean>;
1630
+ showBreadcrumb: Ref<boolean, boolean>;
1631
+ showBreadcrumbIcon: Ref<boolean, boolean>;
1632
+ showTagsView: Ref<boolean, boolean>;
1633
+ tagsViewHeight: Ref<number, number>;
1634
+ tagsViewStyle: Ref<TagsViewStyle, TagsViewStyle>;
1635
+ showFooter: Ref<boolean, boolean>;
1636
+ sidebarWidth: Ref<number, number>;
1637
+ sidebarCollapsedWidth: Ref<number, number>;
1638
+ headerHeight: Ref<number, number>;
1639
+ enableHotkeys: Ref<boolean, boolean>;
1640
+ version: Ref<string, string>;
1641
+ borderRadiusValue: ComputedRef<"4px" | "6px" | "8px">;
1642
+ transitionName: ComputedRef<"" | "fade-transform" | "fade-slide" | "fade-zoom">;
1643
+ shouldEnableTransition: ComputedRef<boolean>;
1644
+ settingsState: ComputedRef<SettingsState>;
1645
+ syncCSSVariables: () => void;
1646
+ applyPreset: (preset: ThemePreset) => Promise<void>;
1647
+ resetSettings: () => void;
1648
+ updateThemeMode: (mode: ThemeMode) => Promise<void>;
1649
+ toggleCollapse: () => void;
1650
+ }, "themeMode" | "layoutMode" | "primaryColor" | "borderRadius" | "transitionType" | "enableTransition" | "menuExpandMode" | "collapsed" | "fixedHeader" | "showBreadcrumb" | "showBreadcrumbIcon" | "showTagsView" | "tagsViewHeight" | "tagsViewStyle" | "showFooter" | "sidebarWidth" | "sidebarCollapsedWidth" | "headerHeight" | "enableHotkeys" | "version">, Pick<{
1651
+ themeMode: Ref<ThemeMode, ThemeMode>;
1652
+ primaryColor: Ref<string, string>;
1653
+ borderRadius: Ref<BorderRadiusSize, BorderRadiusSize>;
1654
+ transitionType: Ref<TransitionType, TransitionType>;
1655
+ enableTransition: Ref<boolean, boolean>;
1656
+ layoutMode: Ref<LayoutMode, LayoutMode>;
1657
+ menuExpandMode: Ref<MenuExpandMode, MenuExpandMode>;
1658
+ collapsed: Ref<boolean, boolean>;
1659
+ fixedHeader: Ref<boolean, boolean>;
1660
+ showBreadcrumb: Ref<boolean, boolean>;
1661
+ showBreadcrumbIcon: Ref<boolean, boolean>;
1662
+ showTagsView: Ref<boolean, boolean>;
1663
+ tagsViewHeight: Ref<number, number>;
1664
+ tagsViewStyle: Ref<TagsViewStyle, TagsViewStyle>;
1665
+ showFooter: Ref<boolean, boolean>;
1666
+ sidebarWidth: Ref<number, number>;
1667
+ sidebarCollapsedWidth: Ref<number, number>;
1668
+ headerHeight: Ref<number, number>;
1669
+ enableHotkeys: Ref<boolean, boolean>;
1670
+ version: Ref<string, string>;
1671
+ borderRadiusValue: ComputedRef<"4px" | "6px" | "8px">;
1672
+ transitionName: ComputedRef<"" | "fade-transform" | "fade-slide" | "fade-zoom">;
1673
+ shouldEnableTransition: ComputedRef<boolean>;
1674
+ settingsState: ComputedRef<SettingsState>;
1675
+ syncCSSVariables: () => void;
1676
+ applyPreset: (preset: ThemePreset) => Promise<void>;
1677
+ resetSettings: () => void;
1678
+ updateThemeMode: (mode: ThemeMode) => Promise<void>;
1679
+ toggleCollapse: () => void;
1680
+ }, "borderRadiusValue" | "transitionName" | "shouldEnableTransition" | "settingsState">, Pick<{
1681
+ themeMode: Ref<ThemeMode, ThemeMode>;
1682
+ primaryColor: Ref<string, string>;
1683
+ borderRadius: Ref<BorderRadiusSize, BorderRadiusSize>;
1684
+ transitionType: Ref<TransitionType, TransitionType>;
1685
+ enableTransition: Ref<boolean, boolean>;
1686
+ layoutMode: Ref<LayoutMode, LayoutMode>;
1687
+ menuExpandMode: Ref<MenuExpandMode, MenuExpandMode>;
1688
+ collapsed: Ref<boolean, boolean>;
1689
+ fixedHeader: Ref<boolean, boolean>;
1690
+ showBreadcrumb: Ref<boolean, boolean>;
1691
+ showBreadcrumbIcon: Ref<boolean, boolean>;
1692
+ showTagsView: Ref<boolean, boolean>;
1693
+ tagsViewHeight: Ref<number, number>;
1694
+ tagsViewStyle: Ref<TagsViewStyle, TagsViewStyle>;
1695
+ showFooter: Ref<boolean, boolean>;
1696
+ sidebarWidth: Ref<number, number>;
1697
+ sidebarCollapsedWidth: Ref<number, number>;
1698
+ headerHeight: Ref<number, number>;
1699
+ enableHotkeys: Ref<boolean, boolean>;
1700
+ version: Ref<string, string>;
1701
+ borderRadiusValue: ComputedRef<"4px" | "6px" | "8px">;
1702
+ transitionName: ComputedRef<"" | "fade-transform" | "fade-slide" | "fade-zoom">;
1703
+ shouldEnableTransition: ComputedRef<boolean>;
1704
+ settingsState: ComputedRef<SettingsState>;
1705
+ syncCSSVariables: () => void;
1706
+ applyPreset: (preset: ThemePreset) => Promise<void>;
1707
+ resetSettings: () => void;
1708
+ updateThemeMode: (mode: ThemeMode) => Promise<void>;
1709
+ toggleCollapse: () => void;
1710
+ }, "syncCSSVariables" | "applyPreset" | "resetSettings" | "updateThemeMode" | "toggleCollapse">>;
1711
+
1712
+ /** KeepAlive 仅接受具名组件,并由路由 meta.keepAlive 明确开启。 */
1713
+ export declare function shouldCacheRoute(route: Pick<RouteLocationNormalizedLoaded, "name" | "meta">): route is Pick<RouteLocationNormalizedLoaded, "name" | "meta"> & {
1714
+ name: string;
1715
+ };
1716
+
1717
+ export declare const SideLayout: __VLS_WithTemplateSlots_3<typeof __VLS_component_3, __VLS_TemplateResult_3["slots"]>;
1718
+
1719
+ export declare const SideMenu: DefineComponent<__VLS_Props_5, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
1720
+ click: (item: MenuOptions) => any;
1721
+ }, string, PublicProps, Readonly<__VLS_Props_5> & Readonly<{
1722
+ onClick?: ((item: MenuOptions) => any) | undefined;
1723
+ }>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
1724
+
1725
+ /** 标签页风格。 */
1726
+ export declare type TagsViewStyle = "default" | "card" | "smart";
1727
+
1728
+ export declare const THEME_PRESETS: ThemePreset[];
1729
+
1730
+ /** 与具体主题实现无关的标准主题模式。 */
1731
+ export declare type ThemeMode = "light" | "dark" | "system";
1732
+
1733
+ /** 主题预设方案。 */
1734
+ export declare interface ThemePreset {
1735
+ name: string;
1736
+ description?: string;
1737
+ icon: string;
1738
+ primaryColor: string;
1739
+ settings?: Partial<Omit<SettingsState, "themeMode" | "layoutMode" | "primaryColor">>;
1740
+ }
1741
+
1742
+ export declare const TopLayout: __VLS_WithTemplateSlots_4<typeof __VLS_component_4, __VLS_TemplateResult_4["slots"]>;
1743
+
1744
+ export declare const TRANSITION_MAP: {
1745
+ readonly fade: "fade-transform";
1746
+ readonly slide: "fade-slide";
1747
+ readonly zoom: "fade-zoom";
1748
+ readonly none: "";
1749
+ };
1750
+
1751
+ /** 页面动画类型。 */
1752
+ export declare type TransitionType = "fade" | "slide" | "zoom" | "none";
1753
+
1754
+ /**
1755
+ * 统一的 KeepAlive 缓存管理 composable
1756
+ *
1757
+ * @param options - 缓存配置选项
1758
+ * @returns 缓存视图列表和管理方法
1759
+ *
1760
+ * @example
1761
+ * ```vue
1762
+ * <script setup>
1763
+ * import { useLayoutCache } from '@robot-admin/layout'
1764
+ *
1765
+ * const { cachedViews, maxCacheCount } = useLayoutCache({ maxCacheCount: 30 })
1766
+ * </script>
1767
+ *
1768
+ * <template>
1769
+ * <KeepAlive :include="cachedViews" :max="maxCacheCount">
1770
+ * <RouterView />
1771
+ * </KeepAlive>
1772
+ * </template>
1773
+ * ```
1774
+ */
1775
+ export declare function useLayoutCache(options?: LayoutCacheOptions): {
1776
+ cachedViews: Ref<string[], string[]>;
1777
+ maxCacheCount: Ref<number, number>;
1778
+ addCache: (name: string) => void;
1779
+ removeCache: (name: string) => void;
1780
+ clearAllCache: () => void;
1781
+ };
1782
+
1783
+ /**
1784
+ * 在骨架组件中获取布局上下文
1785
+ *
1786
+ * @throws 如果没有 provide LayoutContext 会抛出错误
1787
+ *
1788
+ * @example
1789
+ * ```vue
1790
+ * <script setup>
1791
+ * // 在包的骨架组件内部使用
1792
+ * const ctx = useLayoutContext()
1793
+ * const menus = ctx.menus
1794
+ * const isDark = ctx.isDark
1795
+ * </script>
1796
+ * ```
1797
+ */
1798
+ export declare function useLayoutContext(): LayoutContext;
1799
+
1800
+ /**
1801
+ * 菜单拆分 Composable
1802
+ *
1803
+ * 提供一级/二级菜单拆分状态管理、路由自动匹配、菜单点击处理。
1804
+ * 供 MixLayout / MixTopLayout / ReverseHorizontalMixLayout 共用。
1805
+ *
1806
+ * @example
1807
+ * ```ts
1808
+ * const menuSplit = useMenuSplit({
1809
+ * menus: ctx.menus,
1810
+ * floatingSecondMenu: computed(() => layoutMode.value === 'mix'),
1811
+ * })
1812
+ * ```
1813
+ */
1814
+ export declare function useMenuSplit(options: UseMenuSplitOptions): UseMenuSplitReturn;
1815
+
1816
+ export declare interface UseMenuSplitOptions {
1817
+ /** 菜单数据(响应式) */
1818
+ menus: ComputedRef<MenuOptions[]>;
1819
+ /** 是否使用悬浮式二级菜单(MixLayout 的 toggle 模式) */
1820
+ floatingSecondMenu?: MaybeRefOrGetter<boolean>;
1821
+ }
1822
+
1823
+ export declare interface UseMenuSplitReturn {
1824
+ /** 当前激活的一级菜单路径 */
1825
+ activeFirstMenu: Ref<string>;
1826
+ /** 当前激活的一级菜单完整数据 */
1827
+ activeFirstMenuItem: ComputedRef<MenuOptions | undefined>;
1828
+ /** 当前一级菜单对应的二级菜单列表 */
1829
+ currentSecondMenus: ComputedRef<MenuOptions[]>;
1830
+ /** 悬浮的菜单项(MixLayout 使用) */
1831
+ hoveredMenuItem: Ref<MenuOptions | null>;
1832
+ /** 实际展示的菜单项(hovered 优先,fallback 到 active) */
1833
+ displayMenuItem: ComputedRef<MenuOptions | null>;
1834
+ /** 是否显示悬浮二级菜单(MixLayout 使用) */
1835
+ showSecondMenu: Ref<boolean>;
1836
+ /** 处理一级菜单点击 */
1837
+ handleFirstMenuClick: (item: MenuOptions) => void;
1838
+ /** 处理二级菜单点击 */
1839
+ handleSecondMenuClick: (item: MenuOptions) => void;
1840
+ /** 检查路由是否匹配菜单项 */
1841
+ isMenuItemActive: (menuPath: string | undefined) => boolean;
1842
+ }
1843
+
1844
+ /**
1845
+ * 默认的设置 Store(使用默认配置)
1846
+ */
1847
+ export declare const useSettingsStore: StoreDefinition<string, Pick<{
1848
+ themeMode: Ref<ThemeMode, ThemeMode>;
1849
+ primaryColor: Ref<string, string>;
1850
+ borderRadius: Ref<BorderRadiusSize, BorderRadiusSize>;
1851
+ transitionType: Ref<TransitionType, TransitionType>;
1852
+ enableTransition: Ref<boolean, boolean>;
1853
+ layoutMode: Ref<LayoutMode, LayoutMode>;
1854
+ menuExpandMode: Ref<MenuExpandMode, MenuExpandMode>;
1855
+ collapsed: Ref<boolean, boolean>;
1856
+ fixedHeader: Ref<boolean, boolean>;
1857
+ showBreadcrumb: Ref<boolean, boolean>;
1858
+ showBreadcrumbIcon: Ref<boolean, boolean>;
1859
+ showTagsView: Ref<boolean, boolean>;
1860
+ tagsViewHeight: Ref<number, number>;
1861
+ tagsViewStyle: Ref<TagsViewStyle, TagsViewStyle>;
1862
+ showFooter: Ref<boolean, boolean>;
1863
+ sidebarWidth: Ref<number, number>;
1864
+ sidebarCollapsedWidth: Ref<number, number>;
1865
+ headerHeight: Ref<number, number>;
1866
+ enableHotkeys: Ref<boolean, boolean>;
1867
+ version: Ref<string, string>;
1868
+ borderRadiusValue: ComputedRef<"4px" | "6px" | "8px">;
1869
+ transitionName: ComputedRef<"" | "fade-transform" | "fade-slide" | "fade-zoom">;
1870
+ shouldEnableTransition: ComputedRef<boolean>;
1871
+ settingsState: ComputedRef<SettingsState>;
1872
+ syncCSSVariables: () => void;
1873
+ applyPreset: (preset: ThemePreset) => Promise<void>;
1874
+ resetSettings: () => void;
1875
+ updateThemeMode: (mode: ThemeMode) => Promise<void>;
1876
+ toggleCollapse: () => void;
1877
+ }, "themeMode" | "layoutMode" | "primaryColor" | "borderRadius" | "transitionType" | "enableTransition" | "menuExpandMode" | "collapsed" | "fixedHeader" | "showBreadcrumb" | "showBreadcrumbIcon" | "showTagsView" | "tagsViewHeight" | "tagsViewStyle" | "showFooter" | "sidebarWidth" | "sidebarCollapsedWidth" | "headerHeight" | "enableHotkeys" | "version">, Pick<{
1878
+ themeMode: Ref<ThemeMode, ThemeMode>;
1879
+ primaryColor: Ref<string, string>;
1880
+ borderRadius: Ref<BorderRadiusSize, BorderRadiusSize>;
1881
+ transitionType: Ref<TransitionType, TransitionType>;
1882
+ enableTransition: Ref<boolean, boolean>;
1883
+ layoutMode: Ref<LayoutMode, LayoutMode>;
1884
+ menuExpandMode: Ref<MenuExpandMode, MenuExpandMode>;
1885
+ collapsed: Ref<boolean, boolean>;
1886
+ fixedHeader: Ref<boolean, boolean>;
1887
+ showBreadcrumb: Ref<boolean, boolean>;
1888
+ showBreadcrumbIcon: Ref<boolean, boolean>;
1889
+ showTagsView: Ref<boolean, boolean>;
1890
+ tagsViewHeight: Ref<number, number>;
1891
+ tagsViewStyle: Ref<TagsViewStyle, TagsViewStyle>;
1892
+ showFooter: Ref<boolean, boolean>;
1893
+ sidebarWidth: Ref<number, number>;
1894
+ sidebarCollapsedWidth: Ref<number, number>;
1895
+ headerHeight: Ref<number, number>;
1896
+ enableHotkeys: Ref<boolean, boolean>;
1897
+ version: Ref<string, string>;
1898
+ borderRadiusValue: ComputedRef<"4px" | "6px" | "8px">;
1899
+ transitionName: ComputedRef<"" | "fade-transform" | "fade-slide" | "fade-zoom">;
1900
+ shouldEnableTransition: ComputedRef<boolean>;
1901
+ settingsState: ComputedRef<SettingsState>;
1902
+ syncCSSVariables: () => void;
1903
+ applyPreset: (preset: ThemePreset) => Promise<void>;
1904
+ resetSettings: () => void;
1905
+ updateThemeMode: (mode: ThemeMode) => Promise<void>;
1906
+ toggleCollapse: () => void;
1907
+ }, "borderRadiusValue" | "transitionName" | "shouldEnableTransition" | "settingsState">, Pick<{
1908
+ themeMode: Ref<ThemeMode, ThemeMode>;
1909
+ primaryColor: Ref<string, string>;
1910
+ borderRadius: Ref<BorderRadiusSize, BorderRadiusSize>;
1911
+ transitionType: Ref<TransitionType, TransitionType>;
1912
+ enableTransition: Ref<boolean, boolean>;
1913
+ layoutMode: Ref<LayoutMode, LayoutMode>;
1914
+ menuExpandMode: Ref<MenuExpandMode, MenuExpandMode>;
1915
+ collapsed: Ref<boolean, boolean>;
1916
+ fixedHeader: Ref<boolean, boolean>;
1917
+ showBreadcrumb: Ref<boolean, boolean>;
1918
+ showBreadcrumbIcon: Ref<boolean, boolean>;
1919
+ showTagsView: Ref<boolean, boolean>;
1920
+ tagsViewHeight: Ref<number, number>;
1921
+ tagsViewStyle: Ref<TagsViewStyle, TagsViewStyle>;
1922
+ showFooter: Ref<boolean, boolean>;
1923
+ sidebarWidth: Ref<number, number>;
1924
+ sidebarCollapsedWidth: Ref<number, number>;
1925
+ headerHeight: Ref<number, number>;
1926
+ enableHotkeys: Ref<boolean, boolean>;
1927
+ version: Ref<string, string>;
1928
+ borderRadiusValue: ComputedRef<"4px" | "6px" | "8px">;
1929
+ transitionName: ComputedRef<"" | "fade-transform" | "fade-slide" | "fade-zoom">;
1930
+ shouldEnableTransition: ComputedRef<boolean>;
1931
+ settingsState: ComputedRef<SettingsState>;
1932
+ syncCSSVariables: () => void;
1933
+ applyPreset: (preset: ThemePreset) => Promise<void>;
1934
+ resetSettings: () => void;
1935
+ updateThemeMode: (mode: ThemeMode) => Promise<void>;
1936
+ toggleCollapse: () => void;
1937
+ }, "syncCSSVariables" | "applyPreset" | "resetSettings" | "updateThemeMode" | "toggleCollapse">>;
1938
+
1939
+ export { }