ionic-team / ionic-team/ionic-framework
bug: Vue IonTabBar and IonButtons missing slot prop type
- Dominant language
- TypeScript
- Stars
- 52.7k
- Forks
- 13.3k
- Avg merge
- 1d 15h
- Merged PRs (30d)
- 51
Description
### Prerequisites
- [x] I have read the [Contributing Guidelines](https://github.com/ionic-team/ionic-framework/blob/main/docs/CONTRIBUTING.md#creating-an-issue).
- [x] I agree to follow the [Code of Conduct](https://ionicframework.com/code-of-conduct).
- [x] I have searched for [existing issues](https://github.com/ionic-team/ionic-framework/issues) that already report this problem, without success.
### Ionic Framework Version
v8.x
### Current Behavior
In a Vue application with a strict templates vue-tsc preset (that disallows undefined properties to be set), using the `IonTabBar` or `IonButtons` with a named slot (for example `slot="bottom"`) leads to a TypeScript error.
This is due to the fact that vue-tsc doesn't recognise a `slot` prop.
There may be more components with the same issue.
### Expected Behavior
I expect the component definition to include the `slot` property.
### Steps to Reproduce
In a vue project with vue-tsc's configuration set like so (part of tsconfig.json)
```json
"vueCompilerOptions": {
"strictTemplates": true
}
```
Add this to any vue component's template:
```
Home
```
### Code Reproduction URL
https://stackblitz.com/edit/vue-kq5gzqta?file=package.json,src%2Fcomponents%2FHelloWorld.vue,tsconfig.json
### Ionic Info
Ionic:
Ionic CLI : 7.2.0
Ionic Framework : @ionic/vue 8.6.2
Capacitor:
Capacitor CLI : not installed
@capacitor/android : 7.4.0
@capacitor/core : 7.4.0
@capacitor/ios : 7.4.0
Utility:
cordova-res : not installed globally
native-run : 2.0.1
System:
NodeJS : v20.17.0
npm : 11.0.0
OS : macOS Unknown
### Additional Information
_No response_
Contributor guide
Assessment
This issue has not been assessed yet.