simpo-component-library 3.6.558 → 3.6.560
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/esm2022/lib/directive/animation-directive.mjs +35 -40
- package/fesm2022/simpo-component-library.mjs +34 -39
- package/fesm2022/simpo-component-library.mjs.map +1 -1
- package/lib/directive/animation-directive.d.ts +0 -2
- package/lib/ecommerce/sections/authentication-required/authentication-required.component.d.ts +1 -1
- package/lib/ecommerce/sections/product-desc/product-desc.component.d.ts +1 -1
- package/lib/ecommerce/sections/schemes/schemes.component.d.ts +1 -1
- package/lib/sections/banner-carousel/banner-carousel.component.d.ts +2 -2
- package/lib/sections/carousel-banner/carousel-banner.component.d.ts +1 -1
- package/lib/sections/contact-us/contact-us.component.d.ts +1 -1
- package/lib/sections/faq-section/faq-section.component.d.ts +1 -1
- package/lib/sections/image-section/image-section.component.d.ts +2 -2
- package/lib/sections/logo-showcase/logo-showcase.component.d.ts +2 -2
- package/lib/sections/new-testimonials/new-testimonials.component.d.ts +1 -1
- package/lib/sections/pricing-section/pricing-section.component.d.ts +2 -2
- package/package.json +1 -1
- package/simpo-component-library-3.6.560.tgz +0 -0
- package/simpo-component-library-3.6.558.tgz +0 -0
|
@@ -7,16 +7,14 @@ export class AnimationDirective {
|
|
|
7
7
|
this.el = el;
|
|
8
8
|
this.renderer = renderer;
|
|
9
9
|
this.eventService = eventService;
|
|
10
|
-
//
|
|
11
|
-
this.eventServiceSubscription =
|
|
12
|
-
this.
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
});
|
|
10
|
+
// Listen for external changes and re-apply animation
|
|
11
|
+
this.eventServiceSubscription = this.eventService.animationChangeChecks.subscribe((res) => {
|
|
12
|
+
if (this.el.nativeElement.id === res?.id) {
|
|
13
|
+
this.animationData = res?.data;
|
|
14
|
+
this.applyAnimation();
|
|
15
|
+
}
|
|
16
|
+
});
|
|
18
17
|
}
|
|
19
|
-
/* ------------------ LIFECYCLE ------------------ */
|
|
20
18
|
ngOnInit() {
|
|
21
19
|
this.createObserver();
|
|
22
20
|
}
|
|
@@ -24,56 +22,53 @@ export class AnimationDirective {
|
|
|
24
22
|
this.applyAnimation();
|
|
25
23
|
}
|
|
26
24
|
ngOnDestroy() {
|
|
27
|
-
this.observer
|
|
28
|
-
|
|
25
|
+
if (this.observer)
|
|
26
|
+
this.observer.disconnect();
|
|
27
|
+
if (this.eventServiceSubscription)
|
|
28
|
+
this.eventServiceSubscription.unsubscribe();
|
|
29
29
|
}
|
|
30
|
-
/* ------------------ OBSERVER ------------------ */
|
|
31
30
|
createObserver() {
|
|
32
31
|
if (typeof window === 'undefined' || !('IntersectionObserver' in window)) {
|
|
33
|
-
this.applyAnimation(
|
|
32
|
+
this.applyAnimation();
|
|
34
33
|
return;
|
|
35
34
|
}
|
|
35
|
+
const options = {
|
|
36
|
+
root: null,
|
|
37
|
+
threshold: 0.1,
|
|
38
|
+
};
|
|
36
39
|
this.observer = new IntersectionObserver((entries) => {
|
|
37
40
|
entries.forEach((entry) => {
|
|
38
|
-
if (entry.isIntersecting
|
|
39
|
-
this.
|
|
41
|
+
if (entry.isIntersecting &&
|
|
42
|
+
!this.el.nativeElement.classList.contains('visible')) {
|
|
43
|
+
this.el.nativeElement.classList.add('visible');
|
|
44
|
+
this.applyAnimation();
|
|
45
|
+
this.observer?.unobserve(this.el.nativeElement);
|
|
40
46
|
}
|
|
41
47
|
});
|
|
42
|
-
},
|
|
48
|
+
}, options);
|
|
43
49
|
this.observer.observe(this.el.nativeElement);
|
|
44
50
|
}
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
return;
|
|
49
|
-
const currentType = this.animationData.type;
|
|
50
|
-
const currentSpeed = this.animationData.speed;
|
|
51
|
-
const typeChanged = this.previousType !== currentType;
|
|
52
|
-
const speedChanged = this.previousSpeed !== currentSpeed;
|
|
53
|
-
this.previousType = currentType;
|
|
54
|
-
this.previousSpeed = currentSpeed;
|
|
55
|
-
const animationName = this.getAnimationName(currentType);
|
|
56
|
-
const duration = this.getAnimationSpeed(currentSpeed);
|
|
51
|
+
applyAnimation() {
|
|
52
|
+
const name = this.getAnimationName();
|
|
53
|
+
const duration = this.getAnimationSpeed(this.animationData?.speed);
|
|
57
54
|
this.renderer.setStyle(this.el.nativeElement, 'position', 'relative');
|
|
58
|
-
|
|
59
|
-
this.restartAnimation(animationName, duration);
|
|
60
|
-
}
|
|
55
|
+
this.restartAnimation(name, duration);
|
|
61
56
|
}
|
|
62
57
|
restartAnimation(name, durationSec) {
|
|
63
58
|
const el = this.el.nativeElement;
|
|
64
|
-
// 🔁 Force animation restart
|
|
65
59
|
el.style.animation = 'none';
|
|
66
|
-
el.offsetHeight;
|
|
60
|
+
el.offsetHeight;
|
|
67
61
|
if (!name || name === 'none') {
|
|
68
62
|
el.style.removeProperty('animation');
|
|
63
|
+
el.style.removeProperty('animation-name');
|
|
64
|
+
el.style.removeProperty('animation-duration');
|
|
69
65
|
return;
|
|
70
66
|
}
|
|
71
|
-
const
|
|
72
|
-
el.style.animation = `${name} ${
|
|
67
|
+
const dur = durationSec ?? '0.8s';
|
|
68
|
+
el.style.animation = `${name} ${dur} ease both`;
|
|
73
69
|
}
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
switch (type) {
|
|
70
|
+
getAnimationName() {
|
|
71
|
+
switch (this.animationData?.type) {
|
|
77
72
|
case 'left':
|
|
78
73
|
return 'animateleft';
|
|
79
74
|
case 'right':
|
|
@@ -89,7 +84,7 @@ export class AnimationDirective {
|
|
|
89
84
|
case 'none':
|
|
90
85
|
return 'none';
|
|
91
86
|
default:
|
|
92
|
-
return '';
|
|
87
|
+
return ''; // no animation
|
|
93
88
|
}
|
|
94
89
|
}
|
|
95
90
|
getAnimationSpeed(speed) {
|
|
@@ -110,4 +105,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
110
105
|
type: Input,
|
|
111
106
|
args: ['simpoAnimation']
|
|
112
107
|
}] } });
|
|
113
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5pbWF0aW9uLWRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpbXBvLXVpL3NyYy9saWIvZGlyZWN0aXZlL2FuaW1hdGlvbi1kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxLQUFLLEdBTU4sTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7QUFTNUMsTUFBTSxPQUFPLGtCQUFrQjtJQVU3QixZQUNVLEVBQTJCLEVBQzNCLFFBQW1CLEVBQ25CLFlBQTJCO1FBRjNCLE9BQUUsR0FBRixFQUFFLENBQXlCO1FBQzNCLGFBQVEsR0FBUixRQUFRLENBQVc7UUFDbkIsaUJBQVksR0FBWixZQUFZLENBQWU7UUFFbkMsNkJBQTZCO1FBQzdCLElBQUksQ0FBQyx3QkFBd0I7WUFDM0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxxQkFBcUIsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFRLEVBQUUsRUFBRTtnQkFDN0QsSUFBSSxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxFQUFFLEtBQUssR0FBRyxFQUFFLEVBQUUsRUFBRSxDQUFDO29CQUN6QyxJQUFJLENBQUMsYUFBYSxHQUFHLEdBQUcsRUFBRSxJQUFJLENBQUM7b0JBQy9CLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQzVCLENBQUM7WUFDSCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxxREFBcUQ7SUFFckQsUUFBUTtRQUNOLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQsV0FBVyxDQUFDLFFBQXVCO1FBQ2pDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxRQUFRLEVBQUUsVUFBVSxFQUFFLENBQUM7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QUFjLENBQUM7WUFDeEIsS0FBSyxLQUFLO2dCQUNSLE9BQU8sWUFBWSxDQUFDO1lBQ3RCLEtBQUssUUFBUTtnQkFDWCxPQUFPLGVBQWUsQ0FBQztZQUN6QixLQUFLLFFBQVE7Z0JBQ1gsT0FBTyxNQUFNLENBQUM7WUFDaEIsS0FBSyxNQUFNO2dCQUNULE9BQU8sYUFBYSxDQUFDO1lBQ3ZCLEtBQUssTUFBTTtnQkFDVCxPQUFPLE1BQU0sQ0FBQztZQUNoQjtnQkFDRSxPQUFPLEVBQUUsQ0FBQztRQUNkLENBQUM7SUFDSCxDQUFDO0lBRU8saUJBQWlCLENBQUMsS0FBdUI7UUFDL0MsSUFBSSxDQUFDLEtBQUs7WUFBRSxPQUFPLElBQUksQ0FBQztRQUN4QixPQUFPLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUM7SUFDMUMsQ0FBQzsrR0FuSVUsa0JBQWtCO21HQUFsQixrQkFBa0I7OzRGQUFsQixrQkFBa0I7a0JBSjlCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGtCQUFrQjtvQkFDNUIsVUFBVSxFQUFFLElBQUk7aUJBQ2pCO21JQUUwQixhQUFhO3NCQUFyQyxLQUFLO3VCQUFDLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgRGlyZWN0aXZlLFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgSW5wdXQsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIE9uRGVzdHJveSxcclxuICBPbkluaXQsXHJcbiAgUmVuZGVyZXIyLFxyXG4gIFNpbXBsZUNoYW5nZXMsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGFuaW1hdGlvbiB9IGZyb20gJy4uL3N0eWxlcy9pbmRleCc7XHJcbmltcG9ydCB7IEFuaW1hdGlvbk1vZGVsIH0gZnJvbSAnLi4vc3R5bGVzL3N0eWxlLm1vZGVsJztcclxuaW1wb3J0IHsgRXZlbnRzU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2V2ZW50cy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQU5JTUFUSU9OX1NQRUVEIH0gZnJvbSAnLi4vc3R5bGVzL3R5cGVzJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW3NpbXBvQW5pbWF0aW9uXScsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFuaW1hdGlvbkRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xyXG4gIEBJbnB1dCgnc2ltcG9BbmltYXRpb24nKSBhbmltYXRpb25EYXRhPzogQW5pbWF0aW9uTW9kZWw7XHJcblxyXG4gIHByaXZhdGUgb2JzZXJ2ZXI/OiBJbnRlcnNlY3Rpb25PYnNlcnZlcjtcclxuICBwcml2YXRlIGV2ZW50U2VydmljZVN1YnNjcmlwdGlvbjogYW55O1xyXG5cclxuICAvLyBUcmFjayBwcmV2aW91cyBhbmltYXRpb24gc3RhdGVcclxuICBwcml2YXRlIHByZXZpb3VzVHlwZT86IHN0cmluZztcclxuICBwcml2YXRlIHByZXZpb3VzU3BlZWQ/OiBBTklNQVRJT05fU1BFRUQ7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBlbDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXHJcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXHJcbiAgICBwcml2YXRlIGV2ZW50U2VydmljZTogRXZlbnRzU2VydmljZVxyXG4gICkge1xyXG4gICAgLy8gRXh0ZXJuYWwgYW5pbWF0aW9uIHVwZGF0ZXNcclxuICAgIHRoaXMuZXZlbnRTZXJ2aWNlU3Vic2NyaXB0aW9uID1cclxuICAgICAgdGhpcy5ldmVudFNlcnZpY2UuYW5pbWF0aW9uQ2hhbmdlQ2hlY2tzLnN1YnNjcmliZSgocmVzOiBhbnkpID0+IHtcclxuICAgICAgICBpZiAodGhpcy5lbC5uYXRpdmVFbGVtZW50LmlkID09PSByZXM/LmlkKSB7XHJcbiAgICAgICAgICB0aGlzLmFuaW1hdGlvbkRhdGEgPSByZXM/LmRhdGE7XHJcbiAgICAgICAgICB0aGlzLmFwcGx5QW5pbWF0aW9uKHRydWUpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0gTElGRUNZQ0xFIC0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuY3JlYXRlT2JzZXJ2ZXIoKTtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKF9jaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICB0aGlzLmFwcGx5QW5pbWF0aW9uKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMub2JzZXJ2ZXI/LmRpc2Nvbm5lY3QoKTtcclxuICAgIHRoaXMuZXZlbnRTZXJ2aWNlU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgLyogLS0tLS0tLS0tLS0tLS0tLS0tIE9CU0VSVkVSIC0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG5cclxuICBwcml2YXRlIGNyZWF0ZU9ic2VydmVyKCk6IHZvaWQge1xyXG4gICAgaWYgKHR5cGVvZiB3aW5kb3cgPT09ICd1bmRlZmluZWQnIHx8ICEoJ0ludGVyc2VjdGlvbk9ic2VydmVyJyBpbiB3aW5kb3cpKSB7XHJcbiAgICAgIHRoaXMuYXBwbHlBbmltYXRpb24odHJ1ZSk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLm9ic2VydmVyID0gbmV3IEludGVyc2VjdGlvbk9ic2VydmVyKFxyXG4gICAgICAoZW50cmllcykgPT4ge1xyXG4gICAgICAgIGVudHJpZXMuZm9yRWFjaCgoZW50cnkpID0+IHtcclxuICAgICAgICAgIGlmIChlbnRyeS5pc0ludGVyc2VjdGluZykge1xyXG4gICAgICAgICAgICB0aGlzLmFwcGx5QW5pbWF0aW9uKHRydWUpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9LFxyXG4gICAgICB7IHRocmVzaG9sZDogMC4xIH1cclxuICAgICk7XHJcblxyXG4gICAgdGhpcy5vYnNlcnZlci5vYnNlcnZlKHRoaXMuZWwubmF0aXZlRWxlbWVudCk7XHJcbiAgfVxyXG5cclxuICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0gQU5JTUFUSU9OIENPUkUgLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcblxyXG4gIHByaXZhdGUgYXBwbHlBbmltYXRpb24oZm9yY2UgPSBmYWxzZSk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLmFuaW1hdGlvbkRhdGEpIHJldHVybjtcclxuXHJcbiAgICBjb25zdCBjdXJyZW50VHlwZSA9IHRoaXMuYW5pbWF0aW9uRGF0YS50eXBlO1xyXG4gICAgY29uc3QgY3VycmVudFNwZWVkID0gdGhpcy5hbmltYXRpb25EYXRhLnNwZWVkO1xyXG5cclxuICAgIGNvbnN0IHR5cGVDaGFuZ2VkID0gdGhpcy5wcmV2aW91c1R5cGUgIT09IGN1cnJlbnRUeXBlO1xyXG4gICAgY29uc3Qgc3BlZWRDaGFuZ2VkID0gdGhpcy5wcmV2aW91c1NwZWVkICE9PSBjdXJyZW50U3BlZWQ7XHJcblxyXG4gICAgdGhpcy5wcmV2aW91c1R5cGUgPSBjdXJyZW50VHlwZTtcclxuICAgIHRoaXMucHJldmlvdXNTcGVlZCA9IGN1cnJlbnRTcGVlZDtcclxuXHJcbiAgICBjb25zdCBhbmltYXRpb25OYW1lID0gdGhpcy5nZXRBbmltYXRpb25OYW1lKGN1cnJlbnRUeXBlKTtcclxuICAgIGNvbnN0IGR1cmF0aW9uID0gdGhpcy5nZXRBbmltYXRpb25TcGVlZChjdXJyZW50U3BlZWQpO1xyXG5cclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5lbC5uYXRpdmVFbGVtZW50LCAncG9zaXRpb24nLCAncmVsYXRpdmUnKTtcclxuXHJcbiAgICBpZiAodHlwZUNoYW5nZWQgfHwgc3BlZWRDaGFuZ2VkIHx8IGZvcmNlKSB7XHJcbiAgICAgIHRoaXMucmVzdGFydEFuaW1hdGlvbihhbmltYXRpb25OYW1lLCBkdXJhdGlvbik7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHJlc3RhcnRBbmltYXRpb24oXHJcbiAgICBuYW1lOiBzdHJpbmcsXHJcbiAgICBkdXJhdGlvblNlYzogc3RyaW5nIHwgbnVsbFxyXG4gICk6IHZvaWQge1xyXG4gICAgY29uc3QgZWwgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQ7XHJcblxyXG4gICAgLy8g8J+UgSBGb3JjZSBhbmltYXRpb24gcmVzdGFydFxyXG4gICAgZWwuc3R5bGUuYW5pbWF0aW9uID0gJ25vbmUnO1xyXG4gICAgZWwub2Zmc2V0SGVpZ2h0OyAvLyBGb3JjZSByZWZsb3dcclxuXHJcbiAgICBpZiAoIW5hbWUgfHwgbmFtZSA9PT0gJ25vbmUnKSB7XHJcbiAgICAgIGVsLnN0eWxlLnJlbW92ZVByb3BlcnR5KCdhbmltYXRpb24nKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGR1cmF0aW9uID0gZHVyYXRpb25TZWMgPz8gJzAuOHMnO1xyXG4gICAgZWwuc3R5bGUuYW5pbWF0aW9uID0gYCR7bmFtZX0gJHtkdXJhdGlvbn0gZWFzZSBib3RoYDtcclxuICB9XHJcblxyXG4gIC8qIC0tLS0tLS0tLS0tLS0tLS0tLSBIRUxQRVJTIC0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG5cclxuICBwcml2YXRlIGdldEFuaW1hdGlvbk5hbWUodHlwZT86IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICBzd2l0Y2ggKHR5cGUpIHtcclxuICAgICAgY2FzZSAnbGVmdCc6XHJcbiAgICAgICAgcmV0dXJuICdhbmltYXRlbGVmdCc7XHJcbiAgICAgIGNhc2UgJ3JpZ2h0JzpcclxuICAgICAgICByZXR1cm4gJ2FuaW1hdGVyaWdodCc7XHJcbiAgICAgIGNhc2UgJ3RvcCc6XHJcbiAgICAgICAgcmV0dXJuICdhbmltYXRldG9wJztcclxuICAgICAgY2FzZSAnYm90dG9tJzpcclxuICAgICAgICByZXR1cm4gJ2FuaW1hdGVib3R0b20nO1xyXG4gICAgICBjYXNlICdmYWRlSW4nOlxyXG4gICAgICAgIHJldHVybiAnb3BhYyc7XHJcbiAgICAgIGNhc2UgJ3pvb20nOlxyXG4gICAgICAgIHJldHVybiAnYW5pbWF0ZXpvb20nO1xyXG4gICAgICBjYXNlICdub25lJzpcclxuICAgICAgICByZXR1cm4gJ25vbmUnO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHJldHVybiAnJztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0QW5pbWF0aW9uU3BlZWQoc3BlZWQ/OiBBTklNQVRJT05fU1BFRUQpOiBzdHJpbmcgfCBudWxsIHtcclxuICAgIGlmICghc3BlZWQpIHJldHVybiBudWxsO1xyXG4gICAgcmV0dXJuIGFuaW1hdGlvbi5zcGVlZD8uW3NwZWVkXSA/PyBudWxsO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
108
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5pbWF0aW9uLWRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpbXBvLXVpL3NyYy9saWIvZGlyZWN0aXZlL2FuaW1hdGlvbi1kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxLQUFLLEdBTU4sTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7QUFTNUMsTUFBTSxPQUFPLGtCQUFrQjtJQU03QixZQUNVLEVBQTJCLEVBQzNCLFFBQW1CLEVBQ25CLFlBQTJCO1FBRjNCLE9BQUUsR0FBRixFQUFFLENBQXlCO1FBQzNCLGFBQVEsR0FBUixRQUFRLENBQVc7UUFDbkIsaUJBQVksR0FBWixZQUFZLENBQWU7UUFFbkMscURBQXFEO1FBQ3JELElBQUksQ0FBQyx3QkFBd0IsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLHFCQUFxQixDQUFDLFNBQVMsQ0FDL0UsQ0FBQyxHQUFRLEVBQUUsRUFBRTtZQUNYLElBQUksSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsRUFBRSxLQUFLLEdBQUcsRUFBRSxFQUFFLEVBQUUsQ0FBQztnQkFDekMsSUFBSSxDQUFDLGFBQWEsR0FBRyxHQUFHLEVBQUUsSUFBSSxDQUFDO2dCQUMvQixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDeEIsQ0FBQztRQUNILENBQUMsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVELFdBQVcsQ0FBQyxRQUF1QjtRQUNqQyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQyxRQUFRO1lBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsQ0FBQztR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LFFBQVE7Z0JBQ1gsT0FBTyxlQUFlLENBQUM7WUFDekIsS0FBSyxRQUFRO2dCQUNYLE9BQU8sTUFBTSxDQUFDO1lBQ2hCLEtBQUssTUFBTTtnQkFDVCxPQUFPLGFBQWEsQ0FBQztZQUN2QixLQUFLLE1BQU07Z0JBQ1QsT0FBTyxNQUFNLENBQUM7WUFDaEI7Z0JBQ0UsT0FBTyxFQUFFLENBQUMsQ0FBQyxlQUFlO1FBQzlCLENBQUM7SUFDSCxDQUFDO0lBRU8saUJBQWlCLENBQUMsS0FBdUI7UUFDL0MsSUFBSSxDQUFDLEtBQUs7WUFBRSxPQUFPLElBQUksQ0FBQztRQUN4QixPQUFPLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUM7SUFDMUMsQ0FBQzsrR0E5R1Usa0JBQWtCO21HQUFsQixrQkFBa0I7OzRGQUFsQixrQkFBa0I7a0JBSjlCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGtCQUFrQjtvQkFDNUIsVUFBVSxFQUFFLElBQUk7aUJBQ2pCO21JQUUwQixhQUFhO3NCQUFyQyxLQUFLO3VCQUFDLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgRGlyZWN0aXZlLFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgSW5wdXQsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIE9uRGVzdHJveSxcclxuICBPbkluaXQsXHJcbiAgUmVuZGVyZXIyLFxyXG4gIFNpbXBsZUNoYW5nZXMsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGFuaW1hdGlvbiB9IGZyb20gJy4uL3N0eWxlcy9pbmRleCc7XHJcbmltcG9ydCB7IEFuaW1hdGlvbk1vZGVsIH0gZnJvbSAnLi4vc3R5bGVzL3N0eWxlLm1vZGVsJztcclxuaW1wb3J0IHsgRXZlbnRzU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2V2ZW50cy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQU5JTUFUSU9OX1NQRUVEIH0gZnJvbSAnLi4vc3R5bGVzL3R5cGVzJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW3NpbXBvQW5pbWF0aW9uXScsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFuaW1hdGlvbkRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xyXG4gIEBJbnB1dCgnc2ltcG9BbmltYXRpb24nKSBhbmltYXRpb25EYXRhPzogQW5pbWF0aW9uTW9kZWw7XHJcblxyXG4gIHByaXZhdGUgb2JzZXJ2ZXI/OiBJbnRlcnNlY3Rpb25PYnNlcnZlcjtcclxuICBwcml2YXRlIGV2ZW50U2VydmljZVN1YnNjcmlwdGlvbjogYW55O1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgZWw6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxyXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxyXG4gICAgcHJpdmF0ZSBldmVudFNlcnZpY2U6IEV2ZW50c1NlcnZpY2VcclxuICApIHtcclxuICAgIC8vIExpc3RlbiBmb3IgZXh0ZXJuYWwgY2hhbmdlcyBhbmQgcmUtYXBwbHkgYW5pbWF0aW9uXHJcbiAgICB0aGlzLmV2ZW50U2VydmljZVN1YnNjcmlwdGlvbiA9IHRoaXMuZXZlbnRTZXJ2aWNlLmFuaW1hdGlvbkNoYW5nZUNoZWNrcy5zdWJzY3JpYmUoXHJcbiAgICAgIChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgIGlmICh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuaWQgPT09IHJlcz8uaWQpIHtcclxuICAgICAgICAgIHRoaXMuYW5pbWF0aW9uRGF0YSA9IHJlcz8uZGF0YTtcclxuICAgICAgICAgIHRoaXMuYXBwbHlBbmltYXRpb24oKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuY3JlYXRlT2JzZXJ2ZXIoKTtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKF9jaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICB0aGlzLmFwcGx5QW5pbWF0aW9uKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLm9ic2VydmVyKSB0aGlzLm9ic2VydmVyLmRpc2Nvbm5lY3QoKTtcclxuICAgIGlmICh0aGlzLmV2ZW50U2VydmljZVN1YnNjcmlwdGlvbikgdGhpcy5ldmVudFNlcnZpY2VTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG5cclxuICBwcml2YXRlIGNyZWF0ZU9ic2VydmVyKCk6IHZvaWQge1xyXG4gICAgaWYgKHR5cGVvZiB3aW5kb3cgPT09ICd1bmRlZmluZWQnIHx8ICEoJ0ludGVyc2VjdGlvbk9ic2VydmVyJyBpbiB3aW5kb3cpKSB7XHJcbiAgICAgIHRoaXMuYXBwbHlBbmltYXRpb24oKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IG9wdGlvbnM6IEludGVyc2VjdGlvbk9ic2VydmVySW5pdCA9IHtcclxuICAgICAgcm9vdDogbnVsbCxcclxuICAgICAgdGhyZXNob2xkOiAwLjEsXHJcbiAgICB9O1xyXG5cclxuICAgIHRoaXMub2JzZXJ2ZXIgPSBuZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoKGVudHJpZXMpID0+IHtcclxuICAgICAgZW50cmllcy5mb3JFYWNoKChlbnRyeSkgPT4ge1xyXG4gICAgICAgIGlmIChcclxuICAgICAgICAgIGVudHJ5LmlzSW50ZXJzZWN0aW5nICYmXHJcbiAgICAgICAgICAhdGhpcy5lbC5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5jb250YWlucygndmlzaWJsZScpXHJcbiAgICAgICAgKSB7XHJcbiAgICAgICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmFkZCgndmlzaWJsZScpO1xyXG4gICAgICAgICAgdGhpcy5hcHBseUFuaW1hdGlvbigpO1xyXG4gICAgICAgICAgdGhpcy5vYnNlcnZlcj8udW5vYnNlcnZlKHRoaXMuZWwubmF0aXZlRWxlbWVudCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0sIG9wdGlvbnMpO1xyXG5cclxuICAgIHRoaXMub2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhcHBseUFuaW1hdGlvbigpOiB2b2lkIHtcclxuICAgIGNvbnN0IG5hbWUgPSB0aGlzLmdldEFuaW1hdGlvbk5hbWUoKTtcclxuICAgIGNvbnN0IGR1cmF0aW9uID0gdGhpcy5nZXRBbmltYXRpb25TcGVlZCh0aGlzLmFuaW1hdGlvbkRhdGE/LnNwZWVkKTtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5lbC5uYXRpdmVFbGVtZW50LCAncG9zaXRpb24nLCAncmVsYXRpdmUnKTtcclxuICAgIHRoaXMucmVzdGFydEFuaW1hdGlvbihuYW1lLCBkdXJhdGlvbik7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHJlc3RhcnRBbmltYXRpb24obmFtZTogc3RyaW5nLCBkdXJhdGlvblNlYzogc3RyaW5nIHwgbnVsbCk6IHZvaWQge1xyXG4gICAgY29uc3QgZWwgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQ7XHJcblxyXG4gICAgZWwuc3R5bGUuYW5pbWF0aW9uID0gJ25vbmUnO1xyXG4gICAgZWwub2Zmc2V0SGVpZ2h0O1xyXG5cclxuICAgIGlmICghbmFtZSB8fCBuYW1lID09PSAnbm9uZScpIHtcclxuICAgICAgZWwuc3R5bGUucmVtb3ZlUHJvcGVydHkoJ2FuaW1hdGlvbicpO1xyXG4gICAgICBlbC5zdHlsZS5yZW1vdmVQcm9wZXJ0eSgnYW5pbWF0aW9uLW5hbWUnKTtcclxuICAgICAgZWwuc3R5bGUucmVtb3ZlUHJvcGVydHkoJ2FuaW1hdGlvbi1kdXJhdGlvbicpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgZHVyID0gZHVyYXRpb25TZWMgPz8gJzAuOHMnO1xyXG4gICAgZWwuc3R5bGUuYW5pbWF0aW9uID0gYCR7bmFtZX0gJHtkdXJ9IGVhc2UgYm90aGA7XHJcbiAgfVxyXG4gIHByaXZhdGUgZ2V0QW5pbWF0aW9uTmFtZSgpOiBzdHJpbmcge1xyXG4gICAgc3dpdGNoICh0aGlzLmFuaW1hdGlvbkRhdGE/LnR5cGUpIHtcclxuICAgICAgY2FzZSAnbGVmdCc6XHJcbiAgICAgICAgcmV0dXJuICdhbmltYXRlbGVmdCc7XHJcbiAgICAgIGNhc2UgJ3JpZ2h0JzpcclxuICAgICAgICByZXR1cm4gJ2FuaW1hdGVyaWdodCc7XHJcbiAgICAgIGNhc2UgJ3RvcCc6XHJcbiAgICAgICAgcmV0dXJuICdhbmltYXRldG9wJztcclxuICAgICAgY2FzZSAnYm90dG9tJzpcclxuICAgICAgICByZXR1cm4gJ2FuaW1hdGVib3R0b20nO1xyXG4gICAgICBjYXNlICdmYWRlSW4nOlxyXG4gICAgICAgIHJldHVybiAnb3BhYyc7XHJcbiAgICAgIGNhc2UgJ3pvb20nOlxyXG4gICAgICAgIHJldHVybiAnYW5pbWF0ZXpvb20nO1xyXG4gICAgICBjYXNlICdub25lJzpcclxuICAgICAgICByZXR1cm4gJ25vbmUnO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHJldHVybiAnJzsgLy8gbm8gYW5pbWF0aW9uXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldEFuaW1hdGlvblNwZWVkKHNwZWVkPzogQU5JTUFUSU9OX1NQRUVEKTogc3RyaW5nIHwgbnVsbCB7XHJcbiAgICBpZiAoIXNwZWVkKSByZXR1cm4gbnVsbDtcclxuICAgIHJldHVybiBhbmltYXRpb24uc3BlZWQ/LltzcGVlZF0gPz8gbnVsbDtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -4255,16 +4255,14 @@ class AnimationDirective {
|
|
|
4255
4255
|
this.el = el;
|
|
4256
4256
|
this.renderer = renderer;
|
|
4257
4257
|
this.eventService = eventService;
|
|
4258
|
-
//
|
|
4259
|
-
this.eventServiceSubscription =
|
|
4260
|
-
this.
|
|
4261
|
-
|
|
4262
|
-
|
|
4263
|
-
|
|
4264
|
-
|
|
4265
|
-
});
|
|
4258
|
+
// Listen for external changes and re-apply animation
|
|
4259
|
+
this.eventServiceSubscription = this.eventService.animationChangeChecks.subscribe((res) => {
|
|
4260
|
+
if (this.el.nativeElement.id === res?.id) {
|
|
4261
|
+
this.animationData = res?.data;
|
|
4262
|
+
this.applyAnimation();
|
|
4263
|
+
}
|
|
4264
|
+
});
|
|
4266
4265
|
}
|
|
4267
|
-
/* ------------------ LIFECYCLE ------------------ */
|
|
4268
4266
|
ngOnInit() {
|
|
4269
4267
|
this.createObserver();
|
|
4270
4268
|
}
|
|
@@ -4272,56 +4270,53 @@ class AnimationDirective {
|
|
|
4272
4270
|
this.applyAnimation();
|
|
4273
4271
|
}
|
|
4274
4272
|
ngOnDestroy() {
|
|
4275
|
-
this.observer
|
|
4276
|
-
|
|
4273
|
+
if (this.observer)
|
|
4274
|
+
this.observer.disconnect();
|
|
4275
|
+
if (this.eventServiceSubscription)
|
|
4276
|
+
this.eventServiceSubscription.unsubscribe();
|
|
4277
4277
|
}
|
|
4278
|
-
/* ------------------ OBSERVER ------------------ */
|
|
4279
4278
|
createObserver() {
|
|
4280
4279
|
if (typeof window === 'undefined' || !('IntersectionObserver' in window)) {
|
|
4281
|
-
this.applyAnimation(
|
|
4280
|
+
this.applyAnimation();
|
|
4282
4281
|
return;
|
|
4283
4282
|
}
|
|
4283
|
+
const options = {
|
|
4284
|
+
root: null,
|
|
4285
|
+
threshold: 0.1,
|
|
4286
|
+
};
|
|
4284
4287
|
this.observer = new IntersectionObserver((entries) => {
|
|
4285
4288
|
entries.forEach((entry) => {
|
|
4286
|
-
if (entry.isIntersecting
|
|
4287
|
-
this.
|
|
4289
|
+
if (entry.isIntersecting &&
|
|
4290
|
+
!this.el.nativeElement.classList.contains('visible')) {
|
|
4291
|
+
this.el.nativeElement.classList.add('visible');
|
|
4292
|
+
this.applyAnimation();
|
|
4293
|
+
this.observer?.unobserve(this.el.nativeElement);
|
|
4288
4294
|
}
|
|
4289
4295
|
});
|
|
4290
|
-
},
|
|
4296
|
+
}, options);
|
|
4291
4297
|
this.observer.observe(this.el.nativeElement);
|
|
4292
4298
|
}
|
|
4293
|
-
|
|
4294
|
-
|
|
4295
|
-
|
|
4296
|
-
return;
|
|
4297
|
-
const currentType = this.animationData.type;
|
|
4298
|
-
const currentSpeed = this.animationData.speed;
|
|
4299
|
-
const typeChanged = this.previousType !== currentType;
|
|
4300
|
-
const speedChanged = this.previousSpeed !== currentSpeed;
|
|
4301
|
-
this.previousType = currentType;
|
|
4302
|
-
this.previousSpeed = currentSpeed;
|
|
4303
|
-
const animationName = this.getAnimationName(currentType);
|
|
4304
|
-
const duration = this.getAnimationSpeed(currentSpeed);
|
|
4299
|
+
applyAnimation() {
|
|
4300
|
+
const name = this.getAnimationName();
|
|
4301
|
+
const duration = this.getAnimationSpeed(this.animationData?.speed);
|
|
4305
4302
|
this.renderer.setStyle(this.el.nativeElement, 'position', 'relative');
|
|
4306
|
-
|
|
4307
|
-
this.restartAnimation(animationName, duration);
|
|
4308
|
-
}
|
|
4303
|
+
this.restartAnimation(name, duration);
|
|
4309
4304
|
}
|
|
4310
4305
|
restartAnimation(name, durationSec) {
|
|
4311
4306
|
const el = this.el.nativeElement;
|
|
4312
|
-
// 🔁 Force animation restart
|
|
4313
4307
|
el.style.animation = 'none';
|
|
4314
|
-
el.offsetHeight;
|
|
4308
|
+
el.offsetHeight;
|
|
4315
4309
|
if (!name || name === 'none') {
|
|
4316
4310
|
el.style.removeProperty('animation');
|
|
4311
|
+
el.style.removeProperty('animation-name');
|
|
4312
|
+
el.style.removeProperty('animation-duration');
|
|
4317
4313
|
return;
|
|
4318
4314
|
}
|
|
4319
|
-
const
|
|
4320
|
-
el.style.animation = `${name} ${
|
|
4315
|
+
const dur = durationSec ?? '0.8s';
|
|
4316
|
+
el.style.animation = `${name} ${dur} ease both`;
|
|
4321
4317
|
}
|
|
4322
|
-
|
|
4323
|
-
|
|
4324
|
-
switch (type) {
|
|
4318
|
+
getAnimationName() {
|
|
4319
|
+
switch (this.animationData?.type) {
|
|
4325
4320
|
case 'left':
|
|
4326
4321
|
return 'animateleft';
|
|
4327
4322
|
case 'right':
|
|
@@ -4337,7 +4332,7 @@ class AnimationDirective {
|
|
|
4337
4332
|
case 'none':
|
|
4338
4333
|
return 'none';
|
|
4339
4334
|
default:
|
|
4340
|
-
return '';
|
|
4335
|
+
return ''; // no animation
|
|
4341
4336
|
}
|
|
4342
4337
|
}
|
|
4343
4338
|
getAnimationSpeed(speed) {
|