@vectoriox/iox-ui 4.42.0 → 5.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/vectoriox-iox-ui.mjs +67 -336
- package/fesm2022/vectoriox-iox-ui.mjs.map +1 -1
- package/index.d.ts +23 -90
- package/package.json +1 -1
- package/forms-core/package.json +0 -3
- package/seo-core/package.json +0 -3
|
@@ -1,16 +1,12 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { EventEmitter, HostListener, Output, Input, Directive, NgModule, Injectable, ViewChild, Component, Host, Optional, inject, NgZone,
|
|
2
|
+
import { EventEmitter, HostListener, Output, Input, Directive, NgModule, Injectable, ViewChild, Component, Host, Optional, inject, NgZone, InjectionToken, Inject, ChangeDetectionStrategy, ViewContainerRef, PLATFORM_ID, reflectComponentType, signal, computed } from '@angular/core';
|
|
3
3
|
import * as i2 from '@angular/animations';
|
|
4
4
|
import { style, animate } from '@angular/animations';
|
|
5
|
-
import { Subject, fromEvent
|
|
5
|
+
import { Subject, fromEvent } from 'rxjs';
|
|
6
6
|
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
|
|
7
|
-
import * as i1
|
|
7
|
+
import * as i1 from '@angular/common';
|
|
8
8
|
import { CommonModule, isPlatformBrowser } from '@angular/common';
|
|
9
9
|
import Lenis from 'lenis';
|
|
10
|
-
import * as i1 from 'ngx-cookie-service';
|
|
11
|
-
import { CookieService } from 'ngx-cookie-service';
|
|
12
|
-
import * as i1$1 from '@angular/common/http';
|
|
13
|
-
import { map } from 'rxjs/operators';
|
|
14
10
|
|
|
15
11
|
class ViewPositionDirective {
|
|
16
12
|
constructor(_elr) {
|
|
@@ -539,324 +535,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.31", ngImpo
|
|
|
539
535
|
args: [{ providedIn: 'root' }]
|
|
540
536
|
}] });
|
|
541
537
|
|
|
542
|
-
var PrivacyModelEvent;
|
|
543
|
-
(function (PrivacyModelEvent) {
|
|
544
|
-
PrivacyModelEvent[PrivacyModelEvent["OPEN"] = 1] = "OPEN";
|
|
545
|
-
PrivacyModelEvent[PrivacyModelEvent["CLOSE"] = 2] = "CLOSE";
|
|
546
|
-
})(PrivacyModelEvent || (PrivacyModelEvent = {}));
|
|
547
|
-
class PrivacyModalService {
|
|
548
|
-
constructor() {
|
|
549
|
-
this.modalEvent = new Subject();
|
|
550
|
-
this.decisionSubject = null;
|
|
551
|
-
}
|
|
552
|
-
registerModalEvent(func) {
|
|
553
|
-
this.modalEvent.subscribe({
|
|
554
|
-
next: (val) => {
|
|
555
|
-
func(val);
|
|
556
|
-
}
|
|
557
|
-
});
|
|
558
|
-
}
|
|
559
|
-
openModal() {
|
|
560
|
-
this.modalEvent.next(PrivacyModelEvent.OPEN);
|
|
561
|
-
this.decisionSubject = new Subject();
|
|
562
|
-
return this.decisionSubject;
|
|
563
|
-
}
|
|
564
|
-
closeModal() {
|
|
565
|
-
this.modalEvent.next(PrivacyModelEvent.CLOSE);
|
|
566
|
-
}
|
|
567
|
-
notifyDecision(accepted) {
|
|
568
|
-
if (this.decisionSubject) {
|
|
569
|
-
this.decisionSubject.next(accepted);
|
|
570
|
-
this.decisionSubject.complete();
|
|
571
|
-
this.decisionSubject = null;
|
|
572
|
-
}
|
|
573
|
-
this.closeModal();
|
|
574
|
-
}
|
|
575
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: PrivacyModalService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
576
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: PrivacyModalService }); }
|
|
577
|
-
}
|
|
578
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: PrivacyModalService, decorators: [{
|
|
579
|
-
type: Injectable
|
|
580
|
-
}], ctorParameters: () => [] });
|
|
581
|
-
|
|
582
|
-
class ConsentService {
|
|
583
|
-
constructor(cookieService, httpClient, _privacyModalService, environment) {
|
|
584
|
-
this.cookieService = cookieService;
|
|
585
|
-
this.httpClient = httpClient;
|
|
586
|
-
this._privacyModalService = _privacyModalService;
|
|
587
|
-
this.environment = environment;
|
|
588
|
-
this.WEB_USER = "webUser";
|
|
589
|
-
}
|
|
590
|
-
hasAnalyticsConsent() {
|
|
591
|
-
const cookieValue = this.cookieService.get(this.WEB_USER);
|
|
592
|
-
if (!cookieValue) {
|
|
593
|
-
return false;
|
|
594
|
-
}
|
|
595
|
-
try {
|
|
596
|
-
const parsedCookieValue = JSON.parse(cookieValue);
|
|
597
|
-
return parsedCookieValue.user?.consent?.analyticsConsent === true;
|
|
598
|
-
}
|
|
599
|
-
catch {
|
|
600
|
-
// Invalid JSON or unexpected structure: treat as no consent
|
|
601
|
-
return false;
|
|
602
|
-
}
|
|
603
|
-
}
|
|
604
|
-
checkAnalyticsConsent() {
|
|
605
|
-
if (this.hasAnalyticsConsent()) {
|
|
606
|
-
// Consent already given, return true immediately as Observable
|
|
607
|
-
return of(true);
|
|
608
|
-
}
|
|
609
|
-
// No consent yet (or invalid/missing cookie) -> show modal
|
|
610
|
-
return this._privacyModalService.openModal();
|
|
611
|
-
}
|
|
612
|
-
checkMarketingConsent() {
|
|
613
|
-
let cookieValue = this.cookieService.get(this.WEB_USER);
|
|
614
|
-
if (!cookieValue) {
|
|
615
|
-
return false;
|
|
616
|
-
}
|
|
617
|
-
let parsedCookieValue = JSON.parse(cookieValue);
|
|
618
|
-
return parsedCookieValue.user?.consent?.marketingConsent;
|
|
619
|
-
}
|
|
620
|
-
setConsent(analytics, marketing) {
|
|
621
|
-
let cookieValue = this.cookieService.get(this.WEB_USER);
|
|
622
|
-
let parsedCookieValue = cookieValue ? JSON.parse(cookieValue) : { user: { consent: {
|
|
623
|
-
anonymousId: this.generateAnonymousId()
|
|
624
|
-
} } };
|
|
625
|
-
parsedCookieValue.user.consent.analyticsConsent = analytics;
|
|
626
|
-
parsedCookieValue.user.consent.marketingConsent = marketing;
|
|
627
|
-
this.cookieService.set(this.WEB_USER, JSON.stringify(parsedCookieValue));
|
|
628
|
-
this.httpClient.post(`${this.environment.HOST}consent`, parsedCookieValue.user.consent)
|
|
629
|
-
.subscribe({
|
|
630
|
-
next: (response) => {
|
|
631
|
-
console.log('Consent updated successfully:', response);
|
|
632
|
-
},
|
|
633
|
-
error: (error) => {
|
|
634
|
-
console.error('Error updating consent:', error);
|
|
635
|
-
}
|
|
636
|
-
});
|
|
637
|
-
}
|
|
638
|
-
generateAnonymousId() {
|
|
639
|
-
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
|
|
640
|
-
var r = Math.random() * 16 | 0, v = c === 'x' ? r : (r & 0x3 | 0x8);
|
|
641
|
-
return v.toString(16);
|
|
642
|
-
});
|
|
643
|
-
}
|
|
644
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: ConsentService, deps: [{ token: i1.CookieService }, { token: i1$1.HttpClient }, { token: PrivacyModalService }, { token: ENVIRONMENT }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
645
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: ConsentService }); }
|
|
646
|
-
}
|
|
647
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: ConsentService, decorators: [{
|
|
648
|
-
type: Injectable
|
|
649
|
-
}], ctorParameters: () => [{ type: i1.CookieService }, { type: i1$1.HttpClient }, { type: PrivacyModalService }, { type: undefined, decorators: [{
|
|
650
|
-
type: Inject,
|
|
651
|
-
args: [ENVIRONMENT]
|
|
652
|
-
}] }] });
|
|
653
|
-
|
|
654
|
-
class PrivacyModalComponent {
|
|
655
|
-
constructor(_privacyModalService, _consentService) {
|
|
656
|
-
this._privacyModalService = _privacyModalService;
|
|
657
|
-
this._consentService = _consentService;
|
|
658
|
-
this.isOpen = false;
|
|
659
|
-
this._privacyModalService.registerModalEvent((event) => {
|
|
660
|
-
if (event == PrivacyModelEvent.CLOSE) {
|
|
661
|
-
this.isOpen = false;
|
|
662
|
-
}
|
|
663
|
-
else {
|
|
664
|
-
this.isOpen = true;
|
|
665
|
-
}
|
|
666
|
-
});
|
|
667
|
-
}
|
|
668
|
-
onAccept() {
|
|
669
|
-
this._consentService.setConsent(true, true);
|
|
670
|
-
this._privacyModalService.notifyDecision(true);
|
|
671
|
-
this.isOpen = false;
|
|
672
|
-
}
|
|
673
|
-
onDecline() {
|
|
674
|
-
this._privacyModalService.notifyDecision(false);
|
|
675
|
-
this.isOpen = false;
|
|
676
|
-
}
|
|
677
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: PrivacyModalComponent, deps: [{ token: PrivacyModalService }, { token: ConsentService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
678
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.31", 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: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
|
|
679
|
-
}
|
|
680
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: PrivacyModalComponent, decorators: [{
|
|
681
|
-
type: Component,
|
|
682
|
-
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"] }]
|
|
683
|
-
}], ctorParameters: () => [{ type: PrivacyModalService }, { type: ConsentService }] });
|
|
684
|
-
|
|
685
|
-
class WebSettingsService {
|
|
686
|
-
constructor(httpClient, environment) {
|
|
687
|
-
this.httpClient = httpClient;
|
|
688
|
-
this.environment = environment;
|
|
689
|
-
}
|
|
690
|
-
getSettings() {
|
|
691
|
-
// If the server injected a runtime config (window.__APP_CONFIG) use that first,
|
|
692
|
-
// otherwise fall back to the compile-time environment.HOST.
|
|
693
|
-
const runtimeHost = (typeof window !== 'undefined' && window.__APP_CONFIG && window.__APP_CONFIG.HOST) ? window.__APP_CONFIG.HOST : this.environment.HOST;
|
|
694
|
-
return this.httpClient.get(`${runtimeHost}web/settings`);
|
|
695
|
-
}
|
|
696
|
-
configArrayToObject(arr) {
|
|
697
|
-
return arr.reduce((acc, item) => {
|
|
698
|
-
acc[item.key] = item.value;
|
|
699
|
-
return acc;
|
|
700
|
-
}, {});
|
|
701
|
-
}
|
|
702
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: WebSettingsService, deps: [{ token: i1$1.HttpClient }, { token: ENVIRONMENT }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
703
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: WebSettingsService }); }
|
|
704
|
-
}
|
|
705
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: WebSettingsService, decorators: [{
|
|
706
|
-
type: Injectable
|
|
707
|
-
}], ctorParameters: () => [{ type: i1$1.HttpClient }, { type: undefined, decorators: [{
|
|
708
|
-
type: Inject,
|
|
709
|
-
args: [ENVIRONMENT]
|
|
710
|
-
}] }] });
|
|
711
|
-
|
|
712
|
-
class ContentService {
|
|
713
|
-
constructor(httpClient, environment) {
|
|
714
|
-
this.httpClient = httpClient;
|
|
715
|
-
this.environment = environment;
|
|
716
|
-
this.appContent = {};
|
|
717
|
-
}
|
|
718
|
-
getContent(contentName, id) {
|
|
719
|
-
if (this.appContent[contentName] && this.appContent[contentName].length) {
|
|
720
|
-
if (id) {
|
|
721
|
-
return of(this.findOne(this.appContent[contentName], id));
|
|
722
|
-
}
|
|
723
|
-
return of(this.appContent[contentName]);
|
|
724
|
-
}
|
|
725
|
-
return this.httpClient.get(`${this.environment.HOST}${contentName}`).pipe(map((content) => {
|
|
726
|
-
if (contentName == this.environment.contentResource.SERVICES || contentName == this.environment.contentResource.PROJECTS) {
|
|
727
|
-
content = content.map((item) => {
|
|
728
|
-
item.id = item.name.replace(/ /g, "_");
|
|
729
|
-
//item._id= item.name.replace(/ /g,"_");
|
|
730
|
-
return item;
|
|
731
|
-
});
|
|
732
|
-
}
|
|
733
|
-
this.appContent[contentName] = content;
|
|
734
|
-
if (id) {
|
|
735
|
-
return this.findOne(this.appContent[contentName], id);
|
|
736
|
-
}
|
|
737
|
-
return content;
|
|
738
|
-
}));
|
|
739
|
-
}
|
|
740
|
-
findOne(arr, id) {
|
|
741
|
-
for (let i = 0; i < arr.length; i++) {
|
|
742
|
-
if (arr[i].id == id) {
|
|
743
|
-
return arr[i];
|
|
744
|
-
}
|
|
745
|
-
}
|
|
746
|
-
}
|
|
747
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: ContentService, deps: [{ token: i1$1.HttpClient }, { token: ENVIRONMENT }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
748
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: ContentService }); }
|
|
749
|
-
}
|
|
750
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: ContentService, decorators: [{
|
|
751
|
-
type: Injectable
|
|
752
|
-
}], ctorParameters: () => [{ type: i1$1.HttpClient }, { type: undefined, decorators: [{
|
|
753
|
-
type: Inject,
|
|
754
|
-
args: [ENVIRONMENT]
|
|
755
|
-
}] }] });
|
|
756
|
-
|
|
757
|
-
const ENVIRONMENT = new InjectionToken('environment');
|
|
758
|
-
class CMSClientInfraModule {
|
|
759
|
-
static forRoot(environment) {
|
|
760
|
-
return {
|
|
761
|
-
ngModule: CMSClientInfraModule,
|
|
762
|
-
providers: [
|
|
763
|
-
{ provide: ENVIRONMENT, useValue: environment },
|
|
764
|
-
ConsentService,
|
|
765
|
-
ContentService,
|
|
766
|
-
CookieService,
|
|
767
|
-
WebSettingsService,
|
|
768
|
-
PrivacyModalService
|
|
769
|
-
]
|
|
770
|
-
};
|
|
771
|
-
}
|
|
772
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: CMSClientInfraModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
773
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.31", ngImport: i0, type: CMSClientInfraModule, declarations: [PrivacyModalComponent], imports: [CommonModule], exports: [PrivacyModalComponent] }); }
|
|
774
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: CMSClientInfraModule, imports: [CommonModule] }); }
|
|
775
|
-
}
|
|
776
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: CMSClientInfraModule, decorators: [{
|
|
777
|
-
type: NgModule,
|
|
778
|
-
args: [{
|
|
779
|
-
declarations: [
|
|
780
|
-
PrivacyModalComponent
|
|
781
|
-
],
|
|
782
|
-
imports: [
|
|
783
|
-
CommonModule
|
|
784
|
-
],
|
|
785
|
-
exports: [PrivacyModalComponent]
|
|
786
|
-
}]
|
|
787
|
-
}] });
|
|
788
|
-
|
|
789
|
-
class AnalyticsService {
|
|
790
|
-
constructor(platformId) {
|
|
791
|
-
this.platformId = platformId;
|
|
792
|
-
this.gaScriptId = 'google-analytics-script';
|
|
793
|
-
}
|
|
794
|
-
applyGoogleAnalytics(appId) {
|
|
795
|
-
if (!isPlatformBrowser(this.platformId))
|
|
796
|
-
return;
|
|
797
|
-
// 1. Establish the dataLayer and the CORRECT gtag function stub
|
|
798
|
-
const win = window;
|
|
799
|
-
win.dataLayer = win.dataLayer || [];
|
|
800
|
-
// CRITICAL FIX: The Google library requires the special 'arguments' object,
|
|
801
|
-
// NOT a standard array spread [...args].
|
|
802
|
-
if (!win.gtag) {
|
|
803
|
-
win.gtag = function () {
|
|
804
|
-
win.dataLayer.push(arguments);
|
|
805
|
-
};
|
|
806
|
-
}
|
|
807
|
-
// 2. Queue initial commands immediately (even before script loads)
|
|
808
|
-
win.gtag('js', new Date());
|
|
809
|
-
win.gtag('config', appId);
|
|
810
|
-
// 3. Load the script if not already present
|
|
811
|
-
if (!document.getElementById(this.gaScriptId)) {
|
|
812
|
-
const script = document.createElement('script');
|
|
813
|
-
script.id = this.gaScriptId;
|
|
814
|
-
script.async = true;
|
|
815
|
-
script.src = `https://www.googletagmanager.com/gtag/js?id=${appId}`;
|
|
816
|
-
script.onload = () => {
|
|
817
|
-
console.log('[Analytics] gtag.js script loaded and ready');
|
|
818
|
-
};
|
|
819
|
-
script.onerror = (e) => console.error('[Analytics] gtag.js failed to load', e);
|
|
820
|
-
document.head.appendChild(script);
|
|
821
|
-
}
|
|
822
|
-
}
|
|
823
|
-
// Helper to send events from your components
|
|
824
|
-
sendEvent(eventName, params = {}) {
|
|
825
|
-
if (isPlatformBrowser(this.platformId) && window.gtag) {
|
|
826
|
-
window.gtag('event', eventName, params);
|
|
827
|
-
}
|
|
828
|
-
}
|
|
829
|
-
// Synchronous page view sender that won't rely on internal ready Promise
|
|
830
|
-
sendPageView(path) {
|
|
831
|
-
if (!isPlatformBrowser(this.platformId))
|
|
832
|
-
return;
|
|
833
|
-
const win = window;
|
|
834
|
-
try {
|
|
835
|
-
if (win && win.gtag) {
|
|
836
|
-
// Prefer gtag when available
|
|
837
|
-
win.gtag('event', 'page_view', { page_path: path });
|
|
838
|
-
return;
|
|
839
|
-
}
|
|
840
|
-
// Fallback: ensure dataLayer exists and push a native arguments-like object
|
|
841
|
-
win.dataLayer = win.dataLayer || [];
|
|
842
|
-
// Use a plain object that resembles gtag's usage if gtag not present
|
|
843
|
-
win.dataLayer.push({ event: 'page_view', page_path: path });
|
|
844
|
-
}
|
|
845
|
-
catch (err) {
|
|
846
|
-
console.warn('[Analytics] sendPageView failed', err);
|
|
847
|
-
}
|
|
848
|
-
}
|
|
849
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: AnalyticsService, deps: [{ token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
850
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: AnalyticsService, providedIn: 'root' }); }
|
|
851
|
-
}
|
|
852
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: AnalyticsService, decorators: [{
|
|
853
|
-
type: Injectable,
|
|
854
|
-
args: [{ providedIn: 'root' }]
|
|
855
|
-
}], ctorParameters: () => [{ type: Object, decorators: [{
|
|
856
|
-
type: Inject,
|
|
857
|
-
args: [PLATFORM_ID]
|
|
858
|
-
}] }] });
|
|
859
|
-
|
|
860
538
|
const IS_PREVIEW = new InjectionToken('IS_PREVIEW');
|
|
861
539
|
const IOX_BUILDER_EVENTS = new InjectionToken('IOX_BUILDER_EVENTS');
|
|
862
540
|
|
|
@@ -933,7 +611,7 @@ class CardComponent {
|
|
|
933
611
|
<h2>{{ title }}</h2>
|
|
934
612
|
<p>{{ description }}</p>
|
|
935
613
|
</div>
|
|
936
|
-
`, isInline: true, styles: [".image-wrapper{width:100%;aspect-ratio:1/1;overflow:hidden;margin-bottom:.75rem}\n", ".card-img{width:100%;height:100%;object-fit:cover}\n", "h2{margin:0 0 .5rem;font-size:1.2rem}\n", "p{margin:0}\n"], dependencies: [{ kind: "directive", type: i1
|
|
614
|
+
`, isInline: true, styles: [".image-wrapper{width:100%;aspect-ratio:1/1;overflow:hidden;margin-bottom:.75rem}\n", ".card-img{width:100%;height:100%;object-fit:cover}\n", "h2{margin:0 0 .5rem;font-size:1.2rem}\n", "p{margin:0}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
|
|
937
615
|
}
|
|
938
616
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: CardComponent, decorators: [{
|
|
939
617
|
type: Component,
|
|
@@ -1491,7 +1169,7 @@ class ClientRepeaterComponent {
|
|
|
1491
1169
|
<div class="repeater-root" [ngClass]="['iox-node-' + nodeId]">
|
|
1492
1170
|
<ng-container #childrenHost></ng-container>
|
|
1493
1171
|
</div>
|
|
1494
|
-
`, isInline: true, styles: [".repeater-root{position:relative;box-sizing:border-box}\n"], dependencies: [{ kind: "directive", type: i1
|
|
1172
|
+
`, isInline: true, styles: [".repeater-root{position:relative;box-sizing:border-box}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
|
|
1495
1173
|
}
|
|
1496
1174
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: ClientRepeaterComponent, decorators: [{
|
|
1497
1175
|
type: Component,
|
|
@@ -2347,7 +2025,7 @@ class ClientSliderContainerComponent {
|
|
|
2347
2025
|
<div *ngIf="enablePagination" class="swiper-pagination"></div>
|
|
2348
2026
|
<div *ngIf="enableScrollbar" class="swiper-scrollbar"></div>
|
|
2349
2027
|
</div>
|
|
2350
|
-
`, isInline: true, styles: [".swiper{width:100%;height:100%;box-sizing:border-box}\n"], dependencies: [{ kind: "directive", type: i1
|
|
2028
|
+
`, isInline: true, styles: [".swiper{width:100%;height:100%;box-sizing:border-box}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
2351
2029
|
}
|
|
2352
2030
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: ClientSliderContainerComponent, decorators: [{
|
|
2353
2031
|
type: Component,
|
|
@@ -3134,7 +2812,7 @@ class ClientGalleryComponent {
|
|
|
3134
2812
|
[ngStyle]="slideStyle(i)"></div>
|
|
3135
2813
|
<div class="iox-gallery__overlay"></div>
|
|
3136
2814
|
</div>
|
|
3137
|
-
`, isInline: true, styles: [":host{display:block}.iox-gallery{position:relative;overflow:hidden;box-sizing:border-box}.iox-gallery__img{position:absolute;inset:0;background-size:cover;background-position:center;pointer-events:none;opacity:0;filter:brightness(1.35);-webkit-mask-image:radial-gradient(circle at 50% 50%,rgba(0,0,0,1) 80%,rgba(0,0,0,.1) 95%,rgba(0,0,0,0) 100%);mask-image:radial-gradient(circle at 50% 50%,#000 80%,#0000001a 95%,#0000)}.iox-gallery__overlay{position:absolute;inset:0;pointer-events:none;z-index:3;background:linear-gradient(to bottom,#00000080,#00000026 20% 80%,#00000080)}\n"], dependencies: [{ kind: "directive", type: i1
|
|
2815
|
+
`, isInline: true, styles: [":host{display:block}.iox-gallery{position:relative;overflow:hidden;box-sizing:border-box}.iox-gallery__img{position:absolute;inset:0;background-size:cover;background-position:center;pointer-events:none;opacity:0;filter:brightness(1.35);-webkit-mask-image:radial-gradient(circle at 50% 50%,rgba(0,0,0,1) 80%,rgba(0,0,0,.1) 95%,rgba(0,0,0,0) 100%);mask-image:radial-gradient(circle at 50% 50%,#000 80%,#0000001a 95%,#0000)}.iox-gallery__overlay{position:absolute;inset:0;pointer-events:none;z-index:3;background:linear-gradient(to bottom,#00000080,#00000026 20% 80%,#00000080)}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] }); }
|
|
3138
2816
|
}
|
|
3139
2817
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: ClientGalleryComponent, decorators: [{
|
|
3140
2818
|
type: Component,
|
|
@@ -4048,6 +3726,20 @@ class IoxFormComponent {
|
|
|
4048
3726
|
this.name = '';
|
|
4049
3727
|
this.renderState = FormRenderState.Idle;
|
|
4050
3728
|
this.feedback = FeedbackTiming.Smart;
|
|
3729
|
+
/**
|
|
3730
|
+
* Move focus to the first field that failed, instead of leaving the visitor to hunt for red
|
|
3731
|
+
* text. On by default — the single most valuable thing a failed submit can do.
|
|
3732
|
+
*/
|
|
3733
|
+
this.focusFirstProblem = true;
|
|
3734
|
+
/**
|
|
3735
|
+
* Speak the failure the moment it happens. Without this a screen-reader user only learns a
|
|
3736
|
+
* submit failed if they happen to tab back into the message — the error text is rendered, but
|
|
3737
|
+
* nothing directs them to it.
|
|
3738
|
+
*/
|
|
3739
|
+
this.announceFailure = true;
|
|
3740
|
+
/** What the live region is currently saying. Empty between attempts so the same failure
|
|
3741
|
+
* announces again rather than being swallowed as an unchanged value. */
|
|
3742
|
+
this.announcement = '';
|
|
4051
3743
|
/**
|
|
4052
3744
|
* Emitted ONLY when client-side validation passes, carrying the collected values. The host
|
|
4053
3745
|
* (builder canvas or engine runtime) owns the transport — posting, retries and the server's
|
|
@@ -4080,9 +3772,9 @@ class IoxFormComponent {
|
|
|
4080
3772
|
event.preventDefault();
|
|
4081
3773
|
this.runtime.configure(this.runtime.specNow(), this.feedback);
|
|
4082
3774
|
if (!this.runtime.validateAll()) {
|
|
4083
|
-
|
|
4084
|
-
|
|
4085
|
-
|
|
3775
|
+
this.announce(this.runtime.state.errors);
|
|
3776
|
+
if (this.focusFirstProblem)
|
|
3777
|
+
this.focusFirstInvalid();
|
|
4086
3778
|
this.validationFailed.emit(this.runtime.state.errors);
|
|
4087
3779
|
return;
|
|
4088
3780
|
}
|
|
@@ -4126,10 +3818,13 @@ class IoxFormComponent {
|
|
|
4126
3818
|
if (response?.errors) {
|
|
4127
3819
|
this.runtime.applyErrors(response.errors);
|
|
4128
3820
|
this.renderState = FormRenderState.Idle;
|
|
4129
|
-
this.
|
|
3821
|
+
this.announce(response.errors);
|
|
3822
|
+
if (this.focusFirstProblem)
|
|
3823
|
+
this.focusFirstInvalid();
|
|
4130
3824
|
return;
|
|
4131
3825
|
}
|
|
4132
3826
|
this.renderState = FormRenderState.Error;
|
|
3827
|
+
this.announce(null);
|
|
4133
3828
|
return;
|
|
4134
3829
|
}
|
|
4135
3830
|
this.renderState = FormRenderState.Success;
|
|
@@ -4152,6 +3847,22 @@ class IoxFormComponent {
|
|
|
4152
3847
|
if (typeof form.reset === 'function')
|
|
4153
3848
|
form.reset();
|
|
4154
3849
|
}
|
|
3850
|
+
/**
|
|
3851
|
+
* Put the failure into the live region. Cleared first so two identical failures in a row are
|
|
3852
|
+
* two announcements, not one — a live region only speaks on CHANGE, and "same error again"
|
|
3853
|
+
* is exactly when a visitor most needs telling.
|
|
3854
|
+
*/
|
|
3855
|
+
announce(errors) {
|
|
3856
|
+
if (!this.announceFailure)
|
|
3857
|
+
return;
|
|
3858
|
+
const count = errors ? Object.keys(errors).length : 0;
|
|
3859
|
+
const next = count
|
|
3860
|
+
? `${count} ${count === 1 ? 'field needs' : 'fields need'} attention.`
|
|
3861
|
+
: 'That did not send.';
|
|
3862
|
+
this.announcement = '';
|
|
3863
|
+
// A microtask is enough for the empty value to be committed before the new one lands.
|
|
3864
|
+
Promise.resolve().then(() => { this.announcement = next; });
|
|
3865
|
+
}
|
|
4155
3866
|
focusFirstInvalid() {
|
|
4156
3867
|
const name = this.runtime.firstInvalidName();
|
|
4157
3868
|
if (!name)
|
|
@@ -4168,12 +3879,20 @@ class IoxFormComponent {
|
|
|
4168
3879
|
}
|
|
4169
3880
|
}
|
|
4170
3881
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: IoxFormComponent, deps: [{ token: FormRuntimeService }, { token: i0.ElementRef }, { token: IOX_FORM_TRANSPORT, optional: true }, { token: IOX_FORM_NAVIGATOR, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4171
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.31", type: IoxFormComponent, isStandalone: false, selector: "form[iox-form]", inputs: { nodeId: "nodeId", formId: "formId", name: "name", renderState: "renderState", feedback: "feedback" }, outputs: { formSubmit: "formSubmit", validationFailed: "validationFailed" }, host: { listeners: { "submit": "onSubmit($event)" }, properties: { "class": "'iox-form iox-node-' + nodeId", "attr.novalidate": "''", "attr.data-iox-form": "formId || null", "attr.data-iox-state": "renderState", "attr.aria-busy": "renderState === 'submitting' ? 'true' : null" } }, providers: [FormRuntimeService], viewQueries: [{ propertyName: "childrenHost", first: true, predicate: ["childrenHost"], descendants: true, read: ViewContainerRef, static: true }], usesOnChanges: true, ngImport: i0, template: `
|
|
3882
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.31", type: IoxFormComponent, isStandalone: false, selector: "form[iox-form]", inputs: { nodeId: "nodeId", formId: "formId", name: "name", renderState: "renderState", feedback: "feedback", focusFirstProblem: "focusFirstProblem", announceFailure: "announceFailure" }, outputs: { formSubmit: "formSubmit", validationFailed: "validationFailed" }, host: { listeners: { "submit": "onSubmit($event)" }, properties: { "class": "'iox-form iox-node-' + nodeId", "attr.novalidate": "''", "attr.data-iox-form": "formId || null", "attr.data-iox-state": "renderState", "attr.aria-busy": "renderState === 'submitting' ? 'true' : null" } }, providers: [FormRuntimeService], viewQueries: [{ propertyName: "childrenHost", first: true, predicate: ["childrenHost"], descendants: true, read: ViewContainerRef, static: true }], usesOnChanges: true, ngImport: i0, template: `
|
|
4172
3883
|
<div class="iox-form__hp" aria-hidden="true">
|
|
4173
3884
|
<input type="text" [attr.name]="honeypotField" tabindex="-1" autocomplete="off" />
|
|
4174
3885
|
</div>
|
|
3886
|
+
<!-- Failure announcement (board 11). Visually hidden and always PRESENT — an aria-live
|
|
3887
|
+
region added to the DOM at the moment it gains text is not reliably announced; the
|
|
3888
|
+
region has to be there first and only its content change. -->
|
|
3889
|
+
<div *ngIf="announceFailure"
|
|
3890
|
+
class="iox-form__hp"
|
|
3891
|
+
role="status"
|
|
3892
|
+
aria-live="assertive"
|
|
3893
|
+
aria-atomic="true">{{ announcement }}</div>
|
|
4175
3894
|
<ng-container #childrenHost></ng-container>
|
|
4176
|
-
`, isInline: true, styles: [":host{box-sizing:border-box}.iox-form__hp{position:absolute;inset-inline-start:-9999px;width:1px;height:1px;overflow:hidden}\n"] }); }
|
|
3895
|
+
`, isInline: true, styles: [":host{box-sizing:border-box}.iox-form__hp{position:absolute;inset-inline-start:-9999px;width:1px;height:1px;overflow:hidden}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
4177
3896
|
}
|
|
4178
3897
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: IoxFormComponent, decorators: [{
|
|
4179
3898
|
type: Component,
|
|
@@ -4181,6 +3900,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.31", ngImpo
|
|
|
4181
3900
|
<div class="iox-form__hp" aria-hidden="true">
|
|
4182
3901
|
<input type="text" [attr.name]="honeypotField" tabindex="-1" autocomplete="off" />
|
|
4183
3902
|
</div>
|
|
3903
|
+
<!-- Failure announcement (board 11). Visually hidden and always PRESENT — an aria-live
|
|
3904
|
+
region added to the DOM at the moment it gains text is not reliably announced; the
|
|
3905
|
+
region has to be there first and only its content change. -->
|
|
3906
|
+
<div *ngIf="announceFailure"
|
|
3907
|
+
class="iox-form__hp"
|
|
3908
|
+
role="status"
|
|
3909
|
+
aria-live="assertive"
|
|
3910
|
+
aria-atomic="true">{{ announcement }}</div>
|
|
4184
3911
|
<ng-container #childrenHost></ng-container>
|
|
4185
3912
|
`, host: {
|
|
4186
3913
|
'[class]': "'iox-form iox-node-' + nodeId",
|
|
@@ -4210,6 +3937,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.31", ngImpo
|
|
|
4210
3937
|
type: Input
|
|
4211
3938
|
}], feedback: [{
|
|
4212
3939
|
type: Input
|
|
3940
|
+
}], focusFirstProblem: [{
|
|
3941
|
+
type: Input
|
|
3942
|
+
}], announceFailure: [{
|
|
3943
|
+
type: Input
|
|
4213
3944
|
}], formSubmit: [{
|
|
4214
3945
|
type: Output
|
|
4215
3946
|
}], validationFailed: [{
|
|
@@ -7063,5 +6794,5 @@ function effectiveTransitionId(anim) {
|
|
|
7063
6794
|
* Generated bundle index. Do not edit.
|
|
7064
6795
|
*/
|
|
7065
6796
|
|
|
7066
|
-
export { AOSService,
|
|
6797
|
+
export { AOSService, BREAKPOINTS, Breakpoint, BreakpointQueryKind, BuilderButtonComponent, BuilderDividerComponent, BuilderHeadingComponent, BuilderIconComponent, BuilderImageComponent, BuilderLinkComponent, BuilderSpacerComponent, ButtonBlockComponent, CONTEXT_ACTION_TYPES, CardComponent, ClientGalleryComponent, ClientListComponent, ClientListItemComponent, ClientRepeaterComponent, ClientSliderContainerComponent, ClientSliderSlideComponent, ComponentInstanceRegistryService, ContainerComponent, ContextStore, DEFAULT_GALLERY_SCHEDULER, DEFAULT_PAGE_TRANSITION, DEFAULT_PAGE_TRANSITION_DURATION, DEFAULT_PAGE_TRANSITION_EASING, DEFAULT_PAGE_TRANSITION_PERSPECTIVE, DEFAULT_PHOSPHOR_WEIGHT, DEFAULT_WIDTH_BY_TYPE, DeclarationContext, FormRenderState, FormRuntimeService, GALLERY_EFFECTS, GALLERY_EFFECT_DESCRIPTORS, GalleryLoop, IOX_BUILDER_EVENTS, IOX_FORM_MESSAGES, IOX_FORM_NAVIGATOR, IOX_FORM_TRANSPORT, IS_PREVIEW, IoxAnimateContainer, IoxAosDirective, IoxAosModule, IoxBuilderComponentsModule, IoxComponentRegistryService, IoxFieldComponent, IoxFormComponent, IoxFormErrorComponent, IoxFormSuccessComponent, IoxPageComponent, IoxPageModule, IoxSubmitButtonComponent, IoxUiModule, LinkedContainerComponent, PAGE_TRANSITION_CATEGORIES, PAGE_TRANSITION_PRESETS, PART_CLASS_NAMES, PIPE_DESCRIPTORS, PIPE_REGISTRY, PageScrollProvider, RESERVED_ALIAS_PREFIX, SUPPRESSED_STYLE_PROPS_BY_TYPE, SWIPER_RESPONSIVE_TRAITS, SectionComponent, TRANSITION_FEELS, TextBlockComponent, VALIDATION_STATES, VALIDATION_STATE_CLASS, VIRTUAL_TRAIT_GROUPS, VIRTUAL_TRAIT_KEYS, ViewPositionDirective, ViewPositionModule, activeActions, applyBindingPipes, applyFeel, breakpointDef, breakpointForWidth, breakpointQueryFor, buildDataSourceFilter, buildPartSelector, buildRelatedFilter, buildSwiperBreakpoints, buildTargetedStateSelector, buildTransitionTimeline, cascadeChain, clearInputOverride, clearOverride, collectContextSlotKeys, collectReferencedAliases, compileDeclarations, compilePageStyle, composeVirtualTraits, computeRelative, contextActionEffect, contextSlotKeys, countOverrides, dataSourcePlanToRequest, declaredInputNames, defaultMessageResolver, deriveSeoFromContent, describeSeoFields, effectiveTransitionId, excludeSelf, feelFor, getByPath, getSeoValue, initialSlotValues, isActionEnabled, isContextAction, isInputOverriddenAt, isOverriddenAt, isReservedAlias, isValidSlotKey, legacyEnterToTransition, matchRouteParams, mediaQueryFor, mergeSwiperBreakpoints, nearestCommonAncestorId, nodeCssId, nodeUsesContext, normalizeCollectionResult, normalizeGalleryImage, normalizeIconClass, parentBreakpoint, parseUrlList, partClassName, planDataSource, planResponsiveRules, referencedDataSources, referencedDataSourcesDeep, renderDefaultDeclarations, resetSeoField, resolveBoundValue, resolveContextValue, resolveDerivedInto, resolveGalleryEffect, resolveGalleryUrls, resolveInputChain, resolveInputs, resolvePageTransition, resolvePath, resolveRelativeInto, resolveRepeaterItems, resolveSeo, resolveSiblings, resolveSingleItemId, resolveStateStyles, resolveStyleProps, resolveValueChain, rewriteViewportUnits, safeSetInput, setInputOverride, setOverride, setSeoAuto, setSeoBinding, setSeoOverride, setSeoValue, stateNamesIn, stripSuppressedProps, styleKeyToKebab, variableAliases, variableItemsFrom, withContextSlots, wrapInBreakpointQuery, wrapInMediaQuery };
|
|
7067
6798
|
//# sourceMappingURL=vectoriox-iox-ui.mjs.map
|