@robot-admin/layout 3.0.0 → 3.2.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.
package/dist/index.d.cts CHANGED
@@ -1,9 +1,15 @@
1
+ import { AllowedComponentProps } from 'vue';
1
2
  import { App } from 'vue';
2
3
  import { Component } from 'vue';
4
+ import { ComponentCustomProps } from 'vue';
5
+ import { ComponentOptionsBase } from 'vue';
3
6
  import { ComponentOptionsMixin } from 'vue';
4
7
  import { ComponentProvideOptions } from 'vue';
5
8
  import { ComputedRef } from 'vue';
9
+ import { CreateComponentPublicInstanceWithMixins } from 'vue';
6
10
  import { DefineComponent } from 'vue';
11
+ import { GlobalComponents } from 'vue';
12
+ import { GlobalDirectives } from 'vue';
7
13
  import { InjectionKey } from 'vue';
8
14
  import { MaybeRefOrGetter } from 'vue';
9
15
  import { PublicProps } from 'vue';
@@ -12,6 +18,7 @@ import { RouteLocationNormalizedLoaded } from 'vue-router';
12
18
  import { Store } from 'pinia';
13
19
  import { StoreDefinition } from 'pinia';
14
20
  import { VNode } from 'vue';
21
+ import { VNodeProps } from 'vue';
15
22
  import { WritableComputedRef } from 'vue';
16
23
 
17
24
  declare const __VLS_component: DefineComponent< {}, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, true, {}, HTMLDivElement>;
@@ -25,29 +32,8 @@ width: number;
25
32
  maxImportBytes: number;
26
33
  }, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
27
34
 
28
- declare const __VLS_component_3: DefineComponent<__VLS_Props_9, {
29
- collapsed: ComputedRef<boolean>;
30
- toggleCollapse: () => void;
31
- }, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
32
- "update:collapsed": (value: boolean) => any;
33
- }, string, PublicProps, Readonly<__VLS_Props_9> & Readonly<{
34
- "onUpdate:collapsed"?: ((value: boolean) => any) | undefined;
35
- }>, {
36
- collapsed: boolean;
37
- }, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
38
-
39
- declare const __VLS_component_4: DefineComponent< {}, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, true, {}, HTMLDivElement>;
40
-
41
- declare const __VLS_component_5: DefineComponent< {}, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, true, {}, HTMLDivElement>;
42
-
43
- declare const __VLS_component_6: DefineComponent< {}, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, true, {}, HTMLDivElement>;
44
-
45
- declare const __VLS_component_7: DefineComponent< {}, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, true, {}, HTMLDivElement>;
46
-
47
- declare const __VLS_component_8: DefineComponent< {}, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, true, {}, HTMLDivElement>;
48
-
49
35
  declare type __VLS_Props = {
50
- /** 抽屉宽度,保持 2.x 默认值 */
36
+ /** 抽屉宽度,默认 380px */
51
37
  width?: number;
52
38
  /** 显式设置 Store;优先级高于 setupLayout 注入和默认 Store */
53
39
  store?: SettingsStoreInstance;
@@ -111,11 +97,6 @@ declare type __VLS_Props_8 = {
111
97
  data: MenuOptions[];
112
98
  };
113
99
 
114
- declare type __VLS_Props_9 = {
115
- /** 控制侧边栏折叠状态 (支持 v-model:collapsed) */
116
- collapsed?: boolean;
117
- };
118
-
119
100
  declare type __VLS_PublicProps = {
120
101
  "show"?: boolean;
121
102
  } & __VLS_Props;
@@ -164,20 +145,42 @@ declare function __VLS_template_2(): {
164
145
  slots: {
165
146
  'appearance-prepend'?(_: {
166
147
  settings: Store<string, Pick<{
148
+ defaults: Readonly<{
149
+ themeMode: ThemeMode;
150
+ primaryColor: string;
151
+ borderRadius: BorderRadiusSize_2;
152
+ transitionType: TransitionType_2;
153
+ enableTransition: boolean;
154
+ layoutMode: LayoutMode;
155
+ menuExpandMode: MenuExpandMode_2;
156
+ collapsed: boolean;
157
+ fixedHeader: boolean;
158
+ showBreadcrumb: boolean;
159
+ showBreadcrumbIcon: boolean;
160
+ showTagsView: boolean;
161
+ tagsViewHeight: number;
162
+ tagsViewStyle: TagsViewStyle_2;
163
+ showFooter: boolean;
164
+ sidebarWidth: number;
165
+ sidebarCollapsedWidth: number;
166
+ headerHeight: number;
167
+ enableHotkeys: boolean;
168
+ version: string;
169
+ }>;
167
170
  themeMode: Ref<ThemeMode, ThemeMode>;
168
171
  primaryColor: Ref<string, string>;
169
- borderRadius: Ref<BorderRadiusSize, BorderRadiusSize>;
170
- transitionType: Ref<TransitionType, TransitionType>;
172
+ borderRadius: Ref<BorderRadiusSize_2, BorderRadiusSize_2>;
173
+ transitionType: Ref<TransitionType_2, TransitionType_2>;
171
174
  enableTransition: Ref<boolean, boolean>;
172
175
  layoutMode: Ref<LayoutMode, LayoutMode>;
173
- menuExpandMode: Ref<MenuExpandMode, MenuExpandMode>;
176
+ menuExpandMode: Ref<MenuExpandMode_2, MenuExpandMode_2>;
174
177
  collapsed: Ref<boolean, boolean>;
175
178
  fixedHeader: Ref<boolean, boolean>;
176
179
  showBreadcrumb: Ref<boolean, boolean>;
177
180
  showBreadcrumbIcon: Ref<boolean, boolean>;
178
181
  showTagsView: Ref<boolean, boolean>;
179
182
  tagsViewHeight: Ref<number, number>;
180
- tagsViewStyle: Ref<TagsViewStyle, TagsViewStyle>;
183
+ tagsViewStyle: Ref<TagsViewStyle_2, TagsViewStyle_2>;
181
184
  showFooter: Ref<boolean, boolean>;
182
185
  sidebarWidth: Ref<number, number>;
183
186
  sidebarCollapsedWidth: Ref<number, number>;
@@ -187,27 +190,49 @@ declare function __VLS_template_2(): {
187
190
  borderRadiusValue: ComputedRef<"4px" | "6px" | "8px">;
188
191
  transitionName: ComputedRef<"" | "fade-transform" | "fade-slide" | "fade-zoom">;
189
192
  shouldEnableTransition: ComputedRef<boolean>;
190
- settingsState: ComputedRef<SettingsState>;
191
- syncCSSVariables: () => void;
193
+ settingsState: ComputedRef<SettingsState_2>;
194
+ syncCSSVariables: () => void | undefined;
192
195
  applyPreset: (preset: ThemePreset) => Promise<void>;
193
196
  resetSettings: () => void;
194
197
  updateThemeMode: (mode: ThemeMode) => Promise<void>;
195
198
  toggleCollapse: () => void;
196
- }, "themeMode" | "layoutMode" | "primaryColor" | "borderRadius" | "transitionType" | "enableTransition" | "menuExpandMode" | "collapsed" | "fixedHeader" | "showBreadcrumb" | "showBreadcrumbIcon" | "showTagsView" | "tagsViewHeight" | "tagsViewStyle" | "showFooter" | "sidebarWidth" | "sidebarCollapsedWidth" | "headerHeight" | "enableHotkeys" | "version">, Pick<{
199
+ }, "themeMode" | "layoutMode" | "primaryColor" | "borderRadius" | "transitionType" | "enableTransition" | "menuExpandMode" | "collapsed" | "fixedHeader" | "showBreadcrumb" | "showBreadcrumbIcon" | "showTagsView" | "tagsViewHeight" | "tagsViewStyle" | "showFooter" | "sidebarWidth" | "sidebarCollapsedWidth" | "headerHeight" | "enableHotkeys" | "version" | "defaults">, Pick<{
200
+ defaults: Readonly<{
201
+ themeMode: ThemeMode;
202
+ primaryColor: string;
203
+ borderRadius: BorderRadiusSize_2;
204
+ transitionType: TransitionType_2;
205
+ enableTransition: boolean;
206
+ layoutMode: LayoutMode;
207
+ menuExpandMode: MenuExpandMode_2;
208
+ collapsed: boolean;
209
+ fixedHeader: boolean;
210
+ showBreadcrumb: boolean;
211
+ showBreadcrumbIcon: boolean;
212
+ showTagsView: boolean;
213
+ tagsViewHeight: number;
214
+ tagsViewStyle: TagsViewStyle_2;
215
+ showFooter: boolean;
216
+ sidebarWidth: number;
217
+ sidebarCollapsedWidth: number;
218
+ headerHeight: number;
219
+ enableHotkeys: boolean;
220
+ version: string;
221
+ }>;
197
222
  themeMode: Ref<ThemeMode, ThemeMode>;
198
223
  primaryColor: Ref<string, string>;
199
- borderRadius: Ref<BorderRadiusSize, BorderRadiusSize>;
200
- transitionType: Ref<TransitionType, TransitionType>;
224
+ borderRadius: Ref<BorderRadiusSize_2, BorderRadiusSize_2>;
225
+ transitionType: Ref<TransitionType_2, TransitionType_2>;
201
226
  enableTransition: Ref<boolean, boolean>;
202
227
  layoutMode: Ref<LayoutMode, LayoutMode>;
203
- menuExpandMode: Ref<MenuExpandMode, MenuExpandMode>;
228
+ menuExpandMode: Ref<MenuExpandMode_2, MenuExpandMode_2>;
204
229
  collapsed: Ref<boolean, boolean>;
205
230
  fixedHeader: Ref<boolean, boolean>;
206
231
  showBreadcrumb: Ref<boolean, boolean>;
207
232
  showBreadcrumbIcon: Ref<boolean, boolean>;
208
233
  showTagsView: Ref<boolean, boolean>;
209
234
  tagsViewHeight: Ref<number, number>;
210
- tagsViewStyle: Ref<TagsViewStyle, TagsViewStyle>;
235
+ tagsViewStyle: Ref<TagsViewStyle_2, TagsViewStyle_2>;
211
236
  showFooter: Ref<boolean, boolean>;
212
237
  sidebarWidth: Ref<number, number>;
213
238
  sidebarCollapsedWidth: Ref<number, number>;
@@ -217,27 +242,49 @@ declare function __VLS_template_2(): {
217
242
  borderRadiusValue: ComputedRef<"4px" | "6px" | "8px">;
218
243
  transitionName: ComputedRef<"" | "fade-transform" | "fade-slide" | "fade-zoom">;
219
244
  shouldEnableTransition: ComputedRef<boolean>;
220
- settingsState: ComputedRef<SettingsState>;
221
- syncCSSVariables: () => void;
245
+ settingsState: ComputedRef<SettingsState_2>;
246
+ syncCSSVariables: () => void | undefined;
222
247
  applyPreset: (preset: ThemePreset) => Promise<void>;
223
248
  resetSettings: () => void;
224
249
  updateThemeMode: (mode: ThemeMode) => Promise<void>;
225
250
  toggleCollapse: () => void;
226
251
  }, "borderRadiusValue" | "transitionName" | "shouldEnableTransition" | "settingsState">, Pick<{
252
+ defaults: Readonly<{
253
+ themeMode: ThemeMode;
254
+ primaryColor: string;
255
+ borderRadius: BorderRadiusSize_2;
256
+ transitionType: TransitionType_2;
257
+ enableTransition: boolean;
258
+ layoutMode: LayoutMode;
259
+ menuExpandMode: MenuExpandMode_2;
260
+ collapsed: boolean;
261
+ fixedHeader: boolean;
262
+ showBreadcrumb: boolean;
263
+ showBreadcrumbIcon: boolean;
264
+ showTagsView: boolean;
265
+ tagsViewHeight: number;
266
+ tagsViewStyle: TagsViewStyle_2;
267
+ showFooter: boolean;
268
+ sidebarWidth: number;
269
+ sidebarCollapsedWidth: number;
270
+ headerHeight: number;
271
+ enableHotkeys: boolean;
272
+ version: string;
273
+ }>;
227
274
  themeMode: Ref<ThemeMode, ThemeMode>;
228
275
  primaryColor: Ref<string, string>;
229
- borderRadius: Ref<BorderRadiusSize, BorderRadiusSize>;
230
- transitionType: Ref<TransitionType, TransitionType>;
276
+ borderRadius: Ref<BorderRadiusSize_2, BorderRadiusSize_2>;
277
+ transitionType: Ref<TransitionType_2, TransitionType_2>;
231
278
  enableTransition: Ref<boolean, boolean>;
232
279
  layoutMode: Ref<LayoutMode, LayoutMode>;
233
- menuExpandMode: Ref<MenuExpandMode, MenuExpandMode>;
280
+ menuExpandMode: Ref<MenuExpandMode_2, MenuExpandMode_2>;
234
281
  collapsed: Ref<boolean, boolean>;
235
282
  fixedHeader: Ref<boolean, boolean>;
236
283
  showBreadcrumb: Ref<boolean, boolean>;
237
284
  showBreadcrumbIcon: Ref<boolean, boolean>;
238
285
  showTagsView: Ref<boolean, boolean>;
239
286
  tagsViewHeight: Ref<number, number>;
240
- tagsViewStyle: Ref<TagsViewStyle, TagsViewStyle>;
287
+ tagsViewStyle: Ref<TagsViewStyle_2, TagsViewStyle_2>;
241
288
  showFooter: Ref<boolean, boolean>;
242
289
  sidebarWidth: Ref<number, number>;
243
290
  sidebarCollapsedWidth: Ref<number, number>;
@@ -247,8 +294,8 @@ declare function __VLS_template_2(): {
247
294
  borderRadiusValue: ComputedRef<"4px" | "6px" | "8px">;
248
295
  transitionName: ComputedRef<"" | "fade-transform" | "fade-slide" | "fade-zoom">;
249
296
  shouldEnableTransition: ComputedRef<boolean>;
250
- settingsState: ComputedRef<SettingsState>;
251
- syncCSSVariables: () => void;
297
+ settingsState: ComputedRef<SettingsState_2>;
298
+ syncCSSVariables: () => void | undefined;
252
299
  applyPreset: (preset: ThemePreset) => Promise<void>;
253
300
  resetSettings: () => void;
254
301
  updateThemeMode: (mode: ThemeMode) => Promise<void>;
@@ -257,20 +304,42 @@ declare function __VLS_template_2(): {
257
304
  }): any;
258
305
  'appearance-append'?(_: {
259
306
  settings: Store<string, Pick<{
307
+ defaults: Readonly<{
308
+ themeMode: ThemeMode;
309
+ primaryColor: string;
310
+ borderRadius: BorderRadiusSize_2;
311
+ transitionType: TransitionType_2;
312
+ enableTransition: boolean;
313
+ layoutMode: LayoutMode;
314
+ menuExpandMode: MenuExpandMode_2;
315
+ collapsed: boolean;
316
+ fixedHeader: boolean;
317
+ showBreadcrumb: boolean;
318
+ showBreadcrumbIcon: boolean;
319
+ showTagsView: boolean;
320
+ tagsViewHeight: number;
321
+ tagsViewStyle: TagsViewStyle_2;
322
+ showFooter: boolean;
323
+ sidebarWidth: number;
324
+ sidebarCollapsedWidth: number;
325
+ headerHeight: number;
326
+ enableHotkeys: boolean;
327
+ version: string;
328
+ }>;
260
329
  themeMode: Ref<ThemeMode, ThemeMode>;
261
330
  primaryColor: Ref<string, string>;
262
- borderRadius: Ref<BorderRadiusSize, BorderRadiusSize>;
263
- transitionType: Ref<TransitionType, TransitionType>;
331
+ borderRadius: Ref<BorderRadiusSize_2, BorderRadiusSize_2>;
332
+ transitionType: Ref<TransitionType_2, TransitionType_2>;
264
333
  enableTransition: Ref<boolean, boolean>;
265
334
  layoutMode: Ref<LayoutMode, LayoutMode>;
266
- menuExpandMode: Ref<MenuExpandMode, MenuExpandMode>;
335
+ menuExpandMode: Ref<MenuExpandMode_2, MenuExpandMode_2>;
267
336
  collapsed: Ref<boolean, boolean>;
268
337
  fixedHeader: Ref<boolean, boolean>;
269
338
  showBreadcrumb: Ref<boolean, boolean>;
270
339
  showBreadcrumbIcon: Ref<boolean, boolean>;
271
340
  showTagsView: Ref<boolean, boolean>;
272
341
  tagsViewHeight: Ref<number, number>;
273
- tagsViewStyle: Ref<TagsViewStyle, TagsViewStyle>;
342
+ tagsViewStyle: Ref<TagsViewStyle_2, TagsViewStyle_2>;
274
343
  showFooter: Ref<boolean, boolean>;
275
344
  sidebarWidth: Ref<number, number>;
276
345
  sidebarCollapsedWidth: Ref<number, number>;
@@ -280,27 +349,49 @@ declare function __VLS_template_2(): {
280
349
  borderRadiusValue: ComputedRef<"4px" | "6px" | "8px">;
281
350
  transitionName: ComputedRef<"" | "fade-transform" | "fade-slide" | "fade-zoom">;
282
351
  shouldEnableTransition: ComputedRef<boolean>;
283
- settingsState: ComputedRef<SettingsState>;
284
- syncCSSVariables: () => void;
352
+ settingsState: ComputedRef<SettingsState_2>;
353
+ syncCSSVariables: () => void | undefined;
285
354
  applyPreset: (preset: ThemePreset) => Promise<void>;
286
355
  resetSettings: () => void;
287
356
  updateThemeMode: (mode: ThemeMode) => Promise<void>;
288
357
  toggleCollapse: () => void;
289
- }, "themeMode" | "layoutMode" | "primaryColor" | "borderRadius" | "transitionType" | "enableTransition" | "menuExpandMode" | "collapsed" | "fixedHeader" | "showBreadcrumb" | "showBreadcrumbIcon" | "showTagsView" | "tagsViewHeight" | "tagsViewStyle" | "showFooter" | "sidebarWidth" | "sidebarCollapsedWidth" | "headerHeight" | "enableHotkeys" | "version">, Pick<{
358
+ }, "themeMode" | "layoutMode" | "primaryColor" | "borderRadius" | "transitionType" | "enableTransition" | "menuExpandMode" | "collapsed" | "fixedHeader" | "showBreadcrumb" | "showBreadcrumbIcon" | "showTagsView" | "tagsViewHeight" | "tagsViewStyle" | "showFooter" | "sidebarWidth" | "sidebarCollapsedWidth" | "headerHeight" | "enableHotkeys" | "version" | "defaults">, Pick<{
359
+ defaults: Readonly<{
360
+ themeMode: ThemeMode;
361
+ primaryColor: string;
362
+ borderRadius: BorderRadiusSize_2;
363
+ transitionType: TransitionType_2;
364
+ enableTransition: boolean;
365
+ layoutMode: LayoutMode;
366
+ menuExpandMode: MenuExpandMode_2;
367
+ collapsed: boolean;
368
+ fixedHeader: boolean;
369
+ showBreadcrumb: boolean;
370
+ showBreadcrumbIcon: boolean;
371
+ showTagsView: boolean;
372
+ tagsViewHeight: number;
373
+ tagsViewStyle: TagsViewStyle_2;
374
+ showFooter: boolean;
375
+ sidebarWidth: number;
376
+ sidebarCollapsedWidth: number;
377
+ headerHeight: number;
378
+ enableHotkeys: boolean;
379
+ version: string;
380
+ }>;
290
381
  themeMode: Ref<ThemeMode, ThemeMode>;
291
382
  primaryColor: Ref<string, string>;
292
- borderRadius: Ref<BorderRadiusSize, BorderRadiusSize>;
293
- transitionType: Ref<TransitionType, TransitionType>;
383
+ borderRadius: Ref<BorderRadiusSize_2, BorderRadiusSize_2>;
384
+ transitionType: Ref<TransitionType_2, TransitionType_2>;
294
385
  enableTransition: Ref<boolean, boolean>;
295
386
  layoutMode: Ref<LayoutMode, LayoutMode>;
296
- menuExpandMode: Ref<MenuExpandMode, MenuExpandMode>;
387
+ menuExpandMode: Ref<MenuExpandMode_2, MenuExpandMode_2>;
297
388
  collapsed: Ref<boolean, boolean>;
298
389
  fixedHeader: Ref<boolean, boolean>;
299
390
  showBreadcrumb: Ref<boolean, boolean>;
300
391
  showBreadcrumbIcon: Ref<boolean, boolean>;
301
392
  showTagsView: Ref<boolean, boolean>;
302
393
  tagsViewHeight: Ref<number, number>;
303
- tagsViewStyle: Ref<TagsViewStyle, TagsViewStyle>;
394
+ tagsViewStyle: Ref<TagsViewStyle_2, TagsViewStyle_2>;
304
395
  showFooter: Ref<boolean, boolean>;
305
396
  sidebarWidth: Ref<number, number>;
306
397
  sidebarCollapsedWidth: Ref<number, number>;
@@ -310,27 +401,49 @@ declare function __VLS_template_2(): {
310
401
  borderRadiusValue: ComputedRef<"4px" | "6px" | "8px">;
311
402
  transitionName: ComputedRef<"" | "fade-transform" | "fade-slide" | "fade-zoom">;
312
403
  shouldEnableTransition: ComputedRef<boolean>;
313
- settingsState: ComputedRef<SettingsState>;
314
- syncCSSVariables: () => void;
404
+ settingsState: ComputedRef<SettingsState_2>;
405
+ syncCSSVariables: () => void | undefined;
315
406
  applyPreset: (preset: ThemePreset) => Promise<void>;
316
407
  resetSettings: () => void;
317
408
  updateThemeMode: (mode: ThemeMode) => Promise<void>;
318
409
  toggleCollapse: () => void;
319
410
  }, "borderRadiusValue" | "transitionName" | "shouldEnableTransition" | "settingsState">, Pick<{
411
+ defaults: Readonly<{
412
+ themeMode: ThemeMode;
413
+ primaryColor: string;
414
+ borderRadius: BorderRadiusSize_2;
415
+ transitionType: TransitionType_2;
416
+ enableTransition: boolean;
417
+ layoutMode: LayoutMode;
418
+ menuExpandMode: MenuExpandMode_2;
419
+ collapsed: boolean;
420
+ fixedHeader: boolean;
421
+ showBreadcrumb: boolean;
422
+ showBreadcrumbIcon: boolean;
423
+ showTagsView: boolean;
424
+ tagsViewHeight: number;
425
+ tagsViewStyle: TagsViewStyle_2;
426
+ showFooter: boolean;
427
+ sidebarWidth: number;
428
+ sidebarCollapsedWidth: number;
429
+ headerHeight: number;
430
+ enableHotkeys: boolean;
431
+ version: string;
432
+ }>;
320
433
  themeMode: Ref<ThemeMode, ThemeMode>;
321
434
  primaryColor: Ref<string, string>;
322
- borderRadius: Ref<BorderRadiusSize, BorderRadiusSize>;
323
- transitionType: Ref<TransitionType, TransitionType>;
435
+ borderRadius: Ref<BorderRadiusSize_2, BorderRadiusSize_2>;
436
+ transitionType: Ref<TransitionType_2, TransitionType_2>;
324
437
  enableTransition: Ref<boolean, boolean>;
325
438
  layoutMode: Ref<LayoutMode, LayoutMode>;
326
- menuExpandMode: Ref<MenuExpandMode, MenuExpandMode>;
439
+ menuExpandMode: Ref<MenuExpandMode_2, MenuExpandMode_2>;
327
440
  collapsed: Ref<boolean, boolean>;
328
441
  fixedHeader: Ref<boolean, boolean>;
329
442
  showBreadcrumb: Ref<boolean, boolean>;
330
443
  showBreadcrumbIcon: Ref<boolean, boolean>;
331
444
  showTagsView: Ref<boolean, boolean>;
332
445
  tagsViewHeight: Ref<number, number>;
333
- tagsViewStyle: Ref<TagsViewStyle, TagsViewStyle>;
446
+ tagsViewStyle: Ref<TagsViewStyle_2, TagsViewStyle_2>;
334
447
  showFooter: Ref<boolean, boolean>;
335
448
  sidebarWidth: Ref<number, number>;
336
449
  sidebarCollapsedWidth: Ref<number, number>;
@@ -340,8 +453,8 @@ declare function __VLS_template_2(): {
340
453
  borderRadiusValue: ComputedRef<"4px" | "6px" | "8px">;
341
454
  transitionName: ComputedRef<"" | "fade-transform" | "fade-slide" | "fade-zoom">;
342
455
  shouldEnableTransition: ComputedRef<boolean>;
343
- settingsState: ComputedRef<SettingsState>;
344
- syncCSSVariables: () => void;
456
+ settingsState: ComputedRef<SettingsState_2>;
457
+ syncCSSVariables: () => void | undefined;
345
458
  applyPreset: (preset: ThemePreset) => Promise<void>;
346
459
  resetSettings: () => void;
347
460
  updateThemeMode: (mode: ThemeMode) => Promise<void>;
@@ -350,20 +463,42 @@ declare function __VLS_template_2(): {
350
463
  }): any;
351
464
  'layout-prepend'?(_: {
352
465
  settings: Store<string, Pick<{
466
+ defaults: Readonly<{
467
+ themeMode: ThemeMode;
468
+ primaryColor: string;
469
+ borderRadius: BorderRadiusSize_2;
470
+ transitionType: TransitionType_2;
471
+ enableTransition: boolean;
472
+ layoutMode: LayoutMode;
473
+ menuExpandMode: MenuExpandMode_2;
474
+ collapsed: boolean;
475
+ fixedHeader: boolean;
476
+ showBreadcrumb: boolean;
477
+ showBreadcrumbIcon: boolean;
478
+ showTagsView: boolean;
479
+ tagsViewHeight: number;
480
+ tagsViewStyle: TagsViewStyle_2;
481
+ showFooter: boolean;
482
+ sidebarWidth: number;
483
+ sidebarCollapsedWidth: number;
484
+ headerHeight: number;
485
+ enableHotkeys: boolean;
486
+ version: string;
487
+ }>;
353
488
  themeMode: Ref<ThemeMode, ThemeMode>;
354
489
  primaryColor: Ref<string, string>;
355
- borderRadius: Ref<BorderRadiusSize, BorderRadiusSize>;
356
- transitionType: Ref<TransitionType, TransitionType>;
490
+ borderRadius: Ref<BorderRadiusSize_2, BorderRadiusSize_2>;
491
+ transitionType: Ref<TransitionType_2, TransitionType_2>;
357
492
  enableTransition: Ref<boolean, boolean>;
358
493
  layoutMode: Ref<LayoutMode, LayoutMode>;
359
- menuExpandMode: Ref<MenuExpandMode, MenuExpandMode>;
494
+ menuExpandMode: Ref<MenuExpandMode_2, MenuExpandMode_2>;
360
495
  collapsed: Ref<boolean, boolean>;
361
496
  fixedHeader: Ref<boolean, boolean>;
362
497
  showBreadcrumb: Ref<boolean, boolean>;
363
498
  showBreadcrumbIcon: Ref<boolean, boolean>;
364
499
  showTagsView: Ref<boolean, boolean>;
365
500
  tagsViewHeight: Ref<number, number>;
366
- tagsViewStyle: Ref<TagsViewStyle, TagsViewStyle>;
501
+ tagsViewStyle: Ref<TagsViewStyle_2, TagsViewStyle_2>;
367
502
  showFooter: Ref<boolean, boolean>;
368
503
  sidebarWidth: Ref<number, number>;
369
504
  sidebarCollapsedWidth: Ref<number, number>;
@@ -373,27 +508,49 @@ declare function __VLS_template_2(): {
373
508
  borderRadiusValue: ComputedRef<"4px" | "6px" | "8px">;
374
509
  transitionName: ComputedRef<"" | "fade-transform" | "fade-slide" | "fade-zoom">;
375
510
  shouldEnableTransition: ComputedRef<boolean>;
376
- settingsState: ComputedRef<SettingsState>;
377
- syncCSSVariables: () => void;
511
+ settingsState: ComputedRef<SettingsState_2>;
512
+ syncCSSVariables: () => void | undefined;
378
513
  applyPreset: (preset: ThemePreset) => Promise<void>;
379
514
  resetSettings: () => void;
380
515
  updateThemeMode: (mode: ThemeMode) => Promise<void>;
381
516
  toggleCollapse: () => void;
382
- }, "themeMode" | "layoutMode" | "primaryColor" | "borderRadius" | "transitionType" | "enableTransition" | "menuExpandMode" | "collapsed" | "fixedHeader" | "showBreadcrumb" | "showBreadcrumbIcon" | "showTagsView" | "tagsViewHeight" | "tagsViewStyle" | "showFooter" | "sidebarWidth" | "sidebarCollapsedWidth" | "headerHeight" | "enableHotkeys" | "version">, Pick<{
517
+ }, "themeMode" | "layoutMode" | "primaryColor" | "borderRadius" | "transitionType" | "enableTransition" | "menuExpandMode" | "collapsed" | "fixedHeader" | "showBreadcrumb" | "showBreadcrumbIcon" | "showTagsView" | "tagsViewHeight" | "tagsViewStyle" | "showFooter" | "sidebarWidth" | "sidebarCollapsedWidth" | "headerHeight" | "enableHotkeys" | "version" | "defaults">, Pick<{
518
+ defaults: Readonly<{
519
+ themeMode: ThemeMode;
520
+ primaryColor: string;
521
+ borderRadius: BorderRadiusSize_2;
522
+ transitionType: TransitionType_2;
523
+ enableTransition: boolean;
524
+ layoutMode: LayoutMode;
525
+ menuExpandMode: MenuExpandMode_2;
526
+ collapsed: boolean;
527
+ fixedHeader: boolean;
528
+ showBreadcrumb: boolean;
529
+ showBreadcrumbIcon: boolean;
530
+ showTagsView: boolean;
531
+ tagsViewHeight: number;
532
+ tagsViewStyle: TagsViewStyle_2;
533
+ showFooter: boolean;
534
+ sidebarWidth: number;
535
+ sidebarCollapsedWidth: number;
536
+ headerHeight: number;
537
+ enableHotkeys: boolean;
538
+ version: string;
539
+ }>;
383
540
  themeMode: Ref<ThemeMode, ThemeMode>;
384
541
  primaryColor: Ref<string, string>;
385
- borderRadius: Ref<BorderRadiusSize, BorderRadiusSize>;
386
- transitionType: Ref<TransitionType, TransitionType>;
542
+ borderRadius: Ref<BorderRadiusSize_2, BorderRadiusSize_2>;
543
+ transitionType: Ref<TransitionType_2, TransitionType_2>;
387
544
  enableTransition: Ref<boolean, boolean>;
388
545
  layoutMode: Ref<LayoutMode, LayoutMode>;
389
- menuExpandMode: Ref<MenuExpandMode, MenuExpandMode>;
546
+ menuExpandMode: Ref<MenuExpandMode_2, MenuExpandMode_2>;
390
547
  collapsed: Ref<boolean, boolean>;
391
548
  fixedHeader: Ref<boolean, boolean>;
392
549
  showBreadcrumb: Ref<boolean, boolean>;
393
550
  showBreadcrumbIcon: Ref<boolean, boolean>;
394
551
  showTagsView: Ref<boolean, boolean>;
395
552
  tagsViewHeight: Ref<number, number>;
396
- tagsViewStyle: Ref<TagsViewStyle, TagsViewStyle>;
553
+ tagsViewStyle: Ref<TagsViewStyle_2, TagsViewStyle_2>;
397
554
  showFooter: Ref<boolean, boolean>;
398
555
  sidebarWidth: Ref<number, number>;
399
556
  sidebarCollapsedWidth: Ref<number, number>;
@@ -403,27 +560,49 @@ declare function __VLS_template_2(): {
403
560
  borderRadiusValue: ComputedRef<"4px" | "6px" | "8px">;
404
561
  transitionName: ComputedRef<"" | "fade-transform" | "fade-slide" | "fade-zoom">;
405
562
  shouldEnableTransition: ComputedRef<boolean>;
406
- settingsState: ComputedRef<SettingsState>;
407
- syncCSSVariables: () => void;
563
+ settingsState: ComputedRef<SettingsState_2>;
564
+ syncCSSVariables: () => void | undefined;
408
565
  applyPreset: (preset: ThemePreset) => Promise<void>;
409
566
  resetSettings: () => void;
410
567
  updateThemeMode: (mode: ThemeMode) => Promise<void>;
411
568
  toggleCollapse: () => void;
412
569
  }, "borderRadiusValue" | "transitionName" | "shouldEnableTransition" | "settingsState">, Pick<{
570
+ defaults: Readonly<{
571
+ themeMode: ThemeMode;
572
+ primaryColor: string;
573
+ borderRadius: BorderRadiusSize_2;
574
+ transitionType: TransitionType_2;
575
+ enableTransition: boolean;
576
+ layoutMode: LayoutMode;
577
+ menuExpandMode: MenuExpandMode_2;
578
+ collapsed: boolean;
579
+ fixedHeader: boolean;
580
+ showBreadcrumb: boolean;
581
+ showBreadcrumbIcon: boolean;
582
+ showTagsView: boolean;
583
+ tagsViewHeight: number;
584
+ tagsViewStyle: TagsViewStyle_2;
585
+ showFooter: boolean;
586
+ sidebarWidth: number;
587
+ sidebarCollapsedWidth: number;
588
+ headerHeight: number;
589
+ enableHotkeys: boolean;
590
+ version: string;
591
+ }>;
413
592
  themeMode: Ref<ThemeMode, ThemeMode>;
414
593
  primaryColor: Ref<string, string>;
415
- borderRadius: Ref<BorderRadiusSize, BorderRadiusSize>;
416
- transitionType: Ref<TransitionType, TransitionType>;
594
+ borderRadius: Ref<BorderRadiusSize_2, BorderRadiusSize_2>;
595
+ transitionType: Ref<TransitionType_2, TransitionType_2>;
417
596
  enableTransition: Ref<boolean, boolean>;
418
597
  layoutMode: Ref<LayoutMode, LayoutMode>;
419
- menuExpandMode: Ref<MenuExpandMode, MenuExpandMode>;
598
+ menuExpandMode: Ref<MenuExpandMode_2, MenuExpandMode_2>;
420
599
  collapsed: Ref<boolean, boolean>;
421
600
  fixedHeader: Ref<boolean, boolean>;
422
601
  showBreadcrumb: Ref<boolean, boolean>;
423
602
  showBreadcrumbIcon: Ref<boolean, boolean>;
424
603
  showTagsView: Ref<boolean, boolean>;
425
604
  tagsViewHeight: Ref<number, number>;
426
- tagsViewStyle: Ref<TagsViewStyle, TagsViewStyle>;
605
+ tagsViewStyle: Ref<TagsViewStyle_2, TagsViewStyle_2>;
427
606
  showFooter: Ref<boolean, boolean>;
428
607
  sidebarWidth: Ref<number, number>;
429
608
  sidebarCollapsedWidth: Ref<number, number>;
@@ -433,8 +612,8 @@ declare function __VLS_template_2(): {
433
612
  borderRadiusValue: ComputedRef<"4px" | "6px" | "8px">;
434
613
  transitionName: ComputedRef<"" | "fade-transform" | "fade-slide" | "fade-zoom">;
435
614
  shouldEnableTransition: ComputedRef<boolean>;
436
- settingsState: ComputedRef<SettingsState>;
437
- syncCSSVariables: () => void;
615
+ settingsState: ComputedRef<SettingsState_2>;
616
+ syncCSSVariables: () => void | undefined;
438
617
  applyPreset: (preset: ThemePreset) => Promise<void>;
439
618
  resetSettings: () => void;
440
619
  updateThemeMode: (mode: ThemeMode) => Promise<void>;
@@ -443,20 +622,42 @@ declare function __VLS_template_2(): {
443
622
  }): any;
444
623
  'layout-after-mode'?(_: {
445
624
  settings: Store<string, Pick<{
625
+ defaults: Readonly<{
626
+ themeMode: ThemeMode;
627
+ primaryColor: string;
628
+ borderRadius: BorderRadiusSize_2;
629
+ transitionType: TransitionType_2;
630
+ enableTransition: boolean;
631
+ layoutMode: LayoutMode;
632
+ menuExpandMode: MenuExpandMode_2;
633
+ collapsed: boolean;
634
+ fixedHeader: boolean;
635
+ showBreadcrumb: boolean;
636
+ showBreadcrumbIcon: boolean;
637
+ showTagsView: boolean;
638
+ tagsViewHeight: number;
639
+ tagsViewStyle: TagsViewStyle_2;
640
+ showFooter: boolean;
641
+ sidebarWidth: number;
642
+ sidebarCollapsedWidth: number;
643
+ headerHeight: number;
644
+ enableHotkeys: boolean;
645
+ version: string;
646
+ }>;
446
647
  themeMode: Ref<ThemeMode, ThemeMode>;
447
648
  primaryColor: Ref<string, string>;
448
- borderRadius: Ref<BorderRadiusSize, BorderRadiusSize>;
449
- transitionType: Ref<TransitionType, TransitionType>;
649
+ borderRadius: Ref<BorderRadiusSize_2, BorderRadiusSize_2>;
650
+ transitionType: Ref<TransitionType_2, TransitionType_2>;
450
651
  enableTransition: Ref<boolean, boolean>;
451
652
  layoutMode: Ref<LayoutMode, LayoutMode>;
452
- menuExpandMode: Ref<MenuExpandMode, MenuExpandMode>;
653
+ menuExpandMode: Ref<MenuExpandMode_2, MenuExpandMode_2>;
453
654
  collapsed: Ref<boolean, boolean>;
454
655
  fixedHeader: Ref<boolean, boolean>;
455
656
  showBreadcrumb: Ref<boolean, boolean>;
456
657
  showBreadcrumbIcon: Ref<boolean, boolean>;
457
658
  showTagsView: Ref<boolean, boolean>;
458
659
  tagsViewHeight: Ref<number, number>;
459
- tagsViewStyle: Ref<TagsViewStyle, TagsViewStyle>;
660
+ tagsViewStyle: Ref<TagsViewStyle_2, TagsViewStyle_2>;
460
661
  showFooter: Ref<boolean, boolean>;
461
662
  sidebarWidth: Ref<number, number>;
462
663
  sidebarCollapsedWidth: Ref<number, number>;
@@ -466,27 +667,49 @@ declare function __VLS_template_2(): {
466
667
  borderRadiusValue: ComputedRef<"4px" | "6px" | "8px">;
467
668
  transitionName: ComputedRef<"" | "fade-transform" | "fade-slide" | "fade-zoom">;
468
669
  shouldEnableTransition: ComputedRef<boolean>;
469
- settingsState: ComputedRef<SettingsState>;
470
- syncCSSVariables: () => void;
670
+ settingsState: ComputedRef<SettingsState_2>;
671
+ syncCSSVariables: () => void | undefined;
471
672
  applyPreset: (preset: ThemePreset) => Promise<void>;
472
673
  resetSettings: () => void;
473
674
  updateThemeMode: (mode: ThemeMode) => Promise<void>;
474
675
  toggleCollapse: () => void;
475
- }, "themeMode" | "layoutMode" | "primaryColor" | "borderRadius" | "transitionType" | "enableTransition" | "menuExpandMode" | "collapsed" | "fixedHeader" | "showBreadcrumb" | "showBreadcrumbIcon" | "showTagsView" | "tagsViewHeight" | "tagsViewStyle" | "showFooter" | "sidebarWidth" | "sidebarCollapsedWidth" | "headerHeight" | "enableHotkeys" | "version">, Pick<{
676
+ }, "themeMode" | "layoutMode" | "primaryColor" | "borderRadius" | "transitionType" | "enableTransition" | "menuExpandMode" | "collapsed" | "fixedHeader" | "showBreadcrumb" | "showBreadcrumbIcon" | "showTagsView" | "tagsViewHeight" | "tagsViewStyle" | "showFooter" | "sidebarWidth" | "sidebarCollapsedWidth" | "headerHeight" | "enableHotkeys" | "version" | "defaults">, Pick<{
677
+ defaults: Readonly<{
678
+ themeMode: ThemeMode;
679
+ primaryColor: string;
680
+ borderRadius: BorderRadiusSize_2;
681
+ transitionType: TransitionType_2;
682
+ enableTransition: boolean;
683
+ layoutMode: LayoutMode;
684
+ menuExpandMode: MenuExpandMode_2;
685
+ collapsed: boolean;
686
+ fixedHeader: boolean;
687
+ showBreadcrumb: boolean;
688
+ showBreadcrumbIcon: boolean;
689
+ showTagsView: boolean;
690
+ tagsViewHeight: number;
691
+ tagsViewStyle: TagsViewStyle_2;
692
+ showFooter: boolean;
693
+ sidebarWidth: number;
694
+ sidebarCollapsedWidth: number;
695
+ headerHeight: number;
696
+ enableHotkeys: boolean;
697
+ version: string;
698
+ }>;
476
699
  themeMode: Ref<ThemeMode, ThemeMode>;
477
700
  primaryColor: Ref<string, string>;
478
- borderRadius: Ref<BorderRadiusSize, BorderRadiusSize>;
479
- transitionType: Ref<TransitionType, TransitionType>;
701
+ borderRadius: Ref<BorderRadiusSize_2, BorderRadiusSize_2>;
702
+ transitionType: Ref<TransitionType_2, TransitionType_2>;
480
703
  enableTransition: Ref<boolean, boolean>;
481
704
  layoutMode: Ref<LayoutMode, LayoutMode>;
482
- menuExpandMode: Ref<MenuExpandMode, MenuExpandMode>;
705
+ menuExpandMode: Ref<MenuExpandMode_2, MenuExpandMode_2>;
483
706
  collapsed: Ref<boolean, boolean>;
484
707
  fixedHeader: Ref<boolean, boolean>;
485
708
  showBreadcrumb: Ref<boolean, boolean>;
486
709
  showBreadcrumbIcon: Ref<boolean, boolean>;
487
710
  showTagsView: Ref<boolean, boolean>;
488
711
  tagsViewHeight: Ref<number, number>;
489
- tagsViewStyle: Ref<TagsViewStyle, TagsViewStyle>;
712
+ tagsViewStyle: Ref<TagsViewStyle_2, TagsViewStyle_2>;
490
713
  showFooter: Ref<boolean, boolean>;
491
714
  sidebarWidth: Ref<number, number>;
492
715
  sidebarCollapsedWidth: Ref<number, number>;
@@ -496,27 +719,49 @@ declare function __VLS_template_2(): {
496
719
  borderRadiusValue: ComputedRef<"4px" | "6px" | "8px">;
497
720
  transitionName: ComputedRef<"" | "fade-transform" | "fade-slide" | "fade-zoom">;
498
721
  shouldEnableTransition: ComputedRef<boolean>;
499
- settingsState: ComputedRef<SettingsState>;
500
- syncCSSVariables: () => void;
722
+ settingsState: ComputedRef<SettingsState_2>;
723
+ syncCSSVariables: () => void | undefined;
501
724
  applyPreset: (preset: ThemePreset) => Promise<void>;
502
725
  resetSettings: () => void;
503
726
  updateThemeMode: (mode: ThemeMode) => Promise<void>;
504
727
  toggleCollapse: () => void;
505
728
  }, "borderRadiusValue" | "transitionName" | "shouldEnableTransition" | "settingsState">, Pick<{
729
+ defaults: Readonly<{
730
+ themeMode: ThemeMode;
731
+ primaryColor: string;
732
+ borderRadius: BorderRadiusSize_2;
733
+ transitionType: TransitionType_2;
734
+ enableTransition: boolean;
735
+ layoutMode: LayoutMode;
736
+ menuExpandMode: MenuExpandMode_2;
737
+ collapsed: boolean;
738
+ fixedHeader: boolean;
739
+ showBreadcrumb: boolean;
740
+ showBreadcrumbIcon: boolean;
741
+ showTagsView: boolean;
742
+ tagsViewHeight: number;
743
+ tagsViewStyle: TagsViewStyle_2;
744
+ showFooter: boolean;
745
+ sidebarWidth: number;
746
+ sidebarCollapsedWidth: number;
747
+ headerHeight: number;
748
+ enableHotkeys: boolean;
749
+ version: string;
750
+ }>;
506
751
  themeMode: Ref<ThemeMode, ThemeMode>;
507
752
  primaryColor: Ref<string, string>;
508
- borderRadius: Ref<BorderRadiusSize, BorderRadiusSize>;
509
- transitionType: Ref<TransitionType, TransitionType>;
753
+ borderRadius: Ref<BorderRadiusSize_2, BorderRadiusSize_2>;
754
+ transitionType: Ref<TransitionType_2, TransitionType_2>;
510
755
  enableTransition: Ref<boolean, boolean>;
511
756
  layoutMode: Ref<LayoutMode, LayoutMode>;
512
- menuExpandMode: Ref<MenuExpandMode, MenuExpandMode>;
757
+ menuExpandMode: Ref<MenuExpandMode_2, MenuExpandMode_2>;
513
758
  collapsed: Ref<boolean, boolean>;
514
759
  fixedHeader: Ref<boolean, boolean>;
515
760
  showBreadcrumb: Ref<boolean, boolean>;
516
761
  showBreadcrumbIcon: Ref<boolean, boolean>;
517
762
  showTagsView: Ref<boolean, boolean>;
518
763
  tagsViewHeight: Ref<number, number>;
519
- tagsViewStyle: Ref<TagsViewStyle, TagsViewStyle>;
764
+ tagsViewStyle: Ref<TagsViewStyle_2, TagsViewStyle_2>;
520
765
  showFooter: Ref<boolean, boolean>;
521
766
  sidebarWidth: Ref<number, number>;
522
767
  sidebarCollapsedWidth: Ref<number, number>;
@@ -526,8 +771,8 @@ declare function __VLS_template_2(): {
526
771
  borderRadiusValue: ComputedRef<"4px" | "6px" | "8px">;
527
772
  transitionName: ComputedRef<"" | "fade-transform" | "fade-slide" | "fade-zoom">;
528
773
  shouldEnableTransition: ComputedRef<boolean>;
529
- settingsState: ComputedRef<SettingsState>;
530
- syncCSSVariables: () => void;
774
+ settingsState: ComputedRef<SettingsState_2>;
775
+ syncCSSVariables: () => void | undefined;
531
776
  applyPreset: (preset: ThemePreset) => Promise<void>;
532
777
  resetSettings: () => void;
533
778
  updateThemeMode: (mode: ThemeMode) => Promise<void>;
@@ -536,20 +781,42 @@ declare function __VLS_template_2(): {
536
781
  }): any;
537
782
  'layout-append'?(_: {
538
783
  settings: Store<string, Pick<{
784
+ defaults: Readonly<{
785
+ themeMode: ThemeMode;
786
+ primaryColor: string;
787
+ borderRadius: BorderRadiusSize_2;
788
+ transitionType: TransitionType_2;
789
+ enableTransition: boolean;
790
+ layoutMode: LayoutMode;
791
+ menuExpandMode: MenuExpandMode_2;
792
+ collapsed: boolean;
793
+ fixedHeader: boolean;
794
+ showBreadcrumb: boolean;
795
+ showBreadcrumbIcon: boolean;
796
+ showTagsView: boolean;
797
+ tagsViewHeight: number;
798
+ tagsViewStyle: TagsViewStyle_2;
799
+ showFooter: boolean;
800
+ sidebarWidth: number;
801
+ sidebarCollapsedWidth: number;
802
+ headerHeight: number;
803
+ enableHotkeys: boolean;
804
+ version: string;
805
+ }>;
539
806
  themeMode: Ref<ThemeMode, ThemeMode>;
540
807
  primaryColor: Ref<string, string>;
541
- borderRadius: Ref<BorderRadiusSize, BorderRadiusSize>;
542
- transitionType: Ref<TransitionType, TransitionType>;
808
+ borderRadius: Ref<BorderRadiusSize_2, BorderRadiusSize_2>;
809
+ transitionType: Ref<TransitionType_2, TransitionType_2>;
543
810
  enableTransition: Ref<boolean, boolean>;
544
811
  layoutMode: Ref<LayoutMode, LayoutMode>;
545
- menuExpandMode: Ref<MenuExpandMode, MenuExpandMode>;
812
+ menuExpandMode: Ref<MenuExpandMode_2, MenuExpandMode_2>;
546
813
  collapsed: Ref<boolean, boolean>;
547
814
  fixedHeader: Ref<boolean, boolean>;
548
815
  showBreadcrumb: Ref<boolean, boolean>;
549
816
  showBreadcrumbIcon: Ref<boolean, boolean>;
550
817
  showTagsView: Ref<boolean, boolean>;
551
818
  tagsViewHeight: Ref<number, number>;
552
- tagsViewStyle: Ref<TagsViewStyle, TagsViewStyle>;
819
+ tagsViewStyle: Ref<TagsViewStyle_2, TagsViewStyle_2>;
553
820
  showFooter: Ref<boolean, boolean>;
554
821
  sidebarWidth: Ref<number, number>;
555
822
  sidebarCollapsedWidth: Ref<number, number>;
@@ -559,27 +826,49 @@ declare function __VLS_template_2(): {
559
826
  borderRadiusValue: ComputedRef<"4px" | "6px" | "8px">;
560
827
  transitionName: ComputedRef<"" | "fade-transform" | "fade-slide" | "fade-zoom">;
561
828
  shouldEnableTransition: ComputedRef<boolean>;
562
- settingsState: ComputedRef<SettingsState>;
563
- syncCSSVariables: () => void;
829
+ settingsState: ComputedRef<SettingsState_2>;
830
+ syncCSSVariables: () => void | undefined;
564
831
  applyPreset: (preset: ThemePreset) => Promise<void>;
565
832
  resetSettings: () => void;
566
833
  updateThemeMode: (mode: ThemeMode) => Promise<void>;
567
834
  toggleCollapse: () => void;
568
- }, "themeMode" | "layoutMode" | "primaryColor" | "borderRadius" | "transitionType" | "enableTransition" | "menuExpandMode" | "collapsed" | "fixedHeader" | "showBreadcrumb" | "showBreadcrumbIcon" | "showTagsView" | "tagsViewHeight" | "tagsViewStyle" | "showFooter" | "sidebarWidth" | "sidebarCollapsedWidth" | "headerHeight" | "enableHotkeys" | "version">, Pick<{
835
+ }, "themeMode" | "layoutMode" | "primaryColor" | "borderRadius" | "transitionType" | "enableTransition" | "menuExpandMode" | "collapsed" | "fixedHeader" | "showBreadcrumb" | "showBreadcrumbIcon" | "showTagsView" | "tagsViewHeight" | "tagsViewStyle" | "showFooter" | "sidebarWidth" | "sidebarCollapsedWidth" | "headerHeight" | "enableHotkeys" | "version" | "defaults">, Pick<{
836
+ defaults: Readonly<{
837
+ themeMode: ThemeMode;
838
+ primaryColor: string;
839
+ borderRadius: BorderRadiusSize_2;
840
+ transitionType: TransitionType_2;
841
+ enableTransition: boolean;
842
+ layoutMode: LayoutMode;
843
+ menuExpandMode: MenuExpandMode_2;
844
+ collapsed: boolean;
845
+ fixedHeader: boolean;
846
+ showBreadcrumb: boolean;
847
+ showBreadcrumbIcon: boolean;
848
+ showTagsView: boolean;
849
+ tagsViewHeight: number;
850
+ tagsViewStyle: TagsViewStyle_2;
851
+ showFooter: boolean;
852
+ sidebarWidth: number;
853
+ sidebarCollapsedWidth: number;
854
+ headerHeight: number;
855
+ enableHotkeys: boolean;
856
+ version: string;
857
+ }>;
569
858
  themeMode: Ref<ThemeMode, ThemeMode>;
570
859
  primaryColor: Ref<string, string>;
571
- borderRadius: Ref<BorderRadiusSize, BorderRadiusSize>;
572
- transitionType: Ref<TransitionType, TransitionType>;
860
+ borderRadius: Ref<BorderRadiusSize_2, BorderRadiusSize_2>;
861
+ transitionType: Ref<TransitionType_2, TransitionType_2>;
573
862
  enableTransition: Ref<boolean, boolean>;
574
863
  layoutMode: Ref<LayoutMode, LayoutMode>;
575
- menuExpandMode: Ref<MenuExpandMode, MenuExpandMode>;
864
+ menuExpandMode: Ref<MenuExpandMode_2, MenuExpandMode_2>;
576
865
  collapsed: Ref<boolean, boolean>;
577
866
  fixedHeader: Ref<boolean, boolean>;
578
867
  showBreadcrumb: Ref<boolean, boolean>;
579
868
  showBreadcrumbIcon: Ref<boolean, boolean>;
580
869
  showTagsView: Ref<boolean, boolean>;
581
870
  tagsViewHeight: Ref<number, number>;
582
- tagsViewStyle: Ref<TagsViewStyle, TagsViewStyle>;
871
+ tagsViewStyle: Ref<TagsViewStyle_2, TagsViewStyle_2>;
583
872
  showFooter: Ref<boolean, boolean>;
584
873
  sidebarWidth: Ref<number, number>;
585
874
  sidebarCollapsedWidth: Ref<number, number>;
@@ -589,27 +878,49 @@ declare function __VLS_template_2(): {
589
878
  borderRadiusValue: ComputedRef<"4px" | "6px" | "8px">;
590
879
  transitionName: ComputedRef<"" | "fade-transform" | "fade-slide" | "fade-zoom">;
591
880
  shouldEnableTransition: ComputedRef<boolean>;
592
- settingsState: ComputedRef<SettingsState>;
593
- syncCSSVariables: () => void;
881
+ settingsState: ComputedRef<SettingsState_2>;
882
+ syncCSSVariables: () => void | undefined;
594
883
  applyPreset: (preset: ThemePreset) => Promise<void>;
595
884
  resetSettings: () => void;
596
885
  updateThemeMode: (mode: ThemeMode) => Promise<void>;
597
886
  toggleCollapse: () => void;
598
887
  }, "borderRadiusValue" | "transitionName" | "shouldEnableTransition" | "settingsState">, Pick<{
888
+ defaults: Readonly<{
889
+ themeMode: ThemeMode;
890
+ primaryColor: string;
891
+ borderRadius: BorderRadiusSize_2;
892
+ transitionType: TransitionType_2;
893
+ enableTransition: boolean;
894
+ layoutMode: LayoutMode;
895
+ menuExpandMode: MenuExpandMode_2;
896
+ collapsed: boolean;
897
+ fixedHeader: boolean;
898
+ showBreadcrumb: boolean;
899
+ showBreadcrumbIcon: boolean;
900
+ showTagsView: boolean;
901
+ tagsViewHeight: number;
902
+ tagsViewStyle: TagsViewStyle_2;
903
+ showFooter: boolean;
904
+ sidebarWidth: number;
905
+ sidebarCollapsedWidth: number;
906
+ headerHeight: number;
907
+ enableHotkeys: boolean;
908
+ version: string;
909
+ }>;
599
910
  themeMode: Ref<ThemeMode, ThemeMode>;
600
911
  primaryColor: Ref<string, string>;
601
- borderRadius: Ref<BorderRadiusSize, BorderRadiusSize>;
602
- transitionType: Ref<TransitionType, TransitionType>;
912
+ borderRadius: Ref<BorderRadiusSize_2, BorderRadiusSize_2>;
913
+ transitionType: Ref<TransitionType_2, TransitionType_2>;
603
914
  enableTransition: Ref<boolean, boolean>;
604
915
  layoutMode: Ref<LayoutMode, LayoutMode>;
605
- menuExpandMode: Ref<MenuExpandMode, MenuExpandMode>;
916
+ menuExpandMode: Ref<MenuExpandMode_2, MenuExpandMode_2>;
606
917
  collapsed: Ref<boolean, boolean>;
607
918
  fixedHeader: Ref<boolean, boolean>;
608
919
  showBreadcrumb: Ref<boolean, boolean>;
609
920
  showBreadcrumbIcon: Ref<boolean, boolean>;
610
921
  showTagsView: Ref<boolean, boolean>;
611
922
  tagsViewHeight: Ref<number, number>;
612
- tagsViewStyle: Ref<TagsViewStyle, TagsViewStyle>;
923
+ tagsViewStyle: Ref<TagsViewStyle_2, TagsViewStyle_2>;
613
924
  showFooter: Ref<boolean, boolean>;
614
925
  sidebarWidth: Ref<number, number>;
615
926
  sidebarCollapsedWidth: Ref<number, number>;
@@ -619,8 +930,8 @@ declare function __VLS_template_2(): {
619
930
  borderRadiusValue: ComputedRef<"4px" | "6px" | "8px">;
620
931
  transitionName: ComputedRef<"" | "fade-transform" | "fade-slide" | "fade-zoom">;
621
932
  shouldEnableTransition: ComputedRef<boolean>;
622
- settingsState: ComputedRef<SettingsState>;
623
- syncCSSVariables: () => void;
933
+ settingsState: ComputedRef<SettingsState_2>;
934
+ syncCSSVariables: () => void | undefined;
624
935
  applyPreset: (preset: ThemePreset) => Promise<void>;
625
936
  resetSettings: () => void;
626
937
  updateThemeMode: (mode: ThemeMode) => Promise<void>;
@@ -629,20 +940,42 @@ declare function __VLS_template_2(): {
629
940
  }): any;
630
941
  'features-prepend'?(_: {
631
942
  settings: Store<string, Pick<{
943
+ defaults: Readonly<{
944
+ themeMode: ThemeMode;
945
+ primaryColor: string;
946
+ borderRadius: BorderRadiusSize_2;
947
+ transitionType: TransitionType_2;
948
+ enableTransition: boolean;
949
+ layoutMode: LayoutMode;
950
+ menuExpandMode: MenuExpandMode_2;
951
+ collapsed: boolean;
952
+ fixedHeader: boolean;
953
+ showBreadcrumb: boolean;
954
+ showBreadcrumbIcon: boolean;
955
+ showTagsView: boolean;
956
+ tagsViewHeight: number;
957
+ tagsViewStyle: TagsViewStyle_2;
958
+ showFooter: boolean;
959
+ sidebarWidth: number;
960
+ sidebarCollapsedWidth: number;
961
+ headerHeight: number;
962
+ enableHotkeys: boolean;
963
+ version: string;
964
+ }>;
632
965
  themeMode: Ref<ThemeMode, ThemeMode>;
633
966
  primaryColor: Ref<string, string>;
634
- borderRadius: Ref<BorderRadiusSize, BorderRadiusSize>;
635
- transitionType: Ref<TransitionType, TransitionType>;
967
+ borderRadius: Ref<BorderRadiusSize_2, BorderRadiusSize_2>;
968
+ transitionType: Ref<TransitionType_2, TransitionType_2>;
636
969
  enableTransition: Ref<boolean, boolean>;
637
970
  layoutMode: Ref<LayoutMode, LayoutMode>;
638
- menuExpandMode: Ref<MenuExpandMode, MenuExpandMode>;
971
+ menuExpandMode: Ref<MenuExpandMode_2, MenuExpandMode_2>;
639
972
  collapsed: Ref<boolean, boolean>;
640
973
  fixedHeader: Ref<boolean, boolean>;
641
974
  showBreadcrumb: Ref<boolean, boolean>;
642
975
  showBreadcrumbIcon: Ref<boolean, boolean>;
643
976
  showTagsView: Ref<boolean, boolean>;
644
977
  tagsViewHeight: Ref<number, number>;
645
- tagsViewStyle: Ref<TagsViewStyle, TagsViewStyle>;
978
+ tagsViewStyle: Ref<TagsViewStyle_2, TagsViewStyle_2>;
646
979
  showFooter: Ref<boolean, boolean>;
647
980
  sidebarWidth: Ref<number, number>;
648
981
  sidebarCollapsedWidth: Ref<number, number>;
@@ -652,27 +985,49 @@ declare function __VLS_template_2(): {
652
985
  borderRadiusValue: ComputedRef<"4px" | "6px" | "8px">;
653
986
  transitionName: ComputedRef<"" | "fade-transform" | "fade-slide" | "fade-zoom">;
654
987
  shouldEnableTransition: ComputedRef<boolean>;
655
- settingsState: ComputedRef<SettingsState>;
656
- syncCSSVariables: () => void;
988
+ settingsState: ComputedRef<SettingsState_2>;
989
+ syncCSSVariables: () => void | undefined;
657
990
  applyPreset: (preset: ThemePreset) => Promise<void>;
658
991
  resetSettings: () => void;
659
992
  updateThemeMode: (mode: ThemeMode) => Promise<void>;
660
993
  toggleCollapse: () => void;
661
- }, "themeMode" | "layoutMode" | "primaryColor" | "borderRadius" | "transitionType" | "enableTransition" | "menuExpandMode" | "collapsed" | "fixedHeader" | "showBreadcrumb" | "showBreadcrumbIcon" | "showTagsView" | "tagsViewHeight" | "tagsViewStyle" | "showFooter" | "sidebarWidth" | "sidebarCollapsedWidth" | "headerHeight" | "enableHotkeys" | "version">, Pick<{
994
+ }, "themeMode" | "layoutMode" | "primaryColor" | "borderRadius" | "transitionType" | "enableTransition" | "menuExpandMode" | "collapsed" | "fixedHeader" | "showBreadcrumb" | "showBreadcrumbIcon" | "showTagsView" | "tagsViewHeight" | "tagsViewStyle" | "showFooter" | "sidebarWidth" | "sidebarCollapsedWidth" | "headerHeight" | "enableHotkeys" | "version" | "defaults">, Pick<{
995
+ defaults: Readonly<{
996
+ themeMode: ThemeMode;
997
+ primaryColor: string;
998
+ borderRadius: BorderRadiusSize_2;
999
+ transitionType: TransitionType_2;
1000
+ enableTransition: boolean;
1001
+ layoutMode: LayoutMode;
1002
+ menuExpandMode: MenuExpandMode_2;
1003
+ collapsed: boolean;
1004
+ fixedHeader: boolean;
1005
+ showBreadcrumb: boolean;
1006
+ showBreadcrumbIcon: boolean;
1007
+ showTagsView: boolean;
1008
+ tagsViewHeight: number;
1009
+ tagsViewStyle: TagsViewStyle_2;
1010
+ showFooter: boolean;
1011
+ sidebarWidth: number;
1012
+ sidebarCollapsedWidth: number;
1013
+ headerHeight: number;
1014
+ enableHotkeys: boolean;
1015
+ version: string;
1016
+ }>;
662
1017
  themeMode: Ref<ThemeMode, ThemeMode>;
663
1018
  primaryColor: Ref<string, string>;
664
- borderRadius: Ref<BorderRadiusSize, BorderRadiusSize>;
665
- transitionType: Ref<TransitionType, TransitionType>;
1019
+ borderRadius: Ref<BorderRadiusSize_2, BorderRadiusSize_2>;
1020
+ transitionType: Ref<TransitionType_2, TransitionType_2>;
666
1021
  enableTransition: Ref<boolean, boolean>;
667
1022
  layoutMode: Ref<LayoutMode, LayoutMode>;
668
- menuExpandMode: Ref<MenuExpandMode, MenuExpandMode>;
1023
+ menuExpandMode: Ref<MenuExpandMode_2, MenuExpandMode_2>;
669
1024
  collapsed: Ref<boolean, boolean>;
670
1025
  fixedHeader: Ref<boolean, boolean>;
671
1026
  showBreadcrumb: Ref<boolean, boolean>;
672
1027
  showBreadcrumbIcon: Ref<boolean, boolean>;
673
1028
  showTagsView: Ref<boolean, boolean>;
674
1029
  tagsViewHeight: Ref<number, number>;
675
- tagsViewStyle: Ref<TagsViewStyle, TagsViewStyle>;
1030
+ tagsViewStyle: Ref<TagsViewStyle_2, TagsViewStyle_2>;
676
1031
  showFooter: Ref<boolean, boolean>;
677
1032
  sidebarWidth: Ref<number, number>;
678
1033
  sidebarCollapsedWidth: Ref<number, number>;
@@ -682,27 +1037,49 @@ declare function __VLS_template_2(): {
682
1037
  borderRadiusValue: ComputedRef<"4px" | "6px" | "8px">;
683
1038
  transitionName: ComputedRef<"" | "fade-transform" | "fade-slide" | "fade-zoom">;
684
1039
  shouldEnableTransition: ComputedRef<boolean>;
685
- settingsState: ComputedRef<SettingsState>;
686
- syncCSSVariables: () => void;
1040
+ settingsState: ComputedRef<SettingsState_2>;
1041
+ syncCSSVariables: () => void | undefined;
687
1042
  applyPreset: (preset: ThemePreset) => Promise<void>;
688
1043
  resetSettings: () => void;
689
1044
  updateThemeMode: (mode: ThemeMode) => Promise<void>;
690
1045
  toggleCollapse: () => void;
691
1046
  }, "borderRadiusValue" | "transitionName" | "shouldEnableTransition" | "settingsState">, Pick<{
1047
+ defaults: Readonly<{
1048
+ themeMode: ThemeMode;
1049
+ primaryColor: string;
1050
+ borderRadius: BorderRadiusSize_2;
1051
+ transitionType: TransitionType_2;
1052
+ enableTransition: boolean;
1053
+ layoutMode: LayoutMode;
1054
+ menuExpandMode: MenuExpandMode_2;
1055
+ collapsed: boolean;
1056
+ fixedHeader: boolean;
1057
+ showBreadcrumb: boolean;
1058
+ showBreadcrumbIcon: boolean;
1059
+ showTagsView: boolean;
1060
+ tagsViewHeight: number;
1061
+ tagsViewStyle: TagsViewStyle_2;
1062
+ showFooter: boolean;
1063
+ sidebarWidth: number;
1064
+ sidebarCollapsedWidth: number;
1065
+ headerHeight: number;
1066
+ enableHotkeys: boolean;
1067
+ version: string;
1068
+ }>;
692
1069
  themeMode: Ref<ThemeMode, ThemeMode>;
693
1070
  primaryColor: Ref<string, string>;
694
- borderRadius: Ref<BorderRadiusSize, BorderRadiusSize>;
695
- transitionType: Ref<TransitionType, TransitionType>;
1071
+ borderRadius: Ref<BorderRadiusSize_2, BorderRadiusSize_2>;
1072
+ transitionType: Ref<TransitionType_2, TransitionType_2>;
696
1073
  enableTransition: Ref<boolean, boolean>;
697
1074
  layoutMode: Ref<LayoutMode, LayoutMode>;
698
- menuExpandMode: Ref<MenuExpandMode, MenuExpandMode>;
1075
+ menuExpandMode: Ref<MenuExpandMode_2, MenuExpandMode_2>;
699
1076
  collapsed: Ref<boolean, boolean>;
700
1077
  fixedHeader: Ref<boolean, boolean>;
701
1078
  showBreadcrumb: Ref<boolean, boolean>;
702
1079
  showBreadcrumbIcon: Ref<boolean, boolean>;
703
1080
  showTagsView: Ref<boolean, boolean>;
704
1081
  tagsViewHeight: Ref<number, number>;
705
- tagsViewStyle: Ref<TagsViewStyle, TagsViewStyle>;
1082
+ tagsViewStyle: Ref<TagsViewStyle_2, TagsViewStyle_2>;
706
1083
  showFooter: Ref<boolean, boolean>;
707
1084
  sidebarWidth: Ref<number, number>;
708
1085
  sidebarCollapsedWidth: Ref<number, number>;
@@ -712,8 +1089,8 @@ declare function __VLS_template_2(): {
712
1089
  borderRadiusValue: ComputedRef<"4px" | "6px" | "8px">;
713
1090
  transitionName: ComputedRef<"" | "fade-transform" | "fade-slide" | "fade-zoom">;
714
1091
  shouldEnableTransition: ComputedRef<boolean>;
715
- settingsState: ComputedRef<SettingsState>;
716
- syncCSSVariables: () => void;
1092
+ settingsState: ComputedRef<SettingsState_2>;
1093
+ syncCSSVariables: () => void | undefined;
717
1094
  applyPreset: (preset: ThemePreset) => Promise<void>;
718
1095
  resetSettings: () => void;
719
1096
  updateThemeMode: (mode: ThemeMode) => Promise<void>;
@@ -722,20 +1099,42 @@ declare function __VLS_template_2(): {
722
1099
  }): any;
723
1100
  'features-append'?(_: {
724
1101
  settings: Store<string, Pick<{
1102
+ defaults: Readonly<{
1103
+ themeMode: ThemeMode;
1104
+ primaryColor: string;
1105
+ borderRadius: BorderRadiusSize_2;
1106
+ transitionType: TransitionType_2;
1107
+ enableTransition: boolean;
1108
+ layoutMode: LayoutMode;
1109
+ menuExpandMode: MenuExpandMode_2;
1110
+ collapsed: boolean;
1111
+ fixedHeader: boolean;
1112
+ showBreadcrumb: boolean;
1113
+ showBreadcrumbIcon: boolean;
1114
+ showTagsView: boolean;
1115
+ tagsViewHeight: number;
1116
+ tagsViewStyle: TagsViewStyle_2;
1117
+ showFooter: boolean;
1118
+ sidebarWidth: number;
1119
+ sidebarCollapsedWidth: number;
1120
+ headerHeight: number;
1121
+ enableHotkeys: boolean;
1122
+ version: string;
1123
+ }>;
725
1124
  themeMode: Ref<ThemeMode, ThemeMode>;
726
1125
  primaryColor: Ref<string, string>;
727
- borderRadius: Ref<BorderRadiusSize, BorderRadiusSize>;
728
- transitionType: Ref<TransitionType, TransitionType>;
1126
+ borderRadius: Ref<BorderRadiusSize_2, BorderRadiusSize_2>;
1127
+ transitionType: Ref<TransitionType_2, TransitionType_2>;
729
1128
  enableTransition: Ref<boolean, boolean>;
730
1129
  layoutMode: Ref<LayoutMode, LayoutMode>;
731
- menuExpandMode: Ref<MenuExpandMode, MenuExpandMode>;
1130
+ menuExpandMode: Ref<MenuExpandMode_2, MenuExpandMode_2>;
732
1131
  collapsed: Ref<boolean, boolean>;
733
1132
  fixedHeader: Ref<boolean, boolean>;
734
1133
  showBreadcrumb: Ref<boolean, boolean>;
735
1134
  showBreadcrumbIcon: Ref<boolean, boolean>;
736
1135
  showTagsView: Ref<boolean, boolean>;
737
1136
  tagsViewHeight: Ref<number, number>;
738
- tagsViewStyle: Ref<TagsViewStyle, TagsViewStyle>;
1137
+ tagsViewStyle: Ref<TagsViewStyle_2, TagsViewStyle_2>;
739
1138
  showFooter: Ref<boolean, boolean>;
740
1139
  sidebarWidth: Ref<number, number>;
741
1140
  sidebarCollapsedWidth: Ref<number, number>;
@@ -745,27 +1144,49 @@ declare function __VLS_template_2(): {
745
1144
  borderRadiusValue: ComputedRef<"4px" | "6px" | "8px">;
746
1145
  transitionName: ComputedRef<"" | "fade-transform" | "fade-slide" | "fade-zoom">;
747
1146
  shouldEnableTransition: ComputedRef<boolean>;
748
- settingsState: ComputedRef<SettingsState>;
749
- syncCSSVariables: () => void;
1147
+ settingsState: ComputedRef<SettingsState_2>;
1148
+ syncCSSVariables: () => void | undefined;
750
1149
  applyPreset: (preset: ThemePreset) => Promise<void>;
751
1150
  resetSettings: () => void;
752
1151
  updateThemeMode: (mode: ThemeMode) => Promise<void>;
753
1152
  toggleCollapse: () => void;
754
- }, "themeMode" | "layoutMode" | "primaryColor" | "borderRadius" | "transitionType" | "enableTransition" | "menuExpandMode" | "collapsed" | "fixedHeader" | "showBreadcrumb" | "showBreadcrumbIcon" | "showTagsView" | "tagsViewHeight" | "tagsViewStyle" | "showFooter" | "sidebarWidth" | "sidebarCollapsedWidth" | "headerHeight" | "enableHotkeys" | "version">, Pick<{
1153
+ }, "themeMode" | "layoutMode" | "primaryColor" | "borderRadius" | "transitionType" | "enableTransition" | "menuExpandMode" | "collapsed" | "fixedHeader" | "showBreadcrumb" | "showBreadcrumbIcon" | "showTagsView" | "tagsViewHeight" | "tagsViewStyle" | "showFooter" | "sidebarWidth" | "sidebarCollapsedWidth" | "headerHeight" | "enableHotkeys" | "version" | "defaults">, Pick<{
1154
+ defaults: Readonly<{
1155
+ themeMode: ThemeMode;
1156
+ primaryColor: string;
1157
+ borderRadius: BorderRadiusSize_2;
1158
+ transitionType: TransitionType_2;
1159
+ enableTransition: boolean;
1160
+ layoutMode: LayoutMode;
1161
+ menuExpandMode: MenuExpandMode_2;
1162
+ collapsed: boolean;
1163
+ fixedHeader: boolean;
1164
+ showBreadcrumb: boolean;
1165
+ showBreadcrumbIcon: boolean;
1166
+ showTagsView: boolean;
1167
+ tagsViewHeight: number;
1168
+ tagsViewStyle: TagsViewStyle_2;
1169
+ showFooter: boolean;
1170
+ sidebarWidth: number;
1171
+ sidebarCollapsedWidth: number;
1172
+ headerHeight: number;
1173
+ enableHotkeys: boolean;
1174
+ version: string;
1175
+ }>;
755
1176
  themeMode: Ref<ThemeMode, ThemeMode>;
756
1177
  primaryColor: Ref<string, string>;
757
- borderRadius: Ref<BorderRadiusSize, BorderRadiusSize>;
758
- transitionType: Ref<TransitionType, TransitionType>;
1178
+ borderRadius: Ref<BorderRadiusSize_2, BorderRadiusSize_2>;
1179
+ transitionType: Ref<TransitionType_2, TransitionType_2>;
759
1180
  enableTransition: Ref<boolean, boolean>;
760
1181
  layoutMode: Ref<LayoutMode, LayoutMode>;
761
- menuExpandMode: Ref<MenuExpandMode, MenuExpandMode>;
1182
+ menuExpandMode: Ref<MenuExpandMode_2, MenuExpandMode_2>;
762
1183
  collapsed: Ref<boolean, boolean>;
763
1184
  fixedHeader: Ref<boolean, boolean>;
764
1185
  showBreadcrumb: Ref<boolean, boolean>;
765
1186
  showBreadcrumbIcon: Ref<boolean, boolean>;
766
1187
  showTagsView: Ref<boolean, boolean>;
767
1188
  tagsViewHeight: Ref<number, number>;
768
- tagsViewStyle: Ref<TagsViewStyle, TagsViewStyle>;
1189
+ tagsViewStyle: Ref<TagsViewStyle_2, TagsViewStyle_2>;
769
1190
  showFooter: Ref<boolean, boolean>;
770
1191
  sidebarWidth: Ref<number, number>;
771
1192
  sidebarCollapsedWidth: Ref<number, number>;
@@ -775,27 +1196,49 @@ declare function __VLS_template_2(): {
775
1196
  borderRadiusValue: ComputedRef<"4px" | "6px" | "8px">;
776
1197
  transitionName: ComputedRef<"" | "fade-transform" | "fade-slide" | "fade-zoom">;
777
1198
  shouldEnableTransition: ComputedRef<boolean>;
778
- settingsState: ComputedRef<SettingsState>;
779
- syncCSSVariables: () => void;
1199
+ settingsState: ComputedRef<SettingsState_2>;
1200
+ syncCSSVariables: () => void | undefined;
780
1201
  applyPreset: (preset: ThemePreset) => Promise<void>;
781
1202
  resetSettings: () => void;
782
1203
  updateThemeMode: (mode: ThemeMode) => Promise<void>;
783
1204
  toggleCollapse: () => void;
784
1205
  }, "borderRadiusValue" | "transitionName" | "shouldEnableTransition" | "settingsState">, Pick<{
1206
+ defaults: Readonly<{
1207
+ themeMode: ThemeMode;
1208
+ primaryColor: string;
1209
+ borderRadius: BorderRadiusSize_2;
1210
+ transitionType: TransitionType_2;
1211
+ enableTransition: boolean;
1212
+ layoutMode: LayoutMode;
1213
+ menuExpandMode: MenuExpandMode_2;
1214
+ collapsed: boolean;
1215
+ fixedHeader: boolean;
1216
+ showBreadcrumb: boolean;
1217
+ showBreadcrumbIcon: boolean;
1218
+ showTagsView: boolean;
1219
+ tagsViewHeight: number;
1220
+ tagsViewStyle: TagsViewStyle_2;
1221
+ showFooter: boolean;
1222
+ sidebarWidth: number;
1223
+ sidebarCollapsedWidth: number;
1224
+ headerHeight: number;
1225
+ enableHotkeys: boolean;
1226
+ version: string;
1227
+ }>;
785
1228
  themeMode: Ref<ThemeMode, ThemeMode>;
786
1229
  primaryColor: Ref<string, string>;
787
- borderRadius: Ref<BorderRadiusSize, BorderRadiusSize>;
788
- transitionType: Ref<TransitionType, TransitionType>;
1230
+ borderRadius: Ref<BorderRadiusSize_2, BorderRadiusSize_2>;
1231
+ transitionType: Ref<TransitionType_2, TransitionType_2>;
789
1232
  enableTransition: Ref<boolean, boolean>;
790
1233
  layoutMode: Ref<LayoutMode, LayoutMode>;
791
- menuExpandMode: Ref<MenuExpandMode, MenuExpandMode>;
1234
+ menuExpandMode: Ref<MenuExpandMode_2, MenuExpandMode_2>;
792
1235
  collapsed: Ref<boolean, boolean>;
793
1236
  fixedHeader: Ref<boolean, boolean>;
794
1237
  showBreadcrumb: Ref<boolean, boolean>;
795
1238
  showBreadcrumbIcon: Ref<boolean, boolean>;
796
1239
  showTagsView: Ref<boolean, boolean>;
797
1240
  tagsViewHeight: Ref<number, number>;
798
- tagsViewStyle: Ref<TagsViewStyle, TagsViewStyle>;
1241
+ tagsViewStyle: Ref<TagsViewStyle_2, TagsViewStyle_2>;
799
1242
  showFooter: Ref<boolean, boolean>;
800
1243
  sidebarWidth: Ref<number, number>;
801
1244
  sidebarCollapsedWidth: Ref<number, number>;
@@ -805,8 +1248,8 @@ declare function __VLS_template_2(): {
805
1248
  borderRadiusValue: ComputedRef<"4px" | "6px" | "8px">;
806
1249
  transitionName: ComputedRef<"" | "fade-transform" | "fade-slide" | "fade-zoom">;
807
1250
  shouldEnableTransition: ComputedRef<boolean>;
808
- settingsState: ComputedRef<SettingsState>;
809
- syncCSSVariables: () => void;
1251
+ settingsState: ComputedRef<SettingsState_2>;
1252
+ syncCSSVariables: () => void | undefined;
810
1253
  applyPreset: (preset: ThemePreset) => Promise<void>;
811
1254
  resetSettings: () => void;
812
1255
  updateThemeMode: (mode: ThemeMode) => Promise<void>;
@@ -818,101 +1261,10 @@ declare function __VLS_template_2(): {
818
1261
  rootEl: any;
819
1262
  };
820
1263
 
821
- declare function __VLS_template_3(): {
822
- attrs: Partial<{}>;
823
- slots: {
824
- logo?(_: {}): any;
825
- menu?(_: {
826
- collapsed: boolean;
827
- }): any;
828
- header?(_: {}): any;
829
- footer?(_: {}): any;
830
- };
831
- refs: {};
832
- rootEl: any;
833
- };
834
-
835
- declare function __VLS_template_4(): {
836
- attrs: Partial<{}>;
837
- slots: {
838
- logo?(_: {}): any;
839
- menu?(_: {}): any;
840
- 'header-extra'?(_: {}): any;
841
- 'tags-view'?(_: {}): any;
842
- footer?(_: {}): any;
843
- };
844
- refs: {};
845
- rootEl: HTMLDivElement;
846
- };
847
-
848
- declare function __VLS_template_5(): {
849
- attrs: Partial<{}>;
850
- slots: {
851
- logo?(_: {}): any;
852
- header?(_: {}): any;
853
- footer?(_: {}): any;
854
- };
855
- refs: {};
856
- rootEl: HTMLDivElement;
857
- };
858
-
859
- declare function __VLS_template_6(): {
860
- attrs: Partial<{}>;
861
- slots: {
862
- logo?(_: {}): any;
863
- brand?(_: {}): any;
864
- 'top-menu'?(_: {}): any;
865
- 'header-extra'?(_: {}): any;
866
- 'tags-view'?(_: {}): any;
867
- footer?(_: {}): any;
868
- };
869
- refs: {};
870
- rootEl: HTMLDivElement;
871
- };
872
-
873
- declare function __VLS_template_7(): {
874
- attrs: Partial<{}>;
875
- slots: {
876
- logo?(_: {}): any;
877
- 'top-menu'?(_: {}): any;
878
- 'header-extra'?(_: {}): any;
879
- 'tags-view'?(_: {}): any;
880
- footer?(_: {}): any;
881
- };
882
- refs: {};
883
- rootEl: HTMLDivElement;
884
- };
885
-
886
- declare function __VLS_template_8(): {
887
- attrs: Partial<{}>;
888
- slots: {
889
- 'menu-trigger'?(_: {}): any;
890
- logo?(_: {}): any;
891
- 'header-extra'?(_: {}): any;
892
- 'tags-view'?(_: {}): any;
893
- 'drawer-menu'?(_: {}): any;
894
- footer?(_: {}): any;
895
- };
896
- refs: {};
897
- rootEl: HTMLDivElement;
898
- };
899
-
900
1264
  declare type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
901
1265
 
902
1266
  declare type __VLS_TemplateResult_2 = ReturnType<typeof __VLS_template_2>;
903
1267
 
904
- declare type __VLS_TemplateResult_3 = ReturnType<typeof __VLS_template_3>;
905
-
906
- declare type __VLS_TemplateResult_4 = ReturnType<typeof __VLS_template_4>;
907
-
908
- declare type __VLS_TemplateResult_5 = ReturnType<typeof __VLS_template_5>;
909
-
910
- declare type __VLS_TemplateResult_6 = ReturnType<typeof __VLS_template_6>;
911
-
912
- declare type __VLS_TemplateResult_7 = ReturnType<typeof __VLS_template_7>;
913
-
914
- declare type __VLS_TemplateResult_8 = ReturnType<typeof __VLS_template_8>;
915
-
916
1268
  declare type __VLS_WithTemplateSlots<T, S> = T & {
917
1269
  new (): {
918
1270
  $slots: S;
@@ -925,48 +1277,20 @@ declare type __VLS_WithTemplateSlots_2<T, S> = T & {
925
1277
  };
926
1278
  };
927
1279
 
928
- declare type __VLS_WithTemplateSlots_3<T, S> = T & {
929
- new (): {
930
- $slots: S;
931
- };
932
- };
933
-
934
- declare type __VLS_WithTemplateSlots_4<T, S> = T & {
935
- new (): {
936
- $slots: S;
937
- };
938
- };
939
-
940
- declare type __VLS_WithTemplateSlots_5<T, S> = T & {
941
- new (): {
942
- $slots: S;
943
- };
944
- };
945
-
946
- declare type __VLS_WithTemplateSlots_6<T, S> = T & {
947
- new (): {
948
- $slots: S;
949
- };
950
- };
951
-
952
- declare type __VLS_WithTemplateSlots_7<T, S> = T & {
953
- new (): {
954
- $slots: S;
955
- };
956
- };
957
-
958
- declare type __VLS_WithTemplateSlots_8<T, S> = T & {
959
- new (): {
960
- $slots: S;
961
- };
962
- };
963
-
964
1280
  /**
965
1281
  * 调整颜色亮度。
966
1282
  * @returns 调整后的 #rrggbb;输入非法时原样返回。
967
1283
  */
968
1284
  export declare function adjustColor(color: string, amount: number): string;
969
1285
 
1286
+ /** 校验需要跨字段判断的布局尺寸约束。 */
1287
+ export declare function assertLayoutSettingsRelationships(settings: Pick<SettingsState, "sidebarCollapsedWidth" | "sidebarWidth">): void;
1288
+
1289
+ /**
1290
+ * 将响应式设置绑定到指定样式作用域,并在 dispose 时精确恢复原值。
1291
+ */
1292
+ export declare function bindLayoutCssVariables(source: LayoutCssVariableSource, options?: LayoutCssVariableOptions): LayoutCssVariableBinding;
1293
+
970
1294
  export declare const BORDER_RADIUS_MAP: {
971
1295
  readonly small: "4px";
972
1296
  readonly medium: "6px";
@@ -976,6 +1300,9 @@ export declare const BORDER_RADIUS_MAP: {
976
1300
  /** 圆角大小。 */
977
1301
  export declare type BorderRadiusSize = "small" | "medium" | "large";
978
1302
 
1303
+ /** 圆角大小。 */
1304
+ declare type BorderRadiusSize_2 = "small" | "medium" | "large";
1305
+
979
1306
  export declare const BrandLogo: DefineComponent<__VLS_Props_2, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_2> & Readonly<{}>, {
980
1307
  collapsed: boolean;
981
1308
  size: number;
@@ -984,16 +1311,251 @@ showDivider: boolean;
984
1311
  variant: "vertical" | "horizontal";
985
1312
  }, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLDivElement>;
986
1313
 
1314
+ export declare const C_CardLayout: {
1315
+ new (...args: any[]): CreateComponentPublicInstanceWithMixins<Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, PublicProps, {}, true, {}, {}, GlobalComponents, GlobalDirectives, string, {}, HTMLDivElement, ComponentProvideOptions, {
1316
+ P: {};
1317
+ B: {};
1318
+ D: {};
1319
+ C: {};
1320
+ M: {};
1321
+ Defaults: {};
1322
+ }, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, {}>;
1323
+ __isFragment?: never;
1324
+ __isTeleport?: never;
1325
+ __isSuspense?: never;
1326
+ } & ComponentOptionsBase<Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, {}, {}, string, {}, GlobalComponents, GlobalDirectives, string, ComponentProvideOptions> & VNodeProps & AllowedComponentProps & ComponentCustomProps & (new () => {
1327
+ $slots: {
1328
+ 'menu-trigger'?(_: {}): any;
1329
+ logo?(_: {}): any;
1330
+ 'header-extra'?(_: {}): any;
1331
+ 'tags-view'?(_: {}): any;
1332
+ 'drawer-menu'?(_: {}): any;
1333
+ footer?(_: {}): any;
1334
+ };
1335
+ });
1336
+
987
1337
  export declare const C_LayoutContainer: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
988
1338
 
1339
+ export declare const C_MixLayout: {
1340
+ new (...args: any[]): CreateComponentPublicInstanceWithMixins<Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, PublicProps, {}, true, {}, {}, GlobalComponents, GlobalDirectives, string, {}, HTMLDivElement, ComponentProvideOptions, {
1341
+ P: {};
1342
+ B: {};
1343
+ D: {};
1344
+ C: {};
1345
+ M: {};
1346
+ Defaults: {};
1347
+ }, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, {}>;
1348
+ __isFragment?: never;
1349
+ __isTeleport?: never;
1350
+ __isSuspense?: never;
1351
+ } & ComponentOptionsBase<Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, {}, {}, string, {}, GlobalComponents, GlobalDirectives, string, ComponentProvideOptions> & VNodeProps & AllowedComponentProps & ComponentCustomProps & (new () => {
1352
+ $slots: {
1353
+ logo?(_: {}): any;
1354
+ header?(_: {}): any;
1355
+ footer?(_: {}): any;
1356
+ };
1357
+ });
1358
+
1359
+ export declare const C_MixTopLayout: {
1360
+ new (...args: any[]): CreateComponentPublicInstanceWithMixins<Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, PublicProps, {}, true, {}, {}, GlobalComponents, GlobalDirectives, string, {}, HTMLDivElement, ComponentProvideOptions, {
1361
+ P: {};
1362
+ B: {};
1363
+ D: {};
1364
+ C: {};
1365
+ M: {};
1366
+ Defaults: {};
1367
+ }, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, {}>;
1368
+ __isFragment?: never;
1369
+ __isTeleport?: never;
1370
+ __isSuspense?: never;
1371
+ } & ComponentOptionsBase<Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, {}, {}, string, {}, GlobalComponents, GlobalDirectives, string, ComponentProvideOptions> & VNodeProps & AllowedComponentProps & ComponentCustomProps & (new () => {
1372
+ $slots: {
1373
+ logo?(_: {}): any;
1374
+ brand?(_: {}): any;
1375
+ 'top-menu'?(_: {}): any;
1376
+ 'header-extra'?(_: {}): any;
1377
+ 'tags-view'?(_: {}): any;
1378
+ footer?(_: {}): any;
1379
+ };
1380
+ });
1381
+
1382
+ export declare const C_ReverseHorizontalMixLayout: {
1383
+ new (...args: any[]): CreateComponentPublicInstanceWithMixins<Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, PublicProps, {}, true, {}, {}, GlobalComponents, GlobalDirectives, string, {}, HTMLDivElement, ComponentProvideOptions, {
1384
+ P: {};
1385
+ B: {};
1386
+ D: {};
1387
+ C: {};
1388
+ M: {};
1389
+ Defaults: {};
1390
+ }, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, {}>;
1391
+ __isFragment?: never;
1392
+ __isTeleport?: never;
1393
+ __isSuspense?: never;
1394
+ } & ComponentOptionsBase<Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, {}, {}, string, {}, GlobalComponents, GlobalDirectives, string, ComponentProvideOptions> & VNodeProps & AllowedComponentProps & ComponentCustomProps & (new () => {
1395
+ $slots: {
1396
+ logo?(_: {}): any;
1397
+ 'top-menu'?(_: {}): any;
1398
+ 'header-extra'?(_: {}): any;
1399
+ 'tags-view'?(_: {}): any;
1400
+ footer?(_: {}): any;
1401
+ };
1402
+ });
1403
+
1404
+ export declare const C_SideLayout: {
1405
+ new (...args: any[]): CreateComponentPublicInstanceWithMixins<Readonly<{
1406
+ collapsed?: boolean;
1407
+ }> & Readonly<{
1408
+ "onUpdate:collapsed"?: ((value: boolean) => any) | undefined;
1409
+ }>, {
1410
+ collapsed: ComputedRef<boolean>;
1411
+ toggleCollapse: () => void;
1412
+ }, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
1413
+ "update:collapsed": (value: boolean) => any;
1414
+ }, PublicProps, {
1415
+ collapsed: boolean;
1416
+ }, false, {}, {}, GlobalComponents, GlobalDirectives, string, {}, any, ComponentProvideOptions, {
1417
+ P: {};
1418
+ B: {};
1419
+ D: {};
1420
+ C: {};
1421
+ M: {};
1422
+ Defaults: {};
1423
+ }, Readonly<{
1424
+ collapsed?: boolean;
1425
+ }> & Readonly<{
1426
+ "onUpdate:collapsed"?: ((value: boolean) => any) | undefined;
1427
+ }>, {
1428
+ collapsed: ComputedRef<boolean>;
1429
+ toggleCollapse: () => void;
1430
+ }, {}, {}, {}, {
1431
+ collapsed: boolean;
1432
+ }>;
1433
+ __isFragment?: never;
1434
+ __isTeleport?: never;
1435
+ __isSuspense?: never;
1436
+ } & ComponentOptionsBase<Readonly<{
1437
+ collapsed?: boolean;
1438
+ }> & Readonly<{
1439
+ "onUpdate:collapsed"?: ((value: boolean) => any) | undefined;
1440
+ }>, {
1441
+ collapsed: ComputedRef<boolean>;
1442
+ toggleCollapse: () => void;
1443
+ }, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
1444
+ "update:collapsed": (value: boolean) => any;
1445
+ }, string, {
1446
+ collapsed: boolean;
1447
+ }, {}, string, {}, GlobalComponents, GlobalDirectives, string, ComponentProvideOptions> & VNodeProps & AllowedComponentProps & ComponentCustomProps & (new () => {
1448
+ $slots: {
1449
+ logo?(_: {}): any;
1450
+ menu?(_: {
1451
+ collapsed: boolean;
1452
+ }): any;
1453
+ header?(_: {}): any;
1454
+ footer?(_: {}): any;
1455
+ };
1456
+ });
1457
+
1458
+ export declare const C_TopLayout: {
1459
+ new (...args: any[]): CreateComponentPublicInstanceWithMixins<Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, PublicProps, {}, true, {}, {}, GlobalComponents, GlobalDirectives, string, {}, HTMLDivElement, ComponentProvideOptions, {
1460
+ P: {};
1461
+ B: {};
1462
+ D: {};
1463
+ C: {};
1464
+ M: {};
1465
+ Defaults: {};
1466
+ }, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, {}>;
1467
+ __isFragment?: never;
1468
+ __isTeleport?: never;
1469
+ __isSuspense?: never;
1470
+ } & ComponentOptionsBase<Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, {}, {}, string, {}, GlobalComponents, GlobalDirectives, string, ComponentProvideOptions> & VNodeProps & AllowedComponentProps & ComponentCustomProps & (new () => {
1471
+ $slots: {
1472
+ logo?(_: {}): any;
1473
+ menu?(_: {}): any;
1474
+ 'header-extra'?(_: {}): any;
1475
+ 'tags-view'?(_: {}): any;
1476
+ footer?(_: {}): any;
1477
+ };
1478
+ });
1479
+
1480
+ /** 计算指定容器内可直接展示的菜单项数量。 */
1481
+ export declare function calculateVisibleMenuCount(items: readonly MenuOptions[], containerWidth: number, overflowReserve?: number): number;
1482
+
1483
+ /** @deprecated 请使用 C_CardLayout;计划在 4.0 移除。 */
1484
+ export declare const CardLayout: {
1485
+ new (...args: any[]): CreateComponentPublicInstanceWithMixins<Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, PublicProps, {}, true, {}, {}, GlobalComponents, GlobalDirectives, string, {}, HTMLDivElement, ComponentProvideOptions, {
1486
+ P: {};
1487
+ B: {};
1488
+ D: {};
1489
+ C: {};
1490
+ M: {};
1491
+ Defaults: {};
1492
+ }, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, {}>;
1493
+ __isFragment?: never;
1494
+ __isTeleport?: never;
1495
+ __isSuspense?: never;
1496
+ } & ComponentOptionsBase<Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, {}, {}, string, {}, GlobalComponents, GlobalDirectives, string, ComponentProvideOptions> & VNodeProps & AllowedComponentProps & ComponentCustomProps & (new () => {
1497
+ $slots: {
1498
+ 'menu-trigger'?(_: {}): any;
1499
+ logo?(_: {}): any;
1500
+ 'header-extra'?(_: {}): any;
1501
+ 'tags-view'?(_: {}): any;
1502
+ 'drawer-menu'?(_: {}): any;
1503
+ footer?(_: {}): any;
1504
+ };
1505
+ });
1506
+
989
1507
  /** Color swatches for color picker */
990
1508
  export declare const COLOR_SWATCHES: string[];
991
1509
 
1510
+ /**
1511
+ * 将最小宿主输入转换为完整 LayoutContext。
1512
+ *
1513
+ * 保留底层 LayoutContext 作为高级扩展协议,同时避免普通接入重复桥接 Store 字段。
1514
+ */
1515
+ export declare function createLayoutContext(options: CreateLayoutContextOptions): LayoutContext;
1516
+
1517
+ /** 创建标准布局上下文所需的最小宿主适配。 */
1518
+ export declare interface CreateLayoutContextOptions {
1519
+ /** 布局设置 Store,可使用默认 Store 或 createSettingsStore() 创建的实例。 */
1520
+ settings: LayoutSettingsSource;
1521
+ /** 宿主菜单;支持普通值、Ref、ComputedRef 或 getter。 */
1522
+ menus: MaybeRefOrGetter<MenuOptions[]>;
1523
+ /** 宿主暗色状态;支持普通值、Ref、ComputedRef 或 getter。 */
1524
+ isDark: MaybeRefOrGetter<boolean>;
1525
+ /** 品牌信息,未提供的字段使用包内安全默认值。 */
1526
+ brand?: LayoutBrandConfig;
1527
+ /** 布局内部用于渲染菜单图标的宿主组件。 */
1528
+ iconComponent?: Component;
1529
+ }
1530
+
992
1531
  /**
993
1532
  * 创建设置管理 Store
994
1533
  * @param options - 配置选项
995
1534
  */
996
1535
  export declare function createSettingsStore(options?: SettingsStoreOptions): StoreDefinition<string, Pick<{
1536
+ /** 当前 Store 实例实际使用的默认值。 */
1537
+ defaults: Readonly<{
1538
+ themeMode: ThemeMode;
1539
+ primaryColor: string;
1540
+ borderRadius: BorderRadiusSize;
1541
+ transitionType: TransitionType;
1542
+ enableTransition: boolean;
1543
+ layoutMode: LayoutMode;
1544
+ menuExpandMode: MenuExpandMode;
1545
+ collapsed: boolean;
1546
+ fixedHeader: boolean;
1547
+ showBreadcrumb: boolean;
1548
+ showBreadcrumbIcon: boolean;
1549
+ showTagsView: boolean;
1550
+ tagsViewHeight: number;
1551
+ tagsViewStyle: TagsViewStyle;
1552
+ showFooter: boolean;
1553
+ sidebarWidth: number;
1554
+ sidebarCollapsedWidth: number;
1555
+ headerHeight: number;
1556
+ enableHotkeys: boolean;
1557
+ version: string;
1558
+ }>;
997
1559
  themeMode: Ref<ThemeMode, ThemeMode>;
998
1560
  primaryColor: Ref<string, string>;
999
1561
  borderRadius: Ref<BorderRadiusSize, BorderRadiusSize>;
@@ -1018,12 +1580,35 @@ borderRadiusValue: ComputedRef<"4px" | "6px" | "8px">;
1018
1580
  transitionName: ComputedRef<"" | "fade-transform" | "fade-slide" | "fade-zoom">;
1019
1581
  shouldEnableTransition: ComputedRef<boolean>;
1020
1582
  settingsState: ComputedRef<SettingsState>;
1021
- syncCSSVariables: () => void;
1583
+ syncCSSVariables: () => void | undefined;
1022
1584
  applyPreset: (preset: ThemePreset) => Promise<void>;
1023
1585
  resetSettings: () => void;
1024
1586
  updateThemeMode: (mode: ThemeMode) => Promise<void>;
1025
1587
  toggleCollapse: () => void;
1026
- }, "themeMode" | "layoutMode" | "primaryColor" | "borderRadius" | "transitionType" | "enableTransition" | "menuExpandMode" | "collapsed" | "fixedHeader" | "showBreadcrumb" | "showBreadcrumbIcon" | "showTagsView" | "tagsViewHeight" | "tagsViewStyle" | "showFooter" | "sidebarWidth" | "sidebarCollapsedWidth" | "headerHeight" | "enableHotkeys" | "version">, Pick<{
1588
+ }, "themeMode" | "layoutMode" | "primaryColor" | "borderRadius" | "transitionType" | "enableTransition" | "menuExpandMode" | "collapsed" | "fixedHeader" | "showBreadcrumb" | "showBreadcrumbIcon" | "showTagsView" | "tagsViewHeight" | "tagsViewStyle" | "showFooter" | "sidebarWidth" | "sidebarCollapsedWidth" | "headerHeight" | "enableHotkeys" | "version" | "defaults">, Pick<{
1589
+ /** 当前 Store 实例实际使用的默认值。 */
1590
+ defaults: Readonly<{
1591
+ themeMode: ThemeMode;
1592
+ primaryColor: string;
1593
+ borderRadius: BorderRadiusSize;
1594
+ transitionType: TransitionType;
1595
+ enableTransition: boolean;
1596
+ layoutMode: LayoutMode;
1597
+ menuExpandMode: MenuExpandMode;
1598
+ collapsed: boolean;
1599
+ fixedHeader: boolean;
1600
+ showBreadcrumb: boolean;
1601
+ showBreadcrumbIcon: boolean;
1602
+ showTagsView: boolean;
1603
+ tagsViewHeight: number;
1604
+ tagsViewStyle: TagsViewStyle;
1605
+ showFooter: boolean;
1606
+ sidebarWidth: number;
1607
+ sidebarCollapsedWidth: number;
1608
+ headerHeight: number;
1609
+ enableHotkeys: boolean;
1610
+ version: string;
1611
+ }>;
1027
1612
  themeMode: Ref<ThemeMode, ThemeMode>;
1028
1613
  primaryColor: Ref<string, string>;
1029
1614
  borderRadius: Ref<BorderRadiusSize, BorderRadiusSize>;
@@ -1048,12 +1633,35 @@ borderRadiusValue: ComputedRef<"4px" | "6px" | "8px">;
1048
1633
  transitionName: ComputedRef<"" | "fade-transform" | "fade-slide" | "fade-zoom">;
1049
1634
  shouldEnableTransition: ComputedRef<boolean>;
1050
1635
  settingsState: ComputedRef<SettingsState>;
1051
- syncCSSVariables: () => void;
1636
+ syncCSSVariables: () => void | undefined;
1052
1637
  applyPreset: (preset: ThemePreset) => Promise<void>;
1053
1638
  resetSettings: () => void;
1054
1639
  updateThemeMode: (mode: ThemeMode) => Promise<void>;
1055
1640
  toggleCollapse: () => void;
1056
1641
  }, "borderRadiusValue" | "transitionName" | "shouldEnableTransition" | "settingsState">, Pick<{
1642
+ /** 当前 Store 实例实际使用的默认值。 */
1643
+ defaults: Readonly<{
1644
+ themeMode: ThemeMode;
1645
+ primaryColor: string;
1646
+ borderRadius: BorderRadiusSize;
1647
+ transitionType: TransitionType;
1648
+ enableTransition: boolean;
1649
+ layoutMode: LayoutMode;
1650
+ menuExpandMode: MenuExpandMode;
1651
+ collapsed: boolean;
1652
+ fixedHeader: boolean;
1653
+ showBreadcrumb: boolean;
1654
+ showBreadcrumbIcon: boolean;
1655
+ showTagsView: boolean;
1656
+ tagsViewHeight: number;
1657
+ tagsViewStyle: TagsViewStyle;
1658
+ showFooter: boolean;
1659
+ sidebarWidth: number;
1660
+ sidebarCollapsedWidth: number;
1661
+ headerHeight: number;
1662
+ enableHotkeys: boolean;
1663
+ version: string;
1664
+ }>;
1057
1665
  themeMode: Ref<ThemeMode, ThemeMode>;
1058
1666
  primaryColor: Ref<string, string>;
1059
1667
  borderRadius: Ref<BorderRadiusSize, BorderRadiusSize>;
@@ -1078,37 +1686,13 @@ borderRadiusValue: ComputedRef<"4px" | "6px" | "8px">;
1078
1686
  transitionName: ComputedRef<"" | "fade-transform" | "fade-slide" | "fade-zoom">;
1079
1687
  shouldEnableTransition: ComputedRef<boolean>;
1080
1688
  settingsState: ComputedRef<SettingsState>;
1081
- syncCSSVariables: () => void;
1689
+ syncCSSVariables: () => void | undefined;
1082
1690
  applyPreset: (preset: ThemePreset) => Promise<void>;
1083
1691
  resetSettings: () => void;
1084
1692
  updateThemeMode: (mode: ThemeMode) => Promise<void>;
1085
1693
  toggleCollapse: () => void;
1086
1694
  }, "syncCSSVariables" | "applyPreset" | "resetSettings" | "updateThemeMode" | "toggleCollapse">>;
1087
1695
 
1088
- declare const _default: __VLS_WithTemplateSlots_3<typeof __VLS_component_3, __VLS_TemplateResult_3["slots"]>;
1089
- export { _default as C_SideLayout }
1090
- export { _default as SideLayout }
1091
-
1092
- declare const _default_2: __VLS_WithTemplateSlots_4<typeof __VLS_component_4, __VLS_TemplateResult_4["slots"]>;
1093
- export { _default_2 as C_TopLayout }
1094
- export { _default_2 as TopLayout }
1095
-
1096
- declare const _default_3: __VLS_WithTemplateSlots_5<typeof __VLS_component_5, __VLS_TemplateResult_5["slots"]>;
1097
- export { _default_3 as C_MixLayout }
1098
- export { _default_3 as MixLayout }
1099
-
1100
- declare const _default_4: __VLS_WithTemplateSlots_6<typeof __VLS_component_6, __VLS_TemplateResult_6["slots"]>;
1101
- export { _default_4 as C_MixTopLayout }
1102
- export { _default_4 as MixTopLayout }
1103
-
1104
- declare const _default_5: __VLS_WithTemplateSlots_7<typeof __VLS_component_7, __VLS_TemplateResult_7["slots"]>;
1105
- export { _default_5 as C_ReverseHorizontalMixLayout }
1106
- export { _default_5 as ReverseHorizontalMixLayout }
1107
-
1108
- declare const _default_6: __VLS_WithTemplateSlots_8<typeof __VLS_component_8, __VLS_TemplateResult_8["slots"]>;
1109
- export { _default_6 as C_CardLayout }
1110
- export { _default_6 as CardLayout }
1111
-
1112
1696
  /**
1113
1697
  * 默认品牌配置
1114
1698
  */
@@ -1137,18 +1721,29 @@ export declare interface DrawerHandlers {
1137
1721
 
1138
1722
  export declare const DrawerMenu: DefineComponent<__VLS_Props_6, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_6> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLDivElement>;
1139
1723
 
1724
+ /** 按现有菜单字号与间距估算单项宽度。 */
1725
+ export declare function estimateMenuItemWidth(item: MenuOptions): number;
1726
+
1727
+ export declare interface ExportedLayoutSettings extends LayoutSettingsConfig {
1728
+ schemaVersion: typeof SETTINGS_CONFIG_SCHEMA_VERSION;
1729
+ exportTime: string;
1730
+ }
1731
+
1140
1732
  export declare const FloatingMenu: DefineComponent<__VLS_Props_4, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
1141
- click: (item: MenuOptions) => any;
1733
+ click: (item: MenuOptions<MenuMeta_2>) => any;
1142
1734
  }, string, PublicProps, Readonly<__VLS_Props_4> & Readonly<{
1143
- onClick?: ((item: MenuOptions) => any) | undefined;
1735
+ onClick?: ((item: MenuOptions<MenuMeta_2>) => any) | undefined;
1144
1736
  }>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
1145
1737
 
1146
1738
  export declare const IconMenu: DefineComponent<__VLS_Props_3, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
1147
- click: (item: MenuOptions) => any;
1739
+ click: (item: MenuOptions<MenuMeta_2>) => any;
1148
1740
  }, string, PublicProps, Readonly<__VLS_Props_3> & Readonly<{
1149
- onClick?: ((item: MenuOptions) => any) | undefined;
1741
+ onClick?: ((item: MenuOptions<MenuMeta_2>) => any) | undefined;
1150
1742
  }>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLDivElement>;
1151
1743
 
1744
+ /** 判断当前路径是否等于菜单路径或位于其子路径下。 */
1745
+ export declare function isPathSegmentPrefix(menuPath: string | undefined, currentPath: string): boolean;
1746
+
1152
1747
  /**
1153
1748
  * 布局上下文 Injection Key
1154
1749
  */
@@ -1159,6 +1754,11 @@ export declare const LAYOUT_MODES: LayoutInfo[];
1159
1754
  /** 当前布局使用的设置 Store,支持自定义 Store id 与多实例。 */
1160
1755
  export declare const LAYOUT_SETTINGS_KEY: InjectionKey<SettingsStoreInstance>;
1161
1756
 
1757
+ /** 宿主没有实现可选高副作用操作。 */
1758
+ export declare class LayoutActionUnavailableError extends Error {
1759
+ constructor(action: keyof SettingsDrawerActions);
1760
+ }
1761
+
1162
1762
  /**
1163
1763
  * 品牌配置
1164
1764
  */
@@ -1235,6 +1835,31 @@ export declare interface LayoutContext {
1235
1835
  iconComponent?: Component;
1236
1836
  }
1237
1837
 
1838
+ export declare interface LayoutCssVariableBinding {
1839
+ dispose: () => void;
1840
+ sync: () => void;
1841
+ }
1842
+
1843
+ export declare interface LayoutCssVariableOptions {
1844
+ /** 变量写入目标;默认 document.documentElement。 */
1845
+ target?: MaybeRefOrGetter<LayoutCssVariableTarget | null | undefined>;
1846
+ /** 同时维护 3.x 无前缀变量,默认 false。 */
1847
+ legacyAliases?: boolean;
1848
+ }
1849
+
1850
+ export declare interface LayoutCssVariableSource {
1851
+ primaryColor: MaybeRefOrGetter<string>;
1852
+ borderRadiusValue: MaybeRefOrGetter<string>;
1853
+ sidebarWidth: MaybeRefOrGetter<number>;
1854
+ sidebarCollapsedWidth: MaybeRefOrGetter<number>;
1855
+ headerHeight: MaybeRefOrGetter<number>;
1856
+ tagsViewHeight: MaybeRefOrGetter<number>;
1857
+ }
1858
+
1859
+ export declare interface LayoutCssVariableTarget {
1860
+ style: LayoutStyleDeclaration;
1861
+ }
1862
+
1238
1863
  /** 布局模式展示信息。 */
1239
1864
  export declare interface LayoutInfo {
1240
1865
  mode: LayoutMode;
@@ -1243,15 +1868,56 @@ export declare interface LayoutInfo {
1243
1868
  icon: string;
1244
1869
  }
1245
1870
 
1871
+ /** 布局内置导航可以安全消费的标准菜单项。 */
1872
+ export declare type LayoutMenuItem<TMeta extends MenuMeta = MenuMeta> = Omit<MenuOptions<TMeta>, "children" | "key" | "meta" | "path"> & {
1873
+ key: string;
1874
+ path: string;
1875
+ meta: TMeta & {
1876
+ title: string;
1877
+ };
1878
+ children?: LayoutMenuItem<TMeta>[];
1879
+ };
1880
+
1246
1881
  /** 内置布局模式。 */
1247
1882
  export declare type LayoutMode = "side" | "top" | "mix" | "mix-top" | "reverse-horizontal-mix" | "card-layout";
1248
1883
 
1884
+ /** 内置布局模式。 */
1885
+ declare type LayoutMode_2 = "side" | "top" | "mix" | "mix-top" | "reverse-horizontal-mix" | "card-layout";
1886
+
1249
1887
  /** 经校验后可原子应用的布局配置。 */
1250
1888
  export declare interface LayoutSettingsConfig extends LayoutVisualEffects {
1251
1889
  schemaVersion?: number;
1252
1890
  settings?: Partial<SettingsState>;
1253
1891
  }
1254
1892
 
1893
+ /**
1894
+ * 布局桥接所需的最小设置协议。
1895
+ *
1896
+ * 默认 Pinia Store 天然满足该协议,宿主也可以传入其他响应式 Store,
1897
+ * 避免上下文助手与具体状态管理实现强绑定。
1898
+ */
1899
+ export declare interface LayoutSettingsSource {
1900
+ layoutMode: LayoutMode;
1901
+ collapsed: boolean;
1902
+ menuExpandMode: MenuExpandMode;
1903
+ sidebarWidth: number;
1904
+ sidebarCollapsedWidth: number;
1905
+ showFooter: boolean;
1906
+ showTagsView: boolean;
1907
+ tagsViewHeight: number;
1908
+ headerHeight: number;
1909
+ transitionName: string;
1910
+ showBreadcrumb: boolean;
1911
+ showBreadcrumbIcon: boolean;
1912
+ fixedHeader: boolean;
1913
+ }
1914
+
1915
+ export declare interface LayoutStyleDeclaration {
1916
+ getPropertyValue(name: string): string;
1917
+ removeProperty(name: string): string;
1918
+ setProperty(name: string, value: string): void;
1919
+ }
1920
+
1255
1921
  export declare interface LayoutVisualEffects {
1256
1922
  gray?: boolean;
1257
1923
  colorWeak?: boolean;
@@ -1272,6 +1938,9 @@ export declare interface MenuCollapseHandlers {
1272
1938
  /** 菜单展开方式。 */
1273
1939
  export declare type MenuExpandMode = "inline" | "panel";
1274
1940
 
1941
+ /** 菜单展开方式。 */
1942
+ declare type MenuExpandMode_2 = "inline" | "panel";
1943
+
1275
1944
  /**
1276
1945
  * 菜单项类型
1277
1946
  * - `group` 分组
@@ -1280,12 +1949,56 @@ export declare type MenuExpandMode = "inline" | "panel";
1280
1949
  */
1281
1950
  export declare type MenuItemType = "group" | "divider" | "item";
1282
1951
 
1952
+ /**
1953
+ * 菜单项类型
1954
+ * - `group` 分组
1955
+ * - `divider` 分割线
1956
+ * - `item` 普通菜单项
1957
+ */
1958
+ declare type MenuItemType_2 = "group" | "divider" | "item";
1959
+
1960
+ /** 可由宿主通过交叉类型安全扩展的菜单元数据。 */
1961
+ export declare interface MenuMeta extends Record<string, unknown> {
1962
+ /** 页面标题 */
1963
+ title?: string;
1964
+ /** 菜单项的图标 */
1965
+ icon?: string;
1966
+ /** 是否在菜单中隐藏 */
1967
+ hidden?: boolean;
1968
+ /** 是否固定在标签栏 */
1969
+ affix?: boolean;
1970
+ /** 是否缓存该页面 */
1971
+ keepAlive?: boolean;
1972
+ /** 是否全屏显示 */
1973
+ full?: boolean;
1974
+ /** 外部链接 URL */
1975
+ link?: string;
1976
+ }
1977
+
1978
+ /** 可由宿主通过交叉类型安全扩展的菜单元数据。 */
1979
+ declare interface MenuMeta_2 extends Record<string, unknown> {
1980
+ /** 页面标题 */
1981
+ title?: string;
1982
+ /** 菜单项的图标 */
1983
+ icon?: string;
1984
+ /** 是否在菜单中隐藏 */
1985
+ hidden?: boolean;
1986
+ /** 是否固定在标签栏 */
1987
+ affix?: boolean;
1988
+ /** 是否缓存该页面 */
1989
+ keepAlive?: boolean;
1990
+ /** 是否全屏显示 */
1991
+ full?: boolean;
1992
+ /** 外部链接 URL */
1993
+ link?: string;
1994
+ }
1995
+
1283
1996
  /**
1284
1997
  * 菜单选项的详细类型定义
1285
1998
  */
1286
- export declare interface MenuOptions {
1999
+ export declare interface MenuOptions<TMeta extends MenuMeta = MenuMeta> {
1287
2000
  /** 菜单项类型(分组/分割线) */
1288
- type?: "group" | "divider";
2001
+ type?: MenuItemType;
1289
2002
  /** 唯一标识 */
1290
2003
  key?: string;
1291
2004
  /** 菜单跳转路径 */
@@ -1303,26 +2016,9 @@ export declare interface MenuOptions {
1303
2016
  /** 是否禁用此菜单项 */
1304
2017
  disabled?: boolean;
1305
2018
  /** 元数据 */
1306
- meta?: {
1307
- /** 页面标题 */
1308
- title?: string;
1309
- /** 菜单项的图标 */
1310
- icon?: string;
1311
- /** 是否在菜单中隐藏 */
1312
- hidden?: boolean;
1313
- /** 是否固定在标签栏 */
1314
- affix?: boolean;
1315
- /** 是否缓存该页面 */
1316
- keepAlive?: boolean;
1317
- /** 是否全屏显示 */
1318
- full?: boolean;
1319
- /** 外部链接 URL */
1320
- link?: string;
1321
- /** 扩展属性 */
1322
- [key: string]: any;
1323
- };
2019
+ meta?: TMeta;
1324
2020
  /** 子菜单 */
1325
- children?: MenuOptions[];
2021
+ children?: MenuOptions<TMeta>[];
1326
2022
  }
1327
2023
 
1328
2024
  /**
@@ -1346,6 +2042,57 @@ export declare interface MenuTag {
1346
2042
 
1347
2043
  export declare const MenuTrigger: DefineComponent<__VLS_Props_7, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_7> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLDivElement>;
1348
2044
 
2045
+ /** @deprecated 请使用 C_MixLayout;计划在 4.0 移除。 */
2046
+ export declare const MixLayout: {
2047
+ new (...args: any[]): CreateComponentPublicInstanceWithMixins<Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, PublicProps, {}, true, {}, {}, GlobalComponents, GlobalDirectives, string, {}, HTMLDivElement, ComponentProvideOptions, {
2048
+ P: {};
2049
+ B: {};
2050
+ D: {};
2051
+ C: {};
2052
+ M: {};
2053
+ Defaults: {};
2054
+ }, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, {}>;
2055
+ __isFragment?: never;
2056
+ __isTeleport?: never;
2057
+ __isSuspense?: never;
2058
+ } & ComponentOptionsBase<Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, {}, {}, string, {}, GlobalComponents, GlobalDirectives, string, ComponentProvideOptions> & VNodeProps & AllowedComponentProps & ComponentCustomProps & (new () => {
2059
+ $slots: {
2060
+ logo?(_: {}): any;
2061
+ header?(_: {}): any;
2062
+ footer?(_: {}): any;
2063
+ };
2064
+ });
2065
+
2066
+ /** @deprecated 请使用 C_MixTopLayout;计划在 4.0 移除。 */
2067
+ export declare const MixTopLayout: {
2068
+ new (...args: any[]): CreateComponentPublicInstanceWithMixins<Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, PublicProps, {}, true, {}, {}, GlobalComponents, GlobalDirectives, string, {}, HTMLDivElement, ComponentProvideOptions, {
2069
+ P: {};
2070
+ B: {};
2071
+ D: {};
2072
+ C: {};
2073
+ M: {};
2074
+ Defaults: {};
2075
+ }, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, {}>;
2076
+ __isFragment?: never;
2077
+ __isTeleport?: never;
2078
+ __isSuspense?: never;
2079
+ } & ComponentOptionsBase<Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, {}, {}, string, {}, GlobalComponents, GlobalDirectives, string, ComponentProvideOptions> & VNodeProps & AllowedComponentProps & ComponentCustomProps & (new () => {
2080
+ $slots: {
2081
+ logo?(_: {}): any;
2082
+ brand?(_: {}): any;
2083
+ 'top-menu'?(_: {}): any;
2084
+ 'header-extra'?(_: {}): any;
2085
+ 'tags-view'?(_: {}): any;
2086
+ footer?(_: {}): any;
2087
+ };
2088
+ });
2089
+
2090
+ /**
2091
+ * 非破坏地统一 path/key、label/meta.title 与字符串图标来源。
2092
+ * 缺少稳定路径或 key 的节点不会进入导航,避免意外跳转到根路由。
2093
+ */
2094
+ export declare function normalizeLayoutMenus<TMeta extends MenuMeta = MenuMeta>(menus: readonly MenuOptions<TMeta>[]): LayoutMenuItem<TMeta>[];
2095
+
1349
2096
  export declare const PRESET_COLORS: PresetColor[];
1350
2097
 
1351
2098
  /** 预设颜色。 */
@@ -1354,12 +2101,36 @@ export declare interface PresetColor {
1354
2101
  value: string;
1355
2102
  }
1356
2103
 
2104
+ /** 在组件 setup 中创建并提供标准布局上下文。 */
2105
+ export declare function provideLayout(options: CreateLayoutContextOptions): LayoutContext;
2106
+
1357
2107
  /** 在组件 setup 中提供布局上下文,避免消费方直接操作 InjectionKey。 */
1358
2108
  export declare function provideLayoutContext(context: LayoutContext): LayoutContext;
1359
2109
 
1360
- export declare const ResponsiveMenu: DefineComponent<__VLS_Props_8, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_8> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {
1361
- containerRef: HTMLDivElement;
1362
- }, HTMLDivElement>;
2110
+ export declare const ResponsiveMenu: DefineComponent<__VLS_Props_8, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_8> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLDivElement>;
2111
+
2112
+ /** @deprecated 请使用 C_ReverseHorizontalMixLayout;计划在 4.0 移除。 */
2113
+ export declare const ReverseHorizontalMixLayout: {
2114
+ new (...args: any[]): CreateComponentPublicInstanceWithMixins<Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, PublicProps, {}, true, {}, {}, GlobalComponents, GlobalDirectives, string, {}, HTMLDivElement, ComponentProvideOptions, {
2115
+ P: {};
2116
+ B: {};
2117
+ D: {};
2118
+ C: {};
2119
+ M: {};
2120
+ Defaults: {};
2121
+ }, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, {}>;
2122
+ __isFragment?: never;
2123
+ __isTeleport?: never;
2124
+ __isSuspense?: never;
2125
+ } & ComponentOptionsBase<Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, {}, {}, string, {}, GlobalComponents, GlobalDirectives, string, ComponentProvideOptions> & VNodeProps & AllowedComponentProps & ComponentCustomProps & (new () => {
2126
+ $slots: {
2127
+ logo?(_: {}): any;
2128
+ 'top-menu'?(_: {}): any;
2129
+ 'header-extra'?(_: {}): any;
2130
+ 'tags-view'?(_: {}): any;
2131
+ footer?(_: {}): any;
2132
+ };
2133
+ });
1363
2134
 
1364
2135
  /**
1365
2136
  * 一次性校验完整导入文件。此函数不修改任何响应式状态或浏览器 API,
@@ -1376,6 +2147,18 @@ export declare function sanitizeSettingsPatch(input: unknown): Partial<SettingsS
1376
2147
  /** 当前导入导出配置格式版本。 */
1377
2148
  export declare const SETTINGS_CONFIG_SCHEMA_VERSION: 1;
1378
2149
 
2150
+ export declare interface SettingsControllerOptions {
2151
+ store: SettingsStoreInstance;
2152
+ actions?: SettingsDrawerActions;
2153
+ maxImportBytes?: number;
2154
+ /** 灰度/色弱 class 的作用元素;默认 document.documentElement。 */
2155
+ visualRoot?: HTMLElement | null;
2156
+ /** 水印挂载容器;默认 document.body。 */
2157
+ watermarkContainer?: HTMLElement | null;
2158
+ watermarkText?: string;
2159
+ onVisualEffectError?: (message: string) => void;
2160
+ }
2161
+
1379
2162
  export declare const SettingsDrawer: __VLS_WithTemplateSlots_2<typeof __VLS_component_2, __VLS_TemplateResult_2["slots"]>;
1380
2163
 
1381
2164
  /** 由宿主应用实现的高副作用操作。 */
@@ -1405,6 +2188,32 @@ export declare interface SettingsState {
1405
2188
  sidebarCollapsedWidth: number;
1406
2189
  headerHeight: number;
1407
2190
  enableHotkeys: boolean;
2191
+ /** @deprecated 包版本不应参与配置迁移,请使用 SETTINGS_CONFIG_SCHEMA_VERSION。 */
2192
+ version: string;
2193
+ }
2194
+
2195
+ /** UI 无关的布局设置协议。 */
2196
+ declare interface SettingsState_2 {
2197
+ themeMode: ThemeMode_2;
2198
+ primaryColor: string;
2199
+ borderRadius: BorderRadiusSize_2;
2200
+ transitionType: TransitionType_2;
2201
+ enableTransition: boolean;
2202
+ layoutMode: LayoutMode_2;
2203
+ menuExpandMode: MenuExpandMode_2;
2204
+ collapsed: boolean;
2205
+ fixedHeader: boolean;
2206
+ showBreadcrumb: boolean;
2207
+ showBreadcrumbIcon: boolean;
2208
+ showTagsView: boolean;
2209
+ tagsViewHeight: number;
2210
+ tagsViewStyle: TagsViewStyle_2;
2211
+ showFooter: boolean;
2212
+ sidebarWidth: number;
2213
+ sidebarCollapsedWidth: number;
2214
+ headerHeight: number;
2215
+ enableHotkeys: boolean;
2216
+ /** @deprecated 包版本不应参与配置迁移,请使用 SETTINGS_CONFIG_SCHEMA_VERSION。 */
1408
2217
  version: string;
1409
2218
  }
1410
2219
 
@@ -1416,6 +2225,8 @@ export declare interface SettingsStoreOptions {
1416
2225
  id?: string;
1417
2226
  defaults?: Partial<SettingsState>;
1418
2227
  onThemeModeChange?: (mode: ThemeMode) => void | Promise<void>;
2228
+ /** 是否自动同步 CSS 变量;默认 true,微前端可关闭后自行绑定作用域。 */
2229
+ syncCssVariables?: boolean;
1419
2230
  }
1420
2231
 
1421
2232
  /**
@@ -1423,7 +2234,7 @@ export declare interface SettingsStoreOptions {
1423
2234
  *
1424
2235
  * @example
1425
2236
  * ```ts
1426
- * import { setupLayout } from '@robot-admin/layout'
2237
+ * import { setupLayout } from '@robot-admin/layout/vue'
1427
2238
  * setupLayout(app, {
1428
2239
  * onThemeModeChange: async (mode) => {
1429
2240
  * const themeStore = useThemeStore()
@@ -1433,6 +2244,28 @@ export declare interface SettingsStoreOptions {
1433
2244
  * ```
1434
2245
  */
1435
2246
  export declare function setupLayout(app: App, options?: SettingsStoreOptions): StoreDefinition<string, Pick<{
2247
+ defaults: Readonly<{
2248
+ themeMode: ThemeMode;
2249
+ primaryColor: string;
2250
+ borderRadius: BorderRadiusSize;
2251
+ transitionType: TransitionType;
2252
+ enableTransition: boolean;
2253
+ layoutMode: LayoutMode;
2254
+ menuExpandMode: MenuExpandMode;
2255
+ collapsed: boolean;
2256
+ fixedHeader: boolean;
2257
+ showBreadcrumb: boolean;
2258
+ showBreadcrumbIcon: boolean;
2259
+ showTagsView: boolean;
2260
+ tagsViewHeight: number;
2261
+ tagsViewStyle: TagsViewStyle;
2262
+ showFooter: boolean;
2263
+ sidebarWidth: number;
2264
+ sidebarCollapsedWidth: number;
2265
+ headerHeight: number;
2266
+ enableHotkeys: boolean;
2267
+ version: string;
2268
+ }>;
1436
2269
  themeMode: Ref<ThemeMode, ThemeMode>;
1437
2270
  primaryColor: Ref<string, string>;
1438
2271
  borderRadius: Ref<BorderRadiusSize, BorderRadiusSize>;
@@ -1457,12 +2290,34 @@ borderRadiusValue: ComputedRef<"4px" | "6px" | "8px">;
1457
2290
  transitionName: ComputedRef<"" | "fade-transform" | "fade-slide" | "fade-zoom">;
1458
2291
  shouldEnableTransition: ComputedRef<boolean>;
1459
2292
  settingsState: ComputedRef<SettingsState>;
1460
- syncCSSVariables: () => void;
2293
+ syncCSSVariables: () => void | undefined;
1461
2294
  applyPreset: (preset: ThemePreset) => Promise<void>;
1462
2295
  resetSettings: () => void;
1463
2296
  updateThemeMode: (mode: ThemeMode) => Promise<void>;
1464
2297
  toggleCollapse: () => void;
1465
- }, "themeMode" | "layoutMode" | "primaryColor" | "borderRadius" | "transitionType" | "enableTransition" | "menuExpandMode" | "collapsed" | "fixedHeader" | "showBreadcrumb" | "showBreadcrumbIcon" | "showTagsView" | "tagsViewHeight" | "tagsViewStyle" | "showFooter" | "sidebarWidth" | "sidebarCollapsedWidth" | "headerHeight" | "enableHotkeys" | "version">, Pick<{
2298
+ }, "themeMode" | "layoutMode" | "primaryColor" | "borderRadius" | "transitionType" | "enableTransition" | "menuExpandMode" | "collapsed" | "fixedHeader" | "showBreadcrumb" | "showBreadcrumbIcon" | "showTagsView" | "tagsViewHeight" | "tagsViewStyle" | "showFooter" | "sidebarWidth" | "sidebarCollapsedWidth" | "headerHeight" | "enableHotkeys" | "version" | "defaults">, Pick<{
2299
+ defaults: Readonly<{
2300
+ themeMode: ThemeMode;
2301
+ primaryColor: string;
2302
+ borderRadius: BorderRadiusSize;
2303
+ transitionType: TransitionType;
2304
+ enableTransition: boolean;
2305
+ layoutMode: LayoutMode;
2306
+ menuExpandMode: MenuExpandMode;
2307
+ collapsed: boolean;
2308
+ fixedHeader: boolean;
2309
+ showBreadcrumb: boolean;
2310
+ showBreadcrumbIcon: boolean;
2311
+ showTagsView: boolean;
2312
+ tagsViewHeight: number;
2313
+ tagsViewStyle: TagsViewStyle;
2314
+ showFooter: boolean;
2315
+ sidebarWidth: number;
2316
+ sidebarCollapsedWidth: number;
2317
+ headerHeight: number;
2318
+ enableHotkeys: boolean;
2319
+ version: string;
2320
+ }>;
1466
2321
  themeMode: Ref<ThemeMode, ThemeMode>;
1467
2322
  primaryColor: Ref<string, string>;
1468
2323
  borderRadius: Ref<BorderRadiusSize, BorderRadiusSize>;
@@ -1487,12 +2342,34 @@ borderRadiusValue: ComputedRef<"4px" | "6px" | "8px">;
1487
2342
  transitionName: ComputedRef<"" | "fade-transform" | "fade-slide" | "fade-zoom">;
1488
2343
  shouldEnableTransition: ComputedRef<boolean>;
1489
2344
  settingsState: ComputedRef<SettingsState>;
1490
- syncCSSVariables: () => void;
2345
+ syncCSSVariables: () => void | undefined;
1491
2346
  applyPreset: (preset: ThemePreset) => Promise<void>;
1492
2347
  resetSettings: () => void;
1493
2348
  updateThemeMode: (mode: ThemeMode) => Promise<void>;
1494
2349
  toggleCollapse: () => void;
1495
2350
  }, "borderRadiusValue" | "transitionName" | "shouldEnableTransition" | "settingsState">, Pick<{
2351
+ defaults: Readonly<{
2352
+ themeMode: ThemeMode;
2353
+ primaryColor: string;
2354
+ borderRadius: BorderRadiusSize;
2355
+ transitionType: TransitionType;
2356
+ enableTransition: boolean;
2357
+ layoutMode: LayoutMode;
2358
+ menuExpandMode: MenuExpandMode;
2359
+ collapsed: boolean;
2360
+ fixedHeader: boolean;
2361
+ showBreadcrumb: boolean;
2362
+ showBreadcrumbIcon: boolean;
2363
+ showTagsView: boolean;
2364
+ tagsViewHeight: number;
2365
+ tagsViewStyle: TagsViewStyle;
2366
+ showFooter: boolean;
2367
+ sidebarWidth: number;
2368
+ sidebarCollapsedWidth: number;
2369
+ headerHeight: number;
2370
+ enableHotkeys: boolean;
2371
+ version: string;
2372
+ }>;
1496
2373
  themeMode: Ref<ThemeMode, ThemeMode>;
1497
2374
  primaryColor: Ref<string, string>;
1498
2375
  borderRadius: Ref<BorderRadiusSize, BorderRadiusSize>;
@@ -1517,7 +2394,7 @@ borderRadiusValue: ComputedRef<"4px" | "6px" | "8px">;
1517
2394
  transitionName: ComputedRef<"" | "fade-transform" | "fade-slide" | "fade-zoom">;
1518
2395
  shouldEnableTransition: ComputedRef<boolean>;
1519
2396
  settingsState: ComputedRef<SettingsState>;
1520
- syncCSSVariables: () => void;
2397
+ syncCSSVariables: () => void | undefined;
1521
2398
  applyPreset: (preset: ThemePreset) => Promise<void>;
1522
2399
  resetSettings: () => void;
1523
2400
  updateThemeMode: (mode: ThemeMode) => Promise<void>;
@@ -1529,20 +2406,81 @@ export declare function shouldCacheRoute(route: Pick<RouteLocationNormalizedLoad
1529
2406
  name: string;
1530
2407
  };
1531
2408
 
2409
+ /** @deprecated 请使用 C_SideLayout;计划在 4.0 移除。 */
2410
+ export declare const SideLayout: {
2411
+ new (...args: any[]): CreateComponentPublicInstanceWithMixins<Readonly<{
2412
+ collapsed?: boolean;
2413
+ }> & Readonly<{
2414
+ "onUpdate:collapsed"?: ((value: boolean) => any) | undefined;
2415
+ }>, {
2416
+ collapsed: ComputedRef<boolean>;
2417
+ toggleCollapse: () => void;
2418
+ }, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
2419
+ "update:collapsed": (value: boolean) => any;
2420
+ }, PublicProps, {
2421
+ collapsed: boolean;
2422
+ }, false, {}, {}, GlobalComponents, GlobalDirectives, string, {}, any, ComponentProvideOptions, {
2423
+ P: {};
2424
+ B: {};
2425
+ D: {};
2426
+ C: {};
2427
+ M: {};
2428
+ Defaults: {};
2429
+ }, Readonly<{
2430
+ collapsed?: boolean;
2431
+ }> & Readonly<{
2432
+ "onUpdate:collapsed"?: ((value: boolean) => any) | undefined;
2433
+ }>, {
2434
+ collapsed: ComputedRef<boolean>;
2435
+ toggleCollapse: () => void;
2436
+ }, {}, {}, {}, {
2437
+ collapsed: boolean;
2438
+ }>;
2439
+ __isFragment?: never;
2440
+ __isTeleport?: never;
2441
+ __isSuspense?: never;
2442
+ } & ComponentOptionsBase<Readonly<{
2443
+ collapsed?: boolean;
2444
+ }> & Readonly<{
2445
+ "onUpdate:collapsed"?: ((value: boolean) => any) | undefined;
2446
+ }>, {
2447
+ collapsed: ComputedRef<boolean>;
2448
+ toggleCollapse: () => void;
2449
+ }, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
2450
+ "update:collapsed": (value: boolean) => any;
2451
+ }, string, {
2452
+ collapsed: boolean;
2453
+ }, {}, string, {}, GlobalComponents, GlobalDirectives, string, ComponentProvideOptions> & VNodeProps & AllowedComponentProps & ComponentCustomProps & (new () => {
2454
+ $slots: {
2455
+ logo?(_: {}): any;
2456
+ menu?(_: {
2457
+ collapsed: boolean;
2458
+ }): any;
2459
+ header?(_: {}): any;
2460
+ footer?(_: {}): any;
2461
+ };
2462
+ });
2463
+
1532
2464
  export declare const SideMenu: DefineComponent<__VLS_Props_5, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
1533
- click: (item: MenuOptions) => any;
2465
+ click: (item: MenuOptions<MenuMeta_2>) => any;
1534
2466
  }, string, PublicProps, Readonly<__VLS_Props_5> & Readonly<{
1535
- onClick?: ((item: MenuOptions) => any) | undefined;
2467
+ onClick?: ((item: MenuOptions<MenuMeta_2>) => any) | undefined;
1536
2468
  }>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
1537
2469
 
1538
2470
  /** 标签页风格。 */
1539
2471
  export declare type TagsViewStyle = "default" | "card" | "smart";
1540
2472
 
2473
+ /** 标签页风格。 */
2474
+ declare type TagsViewStyle_2 = "default" | "card" | "smart";
2475
+
1541
2476
  export declare const THEME_PRESETS: ThemePreset[];
1542
2477
 
1543
2478
  /** 与具体主题实现无关的标准主题模式。 */
1544
2479
  export declare type ThemeMode = "light" | "dark" | "system";
1545
2480
 
2481
+ /** 与具体主题实现无关的标准主题模式。 */
2482
+ declare type ThemeMode_2 = "light" | "dark" | "system";
2483
+
1546
2484
  /** 主题预设方案。 */
1547
2485
  export declare interface ThemePreset {
1548
2486
  name: string;
@@ -1552,6 +2490,29 @@ export declare interface ThemePreset {
1552
2490
  settings?: Partial<Omit<SettingsState, "themeMode" | "layoutMode" | "primaryColor">>;
1553
2491
  }
1554
2492
 
2493
+ /** @deprecated 请使用 C_TopLayout;计划在 4.0 移除。 */
2494
+ export declare const TopLayout: {
2495
+ new (...args: any[]): CreateComponentPublicInstanceWithMixins<Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, PublicProps, {}, true, {}, {}, GlobalComponents, GlobalDirectives, string, {}, HTMLDivElement, ComponentProvideOptions, {
2496
+ P: {};
2497
+ B: {};
2498
+ D: {};
2499
+ C: {};
2500
+ M: {};
2501
+ Defaults: {};
2502
+ }, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, {}>;
2503
+ __isFragment?: never;
2504
+ __isTeleport?: never;
2505
+ __isSuspense?: never;
2506
+ } & ComponentOptionsBase<Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, {}, {}, string, {}, GlobalComponents, GlobalDirectives, string, ComponentProvideOptions> & VNodeProps & AllowedComponentProps & ComponentCustomProps & (new () => {
2507
+ $slots: {
2508
+ logo?(_: {}): any;
2509
+ menu?(_: {}): any;
2510
+ 'header-extra'?(_: {}): any;
2511
+ 'tags-view'?(_: {}): any;
2512
+ footer?(_: {}): any;
2513
+ };
2514
+ });
2515
+
1555
2516
  export declare const TRANSITION_MAP: {
1556
2517
  readonly fade: "fade-transform";
1557
2518
  readonly slide: "fade-slide";
@@ -1562,6 +2523,9 @@ export declare const TRANSITION_MAP: {
1562
2523
  /** 页面动画类型。 */
1563
2524
  export declare type TransitionType = "fade" | "slide" | "zoom" | "none";
1564
2525
 
2526
+ /** 页面动画类型。 */
2527
+ declare type TransitionType_2 = "fade" | "slide" | "zoom" | "none";
2528
+
1565
2529
  /**
1566
2530
  * 统一的 KeepAlive 缓存管理 composable
1567
2531
  *
@@ -1571,7 +2535,7 @@ export declare type TransitionType = "fade" | "slide" | "zoom" | "none";
1571
2535
  * @example
1572
2536
  * ```vue
1573
2537
  * <script setup>
1574
- * import { useLayoutCache } from '@robot-admin/layout'
2538
+ * import { useLayoutCache } from '@robot-admin/layout/vue'
1575
2539
  *
1576
2540
  * const { cachedViews, maxCacheCount } = useLayoutCache({ maxCacheCount: 30 })
1577
2541
  * </script>
@@ -1608,11 +2572,17 @@ export declare function useLayoutCache(options?: LayoutCacheOptions): {
1608
2572
  */
1609
2573
  export declare function useLayoutContext(): LayoutContext;
1610
2574
 
2575
+ /** setup 作用域内使用的自动清理版本。 */
2576
+ export declare function useLayoutCssVariables(source: LayoutCssVariableSource, options?: LayoutCssVariableOptions): LayoutCssVariableBinding;
2577
+
2578
+ /** 返回宿主图标组件;未配置时使用零依赖 CSS class 渲染器。 */
2579
+ export declare function useLayoutIcon(): Component;
2580
+
1611
2581
  /**
1612
2582
  * 菜单拆分 Composable
1613
2583
  *
1614
2584
  * 提供一级/二级菜单拆分状态管理、路由自动匹配、菜单点击处理。
1615
- * 供 MixLayout / MixTopLayout / ReverseHorizontalMixLayout 共用。
2585
+ * 供 C_MixLayout / C_MixTopLayout / C_ReverseHorizontalMixLayout 共用。
1616
2586
  *
1617
2587
  * @example
1618
2588
  * ```ts
@@ -1626,8 +2596,8 @@ export declare function useMenuSplit(options: UseMenuSplitOptions): UseMenuSplit
1626
2596
 
1627
2597
  export declare interface UseMenuSplitOptions {
1628
2598
  /** 菜单数据(响应式) */
1629
- menus: ComputedRef<MenuOptions[]>;
1630
- /** 是否使用悬浮式二级菜单(MixLayout 的 toggle 模式) */
2599
+ menus: MaybeRefOrGetter<readonly MenuOptions[]>;
2600
+ /** 是否使用悬浮式二级菜单(C_MixLayout 的 toggle 模式) */
1631
2601
  floatingSecondMenu?: MaybeRefOrGetter<boolean>;
1632
2602
  }
1633
2603
 
@@ -1638,11 +2608,11 @@ export declare interface UseMenuSplitReturn {
1638
2608
  activeFirstMenuItem: ComputedRef<MenuOptions | undefined>;
1639
2609
  /** 当前一级菜单对应的二级菜单列表 */
1640
2610
  currentSecondMenus: ComputedRef<MenuOptions[]>;
1641
- /** 悬浮的菜单项(MixLayout 使用) */
2611
+ /** 悬浮的菜单项(C_MixLayout 使用) */
1642
2612
  hoveredMenuItem: Ref<MenuOptions | null>;
1643
2613
  /** 实际展示的菜单项(hovered 优先,fallback 到 active) */
1644
2614
  displayMenuItem: ComputedRef<MenuOptions | null>;
1645
- /** 是否显示悬浮二级菜单(MixLayout 使用) */
2615
+ /** 是否显示悬浮二级菜单(C_MixLayout 使用) */
1646
2616
  showSecondMenu: Ref<boolean>;
1647
2617
  /** 处理一级菜单点击 */
1648
2618
  handleFirstMenuClick: (item: MenuOptions) => void;
@@ -1652,10 +2622,171 @@ export declare interface UseMenuSplitReturn {
1652
2622
  isMenuItemActive: (menuPath: string | undefined) => boolean;
1653
2623
  }
1654
2624
 
2625
+ /**
2626
+ * UI 框架无关的响应式菜单测量逻辑。
2627
+ * Naive UI 和 Element Plus 适配器只负责把 visible/hidden 数据渲染出来。
2628
+ */
2629
+ export declare function useResponsiveMenu(options: UseResponsiveMenuOptions): {
2630
+ containerRef: Ref<HTMLElement | undefined, HTMLElement | undefined>;
2631
+ hiddenItems: Ref< {
2632
+ type?: MenuItemType_2 | undefined;
2633
+ key?: string | undefined;
2634
+ path?: string | undefined;
2635
+ name?: string | undefined;
2636
+ component?: string | undefined;
2637
+ redirect?: string | undefined;
2638
+ label?: string | undefined;
2639
+ icon?: (string | (() => VNode) | VNode) | undefined;
2640
+ disabled?: boolean | undefined;
2641
+ meta?: {
2642
+ [x: string]: unknown;
2643
+ title?: string | undefined;
2644
+ icon?: string | undefined;
2645
+ hidden?: boolean | undefined;
2646
+ affix?: boolean | undefined;
2647
+ keepAlive?: boolean | undefined;
2648
+ full?: boolean | undefined;
2649
+ link?: string | undefined;
2650
+ } | undefined;
2651
+ children?: /*elided*/ any[] | undefined;
2652
+ }[], MenuOptions<MenuMeta_2>[] | {
2653
+ type?: MenuItemType_2 | undefined;
2654
+ key?: string | undefined;
2655
+ path?: string | undefined;
2656
+ name?: string | undefined;
2657
+ component?: string | undefined;
2658
+ redirect?: string | undefined;
2659
+ label?: string | undefined;
2660
+ icon?: (string | (() => VNode) | VNode) | undefined;
2661
+ disabled?: boolean | undefined;
2662
+ meta?: {
2663
+ [x: string]: unknown;
2664
+ title?: string | undefined;
2665
+ icon?: string | undefined;
2666
+ hidden?: boolean | undefined;
2667
+ affix?: boolean | undefined;
2668
+ keepAlive?: boolean | undefined;
2669
+ full?: boolean | undefined;
2670
+ link?: string | undefined;
2671
+ } | undefined;
2672
+ children?: /*elided*/ any[] | undefined;
2673
+ }[]>;
2674
+ refresh: () => void;
2675
+ visibleItems: Ref< {
2676
+ type?: MenuItemType_2 | undefined;
2677
+ key?: string | undefined;
2678
+ path?: string | undefined;
2679
+ name?: string | undefined;
2680
+ component?: string | undefined;
2681
+ redirect?: string | undefined;
2682
+ label?: string | undefined;
2683
+ icon?: (string | (() => VNode) | VNode) | undefined;
2684
+ disabled?: boolean | undefined;
2685
+ meta?: {
2686
+ [x: string]: unknown;
2687
+ title?: string | undefined;
2688
+ icon?: string | undefined;
2689
+ hidden?: boolean | undefined;
2690
+ affix?: boolean | undefined;
2691
+ keepAlive?: boolean | undefined;
2692
+ full?: boolean | undefined;
2693
+ link?: string | undefined;
2694
+ } | undefined;
2695
+ children?: /*elided*/ any[] | undefined;
2696
+ }[], MenuOptions<MenuMeta_2>[] | {
2697
+ type?: MenuItemType_2 | undefined;
2698
+ key?: string | undefined;
2699
+ path?: string | undefined;
2700
+ name?: string | undefined;
2701
+ component?: string | undefined;
2702
+ redirect?: string | undefined;
2703
+ label?: string | undefined;
2704
+ icon?: (string | (() => VNode) | VNode) | undefined;
2705
+ disabled?: boolean | undefined;
2706
+ meta?: {
2707
+ [x: string]: unknown;
2708
+ title?: string | undefined;
2709
+ icon?: string | undefined;
2710
+ hidden?: boolean | undefined;
2711
+ affix?: boolean | undefined;
2712
+ keepAlive?: boolean | undefined;
2713
+ full?: boolean | undefined;
2714
+ link?: string | undefined;
2715
+ } | undefined;
2716
+ children?: /*elided*/ any[] | undefined;
2717
+ }[]>;
2718
+ };
2719
+
2720
+ /** 响应式菜单测量选项。 */
2721
+ export declare interface UseResponsiveMenuOptions {
2722
+ data: MaybeRefOrGetter<readonly MenuOptions[]>;
2723
+ /** 溢出菜单按钮和安全间距占用的宽度,默认 95px。 */
2724
+ overflowReserve?: number;
2725
+ /** ResizeObserver 触发后的防抖时间,默认 100ms。 */
2726
+ debounceMs?: number;
2727
+ }
2728
+
2729
+ /**
2730
+ * SettingsDrawer 的 UI 框架无关控制器。
2731
+ *
2732
+ * 负责配置事务、导入导出和页面级视觉效果;Naive UI / Element Plus
2733
+ * 适配器只处理组件渲染、消息和确认框。
2734
+ * 在 Vue setup/effect scope 内会自动清理;在作用域外创建时应调用返回值的 dispose()。
2735
+ */
2736
+ export declare function useSettingsController(options: SettingsControllerOptions): {
2737
+ applyImportedConfig: (input: unknown) => Promise<LayoutSettingsConfig>;
2738
+ applyPreset: (preset: ThemePreset) => Promise<void>;
2739
+ clearCache: () => Promise<void>;
2740
+ colorWeakMode: Ref<boolean, boolean>;
2741
+ createExportConfig: () => ExportedLayoutSettings;
2742
+ dispose: () => void;
2743
+ downloadConfig: () => boolean;
2744
+ grayMode: Ref<boolean, boolean>;
2745
+ importFile: (file: Pick<File, "size" | "text">) => Promise<LayoutSettingsConfig>;
2746
+ reloadPage: () => void;
2747
+ resetAll: () => Promise<void>;
2748
+ resetAppearance: () => Promise<void>;
2749
+ resetLayout: () => void;
2750
+ systemInfo: ComputedRef< {
2751
+ browser: string;
2752
+ os: string;
2753
+ resolution: string;
2754
+ pixelRatio: string;
2755
+ language: string;
2756
+ timezone: string;
2757
+ }>;
2758
+ updateThemeMode: (mode: ThemeMode) => Promise<void>;
2759
+ watermarkEnabled: Ref<boolean, boolean>;
2760
+ watermarkText: Ref<string, string>;
2761
+ };
2762
+
1655
2763
  /**
1656
2764
  * 默认的设置 Store(使用默认配置)
1657
2765
  */
1658
2766
  export declare const useSettingsStore: StoreDefinition<string, Pick<{
2767
+ /** 当前 Store 实例实际使用的默认值。 */
2768
+ defaults: Readonly<{
2769
+ themeMode: ThemeMode;
2770
+ primaryColor: string;
2771
+ borderRadius: BorderRadiusSize;
2772
+ transitionType: TransitionType;
2773
+ enableTransition: boolean;
2774
+ layoutMode: LayoutMode;
2775
+ menuExpandMode: MenuExpandMode;
2776
+ collapsed: boolean;
2777
+ fixedHeader: boolean;
2778
+ showBreadcrumb: boolean;
2779
+ showBreadcrumbIcon: boolean;
2780
+ showTagsView: boolean;
2781
+ tagsViewHeight: number;
2782
+ tagsViewStyle: TagsViewStyle;
2783
+ showFooter: boolean;
2784
+ sidebarWidth: number;
2785
+ sidebarCollapsedWidth: number;
2786
+ headerHeight: number;
2787
+ enableHotkeys: boolean;
2788
+ version: string;
2789
+ }>;
1659
2790
  themeMode: Ref<ThemeMode, ThemeMode>;
1660
2791
  primaryColor: Ref<string, string>;
1661
2792
  borderRadius: Ref<BorderRadiusSize, BorderRadiusSize>;
@@ -1680,12 +2811,35 @@ borderRadiusValue: ComputedRef<"4px" | "6px" | "8px">;
1680
2811
  transitionName: ComputedRef<"" | "fade-transform" | "fade-slide" | "fade-zoom">;
1681
2812
  shouldEnableTransition: ComputedRef<boolean>;
1682
2813
  settingsState: ComputedRef<SettingsState>;
1683
- syncCSSVariables: () => void;
2814
+ syncCSSVariables: () => void | undefined;
1684
2815
  applyPreset: (preset: ThemePreset) => Promise<void>;
1685
2816
  resetSettings: () => void;
1686
2817
  updateThemeMode: (mode: ThemeMode) => Promise<void>;
1687
2818
  toggleCollapse: () => void;
1688
- }, "themeMode" | "layoutMode" | "primaryColor" | "borderRadius" | "transitionType" | "enableTransition" | "menuExpandMode" | "collapsed" | "fixedHeader" | "showBreadcrumb" | "showBreadcrumbIcon" | "showTagsView" | "tagsViewHeight" | "tagsViewStyle" | "showFooter" | "sidebarWidth" | "sidebarCollapsedWidth" | "headerHeight" | "enableHotkeys" | "version">, Pick<{
2819
+ }, "themeMode" | "layoutMode" | "primaryColor" | "borderRadius" | "transitionType" | "enableTransition" | "menuExpandMode" | "collapsed" | "fixedHeader" | "showBreadcrumb" | "showBreadcrumbIcon" | "showTagsView" | "tagsViewHeight" | "tagsViewStyle" | "showFooter" | "sidebarWidth" | "sidebarCollapsedWidth" | "headerHeight" | "enableHotkeys" | "version" | "defaults">, Pick<{
2820
+ /** 当前 Store 实例实际使用的默认值。 */
2821
+ defaults: Readonly<{
2822
+ themeMode: ThemeMode;
2823
+ primaryColor: string;
2824
+ borderRadius: BorderRadiusSize;
2825
+ transitionType: TransitionType;
2826
+ enableTransition: boolean;
2827
+ layoutMode: LayoutMode;
2828
+ menuExpandMode: MenuExpandMode;
2829
+ collapsed: boolean;
2830
+ fixedHeader: boolean;
2831
+ showBreadcrumb: boolean;
2832
+ showBreadcrumbIcon: boolean;
2833
+ showTagsView: boolean;
2834
+ tagsViewHeight: number;
2835
+ tagsViewStyle: TagsViewStyle;
2836
+ showFooter: boolean;
2837
+ sidebarWidth: number;
2838
+ sidebarCollapsedWidth: number;
2839
+ headerHeight: number;
2840
+ enableHotkeys: boolean;
2841
+ version: string;
2842
+ }>;
1689
2843
  themeMode: Ref<ThemeMode, ThemeMode>;
1690
2844
  primaryColor: Ref<string, string>;
1691
2845
  borderRadius: Ref<BorderRadiusSize, BorderRadiusSize>;
@@ -1710,12 +2864,35 @@ borderRadiusValue: ComputedRef<"4px" | "6px" | "8px">;
1710
2864
  transitionName: ComputedRef<"" | "fade-transform" | "fade-slide" | "fade-zoom">;
1711
2865
  shouldEnableTransition: ComputedRef<boolean>;
1712
2866
  settingsState: ComputedRef<SettingsState>;
1713
- syncCSSVariables: () => void;
2867
+ syncCSSVariables: () => void | undefined;
1714
2868
  applyPreset: (preset: ThemePreset) => Promise<void>;
1715
2869
  resetSettings: () => void;
1716
2870
  updateThemeMode: (mode: ThemeMode) => Promise<void>;
1717
2871
  toggleCollapse: () => void;
1718
2872
  }, "borderRadiusValue" | "transitionName" | "shouldEnableTransition" | "settingsState">, Pick<{
2873
+ /** 当前 Store 实例实际使用的默认值。 */
2874
+ defaults: Readonly<{
2875
+ themeMode: ThemeMode;
2876
+ primaryColor: string;
2877
+ borderRadius: BorderRadiusSize;
2878
+ transitionType: TransitionType;
2879
+ enableTransition: boolean;
2880
+ layoutMode: LayoutMode;
2881
+ menuExpandMode: MenuExpandMode;
2882
+ collapsed: boolean;
2883
+ fixedHeader: boolean;
2884
+ showBreadcrumb: boolean;
2885
+ showBreadcrumbIcon: boolean;
2886
+ showTagsView: boolean;
2887
+ tagsViewHeight: number;
2888
+ tagsViewStyle: TagsViewStyle;
2889
+ showFooter: boolean;
2890
+ sidebarWidth: number;
2891
+ sidebarCollapsedWidth: number;
2892
+ headerHeight: number;
2893
+ enableHotkeys: boolean;
2894
+ version: string;
2895
+ }>;
1719
2896
  themeMode: Ref<ThemeMode, ThemeMode>;
1720
2897
  primaryColor: Ref<string, string>;
1721
2898
  borderRadius: Ref<BorderRadiusSize, BorderRadiusSize>;
@@ -1740,7 +2917,7 @@ borderRadiusValue: ComputedRef<"4px" | "6px" | "8px">;
1740
2917
  transitionName: ComputedRef<"" | "fade-transform" | "fade-slide" | "fade-zoom">;
1741
2918
  shouldEnableTransition: ComputedRef<boolean>;
1742
2919
  settingsState: ComputedRef<SettingsState>;
1743
- syncCSSVariables: () => void;
2920
+ syncCSSVariables: () => void | undefined;
1744
2921
  applyPreset: (preset: ThemePreset) => Promise<void>;
1745
2922
  resetSettings: () => void;
1746
2923
  updateThemeMode: (mode: ThemeMode) => Promise<void>;