ionic-team / ionic-team/ionic-framework
feat: provide easier way of extending/overriding built in animations
- 主要语言
- 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
Export the already created animations for modals so that they can be publicly consumed by users of this library
### Describe the Use Case
I understand that I can build my own animations which is great but sometimes I just want to tweak an existing animation slightly. Today the only way to do that is to bring the source code in to my project.
### Describe Preferred Solution
Ideally, I would like to simply import the already created animations and then call the methods on the Animation object to enhance it for my purposes
### Describe Alternatives
Perhaps an option when presenting the modal could pass to you the animation that would be used and allow you to act upon it before doing the final presentation.
### Related Code
Here is an example of how I might expect this to work:
```typescript
import { sheetEnterAnimation } from '@ionic/core';
export const myEnterAnimation = (
baseEl: HTMLElement,
opts: ModalAnimationOptions
): Animation => {
const animation = sheetEnterAnimation(baseEl, opts);
// here I'm moving the modal so it renders somewhere else but you can imagine any other tweaks
// that are possible by hooking into the Animation object
animation.beforeAddWrite(() => {
const modal = document.querySelector('ion-modal');
const appTabs = document.querySelector('app-tabs');
appTabs.appendChild(modal);
});
return animation;
};
```
### Additional Information
_No response_
贡献指南
评估
这个 Issue 还没有评估数据。