ionic-team / ionic-team/ionic-framework

bug: Vue IonTabBar and IonButtons missing slot prop type

Open
#30,545 0 comments 0 reactions 0 assignees View on GitHub
package: vue type: bug
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.