ionic-team / ionic-team/ionic-framework

feat: provide easier way of extending/overriding built in animations

Ouverte
#24,964 2 commentaires 8 réactions 0 personnes assignées Voir sur GitHub
package: core type: feature request
Langage dominant
TypeScript
Étoiles
52.7k
Forks
13.3k
Merge moyen
1 j 15 h
PR mergées (30 j)
51

Description

### 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_

Guide de contribution

Ouvrir le guide de contribution

Évaluation

Cette issue n'a pas encore été évaluée.

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.