Summary
The RouteMatchExtensions interface in packages/vue-router/src/Matches.tsx is missing a styles field, unlike the React and Solid counterparts which include it.
This gap pre-dates PR #7311 (feat: add support for deferred head loading), which added key?: string support to the existing fields but did not introduce the missing styles entry for Vue.
Required Change
Add the following field to the RouteMatchExtensions module augmentation in packages/vue-router/src/Matches.tsx:
styles?: Array<
(Vue.ComponentOptions['style'] & { key?: string }) | undefined
>
This should be placed alongside meta, links, scripts, and headScripts to match the React/Solid augmentations and provide full type coverage for keyed/deferred head().styles in Vue.
References
/cc @romulovalez
Summary
The
RouteMatchExtensionsinterface inpackages/vue-router/src/Matches.tsxis missing astylesfield, unlike the React and Solid counterparts which include it.This gap pre-dates PR #7311 (feat: add support for deferred head loading), which added
key?: stringsupport to the existing fields but did not introduce the missingstylesentry for Vue.Required Change
Add the following field to the
RouteMatchExtensionsmodule augmentation inpackages/vue-router/src/Matches.tsx:This should be placed alongside
meta,links,scripts, andheadScriptsto match the React/Solid augmentations and provide full type coverage for keyed/deferredhead().stylesin Vue.References
/cc @romulovalez