@vectoriox/iox-ui 4.0.2 → 4.0.4
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/fesm2022/vectoriox-iox-ui.mjs +376 -35
- package/fesm2022/vectoriox-iox-ui.mjs.map +1 -1
- package/index.d.ts +95 -6
- package/package.json +11 -5
|
@@ -1,13 +1,18 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { EventEmitter, HostListener, Output, Input, Directive, NgModule, Injectable, ViewChild, Component, Host, Optional, forwardRef, Inject } from '@angular/core';
|
|
2
|
+
import { EventEmitter, HostListener, Output, Input, Directive, NgModule, Injectable, ViewChild, Component, Host, Optional, forwardRef, Inject, PLATFORM_ID, InjectionToken } from '@angular/core';
|
|
3
3
|
import * as i2 from '@angular/animations';
|
|
4
4
|
import { style, animate } from '@angular/animations';
|
|
5
|
-
import { Subject,
|
|
5
|
+
import { Subject, of } from 'rxjs';
|
|
6
6
|
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
|
|
7
7
|
import { Masonry } from '@fristys/masonry';
|
|
8
8
|
import { BrowserModule } from '@angular/platform-browser';
|
|
9
|
-
import
|
|
9
|
+
import * as i3 from '@angular/common';
|
|
10
|
+
import { isPlatformBrowser, CommonModule } from '@angular/common';
|
|
10
11
|
import Lenis from 'lenis';
|
|
12
|
+
import * as i1 from 'ngx-cookie-service';
|
|
13
|
+
import { CookieService } from 'ngx-cookie-service';
|
|
14
|
+
import * as i1$1 from '@angular/common/http';
|
|
15
|
+
import { map } from 'rxjs/operators';
|
|
11
16
|
|
|
12
17
|
class ViewPositionDirective {
|
|
13
18
|
constructor(_elr) {
|
|
@@ -486,7 +491,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
|
|
|
486
491
|
}] });
|
|
487
492
|
|
|
488
493
|
class PageScrollProvider {
|
|
494
|
+
constructor(platformId) {
|
|
495
|
+
this.platformId = platformId;
|
|
496
|
+
}
|
|
489
497
|
init(options) {
|
|
498
|
+
if (!isPlatformBrowser(this.platformId))
|
|
499
|
+
return;
|
|
490
500
|
if (this.lenis) {
|
|
491
501
|
this.lenis.destroy();
|
|
492
502
|
}
|
|
@@ -508,65 +518,78 @@ class PageScrollProvider {
|
|
|
508
518
|
}
|
|
509
519
|
return this.lenis;
|
|
510
520
|
}
|
|
521
|
+
destroy() {
|
|
522
|
+
if (this.lenis) {
|
|
523
|
+
this.lenis.destroy();
|
|
524
|
+
this.lenis = undefined;
|
|
525
|
+
}
|
|
526
|
+
if (this.rafId != null) {
|
|
527
|
+
cancelAnimationFrame(this.rafId);
|
|
528
|
+
this.rafId = undefined;
|
|
529
|
+
}
|
|
530
|
+
}
|
|
511
531
|
startLoop() {
|
|
512
|
-
if (!this.lenis)
|
|
532
|
+
if (!this.lenis)
|
|
513
533
|
return;
|
|
514
|
-
}
|
|
515
534
|
const loop = (time) => {
|
|
516
535
|
this.lenis.raf(time);
|
|
517
536
|
this.rafId = requestAnimationFrame(loop);
|
|
518
537
|
};
|
|
519
538
|
this.rafId = requestAnimationFrame(loop);
|
|
520
539
|
}
|
|
521
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: PageScrollProvider, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
540
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: PageScrollProvider, deps: [{ token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
522
541
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: PageScrollProvider }); }
|
|
523
542
|
}
|
|
524
543
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: PageScrollProvider, decorators: [{
|
|
525
544
|
type: Injectable
|
|
526
|
-
}]
|
|
545
|
+
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
546
|
+
type: Inject,
|
|
547
|
+
args: [PLATFORM_ID]
|
|
548
|
+
}] }] });
|
|
527
549
|
|
|
528
550
|
class IoxPageComponent {
|
|
529
|
-
constructor(pageScrollProvider) {
|
|
551
|
+
constructor(pageScrollProvider, platformId) {
|
|
530
552
|
this.pageScrollProvider = pageScrollProvider;
|
|
553
|
+
this.platformId = platformId;
|
|
531
554
|
this.class = '';
|
|
532
555
|
this.scrollEvent = new EventEmitter();
|
|
533
556
|
}
|
|
534
557
|
ngAfterViewInit() {
|
|
535
|
-
if (this.page)
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
this.
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
558
|
+
if (!isPlatformBrowser(this.platformId) || !this.page)
|
|
559
|
+
return;
|
|
560
|
+
this.pageScrollProvider.init({
|
|
561
|
+
wrapper: this.page.nativeElement,
|
|
562
|
+
content: this.page.nativeElement.querySelector('.page-mask'),
|
|
563
|
+
duration: 1.2,
|
|
564
|
+
easing: (t) => Math.min(1, 1.001 - Math.pow(2, -10 * t)),
|
|
565
|
+
});
|
|
566
|
+
this.pageScrollProvider.instance.on('scroll', ({ scroll, progress }) => {
|
|
567
|
+
const el = this.page.nativeElement;
|
|
568
|
+
this.scrollEvent.emit({
|
|
569
|
+
scrollTop: scroll,
|
|
570
|
+
scrollLeft: 0,
|
|
571
|
+
scrollHeight: el.scrollHeight,
|
|
572
|
+
scrollWidth: el.scrollWidth,
|
|
573
|
+
clientHeight: el.clientHeight,
|
|
574
|
+
clientWidth: el.clientWidth,
|
|
575
|
+
scrollPercentage: progress * 100,
|
|
544
576
|
});
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
onScroll(event) {
|
|
548
|
-
const target = event.target;
|
|
549
|
-
const scrollTop = target.scrollTop;
|
|
550
|
-
const scrollLeft = target.scrollLeft;
|
|
551
|
-
const scrollHeight = target.scrollHeight;
|
|
552
|
-
const scrollWidth = target.scrollWidth;
|
|
553
|
-
const clientHeight = target.clientHeight;
|
|
554
|
-
const clientWidth = target.clientWidth;
|
|
555
|
-
const scrollPercentage = (scrollTop / (scrollHeight - clientHeight)) * 100;
|
|
556
|
-
this.scrollEvent.emit({ scrollTop, scrollLeft, scrollHeight, scrollWidth, clientHeight, clientWidth, scrollPercentage });
|
|
577
|
+
el.dispatchEvent(new Event('scroll'));
|
|
578
|
+
});
|
|
557
579
|
}
|
|
558
580
|
ngOnDestroy() {
|
|
559
|
-
|
|
560
|
-
this.scrollSubscription.unsubscribe();
|
|
561
|
-
}
|
|
581
|
+
this.pageScrollProvider.destroy();
|
|
562
582
|
}
|
|
563
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: IoxPageComponent, deps: [{ token: PageScrollProvider }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
583
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: IoxPageComponent, deps: [{ token: PageScrollProvider }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
564
584
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.15", type: IoxPageComponent, isStandalone: false, selector: "iox-page-component", inputs: { class: "class" }, outputs: { scrollEvent: "scrollEvent" }, viewQueries: [{ propertyName: "page", first: true, predicate: ["page"], descendants: true }], ngImport: i0, template: "<div #page [class]=\"class\" class=\"iox-page-wrapper\">\n <div class=\"page-mask\">\n <ng-content></ng-content>\n </div>\n</div>\n", styles: [":host{position:absolute;inset:0}.iox-page-wrapper{position:relative;width:100%;height:100%;overflow:auto}.page-mask{min-height:100%}\n"] }); }
|
|
565
585
|
}
|
|
566
586
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: IoxPageComponent, decorators: [{
|
|
567
587
|
type: Component,
|
|
568
588
|
args: [{ selector: 'iox-page-component', standalone: false, template: "<div #page [class]=\"class\" class=\"iox-page-wrapper\">\n <div class=\"page-mask\">\n <ng-content></ng-content>\n </div>\n</div>\n", styles: [":host{position:absolute;inset:0}.iox-page-wrapper{position:relative;width:100%;height:100%;overflow:auto}.page-mask{min-height:100%}\n"] }]
|
|
569
|
-
}], ctorParameters: () => [{ type: PageScrollProvider }
|
|
589
|
+
}], ctorParameters: () => [{ type: PageScrollProvider }, { type: undefined, decorators: [{
|
|
590
|
+
type: Inject,
|
|
591
|
+
args: [PLATFORM_ID]
|
|
592
|
+
}] }], propDecorators: { class: [{
|
|
570
593
|
type: Input
|
|
571
594
|
}], page: [{
|
|
572
595
|
type: ViewChild,
|
|
@@ -604,6 +627,324 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
|
|
|
604
627
|
}]
|
|
605
628
|
}] });
|
|
606
629
|
|
|
630
|
+
var PrivacyModelEvent;
|
|
631
|
+
(function (PrivacyModelEvent) {
|
|
632
|
+
PrivacyModelEvent[PrivacyModelEvent["OPEN"] = 1] = "OPEN";
|
|
633
|
+
PrivacyModelEvent[PrivacyModelEvent["CLOSE"] = 2] = "CLOSE";
|
|
634
|
+
})(PrivacyModelEvent || (PrivacyModelEvent = {}));
|
|
635
|
+
class PrivacyModalService {
|
|
636
|
+
constructor() {
|
|
637
|
+
this.modalEvent = new Subject();
|
|
638
|
+
this.decisionSubject = null;
|
|
639
|
+
}
|
|
640
|
+
registerModalEvent(func) {
|
|
641
|
+
this.modalEvent.subscribe({
|
|
642
|
+
next: (val) => {
|
|
643
|
+
func(val);
|
|
644
|
+
}
|
|
645
|
+
});
|
|
646
|
+
}
|
|
647
|
+
openModal() {
|
|
648
|
+
this.modalEvent.next(PrivacyModelEvent.OPEN);
|
|
649
|
+
this.decisionSubject = new Subject();
|
|
650
|
+
return this.decisionSubject;
|
|
651
|
+
}
|
|
652
|
+
closeModal() {
|
|
653
|
+
this.modalEvent.next(PrivacyModelEvent.CLOSE);
|
|
654
|
+
}
|
|
655
|
+
notifyDecision(accepted) {
|
|
656
|
+
if (this.decisionSubject) {
|
|
657
|
+
this.decisionSubject.next(accepted);
|
|
658
|
+
this.decisionSubject.complete();
|
|
659
|
+
this.decisionSubject = null;
|
|
660
|
+
}
|
|
661
|
+
this.closeModal();
|
|
662
|
+
}
|
|
663
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: PrivacyModalService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
664
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: PrivacyModalService }); }
|
|
665
|
+
}
|
|
666
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: PrivacyModalService, decorators: [{
|
|
667
|
+
type: Injectable
|
|
668
|
+
}], ctorParameters: () => [] });
|
|
669
|
+
|
|
670
|
+
class ConsentService {
|
|
671
|
+
constructor(cookieService, httpClient, _privacyModalService, environment) {
|
|
672
|
+
this.cookieService = cookieService;
|
|
673
|
+
this.httpClient = httpClient;
|
|
674
|
+
this._privacyModalService = _privacyModalService;
|
|
675
|
+
this.environment = environment;
|
|
676
|
+
this.WEB_USER = "webUser";
|
|
677
|
+
}
|
|
678
|
+
hasAnalyticsConsent() {
|
|
679
|
+
const cookieValue = this.cookieService.get(this.WEB_USER);
|
|
680
|
+
if (!cookieValue) {
|
|
681
|
+
return false;
|
|
682
|
+
}
|
|
683
|
+
try {
|
|
684
|
+
const parsedCookieValue = JSON.parse(cookieValue);
|
|
685
|
+
return parsedCookieValue.user?.consent?.analyticsConsent === true;
|
|
686
|
+
}
|
|
687
|
+
catch {
|
|
688
|
+
// Invalid JSON or unexpected structure: treat as no consent
|
|
689
|
+
return false;
|
|
690
|
+
}
|
|
691
|
+
}
|
|
692
|
+
checkAnalyticsConsent() {
|
|
693
|
+
if (this.hasAnalyticsConsent()) {
|
|
694
|
+
// Consent already given, return true immediately as Observable
|
|
695
|
+
return of(true);
|
|
696
|
+
}
|
|
697
|
+
// No consent yet (or invalid/missing cookie) -> show modal
|
|
698
|
+
return this._privacyModalService.openModal();
|
|
699
|
+
}
|
|
700
|
+
checkMarketingConsent() {
|
|
701
|
+
let cookieValue = this.cookieService.get(this.WEB_USER);
|
|
702
|
+
if (!cookieValue) {
|
|
703
|
+
return false;
|
|
704
|
+
}
|
|
705
|
+
let parsedCookieValue = JSON.parse(cookieValue);
|
|
706
|
+
return parsedCookieValue.user?.consent?.marketingConsent;
|
|
707
|
+
}
|
|
708
|
+
setConsent(analytics, marketing) {
|
|
709
|
+
let cookieValue = this.cookieService.get(this.WEB_USER);
|
|
710
|
+
let parsedCookieValue = cookieValue ? JSON.parse(cookieValue) : { user: { consent: {
|
|
711
|
+
anonymousId: this.generateAnonymousId()
|
|
712
|
+
} } };
|
|
713
|
+
parsedCookieValue.user.consent.analyticsConsent = analytics;
|
|
714
|
+
parsedCookieValue.user.consent.marketingConsent = marketing;
|
|
715
|
+
this.cookieService.set(this.WEB_USER, JSON.stringify(parsedCookieValue));
|
|
716
|
+
this.httpClient.post(`${this.environment.HOST}consent`, parsedCookieValue.user.consent)
|
|
717
|
+
.subscribe({
|
|
718
|
+
next: (response) => {
|
|
719
|
+
console.log('Consent updated successfully:', response);
|
|
720
|
+
},
|
|
721
|
+
error: (error) => {
|
|
722
|
+
console.error('Error updating consent:', error);
|
|
723
|
+
}
|
|
724
|
+
});
|
|
725
|
+
}
|
|
726
|
+
generateAnonymousId() {
|
|
727
|
+
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
|
|
728
|
+
var r = Math.random() * 16 | 0, v = c === 'x' ? r : (r & 0x3 | 0x8);
|
|
729
|
+
return v.toString(16);
|
|
730
|
+
});
|
|
731
|
+
}
|
|
732
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ConsentService, deps: [{ token: i1.CookieService }, { token: i1$1.HttpClient }, { token: PrivacyModalService }, { token: ENVIRONMENT }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
733
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ConsentService }); }
|
|
734
|
+
}
|
|
735
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ConsentService, decorators: [{
|
|
736
|
+
type: Injectable
|
|
737
|
+
}], ctorParameters: () => [{ type: i1.CookieService }, { type: i1$1.HttpClient }, { type: PrivacyModalService }, { type: undefined, decorators: [{
|
|
738
|
+
type: Inject,
|
|
739
|
+
args: [ENVIRONMENT]
|
|
740
|
+
}] }] });
|
|
741
|
+
|
|
742
|
+
class PrivacyModalComponent {
|
|
743
|
+
constructor(_privacyModalService, _consentService) {
|
|
744
|
+
this._privacyModalService = _privacyModalService;
|
|
745
|
+
this._consentService = _consentService;
|
|
746
|
+
this.isOpen = false;
|
|
747
|
+
this._privacyModalService.registerModalEvent((event) => {
|
|
748
|
+
if (event == PrivacyModelEvent.CLOSE) {
|
|
749
|
+
this.isOpen = false;
|
|
750
|
+
}
|
|
751
|
+
else {
|
|
752
|
+
this.isOpen = true;
|
|
753
|
+
}
|
|
754
|
+
});
|
|
755
|
+
}
|
|
756
|
+
onAccept() {
|
|
757
|
+
this._consentService.setConsent(true, true);
|
|
758
|
+
this._privacyModalService.notifyDecision(true);
|
|
759
|
+
this.isOpen = false;
|
|
760
|
+
}
|
|
761
|
+
onDecline() {
|
|
762
|
+
this._privacyModalService.notifyDecision(false);
|
|
763
|
+
this.isOpen = false;
|
|
764
|
+
}
|
|
765
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: PrivacyModalComponent, deps: [{ token: PrivacyModalService }, { token: ConsentService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
766
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.15", type: PrivacyModalComponent, isStandalone: false, selector: "privacy-modal", ngImport: i0, template: "<div class=\"privacy-modal\" [ngClass]=\"{'open': isOpen, 'closed': !isOpen}\">\n <div class=\"modal-content\">\n <h2>\u05D0\u05E0\u05D7\u05E0\u05D5 \u05E9\u05D5\u05DE\u05E8\u05D9\u05DD \u05E2\u05DC \u05D4\u05E4\u05E8\u05D8\u05D9\u05D5\u05EA \u05E9\u05DC\u05DA</h2>\n <p dir=\"rtl\">\n <span>\n \u05D0\u05E0\u05D7\u05E0\u05D5 \u05DE\u05E9\u05DE\u05E9\u05D9\u05DD \u05D1\u05E7\u05D1\u05E6\u05D9 \n </span>\n <span>Cookies </span>\n <span>\u05DB\u05D3\u05D9 \u05DC\u05E9\u05E4\u05E8 \u05D0\u05EA \u05D7\u05D5\u05D5\u05D9\u05EA \u05D4\u05D2\u05DC\u05D9\u05E9\u05D4 \u05E9\u05DC\u05DA, \u05DC\u05E0\u05EA\u05D7 \u05E9\u05D9\u05DE\u05D5\u05E9 \u05D1\u05D0\u05EA\u05E8 \u05D5\u05DC\u05D4\u05E6\u05D9\u05E2 \u05EA\u05D5\u05DB\u05DF \u05DE\u05D5\u05EA\u05D0\u05DD \u05D0\u05D9\u05E9\u05D9\u05EA.</span>\n <span> \u05DC\u05DE\u05D9\u05D3\u05E2 \u05E0\u05D5\u05E1\u05E3 \u05E2\u05DC \u05D0\u05D9\u05DA \u05D0\u05E0\u05D7\u05E0\u05D5 \u05DE\u05E9\u05EA\u05DE\u05E9\u05D9\u05DD \u05D1\u05DE\u05D9\u05D3\u05E2 \u05E9\u05DC\u05DA, \u05E8\u05D0\u05D4 \u05D0\u05EA <a target=\"_blank\" href=\"/privacy\">\u05DE\u05D3\u05D9\u05E0\u05D9\u05D5\u05EA \u05D4\u05E4\u05E8\u05D8\u05D9\u05D5\u05EA </a> \u05E9\u05DC\u05E0\u05D5</span>\n </p>\n\n <div class=\"button-container\">\n <button class=\"accept-button\" (click)=\"onAccept()\">\u05D0\u05E0\u05D9 \u05DE\u05E1\u05DB\u05D9\u05DD</button>\n <button class=\"decline-button\" (click)=\"onDecline()\">\u05D0\u05E0\u05D9 \u05DC\u05D0 \u05DE\u05E1\u05DB\u05D9\u05DD</button>\n </div>\n </div>\n</div>\n", styles: [".privacy-modal{padding:2em;background:#fff;border-radius:8px;position:fixed;z-index:10000000000000;bottom:0;left:0;right:0;height:25vh;display:flex;align-items:center;justify-content:center;transform:translateY(100%);transition:transform .3s ease-in-out}.privacy-modal.open{transform:translateY(0);transition:transform .3s ease-in-out}.modal-content{width:40vw;text-align:right}.privacy-modal h2{margin-top:0;text-align:right;font-size:2.1vw;color:#6b4f3b}.privacy-modal p{font-size:1.3vw;color:#6b4f3b}.button-container{display:flex;justify-content:flex-end;margin-top:20px}.button-container button{border:0;margin-inline-start:15px;font-size:1vw}.button-container .accept-button{background:#6b4f3b;color:#fff;padding:.5em 1em;border-radius:4px;cursor:pointer}.button-container .accept-button:hover{background:#5b4332}.button-container .decline-button{background:transparent;color:#6b4f3b;padding:0;cursor:pointer;border-bottom:1px solid #fff}.button-container .decline-button:hover{border-bottom:1px solid #6b4f3b}@media (max-width: 768px){.privacy-modal h2{font-size:8.2vw}.privacy-modal p{font-size:4.2vw}.privacy-modal .modal-content{width:80vw}.privacy-modal .button-container button{font-size:3.2vw}}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
|
|
767
|
+
}
|
|
768
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: PrivacyModalComponent, decorators: [{
|
|
769
|
+
type: Component,
|
|
770
|
+
args: [{ selector: 'privacy-modal', standalone: false, template: "<div class=\"privacy-modal\" [ngClass]=\"{'open': isOpen, 'closed': !isOpen}\">\n <div class=\"modal-content\">\n <h2>\u05D0\u05E0\u05D7\u05E0\u05D5 \u05E9\u05D5\u05DE\u05E8\u05D9\u05DD \u05E2\u05DC \u05D4\u05E4\u05E8\u05D8\u05D9\u05D5\u05EA \u05E9\u05DC\u05DA</h2>\n <p dir=\"rtl\">\n <span>\n \u05D0\u05E0\u05D7\u05E0\u05D5 \u05DE\u05E9\u05DE\u05E9\u05D9\u05DD \u05D1\u05E7\u05D1\u05E6\u05D9 \n </span>\n <span>Cookies </span>\n <span>\u05DB\u05D3\u05D9 \u05DC\u05E9\u05E4\u05E8 \u05D0\u05EA \u05D7\u05D5\u05D5\u05D9\u05EA \u05D4\u05D2\u05DC\u05D9\u05E9\u05D4 \u05E9\u05DC\u05DA, \u05DC\u05E0\u05EA\u05D7 \u05E9\u05D9\u05DE\u05D5\u05E9 \u05D1\u05D0\u05EA\u05E8 \u05D5\u05DC\u05D4\u05E6\u05D9\u05E2 \u05EA\u05D5\u05DB\u05DF \u05DE\u05D5\u05EA\u05D0\u05DD \u05D0\u05D9\u05E9\u05D9\u05EA.</span>\n <span> \u05DC\u05DE\u05D9\u05D3\u05E2 \u05E0\u05D5\u05E1\u05E3 \u05E2\u05DC \u05D0\u05D9\u05DA \u05D0\u05E0\u05D7\u05E0\u05D5 \u05DE\u05E9\u05EA\u05DE\u05E9\u05D9\u05DD \u05D1\u05DE\u05D9\u05D3\u05E2 \u05E9\u05DC\u05DA, \u05E8\u05D0\u05D4 \u05D0\u05EA <a target=\"_blank\" href=\"/privacy\">\u05DE\u05D3\u05D9\u05E0\u05D9\u05D5\u05EA \u05D4\u05E4\u05E8\u05D8\u05D9\u05D5\u05EA </a> \u05E9\u05DC\u05E0\u05D5</span>\n </p>\n\n <div class=\"button-container\">\n <button class=\"accept-button\" (click)=\"onAccept()\">\u05D0\u05E0\u05D9 \u05DE\u05E1\u05DB\u05D9\u05DD</button>\n <button class=\"decline-button\" (click)=\"onDecline()\">\u05D0\u05E0\u05D9 \u05DC\u05D0 \u05DE\u05E1\u05DB\u05D9\u05DD</button>\n </div>\n </div>\n</div>\n", styles: [".privacy-modal{padding:2em;background:#fff;border-radius:8px;position:fixed;z-index:10000000000000;bottom:0;left:0;right:0;height:25vh;display:flex;align-items:center;justify-content:center;transform:translateY(100%);transition:transform .3s ease-in-out}.privacy-modal.open{transform:translateY(0);transition:transform .3s ease-in-out}.modal-content{width:40vw;text-align:right}.privacy-modal h2{margin-top:0;text-align:right;font-size:2.1vw;color:#6b4f3b}.privacy-modal p{font-size:1.3vw;color:#6b4f3b}.button-container{display:flex;justify-content:flex-end;margin-top:20px}.button-container button{border:0;margin-inline-start:15px;font-size:1vw}.button-container .accept-button{background:#6b4f3b;color:#fff;padding:.5em 1em;border-radius:4px;cursor:pointer}.button-container .accept-button:hover{background:#5b4332}.button-container .decline-button{background:transparent;color:#6b4f3b;padding:0;cursor:pointer;border-bottom:1px solid #fff}.button-container .decline-button:hover{border-bottom:1px solid #6b4f3b}@media (max-width: 768px){.privacy-modal h2{font-size:8.2vw}.privacy-modal p{font-size:4.2vw}.privacy-modal .modal-content{width:80vw}.privacy-modal .button-container button{font-size:3.2vw}}\n"] }]
|
|
771
|
+
}], ctorParameters: () => [{ type: PrivacyModalService }, { type: ConsentService }] });
|
|
772
|
+
|
|
773
|
+
class WebSettingsService {
|
|
774
|
+
constructor(httpClient, environment) {
|
|
775
|
+
this.httpClient = httpClient;
|
|
776
|
+
this.environment = environment;
|
|
777
|
+
}
|
|
778
|
+
getSettings() {
|
|
779
|
+
// If the server injected a runtime config (window.__APP_CONFIG) use that first,
|
|
780
|
+
// otherwise fall back to the compile-time environment.HOST.
|
|
781
|
+
const runtimeHost = (typeof window !== 'undefined' && window.__APP_CONFIG && window.__APP_CONFIG.HOST) ? window.__APP_CONFIG.HOST : this.environment.HOST;
|
|
782
|
+
return this.httpClient.get(`${runtimeHost}web/settings`);
|
|
783
|
+
}
|
|
784
|
+
configArrayToObject(arr) {
|
|
785
|
+
return arr.reduce((acc, item) => {
|
|
786
|
+
acc[item.key] = item.value;
|
|
787
|
+
return acc;
|
|
788
|
+
}, {});
|
|
789
|
+
}
|
|
790
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: WebSettingsService, deps: [{ token: i1$1.HttpClient }, { token: ENVIRONMENT }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
791
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: WebSettingsService }); }
|
|
792
|
+
}
|
|
793
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: WebSettingsService, decorators: [{
|
|
794
|
+
type: Injectable
|
|
795
|
+
}], ctorParameters: () => [{ type: i1$1.HttpClient }, { type: undefined, decorators: [{
|
|
796
|
+
type: Inject,
|
|
797
|
+
args: [ENVIRONMENT]
|
|
798
|
+
}] }] });
|
|
799
|
+
|
|
800
|
+
class ContentService {
|
|
801
|
+
constructor(httpClient, environment) {
|
|
802
|
+
this.httpClient = httpClient;
|
|
803
|
+
this.environment = environment;
|
|
804
|
+
this.appContent = {};
|
|
805
|
+
}
|
|
806
|
+
getContent(contentName, id) {
|
|
807
|
+
if (this.appContent[contentName] && this.appContent[contentName].length) {
|
|
808
|
+
if (id) {
|
|
809
|
+
return of(this.findOne(this.appContent[contentName], id));
|
|
810
|
+
}
|
|
811
|
+
return of(this.appContent[contentName]);
|
|
812
|
+
}
|
|
813
|
+
return this.httpClient.get(`${this.environment.HOST}${contentName}`).pipe(map((content) => {
|
|
814
|
+
if (contentName == this.environment.contentResource.SERVICES || contentName == this.environment.contentResource.PROJECTS) {
|
|
815
|
+
content = content.map((item) => {
|
|
816
|
+
item.id = item.name.replace(/ /g, "_");
|
|
817
|
+
//item._id= item.name.replace(/ /g,"_");
|
|
818
|
+
return item;
|
|
819
|
+
});
|
|
820
|
+
}
|
|
821
|
+
this.appContent[contentName] = content;
|
|
822
|
+
if (id) {
|
|
823
|
+
return this.findOne(this.appContent[contentName], id);
|
|
824
|
+
}
|
|
825
|
+
return content;
|
|
826
|
+
}));
|
|
827
|
+
}
|
|
828
|
+
findOne(arr, id) {
|
|
829
|
+
for (let i = 0; i < arr.length; i++) {
|
|
830
|
+
if (arr[i].id == id) {
|
|
831
|
+
return arr[i];
|
|
832
|
+
}
|
|
833
|
+
}
|
|
834
|
+
}
|
|
835
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ContentService, deps: [{ token: i1$1.HttpClient }, { token: ENVIRONMENT }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
836
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ContentService }); }
|
|
837
|
+
}
|
|
838
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ContentService, decorators: [{
|
|
839
|
+
type: Injectable
|
|
840
|
+
}], ctorParameters: () => [{ type: i1$1.HttpClient }, { type: undefined, decorators: [{
|
|
841
|
+
type: Inject,
|
|
842
|
+
args: [ENVIRONMENT]
|
|
843
|
+
}] }] });
|
|
844
|
+
|
|
845
|
+
const ENVIRONMENT = new InjectionToken('environment');
|
|
846
|
+
class CMSClientInfraModule {
|
|
847
|
+
static forRoot(environment) {
|
|
848
|
+
return {
|
|
849
|
+
ngModule: CMSClientInfraModule,
|
|
850
|
+
providers: [
|
|
851
|
+
{ provide: ENVIRONMENT, useValue: environment },
|
|
852
|
+
ConsentService,
|
|
853
|
+
ContentService,
|
|
854
|
+
CookieService,
|
|
855
|
+
WebSettingsService,
|
|
856
|
+
PrivacyModalService
|
|
857
|
+
]
|
|
858
|
+
};
|
|
859
|
+
}
|
|
860
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: CMSClientInfraModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
861
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.15", ngImport: i0, type: CMSClientInfraModule, declarations: [PrivacyModalComponent], imports: [CommonModule], exports: [PrivacyModalComponent] }); }
|
|
862
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: CMSClientInfraModule, imports: [CommonModule] }); }
|
|
863
|
+
}
|
|
864
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: CMSClientInfraModule, decorators: [{
|
|
865
|
+
type: NgModule,
|
|
866
|
+
args: [{
|
|
867
|
+
declarations: [
|
|
868
|
+
PrivacyModalComponent
|
|
869
|
+
],
|
|
870
|
+
imports: [
|
|
871
|
+
CommonModule
|
|
872
|
+
],
|
|
873
|
+
exports: [PrivacyModalComponent]
|
|
874
|
+
}]
|
|
875
|
+
}] });
|
|
876
|
+
|
|
877
|
+
class AnalyticsService {
|
|
878
|
+
constructor(platformId) {
|
|
879
|
+
this.platformId = platformId;
|
|
880
|
+
this.gaScriptId = 'google-analytics-script';
|
|
881
|
+
}
|
|
882
|
+
applyGoogleAnalytics(appId) {
|
|
883
|
+
if (!isPlatformBrowser(this.platformId))
|
|
884
|
+
return;
|
|
885
|
+
// 1. Establish the dataLayer and the CORRECT gtag function stub
|
|
886
|
+
const win = window;
|
|
887
|
+
win.dataLayer = win.dataLayer || [];
|
|
888
|
+
// CRITICAL FIX: The Google library requires the special 'arguments' object,
|
|
889
|
+
// NOT a standard array spread [...args].
|
|
890
|
+
if (!win.gtag) {
|
|
891
|
+
win.gtag = function () {
|
|
892
|
+
win.dataLayer.push(arguments);
|
|
893
|
+
};
|
|
894
|
+
}
|
|
895
|
+
// 2. Queue initial commands immediately (even before script loads)
|
|
896
|
+
win.gtag('js', new Date());
|
|
897
|
+
win.gtag('config', appId);
|
|
898
|
+
// 3. Load the script if not already present
|
|
899
|
+
if (!document.getElementById(this.gaScriptId)) {
|
|
900
|
+
const script = document.createElement('script');
|
|
901
|
+
script.id = this.gaScriptId;
|
|
902
|
+
script.async = true;
|
|
903
|
+
script.src = `https://www.googletagmanager.com/gtag/js?id=${appId}`;
|
|
904
|
+
script.onload = () => {
|
|
905
|
+
console.log('[Analytics] gtag.js script loaded and ready');
|
|
906
|
+
};
|
|
907
|
+
script.onerror = (e) => console.error('[Analytics] gtag.js failed to load', e);
|
|
908
|
+
document.head.appendChild(script);
|
|
909
|
+
}
|
|
910
|
+
}
|
|
911
|
+
// Helper to send events from your components
|
|
912
|
+
sendEvent(eventName, params = {}) {
|
|
913
|
+
if (isPlatformBrowser(this.platformId) && window.gtag) {
|
|
914
|
+
window.gtag('event', eventName, params);
|
|
915
|
+
}
|
|
916
|
+
}
|
|
917
|
+
// Synchronous page view sender that won't rely on internal ready Promise
|
|
918
|
+
sendPageView(path) {
|
|
919
|
+
if (!isPlatformBrowser(this.platformId))
|
|
920
|
+
return;
|
|
921
|
+
const win = window;
|
|
922
|
+
try {
|
|
923
|
+
if (win && win.gtag) {
|
|
924
|
+
// Prefer gtag when available
|
|
925
|
+
win.gtag('event', 'page_view', { page_path: path });
|
|
926
|
+
return;
|
|
927
|
+
}
|
|
928
|
+
// Fallback: ensure dataLayer exists and push a native arguments-like object
|
|
929
|
+
win.dataLayer = win.dataLayer || [];
|
|
930
|
+
// Use a plain object that resembles gtag's usage if gtag not present
|
|
931
|
+
win.dataLayer.push({ event: 'page_view', page_path: path });
|
|
932
|
+
}
|
|
933
|
+
catch (err) {
|
|
934
|
+
console.warn('[Analytics] sendPageView failed', err);
|
|
935
|
+
}
|
|
936
|
+
}
|
|
937
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AnalyticsService, deps: [{ token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
938
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AnalyticsService, providedIn: 'root' }); }
|
|
939
|
+
}
|
|
940
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AnalyticsService, decorators: [{
|
|
941
|
+
type: Injectable,
|
|
942
|
+
args: [{ providedIn: 'root' }]
|
|
943
|
+
}], ctorParameters: () => [{ type: Object, decorators: [{
|
|
944
|
+
type: Inject,
|
|
945
|
+
args: [PLATFORM_ID]
|
|
946
|
+
}] }] });
|
|
947
|
+
|
|
607
948
|
/*
|
|
608
949
|
* Public API Surface of iox-ui
|
|
609
950
|
*/
|
|
@@ -612,5 +953,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
|
|
|
612
953
|
* Generated bundle index. Do not edit.
|
|
613
954
|
*/
|
|
614
955
|
|
|
615
|
-
export { AOSService, IoxAnimateContainer, IoxAosDirective, IoxAosModule, IoxMasonryComponent, IoxMasonryItemDirective, IoxMasonryModule, IoxMasonryService, IoxPageComponent, IoxPageModule, IoxUiModule, PageScrollProvider, ViewPositionDirective, ViewPositionModule };
|
|
956
|
+
export { AOSService, AnalyticsService, CMSClientInfraModule, ConsentService, ContentService, ENVIRONMENT, IoxAnimateContainer, IoxAosDirective, IoxAosModule, IoxMasonryComponent, IoxMasonryItemDirective, IoxMasonryModule, IoxMasonryService, IoxPageComponent, IoxPageModule, IoxUiModule, PageScrollProvider, PrivacyModalComponent, PrivacyModalService, PrivacyModelEvent, ViewPositionDirective, ViewPositionModule, WebSettingsService };
|
|
616
957
|
//# sourceMappingURL=vectoriox-iox-ui.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vectoriox-iox-ui.mjs","sources":["../../../projects/iox-ui/src/lib/view-position/view-position.directive.ts","../../../projects/iox-ui/src/lib/view-position/view-position.module.ts","../../../projects/iox-ui/src/lib/iox-aos/iox-aos-animations.ts","../../../projects/iox-ui/src/lib/iox-aos/iox-aos.service.ts","../../../projects/iox-ui/src/lib/iox-aos/iox-aos-container.component.ts","../../../projects/iox-ui/src/lib/iox-aos/iox-aos.directive.ts","../../../projects/iox-ui/src/lib/iox-aos/iox-aos.module.ts","../../../projects/iox-ui/src/lib/iox-masonry/iox-masonry.service.ts","../../../projects/iox-ui/src/lib/iox-masonry/iox-masonry.component.ts","../../../projects/iox-ui/src/lib/iox-masonry/iox-masonry-item.directive.ts","../../../projects/iox-ui/src/lib/iox-masonry/iox-masonry.module.ts","../../../projects/iox-ui/src/lib/services/page-scroll.provider.ts","../../../projects/iox-ui/src/lib/iox-page/page-component/page-component.component.ts","../../../projects/iox-ui/src/lib/iox-page/page-component/page-component.component.html","../../../projects/iox-ui/src/lib/iox-page/iox-page.module.ts","../../../projects/iox-ui/src/lib/iox-ui.module.ts","../../../projects/iox-ui/src/public-api.ts","../../../projects/iox-ui/src/vectoriox-iox-ui.ts"],"sourcesContent":["import {AfterViewInit, Directive, ElementRef, EventEmitter, HostListener, Input, Output} from '@angular/core';\n\n@Directive({\n selector:'[view-position]',\n standalone: false\n})\n\nexport class ViewPositionDirective implements AfterViewInit{\n\n private _viewPortHighet!:number;\n private _elementHeight!: number;\n private _elementOffseTop!: number;\n private _curterScreen!:number;\n private _halfSscreen!:number;\n \n private _scrollDirection:string= \"Down\";\n private _scrollPos:number = 0;\n public isOnScreen: boolean = false;\n public isHalfScreen: boolean = false;\n \n @Input() data:any\n @Output() onEnter:EventEmitter<any> = new EventEmitter();\n @Output() onLeave:EventEmitter<any> = new EventEmitter();\n @Output() onHalf:EventEmitter<any> = new EventEmitter();\n\n constructor(private _elr:ElementRef){\n this._initScreenDeminitions();\n console.log(`screent highet: ${this._viewPortHighet}`);\n }\n\n\n ngAfterViewInit(): void {\n this._elementOffseTop = this._elr.nativeElement.offsetTop;\n this._elementHeight = this._elr.nativeElement.offsetHeight;\n console.log(`element offset Y = ${this._elementOffseTop}`); \n }\n\n\n @HostListener('window:scroll', ['$event']) onScroll(e: Event): void {\n\n if ((document.body.getBoundingClientRect()).top > this._scrollPos){\n if(this._scrollDirection != \"Up\"){\n this.isHalfScreen =false;\n this._scrollDirection = \"Up\"\n }\n } \n\t else{\n if(this._scrollDirection !=\"Down\"){\n this.isHalfScreen =false;\n this._scrollDirection = \"Down\"\n }\n } \n\t this._scrollPos = (document.body.getBoundingClientRect()).top;\n\n\n let currentClientHight = this._elr.nativeElement.getBoundingClientRect().top;\n if(currentClientHight >= this._viewPortHighet || currentClientHight < -this._elementHeight){\n if(this.isOnScreen){\n this.isOnScreen = false;\n this.onLeave.emit(\"OUT\");\n }\n }else{\n if(!this.isOnScreen){\n this.isOnScreen = true;\n this.onEnter.emit(\"IN\");\n }\n }\n\n if(currentClientHight < this._halfSscreen && currentClientHight > 0 && this._scrollDirection == \"Down\") {\n if(!this.isHalfScreen){\n this.isHalfScreen = true;\n console.log(\"half\")\n this.onHalf.emit(this.data);\n }\n }\n\n if(currentClientHight + this._elementHeight > this._halfSscreen && currentClientHight +this._elementHeight < this._viewPortHighet && this._scrollDirection == \"Up\") {\n if(!this.isHalfScreen){\n this.isHalfScreen = true;\n console.log(\"I am half\")\n this.onHalf.emit(this.data);\n }\n }\n }\n\n @HostListener('window:resize', ['$event']) onResize(e: Event) {\n this._viewPortHighet = window.innerHeight;\n this._initScreenDeminitions();\n }\n \n \n\n private _initScreenDeminitions(){\n this._viewPortHighet = window.innerHeight;\n this._curterScreen = Math.trunc(this._viewPortHighet *0.25);\n this._halfSscreen = Math.trunc(this._viewPortHighet *0.5);\n }\n }","import { NgModule } from '@angular/core';\nimport { ViewPositionDirective } from './view-position.directive';\n\n\n\n@NgModule({\n declarations: [\n ViewPositionDirective\n ],\n imports: [\n ],\n exports: [\n ViewPositionDirective\n ]\n})\nexport class ViewPositionModule { }\n","import { AnimationBuilder, style, animate, keyframes } from '@angular/animations';\n\n/********** Entries Animations ********************/\n\nexport const IoxAnimationStyles: any = {}\n\nIoxAnimationStyles[\"fade-up\"] = (delay:string, duration:string)=>{\n return [style({ opacity: 0, transform: \"translate3d(0,100px,0)\"}),\n animate(`${duration} ${delay} cubic-bezier(0.445, 0.05, 0.55, 0.95)`, style({ opacity: 1, transform: \"translateZ(0)\" }))]\n}\n\nIoxAnimationStyles[\"fade-right\"] = (delay:string, duration:string)=>{\n return [style({ opacity: 0, transform: \"translateX(150px)\"}),\n animate(`${duration} ${delay} cubic-bezier(0.445, 0.05, 0.55, 0.95)`, style({ opacity: 1, transform: \"translateZ(0)\" }))]\n}\n\nIoxAnimationStyles[\"fade-out-right\"] = (delay:string, duration:string)=>{\n return [style({ opacity: 1, transform: \"translateX(0px)\"}),\n animate(`${duration} ${delay} cubic-bezier(0.445, 0.05, 0.55, 0.95)`, style({ opacity: 0, transform: \"translateX(150px)\" }))]\n}\n\nIoxAnimationStyles[\"fade-left\"] = (delay:string, duration:string)=>{\n return [style({ opacity: 0, transform: \"translateX(-150px)\"}),\n animate(`${duration} ${delay} cubic-bezier(0.445, 0.05, 0.55, 0.95)`, style({ opacity: 1, transform: \"translateZ(0)\" }))]\n}\n\nIoxAnimationStyles[\"fade-out-up\"] = (delay:string, duration:string)=>{\n return [ style({ opacity: 1, transform: \"translateZ(0)\" }),\n animate(`${duration} ${delay} cubic-bezier(0.445, 0.05, 0.55, 0.95)`, style({ opacity: 0, transform: \"translate3d(0,-100px,0)\"}))]\n}\n\nIoxAnimationStyles[\"flip-left\"] = (delay:string, duration:string)=>{\n return [style({opacity: 0,transform: \"perspective(2500px) rotateY(-100deg)\"}),\n animate(`${duration} ${delay} cubic-bezier(0.445, 0.05, 0.55, 0.95)`, style({ opacity: 1, transform: \"perspective(2500px) rotateY(0)\" }))]\n}\n\nIoxAnimationStyles[\"flip-up\"] = (delay:string, duration:string)=>{\n return [style({opacity: 0,transform: \"perspective(2500px) rotateX(-100deg)\"}),\n animate(`${duration} ${delay} cubic-bezier(0.445, 0.05, 0.55, 0.95)`, style({ opacity: 1, transform: \"perspective(2500px) rotateY(0)\" }))]\n}\n\nIoxAnimationStyles[\"zoom-in-up\"] = (delay:string, duration:string)=>{\n return [style({opacity: 0,transform: \"translate3d(0,100px,0) scale(.6)\"}),\n animate(`${duration} ${delay} cubic-bezier(0.445, 0.05, 0.55, 0.95)`, style({ opacity: 1, transform: \"translateZ(0) scale(1)\" }))]\n}","import { Injectable } from \"@angular/core\";\nimport { Observable, Subject } from \"rxjs\";\n\n\n\n@Injectable({providedIn: 'root'})\nexport class AOSService {\n\n\n\n private _scrollOffset:Subject<any> = new Subject();\n public readonly scrollOffset: Observable<any> = this._scrollOffset.asObservable();\n \n constructor() { }\n\n\n updateScrollOffset(offset:any){\n this._scrollOffset.next(offset);\n }\n\n}","import { Component, ElementRef, HostListener, Input, SimpleChanges, ViewChild } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\nimport { AOSService } from './iox-aos.service';\n\n@Component({\n selector: \"[ioxAnimateContainer], ioxAnimateContainer\",\n template:`<div class='animate_root_element' #animateRooteElement>\n <ng-content></ng-content>\n </div>`,\n standalone: false\n})\nexport class IoxAnimateContainer {\n\n @Input('kickIn') kickIn = true;\n\n private _scrollOffset:Subject<any> = new Subject();\n public readonly scrollOffset: Observable<any> = this._scrollOffset.asObservable();\n @ViewChild('animateRooteElement') public animateRooteElement:any;\n \n\n constructor(private _element: ElementRef, private _aOSService: AOSService) {\n }\n\n ngAfterViewInit(){\n this.updateOffset();\n }\n\n @HostListener('scroll', ['$event'])\n public onScroll($event:any){\n this.updateOffset();\n }\n\n ngOnChanges(changes: SimpleChanges) {\n console.log(changes);\n if(changes['kickIn'] && changes['kickIn'].currentValue){\n this.updateOffset();\n }\n }\n\n\n private updateOffset(){\n let elClientRect = this.animateRooteElement.nativeElement.getBoundingClientRect();\n this._scrollOffset.next(elClientRect);\n this._aOSService.updateScrollOffset(elClientRect);\n }\n}","import { Directive, OnDestroy, AfterViewInit, ElementRef, Input, OnInit, Renderer2, HostListener, Host, Optional } from \"@angular/core\";\nimport { AnimationBuilder, style, animate, AnimationPlayer } from '@angular/animations';\nimport { IoxAnimationStyles } from \"./iox-aos-animations\"\n;\nimport { IoxAnimateContainer } from \"./iox-aos-container.component\";\n@Directive({\n selector: \"[ioxAnimate], ioxAnimate\",\n standalone: false\n })\n export class IoxAosDirective implements OnDestroy, OnInit, AfterViewInit {\n \n @Input(\"animationDelay\") animationDelay: string =\"\";\n @Input(\"animationIn\") animationIn: string =\"\";\n @Input(\"animationOut\") animationOut: string = \"\";\n @Input(\"animationDuration\") animationDuration: string = \"0.5s\";\n \n // @Input(\"in\")\n // @Input(\"out\")\n\n public animation:AnimationPlayer | any;\n public isAnimationPlayed= false;\n private _elTop:number =0;\n\n\n constructor(@Host() @Optional() private _animateContainer: IoxAnimateContainer, private _element: ElementRef, private _animationBuilder:AnimationBuilder, private _renderer: Renderer2){\n \n this._renderer.setStyle(_element.nativeElement,'opacity', '0');\n }\n\n public ngOnInit(){\n }\n\n public ngAfterViewInit(){\n\n setTimeout(()=>{\n\n this._elTop = this._cumulativeOffset(this._element.nativeElement).top;\n\n if(this._animateContainer){\n if(this._animateContainer.kickIn){\n this.runIfVisiable();\n }else{\n return\n }\n }else{\n this.runIfVisiable();\n }\n\n \n \n },150)\n\n const resizeObserver = new ResizeObserver((entries) =>\n this._elTop = this._cumulativeOffset(this._element.nativeElement).top\n );\n\n resizeObserver.observe(document.body);\n \n if(this._animateContainer){\n this._animateContainer?.scrollOffset.subscribe((offset:any)=>{\n if(this._animateContainer.kickIn){\n this.scrollEventHandler(-1 *offset.top);\n }\n })\n }\n\n \n }\n\n public makeAnimationIn(animationStyle:any):AnimationPlayer{\n let animation = IoxAnimationStyles[animationStyle](this.animationDelay, this.animationDuration);\n const myAnimation = this._animationBuilder.build(animation)\n return myAnimation.create(this._element.nativeElement); \n\n }\n\n private _cumulativeOffset(element:any) {\n var top = 0, left = 0;\n do {\n top += element.offsetTop || 0;\n left += element.offsetLeft || 0;\n element = element.offsetParent;\n } while(element);\n \n return {\n top: top,\n left: left\n };\n };\n\n @HostListener('document:scroll', ['$event']) onScrollEvent($event:any){\n this.scrollEventHandler(window.pageYOffset)\n }\n \n public isVisable(offset:number){\n //console.log(this._elTop >= window.pageYOffset && this._elTop <= window.pageYOffset + window.innerHeight);\n //return this._elTop >= window.pageYOffset && this._elTop <= window.pageYOffset + window.innerHeight;\n return this._elTop >= offset && this._elTop <= offset + window.innerHeight;\n }\n\n\n public scrollEventHandler(offset:number){\n\n if(this._animateContainer && this._animateContainer.kickIn == false){\n return\n }\n\n if(this.isVisable(offset) && !this.isAnimationPlayed){\n let animationStyle = this.animationIn || \"fade-up\";\n this.makeAnimationIn(animationStyle).play();\n this.isAnimationPlayed = true;\n }else if(!this.isVisable(offset) && this.isAnimationPlayed && this.animationOut){\n this.makeAnimationIn(this.animationOut).play();\n this.isAnimationPlayed =false;\n }\n }\n\n public runIfVisiable(){\n if(this.isVisable(window.pageYOffset)){\n let animationStyle = this.animationIn || \"fade-up\";\n this.makeAnimationIn(animationStyle).play();\n this.isAnimationPlayed = true;\n }\n }\n public ngOnDestroy(){\n\n }\n\n }\n\nfunction ViewParent() {\n throw new Error(\"Function not implemented.\");\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { IoxAosDirective } from './iox-aos.directive';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { IoxAnimateContainer } from './iox-aos-container.component';\nimport { AOSService } from './iox-aos.service';\n\n\n@NgModule({\n declarations: [\n IoxAosDirective,\n IoxAnimateContainer\n ],\n imports: [\n BrowserAnimationsModule\n ],\n providers:[\n AOSService\n ],\n exports: [\n IoxAosDirective,\n IoxAnimateContainer\n ]\n})\nexport class IoxAosModule { \n\n static forRoot(): ModuleWithProviders<any> {\n return {\n ngModule: IoxAosModule,\n providers: [AOSService]\n };\n }\n\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class IoxMasonryService {\n\n constructor() { }\n}\n","import { Component, OnInit, Input, Output, EventEmitter, HostListener, ElementRef, AfterViewInit} from '@angular/core';\nimport { Masonry } from '@fristys/masonry';\n\n\n@Component({ \n selector: \"[iox-masonry], iox-masonry\",\n template: `<ng-content></ng-content>`,\n styles: [],\n standalone: false\n})\nexport class IoxMasonryComponent implements OnInit, AfterViewInit {\n\n \n\n // Inputs\n @Input() public options: any = {};\n @Input() public useImagesLoaded: Boolean = false;\n @Input() updateLayout: Boolean = false;\n\n @Output() layoutComplete: EventEmitter<any[]> = new EventEmitter<any[]>();\n \n public _msnry: any;\n private isAppendAllowed:boolean = true;\n\n constructor(private _element: ElementRef) { }\n\n ngAfterViewInit(): void {\n console.log(\"test\");\n }\n\n ngOnInit() {\n this._msnry = new Masonry(document.getElementById('masonry'), this.options);\n this.layout(); \n }\n \n ngOnChanges(changes: any) {\n console.log(changes);\n }\n\n\n add = (element: HTMLElement)=>{\n setTimeout(()=>{\n this._msnry.init();\n },200)\n\n }\n\n public remove(element: HTMLElement) {\n this._msnry.remove(element);\n }\n\n public layout() {\n setTimeout(() => {\n this._msnry.init();\n });\n }\n\n}\n\nexport interface IoxMasonryOptions {\n columns?: number;\n columnBreakpoints?: number;\n gutter?: number | string;\n initOnImageLoad?: boolean;\n loadingClass?: string;\n loadedClass?: string;\n onInit?:any;\n bindOnScroll?: boolean;\n useContainerWidth?: boolean;\n trackItemSizeChanges?: boolean;\n}\n","import { Directive, Inject, ElementRef, forwardRef, OnDestroy, AfterViewInit, Renderer2 } from '@angular/core';\nimport { IoxMasonryComponent } from './iox-masonry.component';\n@Directive({\n selector: \"[ioxMasonryItem], ioxMasonryItem\",\n standalone: false\n})\nexport class IoxMasonryItemDirective implements OnDestroy, AfterViewInit {\n constructor(\n private _element: ElementRef,\n @Inject(forwardRef(() => IoxMasonryComponent))\n private _parent: IoxMasonryComponent,\n private _renderer:Renderer2) {\n //this._renderer.setStyle(_element.nativeElement,'opacity', '0');\n }\n\n ngAfterViewInit() {\n console.log(this._element.nativeElement);\n this._parent.add(this._element.nativeElement);\n }\n\n ngOnDestroy() {\n this._parent.remove(this._element.nativeElement);\n }\n}","import { NgModule } from '@angular/core';\nimport { IoxMasonryComponent } from './iox-masonry.component';\nimport { IoxMasonryItemDirective } from './iox-masonry-item.directive';\nimport { BrowserModule } from '@angular/platform-browser';\n\n\n\n@NgModule({\n declarations: [IoxMasonryComponent, IoxMasonryItemDirective],\n imports: [\n BrowserModule\n ],\n exports: [IoxMasonryComponent, IoxMasonryItemDirective]\n})\nexport class IoxMasonryModule { }\n","import { Injectable } from '@angular/core';\nimport Lenis from 'lenis';\n\n@Injectable()\nexport class PageScrollProvider {\n private lenis?: Lenis;\n private rafId?: number;\n\n init(options?: ConstructorParameters<typeof Lenis>[0]): void {\n if (this.lenis) {\n this.lenis.destroy();\n }\n if (this.rafId != null) {\n cancelAnimationFrame(this.rafId);\n }\n this.lenis = new Lenis(options || {});\n this.startLoop();\n }\n\n scrollTo(y: number, options?: { duration?: number; immediate?: boolean }): void {\n this.instance.scrollTo(y, options);\n }\n\n scrollToTop(options?: { duration?: number; immediate?: boolean }): void {\n this.scrollTo(0, options);\n }\n\n get instance(): Lenis {\n if (!this.lenis) {\n throw new Error('PageScrollProvider: call init() before accessing the instance.');\n }\n return this.lenis;\n }\n\n private startLoop(): void {\n if (!this.lenis) {\n return;\n }\n const loop = (time: number) => {\n this.lenis!.raf(time);\n this.rafId = requestAnimationFrame(loop);\n };\n this.rafId = requestAnimationFrame(loop);\n }\n}\n","import { Component, ElementRef, EventEmitter, Input, Output, ViewChild, AfterViewInit, OnDestroy } from '@angular/core';\nimport { fromEvent, Subscription } from 'rxjs';\nimport { PageScrollProvider } from '../../services/page-scroll.provider';\n\n@Component({\n selector: 'iox-page-component',\n templateUrl: './page-component.component.html',\n styleUrls: ['./page-component.component.scss'],\n standalone: false\n})\nexport class IoxPageComponent implements AfterViewInit, OnDestroy {\n @Input() class = '';\n @ViewChild('page') public page!: ElementRef<HTMLDivElement>;\n private scrollSubscription!: Subscription;\n @Output() scrollEvent = new EventEmitter<{\n scrollTop: number;\n scrollLeft: number;\n scrollHeight: number;\n scrollWidth: number;\n clientHeight: number;\n clientWidth: number;\n scrollPercentage: number;\n }>();\n\n constructor(private pageScrollProvider: PageScrollProvider) {}\n\n ngAfterViewInit(): void {\n if (this.page) {\n this.scrollSubscription = fromEvent(this.page.nativeElement, 'scroll').subscribe((event) => {\n this.onScroll(event as Event);\n });\n\n this.pageScrollProvider.init({\n wrapper: this.page.nativeElement,\n content: this.page.nativeElement.querySelector('.page-mask')!,\n duration: 1.2,\n easing: (t: number) => Math.min(1, 1.001 - Math.pow(2, -10 * t)),\n });\n }\n }\n\n onScroll(event: Event): void {\n const target = event.target as HTMLElement;\n const scrollTop = target.scrollTop;\n const scrollLeft = target.scrollLeft;\n const scrollHeight = target.scrollHeight;\n const scrollWidth = target.scrollWidth;\n const clientHeight = target.clientHeight;\n const clientWidth = target.clientWidth;\n const scrollPercentage = (scrollTop / (scrollHeight - clientHeight)) * 100;\n\n this.scrollEvent.emit({ scrollTop, scrollLeft, scrollHeight, scrollWidth, clientHeight, clientWidth, scrollPercentage });\n }\n\n ngOnDestroy(): void {\n if (this.scrollSubscription) {\n this.scrollSubscription.unsubscribe();\n }\n }\n}\n","<div #page [class]=\"class\" class=\"iox-page-wrapper\">\n <div class=\"page-mask\">\n <ng-content></ng-content>\n </div>\n</div>\n","\nimport { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { IoxPageComponent } from './page-component/page-component.component';\nimport { PageScrollProvider } from '../services/page-scroll.provider';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [IoxPageComponent],\n exports: [IoxPageComponent],\n providers: [PageScrollProvider]\n})\nexport class IoxPageModule {}\n","import { NgModule } from '@angular/core';\nimport { IoxAosModule } from './iox-aos/iox-aos.module';\nimport { IoxPageModule } from './iox-page/iox-page.module';\n\n\n@NgModule({\n declarations: [],\n imports: [IoxAosModule, IoxPageModule],\n exports: [IoxAosModule, IoxPageModule]\n})\nexport class IoxUiModule { }\n","/*\n * Public API Surface of iox-ui\n */\n\nexport * from './lib/view-position/view-position.directive';\nexport * from './lib/view-position/view-position.module';\n\n\n\nexport * from './lib/iox-aos/iox-aos.directive';\nexport * from './lib/iox-aos/iox-aos-container.component';\nexport * from './lib/iox-aos/iox-aos.service';\nexport * from './lib/iox-aos/iox-aos.module';\n\n\n\nexport * from './lib/iox-masonry/iox-masonry.service';\nexport * from './lib/iox-masonry/iox-masonry.component';\nexport * from './lib/iox-masonry/iox-masonry-item.directive';\nexport * from './lib/iox-masonry/iox-masonry.module';\n\nexport * from './lib/iox-ui.module';\nexport * from './lib/iox-page/page-component/page-component.component';\nexport * from './lib/iox-page/iox-page.module';\nexport * from './lib/services/page-scroll.provider';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.AOSService","i1.IoxAnimateContainer","i1.PageScrollProvider"],"mappings":";;;;;;;;;;;MAOa,qBAAqB,CAAA;AAkB9B,IAAA,WAAA,CAAoB,IAAe,EAAA;QAAf,IAAA,CAAA,IAAI,GAAJ,IAAI;QAVhB,IAAA,CAAA,gBAAgB,GAAS,MAAM;QAC/B,IAAA,CAAA,UAAU,GAAU,CAAC;QACtB,IAAA,CAAA,UAAU,GAAY,KAAK;QAC3B,IAAA,CAAA,YAAY,GAAY,KAAK;AAG1B,QAAA,IAAA,CAAA,OAAO,GAAqB,IAAI,YAAY,EAAE;AAC9C,QAAA,IAAA,CAAA,OAAO,GAAqB,IAAI,YAAY,EAAE;AAC9C,QAAA,IAAA,CAAA,MAAM,GAAqB,IAAI,YAAY,EAAE;QAGnD,IAAI,CAAC,sBAAsB,EAAE;QAC7B,OAAO,CAAC,GAAG,CAAC,CAAA,gBAAA,EAAmB,IAAI,CAAC,eAAe,CAAA,CAAE,CAAC;IAC1D;IAGA,eAAe,GAAA;QACX,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS;QACzD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,YAAY;QAC1D,OAAO,CAAC,GAAG,CAAC,CAAA,mBAAA,EAAsB,IAAI,CAAC,gBAAgB,CAAA,CAAE,CAAC;IAC9D;AAG2C,IAAA,QAAQ,CAAC,CAAQ,EAAA;AAExD,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,qBAAqB,EAAE,EAAE,GAAG,GAAG,IAAI,CAAC,UAAU,EAAC;AAC9D,YAAA,IAAG,IAAI,CAAC,gBAAgB,IAAI,IAAI,EAAC;AAC7B,gBAAA,IAAI,CAAC,YAAY,GAAE,KAAK;AACxB,gBAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI;YAChC;QACJ;aACC;AACG,YAAA,IAAG,IAAI,CAAC,gBAAgB,IAAG,MAAM,EAAC;AAC9B,gBAAA,IAAI,CAAC,YAAY,GAAE,KAAK;AACxB,gBAAA,IAAI,CAAC,gBAAgB,GAAG,MAAM;YAClC;QACJ;AACH,QAAA,IAAI,CAAC,UAAU,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,qBAAqB,EAAE,EAAE,GAAG;AAG1D,QAAA,IAAI,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC,GAAG;AAC5E,QAAA,IAAG,kBAAkB,IAAI,IAAI,CAAC,eAAe,IAAI,kBAAkB,GAAI,CAAC,IAAI,CAAC,cAAc,EAAC;AACxF,YAAA,IAAG,IAAI,CAAC,UAAU,EAAC;AACf,gBAAA,IAAI,CAAC,UAAU,GAAG,KAAK;AACvB,gBAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;YAC5B;QACJ;aAAK;AACD,YAAA,IAAG,CAAC,IAAI,CAAC,UAAU,EAAC;AAChB,gBAAA,IAAI,CAAC,UAAU,GAAG,IAAI;AACtB,gBAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;YAC3B;QACJ;AAEA,QAAA,IAAG,kBAAkB,GAAG,IAAI,CAAC,YAAY,IAAI,kBAAkB,GAAG,CAAC,IAAK,IAAI,CAAC,gBAAgB,IAAI,MAAM,EAAE;AACrG,YAAA,IAAG,CAAC,IAAI,CAAC,YAAY,EAAC;AAClB,gBAAA,IAAI,CAAC,YAAY,GAAG,IAAI;AACxB,gBAAA,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC;gBACnB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;YAC/B;QACJ;QAEA,IAAG,kBAAkB,GAAG,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,YAAY,IAAI,kBAAkB,GAAE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,eAAe,IAAK,IAAI,CAAC,gBAAgB,IAAI,IAAI,EAAE;AACjK,YAAA,IAAG,CAAC,IAAI,CAAC,YAAY,EAAC;AAClB,gBAAA,IAAI,CAAC,YAAY,GAAG,IAAI;AACxB,gBAAA,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;gBACzB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;YAC/B;QACJ;IACH;AAE0C,IAAA,QAAQ,CAAC,CAAQ,EAAA;AACxD,QAAA,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,WAAW;QACzC,IAAI,CAAC,sBAAsB,EAAE;IACjC;IAIQ,sBAAsB,GAAA;AAC1B,QAAA,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,WAAW;AACzC,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,GAAE,IAAI,CAAC;AAC3D,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,GAAE,GAAG,CAAC;IAC7D;+GAzFS,qBAAqB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAArB,qBAAqB,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,OAAA,EAAA,SAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,eAAA,EAAA,kBAAA,EAAA,eAAA,EAAA,kBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAArB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBALjC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAC,iBAAiB;AAC1B,oBAAA,UAAU,EAAE;AACf,iBAAA;;sBAeI;;sBACA;;sBACA;;sBACA;;sBAeA,YAAY;uBAAC,eAAe,EAAE,CAAC,QAAQ,CAAC;;sBA+CxC,YAAY;uBAAC,eAAe,EAAE,CAAC,QAAQ,CAAC;;;MCtEhC,kBAAkB,CAAA;+GAAlB,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;gHAAlB,kBAAkB,EAAA,YAAA,EAAA,CAR3B,qBAAqB,CAAA,EAAA,OAAA,EAAA,CAKrB,qBAAqB,CAAA,EAAA,CAAA,CAAA;gHAGZ,kBAAkB,EAAA,CAAA,CAAA;;4FAAlB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAV9B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ;AACD,qBAAA;AACD,oBAAA,OAAO,EAAE,EACR;AACD,oBAAA,OAAO,EAAE;wBACP;AACD;AACF,iBAAA;;;ACZD;AAEO,MAAM,kBAAkB,GAAQ,EAAE;AAEzC,kBAAkB,CAAC,SAAS,CAAC,GAAG,CAAC,KAAY,EAAE,QAAe,KAAG;AAC7D,IAAA,OAAO,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,wBAAwB,EAAC,CAAC;QACjE,OAAO,CAAC,GAAG,QAAQ,CAAA,CAAA,EAAI,KAAK,CAAA,sCAAA,CAAwC,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC;AAC7H,CAAC;AAED,kBAAkB,CAAC,YAAY,CAAC,GAAG,CAAC,KAAY,EAAE,QAAe,KAAG;AAChE,IAAA,OAAO,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,mBAAmB,EAAC,CAAC;QAC5D,OAAO,CAAC,GAAG,QAAQ,CAAA,CAAA,EAAI,KAAK,CAAA,sCAAA,CAAwC,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC;AAC7H,CAAC;AAED,kBAAkB,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAY,EAAE,QAAe,KAAG;AACpE,IAAA,OAAO,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,iBAAiB,EAAC,CAAC;QAC1D,OAAO,CAAC,GAAG,QAAQ,CAAA,CAAA,EAAI,KAAK,CAAA,sCAAA,CAAwC,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,mBAAmB,EAAE,CAAC,CAAC,CAAC;AACjI,CAAC;AAED,kBAAkB,CAAC,WAAW,CAAC,GAAG,CAAC,KAAY,EAAE,QAAe,KAAG;AAC/D,IAAA,OAAO,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,oBAAoB,EAAC,CAAC;QAC7D,OAAO,CAAC,GAAG,QAAQ,CAAA,CAAA,EAAI,KAAK,CAAA,sCAAA,CAAwC,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC;AAC7H,CAAC;AAED,kBAAkB,CAAC,aAAa,CAAC,GAAG,CAAC,KAAY,EAAE,QAAe,KAAG;AACjE,IAAA,OAAO,CAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC;QAC1D,OAAO,CAAC,GAAG,QAAQ,CAAA,CAAA,EAAI,KAAK,CAAA,sCAAA,CAAwC,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,yBAAyB,EAAC,CAAC,CAAC,CAAC;AACtI,CAAC;AAED,kBAAkB,CAAC,WAAW,CAAC,GAAG,CAAC,KAAY,EAAE,QAAe,KAAG;AAC/D,IAAA,OAAO,CAAC,KAAK,CAAC,EAAC,OAAO,EAAE,CAAC,EAAC,SAAS,EAAE,sCAAsC,EAAC,CAAC;QAC7E,OAAO,CAAC,GAAG,QAAQ,CAAA,CAAA,EAAI,KAAK,CAAA,sCAAA,CAAwC,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,gCAAgC,EAAE,CAAC,CAAC,CAAC;AAC9I,CAAC;AAED,kBAAkB,CAAC,SAAS,CAAC,GAAG,CAAC,KAAY,EAAE,QAAe,KAAG;AAC7D,IAAA,OAAO,CAAC,KAAK,CAAC,EAAC,OAAO,EAAE,CAAC,EAAC,SAAS,EAAE,sCAAsC,EAAC,CAAC;QAC7E,OAAO,CAAC,GAAG,QAAQ,CAAA,CAAA,EAAI,KAAK,CAAA,sCAAA,CAAwC,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,gCAAgC,EAAE,CAAC,CAAC,CAAC;AAC9I,CAAC;AAED,kBAAkB,CAAC,YAAY,CAAC,GAAG,CAAC,KAAY,EAAE,QAAe,KAAG;AAChE,IAAA,OAAO,CAAC,KAAK,CAAC,EAAC,OAAO,EAAE,CAAC,EAAC,SAAS,EAAE,kCAAkC,EAAC,CAAC;QACzE,OAAO,CAAC,GAAG,QAAQ,CAAA,CAAA,EAAI,KAAK,CAAA,sCAAA,CAAwC,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,wBAAwB,EAAE,CAAC,CAAC,CAAC;AACtI,CAAC;;MCtCY,UAAU,CAAA;AAOrB,IAAA,WAAA,GAAA;AAHU,QAAA,IAAA,CAAA,aAAa,GAAgB,IAAI,OAAO,EAAE;AAClC,QAAA,IAAA,CAAA,YAAY,GAAoB,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE;IAEnE;AAGhB,IAAA,kBAAkB,CAAC,MAAU,EAAA;AAC3B,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC;IACjC;+GAZW,UAAU,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAV,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAU,cADE,MAAM,EAAA,CAAA,CAAA;;4FAClB,UAAU,EAAA,UAAA,EAAA,CAAA;kBADtB,UAAU;mBAAC,EAAC,UAAU,EAAE,MAAM,EAAC;;;MCMnB,mBAAmB,CAAA;IAS5B,WAAA,CAAoB,QAAoB,EAAU,WAAuB,EAAA;QAArD,IAAA,CAAA,QAAQ,GAAR,QAAQ;QAAsB,IAAA,CAAA,WAAW,GAAX,WAAW;QAP5C,IAAA,CAAA,MAAM,GAAG,IAAI;AAEtB,QAAA,IAAA,CAAA,aAAa,GAAgB,IAAI,OAAO,EAAE;AAClC,QAAA,IAAA,CAAA,YAAY,GAAoB,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE;IAKjF;IAEA,eAAe,GAAA;QACX,IAAI,CAAC,YAAY,EAAE;IACvB;AAGO,IAAA,QAAQ,CAAC,MAAU,EAAA;QACtB,IAAI,CAAC,YAAY,EAAE;IACvB;AAEA,IAAA,WAAW,CAAC,OAAsB,EAAA;AAC9B,QAAA,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;AACpB,QAAA,IAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC,YAAY,EAAC;YACnD,IAAI,CAAC,YAAY,EAAE;QACvB;IACJ;IAGQ,YAAY,GAAA;QAChB,IAAI,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,qBAAqB,EAAE;AACjF,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC;AACrC,QAAA,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,YAAY,CAAC;IACrD;+GAjCS,mBAAmB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAnB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,mBAAmB,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,4CAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,qBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EALnB,CAAA;;AAEE,cAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA;;4FAGF,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAP/B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,4CAA4C;AACtD,oBAAA,QAAQ,EAAC,CAAA;;AAEE,cAAA,CAAA;AACX,oBAAA,UAAU,EAAE;AACf,iBAAA;;sBAGI,KAAK;uBAAC,QAAQ;;sBAId,SAAS;uBAAC,qBAAqB;;sBAU/B,YAAY;uBAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC;;;MClBvB,eAAe,CAAA;AAe1B,IAAA,WAAA,CAAwC,iBAAsC,EAAU,QAAoB,EAAU,iBAAkC,EAAW,SAAoB,EAAA;QAA/I,IAAA,CAAA,iBAAiB,GAAjB,iBAAiB;QAA+B,IAAA,CAAA,QAAQ,GAAR,QAAQ;QAAsB,IAAA,CAAA,iBAAiB,GAAjB,iBAAiB;QAA4B,IAAA,CAAA,SAAS,GAAT,SAAS;QAbnJ,IAAA,CAAA,cAAc,GAAU,EAAE;QAC7B,IAAA,CAAA,WAAW,GAAU,EAAE;QACtB,IAAA,CAAA,YAAY,GAAW,EAAE;QACpB,IAAA,CAAA,iBAAiB,GAAW,MAAM;QAMvD,IAAA,CAAA,iBAAiB,GAAE,KAAK;QACvB,IAAA,CAAA,MAAM,GAAS,CAAC;AAKpB,QAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,EAAC,SAAS,EAAE,GAAG,CAAC;IAClE;IAEO,QAAQ,GAAA;IACf;IAEQ,eAAe,GAAA;QAEjB,UAAU,CAAC,MAAI;AAEb,YAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,GAAG;AAErE,YAAA,IAAG,IAAI,CAAC,iBAAiB,EAAC;AACxB,gBAAA,IAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAC;oBAC/B,IAAI,CAAC,aAAa,EAAE;gBACtB;qBAAK;oBACH;gBACF;YACF;iBAAK;gBACH,IAAI,CAAC,aAAa,EAAE;YACtB;QAIF,CAAC,EAAC,GAAG,CAAC;QAEN,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC,CAAC,OAAO,KAChD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,GAAG,CACtE;AAED,QAAA,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;AAErC,QAAA,IAAG,IAAI,CAAC,iBAAiB,EAAC;YACxB,IAAI,CAAC,iBAAiB,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC,MAAU,KAAG;AAC3D,gBAAA,IAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAC;oBAC/B,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,GAAE,MAAM,CAAC,GAAG,CAAC;gBACzC;AACF,YAAA,CAAC,CAAC;QACJ;IAGN;AAEO,IAAA,eAAe,CAAC,cAAkB,EAAA;AACrC,QAAA,IAAI,SAAS,GAAG,kBAAkB,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,iBAAiB,CAAC;QAC/F,MAAM,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,SAAS,CAAC;QAC3D,OAAO,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC;IAE1D;AAEQ,IAAA,iBAAiB,CAAC,OAAW,EAAA;AACjC,QAAA,IAAI,GAAG,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC;AACrB,QAAA,GAAG;AACC,YAAA,GAAG,IAAI,OAAO,CAAC,SAAS,IAAK,CAAC;AAC9B,YAAA,IAAI,IAAI,OAAO,CAAC,UAAU,IAAI,CAAC;AAC/B,YAAA,OAAO,GAAG,OAAO,CAAC,YAAY;QAClC,CAAC,QAAO,OAAO;QAEf,OAAO;AACH,YAAA,GAAG,EAAE,GAAG;AACR,YAAA,IAAI,EAAE;SACT;IACL;;AAE2C,IAAA,aAAa,CAAC,MAAU,EAAA;AAChE,QAAA,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,WAAW,CAAC;IAC9C;AAEO,IAAA,SAAS,CAAC,MAAa,EAAA;;;AAG5B,QAAA,OAAO,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,IAAI,CAAC,MAAM,IAAI,MAAM,GAAG,MAAM,CAAC,WAAW;IAC5E;AAGO,IAAA,kBAAkB,CAAC,MAAa,EAAA;AAErC,QAAA,IAAG,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,iBAAiB,CAAC,MAAM,IAAI,KAAK,EAAC;YAClE;QACF;AAEA,QAAA,IAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAC;AACnD,YAAA,IAAI,cAAc,GAAG,IAAI,CAAC,WAAW,IAAI,SAAS;YAClD,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC,IAAI,EAAE;AAC3C,YAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI;QAC/B;AAAM,aAAA,IAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,YAAY,EAAC;YAC9E,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,EAAE;AAC9C,YAAA,IAAI,CAAC,iBAAiB,GAAE,KAAK;QAC/B;IACF;IAEO,aAAa,GAAA;QAClB,IAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,EAAC;AACpC,YAAA,IAAI,cAAc,GAAG,IAAI,CAAC,WAAW,IAAI,SAAS;YAClD,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC,IAAI,EAAE;AAC3C,YAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI;QAC/B;IACF;IACO,WAAW,GAAA;IAElB;+GArHW,eAAe,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,mBAAA,EAAA,IAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAf,eAAe,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,0BAAA,EAAA,MAAA,EAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,WAAA,EAAA,aAAA,EAAA,YAAA,EAAA,cAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,uBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAAf,eAAe,EAAA,UAAA,EAAA,CAAA;kBAJ7B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,0BAA0B;AACpC,oBAAA,UAAU,EAAE;AACb,iBAAA;;0BAgBc;;0BAAQ;;sBAbpB,KAAK;uBAAC,gBAAgB;;sBACtB,KAAK;uBAAC,aAAa;;sBACnB,KAAK;uBAAC,cAAc;;sBACpB,KAAK;uBAAC,mBAAmB;;sBA4E3B,YAAY;uBAAC,iBAAiB,EAAE,CAAC,QAAQ,CAAC;;AAwC7C,SAAS,UAAU,GAAA;AACjB,IAAA,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC;AAC9C;;MC7Ga,YAAY,CAAA;AAEvB,IAAA,OAAO,OAAO,GAAA;QACZ,OAAO;AACL,YAAA,QAAQ,EAAE,YAAY;YACtB,SAAS,EAAE,CAAC,UAAU;SACvB;IACH;+GAPW,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAZ,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,iBAdrB,eAAe;YACf,mBAAmB,CAAA,EAAA,OAAA,EAAA,CAGnB,uBAAuB,CAAA,EAAA,OAAA,EAAA,CAMvB,eAAe;YACf,mBAAmB,CAAA,EAAA,CAAA,CAAA;AAGV,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,EAAA,SAAA,EARb;YACR;AACD,SAAA,EAAA,OAAA,EAAA,CAJC,uBAAuB,CAAA,EAAA,CAAA,CAAA;;4FAUd,YAAY,EAAA,UAAA,EAAA,CAAA;kBAhBxB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,eAAe;wBACf;AACD,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP;AACD,qBAAA;AACD,oBAAA,SAAS,EAAC;wBACR;AACD,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,eAAe;wBACf;AACA;AACH,iBAAA;;;MCjBY,iBAAiB,CAAA;AAE5B,IAAA,WAAA,GAAA,EAAgB;+GAFL,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAjB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,cAFhB,MAAM,EAAA,CAAA,CAAA;;4FAEP,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAH7B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE;AACb,iBAAA;;;MCMY,mBAAmB,CAAA;AAc9B,IAAA,WAAA,CAAoB,QAAoB,EAAA;QAApB,IAAA,CAAA,QAAQ,GAAR,QAAQ;;QATZ,IAAA,CAAA,OAAO,GAAQ,EAAE;QACjB,IAAA,CAAA,eAAe,GAAY,KAAK;QACvC,IAAA,CAAA,YAAY,GAAY,KAAK;AAE5B,QAAA,IAAA,CAAA,cAAc,GAAwB,IAAI,YAAY,EAAS;QAGjE,IAAA,CAAA,eAAe,GAAW,IAAI;AAkBtC,QAAA,IAAA,CAAA,GAAG,GAAG,CAAC,OAAoB,KAAG;YAC5B,UAAU,CAAC,MAAI;AACb,gBAAA,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;YACpB,CAAC,EAAC,GAAG,CAAC;AAER,QAAA,CAAC;IArB2C;IAE5C,eAAe,GAAA;AACb,QAAA,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC;IACrB;IAEA,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC;QAC3E,IAAI,CAAC,MAAM,EAAE;IACf;AAEA,IAAA,WAAW,CAAC,OAAY,EAAA;AACtB,QAAA,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;IACtB;AAUO,IAAA,MAAM,CAAC,OAAoB,EAAA;AAChC,QAAA,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;IAC7B;IAEO,MAAM,GAAA;QACX,UAAU,CAAC,MAAK;AACd,YAAA,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;AACpB,QAAA,CAAC,CAAC;IACJ;+GA7CW,mBAAmB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAnB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,mBAAmB,6PAJpB,CAAA,yBAAA,CAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA;;4FAI1B,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAN/B,SAAS;+BACE,4BAA4B,EAAA,QAAA,EAC5B,CAAA,yBAAA,CAA2B,EAAA,UAAA,EAEzB,KAAK,EAAA;;sBAOhB;;sBACA;;sBACA;;sBAEA;;;MCbU,uBAAuB,CAAA;AAChC,IAAA,WAAA,CACU,QAAoB,EAEpB,OAA4B,EAC5B,SAAmB,EAAA;QAHnB,IAAA,CAAA,QAAQ,GAAR,QAAQ;QAER,IAAA,CAAA,OAAO,GAAP,OAAO;QACP,IAAA,CAAA,SAAS,GAAT,SAAS;;IAEjB;IAEA,eAAe,GAAA;QACX,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC;QACxC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC;IACjD;IAEA,WAAW,GAAA;QACP,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC;IACpD;AAhBO,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,4CAGtB,UAAU,CAAC,MAAM,mBAAmB,CAAC,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAHtC,uBAAuB,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,kCAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAAvB,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAJnC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,kCAAkC;AAC5C,oBAAA,UAAU,EAAE;AACb,iBAAA;;0BAIM,MAAM;AAAC,oBAAA,IAAA,EAAA,CAAA,UAAU,CAAC,MAAM,mBAAmB,CAAC;;;MCKtC,gBAAgB,CAAA;+GAAhB,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;gHAAhB,gBAAgB,EAAA,YAAA,EAAA,CANZ,mBAAmB,EAAE,uBAAuB,aAEzD,aAAa,CAAA,EAAA,OAAA,EAAA,CAEL,mBAAmB,EAAE,uBAAuB,CAAA,EAAA,CAAA,CAAA;AAE3C,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,YAJzB,aAAa,CAAA,EAAA,CAAA,CAAA;;4FAIJ,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAP5B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE,CAAC,mBAAmB,EAAE,uBAAuB,CAAC;AAC5D,oBAAA,OAAO,EAAE;wBACP;AACD,qBAAA;AACD,oBAAA,OAAO,EAAE,CAAC,mBAAmB,EAAE,uBAAuB;AACvD,iBAAA;;;MCTY,kBAAkB,CAAA;AAI7B,IAAA,IAAI,CAAC,OAAgD,EAAA;AACnD,QAAA,IAAI,IAAI,CAAC,KAAK,EAAE;AACd,YAAA,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;QACtB;AACA,QAAA,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,EAAE;AACtB,YAAA,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC;QAClC;QACA,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC;QACrC,IAAI,CAAC,SAAS,EAAE;IAClB;IAEA,QAAQ,CAAC,CAAS,EAAE,OAAoD,EAAA;QACtE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAAE,OAAO,CAAC;IACpC;AAEA,IAAA,WAAW,CAAC,OAAoD,EAAA;AAC9D,QAAA,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,OAAO,CAAC;IAC3B;AAEA,IAAA,IAAI,QAAQ,GAAA;AACV,QAAA,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;AACf,YAAA,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC;QACnF;QACA,OAAO,IAAI,CAAC,KAAK;IACnB;IAEQ,SAAS,GAAA;AACf,QAAA,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YACf;QACF;AACA,QAAA,MAAM,IAAI,GAAG,CAAC,IAAY,KAAI;AAC5B,YAAA,IAAI,CAAC,KAAM,CAAC,GAAG,CAAC,IAAI,CAAC;AACrB,YAAA,IAAI,CAAC,KAAK,GAAG,qBAAqB,CAAC,IAAI,CAAC;AAC1C,QAAA,CAAC;AACD,QAAA,IAAI,CAAC,KAAK,GAAG,qBAAqB,CAAC,IAAI,CAAC;IAC1C;+GAvCW,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;mHAAlB,kBAAkB,EAAA,CAAA,CAAA;;4FAAlB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAD9B;;;MCOY,gBAAgB,CAAA;AAc3B,IAAA,WAAA,CAAoB,kBAAsC,EAAA;QAAtC,IAAA,CAAA,kBAAkB,GAAlB,kBAAkB;QAb7B,IAAA,CAAA,KAAK,GAAG,EAAE;AAGT,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,YAAY,EAQpC;IAEyD;IAE7D,eAAe,GAAA;AACb,QAAA,IAAI,IAAI,CAAC,IAAI,EAAE;AACb,YAAA,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,KAAK,KAAI;AACzF,gBAAA,IAAI,CAAC,QAAQ,CAAC,KAAc,CAAC;AAC/B,YAAA,CAAC,CAAC;AAEF,YAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC;AAC3B,gBAAA,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,aAAa;gBAChC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,YAAY,CAAE;AAC7D,gBAAA,QAAQ,EAAE,GAAG;gBACb,MAAM,EAAE,CAAC,CAAS,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;AACjE,aAAA,CAAC;QACJ;IACF;AAEA,IAAA,QAAQ,CAAC,KAAY,EAAA;AACnB,QAAA,MAAM,MAAM,GAAG,KAAK,CAAC,MAAqB;AAC1C,QAAA,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS;AAClC,QAAA,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU;AACpC,QAAA,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY;AACxC,QAAA,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW;AACtC,QAAA,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY;AACxC,QAAA,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW;AACtC,QAAA,MAAM,gBAAgB,GAAG,CAAC,SAAS,IAAI,YAAY,GAAG,YAAY,CAAC,IAAI,GAAG;QAE1E,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAAC;IAC1H;IAEA,WAAW,GAAA;AACT,QAAA,IAAI,IAAI,CAAC,kBAAkB,EAAE;AAC3B,YAAA,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE;QACvC;IACF;+GAhDW,gBAAgB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,kBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAhB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,gBAAgB,kPCV7B,0IAKA,EAAA,MAAA,EAAA,CAAA,wIAAA,CAAA,EAAA,CAAA,CAAA;;4FDKa,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAN5B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,oBAAoB,cAGlB,KAAK,EAAA,QAAA,EAAA,0IAAA,EAAA,MAAA,EAAA,CAAA,wIAAA,CAAA,EAAA;;sBAGhB;;sBACA,SAAS;uBAAC,MAAM;;sBAEhB;;;MEFU,aAAa,CAAA;+GAAb,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAb,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,EAAA,YAAA,EAAA,CAJT,gBAAgB,CAAA,EAAA,OAAA,EAAA,CADrB,YAAY,aAEZ,gBAAgB,CAAA,EAAA,CAAA,CAAA;AAGf,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,EAAA,SAAA,EAFb,CAAC,kBAAkB,CAAC,YAHrB,YAAY,CAAA,EAAA,CAAA,CAAA;;4FAKX,aAAa,EAAA,UAAA,EAAA,CAAA;kBANzB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,OAAO,EAAE,CAAC,YAAY,CAAC;oBACvB,YAAY,EAAE,CAAC,gBAAgB,CAAC;oBAChC,OAAO,EAAE,CAAC,gBAAgB,CAAC;oBAC3B,SAAS,EAAE,CAAC,kBAAkB;AAC/B,iBAAA;;;MCDY,WAAW,CAAA;+GAAX,WAAW,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAX,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAW,YAHZ,YAAY,EAAE,aAAa,CAAA,EAAA,OAAA,EAAA,CAC3B,YAAY,EAAE,aAAa,CAAA,EAAA,CAAA,CAAA;AAE1B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAW,YAHZ,YAAY,EAAE,aAAa,EAC3B,YAAY,EAAE,aAAa,CAAA,EAAA,CAAA,CAAA;;4FAE1B,WAAW,EAAA,UAAA,EAAA,CAAA;kBALvB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE,EAAE;AAChB,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,aAAa,CAAC;AACtC,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,aAAa;AACtC,iBAAA;;;ACTD;;AAEG;;ACFH;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"vectoriox-iox-ui.mjs","sources":["../../../projects/iox-ui/src/lib/view-position/view-position.directive.ts","../../../projects/iox-ui/src/lib/view-position/view-position.module.ts","../../../projects/iox-ui/src/lib/iox-aos/iox-aos-animations.ts","../../../projects/iox-ui/src/lib/iox-aos/iox-aos.service.ts","../../../projects/iox-ui/src/lib/iox-aos/iox-aos-container.component.ts","../../../projects/iox-ui/src/lib/iox-aos/iox-aos.directive.ts","../../../projects/iox-ui/src/lib/iox-aos/iox-aos.module.ts","../../../projects/iox-ui/src/lib/iox-masonry/iox-masonry.service.ts","../../../projects/iox-ui/src/lib/iox-masonry/iox-masonry.component.ts","../../../projects/iox-ui/src/lib/iox-masonry/iox-masonry-item.directive.ts","../../../projects/iox-ui/src/lib/iox-masonry/iox-masonry.module.ts","../../../projects/iox-ui/src/lib/services/page-scroll.provider.ts","../../../projects/iox-ui/src/lib/iox-page/page-component/page-component.component.ts","../../../projects/iox-ui/src/lib/iox-page/page-component/page-component.component.html","../../../projects/iox-ui/src/lib/iox-page/iox-page.module.ts","../../../projects/iox-ui/src/lib/iox-ui.module.ts","../../../projects/iox-ui/src/lib/iox-cms-client-infra/components/privacy/privacy-modal.service.ts","../../../projects/iox-ui/src/lib/iox-cms-client-infra/services/consent.service.ts","../../../projects/iox-ui/src/lib/iox-cms-client-infra/components/privacy/privacy-modal.component.ts","../../../projects/iox-ui/src/lib/iox-cms-client-infra/components/privacy/privacy-modal.component.html","../../../projects/iox-ui/src/lib/iox-cms-client-infra/services/web-settings.service.ts","../../../projects/iox-ui/src/lib/iox-cms-client-infra/services/content.service.ts","../../../projects/iox-ui/src/lib/iox-cms-client-infra/cms-client-infra.module.ts","../../../projects/iox-ui/src/lib/iox-cms-client-infra/services/analytics.service.ts","../../../projects/iox-ui/src/public-api.ts","../../../projects/iox-ui/src/vectoriox-iox-ui.ts"],"sourcesContent":["import {AfterViewInit, Directive, ElementRef, EventEmitter, HostListener, Input, Output} from '@angular/core';\n\n@Directive({\n selector:'[view-position]',\n standalone: false\n})\n\nexport class ViewPositionDirective implements AfterViewInit{\n\n private _viewPortHighet!:number;\n private _elementHeight!: number;\n private _elementOffseTop!: number;\n private _curterScreen!:number;\n private _halfSscreen!:number;\n \n private _scrollDirection:string= \"Down\";\n private _scrollPos:number = 0;\n public isOnScreen: boolean = false;\n public isHalfScreen: boolean = false;\n \n @Input() data:any\n @Output() onEnter:EventEmitter<any> = new EventEmitter();\n @Output() onLeave:EventEmitter<any> = new EventEmitter();\n @Output() onHalf:EventEmitter<any> = new EventEmitter();\n\n constructor(private _elr:ElementRef){\n this._initScreenDeminitions();\n console.log(`screent highet: ${this._viewPortHighet}`);\n }\n\n\n ngAfterViewInit(): void {\n this._elementOffseTop = this._elr.nativeElement.offsetTop;\n this._elementHeight = this._elr.nativeElement.offsetHeight;\n console.log(`element offset Y = ${this._elementOffseTop}`); \n }\n\n\n @HostListener('window:scroll', ['$event']) onScroll(e: Event): void {\n\n if ((document.body.getBoundingClientRect()).top > this._scrollPos){\n if(this._scrollDirection != \"Up\"){\n this.isHalfScreen =false;\n this._scrollDirection = \"Up\"\n }\n } \n\t else{\n if(this._scrollDirection !=\"Down\"){\n this.isHalfScreen =false;\n this._scrollDirection = \"Down\"\n }\n } \n\t this._scrollPos = (document.body.getBoundingClientRect()).top;\n\n\n let currentClientHight = this._elr.nativeElement.getBoundingClientRect().top;\n if(currentClientHight >= this._viewPortHighet || currentClientHight < -this._elementHeight){\n if(this.isOnScreen){\n this.isOnScreen = false;\n this.onLeave.emit(\"OUT\");\n }\n }else{\n if(!this.isOnScreen){\n this.isOnScreen = true;\n this.onEnter.emit(\"IN\");\n }\n }\n\n if(currentClientHight < this._halfSscreen && currentClientHight > 0 && this._scrollDirection == \"Down\") {\n if(!this.isHalfScreen){\n this.isHalfScreen = true;\n console.log(\"half\")\n this.onHalf.emit(this.data);\n }\n }\n\n if(currentClientHight + this._elementHeight > this._halfSscreen && currentClientHight +this._elementHeight < this._viewPortHighet && this._scrollDirection == \"Up\") {\n if(!this.isHalfScreen){\n this.isHalfScreen = true;\n console.log(\"I am half\")\n this.onHalf.emit(this.data);\n }\n }\n }\n\n @HostListener('window:resize', ['$event']) onResize(e: Event) {\n this._viewPortHighet = window.innerHeight;\n this._initScreenDeminitions();\n }\n \n \n\n private _initScreenDeminitions(){\n this._viewPortHighet = window.innerHeight;\n this._curterScreen = Math.trunc(this._viewPortHighet *0.25);\n this._halfSscreen = Math.trunc(this._viewPortHighet *0.5);\n }\n }","import { NgModule } from '@angular/core';\nimport { ViewPositionDirective } from './view-position.directive';\n\n\n\n@NgModule({\n declarations: [\n ViewPositionDirective\n ],\n imports: [\n ],\n exports: [\n ViewPositionDirective\n ]\n})\nexport class ViewPositionModule { }\n","import { AnimationBuilder, style, animate, keyframes } from '@angular/animations';\n\n/********** Entries Animations ********************/\n\nexport const IoxAnimationStyles: any = {}\n\nIoxAnimationStyles[\"fade-up\"] = (delay:string, duration:string)=>{\n return [style({ opacity: 0, transform: \"translate3d(0,100px,0)\"}),\n animate(`${duration} ${delay} cubic-bezier(0.445, 0.05, 0.55, 0.95)`, style({ opacity: 1, transform: \"translateZ(0)\" }))]\n}\n\nIoxAnimationStyles[\"fade-right\"] = (delay:string, duration:string)=>{\n return [style({ opacity: 0, transform: \"translateX(150px)\"}),\n animate(`${duration} ${delay} cubic-bezier(0.445, 0.05, 0.55, 0.95)`, style({ opacity: 1, transform: \"translateZ(0)\" }))]\n}\n\nIoxAnimationStyles[\"fade-out-right\"] = (delay:string, duration:string)=>{\n return [style({ opacity: 1, transform: \"translateX(0px)\"}),\n animate(`${duration} ${delay} cubic-bezier(0.445, 0.05, 0.55, 0.95)`, style({ opacity: 0, transform: \"translateX(150px)\" }))]\n}\n\nIoxAnimationStyles[\"fade-left\"] = (delay:string, duration:string)=>{\n return [style({ opacity: 0, transform: \"translateX(-150px)\"}),\n animate(`${duration} ${delay} cubic-bezier(0.445, 0.05, 0.55, 0.95)`, style({ opacity: 1, transform: \"translateZ(0)\" }))]\n}\n\nIoxAnimationStyles[\"fade-out-up\"] = (delay:string, duration:string)=>{\n return [ style({ opacity: 1, transform: \"translateZ(0)\" }),\n animate(`${duration} ${delay} cubic-bezier(0.445, 0.05, 0.55, 0.95)`, style({ opacity: 0, transform: \"translate3d(0,-100px,0)\"}))]\n}\n\nIoxAnimationStyles[\"flip-left\"] = (delay:string, duration:string)=>{\n return [style({opacity: 0,transform: \"perspective(2500px) rotateY(-100deg)\"}),\n animate(`${duration} ${delay} cubic-bezier(0.445, 0.05, 0.55, 0.95)`, style({ opacity: 1, transform: \"perspective(2500px) rotateY(0)\" }))]\n}\n\nIoxAnimationStyles[\"flip-up\"] = (delay:string, duration:string)=>{\n return [style({opacity: 0,transform: \"perspective(2500px) rotateX(-100deg)\"}),\n animate(`${duration} ${delay} cubic-bezier(0.445, 0.05, 0.55, 0.95)`, style({ opacity: 1, transform: \"perspective(2500px) rotateY(0)\" }))]\n}\n\nIoxAnimationStyles[\"zoom-in-up\"] = (delay:string, duration:string)=>{\n return [style({opacity: 0,transform: \"translate3d(0,100px,0) scale(.6)\"}),\n animate(`${duration} ${delay} cubic-bezier(0.445, 0.05, 0.55, 0.95)`, style({ opacity: 1, transform: \"translateZ(0) scale(1)\" }))]\n}","import { Injectable } from \"@angular/core\";\nimport { Observable, Subject } from \"rxjs\";\n\n\n\n@Injectable({providedIn: 'root'})\nexport class AOSService {\n\n\n\n private _scrollOffset:Subject<any> = new Subject();\n public readonly scrollOffset: Observable<any> = this._scrollOffset.asObservable();\n \n constructor() { }\n\n\n updateScrollOffset(offset:any){\n this._scrollOffset.next(offset);\n }\n\n}","import { Component, ElementRef, HostListener, Input, SimpleChanges, ViewChild } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\nimport { AOSService } from './iox-aos.service';\n\n@Component({\n selector: \"[ioxAnimateContainer], ioxAnimateContainer\",\n template:`<div class='animate_root_element' #animateRooteElement>\n <ng-content></ng-content>\n </div>`,\n standalone: false\n})\nexport class IoxAnimateContainer {\n\n @Input('kickIn') kickIn = true;\n\n private _scrollOffset:Subject<any> = new Subject();\n public readonly scrollOffset: Observable<any> = this._scrollOffset.asObservable();\n @ViewChild('animateRooteElement') public animateRooteElement:any;\n \n\n constructor(private _element: ElementRef, private _aOSService: AOSService) {\n }\n\n ngAfterViewInit(){\n this.updateOffset();\n }\n\n @HostListener('scroll', ['$event'])\n public onScroll($event:any){\n this.updateOffset();\n }\n\n ngOnChanges(changes: SimpleChanges) {\n console.log(changes);\n if(changes['kickIn'] && changes['kickIn'].currentValue){\n this.updateOffset();\n }\n }\n\n\n private updateOffset(){\n let elClientRect = this.animateRooteElement.nativeElement.getBoundingClientRect();\n this._scrollOffset.next(elClientRect);\n this._aOSService.updateScrollOffset(elClientRect);\n }\n}","import { Directive, OnDestroy, AfterViewInit, ElementRef, Input, OnInit, Renderer2, HostListener, Host, Optional } from \"@angular/core\";\nimport { AnimationBuilder, style, animate, AnimationPlayer } from '@angular/animations';\nimport { IoxAnimationStyles } from \"./iox-aos-animations\"\n;\nimport { IoxAnimateContainer } from \"./iox-aos-container.component\";\n@Directive({\n selector: \"[ioxAnimate], ioxAnimate\",\n standalone: false\n })\n export class IoxAosDirective implements OnDestroy, OnInit, AfterViewInit {\n \n @Input(\"animationDelay\") animationDelay: string =\"\";\n @Input(\"animationIn\") animationIn: string =\"\";\n @Input(\"animationOut\") animationOut: string = \"\";\n @Input(\"animationDuration\") animationDuration: string = \"0.5s\";\n \n // @Input(\"in\")\n // @Input(\"out\")\n\n public animation:AnimationPlayer | any;\n public isAnimationPlayed= false;\n private _elTop:number =0;\n\n\n constructor(@Host() @Optional() private _animateContainer: IoxAnimateContainer, private _element: ElementRef, private _animationBuilder:AnimationBuilder, private _renderer: Renderer2){\n \n this._renderer.setStyle(_element.nativeElement,'opacity', '0');\n }\n\n public ngOnInit(){\n }\n\n public ngAfterViewInit(){\n\n setTimeout(()=>{\n\n this._elTop = this._cumulativeOffset(this._element.nativeElement).top;\n\n if(this._animateContainer){\n if(this._animateContainer.kickIn){\n this.runIfVisiable();\n }else{\n return\n }\n }else{\n this.runIfVisiable();\n }\n\n \n \n },150)\n\n const resizeObserver = new ResizeObserver((entries) =>\n this._elTop = this._cumulativeOffset(this._element.nativeElement).top\n );\n\n resizeObserver.observe(document.body);\n \n if(this._animateContainer){\n this._animateContainer?.scrollOffset.subscribe((offset:any)=>{\n if(this._animateContainer.kickIn){\n this.scrollEventHandler(-1 *offset.top);\n }\n })\n }\n\n \n }\n\n public makeAnimationIn(animationStyle:any):AnimationPlayer{\n let animation = IoxAnimationStyles[animationStyle](this.animationDelay, this.animationDuration);\n const myAnimation = this._animationBuilder.build(animation)\n return myAnimation.create(this._element.nativeElement); \n\n }\n\n private _cumulativeOffset(element:any) {\n var top = 0, left = 0;\n do {\n top += element.offsetTop || 0;\n left += element.offsetLeft || 0;\n element = element.offsetParent;\n } while(element);\n \n return {\n top: top,\n left: left\n };\n };\n\n @HostListener('document:scroll', ['$event']) onScrollEvent($event:any){\n this.scrollEventHandler(window.pageYOffset)\n }\n \n public isVisable(offset:number){\n //console.log(this._elTop >= window.pageYOffset && this._elTop <= window.pageYOffset + window.innerHeight);\n //return this._elTop >= window.pageYOffset && this._elTop <= window.pageYOffset + window.innerHeight;\n return this._elTop >= offset && this._elTop <= offset + window.innerHeight;\n }\n\n\n public scrollEventHandler(offset:number){\n\n if(this._animateContainer && this._animateContainer.kickIn == false){\n return\n }\n\n if(this.isVisable(offset) && !this.isAnimationPlayed){\n let animationStyle = this.animationIn || \"fade-up\";\n this.makeAnimationIn(animationStyle).play();\n this.isAnimationPlayed = true;\n }else if(!this.isVisable(offset) && this.isAnimationPlayed && this.animationOut){\n this.makeAnimationIn(this.animationOut).play();\n this.isAnimationPlayed =false;\n }\n }\n\n public runIfVisiable(){\n if(this.isVisable(window.pageYOffset)){\n let animationStyle = this.animationIn || \"fade-up\";\n this.makeAnimationIn(animationStyle).play();\n this.isAnimationPlayed = true;\n }\n }\n public ngOnDestroy(){\n\n }\n\n }\n\nfunction ViewParent() {\n throw new Error(\"Function not implemented.\");\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { IoxAosDirective } from './iox-aos.directive';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { IoxAnimateContainer } from './iox-aos-container.component';\nimport { AOSService } from './iox-aos.service';\n\n\n@NgModule({\n declarations: [\n IoxAosDirective,\n IoxAnimateContainer\n ],\n imports: [\n BrowserAnimationsModule\n ],\n providers:[\n AOSService\n ],\n exports: [\n IoxAosDirective,\n IoxAnimateContainer\n ]\n})\nexport class IoxAosModule { \n\n static forRoot(): ModuleWithProviders<any> {\n return {\n ngModule: IoxAosModule,\n providers: [AOSService]\n };\n }\n\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class IoxMasonryService {\n\n constructor() { }\n}\n","import { Component, OnInit, Input, Output, EventEmitter, HostListener, ElementRef, AfterViewInit} from '@angular/core';\nimport { Masonry } from '@fristys/masonry';\n\n\n@Component({ \n selector: \"[iox-masonry], iox-masonry\",\n template: `<ng-content></ng-content>`,\n styles: [],\n standalone: false\n})\nexport class IoxMasonryComponent implements OnInit, AfterViewInit {\n\n \n\n // Inputs\n @Input() public options: any = {};\n @Input() public useImagesLoaded: Boolean = false;\n @Input() updateLayout: Boolean = false;\n\n @Output() layoutComplete: EventEmitter<any[]> = new EventEmitter<any[]>();\n \n public _msnry: any;\n private isAppendAllowed:boolean = true;\n\n constructor(private _element: ElementRef) { }\n\n ngAfterViewInit(): void {\n console.log(\"test\");\n }\n\n ngOnInit() {\n this._msnry = new Masonry(document.getElementById('masonry'), this.options);\n this.layout(); \n }\n \n ngOnChanges(changes: any) {\n console.log(changes);\n }\n\n\n add = (element: HTMLElement)=>{\n setTimeout(()=>{\n this._msnry.init();\n },200)\n\n }\n\n public remove(element: HTMLElement) {\n this._msnry.remove(element);\n }\n\n public layout() {\n setTimeout(() => {\n this._msnry.init();\n });\n }\n\n}\n\nexport interface IoxMasonryOptions {\n columns?: number;\n columnBreakpoints?: number;\n gutter?: number | string;\n initOnImageLoad?: boolean;\n loadingClass?: string;\n loadedClass?: string;\n onInit?:any;\n bindOnScroll?: boolean;\n useContainerWidth?: boolean;\n trackItemSizeChanges?: boolean;\n}\n","import { Directive, Inject, ElementRef, forwardRef, OnDestroy, AfterViewInit, Renderer2 } from '@angular/core';\nimport { IoxMasonryComponent } from './iox-masonry.component';\n@Directive({\n selector: \"[ioxMasonryItem], ioxMasonryItem\",\n standalone: false\n})\nexport class IoxMasonryItemDirective implements OnDestroy, AfterViewInit {\n constructor(\n private _element: ElementRef,\n @Inject(forwardRef(() => IoxMasonryComponent))\n private _parent: IoxMasonryComponent,\n private _renderer:Renderer2) {\n //this._renderer.setStyle(_element.nativeElement,'opacity', '0');\n }\n\n ngAfterViewInit() {\n console.log(this._element.nativeElement);\n this._parent.add(this._element.nativeElement);\n }\n\n ngOnDestroy() {\n this._parent.remove(this._element.nativeElement);\n }\n}","import { NgModule } from '@angular/core';\nimport { IoxMasonryComponent } from './iox-masonry.component';\nimport { IoxMasonryItemDirective } from './iox-masonry-item.directive';\nimport { BrowserModule } from '@angular/platform-browser';\n\n\n\n@NgModule({\n declarations: [IoxMasonryComponent, IoxMasonryItemDirective],\n imports: [\n BrowserModule\n ],\n exports: [IoxMasonryComponent, IoxMasonryItemDirective]\n})\nexport class IoxMasonryModule { }\n","import { Inject, Injectable, PLATFORM_ID } from '@angular/core';\nimport { isPlatformBrowser } from '@angular/common';\nimport Lenis from 'lenis';\n\n@Injectable()\nexport class PageScrollProvider {\n private lenis?: Lenis;\n private rafId?: number;\n\n constructor(@Inject(PLATFORM_ID) private platformId: object) {}\n\n init(options?: ConstructorParameters<typeof Lenis>[0]): void {\n if (!isPlatformBrowser(this.platformId)) return;\n\n if (this.lenis) {\n this.lenis.destroy();\n }\n if (this.rafId != null) {\n cancelAnimationFrame(this.rafId);\n }\n this.lenis = new Lenis(options || {});\n this.startLoop();\n }\n\n scrollTo(y: number, options?: { duration?: number; immediate?: boolean }): void {\n this.instance.scrollTo(y, options);\n }\n\n scrollToTop(options?: { duration?: number; immediate?: boolean }): void {\n this.scrollTo(0, options);\n }\n\n get instance(): Lenis {\n if (!this.lenis) {\n throw new Error('PageScrollProvider: call init() before accessing the instance.');\n }\n return this.lenis;\n }\n\n destroy(): void {\n if (this.lenis) {\n this.lenis.destroy();\n this.lenis = undefined;\n }\n if (this.rafId != null) {\n cancelAnimationFrame(this.rafId);\n this.rafId = undefined;\n }\n }\n\n private startLoop(): void {\n if (!this.lenis) return;\n const loop = (time: number) => {\n this.lenis!.raf(time);\n this.rafId = requestAnimationFrame(loop);\n };\n this.rafId = requestAnimationFrame(loop);\n }\n}\n","import { Component, ElementRef, EventEmitter, Inject, Input, Output, ViewChild, AfterViewInit, OnDestroy, PLATFORM_ID } from '@angular/core';\nimport { isPlatformBrowser } from '@angular/common';\nimport { PageScrollProvider } from '../../services/page-scroll.provider';\n\n@Component({\n selector: 'iox-page-component',\n templateUrl: './page-component.component.html',\n styleUrls: ['./page-component.component.scss'],\n standalone: false\n})\nexport class IoxPageComponent implements AfterViewInit, OnDestroy {\n @Input() class = '';\n @ViewChild('page') public page!: ElementRef<HTMLDivElement>;\n @Output() scrollEvent = new EventEmitter<{\n scrollTop: number;\n scrollLeft: number;\n scrollHeight: number;\n scrollWidth: number;\n clientHeight: number;\n clientWidth: number;\n scrollPercentage: number;\n }>();\n\n constructor(\n private pageScrollProvider: PageScrollProvider,\n @Inject(PLATFORM_ID) private platformId: object\n ) {}\n\n ngAfterViewInit(): void {\n if (!isPlatformBrowser(this.platformId) || !this.page) return;\n\n this.pageScrollProvider.init({\n wrapper: this.page.nativeElement,\n content: this.page.nativeElement.querySelector('.page-mask')!,\n duration: 1.2,\n easing: (t: number) => Math.min(1, 1.001 - Math.pow(2, -10 * t)),\n });\n\n this.pageScrollProvider.instance.on('scroll', ({ scroll, progress }: { scroll: number; progress: number }) => {\n const el = this.page.nativeElement;\n this.scrollEvent.emit({\n scrollTop: scroll,\n scrollLeft: 0,\n scrollHeight: el.scrollHeight,\n scrollWidth: el.scrollWidth,\n clientHeight: el.clientHeight,\n clientWidth: el.clientWidth,\n scrollPercentage: progress * 100,\n });\n el.dispatchEvent(new Event('scroll'));\n });\n }\n\n ngOnDestroy(): void {\n this.pageScrollProvider.destroy();\n }\n}\n","<div #page [class]=\"class\" class=\"iox-page-wrapper\">\n <div class=\"page-mask\">\n <ng-content></ng-content>\n </div>\n</div>\n","\nimport { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { IoxPageComponent } from './page-component/page-component.component';\nimport { PageScrollProvider } from '../services/page-scroll.provider';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [IoxPageComponent],\n exports: [IoxPageComponent],\n providers: [PageScrollProvider]\n})\nexport class IoxPageModule {}\n","import { NgModule } from '@angular/core';\nimport { IoxAosModule } from './iox-aos/iox-aos.module';\nimport { IoxPageModule } from './iox-page/iox-page.module';\n\n\n@NgModule({\n declarations: [],\n imports: [IoxAosModule, IoxPageModule],\n exports: [IoxAosModule, IoxPageModule]\n})\nexport class IoxUiModule { }\n","import { Subject } from 'rxjs';\nimport { Injectable } from '@angular/core';\n\nexport enum PrivacyModelEvent {\n OPEN = 1,\n CLOSE = 2\n}\n\n@Injectable()\nexport class PrivacyModalService {\n private modalEvent: Subject<PrivacyModelEvent> = new Subject<PrivacyModelEvent>();\n private decisionSubject: Subject<boolean> | null = null;\n\n constructor() {}\n\n public registerModalEvent(func: Function): void {\n this.modalEvent.subscribe({\n next: (val) => {\n func(val);\n }\n });\n }\n\n public openModal(): Subject<boolean> {\n this.modalEvent.next(PrivacyModelEvent.OPEN);\n this.decisionSubject = new Subject<boolean>();\n return this.decisionSubject;\n }\n\n public closeModal(): void {\n this.modalEvent.next(PrivacyModelEvent.CLOSE);\n }\n\n public notifyDecision(accepted: boolean): void {\n if (this.decisionSubject) {\n this.decisionSubject.next(accepted);\n this.decisionSubject.complete();\n this.decisionSubject = null;\n }\n this.closeModal();\n }\n}","import { Injectable, Injector, Inject } from '@angular/core';\nimport { ENVIRONMENT } from '../cms-client-infra.module';\nimport { HttpClient, HttpHeaders, HttpErrorResponse, HttpEventType, HttpEvent } from '@angular/common/http';\nimport { Observable, of } from 'rxjs';\nimport { CookieService } from 'ngx-cookie-service';\nimport { PrivacyModalService } from '../components/privacy/privacy-modal.service';\n\n\n\n@Injectable()\nexport class ConsentService {\n\n\n private readonly WEB_USER = \"webUser\";\n\n constructor(private cookieService: CookieService,\n private httpClient: HttpClient,\n private _privacyModalService: PrivacyModalService,\n @Inject(ENVIRONMENT) public environment: any) {\n }\n\n private hasAnalyticsConsent(): boolean {\n const cookieValue = this.cookieService.get(this.WEB_USER);\n if (!cookieValue) {\n return false;\n }\n\n try {\n const parsedCookieValue = JSON.parse(cookieValue);\n return parsedCookieValue.user?.consent?.analyticsConsent === true;\n } catch {\n // Invalid JSON or unexpected structure: treat as no consent\n return false;\n }\n }\n\n checkAnalyticsConsent(): Observable<boolean> {\n if (this.hasAnalyticsConsent()) {\n // Consent already given, return true immediately as Observable\n return of(true);\n }\n\n // No consent yet (or invalid/missing cookie) -> show modal\n return this._privacyModalService.openModal();\n }\n\n checkMarketingConsent() {\n let cookieValue = this.cookieService.get(this.WEB_USER);\n if (!cookieValue) {\n return false;\n }\n let parsedCookieValue = JSON.parse(cookieValue);\n return parsedCookieValue.user?.consent?.marketingConsent;\n }\n\n setConsent(analytics: boolean, marketing: boolean) {\n let cookieValue = this.cookieService.get(this.WEB_USER);\n let parsedCookieValue = cookieValue ? JSON.parse(cookieValue) : { user: { consent: { \n anonymousId: this.generateAnonymousId() \n } } };\n parsedCookieValue.user.consent.analyticsConsent = analytics;\n parsedCookieValue.user.consent.marketingConsent = marketing;\n this.cookieService.set(this.WEB_USER, JSON.stringify(parsedCookieValue));\n\n this.httpClient.post(`${this.environment.HOST}consent`, parsedCookieValue.user.consent)\n .subscribe({\n next: (response) => {\n console.log('Consent updated successfully:', response);\n },\n error: (error) => {\n console.error('Error updating consent:', error);\n }\n });\n }\n\n private generateAnonymousId() {\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {\n var r = Math.random() * 16 | 0,\n v = c === 'x' ? r : (r & 0x3 | 0x8);\n return v.toString(16);\n });\n }\n\n}","import { Component } from '@angular/core';\nimport { PrivacyModalService, PrivacyModelEvent } from './privacy-modal.service';\nimport { ConsentService } from '../../services/consent.service';\n\n@Component({\n selector: 'privacy-modal',\n templateUrl: './privacy-modal.component.html',\n styleUrls: ['./privacy-modal.component.scss'],\n standalone: false\n})\nexport class PrivacyModalComponent {\n public isOpen: boolean = false;\n constructor(private _privacyModalService: PrivacyModalService,\n private _consentService: ConsentService) {\n this._privacyModalService.registerModalEvent((event: PrivacyModelEvent) => {\n if (event == PrivacyModelEvent.CLOSE) {\n this.isOpen = false;\n } else {\n this.isOpen = true;\n }\n });\n }\n\n onAccept() {\n this._consentService.setConsent(true, true);\n this._privacyModalService.notifyDecision(true);\n this.isOpen = false;\n }\n\n onDecline() {\n this._privacyModalService.notifyDecision(false);\n this.isOpen = false;\n }\n}\n","<div class=\"privacy-modal\" [ngClass]=\"{'open': isOpen, 'closed': !isOpen}\">\n <div class=\"modal-content\">\n <h2>אנחנו שומרים על הפרטיות שלך</h2>\n <p dir=\"rtl\">\n <span>\n אנחנו משמשים בקבצי \n </span>\n <span>Cookies </span>\n <span>כדי לשפר את חווית הגלישה שלך, לנתח שימוש באתר ולהציע תוכן מותאם אישית.</span>\n <span> למידע נוסף על איך אנחנו משתמשים במידע שלך, ראה את <a target=\"_blank\" href=\"/privacy\">מדיניות הפרטיות </a> שלנו</span>\n </p>\n\n <div class=\"button-container\">\n <button class=\"accept-button\" (click)=\"onAccept()\">אני מסכים</button>\n <button class=\"decline-button\" (click)=\"onDecline()\">אני לא מסכים</button>\n </div>\n </div>\n</div>\n","import { Inject, Injectable, Injector } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpErrorResponse, HttpEventType, HttpEvent } from '@angular/common/http';\nimport { Observable, of } from 'rxjs';\nimport { CookieService } from 'ngx-cookie-service';\nimport { PrivacyModalService } from '../components/privacy/privacy-modal.service';\nimport { ENVIRONMENT } from '../cms-client-infra.module';\n\n\n\n@Injectable()\nexport class WebSettingsService {\n\n constructor(\n private httpClient: HttpClient,\n @Inject(ENVIRONMENT) private environment: any\n ) {\n }\n\n getSettings() {\n // If the server injected a runtime config (window.__APP_CONFIG) use that first,\n // otherwise fall back to the compile-time environment.HOST.\n const runtimeHost = (typeof window !== 'undefined' && (window as any).__APP_CONFIG && (window as any).__APP_CONFIG.HOST) ? (window as any).__APP_CONFIG.HOST : this.environment.HOST;\n return this.httpClient.get(`${runtimeHost}web/settings`);\n }\n\n configArrayToObject(arr: any[]): { [key: string]: any } {\n return arr.reduce((acc, item) => {\n acc[item.key] = item.value;\n return acc;\n }, {});\n }\n\n}","import { Inject, Injectable, Injector } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpErrorResponse, HttpEventType, HttpEvent } from '@angular/common/http';\nimport { Observable, pipe, of, from } from 'rxjs';\nimport { filter, map, reduce, retry } from 'rxjs/operators';\nimport { ENVIRONMENT } from '../cms-client-infra.module';\n\n\n\n@Injectable()\nexport class ContentService {\n\n private appContent:any ={};\n\n\n constructor(private httpClient: HttpClient,\n @Inject(ENVIRONMENT) private environment: any\n ) {\n }\n\n getContent(contentName:string,id?:string ) {\n \n if(this.appContent[contentName] && this.appContent[contentName].length){\n\n if(id){\n return of(this.findOne(this.appContent[contentName],id))\n }\n return of(this.appContent[contentName]);\n }\n\n return this.httpClient.get(`${this.environment.HOST}${contentName}`).pipe(map((content:any)=>{\n if(contentName == this.environment.contentResource.SERVICES || contentName == this.environment.contentResource.PROJECTS){\n content = content.map((item: any) =>{\n item.id= item.name.replace(/ /g,\"_\");\n //item._id= item.name.replace(/ /g,\"_\");\n return item;\n })\n }\n this.appContent[contentName] = content;\n if(id){\n return this.findOne(this.appContent[contentName],id)\n }\n return content;\n }));\n }\n\n private findOne(arr:any,id: string){\n for(let i=0; i < arr.length;i++){\n if(arr[i].id == id){\n return arr[i];\n }\n }\n }\n\n}","import { NgModule, ModuleWithProviders, InjectionToken } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { CookieService } from 'ngx-cookie-service';\nimport { ConsentService } from './services/consent.service';\nimport { PrivacyModalComponent } from './components/privacy/privacy-modal.component';\nimport { PrivacyModalService } from './components/privacy/privacy-modal.service';\nimport { WebSettingsService } from './services/web-settings.service';\nimport { ContentService } from './services/content.service';\n\nexport const ENVIRONMENT = new InjectionToken<any>('environment');\n\n@NgModule({\n declarations: [\n PrivacyModalComponent\n ],\n imports: [\n CommonModule\n ],\n exports: [PrivacyModalComponent]\n})\nexport class CMSClientInfraModule {\n static forRoot(environment: any): ModuleWithProviders<CMSClientInfraModule> {\n return {\n ngModule: CMSClientInfraModule,\n providers: [\n { provide: ENVIRONMENT, useValue: environment },\n ConsentService,\n ContentService,\n CookieService,\n WebSettingsService,\n PrivacyModalService\n ]\n };\n }\n}\n","import { Injectable, Inject, PLATFORM_ID } from '@angular/core';\nimport { isPlatformBrowser } from '@angular/common';\n\n@Injectable({ providedIn: 'root' })\nexport class AnalyticsService {\n private gaScriptId = 'google-analytics-script';\n\n constructor(@Inject(PLATFORM_ID) private platformId: Object) {}\n\n applyGoogleAnalytics(appId: string): void {\n if (!isPlatformBrowser(this.platformId)) return;\n\n // 1. Establish the dataLayer and the CORRECT gtag function stub\n const win = window as any;\n win.dataLayer = win.dataLayer || [];\n \n // CRITICAL FIX: The Google library requires the special 'arguments' object, \n // NOT a standard array spread [...args]. \n if (!win.gtag) {\n win.gtag = function() {\n win.dataLayer.push(arguments); \n };\n }\n\n // 2. Queue initial commands immediately (even before script loads)\n win.gtag('js', new Date());\n win.gtag('config', appId); \n\n // 3. Load the script if not already present\n if (!document.getElementById(this.gaScriptId)) {\n const script = document.createElement('script');\n script.id = this.gaScriptId;\n script.async = true;\n script.src = `https://www.googletagmanager.com/gtag/js?id=${appId}`;\n \n script.onload = () => {\n console.log('[Analytics] gtag.js script loaded and ready');\n };\n \n script.onerror = (e) => console.error('[Analytics] gtag.js failed to load', e);\n document.head.appendChild(script);\n }\n }\n\n // Helper to send events from your components\n sendEvent(eventName: string, params: object = {}): void {\n if (isPlatformBrowser(this.platformId) && (window as any).gtag) {\n (window as any).gtag('event', eventName, params);\n }\n }\n\n // Synchronous page view sender that won't rely on internal ready Promise\n sendPageView(path: string): void {\n if (!isPlatformBrowser(this.platformId)) return;\n\n const win = window as any;\n\n try {\n if (win && win.gtag) {\n // Prefer gtag when available\n win.gtag('event', 'page_view', { page_path: path });\n return;\n }\n\n // Fallback: ensure dataLayer exists and push a native arguments-like object\n win.dataLayer = win.dataLayer || [];\n // Use a plain object that resembles gtag's usage if gtag not present\n win.dataLayer.push({ event: 'page_view', page_path: path });\n } catch (err) {\n console.warn('[Analytics] sendPageView failed', err);\n }\n }\n}\n","/*\n * Public API Surface of iox-ui\n */\n\nexport * from './lib/view-position/view-position.directive';\nexport * from './lib/view-position/view-position.module';\n\n\n\nexport * from './lib/iox-aos/iox-aos.directive';\nexport * from './lib/iox-aos/iox-aos-container.component';\nexport * from './lib/iox-aos/iox-aos.service';\nexport * from './lib/iox-aos/iox-aos.module';\n\n\n\nexport * from './lib/iox-masonry/iox-masonry.service';\nexport * from './lib/iox-masonry/iox-masonry.component';\nexport * from './lib/iox-masonry/iox-masonry-item.directive';\nexport * from './lib/iox-masonry/iox-masonry.module';\n\nexport * from './lib/iox-ui.module';\nexport * from './lib/iox-page/page-component/page-component.component';\nexport * from './lib/iox-page/iox-page.module';\nexport * from './lib/services/page-scroll.provider';\n \n// CMS client infra\nexport * from './lib/iox-cms-client-infra/cms-client-infra.module';\nexport * from './lib/iox-cms-client-infra/services/consent.service';\nexport * from './lib/iox-cms-client-infra/services/web-settings.service';\nexport * from './lib/iox-cms-client-infra/services/content.service';\nexport * from './lib/iox-cms-client-infra/services/analytics.service';\nexport * from './lib/iox-cms-client-infra/components/privacy/privacy-modal.component';\nexport * from './lib/iox-cms-client-infra/components/privacy/privacy-modal.service';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.AOSService","i1.IoxAnimateContainer","i1.PrivacyModalService","i2.ConsentService"],"mappings":"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"}
|
package/index.d.ts
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { AfterViewInit, EventEmitter, ElementRef, SimpleChanges, OnDestroy, OnInit, Renderer2, ModuleWithProviders } from '@angular/core';
|
|
2
|
+
import { AfterViewInit, EventEmitter, ElementRef, SimpleChanges, OnDestroy, OnInit, Renderer2, ModuleWithProviders, InjectionToken } from '@angular/core';
|
|
3
3
|
import { AnimationPlayer, AnimationBuilder } from '@angular/animations';
|
|
4
|
-
import { Observable } from 'rxjs';
|
|
4
|
+
import { Observable, Subject } from 'rxjs';
|
|
5
5
|
import * as i3 from '@angular/platform-browser/animations';
|
|
6
6
|
import * as i3$1 from '@angular/platform-browser';
|
|
7
7
|
import Lenis from 'lenis';
|
|
8
8
|
import * as i2 from '@angular/common';
|
|
9
|
+
import { HttpClient } from '@angular/common/http';
|
|
10
|
+
import { CookieService } from 'ngx-cookie-service';
|
|
9
11
|
|
|
10
12
|
declare class ViewPositionDirective implements AfterViewInit {
|
|
11
13
|
private _elr;
|
|
@@ -150,8 +152,10 @@ declare class IoxMasonryModule {
|
|
|
150
152
|
}
|
|
151
153
|
|
|
152
154
|
declare class PageScrollProvider {
|
|
155
|
+
private platformId;
|
|
153
156
|
private lenis?;
|
|
154
157
|
private rafId?;
|
|
158
|
+
constructor(platformId: object);
|
|
155
159
|
init(options?: ConstructorParameters<typeof Lenis>[0]): void;
|
|
156
160
|
scrollTo(y: number, options?: {
|
|
157
161
|
duration?: number;
|
|
@@ -162,6 +166,7 @@ declare class PageScrollProvider {
|
|
|
162
166
|
immediate?: boolean;
|
|
163
167
|
}): void;
|
|
164
168
|
get instance(): Lenis;
|
|
169
|
+
destroy(): void;
|
|
165
170
|
private startLoop;
|
|
166
171
|
static ɵfac: i0.ɵɵFactoryDeclaration<PageScrollProvider, never>;
|
|
167
172
|
static ɵprov: i0.ɵɵInjectableDeclaration<PageScrollProvider>;
|
|
@@ -169,9 +174,9 @@ declare class PageScrollProvider {
|
|
|
169
174
|
|
|
170
175
|
declare class IoxPageComponent implements AfterViewInit, OnDestroy {
|
|
171
176
|
private pageScrollProvider;
|
|
177
|
+
private platformId;
|
|
172
178
|
class: string;
|
|
173
179
|
page: ElementRef<HTMLDivElement>;
|
|
174
|
-
private scrollSubscription;
|
|
175
180
|
scrollEvent: EventEmitter<{
|
|
176
181
|
scrollTop: number;
|
|
177
182
|
scrollLeft: number;
|
|
@@ -181,9 +186,8 @@ declare class IoxPageComponent implements AfterViewInit, OnDestroy {
|
|
|
181
186
|
clientWidth: number;
|
|
182
187
|
scrollPercentage: number;
|
|
183
188
|
}>;
|
|
184
|
-
constructor(pageScrollProvider: PageScrollProvider);
|
|
189
|
+
constructor(pageScrollProvider: PageScrollProvider, platformId: object);
|
|
185
190
|
ngAfterViewInit(): void;
|
|
186
|
-
onScroll(event: Event): void;
|
|
187
191
|
ngOnDestroy(): void;
|
|
188
192
|
static ɵfac: i0.ɵɵFactoryDeclaration<IoxPageComponent, never>;
|
|
189
193
|
static ɵcmp: i0.ɵɵComponentDeclaration<IoxPageComponent, "iox-page-component", never, { "class": { "alias": "class"; "required": false; }; }, { "scrollEvent": "scrollEvent"; }, never, ["*"], false, never>;
|
|
@@ -201,5 +205,90 @@ declare class IoxUiModule {
|
|
|
201
205
|
static ɵinj: i0.ɵɵInjectorDeclaration<IoxUiModule>;
|
|
202
206
|
}
|
|
203
207
|
|
|
204
|
-
|
|
208
|
+
declare enum PrivacyModelEvent {
|
|
209
|
+
OPEN = 1,
|
|
210
|
+
CLOSE = 2
|
|
211
|
+
}
|
|
212
|
+
declare class PrivacyModalService {
|
|
213
|
+
private modalEvent;
|
|
214
|
+
private decisionSubject;
|
|
215
|
+
constructor();
|
|
216
|
+
registerModalEvent(func: Function): void;
|
|
217
|
+
openModal(): Subject<boolean>;
|
|
218
|
+
closeModal(): void;
|
|
219
|
+
notifyDecision(accepted: boolean): void;
|
|
220
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<PrivacyModalService, never>;
|
|
221
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<PrivacyModalService>;
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
declare class ConsentService {
|
|
225
|
+
private cookieService;
|
|
226
|
+
private httpClient;
|
|
227
|
+
private _privacyModalService;
|
|
228
|
+
environment: any;
|
|
229
|
+
private readonly WEB_USER;
|
|
230
|
+
constructor(cookieService: CookieService, httpClient: HttpClient, _privacyModalService: PrivacyModalService, environment: any);
|
|
231
|
+
private hasAnalyticsConsent;
|
|
232
|
+
checkAnalyticsConsent(): Observable<boolean>;
|
|
233
|
+
checkMarketingConsent(): any;
|
|
234
|
+
setConsent(analytics: boolean, marketing: boolean): void;
|
|
235
|
+
private generateAnonymousId;
|
|
236
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ConsentService, never>;
|
|
237
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<ConsentService>;
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
declare class PrivacyModalComponent {
|
|
241
|
+
private _privacyModalService;
|
|
242
|
+
private _consentService;
|
|
243
|
+
isOpen: boolean;
|
|
244
|
+
constructor(_privacyModalService: PrivacyModalService, _consentService: ConsentService);
|
|
245
|
+
onAccept(): void;
|
|
246
|
+
onDecline(): void;
|
|
247
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<PrivacyModalComponent, never>;
|
|
248
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<PrivacyModalComponent, "privacy-modal", never, {}, {}, never, never, false, never>;
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
declare const ENVIRONMENT: InjectionToken<any>;
|
|
252
|
+
declare class CMSClientInfraModule {
|
|
253
|
+
static forRoot(environment: any): ModuleWithProviders<CMSClientInfraModule>;
|
|
254
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<CMSClientInfraModule, never>;
|
|
255
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<CMSClientInfraModule, [typeof PrivacyModalComponent], [typeof i2.CommonModule], [typeof PrivacyModalComponent]>;
|
|
256
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<CMSClientInfraModule>;
|
|
257
|
+
}
|
|
258
|
+
|
|
259
|
+
declare class WebSettingsService {
|
|
260
|
+
private httpClient;
|
|
261
|
+
private environment;
|
|
262
|
+
constructor(httpClient: HttpClient, environment: any);
|
|
263
|
+
getSettings(): Observable<Object>;
|
|
264
|
+
configArrayToObject(arr: any[]): {
|
|
265
|
+
[key: string]: any;
|
|
266
|
+
};
|
|
267
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<WebSettingsService, never>;
|
|
268
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<WebSettingsService>;
|
|
269
|
+
}
|
|
270
|
+
|
|
271
|
+
declare class ContentService {
|
|
272
|
+
private httpClient;
|
|
273
|
+
private environment;
|
|
274
|
+
private appContent;
|
|
275
|
+
constructor(httpClient: HttpClient, environment: any);
|
|
276
|
+
getContent(contentName: string, id?: string): Observable<any>;
|
|
277
|
+
private findOne;
|
|
278
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ContentService, never>;
|
|
279
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<ContentService>;
|
|
280
|
+
}
|
|
281
|
+
|
|
282
|
+
declare class AnalyticsService {
|
|
283
|
+
private platformId;
|
|
284
|
+
private gaScriptId;
|
|
285
|
+
constructor(platformId: Object);
|
|
286
|
+
applyGoogleAnalytics(appId: string): void;
|
|
287
|
+
sendEvent(eventName: string, params?: object): void;
|
|
288
|
+
sendPageView(path: string): void;
|
|
289
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AnalyticsService, never>;
|
|
290
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AnalyticsService>;
|
|
291
|
+
}
|
|
292
|
+
|
|
293
|
+
export { AOSService, AnalyticsService, CMSClientInfraModule, ConsentService, ContentService, ENVIRONMENT, IoxAnimateContainer, IoxAosDirective, IoxAosModule, IoxMasonryComponent, IoxMasonryItemDirective, IoxMasonryModule, IoxMasonryService, IoxPageComponent, IoxPageModule, IoxUiModule, PageScrollProvider, PrivacyModalComponent, PrivacyModalService, PrivacyModelEvent, ViewPositionDirective, ViewPositionModule, WebSettingsService };
|
|
205
294
|
export type { IoxMasonryOptions };
|
package/package.json
CHANGED
|
@@ -1,14 +1,20 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vectoriox/iox-ui",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.0.4",
|
|
4
|
+
"dependencies": {
|
|
5
|
+
"tslib": "^2.3.0",
|
|
6
|
+
"@fristys/masonry": "^1.1.7"
|
|
7
|
+
},
|
|
4
8
|
"peerDependencies": {
|
|
5
9
|
"@angular/common": "^20.0.0",
|
|
6
10
|
"@angular/core": "^20.0.0",
|
|
7
|
-
"@angular/animations": "^20.0.0"
|
|
11
|
+
"@angular/animations": "^20.0.0",
|
|
12
|
+
"ngx-cookie-service": "^20.1.1"
|
|
8
13
|
},
|
|
9
|
-
"
|
|
10
|
-
"
|
|
11
|
-
|
|
14
|
+
"peerDependenciesMeta": {
|
|
15
|
+
"ngx-cookie-service": {
|
|
16
|
+
"optional": true
|
|
17
|
+
}
|
|
12
18
|
},
|
|
13
19
|
"module": "fesm2022/vectoriox-iox-ui.mjs",
|
|
14
20
|
"typings": "index.d.ts",
|