ngx-easy-view-transitions 3.2.0 → 3.3.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
CHANGED
|
@@ -20,7 +20,7 @@ npm install ngx-easy-view-transitions
|
|
|
20
20
|
|
|
21
21
|
Required Angular version: `>=19.0.0`
|
|
22
22
|
|
|
23
|
-
You have to enable
|
|
23
|
+
You have to enable Angular's built-in view transitions in the Router using the [`withViewTransitions()`](https://angular.io/api/router/withViewTransitions#usage-notes) function.
|
|
24
24
|
|
|
25
25
|
```typescript
|
|
26
26
|
bootstrapApplication(AppComponent, {
|
|
@@ -32,10 +32,10 @@ bootstrapApplication(AppComponent, {
|
|
|
32
32
|
|
|
33
33
|
### Morph elements
|
|
34
34
|
|
|
35
|
-
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.
|
|
35
|
+
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.
|
|
36
36
|
|
|
37
37
|
```typescript
|
|
38
|
-
import {TransitionNameDirective} from 'ngx-easy-view-transitions';
|
|
38
|
+
import { TransitionNameDirective } from 'ngx-easy-view-transitions';
|
|
39
39
|
```
|
|
40
40
|
|
|
41
41
|
`users.component.html`
|
|
@@ -52,6 +52,13 @@ import {TransitionNameDirective} from 'ngx-easy-view-transitions';
|
|
|
52
52
|
|
|
53
53
|
Note that each `transitionName` must be unique for a page.
|
|
54
54
|
|
|
55
|
+
Transition names must be valid [`<custom-ident>`](https://developer.mozilla.org/en-US/docs/Web/CSS/custom-ident).
|
|
56
|
+
This library helps with this, by hashing the name to automatically comply.
|
|
57
|
+
|
|
58
|
+
For debugging purposes, you can show the original provided value as `data-original-view-transition-name` attribute by setting `showOriginalNameAttr` to `true`.
|
|
59
|
+
|
|
60
|
+
To opt out of hashing, set `preserveName` to `true`.
|
|
61
|
+
|
|
55
62
|
### Customize animations
|
|
56
63
|
|
|
57
64
|
Instead of morphing an element, you can provide custom animations for entering and leaving the view using the `inAnimation` and `outAnimation` inputs.
|
|
@@ -74,8 +81,8 @@ You can simply use a CSS [`@keyframes`](https://developer.mozilla.org/en-US/docs
|
|
|
74
81
|
```
|
|
75
82
|
|
|
76
83
|
```typescript
|
|
77
|
-
inAnimation = {keyframeName: 'fadeIn', duration: 600};
|
|
78
|
-
outAnimation = {keyframeName: 'fadeIn', duration: 600, reverse: true};
|
|
84
|
+
inAnimation = { keyframeName: 'fadeIn', duration: 600 };
|
|
85
|
+
outAnimation = { keyframeName: 'fadeIn', duration: 600, reverse: true };
|
|
79
86
|
```
|
|
80
87
|
|
|
81
88
|
```angular2html
|
|
@@ -84,7 +91,7 @@ outAnimation = {keyframeName: 'fadeIn', duration: 600, reverse: true};
|
|
|
84
91
|
|
|
85
92
|
#### Using Keyframe array
|
|
86
93
|
|
|
87
|
-
When you want to use typed objects instead of CSS you can provide a [`Keyframe`](https://developer.mozilla.org/en-US/docs/Web/API/Web_Animations_API/Keyframe_Formats) array:
|
|
94
|
+
When you want to use typed objects instead of CSS, you can provide a [`Keyframe`](https://developer.mozilla.org/en-US/docs/Web/API/Web_Animations_API/Keyframe_Formats) array:
|
|
88
95
|
|
|
89
96
|
```typescript
|
|
90
97
|
const fadeIn: Keyframe[] = [
|
|
@@ -100,8 +107,8 @@ const fadeIn: Keyframe[] = [
|
|
|
100
107
|
```
|
|
101
108
|
|
|
102
109
|
```typescript
|
|
103
|
-
inAnimation = {keyframes: fadeIn, duration: 600};
|
|
104
|
-
outAnimation = {keyframes: fadeIn, duration: 600, reverse: true};
|
|
110
|
+
inAnimation = { keyframes: fadeIn, duration: 600 };
|
|
111
|
+
outAnimation = { keyframes: fadeIn, duration: 600, reverse: true };
|
|
105
112
|
```
|
|
106
113
|
|
|
107
114
|
```angular2html
|
|
@@ -127,22 +134,22 @@ animation = {
|
|
|
127
134
|
|
|
128
135
|
### Built-In animations
|
|
129
136
|
|
|
130
|
-
To start faster there are some built-in animations available under `DefaultTransitions.*`.
|
|
137
|
+
To start faster, there are some built-in animations available under `DefaultTransitions.*`.
|
|
131
138
|
|
|
132
139
|
```typescript
|
|
133
|
-
import {DefaultTransitions} from 'ngx-easy-view-transitions';
|
|
140
|
+
import { DefaultTransitions } from 'ngx-easy-view-transitions';
|
|
134
141
|
|
|
135
|
-
inAnimation = {keyframes: DefaultTransitions.fadeInUp, duration: 600};
|
|
142
|
+
inAnimation = { keyframes: DefaultTransitions.fadeInUp, duration: 600 };
|
|
136
143
|
```
|
|
137
144
|
|
|
138
|
-
You can
|
|
145
|
+
You can check them out in the [demo](https://derstimmler.github.io/ngx-easy-view-transitions/animations) and [here](https://github.com/DerStimmler/ngx-easy-view-transitions/blob/main/ngx-easy-view-transitions/src/lib/default-transitions.ts).
|
|
139
146
|
|
|
140
147
|
### Exclude element from view transitions
|
|
141
148
|
|
|
142
149
|
When you want to exclude an element from view transitions, you can add the `noTransition` directive.
|
|
143
150
|
|
|
144
151
|
```typescript
|
|
145
|
-
import {NoTransitionDirective} from 'ngx-easy-view-transitions';
|
|
152
|
+
import { NoTransitionDirective } from 'ngx-easy-view-transitions';
|
|
146
153
|
```
|
|
147
154
|
|
|
148
155
|
```angular2html
|
|
@@ -156,6 +163,7 @@ But you can also provide your own in and out animations by adding the `provideDe
|
|
|
156
163
|
|
|
157
164
|
In the following example, the default animation gets disabled:
|
|
158
165
|
|
|
166
|
+
<!-- prettier-ignore-start -->
|
|
159
167
|
```typescript
|
|
160
168
|
bootstrapApplication(AppComponent,
|
|
161
169
|
{
|
|
@@ -169,6 +177,7 @@ bootstrapApplication(AppComponent,
|
|
|
169
177
|
}
|
|
170
178
|
);
|
|
171
179
|
```
|
|
180
|
+
<!-- prettier-ignore-end -->
|
|
172
181
|
|
|
173
182
|
### Troubleshooting
|
|
174
183
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { inject, ElementRef, RendererFactory2, Directive, Injectable, input, Renderer2, effect, provideAppInitializer } from '@angular/core';
|
|
2
|
+
import { inject, ElementRef, RendererFactory2, Directive, Injectable, input, Renderer2, computed, effect, untracked, provideAppInitializer } from '@angular/core';
|
|
3
3
|
import { DOCUMENT } from '@angular/common';
|
|
4
4
|
|
|
5
5
|
const none = [];
|
|
@@ -612,14 +612,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImpor
|
|
|
612
612
|
}] });
|
|
613
613
|
|
|
614
614
|
/**@internal*/
|
|
615
|
-
function
|
|
616
|
-
let hash =
|
|
617
|
-
for (let i = 0
|
|
618
|
-
|
|
619
|
-
hash = (hash
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
return hash;
|
|
615
|
+
function fnv1aHash(str) {
|
|
616
|
+
let hash = 2166136261;
|
|
617
|
+
for (let i = 0; i < str.length; i++) {
|
|
618
|
+
hash ^= str.charCodeAt(i);
|
|
619
|
+
hash = Math.imul(hash, 16777619);
|
|
620
|
+
}
|
|
621
|
+
return hash >>> 0;
|
|
623
622
|
}
|
|
624
623
|
/**@internal*/
|
|
625
624
|
function isValidCustomIdentValue(value) {
|
|
@@ -645,7 +644,7 @@ class KeyframesService {
|
|
|
645
644
|
}
|
|
646
645
|
setKeyframes(keyframes) {
|
|
647
646
|
const keyframesAsString = JSON.stringify(keyframes);
|
|
648
|
-
const hashedKeyframes =
|
|
647
|
+
const hashedKeyframes = fnv1aHash(keyframesAsString);
|
|
649
648
|
const keyframesName = `keyframes-${hashedKeyframes}`;
|
|
650
649
|
if (this._insertedKeyframes.has(keyframesName))
|
|
651
650
|
return keyframesName;
|
|
@@ -719,7 +718,7 @@ class TransitionNameDirective {
|
|
|
719
718
|
/**
|
|
720
719
|
* Set the `view-transition-name` property to assign transitions to that element
|
|
721
720
|
*/
|
|
722
|
-
this.
|
|
721
|
+
this.originalTransitionName = input.required({ ...(ngDevMode ? { debugName: "originalTransitionName" } : {}), alias: 'transitionName' });
|
|
723
722
|
/**
|
|
724
723
|
* Configure the animation when the element enters the view
|
|
725
724
|
*/
|
|
@@ -728,17 +727,44 @@ class TransitionNameDirective {
|
|
|
728
727
|
* Configure the animation when the element leaves the view
|
|
729
728
|
*/
|
|
730
729
|
this.outAnimation = input(...(ngDevMode ? [undefined, { debugName: "outAnimation" }] : []));
|
|
730
|
+
/**
|
|
731
|
+
* Whether to keep the original transition name or apply hashing for CSS safety.
|
|
732
|
+
* Defaults to `false`. Set to `true` to use the name as provided without hashing.
|
|
733
|
+
*/
|
|
734
|
+
this.preserveName = input(false, ...(ngDevMode ? [{ debugName: "preserveName" }] : []));
|
|
735
|
+
/**
|
|
736
|
+
* Whether to show the `data-original-view-transition-name` containing the provided transition name. Useful for debugging when hashing is enabled. Defaults to `false`.
|
|
737
|
+
*/
|
|
738
|
+
this.showOriginalNameAttr = input(false, ...(ngDevMode ? [{ debugName: "showOriginalNameAttr" }] : []));
|
|
731
739
|
this._el = inject(ElementRef);
|
|
732
740
|
this._renderer = inject(Renderer2);
|
|
733
741
|
this._keyframesService = inject(KeyframesService);
|
|
734
742
|
this._viewTransitionsService = inject(ViewTransitionsService);
|
|
743
|
+
this._transitionName = computed(() => {
|
|
744
|
+
const originalTransitionName = this.originalTransitionName();
|
|
745
|
+
return this.preserveName() ? originalTransitionName : `vtn-${fnv1aHash(originalTransitionName)}`;
|
|
746
|
+
}, ...(ngDevMode ? [{ debugName: "_transitionName" }] : []));
|
|
735
747
|
//transitionName
|
|
736
748
|
effect(() => {
|
|
737
|
-
|
|
738
|
-
|
|
749
|
+
this._renderer.setStyle(this._el.nativeElement, 'view-transition-name', this._transitionName());
|
|
750
|
+
});
|
|
751
|
+
//originalNameAttr
|
|
752
|
+
effect(() => {
|
|
753
|
+
queueMicrotask(() => {
|
|
754
|
+
if (this.showOriginalNameAttr()) {
|
|
755
|
+
this._renderer.setAttribute(this._el.nativeElement, 'data-original-view-transition-name', untracked(this.originalTransitionName));
|
|
756
|
+
}
|
|
757
|
+
});
|
|
758
|
+
});
|
|
759
|
+
//warn if invalid transition name
|
|
760
|
+
effect(() => {
|
|
739
761
|
queueMicrotask(() => {
|
|
740
|
-
if (!
|
|
741
|
-
|
|
762
|
+
if (!this.preserveName())
|
|
763
|
+
return;
|
|
764
|
+
const transitionName = this._transitionName();
|
|
765
|
+
if (isValidViewTransitionName(transitionName))
|
|
766
|
+
return;
|
|
767
|
+
console.warn(`The provided transition name "${transitionName}" is potentially invalid. Please use a valid CSS <custom-ident> value and avoid forbidden values like "unset", "initial", "inherit" and "none". Or use hashing by setting "preserveName" to false.`);
|
|
742
768
|
});
|
|
743
769
|
});
|
|
744
770
|
//inAnimation
|
|
@@ -746,14 +772,14 @@ class TransitionNameDirective {
|
|
|
746
772
|
const animation = this.inAnimation();
|
|
747
773
|
if (!animation)
|
|
748
774
|
return;
|
|
749
|
-
this.setTransition(this.
|
|
775
|
+
this.setTransition(this._transitionName(), animation, 'in');
|
|
750
776
|
});
|
|
751
777
|
//outAnimation
|
|
752
778
|
effect(async () => {
|
|
753
779
|
const animation = this.outAnimation();
|
|
754
780
|
if (!animation)
|
|
755
781
|
return;
|
|
756
|
-
this.setTransition(this.
|
|
782
|
+
this.setTransition(this._transitionName(), animation, 'out');
|
|
757
783
|
});
|
|
758
784
|
}
|
|
759
785
|
setTransition(transitionName, transition, direction) {
|
|
@@ -772,7 +798,7 @@ class TransitionNameDirective {
|
|
|
772
798
|
}, direction);
|
|
773
799
|
}
|
|
774
800
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: TransitionNameDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
775
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.1.1", type: TransitionNameDirective, isStandalone: true, selector: "[transitionName]", inputs: {
|
|
801
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.1.1", type: TransitionNameDirective, isStandalone: true, selector: "[transitionName]", inputs: { originalTransitionName: { classPropertyName: "originalTransitionName", 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 }, preserveName: { classPropertyName: "preserveName", publicName: "preserveName", isSignal: true, isRequired: false, transformFunction: null }, showOriginalNameAttr: { classPropertyName: "showOriginalNameAttr", publicName: "showOriginalNameAttr", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 }); }
|
|
776
802
|
}
|
|
777
803
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: TransitionNameDirective, decorators: [{
|
|
778
804
|
type: Directive,
|
|
@@ -780,7 +806,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImpor
|
|
|
780
806
|
standalone: true,
|
|
781
807
|
selector: '[transitionName]'
|
|
782
808
|
}]
|
|
783
|
-
}], ctorParameters: () => [], propDecorators: {
|
|
809
|
+
}], ctorParameters: () => [], propDecorators: { originalTransitionName: [{ type: i0.Input, args: [{ isSignal: true, alias: "transitionName", required: true }] }], inAnimation: [{ type: i0.Input, args: [{ isSignal: true, alias: "inAnimation", required: false }] }], outAnimation: [{ type: i0.Input, args: [{ isSignal: true, alias: "outAnimation", required: false }] }], preserveName: [{ type: i0.Input, args: [{ isSignal: true, alias: "preserveName", required: false }] }], showOriginalNameAttr: [{ type: i0.Input, args: [{ isSignal: true, alias: "showOriginalNameAttr", required: false }] }] } });
|
|
784
810
|
|
|
785
811
|
/**
|
|
786
812
|
* Override the default View Transition API cross-fade animation
|
|
@@ -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[] = [];\n\nexport const scaleIn: Keyframe[] = [\n {\n opacity: 0,\n transform: 'scale(0.5)',\n offset: 0\n },\n {\n opacity: 1,\n transform: 'scale(1)',\n offset: 1\n }\n];\n\nexport const scaleOut: Keyframe[] = [\n {\n opacity: 1,\n transform: 'scale(1)',\n offset: 0\n },\n {\n opacity: 0,\n transform: 'scale(0.5)',\n offset: 1\n }\n];\n\nexport const fadeIn: Keyframe[] = [\n {\n opacity: 0,\n offset: 0\n },\n {\n opacity: 1,\n offset: 1\n }\n];\n\nexport const fadeOut: Keyframe[] = [\n {\n opacity: 1,\n offset: 0\n },\n {\n opacity: 0,\n offset: 1\n }\n];\n\nexport const fadeInUp: Keyframe[] = [\n {\n opacity: 0,\n transform: 'translate(0, 100%)',\n offset: 0\n },\n {\n opacity: 1,\n transform: 'translate(0, 0)',\n offset: 1\n }\n];\n\nexport const fadeOutUp: Keyframe[] = [\n {\n opacity: 1,\n offset: 0\n },\n {\n opacity: 0,\n transform: 'translate(0, -100%)',\n offset: 1\n }\n];\n\nexport const fadeInDown: Keyframe[] = [\n {\n opacity: 0,\n transform: 'translate(0, -100%)',\n offset: 0\n },\n {\n opacity: 1,\n transform: 'translate(0, 0)',\n offset: 1\n }\n];\n\nexport const fadeOutDown: Keyframe[] = [\n {\n opacity: 1,\n offset: 0\n },\n {\n opacity: 0,\n transform: 'translate(0, 100%)',\n offset: 1\n }\n];\n\nexport const fadeInRight: Keyframe[] = [\n {\n opacity: 0,\n transform: 'translate(100%, 0)',\n offset: 0\n },\n {\n opacity: 1,\n transform: 'translate(0, 0)',\n offset: 1\n }\n];\n\nexport const fadeOutRight: Keyframe[] = [\n {\n opacity: 1,\n offset: 0\n },\n {\n opacity: 0,\n transform: 'translate(100%, 0)',\n offset: 1\n }\n];\n\nexport const fadeInLeft: Keyframe[] = [\n {\n opacity: 0,\n transform: 'translate(-100%, 0)',\n offset: 0\n },\n {\n opacity: 1,\n transform: 'translate(0, 0)',\n offset: 1\n }\n];\n\nexport const fadeOutLeft: Keyframe[] = [\n {\n opacity: 1,\n offset: 0\n },\n {\n opacity: 0,\n transform: 'translate(-100%, 0)',\n offset: 1\n }\n];\n\nexport const flipInX: Keyframe[] = [\n {\n opacity: 0,\n transform: 'rotateX(90deg)',\n offset: 0\n },\n {\n opacity: 1,\n transform: 'rotateX(0)',\n offset: 1\n }\n];\n\nexport const flipOutX: Keyframe[] = [\n {\n opacity: 1,\n transform: 'rotateX(0)',\n offset: 0\n },\n {\n opacity: 0,\n transform: 'rotateX(90deg)',\n offset: 1\n }\n];\n\nexport const flipInY: Keyframe[] = [\n {\n opacity: 0,\n transform: 'rotateY(90deg)',\n offset: 0\n },\n {\n opacity: 1,\n transform: 'rotateY(0)',\n offset: 1\n }\n];\n\nexport const flipOutY: Keyframe[] = [\n {\n opacity: 1,\n transform: 'rotateY(0)',\n offset: 0\n },\n {\n opacity: 0,\n transform: 'rotateY(90deg)',\n offset: 1\n }\n];\n\nexport const rotateIn: Keyframe[] = [\n {\n opacity: 0,\n transform: 'rotate(-180deg) scale(0.5)',\n offset: 0\n },\n {\n opacity: 1,\n transform: 'rotate(0) scale(1)',\n offset: 1\n }\n];\n\nexport const rotateOut: Keyframe[] = [\n {\n opacity: 1,\n transform: 'rotate(0) scale(1)',\n offset: 0\n },\n {\n opacity: 0,\n transform: 'rotate(180deg) scale(0.5)',\n offset: 1\n }\n];\n\nexport const bounceIn: Keyframe[] = [\n {\n opacity: 0,\n transform: 'scale(0.3)',\n offset: 0\n },\n {\n opacity: 1,\n transform: 'scale(1.05)',\n offset: 0.6\n },\n {\n opacity: 1,\n transform: 'scale(0.95)',\n offset: 0.8\n },\n {\n opacity: 1,\n transform: 'scale(1)',\n offset: 1\n }\n];\n\nexport const bounceOut: Keyframe[] = [\n {\n opacity: 1,\n transform: 'scale(1)',\n offset: 0\n },\n {\n opacity: 1,\n transform: 'scale(0.95)',\n offset: 0.2\n },\n {\n opacity: 1,\n transform: 'scale(1.05)',\n offset: 0.4\n },\n {\n opacity: 0,\n transform: 'scale(0.3)',\n offset: 1\n }\n];\n\nexport const blurIn: Keyframe[] = [\n {\n opacity: 0,\n transform: 'scale(1.2)',\n filter: 'blur(20px)',\n offset: 0\n },\n {\n opacity: 1,\n transform: 'scale(1)',\n filter: 'blur(0px)',\n offset: 1\n }\n];\n\nexport const blurOut: Keyframe[] = [\n {\n opacity: 1,\n transform: 'scale(1)',\n filter: 'blur(0px)',\n offset: 0\n },\n {\n opacity: 0,\n transform: 'scale(0.8)',\n filter: 'blur(20px)',\n offset: 1\n }\n];\n\nexport const perspectiveIn: Keyframe[] = [\n {\n opacity: 0,\n transform: 'perspective(1000px) rotateY(90deg)',\n offset: 0\n },\n {\n opacity: 1,\n transform: 'perspective(1000px) rotateY(0deg)',\n offset: 1\n }\n];\n\nexport const perspectiveOut: Keyframe[] = [\n {\n opacity: 1,\n transform: 'perspective(1000px) rotateY(0deg)',\n offset: 0\n },\n {\n opacity: 0,\n transform: 'perspective(1000px) rotateY(-90deg)',\n offset: 1\n }\n];\n\nexport const skewIn: Keyframe[] = [\n {\n opacity: 0,\n transform: 'translateX(-100%) skewX(30deg)',\n offset: 0\n },\n {\n opacity: 1,\n transform: 'translateX(0) skewX(0deg)',\n offset: 1\n }\n];\n\nexport const skewOut: Keyframe[] = [\n {\n opacity: 1,\n transform: 'translateX(0) skewX(0deg)',\n offset: 0\n },\n {\n opacity: 0,\n transform: 'translateX(100%) skewX(-30deg)',\n offset: 1\n }\n];\n\nexport const revealCircleIn: Keyframe[] = [\n {\n clipPath: 'circle(0% at 50% 50%)',\n offset: 0\n },\n {\n clipPath: 'circle(150% at 50% 50%)',\n offset: 1\n }\n];\n\nexport const revealCircleOut: Keyframe[] = [\n {\n clipPath: 'circle(150% at 50% 50%)',\n offset: 0\n },\n {\n clipPath: 'circle(0% at 50% 50%)',\n offset: 1\n }\n];\n\nexport const parallaxIn: Keyframe[] = [\n {\n opacity: 0,\n transform: 'translateZ(-300px) scale(2)',\n offset: 0\n },\n {\n opacity: 1,\n transform: 'translateZ(0) scale(1)',\n offset: 1\n }\n];\n\nexport const parallaxOut: Keyframe[] = [\n {\n opacity: 1,\n transform: 'translateZ(0) scale(1)',\n offset: 0\n },\n {\n opacity: 0,\n transform: 'translateZ(-300px) scale(0.8)',\n offset: 1\n }\n];\n\nexport const tiltIn: Keyframe[] = [\n {\n opacity: 0,\n transform: 'rotate(-15deg) translateY(50%)',\n offset: 0\n },\n {\n opacity: 1,\n transform: 'rotate(0) translateY(0)',\n offset: 1\n }\n];\n\nexport const tiltOut: Keyframe[] = [\n {\n opacity: 1,\n transform: 'rotate(0) translateY(0)',\n offset: 0\n },\n {\n opacity: 0,\n transform: 'rotate(15deg) translateY(-50%)',\n offset: 1\n }\n];\n\nexport const glitchIn: Keyframe[] = [\n {\n opacity: 0,\n transform: 'translate(0, 0)',\n offset: 0\n },\n {\n opacity: 1,\n transform: 'translate(-2px, 2px)',\n offset: 0.2\n },\n {\n opacity: 1,\n transform: 'translate(2px, -2px)',\n offset: 0.4\n },\n {\n opacity: 1,\n transform: 'translate(-1px, 1px)',\n offset: 0.6\n },\n {\n opacity: 1,\n transform: 'translate(1px, -1px)',\n offset: 0.8\n },\n {\n opacity: 1,\n transform: 'translate(0, 0)',\n offset: 1\n }\n];\n\nexport const curtainIn: Keyframe[] = [\n {\n clipPath: 'inset(0 50% 0 50%)',\n offset: 0\n },\n {\n clipPath: 'inset(0 0% 0 0%)',\n offset: 1\n }\n];\n\nexport const curtainOut: Keyframe[] = [\n {\n clipPath: 'inset(0 0% 0 0%)',\n offset: 0\n },\n {\n clipPath: 'inset(0 50% 0 50%)',\n offset: 1\n }\n];\n\nexport const depthFlipIn: Keyframe[] = [\n {\n opacity: 0,\n transform: 'perspective(1200px) rotateX(-90deg) translateZ(-200px)',\n offset: 0\n },\n {\n opacity: 1,\n transform: 'perspective(1200px) rotateX(0deg) translateZ(0)',\n offset: 1\n }\n];\n\nexport const depthFlipOut: Keyframe[] = [\n {\n opacity: 1,\n transform: 'perspective(1200px) rotateX(0deg) translateZ(0)',\n offset: 0\n },\n {\n opacity: 0,\n transform: 'perspective(1200px) rotateX(90deg) translateZ(-200px)',\n offset: 1\n }\n];\n\nexport const distortWarpIn: Keyframe[] = [\n {\n opacity: 0,\n transform: 'skewX(20deg) scale(0.9)',\n filter: 'blur(10px)',\n offset: 0\n },\n {\n opacity: 1,\n transform: 'skewX(0deg) scale(1)',\n filter: 'blur(0px)',\n offset: 1\n }\n];\n\nexport const distortWarpOut: Keyframe[] = [\n {\n opacity: 1,\n transform: 'skewX(0deg) scale(1)',\n filter: 'blur(0px)',\n offset: 0\n },\n {\n opacity: 0,\n transform: 'skewX(-20deg) scale(0.9)',\n filter: 'blur(10px)',\n offset: 1\n }\n];\n\nexport const coverFlipIn: Keyframe[] = [\n {\n opacity: 0,\n transform: 'perspective(800px) rotateY(-12deg) translateX(-8px)',\n offset: 0\n },\n {\n opacity: 1,\n transform: 'perspective(800px) rotateY(0deg) translateX(0)',\n offset: 1\n }\n];\n\nexport const coverFlipOut: Keyframe[] = [\n {\n opacity: 1,\n transform: 'perspective(800px) rotateY(0deg) translateX(0)',\n offset: 0\n },\n {\n opacity: 0,\n transform: 'perspective(800px) rotateY(12deg) translateX(8px)',\n offset: 1\n }\n];\n","import { Directive, ElementRef, inject, OnInit, RendererFactory2 } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\n\n/**\n * Exclude an element from view transitions\n */\n@Directive({\n standalone: true,\n selector: '[noTransition]'\n})\nexport class NoTransitionDirective implements OnInit {\n private readonly _el = inject(ElementRef);\n private readonly _rendererFactory = inject(RendererFactory2);\n private readonly _renderer = this._rendererFactory.createRenderer(null, null);\n private readonly _document = inject(DOCUMENT);\n\n ngOnInit(): void {\n const transitionName = 'ngx-easy-view-transitions-disabled';\n\n this._el.nativeElement.style.viewTransitionName = transitionName;\n\n const elementId = 'view-transition-none';\n\n const styleElement = this._document.getElementById(elementId) || this._document.createElement('style');\n\n styleElement.innerHTML = `\n ::view-transition-group(${transitionName}),\n ::view-transition-old(${transitionName}),\n ::view-transition-new(${transitionName}) {\n animation-duration: 0s !important;\n }\n `;\n styleElement.id = elementId;\n\n if (!this._document.getElementById(elementId)) this._renderer.appendChild(this._document.head, styleElement);\n }\n}\n","/**@internal*/\nexport function hashCode(str: string): number {\n let hash = 0;\n for (let i = 0, len = str.length; i < len; i++) {\n const code = str.charCodeAt(i);\n hash = (hash << 5) - hash + code;\n hash |= 0; // Convert to 32bit integer\n }\n return hash;\n}\n\n/**@internal*/\nexport function isValidCustomIdentValue(value: string): boolean {\n const regex =\n /^(?:[A-Za-z_]|-(?!\\d)|\\\\[0-9A-Fa-f]{1,6}|\\\\.)[A-Za-z0-9_-]*(?:\\\\[0-9A-Fa-f]{1,6}|\\\\.)*[A-Za-z0-9_-]*$/u;\n\n return regex.test(value);\n}\n\n/**@internal*/\nexport function isValidViewTransitionName(value: string): boolean {\n return (\n isValidCustomIdentValue(value) &&\n value !== 'unset' &&\n value !== 'initial' &&\n value !== 'inherit' &&\n value !== 'none'\n );\n}\n","import { inject, Injectable, RendererFactory2 } from '@angular/core';\nimport { hashCode } from './utils';\nimport { DOCUMENT } from '@angular/common';\n\n/**@internal*/\n@Injectable({ providedIn: 'root' })\nexport class KeyframesService {\n private readonly _rendererFactory = inject(RendererFactory2);\n private readonly _renderer = this._rendererFactory.createRenderer(null, null);\n private readonly _document = inject(DOCUMENT);\n\n private readonly _insertedKeyframes = new Set<string>();\n\n setKeyframes(keyframes: Keyframe[]) {\n const keyframesAsString = JSON.stringify(keyframes);\n const hashedKeyframes = hashCode(keyframesAsString);\n const keyframesName = `keyframes-${hashedKeyframes}`;\n\n if (this._insertedKeyframes.has(keyframesName)) return keyframesName;\n\n const styleElement = this._renderer.createElement('style') as HTMLStyleElement;\n\n this._renderer.setAttribute(styleElement, 'id', keyframesName);\n\n const cssKeyframeRule = this.generateCssKeyframeRule(keyframesName, keyframes);\n this._renderer.setProperty(styleElement, 'innerHTML', cssKeyframeRule);\n\n this._renderer.appendChild(this._document.head, styleElement);\n\n this._insertedKeyframes.add(keyframesName);\n\n return keyframesName;\n }\n\n private generateCssKeyframeRule(animationName: string, keyframes: Keyframe[]): string {\n const cssKeyframes: string[] = [];\n\n keyframes.forEach((keyframe, index) => {\n const offset = keyframe.offset ? `${keyframe.offset * 100}%` : '';\n\n const keyframeDeclaration = `${\n index === 0 ? 'from' : offset ? offset : index === keyframes.length - 1 ? 'to' : ''\n }`;\n\n const cssProperties = Object.entries(keyframe)\n .filter(([property]) => property !== 'offset')\n .map(([property, value]) => `${property}: ${value};`)\n .join('');\n\n cssKeyframes.push(`${keyframeDeclaration} { ${cssProperties} }`);\n });\n\n return `@keyframes ${animationName} { ${cssKeyframes.join(' ')} }`;\n }\n}\n","import { inject, Injectable, RendererFactory2 } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\nimport { TransitionBase } from './transition-base';\n\n/**@internal*/\n@Injectable({ providedIn: 'root' })\nexport class ViewTransitionsService {\n private readonly _rendererFactory = inject(RendererFactory2);\n private readonly _renderer = this._rendererFactory.createRenderer(null, null);\n private readonly _document = inject(DOCUMENT);\n\n setTransition(transitionName: string, animation: TransitionAnimation, direction: ViewTransitionDirection): void {\n const elementId = `view-transition-${direction}-${transitionName}`;\n\n if (this._document.getElementById(elementId)) return;\n\n const styleElement = this._document.getElementById(elementId) || this._document.createElement('style');\n\n styleElement.innerHTML = `\n ::view-transition-${direction === 'in' ? 'new' : 'old'}(${transitionName}){\n animation-name: ${animation.name};\n animation-duration: ${animation.duration}ms;\n animation-delay: ${animation.delay ?? 0}ms;\n animation-direction: ${animation.reverse ? 'reverse' : 'normal'};\n animation-fill-mode: ${animation.fillMode ?? 'none'};\n animation-timing-function: ${animation.timingFunction ?? 'ease'};\n }\n `;\n styleElement.id = elementId;\n\n this._renderer.appendChild(this._document.head, styleElement);\n }\n}\n\n/**@internal*/\nexport type TransitionAnimation = TransitionBase & {\n name: string;\n};\n\n/**@internal*/\nexport type ViewTransitionDirection = 'in' | 'out';\n","import { Directive, effect, ElementRef, inject, input, Renderer2 } from '@angular/core';\nimport { KeyframesTransition } from './keyframes-transition';\nimport { CssKeyframesTransition } from './css-keyframes-transition';\nimport { KeyframesService } from './keyframes.service';\nimport { ViewTransitionDirection, ViewTransitionsService } from './view-transitions.service';\nimport { isValidViewTransitionName } from './utils';\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 _renderer = inject(Renderer2);\n private readonly _keyframesService = inject(KeyframesService);\n private readonly _viewTransitionsService = inject(ViewTransitionsService);\n\n constructor() {\n //transitionName\n effect(() => {\n const transitionName = this.transitionName();\n\n this._renderer.setStyle(this._el.nativeElement, 'view-transition-name', transitionName);\n\n queueMicrotask(() => {\n if (!isValidViewTransitionName(transitionName))\n console.warn(\n `The transition name \"${transitionName}\" is potentially invalid. Please use a valid CSS <custom-ident> value and avoid forbidden values like \"unset\", \"initial\", \"inherit\" and \"none\".`\n );\n });\n });\n\n //inAnimation\n effect(async () => {\n const animation = this.inAnimation();\n\n if (!animation) return;\n\n this.setTransition(this.transitionName(), animation, 'in');\n });\n\n //outAnimation\n effect(async () => {\n const animation = this.outAnimation();\n\n if (!animation) return;\n\n this.setTransition(this.transitionName(), animation, 'out');\n });\n }\n\n private setTransition(\n transitionName: string,\n transition: KeyframesTransition | CssKeyframesTransition,\n direction: ViewTransitionDirection\n ) {\n let animationName: string | null = null;\n\n if ('keyframesName' in transition) {\n animationName = (transition as CssKeyframesTransition).keyframesName;\n }\n\n if ('keyframes' in transition) {\n animationName = this._keyframesService.setKeyframes((transition as KeyframesTransition).keyframes);\n }\n\n if (!animationName) return;\n\n this._viewTransitionsService.setTransition(\n transitionName,\n {\n name: animationName,\n ...transition\n },\n direction\n );\n }\n}\n","import { EnvironmentProviders, inject, provideAppInitializer } from '@angular/core';\nimport { KeyframesTransition } from './keyframes-transition';\nimport { CssKeyframesTransition } from './css-keyframes-transition';\nimport { ViewTransitionDirection, ViewTransitionsService } from './view-transitions.service';\nimport { KeyframesService } from './keyframes.service';\n\n/**\n * Override the default View Transition API cross-fade animation\n * @param inAnimation\n * @param outAnimation\n */\nexport function provideDefaultViewTransition(\n inAnimation: KeyframesTransition | CssKeyframesTransition,\n outAnimation: KeyframesTransition | CssKeyframesTransition\n): EnvironmentProviders {\n const factory = (viewTransitionsService: ViewTransitionsService, keyframesService: KeyframesService) => {\n const setTransition = (\n transitionName: string,\n transition: KeyframesTransition | CssKeyframesTransition,\n direction: ViewTransitionDirection\n ) => {\n let animationName: string | null = null;\n\n if ('keyframesName' in transition) {\n animationName = (transition as CssKeyframesTransition).keyframesName;\n }\n\n if ('keyframes' in transition) {\n animationName = keyframesService.setKeyframes((transition as KeyframesTransition).keyframes);\n }\n\n if (!animationName) return;\n\n viewTransitionsService.setTransition(\n transitionName,\n {\n name: animationName,\n ...transition\n },\n direction\n );\n };\n\n return () => {\n if (inAnimation) {\n setTransition('root', inAnimation, 'in');\n }\n\n if (outAnimation) {\n setTransition('root', outAnimation, 'out');\n }\n };\n };\n\n return provideAppInitializer(() => {\n const initializerFn = factory(inject(ViewTransitionsService), inject(KeyframesService));\n return initializerFn();\n });\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;AAAO,MAAM,IAAI,GAAe,EAAE;AAE3B,MAAM,OAAO,GAAe;AACjC,IAAA;AACE,QAAA,OAAO,EAAE,CAAC;AACV,QAAA,SAAS,EAAE,YAAY;AACvB,QAAA,MAAM,EAAE;AACT,KAAA;AACD,IAAA;AACE,QAAA,OAAO,EAAE,CAAC;AACV,QAAA,SAAS,EAAE,UAAU;AACrB,QAAA,MAAM,EAAE;AACT;CACF;AAEM,MAAM,QAAQ,GAAe;AAClC,IAAA;AACE,QAAA,OAAO,EAAE,CAAC;AACV,QAAA,SAAS,EAAE,UAAU;AACrB,QAAA,MAAM,EAAE;AACT,KAAA;AACD,IAAA;AACE,QAAA,OAAO,EAAE,CAAC;AACV,QAAA,SAAS,EAAE,YAAY;AACvB,QAAA,MAAM,EAAE;AACT;CACF;AAEM,MAAM,MAAM,GAAe;AAChC,IAAA;AACE,QAAA,OAAO,EAAE,CAAC;AACV,QAAA,MAAM,EAAE;AACT,KAAA;AACD,IAAA;AACE,QAAA,OAAO,EAAE,CAAC;AACV,QAAA,MAAM,EAAE;AACT;CACF;AAEM,MAAM,OAAO,GAAe;AACjC,IAAA;AACE,QAAA,OAAO,EAAE,CAAC;AACV,QAAA,MAAM,EAAE;AACT,KAAA;AACD,IAAA;AACE,QAAA,OAAO,EAAE,CAAC;AACV,QAAA,MAAM,EAAE;AACT;CACF;AAEM,MAAM,QAAQ,GAAe;AAClC,IAAA;AACE,QAAA,OAAO,EAAE,CAAC;AACV,QAAA,SAAS,EAAE,oBAAoB;AAC/B,QAAA,MAAM,EAAE;AACT,KAAA;AACD,IAAA;AACE,QAAA,OAAO,EAAE,CAAC;AACV,QAAA,SAAS,EAAE,iBAAiB;AAC5B,QAAA,MAAM,EAAE;AACT;CACF;AAEM,MAAM,SAAS,GAAe;AACnC,IAAA;AACE,QAAA,OAAO,EAAE,CAAC;AACV,QAAA,MAAM,EAAE;AACT,KAAA;AACD,IAAA;AACE,QAAA,OAAO,EAAE,CAAC;AACV,QAAA,SAAS,EAAE,qBAAqB;AAChC,QAAA,MAAM,EAAE;AACT;CACF;AAEM,MAAM,UAAU,GAAe;AACpC,IAAA;AACE,QAAA,OAAO,EAAE,CAAC;AACV,QAAA,SAAS,EAAE,qBAAqB;AAChC,QAAA,MAAM,EAAE;AACT,KAAA;AACD,IAAA;AACE,QAAA,OAAO,EAAE,CAAC;AACV,QAAA,SAAS,EAAE,iBAAiB;AAC5B,QAAA,MAAM,EAAE;AACT;CACF;AAEM,MAAM,WAAW,GAAe;AACrC,IAAA;AACE,QAAA,OAAO,EAAE,CAAC;AACV,QAAA,MAAM,EAAE;AACT,KAAA;AACD,IAAA;AACE,QAAA,OAAO,EAAE,CAAC;AACV,QAAA,SAAS,EAAE,oBAAoB;AAC/B,QAAA,MAAM,EAAE;AACT;CACF;AAEM,MAAM,WAAW,GAAe;AACrC,IAAA;AACE,QAAA,OAAO,EAAE,CAAC;AACV,QAAA,SAAS,EAAE,oBAAoB;AAC/B,QAAA,MAAM,EAAE;AACT,KAAA;AACD,IAAA;AACE,QAAA,OAAO,EAAE,CAAC;AACV,QAAA,SAAS,EAAE,iBAAiB;AAC5B,QAAA,MAAM,EAAE;AACT;CACF;AAEM,MAAM,YAAY,GAAe;AACtC,IAAA;AACE,QAAA,OAAO,EAAE,CAAC;AACV,QAAA,MAAM,EAAE;AACT,KAAA;AACD,IAAA;AACE,QAAA,OAAO,EAAE,CAAC;AACV,QAAA,SAAS,EAAE,oBAAoB;AAC/B,QAAA,MAAM,EAAE;AACT;CACF;AAEM,MAAM,UAAU,GAAe;AACpC,IAAA;AACE,QAAA,OAAO,EAAE,CAAC;AACV,QAAA,SAAS,EAAE,qBAAqB;AAChC,QAAA,MAAM,EAAE;AACT,KAAA;AACD,IAAA;AACE,QAAA,OAAO,EAAE,CAAC;AACV,QAAA,SAAS,EAAE,iBAAiB;AAC5B,QAAA,MAAM,EAAE;AACT;CACF;AAEM,MAAM,WAAW,GAAe;AACrC,IAAA;AACE,QAAA,OAAO,EAAE,CAAC;AACV,QAAA,MAAM,EAAE;AACT,KAAA;AACD,IAAA;AACE,QAAA,OAAO,EAAE,CAAC;AACV,QAAA,SAAS,EAAE,qBAAqB;AAChC,QAAA,MAAM,EAAE;AACT;CACF;AAEM,MAAM,OAAO,GAAe;AACjC,IAAA;AACE,QAAA,OAAO,EAAE,CAAC;AACV,QAAA,SAAS,EAAE,gBAAgB;AAC3B,QAAA,MAAM,EAAE;AACT,KAAA;AACD,IAAA;AACE,QAAA,OAAO,EAAE,CAAC;AACV,QAAA,SAAS,EAAE,YAAY;AACvB,QAAA,MAAM,EAAE;AACT;CACF;AAEM,MAAM,QAAQ,GAAe;AAClC,IAAA;AACE,QAAA,OAAO,EAAE,CAAC;AACV,QAAA,SAAS,EAAE,YAAY;AACvB,QAAA,MAAM,EAAE;AACT,KAAA;AACD,IAAA;AACE,QAAA,OAAO,EAAE,CAAC;AACV,QAAA,SAAS,EAAE,gBAAgB;AAC3B,QAAA,MAAM,EAAE;AACT;CACF;AAEM,MAAM,OAAO,GAAe;AACjC,IAAA;AACE,QAAA,OAAO,EAAE,CAAC;AACV,QAAA,SAAS,EAAE,gBAAgB;AAC3B,QAAA,MAAM,EAAE;AACT,KAAA;AACD,IAAA;AACE,QAAA,OAAO,EAAE,CAAC;AACV,QAAA,SAAS,EAAE,YAAY;AACvB,QAAA,MAAM,EAAE;AACT;CACF;AAEM,MAAM,QAAQ,GAAe;AAClC,IAAA;AACE,QAAA,OAAO,EAAE,CAAC;AACV,QAAA,SAAS,EAAE,YAAY;AACvB,QAAA,MAAM,EAAE;AACT,KAAA;AACD,IAAA;AACE,QAAA,OAAO,EAAE,CAAC;AACV,QAAA,SAAS,EAAE,gBAAgB;AAC3B,QAAA,MAAM,EAAE;AACT;CACF;AAEM,MAAM,QAAQ,GAAe;AAClC,IAAA;AACE,QAAA,OAAO,EAAE,CAAC;AACV,QAAA,SAAS,EAAE,4BAA4B;AACvC,QAAA,MAAM,EAAE;AACT,KAAA;AACD,IAAA;AACE,QAAA,OAAO,EAAE,CAAC;AACV,QAAA,SAAS,EAAE,oBAAoB;AAC/B,QAAA,MAAM,EAAE;AACT;CACF;AAEM,MAAM,SAAS,GAAe;AACnC,IAAA;AACE,QAAA,OAAO,EAAE,CAAC;AACV,QAAA,SAAS,EAAE,oBAAoB;AAC/B,QAAA,MAAM,EAAE;AACT,KAAA;AACD,IAAA;AACE,QAAA,OAAO,EAAE,CAAC;AACV,QAAA,SAAS,EAAE,2BAA2B;AACtC,QAAA,MAAM,EAAE;AACT;CACF;AAEM,MAAM,QAAQ,GAAe;AAClC,IAAA;AACE,QAAA,OAAO,EAAE,CAAC;AACV,QAAA,SAAS,EAAE,YAAY;AACvB,QAAA,MAAM,EAAE;AACT,KAAA;AACD,IAAA;AACE,QAAA,OAAO,EAAE,CAAC;AACV,QAAA,SAAS,EAAE,aAAa;AACxB,QAAA,MAAM,EAAE;AACT,KAAA;AACD,IAAA;AACE,QAAA,OAAO,EAAE,CAAC;AACV,QAAA,SAAS,EAAE,aAAa;AACxB,QAAA,MAAM,EAAE;AACT,KAAA;AACD,IAAA;AACE,QAAA,OAAO,EAAE,CAAC;AACV,QAAA,SAAS,EAAE,UAAU;AACrB,QAAA,MAAM,EAAE;AACT;CACF;AAEM,MAAM,SAAS,GAAe;AACnC,IAAA;AACE,QAAA,OAAO,EAAE,CAAC;AACV,QAAA,SAAS,EAAE,UAAU;AACrB,QAAA,MAAM,EAAE;AACT,KAAA;AACD,IAAA;AACE,QAAA,OAAO,EAAE,CAAC;AACV,QAAA,SAAS,EAAE,aAAa;AACxB,QAAA,MAAM,EAAE;AACT,KAAA;AACD,IAAA;AACE,QAAA,OAAO,EAAE,CAAC;AACV,QAAA,SAAS,EAAE,aAAa;AACxB,QAAA,MAAM,EAAE;AACT,KAAA;AACD,IAAA;AACE,QAAA,OAAO,EAAE,CAAC;AACV,QAAA,SAAS,EAAE,YAAY;AACvB,QAAA,MAAM,EAAE;AACT;CACF;AAEM,MAAM,MAAM,GAAe;AAChC,IAAA;AACE,QAAA,OAAO,EAAE,CAAC;AACV,QAAA,SAAS,EAAE,YAAY;AACvB,QAAA,MAAM,EAAE,YAAY;AACpB,QAAA,MAAM,EAAE;AACT,KAAA;AACD,IAAA;AACE,QAAA,OAAO,EAAE,CAAC;AACV,QAAA,SAAS,EAAE,UAAU;AACrB,QAAA,MAAM,EAAE,WAAW;AACnB,QAAA,MAAM,EAAE;AACT;CACF;AAEM,MAAM,OAAO,GAAe;AACjC,IAAA;AACE,QAAA,OAAO,EAAE,CAAC;AACV,QAAA,SAAS,EAAE,UAAU;AACrB,QAAA,MAAM,EAAE,WAAW;AACnB,QAAA,MAAM,EAAE;AACT,KAAA;AACD,IAAA;AACE,QAAA,OAAO,EAAE,CAAC;AACV,QAAA,SAAS,EAAE,YAAY;AACvB,QAAA,MAAM,EAAE,YAAY;AACpB,QAAA,MAAM,EAAE;AACT;CACF;AAEM,MAAM,aAAa,GAAe;AACvC,IAAA;AACE,QAAA,OAAO,EAAE,CAAC;AACV,QAAA,SAAS,EAAE,oCAAoC;AAC/C,QAAA,MAAM,EAAE;AACT,KAAA;AACD,IAAA;AACE,QAAA,OAAO,EAAE,CAAC;AACV,QAAA,SAAS,EAAE,mCAAmC;AAC9C,QAAA,MAAM,EAAE;AACT;CACF;AAEM,MAAM,cAAc,GAAe;AACxC,IAAA;AACE,QAAA,OAAO,EAAE,CAAC;AACV,QAAA,SAAS,EAAE,mCAAmC;AAC9C,QAAA,MAAM,EAAE;AACT,KAAA;AACD,IAAA;AACE,QAAA,OAAO,EAAE,CAAC;AACV,QAAA,SAAS,EAAE,qCAAqC;AAChD,QAAA,MAAM,EAAE;AACT;CACF;AAEM,MAAM,MAAM,GAAe;AAChC,IAAA;AACE,QAAA,OAAO,EAAE,CAAC;AACV,QAAA,SAAS,EAAE,gCAAgC;AAC3C,QAAA,MAAM,EAAE;AACT,KAAA;AACD,IAAA;AACE,QAAA,OAAO,EAAE,CAAC;AACV,QAAA,SAAS,EAAE,2BAA2B;AACtC,QAAA,MAAM,EAAE;AACT;CACF;AAEM,MAAM,OAAO,GAAe;AACjC,IAAA;AACE,QAAA,OAAO,EAAE,CAAC;AACV,QAAA,SAAS,EAAE,2BAA2B;AACtC,QAAA,MAAM,EAAE;AACT,KAAA;AACD,IAAA;AACE,QAAA,OAAO,EAAE,CAAC;AACV,QAAA,SAAS,EAAE,gCAAgC;AAC3C,QAAA,MAAM,EAAE;AACT;CACF;AAEM,MAAM,cAAc,GAAe;AACxC,IAAA;AACE,QAAA,QAAQ,EAAE,uBAAuB;AACjC,QAAA,MAAM,EAAE;AACT,KAAA;AACD,IAAA;AACE,QAAA,QAAQ,EAAE,yBAAyB;AACnC,QAAA,MAAM,EAAE;AACT;CACF;AAEM,MAAM,eAAe,GAAe;AACzC,IAAA;AACE,QAAA,QAAQ,EAAE,yBAAyB;AACnC,QAAA,MAAM,EAAE;AACT,KAAA;AACD,IAAA;AACE,QAAA,QAAQ,EAAE,uBAAuB;AACjC,QAAA,MAAM,EAAE;AACT;CACF;AAEM,MAAM,UAAU,GAAe;AACpC,IAAA;AACE,QAAA,OAAO,EAAE,CAAC;AACV,QAAA,SAAS,EAAE,6BAA6B;AACxC,QAAA,MAAM,EAAE;AACT,KAAA;AACD,IAAA;AACE,QAAA,OAAO,EAAE,CAAC;AACV,QAAA,SAAS,EAAE,wBAAwB;AACnC,QAAA,MAAM,EAAE;AACT;CACF;AAEM,MAAM,WAAW,GAAe;AACrC,IAAA;AACE,QAAA,OAAO,EAAE,CAAC;AACV,QAAA,SAAS,EAAE,wBAAwB;AACnC,QAAA,MAAM,EAAE;AACT,KAAA;AACD,IAAA;AACE,QAAA,OAAO,EAAE,CAAC;AACV,QAAA,SAAS,EAAE,+BAA+B;AAC1C,QAAA,MAAM,EAAE;AACT;CACF;AAEM,MAAM,MAAM,GAAe;AAChC,IAAA;AACE,QAAA,OAAO,EAAE,CAAC;AACV,QAAA,SAAS,EAAE,gCAAgC;AAC3C,QAAA,MAAM,EAAE;AACT,KAAA;AACD,IAAA;AACE,QAAA,OAAO,EAAE,CAAC;AACV,QAAA,SAAS,EAAE,yBAAyB;AACpC,QAAA,MAAM,EAAE;AACT;CACF;AAEM,MAAM,OAAO,GAAe;AACjC,IAAA;AACE,QAAA,OAAO,EAAE,CAAC;AACV,QAAA,SAAS,EAAE,yBAAyB;AACpC,QAAA,MAAM,EAAE;AACT,KAAA;AACD,IAAA;AACE,QAAA,OAAO,EAAE,CAAC;AACV,QAAA,SAAS,EAAE,gCAAgC;AAC3C,QAAA,MAAM,EAAE;AACT;CACF;AAEM,MAAM,QAAQ,GAAe;AAClC,IAAA;AACE,QAAA,OAAO,EAAE,CAAC;AACV,QAAA,SAAS,EAAE,iBAAiB;AAC5B,QAAA,MAAM,EAAE;AACT,KAAA;AACD,IAAA;AACE,QAAA,OAAO,EAAE,CAAC;AACV,QAAA,SAAS,EAAE,sBAAsB;AACjC,QAAA,MAAM,EAAE;AACT,KAAA;AACD,IAAA;AACE,QAAA,OAAO,EAAE,CAAC;AACV,QAAA,SAAS,EAAE,sBAAsB;AACjC,QAAA,MAAM,EAAE;AACT,KAAA;AACD,IAAA;AACE,QAAA,OAAO,EAAE,CAAC;AACV,QAAA,SAAS,EAAE,sBAAsB;AACjC,QAAA,MAAM,EAAE;AACT,KAAA;AACD,IAAA;AACE,QAAA,OAAO,EAAE,CAAC;AACV,QAAA,SAAS,EAAE,sBAAsB;AACjC,QAAA,MAAM,EAAE;AACT,KAAA;AACD,IAAA;AACE,QAAA,OAAO,EAAE,CAAC;AACV,QAAA,SAAS,EAAE,iBAAiB;AAC5B,QAAA,MAAM,EAAE;AACT;CACF;AAEM,MAAM,SAAS,GAAe;AACnC,IAAA;AACE,QAAA,QAAQ,EAAE,oBAAoB;AAC9B,QAAA,MAAM,EAAE;AACT,KAAA;AACD,IAAA;AACE,QAAA,QAAQ,EAAE,kBAAkB;AAC5B,QAAA,MAAM,EAAE;AACT;CACF;AAEM,MAAM,UAAU,GAAe;AACpC,IAAA;AACE,QAAA,QAAQ,EAAE,kBAAkB;AAC5B,QAAA,MAAM,EAAE;AACT,KAAA;AACD,IAAA;AACE,QAAA,QAAQ,EAAE,oBAAoB;AAC9B,QAAA,MAAM,EAAE;AACT;CACF;AAEM,MAAM,WAAW,GAAe;AACrC,IAAA;AACE,QAAA,OAAO,EAAE,CAAC;AACV,QAAA,SAAS,EAAE,wDAAwD;AACnE,QAAA,MAAM,EAAE;AACT,KAAA;AACD,IAAA;AACE,QAAA,OAAO,EAAE,CAAC;AACV,QAAA,SAAS,EAAE,iDAAiD;AAC5D,QAAA,MAAM,EAAE;AACT;CACF;AAEM,MAAM,YAAY,GAAe;AACtC,IAAA;AACE,QAAA,OAAO,EAAE,CAAC;AACV,QAAA,SAAS,EAAE,iDAAiD;AAC5D,QAAA,MAAM,EAAE;AACT,KAAA;AACD,IAAA;AACE,QAAA,OAAO,EAAE,CAAC;AACV,QAAA,SAAS,EAAE,uDAAuD;AAClE,QAAA,MAAM,EAAE;AACT;CACF;AAEM,MAAM,aAAa,GAAe;AACvC,IAAA;AACE,QAAA,OAAO,EAAE,CAAC;AACV,QAAA,SAAS,EAAE,yBAAyB;AACpC,QAAA,MAAM,EAAE,YAAY;AACpB,QAAA,MAAM,EAAE;AACT,KAAA;AACD,IAAA;AACE,QAAA,OAAO,EAAE,CAAC;AACV,QAAA,SAAS,EAAE,sBAAsB;AACjC,QAAA,MAAM,EAAE,WAAW;AACnB,QAAA,MAAM,EAAE;AACT;CACF;AAEM,MAAM,cAAc,GAAe;AACxC,IAAA;AACE,QAAA,OAAO,EAAE,CAAC;AACV,QAAA,SAAS,EAAE,sBAAsB;AACjC,QAAA,MAAM,EAAE,WAAW;AACnB,QAAA,MAAM,EAAE;AACT,KAAA;AACD,IAAA;AACE,QAAA,OAAO,EAAE,CAAC;AACV,QAAA,SAAS,EAAE,0BAA0B;AACrC,QAAA,MAAM,EAAE,YAAY;AACpB,QAAA,MAAM,EAAE;AACT;CACF;AAEM,MAAM,WAAW,GAAe;AACrC,IAAA;AACE,QAAA,OAAO,EAAE,CAAC;AACV,QAAA,SAAS,EAAE,qDAAqD;AAChE,QAAA,MAAM,EAAE;AACT,KAAA;AACD,IAAA;AACE,QAAA,OAAO,EAAE,CAAC;AACV,QAAA,SAAS,EAAE,gDAAgD;AAC3D,QAAA,MAAM,EAAE;AACT;CACF;AAEM,MAAM,YAAY,GAAe;AACtC,IAAA;AACE,QAAA,OAAO,EAAE,CAAC;AACV,QAAA,SAAS,EAAE,gDAAgD;AAC3D,QAAA,MAAM,EAAE;AACT,KAAA;AACD,IAAA;AACE,QAAA,OAAO,EAAE,CAAC;AACV,QAAA,SAAS,EAAE,mDAAmD;AAC9D,QAAA,MAAM,EAAE;AACT;CACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACljBD;;AAEG;MAKU,qBAAqB,CAAA;AAJlC,IAAA,WAAA,GAAA;AAKmB,QAAA,IAAA,CAAA,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC;AACxB,QAAA,IAAA,CAAA,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC;QAC3C,IAAS,CAAA,SAAA,GAAG,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC;AAC5D,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC;AAsB9C;IApBC,QAAQ,GAAA;QACN,MAAM,cAAc,GAAG,oCAAoC;QAE3D,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,kBAAkB,GAAG,cAAc;QAEhE,MAAM,SAAS,GAAG,sBAAsB;AAExC,QAAA,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,OAAO,CAAC;QAEtG,YAAY,CAAC,SAAS,GAAG;8BACC,cAAc,CAAA;4BAChB,cAAc,CAAA;4BACd,cAAc,CAAA;;;KAGrC;AACD,QAAA,YAAY,CAAC,EAAE,GAAG,SAAS;QAE3B,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,SAAS,CAAC;AAAE,YAAA,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,YAAY,CAAC;;8GAxBnG,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAArB,qBAAqB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAArB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAJjC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE;AACX,iBAAA;;;ACTD;AACM,SAAU,QAAQ,CAAC,GAAW,EAAA;IAClC,IAAI,IAAI,GAAG,CAAC;AACZ,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;QAC9C,MAAM,IAAI,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;QAC9B,IAAI,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,GAAG,IAAI;AAChC,QAAA,IAAI,IAAI,CAAC,CAAC;;AAEZ,IAAA,OAAO,IAAI;AACb;AAEA;AACM,SAAU,uBAAuB,CAAC,KAAa,EAAA;IACnD,MAAM,KAAK,GACT,wGAAwG;AAE1G,IAAA,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;AAC1B;AAEA;AACM,SAAU,yBAAyB,CAAC,KAAa,EAAA;AACrD,IAAA,QACE,uBAAuB,CAAC,KAAK,CAAC;AAC9B,QAAA,KAAK,KAAK,OAAO;AACjB,QAAA,KAAK,KAAK,SAAS;AACnB,QAAA,KAAK,KAAK,SAAS;QACnB,KAAK,KAAK,MAAM;AAEpB;;ACxBA;MAEa,gBAAgB,CAAA;AAD7B,IAAA,WAAA,GAAA;AAEmB,QAAA,IAAA,CAAA,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC;QAC3C,IAAS,CAAA,SAAA,GAAG,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC;AAC5D,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC;AAE5B,QAAA,IAAA,CAAA,kBAAkB,GAAG,IAAI,GAAG,EAAU;AA2CxD;AAzCC,IAAA,YAAY,CAAC,SAAqB,EAAA;QAChC,MAAM,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;AACnD,QAAA,MAAM,eAAe,GAAG,QAAQ,CAAC,iBAAiB,CAAC;AACnD,QAAA,MAAM,aAAa,GAAG,CAAa,UAAA,EAAA,eAAe,EAAE;AAEpD,QAAA,IAAI,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,aAAa,CAAC;AAAE,YAAA,OAAO,aAAa;QAEpE,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,OAAO,CAAqB;QAE9E,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,YAAY,EAAE,IAAI,EAAE,aAAa,CAAC;QAE9D,MAAM,eAAe,GAAG,IAAI,CAAC,uBAAuB,CAAC,aAAa,EAAE,SAAS,CAAC;QAC9E,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,YAAY,EAAE,WAAW,EAAE,eAAe,CAAC;AAEtE,QAAA,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,YAAY,CAAC;AAE7D,QAAA,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,aAAa,CAAC;AAE1C,QAAA,OAAO,aAAa;;IAGd,uBAAuB,CAAC,aAAqB,EAAE,SAAqB,EAAA;QAC1E,MAAM,YAAY,GAAa,EAAE;QAEjC,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,KAAK,KAAI;AACpC,YAAA,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAA,EAAG,QAAQ,CAAC,MAAM,GAAG,GAAG,CAAA,CAAA,CAAG,GAAG,EAAE;AAEjE,YAAA,MAAM,mBAAmB,GAAG,CAAA,EAC1B,KAAK,KAAK,CAAC,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,KAAK,SAAS,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,GAAG,EACnF,EAAE;AAEF,YAAA,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ;iBAC1C,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,QAAQ,KAAK,QAAQ;AAC5C,iBAAA,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAG,EAAA,QAAQ,CAAK,EAAA,EAAA,KAAK,GAAG;iBACnD,IAAI,CAAC,EAAE,CAAC;YAEX,YAAY,CAAC,IAAI,CAAC,CAAA,EAAG,mBAAmB,CAAM,GAAA,EAAA,aAAa,CAAI,EAAA,CAAA,CAAC;AAClE,SAAC,CAAC;QAEF,OAAO,CAAA,WAAA,EAAc,aAAa,CAAA,GAAA,EAAM,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA,EAAA,CAAI;;8GA9CzD,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAhB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,cADH,MAAM,EAAA,CAAA,CAAA;;2FACnB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAD5B,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;ACDlC;MAEa,sBAAsB,CAAA;AADnC,IAAA,WAAA,GAAA;AAEmB,QAAA,IAAA,CAAA,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC;QAC3C,IAAS,CAAA,SAAA,GAAG,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC;AAC5D,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC;AAuB9C;AArBC,IAAA,aAAa,CAAC,cAAsB,EAAE,SAA8B,EAAE,SAAkC,EAAA;AACtG,QAAA,MAAM,SAAS,GAAG,CAAA,gBAAA,EAAmB,SAAS,CAAI,CAAA,EAAA,cAAc,EAAE;AAElE,QAAA,IAAI,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,SAAS,CAAC;YAAE;AAE9C,QAAA,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,OAAO,CAAC;QAEtG,YAAY,CAAC,SAAS,GAAG;wBACL,SAAS,KAAK,IAAI,GAAG,KAAK,GAAG,KAAK,CAAA,CAAA,EAAI,cAAc,CAAA;AACpD,sBAAA,EAAA,SAAS,CAAC,IAAI,CAAA;AACV,0BAAA,EAAA,SAAS,CAAC,QAAQ,CAAA;yBACrB,SAAS,CAAC,KAAK,IAAI,CAAC,CAAA;6BAChB,SAAS,CAAC,OAAO,GAAG,SAAS,GAAG,QAAQ,CAAA;6BACxC,SAAS,CAAC,QAAQ,IAAI,MAAM,CAAA;mCACtB,SAAS,CAAC,cAAc,IAAI,MAAM,CAAA;;KAEhE;AACD,QAAA,YAAY,CAAC,EAAE,GAAG,SAAS;AAE3B,QAAA,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,YAAY,CAAC;;8GAxBpD,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,cADT,MAAM,EAAA,CAAA,CAAA;;2FACnB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBADlC,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;ACElC;;AAEG;MAKU,uBAAuB,CAAA;AAmBlC,IAAA,WAAA,GAAA;AAlBA;;AAEG;AACH,QAAA,IAAA,CAAA,cAAc,GAAG,KAAK,CAAC,QAAQ,yDAAU;AACzC;;AAEG;QACH,IAAW,CAAA,WAAA,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,aAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAgD;AACnE;;AAEG;QACH,IAAY,CAAA,YAAA,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,cAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAgD;AAEnD,QAAA,IAAA,CAAA,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC;AACxB,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;AAC7B,QAAA,IAAA,CAAA,iBAAiB,GAAG,MAAM,CAAC,gBAAgB,CAAC;AAC5C,QAAA,IAAA,CAAA,uBAAuB,GAAG,MAAM,CAAC,sBAAsB,CAAC;;QAIvE,MAAM,CAAC,MAAK;AACV,YAAA,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,EAAE;AAE5C,YAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,sBAAsB,EAAE,cAAc,CAAC;YAEvF,cAAc,CAAC,MAAK;AAClB,gBAAA,IAAI,CAAC,yBAAyB,CAAC,cAAc,CAAC;AAC5C,oBAAA,OAAO,CAAC,IAAI,CACV,wBAAwB,cAAc,CAAA,+IAAA,CAAiJ,CACxL;AACL,aAAC,CAAC;AACJ,SAAC,CAAC;;QAGF,MAAM,CAAC,YAAW;AAChB,YAAA,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE;AAEpC,YAAA,IAAI,CAAC,SAAS;gBAAE;AAEhB,YAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC;AAC5D,SAAC,CAAC;;QAGF,MAAM,CAAC,YAAW;AAChB,YAAA,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,EAAE;AAErC,YAAA,IAAI,CAAC,SAAS;gBAAE;AAEhB,YAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC;AAC7D,SAAC,CAAC;;AAGI,IAAA,aAAa,CACnB,cAAsB,EACtB,UAAwD,EACxD,SAAkC,EAAA;QAElC,IAAI,aAAa,GAAkB,IAAI;AAEvC,QAAA,IAAI,eAAe,IAAI,UAAU,EAAE;AACjC,YAAA,aAAa,GAAI,UAAqC,CAAC,aAAa;;AAGtE,QAAA,IAAI,WAAW,IAAI,UAAU,EAAE;YAC7B,aAAa,GAAG,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAE,UAAkC,CAAC,SAAS,CAAC;;AAGpG,QAAA,IAAI,CAAC,aAAa;YAAE;AAEpB,QAAA,IAAI,CAAC,uBAAuB,CAAC,aAAa,CACxC,cAAc,EACd;AACE,YAAA,IAAI,EAAE,aAAa;AACnB,YAAA,GAAG;SACJ,EACD,SAAS,CACV;;8GA7EQ,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAvB,uBAAuB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,EAAA,cAAA,EAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,YAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,cAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAvB,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAJnC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE;AACX,iBAAA;;;ACPD;;;;AAIG;AACa,SAAA,4BAA4B,CAC1C,WAAyD,EACzD,YAA0D,EAAA;AAE1D,IAAA,MAAM,OAAO,GAAG,CAAC,sBAA8C,EAAE,gBAAkC,KAAI;QACrG,MAAM,aAAa,GAAG,CACpB,cAAsB,EACtB,UAAwD,EACxD,SAAkC,KAChC;YACF,IAAI,aAAa,GAAkB,IAAI;AAEvC,YAAA,IAAI,eAAe,IAAI,UAAU,EAAE;AACjC,gBAAA,aAAa,GAAI,UAAqC,CAAC,aAAa;;AAGtE,YAAA,IAAI,WAAW,IAAI,UAAU,EAAE;gBAC7B,aAAa,GAAG,gBAAgB,CAAC,YAAY,CAAE,UAAkC,CAAC,SAAS,CAAC;;AAG9F,YAAA,IAAI,CAAC,aAAa;gBAAE;AAEpB,YAAA,sBAAsB,CAAC,aAAa,CAClC,cAAc,EACd;AACE,gBAAA,IAAI,EAAE,aAAa;AACnB,gBAAA,GAAG;aACJ,EACD,SAAS,CACV;AACH,SAAC;AAED,QAAA,OAAO,MAAK;YACV,IAAI,WAAW,EAAE;AACf,gBAAA,aAAa,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC;;YAG1C,IAAI,YAAY,EAAE;AAChB,gBAAA,aAAa,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK,CAAC;;AAE9C,SAAC;AACH,KAAC;IAED,OAAO,qBAAqB,CAAC,MAAK;AAChC,QAAA,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,sBAAsB,CAAC,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAC;QACvF,OAAO,aAAa,EAAE;AACxB,KAAC,CAAC;AACJ;;AC1DA;;AAEG;;;;"}
|
|
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[] = [];\n\nexport const scaleIn: Keyframe[] = [\n {\n opacity: 0,\n transform: 'scale(0.5)',\n offset: 0\n },\n {\n opacity: 1,\n transform: 'scale(1)',\n offset: 1\n }\n];\n\nexport const scaleOut: Keyframe[] = [\n {\n opacity: 1,\n transform: 'scale(1)',\n offset: 0\n },\n {\n opacity: 0,\n transform: 'scale(0.5)',\n offset: 1\n }\n];\n\nexport const fadeIn: Keyframe[] = [\n {\n opacity: 0,\n offset: 0\n },\n {\n opacity: 1,\n offset: 1\n }\n];\n\nexport const fadeOut: Keyframe[] = [\n {\n opacity: 1,\n offset: 0\n },\n {\n opacity: 0,\n offset: 1\n }\n];\n\nexport const fadeInUp: Keyframe[] = [\n {\n opacity: 0,\n transform: 'translate(0, 100%)',\n offset: 0\n },\n {\n opacity: 1,\n transform: 'translate(0, 0)',\n offset: 1\n }\n];\n\nexport const fadeOutUp: Keyframe[] = [\n {\n opacity: 1,\n offset: 0\n },\n {\n opacity: 0,\n transform: 'translate(0, -100%)',\n offset: 1\n }\n];\n\nexport const fadeInDown: Keyframe[] = [\n {\n opacity: 0,\n transform: 'translate(0, -100%)',\n offset: 0\n },\n {\n opacity: 1,\n transform: 'translate(0, 0)',\n offset: 1\n }\n];\n\nexport const fadeOutDown: Keyframe[] = [\n {\n opacity: 1,\n offset: 0\n },\n {\n opacity: 0,\n transform: 'translate(0, 100%)',\n offset: 1\n }\n];\n\nexport const fadeInRight: Keyframe[] = [\n {\n opacity: 0,\n transform: 'translate(100%, 0)',\n offset: 0\n },\n {\n opacity: 1,\n transform: 'translate(0, 0)',\n offset: 1\n }\n];\n\nexport const fadeOutRight: Keyframe[] = [\n {\n opacity: 1,\n offset: 0\n },\n {\n opacity: 0,\n transform: 'translate(100%, 0)',\n offset: 1\n }\n];\n\nexport const fadeInLeft: Keyframe[] = [\n {\n opacity: 0,\n transform: 'translate(-100%, 0)',\n offset: 0\n },\n {\n opacity: 1,\n transform: 'translate(0, 0)',\n offset: 1\n }\n];\n\nexport const fadeOutLeft: Keyframe[] = [\n {\n opacity: 1,\n offset: 0\n },\n {\n opacity: 0,\n transform: 'translate(-100%, 0)',\n offset: 1\n }\n];\n\nexport const flipInX: Keyframe[] = [\n {\n opacity: 0,\n transform: 'rotateX(90deg)',\n offset: 0\n },\n {\n opacity: 1,\n transform: 'rotateX(0)',\n offset: 1\n }\n];\n\nexport const flipOutX: Keyframe[] = [\n {\n opacity: 1,\n transform: 'rotateX(0)',\n offset: 0\n },\n {\n opacity: 0,\n transform: 'rotateX(90deg)',\n offset: 1\n }\n];\n\nexport const flipInY: Keyframe[] = [\n {\n opacity: 0,\n transform: 'rotateY(90deg)',\n offset: 0\n },\n {\n opacity: 1,\n transform: 'rotateY(0)',\n offset: 1\n }\n];\n\nexport const flipOutY: Keyframe[] = [\n {\n opacity: 1,\n transform: 'rotateY(0)',\n offset: 0\n },\n {\n opacity: 0,\n transform: 'rotateY(90deg)',\n offset: 1\n }\n];\n\nexport const rotateIn: Keyframe[] = [\n {\n opacity: 0,\n transform: 'rotate(-180deg) scale(0.5)',\n offset: 0\n },\n {\n opacity: 1,\n transform: 'rotate(0) scale(1)',\n offset: 1\n }\n];\n\nexport const rotateOut: Keyframe[] = [\n {\n opacity: 1,\n transform: 'rotate(0) scale(1)',\n offset: 0\n },\n {\n opacity: 0,\n transform: 'rotate(180deg) scale(0.5)',\n offset: 1\n }\n];\n\nexport const bounceIn: Keyframe[] = [\n {\n opacity: 0,\n transform: 'scale(0.3)',\n offset: 0\n },\n {\n opacity: 1,\n transform: 'scale(1.05)',\n offset: 0.6\n },\n {\n opacity: 1,\n transform: 'scale(0.95)',\n offset: 0.8\n },\n {\n opacity: 1,\n transform: 'scale(1)',\n offset: 1\n }\n];\n\nexport const bounceOut: Keyframe[] = [\n {\n opacity: 1,\n transform: 'scale(1)',\n offset: 0\n },\n {\n opacity: 1,\n transform: 'scale(0.95)',\n offset: 0.2\n },\n {\n opacity: 1,\n transform: 'scale(1.05)',\n offset: 0.4\n },\n {\n opacity: 0,\n transform: 'scale(0.3)',\n offset: 1\n }\n];\n\nexport const blurIn: Keyframe[] = [\n {\n opacity: 0,\n transform: 'scale(1.2)',\n filter: 'blur(20px)',\n offset: 0\n },\n {\n opacity: 1,\n transform: 'scale(1)',\n filter: 'blur(0px)',\n offset: 1\n }\n];\n\nexport const blurOut: Keyframe[] = [\n {\n opacity: 1,\n transform: 'scale(1)',\n filter: 'blur(0px)',\n offset: 0\n },\n {\n opacity: 0,\n transform: 'scale(0.8)',\n filter: 'blur(20px)',\n offset: 1\n }\n];\n\nexport const perspectiveIn: Keyframe[] = [\n {\n opacity: 0,\n transform: 'perspective(1000px) rotateY(90deg)',\n offset: 0\n },\n {\n opacity: 1,\n transform: 'perspective(1000px) rotateY(0deg)',\n offset: 1\n }\n];\n\nexport const perspectiveOut: Keyframe[] = [\n {\n opacity: 1,\n transform: 'perspective(1000px) rotateY(0deg)',\n offset: 0\n },\n {\n opacity: 0,\n transform: 'perspective(1000px) rotateY(-90deg)',\n offset: 1\n }\n];\n\nexport const skewIn: Keyframe[] = [\n {\n opacity: 0,\n transform: 'translateX(-100%) skewX(30deg)',\n offset: 0\n },\n {\n opacity: 1,\n transform: 'translateX(0) skewX(0deg)',\n offset: 1\n }\n];\n\nexport const skewOut: Keyframe[] = [\n {\n opacity: 1,\n transform: 'translateX(0) skewX(0deg)',\n offset: 0\n },\n {\n opacity: 0,\n transform: 'translateX(100%) skewX(-30deg)',\n offset: 1\n }\n];\n\nexport const revealCircleIn: Keyframe[] = [\n {\n clipPath: 'circle(0% at 50% 50%)',\n offset: 0\n },\n {\n clipPath: 'circle(150% at 50% 50%)',\n offset: 1\n }\n];\n\nexport const revealCircleOut: Keyframe[] = [\n {\n clipPath: 'circle(150% at 50% 50%)',\n offset: 0\n },\n {\n clipPath: 'circle(0% at 50% 50%)',\n offset: 1\n }\n];\n\nexport const parallaxIn: Keyframe[] = [\n {\n opacity: 0,\n transform: 'translateZ(-300px) scale(2)',\n offset: 0\n },\n {\n opacity: 1,\n transform: 'translateZ(0) scale(1)',\n offset: 1\n }\n];\n\nexport const parallaxOut: Keyframe[] = [\n {\n opacity: 1,\n transform: 'translateZ(0) scale(1)',\n offset: 0\n },\n {\n opacity: 0,\n transform: 'translateZ(-300px) scale(0.8)',\n offset: 1\n }\n];\n\nexport const tiltIn: Keyframe[] = [\n {\n opacity: 0,\n transform: 'rotate(-15deg) translateY(50%)',\n offset: 0\n },\n {\n opacity: 1,\n transform: 'rotate(0) translateY(0)',\n offset: 1\n }\n];\n\nexport const tiltOut: Keyframe[] = [\n {\n opacity: 1,\n transform: 'rotate(0) translateY(0)',\n offset: 0\n },\n {\n opacity: 0,\n transform: 'rotate(15deg) translateY(-50%)',\n offset: 1\n }\n];\n\nexport const glitchIn: Keyframe[] = [\n {\n opacity: 0,\n transform: 'translate(0, 0)',\n offset: 0\n },\n {\n opacity: 1,\n transform: 'translate(-2px, 2px)',\n offset: 0.2\n },\n {\n opacity: 1,\n transform: 'translate(2px, -2px)',\n offset: 0.4\n },\n {\n opacity: 1,\n transform: 'translate(-1px, 1px)',\n offset: 0.6\n },\n {\n opacity: 1,\n transform: 'translate(1px, -1px)',\n offset: 0.8\n },\n {\n opacity: 1,\n transform: 'translate(0, 0)',\n offset: 1\n }\n];\n\nexport const curtainIn: Keyframe[] = [\n {\n clipPath: 'inset(0 50% 0 50%)',\n offset: 0\n },\n {\n clipPath: 'inset(0 0% 0 0%)',\n offset: 1\n }\n];\n\nexport const curtainOut: Keyframe[] = [\n {\n clipPath: 'inset(0 0% 0 0%)',\n offset: 0\n },\n {\n clipPath: 'inset(0 50% 0 50%)',\n offset: 1\n }\n];\n\nexport const depthFlipIn: Keyframe[] = [\n {\n opacity: 0,\n transform: 'perspective(1200px) rotateX(-90deg) translateZ(-200px)',\n offset: 0\n },\n {\n opacity: 1,\n transform: 'perspective(1200px) rotateX(0deg) translateZ(0)',\n offset: 1\n }\n];\n\nexport const depthFlipOut: Keyframe[] = [\n {\n opacity: 1,\n transform: 'perspective(1200px) rotateX(0deg) translateZ(0)',\n offset: 0\n },\n {\n opacity: 0,\n transform: 'perspective(1200px) rotateX(90deg) translateZ(-200px)',\n offset: 1\n }\n];\n\nexport const distortWarpIn: Keyframe[] = [\n {\n opacity: 0,\n transform: 'skewX(20deg) scale(0.9)',\n filter: 'blur(10px)',\n offset: 0\n },\n {\n opacity: 1,\n transform: 'skewX(0deg) scale(1)',\n filter: 'blur(0px)',\n offset: 1\n }\n];\n\nexport const distortWarpOut: Keyframe[] = [\n {\n opacity: 1,\n transform: 'skewX(0deg) scale(1)',\n filter: 'blur(0px)',\n offset: 0\n },\n {\n opacity: 0,\n transform: 'skewX(-20deg) scale(0.9)',\n filter: 'blur(10px)',\n offset: 1\n }\n];\n\nexport const coverFlipIn: Keyframe[] = [\n {\n opacity: 0,\n transform: 'perspective(800px) rotateY(-12deg) translateX(-8px)',\n offset: 0\n },\n {\n opacity: 1,\n transform: 'perspective(800px) rotateY(0deg) translateX(0)',\n offset: 1\n }\n];\n\nexport const coverFlipOut: Keyframe[] = [\n {\n opacity: 1,\n transform: 'perspective(800px) rotateY(0deg) translateX(0)',\n offset: 0\n },\n {\n opacity: 0,\n transform: 'perspective(800px) rotateY(12deg) translateX(8px)',\n offset: 1\n }\n];\n","import { Directive, ElementRef, inject, OnInit, RendererFactory2 } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\n\n/**\n * Exclude an element from view transitions\n */\n@Directive({\n standalone: true,\n selector: '[noTransition]'\n})\nexport class NoTransitionDirective implements OnInit {\n private readonly _el = inject(ElementRef);\n private readonly _rendererFactory = inject(RendererFactory2);\n private readonly _renderer = this._rendererFactory.createRenderer(null, null);\n private readonly _document = inject(DOCUMENT);\n\n ngOnInit(): void {\n const transitionName = 'ngx-easy-view-transitions-disabled';\n\n this._el.nativeElement.style.viewTransitionName = transitionName;\n\n const elementId = 'view-transition-none';\n\n const styleElement = this._document.getElementById(elementId) || this._document.createElement('style');\n\n styleElement.innerHTML = `\n ::view-transition-group(${transitionName}),\n ::view-transition-old(${transitionName}),\n ::view-transition-new(${transitionName}) {\n animation-duration: 0s !important;\n }\n `;\n styleElement.id = elementId;\n\n if (!this._document.getElementById(elementId)) this._renderer.appendChild(this._document.head, styleElement);\n }\n}\n","/**@internal*/\nexport function fnv1aHash(str: string) {\n let hash = 2166136261;\n for (let i = 0; i < str.length; i++) {\n hash ^= str.charCodeAt(i);\n hash = Math.imul(hash, 16777619);\n }\n return hash >>> 0;\n}\n\n/**@internal*/\nexport function isValidCustomIdentValue(value: string): boolean {\n const regex =\n /^(?:[A-Za-z_]|-(?!\\d)|\\\\[0-9A-Fa-f]{1,6}|\\\\.)[A-Za-z0-9_-]*(?:\\\\[0-9A-Fa-f]{1,6}|\\\\.)*[A-Za-z0-9_-]*$/u;\n\n return regex.test(value);\n}\n\n/**@internal*/\nexport function isValidViewTransitionName(value: string): boolean {\n return (\n isValidCustomIdentValue(value) &&\n value !== 'unset' &&\n value !== 'initial' &&\n value !== 'inherit' &&\n value !== 'none'\n );\n}\n","import { inject, Injectable, RendererFactory2 } from '@angular/core';\nimport { fnv1aHash } from './utils';\nimport { DOCUMENT } from '@angular/common';\n\n/**@internal*/\n@Injectable({ providedIn: 'root' })\nexport class KeyframesService {\n private readonly _rendererFactory = inject(RendererFactory2);\n private readonly _renderer = this._rendererFactory.createRenderer(null, null);\n private readonly _document = inject(DOCUMENT);\n\n private readonly _insertedKeyframes = new Set<string>();\n\n setKeyframes(keyframes: Keyframe[]) {\n const keyframesAsString = JSON.stringify(keyframes);\n const hashedKeyframes = fnv1aHash(keyframesAsString);\n const keyframesName = `keyframes-${hashedKeyframes}`;\n\n if (this._insertedKeyframes.has(keyframesName)) return keyframesName;\n\n const styleElement = this._renderer.createElement('style') as HTMLStyleElement;\n\n this._renderer.setAttribute(styleElement, 'id', keyframesName);\n\n const cssKeyframeRule = this.generateCssKeyframeRule(keyframesName, keyframes);\n this._renderer.setProperty(styleElement, 'innerHTML', cssKeyframeRule);\n\n this._renderer.appendChild(this._document.head, styleElement);\n\n this._insertedKeyframes.add(keyframesName);\n\n return keyframesName;\n }\n\n private generateCssKeyframeRule(animationName: string, keyframes: Keyframe[]): string {\n const cssKeyframes: string[] = [];\n\n keyframes.forEach((keyframe, index) => {\n const offset = keyframe.offset ? `${keyframe.offset * 100}%` : '';\n\n const keyframeDeclaration = `${\n index === 0 ? 'from' : offset ? offset : index === keyframes.length - 1 ? 'to' : ''\n }`;\n\n const cssProperties = Object.entries(keyframe)\n .filter(([property]) => property !== 'offset')\n .map(([property, value]) => `${property}: ${value};`)\n .join('');\n\n cssKeyframes.push(`${keyframeDeclaration} { ${cssProperties} }`);\n });\n\n return `@keyframes ${animationName} { ${cssKeyframes.join(' ')} }`;\n }\n}\n","import { inject, Injectable, RendererFactory2 } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\nimport { TransitionBase } from './transition-base';\n\n/**@internal*/\n@Injectable({ providedIn: 'root' })\nexport class ViewTransitionsService {\n private readonly _rendererFactory = inject(RendererFactory2);\n private readonly _renderer = this._rendererFactory.createRenderer(null, null);\n private readonly _document = inject(DOCUMENT);\n\n setTransition(transitionName: string, animation: TransitionAnimation, direction: ViewTransitionDirection): void {\n const elementId = `view-transition-${direction}-${transitionName}`;\n\n if (this._document.getElementById(elementId)) return;\n\n const styleElement = this._document.getElementById(elementId) || this._document.createElement('style');\n\n styleElement.innerHTML = `\n ::view-transition-${direction === 'in' ? 'new' : 'old'}(${transitionName}){\n animation-name: ${animation.name};\n animation-duration: ${animation.duration}ms;\n animation-delay: ${animation.delay ?? 0}ms;\n animation-direction: ${animation.reverse ? 'reverse' : 'normal'};\n animation-fill-mode: ${animation.fillMode ?? 'none'};\n animation-timing-function: ${animation.timingFunction ?? 'ease'};\n }\n `;\n styleElement.id = elementId;\n\n this._renderer.appendChild(this._document.head, styleElement);\n }\n}\n\n/**@internal*/\nexport type TransitionAnimation = TransitionBase & {\n name: string;\n};\n\n/**@internal*/\nexport type ViewTransitionDirection = 'in' | 'out';\n","import { computed, Directive, effect, ElementRef, inject, input, Renderer2, untracked } from '@angular/core';\nimport { KeyframesTransition } from './keyframes-transition';\nimport { CssKeyframesTransition } from './css-keyframes-transition';\nimport { KeyframesService } from './keyframes.service';\nimport { ViewTransitionDirection, ViewTransitionsService } from './view-transitions.service';\nimport { fnv1aHash, isValidViewTransitionName } from './utils';\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 originalTransitionName = input.required<string>({ alias: 'transitionName' });\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 * Whether to keep the original transition name or apply hashing for CSS safety.\n * Defaults to `false`. Set to `true` to use the name as provided without hashing.\n */\n preserveName = input<boolean>(false);\n /**\n * Whether to show the `data-original-view-transition-name` containing the provided transition name. Useful for debugging when hashing is enabled. Defaults to `false`.\n */\n showOriginalNameAttr = input<boolean>(false);\n\n private readonly _el = inject(ElementRef);\n private readonly _renderer = inject(Renderer2);\n private readonly _keyframesService = inject(KeyframesService);\n private readonly _viewTransitionsService = inject(ViewTransitionsService);\n\n private readonly _transitionName = computed(() => {\n const originalTransitionName = this.originalTransitionName();\n\n return this.preserveName() ? originalTransitionName : `vtn-${fnv1aHash(originalTransitionName)}`;\n });\n\n constructor() {\n //transitionName\n effect(() => {\n this._renderer.setStyle(this._el.nativeElement, 'view-transition-name', this._transitionName());\n });\n\n //originalNameAttr\n effect(() => {\n queueMicrotask(() => {\n if (this.showOriginalNameAttr()) {\n this._renderer.setAttribute(\n this._el.nativeElement,\n 'data-original-view-transition-name',\n untracked(this.originalTransitionName)\n );\n }\n });\n });\n\n //warn if invalid transition name\n effect(() => {\n queueMicrotask(() => {\n if (!this.preserveName()) return;\n\n const transitionName = this._transitionName();\n\n if (isValidViewTransitionName(transitionName)) return;\n\n console.warn(\n `The provided transition name \"${transitionName}\" is potentially invalid. Please use a valid CSS <custom-ident> value and avoid forbidden values like \"unset\", \"initial\", \"inherit\" and \"none\". Or use hashing by setting \"preserveName\" to false.`\n );\n });\n });\n //inAnimation\n effect(async () => {\n const animation = this.inAnimation();\n\n if (!animation) return;\n\n this.setTransition(this._transitionName(), animation, 'in');\n });\n\n //outAnimation\n effect(async () => {\n const animation = this.outAnimation();\n\n if (!animation) return;\n\n this.setTransition(this._transitionName(), animation, 'out');\n });\n }\n\n private setTransition(\n transitionName: string,\n transition: KeyframesTransition | CssKeyframesTransition,\n direction: ViewTransitionDirection\n ) {\n let animationName: string | null = null;\n\n if ('keyframesName' in transition) {\n animationName = (transition as CssKeyframesTransition).keyframesName;\n }\n\n if ('keyframes' in transition) {\n animationName = this._keyframesService.setKeyframes((transition as KeyframesTransition).keyframes);\n }\n\n if (!animationName) return;\n\n this._viewTransitionsService.setTransition(\n transitionName,\n {\n name: animationName,\n ...transition\n },\n direction\n );\n }\n}\n","import { EnvironmentProviders, inject, provideAppInitializer } from '@angular/core';\nimport { KeyframesTransition } from './keyframes-transition';\nimport { CssKeyframesTransition } from './css-keyframes-transition';\nimport { ViewTransitionDirection, ViewTransitionsService } from './view-transitions.service';\nimport { KeyframesService } from './keyframes.service';\n\n/**\n * Override the default View Transition API cross-fade animation\n * @param inAnimation\n * @param outAnimation\n */\nexport function provideDefaultViewTransition(\n inAnimation: KeyframesTransition | CssKeyframesTransition,\n outAnimation: KeyframesTransition | CssKeyframesTransition\n): EnvironmentProviders {\n const factory = (viewTransitionsService: ViewTransitionsService, keyframesService: KeyframesService) => {\n const setTransition = (\n transitionName: string,\n transition: KeyframesTransition | CssKeyframesTransition,\n direction: ViewTransitionDirection\n ) => {\n let animationName: string | null = null;\n\n if ('keyframesName' in transition) {\n animationName = (transition as CssKeyframesTransition).keyframesName;\n }\n\n if ('keyframes' in transition) {\n animationName = keyframesService.setKeyframes((transition as KeyframesTransition).keyframes);\n }\n\n if (!animationName) return;\n\n viewTransitionsService.setTransition(\n transitionName,\n {\n name: animationName,\n ...transition\n },\n direction\n );\n };\n\n return () => {\n if (inAnimation) {\n setTransition('root', inAnimation, 'in');\n }\n\n if (outAnimation) {\n setTransition('root', outAnimation, 'out');\n }\n };\n };\n\n return provideAppInitializer(() => {\n const initializerFn = factory(inject(ViewTransitionsService), inject(KeyframesService));\n return initializerFn();\n });\n}\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,4 +1,4 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
2
2
|
import { OnInit, EnvironmentProviders } from '@angular/core';
|
|
3
3
|
|
|
4
4
|
declare const none: Keyframe[];
|
|
@@ -142,8 +142,8 @@ declare class NoTransitionDirective implements OnInit {
|
|
|
142
142
|
private readonly _renderer;
|
|
143
143
|
private readonly _document;
|
|
144
144
|
ngOnInit(): void;
|
|
145
|
-
static ɵfac:
|
|
146
|
-
static ɵdir:
|
|
145
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NoTransitionDirective, never>;
|
|
146
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<NoTransitionDirective, "[noTransition]", never, {}, {}, never, never, true, never>;
|
|
147
147
|
}
|
|
148
148
|
|
|
149
149
|
interface TransitionBase {
|
|
@@ -196,23 +196,33 @@ declare class TransitionNameDirective {
|
|
|
196
196
|
/**
|
|
197
197
|
* Set the `view-transition-name` property to assign transitions to that element
|
|
198
198
|
*/
|
|
199
|
-
|
|
199
|
+
originalTransitionName: _angular_core.InputSignal<string>;
|
|
200
200
|
/**
|
|
201
201
|
* Configure the animation when the element enters the view
|
|
202
202
|
*/
|
|
203
|
-
inAnimation:
|
|
203
|
+
inAnimation: _angular_core.InputSignal<KeyframesTransition | CssKeyframesTransition | undefined>;
|
|
204
204
|
/**
|
|
205
205
|
* Configure the animation when the element leaves the view
|
|
206
206
|
*/
|
|
207
|
-
outAnimation:
|
|
207
|
+
outAnimation: _angular_core.InputSignal<KeyframesTransition | CssKeyframesTransition | undefined>;
|
|
208
|
+
/**
|
|
209
|
+
* Whether to keep the original transition name or apply hashing for CSS safety.
|
|
210
|
+
* Defaults to `false`. Set to `true` to use the name as provided without hashing.
|
|
211
|
+
*/
|
|
212
|
+
preserveName: _angular_core.InputSignal<boolean>;
|
|
213
|
+
/**
|
|
214
|
+
* Whether to show the `data-original-view-transition-name` containing the provided transition name. Useful for debugging when hashing is enabled. Defaults to `false`.
|
|
215
|
+
*/
|
|
216
|
+
showOriginalNameAttr: _angular_core.InputSignal<boolean>;
|
|
208
217
|
private readonly _el;
|
|
209
218
|
private readonly _renderer;
|
|
210
219
|
private readonly _keyframesService;
|
|
211
220
|
private readonly _viewTransitionsService;
|
|
221
|
+
private readonly _transitionName;
|
|
212
222
|
constructor();
|
|
213
223
|
private setTransition;
|
|
214
|
-
static ɵfac:
|
|
215
|
-
static ɵdir:
|
|
224
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TransitionNameDirective, never>;
|
|
225
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<TransitionNameDirective, "[transitionName]", never, { "originalTransitionName": { "alias": "transitionName"; "required": true; "isSignal": true; }; "inAnimation": { "alias": "inAnimation"; "required": false; "isSignal": true; }; "outAnimation": { "alias": "outAnimation"; "required": false; "isSignal": true; }; "preserveName": { "alias": "preserveName"; "required": false; "isSignal": true; }; "showOriginalNameAttr": { "alias": "showOriginalNameAttr"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
216
226
|
}
|
|
217
227
|
|
|
218
228
|
/**
|