@vuecs/navigation 3.0.2 → 4.0.1

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.
Files changed (54) hide show
  1. package/README.md +2 -2
  2. package/dist/components/index.d.ts +1 -0
  3. package/dist/components/index.d.ts.map +1 -1
  4. package/dist/components/item/module.d.ts +115 -2
  5. package/dist/components/item/module.d.ts.map +1 -1
  6. package/dist/components/items/module.d.ts +234 -19
  7. package/dist/components/items/module.d.ts.map +1 -1
  8. package/dist/components/items/theme.d.ts.map +1 -1
  9. package/dist/components/select-context.d.ts +30 -0
  10. package/dist/components/select-context.d.ts.map +1 -0
  11. package/dist/components/stepper/Stepper.vue.d.ts +1 -1
  12. package/dist/components/stepper/StepperDescription.vue.d.ts +1 -1
  13. package/dist/components/stepper/StepperIndicator.vue.d.ts +1 -1
  14. package/dist/components/stepper/StepperSeparator.vue.d.ts +1 -1
  15. package/dist/components/stepper/StepperTitle.vue.d.ts +1 -1
  16. package/dist/components/stepper/StepperTrigger.vue.d.ts +1 -1
  17. package/dist/components/type.d.ts +12 -5
  18. package/dist/components/type.d.ts.map +1 -1
  19. package/dist/helpers/component/types.d.ts +6 -0
  20. package/dist/helpers/component/types.d.ts.map +1 -1
  21. package/dist/helpers/index.d.ts +2 -1
  22. package/dist/helpers/index.d.ts.map +1 -1
  23. package/dist/helpers/normalize.d.ts +2 -6
  24. package/dist/helpers/normalize.d.ts.map +1 -1
  25. package/dist/helpers/reset.d.ts.map +1 -1
  26. package/dist/helpers/submenu.d.ts +9 -0
  27. package/dist/helpers/submenu.d.ts.map +1 -0
  28. package/dist/helpers/trail.d.ts +12 -0
  29. package/dist/helpers/trail.d.ts.map +1 -0
  30. package/dist/index.d.ts +1 -1
  31. package/dist/index.d.ts.map +1 -1
  32. package/dist/index.mjs +521 -272
  33. package/dist/index.mjs.map +1 -1
  34. package/dist/registry/index.d.ts.map +1 -0
  35. package/dist/registry/module.d.ts +42 -0
  36. package/dist/registry/module.d.ts.map +1 -0
  37. package/dist/registry/singleton.d.ts +6 -0
  38. package/dist/registry/singleton.d.ts.map +1 -0
  39. package/dist/registry/types.d.ts +22 -0
  40. package/dist/registry/types.d.ts.map +1 -0
  41. package/dist/style.css +83 -0
  42. package/dist/types.d.ts +30 -15
  43. package/dist/types.d.ts.map +1 -1
  44. package/package.json +10 -6
  45. package/dist/helpers/level.d.ts +0 -11
  46. package/dist/helpers/level.d.ts.map +0 -1
  47. package/dist/manager/index.d.ts.map +0 -1
  48. package/dist/manager/module.d.ts +0 -23
  49. package/dist/manager/module.d.ts.map +0 -1
  50. package/dist/manager/singleton.d.ts +0 -5
  51. package/dist/manager/singleton.d.ts.map +0 -1
  52. package/dist/manager/types.d.ts +0 -8
  53. package/dist/manager/types.d.ts.map +0 -1
  54. /package/dist/{manager → registry}/index.d.ts +0 -0
package/README.md CHANGED
@@ -3,12 +3,12 @@
3
3
  [![npm version](https://badge.fury.io/js/@vuecs%2Fnavigation.svg)](https://badge.fury.io/js/@vuecs%2Fnavigation)
4
4
  [![main](https://github.com/Tada5hi/vuecs/actions/workflows/main.yml/badge.svg)](https://github.com/Tada5hi/vuecs/actions/workflows/main.yml)
5
5
 
6
- Multi-level navigation for Vue 3 with `vue-router` integration and a shared NavigationManager for cross-component state. Also ships `<VCStepper>` (built on Reka's `StepperRoot`) for multi-step wizards / checkout / onboarding flows — owns its own state, no NavigationManager dependency.
6
+ Multi-level navigation for Vue 3 with optional `vue-router` integration. Every `<VCNavItems>` owns its items via a `:data` prop; navs opt into publishing to / reading from a shared reactive registry for dependent layouts (e.g. header → sidebar). Also ships `<VCStepper>` (built on Reka's `StepperRoot`) for multi-step wizards / checkout / onboarding flows.
7
7
 
8
8
  Full documentation:
9
9
 
10
10
  - [Navigation component](https://vuecs.dev/components/navigation)
11
- - [Navigation Manager guide](https://vuecs.dev/guide/navigation-manager)
11
+ - [Navigation guide](https://vuecs.dev/guide/navigation)
12
12
  - [Stepper component](https://vuecs.dev/components/stepper)
13
13
 
14
14
  ```bash
@@ -1,5 +1,6 @@
1
1
  export * from './item/module';
2
2
  export * from './items';
3
+ export * from './select-context';
3
4
  export * from './stepper';
4
5
  export * from './type';
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC;AACxB,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import type { ThemeClassesOverride, VariantValues } from '@vuecs/core';
2
- import type { ExtractPublicPropTypes, PropType, SlotsType } from 'vue';
3
- import type { NavigationItemNormalized } from '../../types';
2
+ import type { Component, ExtractPublicPropTypes, PropType, SlotsType } from 'vue';
3
+ import type { NavigationItemNormalized, NavigationOrientation, NavigationSubmenuMode } from '../../types';
4
4
  import type { NavigationThemeClasses } from '../../helpers/component/types';
5
5
  import type { NavItemLinkSlotProps, NavItemSeparatorSlotProps, NavItemSubItemsSlotProps, NavItemSubSlotProps, NavItemSubTitleSlotProps } from '../type';
6
6
  declare const navItemProps: {
@@ -8,6 +8,42 @@ declare const navItemProps: {
8
8
  type: PropType<NavigationItemNormalized>;
9
9
  required: boolean;
10
10
  };
11
+ variant: {
12
+ type: StringConstructor;
13
+ default: any;
14
+ };
15
+ orientation: {
16
+ type: PropType<NavigationOrientation>;
17
+ default: any;
18
+ };
19
+ /**
20
+ * Resolved submenu presentation handed down by the parent
21
+ * `<VCNavItems>`. `collapse` renders groups as an inline
22
+ * Reka `Collapsible`; `dropdown` renders them as Reka
23
+ * `NavigationMenu` flyouts.
24
+ */
25
+ submenu: {
26
+ type: PropType<NavigationSubmenuMode>;
27
+ default: string;
28
+ };
29
+ /**
30
+ * The tag (or component) this item renders as — its own wrapper
31
+ * (`<li>` by default). Receives `<VCNavItems>`' `itemAs`. Honored in
32
+ * collapse mode only.
33
+ */
34
+ as: {
35
+ type: PropType<string | Component>;
36
+ default: string;
37
+ };
38
+ /**
39
+ * The list-container tag for this item's nested submenu
40
+ * `<VCNavItems>` (`<ul>` by default). Receives `<VCNavItems>`' `as`.
41
+ * Honored in collapse mode only.
42
+ */
43
+ itemsAs: {
44
+ type: PropType<string | Component>;
45
+ default: string;
46
+ };
11
47
  themeClass: {
12
48
  type: PropType<ThemeClassesOverride<NavigationThemeClasses>>;
13
49
  default: any;
@@ -23,6 +59,42 @@ export declare const VCNavItem: import("vue").DefineComponent<import("vue").Extr
23
59
  type: PropType<NavigationItemNormalized>;
24
60
  required: boolean;
25
61
  };
62
+ variant: {
63
+ type: StringConstructor;
64
+ default: any;
65
+ };
66
+ orientation: {
67
+ type: PropType<NavigationOrientation>;
68
+ default: any;
69
+ };
70
+ /**
71
+ * Resolved submenu presentation handed down by the parent
72
+ * `<VCNavItems>`. `collapse` renders groups as an inline
73
+ * Reka `Collapsible`; `dropdown` renders them as Reka
74
+ * `NavigationMenu` flyouts.
75
+ */
76
+ submenu: {
77
+ type: PropType<NavigationSubmenuMode>;
78
+ default: string;
79
+ };
80
+ /**
81
+ * The tag (or component) this item renders as — its own wrapper
82
+ * (`<li>` by default). Receives `<VCNavItems>`' `itemAs`. Honored in
83
+ * collapse mode only.
84
+ */
85
+ as: {
86
+ type: PropType<string | Component>;
87
+ default: string;
88
+ };
89
+ /**
90
+ * The list-container tag for this item's nested submenu
91
+ * `<VCNavItems>` (`<ul>` by default). Receives `<VCNavItems>`' `as`.
92
+ * Honored in collapse mode only.
93
+ */
94
+ itemsAs: {
95
+ type: PropType<string | Component>;
96
+ default: string;
97
+ };
26
98
  themeClass: {
27
99
  type: PropType<ThemeClassesOverride<NavigationThemeClasses>>;
28
100
  default: any;
@@ -38,6 +110,42 @@ export declare const VCNavItem: import("vue").DefineComponent<import("vue").Extr
38
110
  type: PropType<NavigationItemNormalized>;
39
111
  required: boolean;
40
112
  };
113
+ variant: {
114
+ type: StringConstructor;
115
+ default: any;
116
+ };
117
+ orientation: {
118
+ type: PropType<NavigationOrientation>;
119
+ default: any;
120
+ };
121
+ /**
122
+ * Resolved submenu presentation handed down by the parent
123
+ * `<VCNavItems>`. `collapse` renders groups as an inline
124
+ * Reka `Collapsible`; `dropdown` renders them as Reka
125
+ * `NavigationMenu` flyouts.
126
+ */
127
+ submenu: {
128
+ type: PropType<NavigationSubmenuMode>;
129
+ default: string;
130
+ };
131
+ /**
132
+ * The tag (or component) this item renders as — its own wrapper
133
+ * (`<li>` by default). Receives `<VCNavItems>`' `itemAs`. Honored in
134
+ * collapse mode only.
135
+ */
136
+ as: {
137
+ type: PropType<string | Component>;
138
+ default: string;
139
+ };
140
+ /**
141
+ * The list-container tag for this item's nested submenu
142
+ * `<VCNavItems>` (`<ul>` by default). Receives `<VCNavItems>`' `as`.
143
+ * Honored in collapse mode only.
144
+ */
145
+ itemsAs: {
146
+ type: PropType<string | Component>;
147
+ default: string;
148
+ };
41
149
  themeClass: {
42
150
  type: PropType<ThemeClassesOverride<NavigationThemeClasses>>;
43
151
  default: any;
@@ -47,6 +155,11 @@ export declare const VCNavItem: import("vue").DefineComponent<import("vue").Extr
47
155
  default: any;
48
156
  };
49
157
  }>> & Readonly<{}>, {
158
+ variant: string;
159
+ orientation: NavigationOrientation;
160
+ submenu: NavigationSubmenuMode;
161
+ as: string;
162
+ itemsAs: string;
50
163
  themeClass: ThemeClassesOverride<NavigationThemeClasses>;
51
164
  themeVariant: VariantValues;
52
165
  }, SlotsType<{
@@ -1 +1 @@
1
- {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../src/components/item/module.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAGvE,OAAO,KAAK,EACR,sBAAsB,EACtB,QAAQ,EACR,SAAS,EAEZ,MAAM,KAAK,CAAC;AASb,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAG5E,OAAO,KAAK,EACR,oBAAoB,EACpB,yBAAyB,EACzB,wBAAwB,EACxB,mBAAmB,EACnB,wBAAwB,EAC3B,MAAM,SAAS,CAAC;AAGjB,QAAA,MAAM,YAAY;;cAEM,QAAQ,CAAC,wBAAwB,CAAC;;;;cAIlC,QAAQ,CAAC,oBAAoB,CAAC,sBAAsB,CAAC,CAAC;;;;cAItD,QAAQ,CAAC,aAAa,CAAC;;;CAG9C,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,sBAAsB,CAAC,OAAO,YAAY,CAAC,CAAC;AAEvE,eAAO,MAAM,SAAS;;cAfE,QAAQ,CAAC,wBAAwB,CAAC;;;;cAIlC,QAAQ,CAAC,oBAAoB,CAAC,sBAAsB,CAAC,CAAC;;;;cAItD,QAAQ,CAAC,aAAa,CAAC;;;;;;;cARvB,QAAQ,CAAC,wBAAwB,CAAC;;;;cAIlC,QAAQ,CAAC,oBAAoB,CAAC,sBAAsB,CAAC,CAAC;;;;cAItD,QAAQ,CAAC,aAAa,CAAC;;;;;;;eAW5B,yBAAyB;UAC9B,oBAAoB;SACrB,mBAAmB;iBACX,wBAAwB;iBACxB,wBAAwB;yEA4L3C,CAAC"}
1
+ {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../src/components/item/module.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAA0B,aAAa,EAAE,MAAM,aAAa,CAAC;AAG/F,OAAO,KAAK,EACR,SAAS,EACT,sBAAsB,EACtB,QAAQ,EACR,SAAS,EAEZ,MAAM,KAAK,CAAC;AAqBb,OAAO,KAAK,EACR,wBAAwB,EACxB,qBAAqB,EACrB,qBAAqB,EACxB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAG5E,OAAO,KAAK,EACR,oBAAoB,EACpB,yBAAyB,EACzB,wBAAwB,EACxB,mBAAmB,EACnB,wBAAwB,EAC3B,MAAM,SAAS,CAAC;AAIjB,QAAA,MAAM,YAAY;;cAEM,QAAQ,CAAC,wBAAwB,CAAC;;;;;;;;cAQlC,QAAQ,CAAC,qBAAqB,CAAC;;;IAGnD;;;;;OAKG;;cAEiB,QAAQ,CAAC,qBAAqB,CAAC;;;IAGnD;;;;OAIG;;cAE2B,QAAQ,CAAC,MAAM,GAAG,SAAS,CAAC;;;IAG1D;;;;OAIG;;cAE2B,QAAQ,CAAC,MAAM,GAAG,SAAS,CAAC;;;;cAItC,QAAQ,CAAC,oBAAoB,CAAC,sBAAsB,CAAC,CAAC;;;;cAItD,QAAQ,CAAC,aAAa,CAAC;;;CAG9C,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,sBAAsB,CAAC,OAAO,YAAY,CAAC,CAAC;AAEvE,eAAO,MAAM,SAAS;;cAnDE,QAAQ,CAAC,wBAAwB,CAAC;;;;;;;;cAQlC,QAAQ,CAAC,qBAAqB,CAAC;;;IAGnD;;;;;OAKG;;cAEiB,QAAQ,CAAC,qBAAqB,CAAC;;;IAGnD;;;;OAIG;;cAE2B,QAAQ,CAAC,MAAM,GAAG,SAAS,CAAC;;;IAG1D;;;;OAIG;;cAE2B,QAAQ,CAAC,MAAM,GAAG,SAAS,CAAC;;;;cAItC,QAAQ,CAAC,oBAAoB,CAAC,sBAAsB,CAAC,CAAC;;;;cAItD,QAAQ,CAAC,aAAa,CAAC;;;;;;;cA5CvB,QAAQ,CAAC,wBAAwB,CAAC;;;;;;;;cAQlC,QAAQ,CAAC,qBAAqB,CAAC;;;IAGnD;;;;;OAKG;;cAEiB,QAAQ,CAAC,qBAAqB,CAAC;;;IAGnD;;;;OAIG;;cAE2B,QAAQ,CAAC,MAAM,GAAG,SAAS,CAAC;;;IAG1D;;;;OAIG;;cAE2B,QAAQ,CAAC,MAAM,GAAG,SAAS,CAAC;;;;cAItC,QAAQ,CAAC,oBAAoB,CAAC,sBAAsB,CAAC,CAAC;;;;cAItD,QAAQ,CAAC,aAAa,CAAC;;;;;;;;;;;;eAW5B,yBAAyB;UAC9B,oBAAoB;SACrB,mBAAmB;iBACX,wBAAwB;iBACxB,wBAAwB;yEAmQ3C,CAAC"}
@@ -1,17 +1,86 @@
1
1
  import type { ThemeClassesOverride, VariantValues } from '@vuecs/core';
2
- import type { ExtractPublicPropTypes, PropType, SlotsType } from 'vue';
3
- import type { NavigationItemNormalized } from '../../types';
2
+ import type { Component, ExtractPublicPropTypes, PropType, SlotsType, WatchSource } from 'vue';
3
+ import type { NavigationItem, NavigationOrientation, NavigationResolver, NavigationSubmenu } from '../../types';
4
4
  import type { NavigationThemeClasses } from '../../helpers/component/types';
5
5
  import type { NavItemsItemSlotProps } from '../type';
6
6
  declare const navItemsProps: {
7
- level: {
8
- type: NumberConstructor;
9
- default: number;
10
- };
7
+ /**
8
+ * The source of this nav's items. Plain array, sync fn, or async fn.
9
+ * A fn receives a NavigationResolverContext and may read reactive
10
+ * state freely — the nav re-runs it automatically when that state
11
+ * changes.
12
+ *
13
+ * When omitted, the nav checks whether it is a nested submenu of a
14
+ * parent `<VCNavItem>` (via the {@link NAVIGATION_NODES_KEY} inject)
15
+ * and, if so, renders that parent's already-scored children as-is.
16
+ */
11
17
  data: {
12
- type: PropType<NavigationItemNormalized[]>;
18
+ type: PropType<NavigationItem[] | NavigationResolver>;
19
+ default: any;
20
+ };
21
+ /** Opt in to publishing this nav's resolved output into the registry. */
22
+ registry: {
23
+ type: BooleanConstructor;
24
+ default: boolean;
25
+ };
26
+ /** The key under which to publish. Required when `registry` is true. */
27
+ registryId: {
28
+ type: StringConstructor;
29
+ default: any;
30
+ };
31
+ /**
32
+ * Current path for active-state matching. When omitted, the nav softly
33
+ * reads vue-router's current route (via the `$route` global property)
34
+ * if a router is installed; router-free apps simply get `undefined`.
35
+ */
36
+ path: {
37
+ type: StringConstructor;
38
+ default: any;
39
+ };
40
+ /**
41
+ * Extra reactive deps that should retrigger the resolver — for state
42
+ * read only AFTER the first `await` in an async resolver (auto-track
43
+ * can't see past an await).
44
+ */
45
+ watch: {
46
+ type: PropType<WatchSource[]>;
47
+ default: any;
48
+ };
49
+ variant: {
50
+ type: StringConstructor;
51
+ default: any;
52
+ };
53
+ orientation: {
54
+ type: PropType<NavigationOrientation>;
13
55
  default: any;
14
56
  };
57
+ /**
58
+ * How items with children render their submenu. `auto` derives from
59
+ * orientation (horizontal → dropdown, otherwise collapse).
60
+ */
61
+ submenu: {
62
+ type: PropType<NavigationSubmenu>;
63
+ default: string;
64
+ };
65
+ /**
66
+ * The tag (or component) for this nav's list container. Defaults to
67
+ * `'ul'`. Forwarded unchanged to every nesting level so the whole tree
68
+ * renders the same container tag. Honored in collapse mode only —
69
+ * dropdown mode keeps Reka's NavigationMenu primitives.
70
+ */
71
+ as: {
72
+ type: PropType<string | Component>;
73
+ default: string;
74
+ };
75
+ /**
76
+ * The tag (or component) for each item wrapper. Defaults to `'li'`.
77
+ * Forwarded unchanged to every nesting level. Honored in collapse mode
78
+ * only — dropdown mode keeps Reka's NavigationMenu primitives.
79
+ */
80
+ itemAs: {
81
+ type: PropType<string | Component>;
82
+ default: string;
83
+ };
15
84
  themeClass: {
16
85
  type: PropType<ThemeClassesOverride<NavigationThemeClasses>>;
17
86
  default: any;
@@ -23,14 +92,83 @@ declare const navItemsProps: {
23
92
  };
24
93
  export type NavItemsProps = ExtractPublicPropTypes<typeof navItemsProps>;
25
94
  export declare const VCNavItems: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
26
- level: {
27
- type: NumberConstructor;
28
- default: number;
29
- };
95
+ /**
96
+ * The source of this nav's items. Plain array, sync fn, or async fn.
97
+ * A fn receives a NavigationResolverContext and may read reactive
98
+ * state freely — the nav re-runs it automatically when that state
99
+ * changes.
100
+ *
101
+ * When omitted, the nav checks whether it is a nested submenu of a
102
+ * parent `<VCNavItem>` (via the {@link NAVIGATION_NODES_KEY} inject)
103
+ * and, if so, renders that parent's already-scored children as-is.
104
+ */
30
105
  data: {
31
- type: PropType<NavigationItemNormalized[]>;
106
+ type: PropType<NavigationItem[] | NavigationResolver>;
107
+ default: any;
108
+ };
109
+ /** Opt in to publishing this nav's resolved output into the registry. */
110
+ registry: {
111
+ type: BooleanConstructor;
112
+ default: boolean;
113
+ };
114
+ /** The key under which to publish. Required when `registry` is true. */
115
+ registryId: {
116
+ type: StringConstructor;
117
+ default: any;
118
+ };
119
+ /**
120
+ * Current path for active-state matching. When omitted, the nav softly
121
+ * reads vue-router's current route (via the `$route` global property)
122
+ * if a router is installed; router-free apps simply get `undefined`.
123
+ */
124
+ path: {
125
+ type: StringConstructor;
126
+ default: any;
127
+ };
128
+ /**
129
+ * Extra reactive deps that should retrigger the resolver — for state
130
+ * read only AFTER the first `await` in an async resolver (auto-track
131
+ * can't see past an await).
132
+ */
133
+ watch: {
134
+ type: PropType<WatchSource[]>;
32
135
  default: any;
33
136
  };
137
+ variant: {
138
+ type: StringConstructor;
139
+ default: any;
140
+ };
141
+ orientation: {
142
+ type: PropType<NavigationOrientation>;
143
+ default: any;
144
+ };
145
+ /**
146
+ * How items with children render their submenu. `auto` derives from
147
+ * orientation (horizontal → dropdown, otherwise collapse).
148
+ */
149
+ submenu: {
150
+ type: PropType<NavigationSubmenu>;
151
+ default: string;
152
+ };
153
+ /**
154
+ * The tag (or component) for this nav's list container. Defaults to
155
+ * `'ul'`. Forwarded unchanged to every nesting level so the whole tree
156
+ * renders the same container tag. Honored in collapse mode only —
157
+ * dropdown mode keeps Reka's NavigationMenu primitives.
158
+ */
159
+ as: {
160
+ type: PropType<string | Component>;
161
+ default: string;
162
+ };
163
+ /**
164
+ * The tag (or component) for each item wrapper. Defaults to `'li'`.
165
+ * Forwarded unchanged to every nesting level. Honored in collapse mode
166
+ * only — dropdown mode keeps Reka's NavigationMenu primitives.
167
+ */
168
+ itemAs: {
169
+ type: PropType<string | Component>;
170
+ default: string;
171
+ };
34
172
  themeClass: {
35
173
  type: PropType<ThemeClassesOverride<NavigationThemeClasses>>;
36
174
  default: any;
@@ -42,14 +180,83 @@ export declare const VCNavItems: import("vue").DefineComponent<import("vue").Ext
42
180
  }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
43
181
  [key: string]: any;
44
182
  }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
45
- level: {
46
- type: NumberConstructor;
47
- default: number;
48
- };
183
+ /**
184
+ * The source of this nav's items. Plain array, sync fn, or async fn.
185
+ * A fn receives a NavigationResolverContext and may read reactive
186
+ * state freely — the nav re-runs it automatically when that state
187
+ * changes.
188
+ *
189
+ * When omitted, the nav checks whether it is a nested submenu of a
190
+ * parent `<VCNavItem>` (via the {@link NAVIGATION_NODES_KEY} inject)
191
+ * and, if so, renders that parent's already-scored children as-is.
192
+ */
49
193
  data: {
50
- type: PropType<NavigationItemNormalized[]>;
194
+ type: PropType<NavigationItem[] | NavigationResolver>;
195
+ default: any;
196
+ };
197
+ /** Opt in to publishing this nav's resolved output into the registry. */
198
+ registry: {
199
+ type: BooleanConstructor;
200
+ default: boolean;
201
+ };
202
+ /** The key under which to publish. Required when `registry` is true. */
203
+ registryId: {
204
+ type: StringConstructor;
51
205
  default: any;
52
206
  };
207
+ /**
208
+ * Current path for active-state matching. When omitted, the nav softly
209
+ * reads vue-router's current route (via the `$route` global property)
210
+ * if a router is installed; router-free apps simply get `undefined`.
211
+ */
212
+ path: {
213
+ type: StringConstructor;
214
+ default: any;
215
+ };
216
+ /**
217
+ * Extra reactive deps that should retrigger the resolver — for state
218
+ * read only AFTER the first `await` in an async resolver (auto-track
219
+ * can't see past an await).
220
+ */
221
+ watch: {
222
+ type: PropType<WatchSource[]>;
223
+ default: any;
224
+ };
225
+ variant: {
226
+ type: StringConstructor;
227
+ default: any;
228
+ };
229
+ orientation: {
230
+ type: PropType<NavigationOrientation>;
231
+ default: any;
232
+ };
233
+ /**
234
+ * How items with children render their submenu. `auto` derives from
235
+ * orientation (horizontal → dropdown, otherwise collapse).
236
+ */
237
+ submenu: {
238
+ type: PropType<NavigationSubmenu>;
239
+ default: string;
240
+ };
241
+ /**
242
+ * The tag (or component) for this nav's list container. Defaults to
243
+ * `'ul'`. Forwarded unchanged to every nesting level so the whole tree
244
+ * renders the same container tag. Honored in collapse mode only —
245
+ * dropdown mode keeps Reka's NavigationMenu primitives.
246
+ */
247
+ as: {
248
+ type: PropType<string | Component>;
249
+ default: string;
250
+ };
251
+ /**
252
+ * The tag (or component) for each item wrapper. Defaults to `'li'`.
253
+ * Forwarded unchanged to every nesting level. Honored in collapse mode
254
+ * only — dropdown mode keeps Reka's NavigationMenu primitives.
255
+ */
256
+ itemAs: {
257
+ type: PropType<string | Component>;
258
+ default: string;
259
+ };
53
260
  themeClass: {
54
261
  type: PropType<ThemeClassesOverride<NavigationThemeClasses>>;
55
262
  default: any;
@@ -59,10 +266,18 @@ export declare const VCNavItems: import("vue").DefineComponent<import("vue").Ext
59
266
  default: any;
60
267
  };
61
268
  }>> & Readonly<{}>, {
62
- level: number;
63
- data: NavigationItemNormalized[];
269
+ variant: string;
270
+ orientation: NavigationOrientation;
271
+ data: NavigationItem[] | NavigationResolver;
272
+ submenu: NavigationSubmenu;
273
+ as: string;
64
274
  themeClass: ThemeClassesOverride<NavigationThemeClasses>;
65
275
  themeVariant: VariantValues;
276
+ watch: WatchSource[];
277
+ itemAs: string;
278
+ registry: boolean;
279
+ registryId: string;
280
+ path: string;
66
281
  }, SlotsType<{
67
282
  item: NavItemsItemSlotProps;
68
283
  }>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
@@ -1 +1 @@
1
- {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../src/components/items/module.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACvE,OAAO,KAAK,EACR,sBAAsB,EACtB,QAAQ,EACR,SAAS,EAGZ,MAAM,KAAK,CAAC;AAWb,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAE5E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAGrD,QAAA,MAAM,aAAa;;;;;;cAEQ,QAAQ,CAAC,wBAAwB,EAAE,CAAC;;;;cAC7B,QAAQ,CAAC,oBAAoB,CAAC,sBAAsB,CAAC,CAAC;;;;cACpD,QAAQ,CAAC,aAAa,CAAC;;;CAC1D,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,sBAAsB,CAAC,OAAO,aAAa,CAAC,CAAC;AAEzE,eAAO,MAAM,UAAU;;;;;;cAPI,QAAQ,CAAC,wBAAwB,EAAE,CAAC;;;;cAC7B,QAAQ,CAAC,oBAAoB,CAAC,sBAAsB,CAAC,CAAC;;;;cACpD,QAAQ,CAAC,aAAa,CAAC;;;;;;;;;;;cAFhC,QAAQ,CAAC,wBAAwB,EAAE,CAAC;;;;cAC7B,QAAQ,CAAC,oBAAoB,CAAC,sBAAsB,CAAC,CAAC;;;;cACpD,QAAQ,CAAC,aAAa,CAAC;;;;;;;;;UAS7C,qBAAqB;yEAiGjC,CAAC"}
1
+ {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../src/components/items/module.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,oBAAoB,EAA0B,aAAa,EAAE,MAAM,aAAa,CAAC;AAC/F,OAAO,KAAK,EACR,SAAS,EACT,sBAAsB,EACtB,QAAQ,EACR,SAAS,EAGT,WAAW,EACd,MAAM,KAAK,CAAC;AAgBb,OAAO,KAAK,EACR,cAAc,EAEd,qBAAqB,EACrB,kBAAkB,EAClB,iBAAiB,EACpB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAY5E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAGrD,QAAA,MAAM,aAAa;IACf;;;;;;;;;OASG;;cAE4B,QAAQ,CAAC,cAAc,EAAE,GAAG,kBAAkB,CAAC;;;IAG9E,yEAAyE;;;;;IAEzE,wEAAwE;;;;;IAExE;;;;OAIG;;;;;IAEH;;;;OAIG;;cACqB,QAAQ,CAAC,WAAW,EAAE,CAAC;;;;;;;;cAEhB,QAAQ,CAAC,qBAAqB,CAAC;;;IAC9D;;;OAGG;;cACwB,QAAQ,CAAC,iBAAiB,CAAC;;;IACtD;;;;;OAKG;;cAC6B,QAAQ,CAAC,MAAM,GAAG,SAAS,CAAC;;;IAC5D;;;;OAIG;;cACiC,QAAQ,CAAC,MAAM,GAAG,SAAS,CAAC;;;;cAClC,QAAQ,CAAC,oBAAoB,CAAC,sBAAsB,CAAC,CAAC;;;;cACpD,QAAQ,CAAC,aAAa,CAAC;;;CAC1D,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,sBAAsB,CAAC,OAAO,aAAa,CAAC,CAAC;AAEzE,eAAO,MAAM,UAAU;IAxDnB;;;;;;;;;OASG;;cAE4B,QAAQ,CAAC,cAAc,EAAE,GAAG,kBAAkB,CAAC;;;IAG9E,yEAAyE;;;;;IAEzE,wEAAwE;;;;;IAExE;;;;OAIG;;;;;IAEH;;;;OAIG;;cACqB,QAAQ,CAAC,WAAW,EAAE,CAAC;;;;;;;;cAEhB,QAAQ,CAAC,qBAAqB,CAAC;;;IAC9D;;;OAGG;;cACwB,QAAQ,CAAC,iBAAiB,CAAC;;;IACtD;;;;;OAKG;;cAC6B,QAAQ,CAAC,MAAM,GAAG,SAAS,CAAC;;;IAC5D;;;;OAIG;;cACiC,QAAQ,CAAC,MAAM,GAAG,SAAS,CAAC;;;;cAClC,QAAQ,CAAC,oBAAoB,CAAC,sBAAsB,CAAC,CAAC;;;;cACpD,QAAQ,CAAC,aAAa,CAAC;;;;;;IAnDvD;;;;;;;;;OASG;;cAE4B,QAAQ,CAAC,cAAc,EAAE,GAAG,kBAAkB,CAAC;;;IAG9E,yEAAyE;;;;;IAEzE,wEAAwE;;;;;IAExE;;;;OAIG;;;;;IAEH;;;;OAIG;;cACqB,QAAQ,CAAC,WAAW,EAAE,CAAC;;;;;;;;cAEhB,QAAQ,CAAC,qBAAqB,CAAC;;;IAC9D;;;OAGG;;cACwB,QAAQ,CAAC,iBAAiB,CAAC;;;IACtD;;;;;OAKG;;cAC6B,QAAQ,CAAC,MAAM,GAAG,SAAS,CAAC;;;IAC5D;;;;OAIG;;cACiC,QAAQ,CAAC,MAAM,GAAG,SAAS,CAAC;;;;cAClC,QAAQ,CAAC,oBAAoB,CAAC,sBAAsB,CAAC,CAAC;;;;cACpD,QAAQ,CAAC,aAAa,CAAC;;;;;;;;;;;;;;;;;UAS7C,qBAAqB;yEAqPjC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../../src/components/items/theme.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAE5E;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,EAAE,wBAAwB,CAAC,sBAAsB,CAWpF,CAAC"}
1
+ {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../../src/components/items/theme.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAE5E;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,EAAE,wBAAwB,CAAC,sBAAsB,CAoCpF,CAAC"}
@@ -0,0 +1,30 @@
1
+ import type { ComputedRef, InjectionKey } from 'vue';
2
+ import type { NavigationItemNormalized } from '../types';
3
+ /**
4
+ * Channels a `<VCNavItem>`'s already-normalized + scored `children` down
5
+ * to the nested `<VCNavItems>` that renders its submenu.
6
+ *
7
+ * The top-level nav scores the WHOLE tree once; nested lists must render
8
+ * those results as-is rather than re-resolving / re-scoring a subtree
9
+ * (which would clobber traces and lose whole-tree active context). The
10
+ * nested `<VCNavItems>` reads this when it has no own `data` prop —
11
+ * presence of the injected nodes is what marks it as a nested renderer
12
+ * rather than a resolving root. Each `<VCNavItem>` re-provides its own
13
+ * children, so the value is correctly scoped per nesting level.
14
+ */
15
+ export declare const NAVIGATION_NODES_KEY: InjectionKey<ComputedRef<NavigationItemNormalized[]>>;
16
+ /**
17
+ * Bridges a clicked `<VCNavItem>` up to the owning root `<VCNavItems>`.
18
+ *
19
+ * A url-less item can't navigate, so a click instead "selects" it: the
20
+ * root nav records the item's trace and folds it into its active-state
21
+ * derivation, publishing it through the registry's `active` / `activeTrail`.
22
+ * Dependent navs then react with zero app wiring — exactly as they would
23
+ * for a route-driven active change.
24
+ */
25
+ export type NavigationSelectContext = {
26
+ /** Invoke to mark `item` as the selected (active) item of the root nav. */
27
+ select: (item: NavigationItemNormalized) => void;
28
+ };
29
+ export declare const NAVIGATION_SELECT_KEY: InjectionKey<NavigationSelectContext>;
30
+ //# sourceMappingURL=select-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"select-context.d.ts","sourceRoot":"","sources":["../../src/components/select-context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,KAAK,CAAC;AACrD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AAEzD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,oBAAoB,EAAE,YAAY,CAAC,WAAW,CAAC,wBAAwB,EAAE,CAAC,CAAiC,CAAC;AAEzH;;;;;;;;GAQG;AACH,MAAM,MAAM,uBAAuB,GAAG;IAClC,2EAA2E;IAC3E,MAAM,EAAE,CAAC,IAAI,EAAE,wBAAwB,KAAK,IAAI,CAAC;CACpD,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,YAAY,CAAC,uBAAuB,CAAkC,CAAC"}
@@ -118,11 +118,11 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
118
118
  }>> & Readonly<{
119
119
  "onUpdate:modelValue"?: (...args: any[]) => any;
120
120
  }>, {
121
+ orientation: "horizontal" | "vertical";
121
122
  themeClass: ThemeClassesOverride<StepperThemeClasses>;
122
123
  themeVariant: VariantValues;
123
124
  modelValue: number;
124
125
  defaultValue: number;
125
- orientation: "vertical" | "horizontal";
126
126
  dir: "ltr" | "rtl";
127
127
  linear: boolean;
128
128
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
@@ -71,9 +71,9 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
71
71
  default: any;
72
72
  };
73
73
  }>> & Readonly<{}>, {
74
+ as: string;
74
75
  themeClass: ThemeClassesOverride<StepperThemeClasses>;
75
76
  themeVariant: VariantValues;
76
77
  asChild: boolean;
77
- as: string;
78
78
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
79
79
  //# sourceMappingURL=StepperDescription.vue.d.ts.map
@@ -71,9 +71,9 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
71
71
  default: any;
72
72
  };
73
73
  }>> & Readonly<{}>, {
74
+ as: string;
74
75
  themeClass: ThemeClassesOverride<StepperThemeClasses>;
75
76
  themeVariant: VariantValues;
76
77
  asChild: boolean;
77
- as: string;
78
78
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
79
79
  //# sourceMappingURL=StepperIndicator.vue.d.ts.map
@@ -71,9 +71,9 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
71
71
  default: any;
72
72
  };
73
73
  }>> & Readonly<{}>, {
74
+ as: string;
74
75
  themeClass: ThemeClassesOverride<StepperThemeClasses>;
75
76
  themeVariant: VariantValues;
76
77
  asChild: boolean;
77
- as: string;
78
78
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
79
79
  //# sourceMappingURL=StepperSeparator.vue.d.ts.map
@@ -71,9 +71,9 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
71
71
  default: any;
72
72
  };
73
73
  }>> & Readonly<{}>, {
74
+ as: string;
74
75
  themeClass: ThemeClassesOverride<StepperThemeClasses>;
75
76
  themeVariant: VariantValues;
76
77
  asChild: boolean;
77
- as: string;
78
78
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
79
79
  //# sourceMappingURL=StepperTitle.vue.d.ts.map
@@ -71,9 +71,9 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
71
71
  default: any;
72
72
  };
73
73
  }>> & Readonly<{}>, {
74
+ as: string;
74
75
  themeClass: ThemeClassesOverride<StepperThemeClasses>;
75
76
  themeVariant: VariantValues;
76
77
  asChild: boolean;
77
- as: string;
78
78
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
79
79
  //# sourceMappingURL=StepperTrigger.vue.d.ts.map
@@ -1,18 +1,25 @@
1
1
  import type { NavigationItemNormalized } from '../types';
2
- export type NavItemSelectFn<META = any> = (value: NavigationItemNormalized<META>) => Promise<void>;
3
- export type NavItemToggleFn<META = any> = (value: NavigationItemNormalized<META>) => Promise<void>;
2
+ /**
3
+ * Invoke to select this item: its trace is folded into the owning root
4
+ * `<VCNavItems>`'s active state and republished through the registry.
5
+ * The leaf link calls this on click; expose it on custom `#link` slots
6
+ * to drive url-less section switchers from bespoke markup.
7
+ */
8
+ export type NavItemSelectFn = () => void;
9
+ /** Invoke to toggle this item's expanded state. */
10
+ export type NavItemToggleFn = () => void;
4
11
  export type NavItemSeparatorSlotProps<META = any> = {
5
12
  data: NavigationItemNormalized<META>;
6
13
  };
7
14
  export type NavItemLinkSlotProps<META = any> = {
8
15
  data: NavigationItemNormalized<META>;
9
- select: NavItemSelectFn<META>;
16
+ select: NavItemSelectFn;
10
17
  isActive?: boolean;
11
18
  };
12
19
  export type NavItemSubSlotProps<META = any> = {
13
20
  data: NavigationItemNormalized<META>;
14
- select: NavItemSelectFn<META>;
15
- toggle: NavItemToggleFn<META>;
21
+ select: NavItemSelectFn;
22
+ toggle: NavItemToggleFn;
16
23
  };
17
24
  export type NavItemSubTitleSlotProps<META = any> = NavItemSubSlotProps<META>;
18
25
  export type NavItemSubItemsSlotProps<META = any> = NavItemSubSlotProps<META>;
@@ -1 +1 @@
1
- {"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../../src/components/type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AAEzD,MAAM,MAAM,eAAe,CAAC,IAAI,GAAG,GAAG,IAAI,CACtC,KAAK,EAAE,wBAAwB,CAAC,IAAI,CAAC,KACpC,OAAO,CAAC,IAAI,CAAC,CAAC;AAEnB,MAAM,MAAM,eAAe,CAAC,IAAI,GAAG,GAAG,IAAI,CACtC,KAAK,EAAE,wBAAwB,CAAC,IAAI,CAAC,KACpC,OAAO,CAAC,IAAI,CAAC,CAAC;AAEnB,MAAM,MAAM,yBAAyB,CAAC,IAAI,GAAG,GAAG,IAAI;IAChD,IAAI,EAAE,wBAAwB,CAAC,IAAI,CAAC,CAAC;CACxC,CAAC;AAEF,MAAM,MAAM,oBAAoB,CAAC,IAAI,GAAG,GAAG,IAAI;IAC3C,IAAI,EAAE,wBAAwB,CAAC,IAAI,CAAC,CAAC;IACrC,MAAM,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC;IAC9B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,mBAAmB,CAAC,IAAI,GAAG,GAAG,IAAI;IAC1C,IAAI,EAAE,wBAAwB,CAAC,IAAI,CAAC,CAAC;IACrC,MAAM,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC;IAC9B,MAAM,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,wBAAwB,CAAC,IAAI,GAAG,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC;AAE7E,MAAM,MAAM,wBAAwB,CAAC,IAAI,GAAG,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC;AAE7E,MAAM,MAAM,qBAAqB,CAAC,IAAI,GAAG,GAAG,IAAI;IAC5C,IAAI,EAAE,wBAAwB,CAAC,IAAI,CAAC,CAAC;CACxC,CAAC"}
1
+ {"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../../src/components/type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AAEzD;;;;;GAKG;AACH,MAAM,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC;AAEzC,mDAAmD;AACnD,MAAM,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC;AAEzC,MAAM,MAAM,yBAAyB,CAAC,IAAI,GAAG,GAAG,IAAI;IAChD,IAAI,EAAE,wBAAwB,CAAC,IAAI,CAAC,CAAC;CACxC,CAAC;AAEF,MAAM,MAAM,oBAAoB,CAAC,IAAI,GAAG,GAAG,IAAI;IAC3C,IAAI,EAAE,wBAAwB,CAAC,IAAI,CAAC,CAAC;IACrC,MAAM,EAAE,eAAe,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,mBAAmB,CAAC,IAAI,GAAG,GAAG,IAAI;IAC1C,IAAI,EAAE,wBAAwB,CAAC,IAAI,CAAC,CAAC;IACrC,MAAM,EAAE,eAAe,CAAC;IACxB,MAAM,EAAE,eAAe,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,wBAAwB,CAAC,IAAI,GAAG,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC;AAE7E,MAAM,MAAM,wBAAwB,CAAC,IAAI,GAAG,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC;AAE7E,MAAM,MAAM,qBAAqB,CAAC,IAAI,GAAG,GAAG,IAAI;IAC5C,IAAI,EAAE,wBAAwB,CAAC,IAAI,CAAC,CAAC;CACxC,CAAC"}
@@ -8,6 +8,12 @@ export type NavigationThemeClasses = {
8
8
  linkRoot: string;
9
9
  linkIcon: string;
10
10
  linkText: string;
11
+ /** Group title that opens a submenu (Collapsible / NavigationMenu trigger). */
12
+ trigger: string;
13
+ /** Submenu panel (CollapsibleContent / NavigationMenuContent). */
14
+ content: string;
15
+ /** Edge-aware flyout host for the dropdown submenu (NavigationMenuViewport). */
16
+ viewport: string;
11
17
  };
12
18
  declare module '@vuecs/core' {
13
19
  interface ThemeElements {