ngx-easy-view-transitions 0.0.1 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +13 -4
- package/esm2022/lib/keyframes.service.mjs +3 -3
- package/esm2022/lib/no-transition.directive.mjs +3 -3
- package/esm2022/lib/transition-name.directive.mjs +16 -14
- package/esm2022/lib/view-transitions.service.mjs +3 -3
- package/fesm2022/ngx-easy-view-transitions.mjs +24 -22
- package/fesm2022/ngx-easy-view-transitions.mjs.map +1 -1
- package/package.json +4 -4
package/README.md
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
[](https://www.npmjs.org/package/ngx-easy-view-transitions/)
|
|
4
4
|
[](https://www.npmjs.org/package/ngx-easy-view-transitions/)
|
|
5
5
|

|
|
6
|
-
[](https://github.com/DerStimmler/ngx-easy-view-transitions/blob/
|
|
6
|
+
[](https://github.com/DerStimmler/ngx-easy-view-transitions/blob/main/LICENSE.md)
|
|
7
7
|
|
|
8
8
|
Angular library for easier use of the View Transitions API
|
|
9
9
|
|
|
@@ -22,7 +22,6 @@ npm install ngx-easy-view-transitions
|
|
|
22
22
|
You have to enable Angulars built-in view transitions in the Router using the [`withViewTransitions()`](https://angular.io/api/router/withViewTransitions#usage-notes) function.
|
|
23
23
|
|
|
24
24
|
```typescript
|
|
25
|
-
const appRoutes: Routes = [];
|
|
26
25
|
bootstrapApplication(AppComponent,
|
|
27
26
|
{
|
|
28
27
|
providers: [
|
|
@@ -38,6 +37,10 @@ bootstrapApplication(AppComponent,
|
|
|
38
37
|
|
|
39
38
|
To morph an element during navigation from the old to the new state use the `transitionName` directive and provide the same name on both pages.
|
|
40
39
|
|
|
40
|
+
```typescript
|
|
41
|
+
import { TransitionNameDirective } from 'ngx-easy-view-transitions';
|
|
42
|
+
```
|
|
43
|
+
|
|
41
44
|
`users.component.html`
|
|
42
45
|
|
|
43
46
|
```angular2html
|
|
@@ -108,11 +111,13 @@ outAnimation = { keyframes: fadeIn, duration: 600, reverse: true };
|
|
|
108
111
|
<img transitionName="profile-picture" [inAnimation]="inAnimation" [outAnimation]="outAnimation" src="...">
|
|
109
112
|
```
|
|
110
113
|
|
|
111
|
-
###
|
|
114
|
+
### Built-In animations
|
|
112
115
|
|
|
113
|
-
To start faster there are some
|
|
116
|
+
To start faster there are some built-in animations available under `DefaultTransitions.*`.
|
|
114
117
|
|
|
115
118
|
```typescript
|
|
119
|
+
import { DefaultTransitions } from 'ngx-easy-view-transitions';
|
|
120
|
+
|
|
116
121
|
inAnimation = { keyframes: DefaultTransitions.fadeInUp, duration: 600 };
|
|
117
122
|
```
|
|
118
123
|
|
|
@@ -122,6 +127,10 @@ You can see them in the [demo](https://derstimmler.github.io/ngx-easy-view-trans
|
|
|
122
127
|
|
|
123
128
|
When you want to exclude an element form view transitions you can add the `noTransition` directive.
|
|
124
129
|
|
|
130
|
+
```typescript
|
|
131
|
+
import { NoTransitionDirective } from 'ngx-easy-view-transitions';
|
|
132
|
+
```
|
|
133
|
+
|
|
125
134
|
```angular2html
|
|
126
135
|
<img noTransition src="...">
|
|
127
136
|
```
|
|
@@ -41,10 +41,10 @@ export class KeyframesService {
|
|
|
41
41
|
});
|
|
42
42
|
return `@keyframes ${animationName} { ${cssKeyframes.join(' ')} }`;
|
|
43
43
|
}
|
|
44
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
45
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
44
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: KeyframesService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
45
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: KeyframesService, providedIn: 'root' }); }
|
|
46
46
|
}
|
|
47
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
47
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: KeyframesService, decorators: [{
|
|
48
48
|
type: Injectable,
|
|
49
49
|
args: [{ providedIn: 'root' }]
|
|
50
50
|
}] });
|
|
@@ -28,10 +28,10 @@ export class NoTransitionDirective {
|
|
|
28
28
|
if (!this._document.getElementById(elementId))
|
|
29
29
|
this._renderer.appendChild(this._document.head, styleElement);
|
|
30
30
|
}
|
|
31
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
32
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
31
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: NoTransitionDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
32
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.1", type: NoTransitionDirective, isStandalone: true, selector: "[noTransition]", ngImport: i0 }); }
|
|
33
33
|
}
|
|
34
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
34
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: NoTransitionDirective, decorators: [{
|
|
35
35
|
type: Directive,
|
|
36
36
|
args: [{
|
|
37
37
|
standalone: true,
|
|
@@ -28,41 +28,43 @@ export class TransitionNameDirective {
|
|
|
28
28
|
});
|
|
29
29
|
//inAnimation
|
|
30
30
|
effect(async () => {
|
|
31
|
-
|
|
31
|
+
const inAnimation = this.inAnimation();
|
|
32
|
+
if (!inAnimation)
|
|
32
33
|
return;
|
|
33
|
-
if ('keyframesName' in
|
|
34
|
-
const animation =
|
|
34
|
+
if ('keyframesName' in inAnimation) {
|
|
35
|
+
const animation = inAnimation;
|
|
35
36
|
this._viewTransitionsService.setInAnimation(`${animation.duration}ms ${animation.keyframesName} ${animation.reverse ? 'reverse' : ''}`, this.transitionName());
|
|
36
37
|
}
|
|
37
|
-
if ('keyframes' in
|
|
38
|
-
const animation =
|
|
38
|
+
if ('keyframes' in inAnimation) {
|
|
39
|
+
const animation = inAnimation;
|
|
39
40
|
const keyframesName = this._keyframesService.setKeyframes(animation.keyframes);
|
|
40
41
|
this._viewTransitionsService.setInAnimation(`${animation.duration}ms ${keyframesName} ${animation.reverse ? 'reverse' : ''}`, this.transitionName());
|
|
41
42
|
}
|
|
42
43
|
});
|
|
43
44
|
//outAnimation
|
|
44
45
|
effect(async () => {
|
|
45
|
-
|
|
46
|
+
const outAnimation = this.outAnimation();
|
|
47
|
+
if (!outAnimation)
|
|
46
48
|
return;
|
|
47
|
-
if ('keyframesName' in
|
|
48
|
-
const animation =
|
|
49
|
+
if ('keyframesName' in outAnimation) {
|
|
50
|
+
const animation = outAnimation;
|
|
49
51
|
this._viewTransitionsService.setOutAnimation(`${animation.duration}ms ${animation.keyframesName} ${animation.reverse ? 'reverse' : ''}`, this.transitionName());
|
|
50
52
|
}
|
|
51
|
-
if ('keyframes' in
|
|
52
|
-
const animation =
|
|
53
|
+
if ('keyframes' in outAnimation) {
|
|
54
|
+
const animation = outAnimation;
|
|
53
55
|
const keyframesName = this._keyframesService.setKeyframes(animation.keyframes);
|
|
54
56
|
this._viewTransitionsService.setOutAnimation(`${animation.duration}ms ${keyframesName} ${animation.reverse ? 'reverse' : ''}`, this.transitionName());
|
|
55
57
|
}
|
|
56
58
|
});
|
|
57
59
|
}
|
|
58
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
59
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "
|
|
60
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: TransitionNameDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
61
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.0.1", type: TransitionNameDirective, isStandalone: true, selector: "[transitionName]", inputs: { transitionName: { classPropertyName: "transitionName", publicName: "transitionName", isSignal: true, isRequired: true, transformFunction: null }, inAnimation: { classPropertyName: "inAnimation", publicName: "inAnimation", isSignal: true, isRequired: false, transformFunction: null }, outAnimation: { classPropertyName: "outAnimation", publicName: "outAnimation", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 }); }
|
|
60
62
|
}
|
|
61
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
63
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: TransitionNameDirective, decorators: [{
|
|
62
64
|
type: Directive,
|
|
63
65
|
args: [{
|
|
64
66
|
standalone: true,
|
|
65
67
|
selector: '[transitionName]',
|
|
66
68
|
}]
|
|
67
69
|
}], ctorParameters: () => [] });
|
|
68
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
70
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNpdGlvbi1uYW1lLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL25neC1lYXN5LXZpZXctdHJhbnNpdGlvbnMvc3JjL2xpYi90cmFuc2l0aW9uLW5hbWUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzdFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDOztBQUVwRTs7R0FFRztBQUtILE1BQU0sT0FBTyx1QkFBdUI7SUFrQmxDO1FBakJBOztXQUVHO1FBQ0gsbUJBQWMsR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFVLENBQUM7UUFDMUM7O1dBRUc7UUFDSCxnQkFBVyxHQUFHLEtBQUssRUFBZ0QsQ0FBQztRQUNwRTs7V0FFRztRQUNILGlCQUFZLEdBQUcsS0FBSyxFQUFnRCxDQUFDO1FBRXBELFFBQUcsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDekIsc0JBQWlCLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDN0MsNEJBQXVCLEdBQUcsTUFBTSxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFHeEUsZ0JBQWdCO1FBQ2hCLE1BQU0sQ0FBQyxHQUFHLEVBQUU7WUFDVixJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQzFFLENBQUMsQ0FBQyxDQUFDO1FBRUgsYUFBYTtRQUNiLE1BQU0sQ0FBQyxLQUFLLElBQUksRUFBRTtZQUNoQixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFFdkMsSUFBSSxDQUFDLFdBQVc7Z0JBQUUsT0FBTztZQUV6QixJQUFJLGVBQWUsSUFBSSxXQUFXLEVBQUUsQ0FBQztnQkFDbkMsTUFBTSxTQUFTLEdBQUcsV0FBcUMsQ0FBQztnQkFDeEQsSUFBSSxDQUFDLHVCQUF1QixDQUFDLGNBQWMsQ0FDekMsR0FBRyxTQUFTLENBQUMsUUFBUSxNQUFNLFNBQVMsQ0FBQyxhQUFhLElBQ2hELFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFDbEMsRUFBRSxFQUNGLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FDdEIsQ0FBQztZQUNKLENBQUM7WUFFRCxJQUFJLFdBQVcsSUFBSSxXQUFXLEVBQUUsQ0FBQztnQkFDL0IsTUFBTSxTQUFTLEdBQUcsV0FBa0MsQ0FBQztnQkFDckQsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksQ0FDdkQsU0FBUyxDQUFDLFNBQVMsQ0FDcEIsQ0FBQztnQkFDRixJQUFJLENBQUMsdUJBQXVCLENBQUMsY0FBYyxDQUN6QyxHQUFHLFNBQVMsQ0FBQyxRQUFRLE1BQU0sYUFBYSxJQUN0QyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQ2xDLEVBQUUsRUFDRixJQUFJLENBQUMsY0FBYyxFQUFFLENBQ3RCLENBQUM7WUFDSixDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFSCxjQUFjO1FBQ2QsTUFBTSxDQUFDLEtBQUssSUFBSSxFQUFFO1lBQ2hCLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUV6QyxJQUFJLENBQUMsWUFBWTtnQkFBRSxPQUFPO1lBRTFCLElBQUksZUFBZSxJQUFJLFlBQVksRUFBRSxDQUFDO2dCQUNwQyxNQUFNLFNBQVMsR0FBRyxZQUFzQyxDQUFDO2dCQUN6RCxJQUFJLENBQUMsdUJBQXVCLENBQUMsZUFBZSxDQUMxQyxHQUFHLFNBQVMsQ0FBQyxRQUFRLE1BQU0sU0FBUyxDQUFDLGFBQWEsSUFDaEQsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUNsQyxFQUFFLEVBQ0YsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUN0QixDQUFDO1lBQ0osQ0FBQztZQUVELElBQUksV0FBVyxJQUFJLFlBQVksRUFBRSxDQUFDO2dCQUNoQyxNQUFNLFNBQVMsR0FBRyxZQUFtQyxDQUFDO2dCQUN0RCxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxDQUN2RCxTQUFTLENBQUMsU0FBUyxDQUNwQixDQUFDO2dCQUNGLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxlQUFlLENBQzFDLEdBQUcsU0FBUyxDQUFDLFFBQVEsTUFBTSxhQUFhLElBQ3RDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFDbEMsRUFBRSxFQUNGLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FDdEIsQ0FBQztZQUNKLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7OEdBbkZVLHVCQUF1QjtrR0FBdkIsdUJBQXVCOzsyRkFBdkIsdUJBQXVCO2tCQUpuQyxTQUFTO21CQUFDO29CQUNULFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsa0JBQWtCO2lCQUM3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgZWZmZWN0LCBFbGVtZW50UmVmLCBpbmplY3QsIGlucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBLZXlmcmFtZXNUcmFuc2l0aW9uIH0gZnJvbSAnLi9rZXlmcmFtZXMtdHJhbnNpdGlvbic7XG5pbXBvcnQgeyBDc3NLZXlmcmFtZXNUcmFuc2l0aW9uIH0gZnJvbSAnLi9jc3Mta2V5ZnJhbWVzLXRyYW5zaXRpb24nO1xuaW1wb3J0IHsgS2V5ZnJhbWVzU2VydmljZSB9IGZyb20gJy4va2V5ZnJhbWVzLnNlcnZpY2UnO1xuaW1wb3J0IHsgVmlld1RyYW5zaXRpb25zU2VydmljZSB9IGZyb20gJy4vdmlldy10cmFuc2l0aW9ucy5zZXJ2aWNlJztcblxuLyoqXG4gKiBDb25maWd1cmUgdmlldyB0cmFuc2l0aW9ucyBmb3IgdGhlIGVsZW1lbnRcbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnW3RyYW5zaXRpb25OYW1lXScsXG59KVxuZXhwb3J0IGNsYXNzIFRyYW5zaXRpb25OYW1lRGlyZWN0aXZlIHtcbiAgLyoqXG4gICAqIFNldCB0aGUgYHZpZXctdHJhbnNpdGlvbi1uYW1lYCBwcm9wZXJ0eSB0byBhc3NpZ24gdHJhbnNpdGlvbnMgdG8gdGhhdCBlbGVtZW50XG4gICAqL1xuICB0cmFuc2l0aW9uTmFtZSA9IGlucHV0LnJlcXVpcmVkPHN0cmluZz4oKTtcbiAgLyoqXG4gICAqIENvbmZpZ3VyZSB0aGUgYW5pbWF0aW9uIHdoZW4gdGhlIGVsZW1lbnQgZW50ZXJzIHRoZSB2aWV3XG4gICAqL1xuICBpbkFuaW1hdGlvbiA9IGlucHV0PEtleWZyYW1lc1RyYW5zaXRpb24gfCBDc3NLZXlmcmFtZXNUcmFuc2l0aW9uPigpO1xuICAvKipcbiAgICogQ29uZmlndXJlIHRoZSBhbmltYXRpb24gd2hlbiB0aGUgZWxlbWVudCBsZWF2ZXMgdGhlIHZpZXdcbiAgICovXG4gIG91dEFuaW1hdGlvbiA9IGlucHV0PEtleWZyYW1lc1RyYW5zaXRpb24gfCBDc3NLZXlmcmFtZXNUcmFuc2l0aW9uPigpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2VsID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9rZXlmcmFtZXNTZXJ2aWNlID0gaW5qZWN0KEtleWZyYW1lc1NlcnZpY2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IF92aWV3VHJhbnNpdGlvbnNTZXJ2aWNlID0gaW5qZWN0KFZpZXdUcmFuc2l0aW9uc1NlcnZpY2UpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIC8vdHJhbnNpdGlvbk5hbWVcbiAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgdGhpcy5fZWwubmF0aXZlRWxlbWVudC5zdHlsZS52aWV3VHJhbnNpdGlvbk5hbWUgPSB0aGlzLnRyYW5zaXRpb25OYW1lKCk7XG4gICAgfSk7XG5cbiAgICAvL2luQW5pbWF0aW9uXG4gICAgZWZmZWN0KGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IGluQW5pbWF0aW9uID0gdGhpcy5pbkFuaW1hdGlvbigpO1xuXG4gICAgICBpZiAoIWluQW5pbWF0aW9uKSByZXR1cm47XG5cbiAgICAgIGlmICgna2V5ZnJhbWVzTmFtZScgaW4gaW5BbmltYXRpb24pIHtcbiAgICAgICAgY29uc3QgYW5pbWF0aW9uID0gaW5BbmltYXRpb24gYXMgQ3NzS2V5ZnJhbWVzVHJhbnNpdGlvbjtcbiAgICAgICAgdGhpcy5fdmlld1RyYW5zaXRpb25zU2VydmljZS5zZXRJbkFuaW1hdGlvbihcbiAgICAgICAgICBgJHthbmltYXRpb24uZHVyYXRpb259bXMgJHthbmltYXRpb24ua2V5ZnJhbWVzTmFtZX0gJHtcbiAgICAgICAgICAgIGFuaW1hdGlvbi5yZXZlcnNlID8gJ3JldmVyc2UnIDogJydcbiAgICAgICAgICB9YCxcbiAgICAgICAgICB0aGlzLnRyYW5zaXRpb25OYW1lKClcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgaWYgKCdrZXlmcmFtZXMnIGluIGluQW5pbWF0aW9uKSB7XG4gICAgICAgIGNvbnN0IGFuaW1hdGlvbiA9IGluQW5pbWF0aW9uIGFzIEtleWZyYW1lc1RyYW5zaXRpb247XG4gICAgICAgIGNvbnN0IGtleWZyYW1lc05hbWUgPSB0aGlzLl9rZXlmcmFtZXNTZXJ2aWNlLnNldEtleWZyYW1lcyhcbiAgICAgICAgICBhbmltYXRpb24ua2V5ZnJhbWVzXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuX3ZpZXdUcmFuc2l0aW9uc1NlcnZpY2Uuc2V0SW5BbmltYXRpb24oXG4gICAgICAgICAgYCR7YW5pbWF0aW9uLmR1cmF0aW9ufW1zICR7a2V5ZnJhbWVzTmFtZX0gJHtcbiAgICAgICAgICAgIGFuaW1hdGlvbi5yZXZlcnNlID8gJ3JldmVyc2UnIDogJydcbiAgICAgICAgICB9YCxcbiAgICAgICAgICB0aGlzLnRyYW5zaXRpb25OYW1lKClcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIC8vb3V0QW5pbWF0aW9uXG4gICAgZWZmZWN0KGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IG91dEFuaW1hdGlvbiA9IHRoaXMub3V0QW5pbWF0aW9uKCk7XG5cbiAgICAgIGlmICghb3V0QW5pbWF0aW9uKSByZXR1cm47XG5cbiAgICAgIGlmICgna2V5ZnJhbWVzTmFtZScgaW4gb3V0QW5pbWF0aW9uKSB7XG4gICAgICAgIGNvbnN0IGFuaW1hdGlvbiA9IG91dEFuaW1hdGlvbiBhcyBDc3NLZXlmcmFtZXNUcmFuc2l0aW9uO1xuICAgICAgICB0aGlzLl92aWV3VHJhbnNpdGlvbnNTZXJ2aWNlLnNldE91dEFuaW1hdGlvbihcbiAgICAgICAgICBgJHthbmltYXRpb24uZHVyYXRpb259bXMgJHthbmltYXRpb24ua2V5ZnJhbWVzTmFtZX0gJHtcbiAgICAgICAgICAgIGFuaW1hdGlvbi5yZXZlcnNlID8gJ3JldmVyc2UnIDogJydcbiAgICAgICAgICB9YCxcbiAgICAgICAgICB0aGlzLnRyYW5zaXRpb25OYW1lKClcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgaWYgKCdrZXlmcmFtZXMnIGluIG91dEFuaW1hdGlvbikge1xuICAgICAgICBjb25zdCBhbmltYXRpb24gPSBvdXRBbmltYXRpb24gYXMgS2V5ZnJhbWVzVHJhbnNpdGlvbjtcbiAgICAgICAgY29uc3Qga2V5ZnJhbWVzTmFtZSA9IHRoaXMuX2tleWZyYW1lc1NlcnZpY2Uuc2V0S2V5ZnJhbWVzKFxuICAgICAgICAgIGFuaW1hdGlvbi5rZXlmcmFtZXNcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5fdmlld1RyYW5zaXRpb25zU2VydmljZS5zZXRPdXRBbmltYXRpb24oXG4gICAgICAgICAgYCR7YW5pbWF0aW9uLmR1cmF0aW9ufW1zICR7a2V5ZnJhbWVzTmFtZX0gJHtcbiAgICAgICAgICAgIGFuaW1hdGlvbi5yZXZlcnNlID8gJ3JldmVyc2UnIDogJydcbiAgICAgICAgICB9YCxcbiAgICAgICAgICB0aGlzLnRyYW5zaXRpb25OYW1lKClcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
@@ -34,10 +34,10 @@ export class ViewTransitionsService {
|
|
|
34
34
|
if (!this._document.getElementById(elementId))
|
|
35
35
|
this._renderer.appendChild(this._document.head, styleElement);
|
|
36
36
|
}
|
|
37
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
38
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
37
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: ViewTransitionsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
38
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: ViewTransitionsService, providedIn: 'root' }); }
|
|
39
39
|
}
|
|
40
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
40
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: ViewTransitionsService, decorators: [{
|
|
41
41
|
type: Injectable,
|
|
42
42
|
args: [{ providedIn: 'root' }]
|
|
43
43
|
}] });
|
|
@@ -184,10 +184,10 @@ class NoTransitionDirective {
|
|
|
184
184
|
if (!this._document.getElementById(elementId))
|
|
185
185
|
this._renderer.appendChild(this._document.head, styleElement);
|
|
186
186
|
}
|
|
187
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
188
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
187
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: NoTransitionDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
188
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.1", type: NoTransitionDirective, isStandalone: true, selector: "[noTransition]", ngImport: i0 }); }
|
|
189
189
|
}
|
|
190
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
190
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: NoTransitionDirective, decorators: [{
|
|
191
191
|
type: Directive,
|
|
192
192
|
args: [{
|
|
193
193
|
standalone: true,
|
|
@@ -245,10 +245,10 @@ class KeyframesService {
|
|
|
245
245
|
});
|
|
246
246
|
return `@keyframes ${animationName} { ${cssKeyframes.join(' ')} }`;
|
|
247
247
|
}
|
|
248
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
249
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
248
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: KeyframesService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
249
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: KeyframesService, providedIn: 'root' }); }
|
|
250
250
|
}
|
|
251
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
251
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: KeyframesService, decorators: [{
|
|
252
252
|
type: Injectable,
|
|
253
253
|
args: [{ providedIn: 'root' }]
|
|
254
254
|
}] });
|
|
@@ -286,10 +286,10 @@ class ViewTransitionsService {
|
|
|
286
286
|
if (!this._document.getElementById(elementId))
|
|
287
287
|
this._renderer.appendChild(this._document.head, styleElement);
|
|
288
288
|
}
|
|
289
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
290
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
289
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: ViewTransitionsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
290
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: ViewTransitionsService, providedIn: 'root' }); }
|
|
291
291
|
}
|
|
292
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
292
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: ViewTransitionsService, decorators: [{
|
|
293
293
|
type: Injectable,
|
|
294
294
|
args: [{ providedIn: 'root' }]
|
|
295
295
|
}] });
|
|
@@ -320,37 +320,39 @@ class TransitionNameDirective {
|
|
|
320
320
|
});
|
|
321
321
|
//inAnimation
|
|
322
322
|
effect(async () => {
|
|
323
|
-
|
|
323
|
+
const inAnimation = this.inAnimation();
|
|
324
|
+
if (!inAnimation)
|
|
324
325
|
return;
|
|
325
|
-
if ('keyframesName' in
|
|
326
|
-
const animation =
|
|
326
|
+
if ('keyframesName' in inAnimation) {
|
|
327
|
+
const animation = inAnimation;
|
|
327
328
|
this._viewTransitionsService.setInAnimation(`${animation.duration}ms ${animation.keyframesName} ${animation.reverse ? 'reverse' : ''}`, this.transitionName());
|
|
328
329
|
}
|
|
329
|
-
if ('keyframes' in
|
|
330
|
-
const animation =
|
|
330
|
+
if ('keyframes' in inAnimation) {
|
|
331
|
+
const animation = inAnimation;
|
|
331
332
|
const keyframesName = this._keyframesService.setKeyframes(animation.keyframes);
|
|
332
333
|
this._viewTransitionsService.setInAnimation(`${animation.duration}ms ${keyframesName} ${animation.reverse ? 'reverse' : ''}`, this.transitionName());
|
|
333
334
|
}
|
|
334
335
|
});
|
|
335
336
|
//outAnimation
|
|
336
337
|
effect(async () => {
|
|
337
|
-
|
|
338
|
+
const outAnimation = this.outAnimation();
|
|
339
|
+
if (!outAnimation)
|
|
338
340
|
return;
|
|
339
|
-
if ('keyframesName' in
|
|
340
|
-
const animation =
|
|
341
|
+
if ('keyframesName' in outAnimation) {
|
|
342
|
+
const animation = outAnimation;
|
|
341
343
|
this._viewTransitionsService.setOutAnimation(`${animation.duration}ms ${animation.keyframesName} ${animation.reverse ? 'reverse' : ''}`, this.transitionName());
|
|
342
344
|
}
|
|
343
|
-
if ('keyframes' in
|
|
344
|
-
const animation =
|
|
345
|
+
if ('keyframes' in outAnimation) {
|
|
346
|
+
const animation = outAnimation;
|
|
345
347
|
const keyframesName = this._keyframesService.setKeyframes(animation.keyframes);
|
|
346
348
|
this._viewTransitionsService.setOutAnimation(`${animation.duration}ms ${keyframesName} ${animation.reverse ? 'reverse' : ''}`, this.transitionName());
|
|
347
349
|
}
|
|
348
350
|
});
|
|
349
351
|
}
|
|
350
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
351
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "
|
|
352
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: TransitionNameDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
353
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.0.1", type: TransitionNameDirective, isStandalone: true, selector: "[transitionName]", inputs: { transitionName: { classPropertyName: "transitionName", publicName: "transitionName", isSignal: true, isRequired: true, transformFunction: null }, inAnimation: { classPropertyName: "inAnimation", publicName: "inAnimation", isSignal: true, isRequired: false, transformFunction: null }, outAnimation: { classPropertyName: "outAnimation", publicName: "outAnimation", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 }); }
|
|
352
354
|
}
|
|
353
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
355
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: TransitionNameDirective, decorators: [{
|
|
354
356
|
type: Directive,
|
|
355
357
|
args: [{
|
|
356
358
|
standalone: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngx-easy-view-transitions.mjs","sources":["../../../ngx-easy-view-transitions/src/lib/default-transitions.ts","../../../ngx-easy-view-transitions/src/lib/no-transition.directive.ts","../../../ngx-easy-view-transitions/src/lib/utils.ts","../../../ngx-easy-view-transitions/src/lib/keyframes.service.ts","../../../ngx-easy-view-transitions/src/lib/view-transitions.service.ts","../../../ngx-easy-view-transitions/src/lib/transition-name.directive.ts","../../../ngx-easy-view-transitions/src/lib/default-view-transition.provider.ts","../../../ngx-easy-view-transitions/src/ngx-easy-view-transitions.ts"],"sourcesContent":["export const none: Keyframe[] = [];\r\n\r\nexport const scaleIn: Keyframe[] = [\r\n {\r\n opacity: 0,\r\n transform: 'scale(0.5)',\r\n offset: 0,\r\n },\r\n {\r\n opacity: 1,\r\n transform: 'scale(1)',\r\n offset: 1,\r\n },\r\n];\r\n\r\nexport const scaleOut: Keyframe[] = [\r\n {\r\n opacity: 1,\r\n transform: 'scale(1)',\r\n offset: 0,\r\n },\r\n {\r\n opacity: 0,\r\n transform: 'scale(0.5)',\r\n offset: 1,\r\n },\r\n];\r\n\r\nexport const fadeIn: Keyframe[] = [\r\n {\r\n opacity: 0,\r\n offset: 0,\r\n },\r\n {\r\n opacity: 1,\r\n offset: 1,\r\n },\r\n];\r\n\r\nexport const fadeOut: Keyframe[] = [\r\n {\r\n opacity: 1,\r\n offset: 0,\r\n },\r\n {\r\n opacity: 0,\r\n offset: 1,\r\n },\r\n];\r\n\r\nexport const fadeInUp: Keyframe[] = [\r\n {\r\n opacity: 0,\r\n transform: 'translate(0, 100%)',\r\n offset: 0,\r\n },\r\n {\r\n opacity: 1,\r\n transform: 'translate(0, 0)',\r\n offset: 1,\r\n },\r\n];\r\n\r\nexport const fadeOutUp: Keyframe[] = [\r\n {\r\n opacity: 1,\r\n offset: 0,\r\n },\r\n {\r\n opacity: 0,\r\n transform: 'translate(0, -100%)',\r\n offset: 1,\r\n },\r\n];\r\n\r\nexport const fadeInDown: Keyframe[] = [\r\n {\r\n opacity: 0,\r\n transform: 'translate(0, -100%)',\r\n offset: 0,\r\n },\r\n {\r\n opacity: 1,\r\n transform: 'translate(0, 0)',\r\n offset: 1,\r\n },\r\n];\r\n\r\nexport const fadeOutDown: Keyframe[] = [\r\n {\r\n opacity: 1,\r\n offset: 0,\r\n },\r\n {\r\n opacity: 0,\r\n transform: 'translate(0, 100%)',\r\n offset: 1,\r\n },\r\n];\r\n\r\nexport const fadeInRight: Keyframe[] = [\r\n {\r\n opacity: 0,\r\n transform: 'translate(100%, 0)',\r\n offset: 0,\r\n },\r\n {\r\n opacity: 1,\r\n transform: 'translate(0, 0)',\r\n offset: 1,\r\n },\r\n];\r\n\r\nexport const fadeOutRight: Keyframe[] = [\r\n {\r\n opacity: 1,\r\n offset: 0,\r\n },\r\n {\r\n opacity: 0,\r\n transform: 'translate(100%, 0)',\r\n offset: 1,\r\n },\r\n];\r\n\r\nexport const fadeInLeft: Keyframe[] = [\r\n {\r\n opacity: 0,\r\n transform: 'translate(-100%, 0)',\r\n offset: 0,\r\n },\r\n {\r\n opacity: 1,\r\n transform: 'translate(0, 0)',\r\n offset: 1,\r\n },\r\n];\r\n\r\nexport const fadeOutLeft: Keyframe[] = [\r\n {\r\n opacity: 1,\r\n offset: 0,\r\n },\r\n {\r\n opacity: 0,\r\n transform: 'translate(-100%, 0)',\r\n offset: 1,\r\n },\r\n];\r\n","import {\r\n Directive,\r\n ElementRef,\r\n inject,\r\n OnInit,\r\n RendererFactory2,\r\n} from '@angular/core';\r\nimport { DOCUMENT } from '@angular/common';\r\n\r\n/**\r\n * Exclude an element from view transitions\r\n */\r\n@Directive({\r\n standalone: true,\r\n selector: '[noTransition]',\r\n})\r\nexport class NoTransitionDirective implements OnInit {\r\n private readonly _el = inject(ElementRef);\r\n private readonly _rendererFactory = inject(RendererFactory2);\r\n private readonly _renderer = this._rendererFactory.createRenderer(null, null);\r\n private readonly _document = inject(DOCUMENT);\r\n\r\n ngOnInit(): void {\r\n const transitionName = 'ngx-easy-view-transitions-disabled';\r\n\r\n this._el.nativeElement.style.viewTransitionName = transitionName;\r\n\r\n const elementId = 'view-transition-none';\r\n\r\n const styleElement =\r\n this._document.getElementById(elementId) ||\r\n this._document.createElement('style');\r\n\r\n styleElement.innerHTML = `\r\n ::view-transition-group(${transitionName}),\r\n ::view-transition-old(${transitionName}),\r\n ::view-transition-new(${transitionName}) {\r\n animation-duration: 0s !important;\r\n }\r\n `;\r\n styleElement.id = elementId;\r\n\r\n if (!this._document.getElementById(elementId))\r\n this._renderer.appendChild(this._document.head, styleElement);\r\n }\r\n}\r\n","/**@internal*/\r\nexport function hashCode(str: string): number {\r\n let hash = 0;\r\n for (let i = 0, len = str.length; i < len; i++) {\r\n const code = str.charCodeAt(i);\r\n hash = (hash << 5) - hash + code;\r\n hash |= 0; // Convert to 32bit integer\r\n }\r\n return hash;\r\n}\r\n","import { inject, Injectable, RendererFactory2 } from '@angular/core';\r\nimport { hashCode } from './utils';\r\nimport { DOCUMENT } from '@angular/common';\r\n\r\n/**@internal*/\r\n@Injectable({ providedIn: 'root' })\r\nexport class KeyframesService {\r\n private readonly _rendererFactory = inject(RendererFactory2);\r\n private readonly _renderer = this._rendererFactory.createRenderer(null, null);\r\n private readonly _document = inject(DOCUMENT);\r\n\r\n setKeyframes(keyframes: Keyframe[]) {\r\n const keyframesAsString = JSON.stringify(keyframes);\r\n const hashedKeyframes = hashCode(keyframesAsString);\r\n const keyframesName = `_${hashedKeyframes}`;\r\n\r\n const elementId = `keyframes-${keyframesName}`;\r\n\r\n const styleElement =\r\n this._document.getElementById(elementId) ||\r\n this._document.createElement('style');\r\n\r\n styleElement.innerHTML = this.generateCssKeyframeRule(\r\n keyframesName,\r\n keyframes\r\n );\r\n styleElement.id = elementId;\r\n\r\n if (!this._document.getElementById(elementId))\r\n this._renderer.appendChild(this._document.head, styleElement);\r\n\r\n return keyframesName;\r\n }\r\n\r\n private generateCssKeyframeRule(\r\n animationName: string,\r\n keyframes: Keyframe[]\r\n ): string {\r\n const cssKeyframes: string[] = [];\r\n\r\n keyframes.forEach((keyframe, index) => {\r\n const offset = keyframe.offset ? `${keyframe.offset * 100}%` : '';\r\n\r\n const keyframeDeclaration = `${\r\n index === 0\r\n ? 'from'\r\n : offset\r\n ? offset\r\n : index === keyframes.length - 1\r\n ? 'to'\r\n : ''\r\n }`;\r\n\r\n const cssProperties = Object.entries(keyframe)\r\n .filter(([property]) => property !== 'offset')\r\n .map(([property, value]) => `${property}: ${value};`)\r\n .join('');\r\n\r\n cssKeyframes.push(`${keyframeDeclaration} { ${cssProperties} }`);\r\n });\r\n\r\n return `@keyframes ${animationName} { ${cssKeyframes.join(' ')} }`;\r\n }\r\n}\r\n","import { inject, Injectable, RendererFactory2 } from '@angular/core';\r\nimport { DOCUMENT } from '@angular/common';\r\n\r\n/**@internal*/\r\n@Injectable({ providedIn: 'root' })\r\nexport class ViewTransitionsService {\r\n private readonly _rendererFactory = inject(RendererFactory2);\r\n private readonly _renderer = this._rendererFactory.createRenderer(null, null);\r\n private readonly _document = inject(DOCUMENT);\r\n\r\n setOutAnimation(outAnimation: string, transitionName: string) {\r\n const elementId = `view-transition-out-${transitionName}`;\r\n\r\n const styleElement =\r\n this._document.getElementById(elementId) ||\r\n this._document.createElement('style');\r\n\r\n styleElement.innerHTML = `\r\n ::view-transition-old(${transitionName}){\r\n animation: ${outAnimation};\r\n }\r\n `;\r\n styleElement.id = elementId;\r\n\r\n if (!this._document.getElementById(elementId))\r\n this._renderer.appendChild(this._document.head, styleElement);\r\n }\r\n\r\n setInAnimation(inAnimation: string, transitionName: string) {\r\n const elementId = `view-transition-in-${transitionName}`;\r\n\r\n const styleElement =\r\n this._document.getElementById(elementId) ||\r\n this._document.createElement('style');\r\n\r\n styleElement.innerHTML = `\r\n ::view-transition-new(${transitionName}){\r\n animation: ${inAnimation};\r\n }\r\n `;\r\n styleElement.id = elementId;\r\n\r\n if (!this._document.getElementById(elementId))\r\n this._renderer.appendChild(this._document.head, styleElement);\r\n }\r\n}\r\n","import { Directive, effect, ElementRef, inject, input } from '@angular/core';\r\nimport { KeyframesTransition } from './keyframes-transition';\r\nimport { CssKeyframesTransition } from './css-keyframes-transition';\r\nimport { KeyframesService } from './keyframes.service';\r\nimport { ViewTransitionsService } from './view-transitions.service';\r\n\r\n/**\r\n * Configure view transitions for the element\r\n */\r\n@Directive({\r\n standalone: true,\r\n selector: '[transitionName]',\r\n})\r\nexport class TransitionNameDirective {\r\n /**\r\n * Set the `view-transition-name` property to assign transitions to that element\r\n */\r\n transitionName = input.required<string>();\r\n /**\r\n * Configure the animation when the element enters the view\r\n */\r\n inAnimation = input<KeyframesTransition | CssKeyframesTransition>();\r\n /**\r\n * Configure the animation when the element leaves the view\r\n */\r\n outAnimation = input<KeyframesTransition | CssKeyframesTransition>();\r\n\r\n private readonly _el = inject(ElementRef);\r\n private readonly _keyframesService = inject(KeyframesService);\r\n private readonly _viewTransitionsService = inject(ViewTransitionsService);\r\n\r\n constructor() {\r\n //transitionName\r\n effect(() => {\r\n this._el.nativeElement.style.viewTransitionName = this.transitionName();\r\n });\r\n\r\n //inAnimation\r\n effect(async () => {\r\n if (!this.inAnimation()) return;\r\n\r\n if ('keyframesName' in this.inAnimation()!) {\r\n const animation = this.inAnimation() as CssKeyframesTransition;\r\n this._viewTransitionsService.setInAnimation(\r\n `${animation.duration}ms ${animation.keyframesName} ${\r\n animation.reverse ? 'reverse' : ''\r\n }`,\r\n this.transitionName()\r\n );\r\n }\r\n\r\n if ('keyframes' in this.inAnimation()!) {\r\n const animation = this.inAnimation() as KeyframesTransition;\r\n const keyframesName = this._keyframesService.setKeyframes(\r\n animation.keyframes\r\n );\r\n this._viewTransitionsService.setInAnimation(\r\n `${animation.duration}ms ${keyframesName} ${\r\n animation.reverse ? 'reverse' : ''\r\n }`,\r\n this.transitionName()\r\n );\r\n }\r\n });\r\n\r\n //outAnimation\r\n effect(async () => {\r\n if (!this.outAnimation()) return;\r\n\r\n if ('keyframesName' in this.outAnimation()!) {\r\n const animation = this.outAnimation() as CssKeyframesTransition;\r\n this._viewTransitionsService.setOutAnimation(\r\n `${animation.duration}ms ${animation.keyframesName} ${\r\n animation.reverse ? 'reverse' : ''\r\n }`,\r\n this.transitionName()\r\n );\r\n }\r\n\r\n if ('keyframes' in this.outAnimation()!) {\r\n const animation = this.outAnimation() as KeyframesTransition;\r\n const keyframesName = this._keyframesService.setKeyframes(\r\n animation.keyframes\r\n );\r\n this._viewTransitionsService.setOutAnimation(\r\n `${animation.duration}ms ${keyframesName} ${\r\n animation.reverse ? 'reverse' : ''\r\n }`,\r\n this.transitionName()\r\n );\r\n }\r\n });\r\n }\r\n}\r\n","import { APP_INITIALIZER, Provider } from '@angular/core';\r\nimport { KeyframesTransition } from './keyframes-transition';\r\nimport { CssKeyframesTransition } from './css-keyframes-transition';\r\nimport { ViewTransitionsService } from './view-transitions.service';\r\nimport { KeyframesService } from './keyframes.service';\r\n\r\n/**\r\n * Override the default View Transition API cross-fade animation\r\n * @param inAnimation\r\n * @param outAnimation\r\n */\r\nexport function provideDefaultViewTransition(\r\n inAnimation: KeyframesTransition | CssKeyframesTransition,\r\n outAnimation: KeyframesTransition | CssKeyframesTransition\r\n): Provider {\r\n const factory = (\r\n viewTransitionService: ViewTransitionsService,\r\n keyframesService: KeyframesService\r\n ) => {\r\n return () => {\r\n if ('keyframesName' in inAnimation) {\r\n const animation = inAnimation as CssKeyframesTransition;\r\n viewTransitionService.setInAnimation(\r\n `${animation.duration}ms ${animation.keyframesName} ${\r\n animation.reverse ? 'reverse' : ''\r\n }`,\r\n 'root'\r\n );\r\n }\r\n\r\n if ('keyframes' in inAnimation) {\r\n const animation = inAnimation as KeyframesTransition;\r\n const keyframesName = keyframesService.setKeyframes(\r\n animation.keyframes\r\n );\r\n viewTransitionService.setInAnimation(\r\n `${animation.duration}ms ${keyframesName} ${\r\n animation.reverse ? 'reverse' : ''\r\n }`,\r\n 'root'\r\n );\r\n }\r\n\r\n if ('keyframesName' in outAnimation) {\r\n const animation = outAnimation as CssKeyframesTransition;\r\n viewTransitionService.setOutAnimation(\r\n `${animation.duration}ms ${animation.keyframesName} ${\r\n animation.reverse ? 'reverse' : ''\r\n }`,\r\n 'root'\r\n );\r\n }\r\n\r\n if ('keyframes' in outAnimation) {\r\n const animation = outAnimation as KeyframesTransition;\r\n const keyframesName = keyframesService.setKeyframes(\r\n animation.keyframes\r\n );\r\n viewTransitionService.setOutAnimation(\r\n `${animation.duration}ms ${keyframesName} ${\r\n animation.reverse ? 'reverse' : ''\r\n }`,\r\n 'root'\r\n );\r\n }\r\n };\r\n };\r\n\r\n return {\r\n provide: APP_INITIALIZER,\r\n useFactory: factory,\r\n multi: true,\r\n deps: [ViewTransitionsService, KeyframesService],\r\n };\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ngx-easy-view-transitions.mjs","sources":["../../../ngx-easy-view-transitions/src/lib/default-transitions.ts","../../../ngx-easy-view-transitions/src/lib/no-transition.directive.ts","../../../ngx-easy-view-transitions/src/lib/utils.ts","../../../ngx-easy-view-transitions/src/lib/keyframes.service.ts","../../../ngx-easy-view-transitions/src/lib/view-transitions.service.ts","../../../ngx-easy-view-transitions/src/lib/transition-name.directive.ts","../../../ngx-easy-view-transitions/src/lib/default-view-transition.provider.ts","../../../ngx-easy-view-transitions/src/ngx-easy-view-transitions.ts"],"sourcesContent":["export const none: Keyframe[] = [];\r\n\r\nexport const scaleIn: Keyframe[] = [\r\n {\r\n opacity: 0,\r\n transform: 'scale(0.5)',\r\n offset: 0,\r\n },\r\n {\r\n opacity: 1,\r\n transform: 'scale(1)',\r\n offset: 1,\r\n },\r\n];\r\n\r\nexport const scaleOut: Keyframe[] = [\r\n {\r\n opacity: 1,\r\n transform: 'scale(1)',\r\n offset: 0,\r\n },\r\n {\r\n opacity: 0,\r\n transform: 'scale(0.5)',\r\n offset: 1,\r\n },\r\n];\r\n\r\nexport const fadeIn: Keyframe[] = [\r\n {\r\n opacity: 0,\r\n offset: 0,\r\n },\r\n {\r\n opacity: 1,\r\n offset: 1,\r\n },\r\n];\r\n\r\nexport const fadeOut: Keyframe[] = [\r\n {\r\n opacity: 1,\r\n offset: 0,\r\n },\r\n {\r\n opacity: 0,\r\n offset: 1,\r\n },\r\n];\r\n\r\nexport const fadeInUp: Keyframe[] = [\r\n {\r\n opacity: 0,\r\n transform: 'translate(0, 100%)',\r\n offset: 0,\r\n },\r\n {\r\n opacity: 1,\r\n transform: 'translate(0, 0)',\r\n offset: 1,\r\n },\r\n];\r\n\r\nexport const fadeOutUp: Keyframe[] = [\r\n {\r\n opacity: 1,\r\n offset: 0,\r\n },\r\n {\r\n opacity: 0,\r\n transform: 'translate(0, -100%)',\r\n offset: 1,\r\n },\r\n];\r\n\r\nexport const fadeInDown: Keyframe[] = [\r\n {\r\n opacity: 0,\r\n transform: 'translate(0, -100%)',\r\n offset: 0,\r\n },\r\n {\r\n opacity: 1,\r\n transform: 'translate(0, 0)',\r\n offset: 1,\r\n },\r\n];\r\n\r\nexport const fadeOutDown: Keyframe[] = [\r\n {\r\n opacity: 1,\r\n offset: 0,\r\n },\r\n {\r\n opacity: 0,\r\n transform: 'translate(0, 100%)',\r\n offset: 1,\r\n },\r\n];\r\n\r\nexport const fadeInRight: Keyframe[] = [\r\n {\r\n opacity: 0,\r\n transform: 'translate(100%, 0)',\r\n offset: 0,\r\n },\r\n {\r\n opacity: 1,\r\n transform: 'translate(0, 0)',\r\n offset: 1,\r\n },\r\n];\r\n\r\nexport const fadeOutRight: Keyframe[] = [\r\n {\r\n opacity: 1,\r\n offset: 0,\r\n },\r\n {\r\n opacity: 0,\r\n transform: 'translate(100%, 0)',\r\n offset: 1,\r\n },\r\n];\r\n\r\nexport const fadeInLeft: Keyframe[] = [\r\n {\r\n opacity: 0,\r\n transform: 'translate(-100%, 0)',\r\n offset: 0,\r\n },\r\n {\r\n opacity: 1,\r\n transform: 'translate(0, 0)',\r\n offset: 1,\r\n },\r\n];\r\n\r\nexport const fadeOutLeft: Keyframe[] = [\r\n {\r\n opacity: 1,\r\n offset: 0,\r\n },\r\n {\r\n opacity: 0,\r\n transform: 'translate(-100%, 0)',\r\n offset: 1,\r\n },\r\n];\r\n","import {\r\n Directive,\r\n ElementRef,\r\n inject,\r\n OnInit,\r\n RendererFactory2,\r\n} from '@angular/core';\r\nimport { DOCUMENT } from '@angular/common';\r\n\r\n/**\r\n * Exclude an element from view transitions\r\n */\r\n@Directive({\r\n standalone: true,\r\n selector: '[noTransition]',\r\n})\r\nexport class NoTransitionDirective implements OnInit {\r\n private readonly _el = inject(ElementRef);\r\n private readonly _rendererFactory = inject(RendererFactory2);\r\n private readonly _renderer = this._rendererFactory.createRenderer(null, null);\r\n private readonly _document = inject(DOCUMENT);\r\n\r\n ngOnInit(): void {\r\n const transitionName = 'ngx-easy-view-transitions-disabled';\r\n\r\n this._el.nativeElement.style.viewTransitionName = transitionName;\r\n\r\n const elementId = 'view-transition-none';\r\n\r\n const styleElement =\r\n this._document.getElementById(elementId) ||\r\n this._document.createElement('style');\r\n\r\n styleElement.innerHTML = `\r\n ::view-transition-group(${transitionName}),\r\n ::view-transition-old(${transitionName}),\r\n ::view-transition-new(${transitionName}) {\r\n animation-duration: 0s !important;\r\n }\r\n `;\r\n styleElement.id = elementId;\r\n\r\n if (!this._document.getElementById(elementId))\r\n this._renderer.appendChild(this._document.head, styleElement);\r\n }\r\n}\r\n","/**@internal*/\r\nexport function hashCode(str: string): number {\r\n let hash = 0;\r\n for (let i = 0, len = str.length; i < len; i++) {\r\n const code = str.charCodeAt(i);\r\n hash = (hash << 5) - hash + code;\r\n hash |= 0; // Convert to 32bit integer\r\n }\r\n return hash;\r\n}\r\n","import { inject, Injectable, RendererFactory2 } from '@angular/core';\r\nimport { hashCode } from './utils';\r\nimport { DOCUMENT } from '@angular/common';\r\n\r\n/**@internal*/\r\n@Injectable({ providedIn: 'root' })\r\nexport class KeyframesService {\r\n private readonly _rendererFactory = inject(RendererFactory2);\r\n private readonly _renderer = this._rendererFactory.createRenderer(null, null);\r\n private readonly _document = inject(DOCUMENT);\r\n\r\n setKeyframes(keyframes: Keyframe[]) {\r\n const keyframesAsString = JSON.stringify(keyframes);\r\n const hashedKeyframes = hashCode(keyframesAsString);\r\n const keyframesName = `_${hashedKeyframes}`;\r\n\r\n const elementId = `keyframes-${keyframesName}`;\r\n\r\n const styleElement =\r\n this._document.getElementById(elementId) ||\r\n this._document.createElement('style');\r\n\r\n styleElement.innerHTML = this.generateCssKeyframeRule(\r\n keyframesName,\r\n keyframes\r\n );\r\n styleElement.id = elementId;\r\n\r\n if (!this._document.getElementById(elementId))\r\n this._renderer.appendChild(this._document.head, styleElement);\r\n\r\n return keyframesName;\r\n }\r\n\r\n private generateCssKeyframeRule(\r\n animationName: string,\r\n keyframes: Keyframe[]\r\n ): string {\r\n const cssKeyframes: string[] = [];\r\n\r\n keyframes.forEach((keyframe, index) => {\r\n const offset = keyframe.offset ? `${keyframe.offset * 100}%` : '';\r\n\r\n const keyframeDeclaration = `${\r\n index === 0\r\n ? 'from'\r\n : offset\r\n ? offset\r\n : index === keyframes.length - 1\r\n ? 'to'\r\n : ''\r\n }`;\r\n\r\n const cssProperties = Object.entries(keyframe)\r\n .filter(([property]) => property !== 'offset')\r\n .map(([property, value]) => `${property}: ${value};`)\r\n .join('');\r\n\r\n cssKeyframes.push(`${keyframeDeclaration} { ${cssProperties} }`);\r\n });\r\n\r\n return `@keyframes ${animationName} { ${cssKeyframes.join(' ')} }`;\r\n }\r\n}\r\n","import { inject, Injectable, RendererFactory2 } from '@angular/core';\r\nimport { DOCUMENT } from '@angular/common';\r\n\r\n/**@internal*/\r\n@Injectable({ providedIn: 'root' })\r\nexport class ViewTransitionsService {\r\n private readonly _rendererFactory = inject(RendererFactory2);\r\n private readonly _renderer = this._rendererFactory.createRenderer(null, null);\r\n private readonly _document = inject(DOCUMENT);\r\n\r\n setOutAnimation(outAnimation: string, transitionName: string) {\r\n const elementId = `view-transition-out-${transitionName}`;\r\n\r\n const styleElement =\r\n this._document.getElementById(elementId) ||\r\n this._document.createElement('style');\r\n\r\n styleElement.innerHTML = `\r\n ::view-transition-old(${transitionName}){\r\n animation: ${outAnimation};\r\n }\r\n `;\r\n styleElement.id = elementId;\r\n\r\n if (!this._document.getElementById(elementId))\r\n this._renderer.appendChild(this._document.head, styleElement);\r\n }\r\n\r\n setInAnimation(inAnimation: string, transitionName: string) {\r\n const elementId = `view-transition-in-${transitionName}`;\r\n\r\n const styleElement =\r\n this._document.getElementById(elementId) ||\r\n this._document.createElement('style');\r\n\r\n styleElement.innerHTML = `\r\n ::view-transition-new(${transitionName}){\r\n animation: ${inAnimation};\r\n }\r\n `;\r\n styleElement.id = elementId;\r\n\r\n if (!this._document.getElementById(elementId))\r\n this._renderer.appendChild(this._document.head, styleElement);\r\n }\r\n}\r\n","import { Directive, effect, ElementRef, inject, input } from '@angular/core';\nimport { KeyframesTransition } from './keyframes-transition';\nimport { CssKeyframesTransition } from './css-keyframes-transition';\nimport { KeyframesService } from './keyframes.service';\nimport { ViewTransitionsService } from './view-transitions.service';\n\n/**\n * Configure view transitions for the element\n */\n@Directive({\n standalone: true,\n selector: '[transitionName]',\n})\nexport class TransitionNameDirective {\n /**\n * Set the `view-transition-name` property to assign transitions to that element\n */\n transitionName = input.required<string>();\n /**\n * Configure the animation when the element enters the view\n */\n inAnimation = input<KeyframesTransition | CssKeyframesTransition>();\n /**\n * Configure the animation when the element leaves the view\n */\n outAnimation = input<KeyframesTransition | CssKeyframesTransition>();\n\n private readonly _el = inject(ElementRef);\n private readonly _keyframesService = inject(KeyframesService);\n private readonly _viewTransitionsService = inject(ViewTransitionsService);\n\n constructor() {\n //transitionName\n effect(() => {\n this._el.nativeElement.style.viewTransitionName = this.transitionName();\n });\n\n //inAnimation\n effect(async () => {\n const inAnimation = this.inAnimation();\n\n if (!inAnimation) return;\n\n if ('keyframesName' in inAnimation) {\n const animation = inAnimation as CssKeyframesTransition;\n this._viewTransitionsService.setInAnimation(\n `${animation.duration}ms ${animation.keyframesName} ${\n animation.reverse ? 'reverse' : ''\n }`,\n this.transitionName()\n );\n }\n\n if ('keyframes' in inAnimation) {\n const animation = inAnimation as KeyframesTransition;\n const keyframesName = this._keyframesService.setKeyframes(\n animation.keyframes\n );\n this._viewTransitionsService.setInAnimation(\n `${animation.duration}ms ${keyframesName} ${\n animation.reverse ? 'reverse' : ''\n }`,\n this.transitionName()\n );\n }\n });\n\n //outAnimation\n effect(async () => {\n const outAnimation = this.outAnimation();\n\n if (!outAnimation) return;\n\n if ('keyframesName' in outAnimation) {\n const animation = outAnimation as CssKeyframesTransition;\n this._viewTransitionsService.setOutAnimation(\n `${animation.duration}ms ${animation.keyframesName} ${\n animation.reverse ? 'reverse' : ''\n }`,\n this.transitionName()\n );\n }\n\n if ('keyframes' in outAnimation) {\n const animation = outAnimation as KeyframesTransition;\n const keyframesName = this._keyframesService.setKeyframes(\n animation.keyframes\n );\n this._viewTransitionsService.setOutAnimation(\n `${animation.duration}ms ${keyframesName} ${\n animation.reverse ? 'reverse' : ''\n }`,\n this.transitionName()\n );\n }\n });\n }\n}\n","import { APP_INITIALIZER, Provider } from '@angular/core';\r\nimport { KeyframesTransition } from './keyframes-transition';\r\nimport { CssKeyframesTransition } from './css-keyframes-transition';\r\nimport { ViewTransitionsService } from './view-transitions.service';\r\nimport { KeyframesService } from './keyframes.service';\r\n\r\n/**\r\n * Override the default View Transition API cross-fade animation\r\n * @param inAnimation\r\n * @param outAnimation\r\n */\r\nexport function provideDefaultViewTransition(\r\n inAnimation: KeyframesTransition | CssKeyframesTransition,\r\n outAnimation: KeyframesTransition | CssKeyframesTransition\r\n): Provider {\r\n const factory = (\r\n viewTransitionService: ViewTransitionsService,\r\n keyframesService: KeyframesService\r\n ) => {\r\n return () => {\r\n if ('keyframesName' in inAnimation) {\r\n const animation = inAnimation as CssKeyframesTransition;\r\n viewTransitionService.setInAnimation(\r\n `${animation.duration}ms ${animation.keyframesName} ${\r\n animation.reverse ? 'reverse' : ''\r\n }`,\r\n 'root'\r\n );\r\n }\r\n\r\n if ('keyframes' in inAnimation) {\r\n const animation = inAnimation as KeyframesTransition;\r\n const keyframesName = keyframesService.setKeyframes(\r\n animation.keyframes\r\n );\r\n viewTransitionService.setInAnimation(\r\n `${animation.duration}ms ${keyframesName} ${\r\n animation.reverse ? 'reverse' : ''\r\n }`,\r\n 'root'\r\n );\r\n }\r\n\r\n if ('keyframesName' in outAnimation) {\r\n const animation = outAnimation as CssKeyframesTransition;\r\n viewTransitionService.setOutAnimation(\r\n `${animation.duration}ms ${animation.keyframesName} ${\r\n animation.reverse ? 'reverse' : ''\r\n }`,\r\n 'root'\r\n );\r\n }\r\n\r\n if ('keyframes' in outAnimation) {\r\n const animation = outAnimation as KeyframesTransition;\r\n const keyframesName = keyframesService.setKeyframes(\r\n animation.keyframes\r\n );\r\n viewTransitionService.setOutAnimation(\r\n `${animation.duration}ms ${keyframesName} ${\r\n animation.reverse ? 'reverse' : ''\r\n }`,\r\n 'root'\r\n );\r\n }\r\n };\r\n };\r\n\r\n return {\r\n provide: APP_INITIALIZER,\r\n useFactory: factory,\r\n multi: true,\r\n deps: [ViewTransitionsService, KeyframesService],\r\n };\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ngx-easy-view-transitions",
|
|
3
|
-
"version": "0.0
|
|
3
|
+
"version": "2.0.0",
|
|
4
4
|
"description": "Angular library for easier use of the View Transitions API",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"npm",
|
|
@@ -23,11 +23,11 @@
|
|
|
23
23
|
},
|
|
24
24
|
"homepage": "https://derstimmler.github.io/ngx-easy-view-transitions/",
|
|
25
25
|
"peerDependencies": {
|
|
26
|
-
"@angular/common": "
|
|
27
|
-
"@angular/core": "
|
|
26
|
+
"@angular/common": ">=18.0.0",
|
|
27
|
+
"@angular/core": ">=18.0.0"
|
|
28
28
|
},
|
|
29
29
|
"dependencies": {
|
|
30
|
-
"tslib": "^2.
|
|
30
|
+
"tslib": "^2.6.2"
|
|
31
31
|
},
|
|
32
32
|
"sideEffects": false,
|
|
33
33
|
"module": "fesm2022/ngx-easy-view-transitions.mjs",
|