ionic-team / ionic-team/ionic-framework
feat: add a way to disable haptics in Ionic components
- 主要语言
- TypeScript
- 星标
- 52.7k
- 派生
- 13.3k
- 平均合并
- 1 天 15 小时
- 30 天内合并 PR
- 51
描述
### Prerequisites
- [X] I have read the [Contributing Guidelines](https://github.com/ionic-team/ionic-framework/blob/main/.github/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 include this feature request, without success.
### Describe the Feature Request
I would like an option to turn off Ionic's built-in haptics.
### Describe the Use Case
Users would like an option to turn off all app haptics. Right now it is impossible to turn off Ionic's built-in haptics.
### Describe Preferred Solution
```ts
setupIonicReact({ haptics: false })
```
### Describe Alternatives
Not an alternative, but a complimentary feature request: it would be nice if Ionic emitted an `ionHaptic` event (or similar). Such an event would fire regardless of whether `setupIonicReact({ haptics: false })` is configured or not. This would lets apps dynamically turn on/off haptics, use custom capacitor haptics libraries, and even disable haptics for certain components (with `event.target`).
| Configuration | Built-in haptics triggered? | Ionic event triggered (`ionHaptic`)? |
|--------|--------|--------|
| `setupIonicReact({ haptics: true })` AKA default | Yes | Yes |
| `setupIonicReact({ haptics: false })` | No | Yes |
If Ionic is interested in this, I am happy to create a separate feature request.
### Related Code
_No response_
### Additional Information
https://github.com/aeharding/voyager/issues/1103
贡献指南
调研方向
Start by reviewing the setupIonicReact entry point and tracing how Ionic components trigger built-in haptics. Define how the haptics option and the proposed ionHaptic event should interact, then verify that disabling built-in haptics still permits the event and that the behavior applies consistently across components.
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- react, typescript
- 领域
- frontend, mobile-dev
- Issue 类型
- 功能
- 难度
- 5/5
- 预计耗时
- 一周以上
- 活跃度
- 停滞
- 描述清晰度
- 基本清楚
- 新手友好度
- 25/100