@vectoriox/iox-ui 4.22.0 → 4.24.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.
@@ -81,10 +81,10 @@ class ViewPositionDirective {
81
81
  this._curterScreen = Math.trunc(this._viewPortHighet * 0.25);
82
82
  this._halfSscreen = Math.trunc(this._viewPortHighet * 0.5);
83
83
  }
84
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: ViewPositionDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
85
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.11", type: ViewPositionDirective, isStandalone: false, selector: "[view-position]", inputs: { data: "data" }, outputs: { onEnter: "onEnter", onLeave: "onLeave", onHalf: "onHalf" }, host: { listeners: { "window:scroll": "onScroll($event)", "window:resize": "onResize($event)" } }, ngImport: i0 }); }
84
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: ViewPositionDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
85
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.31", type: ViewPositionDirective, isStandalone: false, selector: "[view-position]", inputs: { data: "data" }, outputs: { onEnter: "onEnter", onLeave: "onLeave", onHalf: "onHalf" }, host: { listeners: { "window:scroll": "onScroll($event)", "window:resize": "onResize($event)" } }, ngImport: i0 }); }
86
86
  }
87
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: ViewPositionDirective, decorators: [{
87
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: ViewPositionDirective, decorators: [{
88
88
  type: Directive,
89
89
  args: [{
90
90
  selector: '[view-position]',
@@ -107,11 +107,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImpo
107
107
  }] } });
108
108
 
109
109
  class ViewPositionModule {
110
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: ViewPositionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
111
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.11", ngImport: i0, type: ViewPositionModule, declarations: [ViewPositionDirective], exports: [ViewPositionDirective] }); }
112
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: ViewPositionModule }); }
110
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: ViewPositionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
111
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.31", ngImport: i0, type: ViewPositionModule, declarations: [ViewPositionDirective], exports: [ViewPositionDirective] }); }
112
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: ViewPositionModule }); }
113
113
  }
114
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: ViewPositionModule, decorators: [{
114
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: ViewPositionModule, decorators: [{
115
115
  type: NgModule,
116
116
  args: [{
117
117
  declarations: [
@@ -167,10 +167,10 @@ class AOSService {
167
167
  updateScrollOffset(offset) {
168
168
  this._scrollOffset.next(offset);
169
169
  }
170
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: AOSService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
171
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: AOSService, providedIn: 'root' }); }
170
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: AOSService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
171
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: AOSService, providedIn: 'root' }); }
172
172
  }
173
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: AOSService, decorators: [{
173
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: AOSService, decorators: [{
174
174
  type: Injectable,
175
175
  args: [{ providedIn: 'root' }]
176
176
  }], ctorParameters: () => [] });
@@ -200,12 +200,12 @@ class IoxAnimateContainer {
200
200
  this._scrollOffset.next(elClientRect);
201
201
  this._aOSService.updateScrollOffset(elClientRect);
202
202
  }
203
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: IoxAnimateContainer, deps: [{ token: i0.ElementRef }, { token: AOSService }], target: i0.ɵɵFactoryTarget.Component }); }
204
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.11", type: IoxAnimateContainer, isStandalone: false, selector: "[ioxAnimateContainer], ioxAnimateContainer", inputs: { kickIn: "kickIn" }, host: { listeners: { "scroll": "onScroll($event)" } }, viewQueries: [{ propertyName: "animateRooteElement", first: true, predicate: ["animateRooteElement"], descendants: true }], usesOnChanges: true, ngImport: i0, template: `<div class='animate_root_element' #animateRooteElement>
203
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: IoxAnimateContainer, deps: [{ token: i0.ElementRef }, { token: AOSService }], target: i0.ɵɵFactoryTarget.Component }); }
204
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.31", type: IoxAnimateContainer, isStandalone: false, selector: "[ioxAnimateContainer], ioxAnimateContainer", inputs: { kickIn: "kickIn" }, host: { listeners: { "scroll": "onScroll($event)" } }, viewQueries: [{ propertyName: "animateRooteElement", first: true, predicate: ["animateRooteElement"], descendants: true }], usesOnChanges: true, ngImport: i0, template: `<div class='animate_root_element' #animateRooteElement>
205
205
  <ng-content></ng-content>
206
206
  </div>`, isInline: true }); }
207
207
  }
208
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: IoxAnimateContainer, decorators: [{
208
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: IoxAnimateContainer, decorators: [{
209
209
  type: Component,
210
210
  args: [{
211
211
  selector: "[ioxAnimateContainer], ioxAnimateContainer",
@@ -315,10 +315,10 @@ class IoxAosDirective {
315
315
  }
316
316
  ngOnDestroy() {
317
317
  }
318
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: IoxAosDirective, deps: [{ token: IoxAnimateContainer, host: true, optional: true }, { token: i0.ElementRef }, { token: i2.AnimationBuilder }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
319
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.11", type: IoxAosDirective, isStandalone: false, selector: "[ioxAnimate], ioxAnimate", inputs: { animationDelay: "animationDelay", animationIn: "animationIn", animationOut: "animationOut", animationDuration: "animationDuration" }, host: { listeners: { "document:scroll": "onScrollEvent($event)" } }, ngImport: i0 }); }
318
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: IoxAosDirective, deps: [{ token: IoxAnimateContainer, host: true, optional: true }, { token: i0.ElementRef }, { token: i2.AnimationBuilder }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
319
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.31", type: IoxAosDirective, isStandalone: false, selector: "[ioxAnimate], ioxAnimate", inputs: { animationDelay: "animationDelay", animationIn: "animationIn", animationOut: "animationOut", animationDuration: "animationDuration" }, host: { listeners: { "document:scroll": "onScrollEvent($event)" } }, ngImport: i0 }); }
320
320
  }
321
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: IoxAosDirective, decorators: [{
321
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: IoxAosDirective, decorators: [{
322
322
  type: Directive,
323
323
  args: [{
324
324
  selector: "[ioxAnimate], ioxAnimate",
@@ -355,15 +355,15 @@ class IoxAosModule {
355
355
  providers: [AOSService]
356
356
  };
357
357
  }
358
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: IoxAosModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
359
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.11", ngImport: i0, type: IoxAosModule, declarations: [IoxAosDirective,
358
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: IoxAosModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
359
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.31", ngImport: i0, type: IoxAosModule, declarations: [IoxAosDirective,
360
360
  IoxAnimateContainer], imports: [BrowserAnimationsModule], exports: [IoxAosDirective,
361
361
  IoxAnimateContainer] }); }
362
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: IoxAosModule, providers: [
362
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: IoxAosModule, providers: [
363
363
  AOSService
364
364
  ], imports: [BrowserAnimationsModule] }); }
365
365
  }
366
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: IoxAosModule, decorators: [{
366
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: IoxAosModule, decorators: [{
367
367
  type: NgModule,
368
368
  args: [{
369
369
  declarations: [
@@ -425,10 +425,10 @@ class PageScrollProvider {
425
425
  this.rafId = requestAnimationFrame(loop);
426
426
  });
427
427
  }
428
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: PageScrollProvider, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
429
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: PageScrollProvider }); }
428
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: PageScrollProvider, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
429
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: PageScrollProvider }); }
430
430
  }
431
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: PageScrollProvider, decorators: [{
431
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: PageScrollProvider, decorators: [{
432
432
  type: Injectable
433
433
  }] });
434
434
 
@@ -467,10 +467,10 @@ class IoxPageComponent {
467
467
  this.scrollSubscription.unsubscribe();
468
468
  }
469
469
  }
470
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: IoxPageComponent, deps: [{ token: PageScrollProvider }], target: i0.ɵɵFactoryTarget.Component }); }
471
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.11", 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"] }); }
470
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: IoxPageComponent, deps: [{ token: PageScrollProvider }], target: i0.ɵɵFactoryTarget.Component }); }
471
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.31", 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"] }); }
472
472
  }
473
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: IoxPageComponent, decorators: [{
473
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: IoxPageComponent, decorators: [{
474
474
  type: Component,
475
475
  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"] }]
476
476
  }], ctorParameters: () => [{ type: PageScrollProvider }], propDecorators: { class: [{
@@ -483,11 +483,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImpo
483
483
  }] } });
484
484
 
485
485
  class IoxPageModule {
486
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: IoxPageModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
487
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.11", ngImport: i0, type: IoxPageModule, declarations: [IoxPageComponent], imports: [CommonModule], exports: [IoxPageComponent] }); }
488
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: IoxPageModule, providers: [PageScrollProvider], imports: [CommonModule] }); }
486
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: IoxPageModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
487
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.31", ngImport: i0, type: IoxPageModule, declarations: [IoxPageComponent], imports: [CommonModule], exports: [IoxPageComponent] }); }
488
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: IoxPageModule, providers: [PageScrollProvider], imports: [CommonModule] }); }
489
489
  }
490
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: IoxPageModule, decorators: [{
490
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: IoxPageModule, decorators: [{
491
491
  type: NgModule,
492
492
  args: [{
493
493
  imports: [CommonModule],
@@ -498,11 +498,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImpo
498
498
  }] });
499
499
 
500
500
  class IoxUiModule {
501
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: IoxUiModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
502
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.11", ngImport: i0, type: IoxUiModule, imports: [IoxAosModule, IoxPageModule], exports: [IoxAosModule, IoxPageModule] }); }
503
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: IoxUiModule, imports: [IoxAosModule, IoxPageModule, IoxAosModule, IoxPageModule] }); }
501
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: IoxUiModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
502
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.31", ngImport: i0, type: IoxUiModule, imports: [IoxAosModule, IoxPageModule], exports: [IoxAosModule, IoxPageModule] }); }
503
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: IoxUiModule, imports: [IoxAosModule, IoxPageModule, IoxAosModule, IoxPageModule] }); }
504
504
  }
505
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: IoxUiModule, decorators: [{
505
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: IoxUiModule, decorators: [{
506
506
  type: NgModule,
507
507
  args: [{
508
508
  declarations: [],
@@ -531,10 +531,10 @@ class ComponentInstanceRegistryService {
531
531
  get(nodeId) {
532
532
  return this._instances.get(nodeId);
533
533
  }
534
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: ComponentInstanceRegistryService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
535
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: ComponentInstanceRegistryService, providedIn: 'root' }); }
534
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: ComponentInstanceRegistryService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
535
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: ComponentInstanceRegistryService, providedIn: 'root' }); }
536
536
  }
537
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: ComponentInstanceRegistryService, decorators: [{
537
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: ComponentInstanceRegistryService, decorators: [{
538
538
  type: Injectable,
539
539
  args: [{ providedIn: 'root' }]
540
540
  }] });
@@ -572,10 +572,10 @@ class PrivacyModalService {
572
572
  }
573
573
  this.closeModal();
574
574
  }
575
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: PrivacyModalService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
576
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: PrivacyModalService }); }
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
577
  }
578
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: PrivacyModalService, decorators: [{
578
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: PrivacyModalService, decorators: [{
579
579
  type: Injectable
580
580
  }], ctorParameters: () => [] });
581
581
 
@@ -641,10 +641,10 @@ class ConsentService {
641
641
  return v.toString(16);
642
642
  });
643
643
  }
644
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", 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: "21.2.11", ngImport: i0, type: ConsentService }); }
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
646
  }
647
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: ConsentService, decorators: [{
647
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: ConsentService, decorators: [{
648
648
  type: Injectable
649
649
  }], ctorParameters: () => [{ type: i1.CookieService }, { type: i1$1.HttpClient }, { type: PrivacyModalService }, { type: undefined, decorators: [{
650
650
  type: Inject,
@@ -674,10 +674,10 @@ class PrivacyModalComponent {
674
674
  this._privacyModalService.notifyDecision(false);
675
675
  this.isOpen = false;
676
676
  }
677
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: PrivacyModalComponent, deps: [{ token: PrivacyModalService }, { token: ConsentService }], target: i0.ɵɵFactoryTarget.Component }); }
678
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.11", 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"] }] }); }
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
679
  }
680
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: PrivacyModalComponent, decorators: [{
680
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: PrivacyModalComponent, decorators: [{
681
681
  type: Component,
682
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
683
  }], ctorParameters: () => [{ type: PrivacyModalService }, { type: ConsentService }] });
@@ -699,10 +699,10 @@ class WebSettingsService {
699
699
  return acc;
700
700
  }, {});
701
701
  }
702
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", 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: "21.2.11", ngImport: i0, type: WebSettingsService }); }
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
704
  }
705
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: WebSettingsService, decorators: [{
705
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: WebSettingsService, decorators: [{
706
706
  type: Injectable
707
707
  }], ctorParameters: () => [{ type: i1$1.HttpClient }, { type: undefined, decorators: [{
708
708
  type: Inject,
@@ -744,10 +744,10 @@ class ContentService {
744
744
  }
745
745
  }
746
746
  }
747
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", 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: "21.2.11", ngImport: i0, type: ContentService }); }
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
749
  }
750
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: ContentService, decorators: [{
750
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: ContentService, decorators: [{
751
751
  type: Injectable
752
752
  }], ctorParameters: () => [{ type: i1$1.HttpClient }, { type: undefined, decorators: [{
753
753
  type: Inject,
@@ -769,11 +769,11 @@ class CMSClientInfraModule {
769
769
  ]
770
770
  };
771
771
  }
772
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: CMSClientInfraModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
773
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.11", ngImport: i0, type: CMSClientInfraModule, declarations: [PrivacyModalComponent], imports: [CommonModule], exports: [PrivacyModalComponent] }); }
774
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: CMSClientInfraModule, imports: [CommonModule] }); }
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
775
  }
776
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: CMSClientInfraModule, decorators: [{
776
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: CMSClientInfraModule, decorators: [{
777
777
  type: NgModule,
778
778
  args: [{
779
779
  declarations: [
@@ -846,10 +846,10 @@ class AnalyticsService {
846
846
  console.warn('[Analytics] sendPageView failed', err);
847
847
  }
848
848
  }
849
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: AnalyticsService, deps: [{ token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Injectable }); }
850
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: AnalyticsService, providedIn: 'root' }); }
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
851
  }
852
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: AnalyticsService, decorators: [{
852
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: AnalyticsService, decorators: [{
853
853
  type: Injectable,
854
854
  args: [{ providedIn: 'root' }]
855
855
  }], ctorParameters: () => [{ type: Object, decorators: [{
@@ -884,10 +884,10 @@ class BuilderImageComponent {
884
884
  get srcAttr() {
885
885
  return this.src || null;
886
886
  }
887
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: BuilderImageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
888
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.11", type: BuilderImageComponent, isStandalone: false, selector: "img[iox-img]", inputs: { src: "src", alt: "alt", nodeId: "nodeId" }, host: { properties: { "attr.src": "srcAttr", "attr.alt": "alt", "class": "'iox-node-' + nodeId" } }, ngImport: i0, template: '', isInline: true, styles: [":host{display:block;max-width:100%}\n"] }); }
887
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: BuilderImageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
888
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.31", type: BuilderImageComponent, isStandalone: false, selector: "img[iox-img]", inputs: { src: "src", alt: "alt", nodeId: "nodeId" }, host: { properties: { "attr.src": "srcAttr", "attr.alt": "alt", "class": "'iox-node-' + nodeId" } }, ngImport: i0, template: '', isInline: true, styles: [":host{display:block;max-width:100%}\n"] }); }
889
889
  }
890
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: BuilderImageComponent, decorators: [{
890
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: BuilderImageComponent, decorators: [{
891
891
  type: Component,
892
892
  args: [{ selector: 'img[iox-img]', template: '', host: {
893
893
  '[attr.src]': 'srcAttr',
@@ -907,10 +907,10 @@ class BuilderSpacerComponent {
907
907
  constructor() {
908
908
  this.nodeId = '';
909
909
  }
910
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: BuilderSpacerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
911
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.11", type: BuilderSpacerComponent, isStandalone: false, selector: "div[iox-spacer]", inputs: { nodeId: "nodeId" }, host: { properties: { "class": "'iox-spacer iox-node-' + nodeId" } }, ngImport: i0, template: '', isInline: true, styles: [":host{display:block;flex-shrink:0}\n"] }); }
910
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: BuilderSpacerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
911
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.31", type: BuilderSpacerComponent, isStandalone: false, selector: "div[iox-spacer]", inputs: { nodeId: "nodeId" }, host: { properties: { "class": "'iox-spacer iox-node-' + nodeId" } }, ngImport: i0, template: '', isInline: true, styles: [":host{display:block;flex-shrink:0}\n"] }); }
912
912
  }
913
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: BuilderSpacerComponent, decorators: [{
913
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: BuilderSpacerComponent, decorators: [{
914
914
  type: Component,
915
915
  args: [{ selector: 'div[iox-spacer]', template: '', host: { '[class]': "'iox-spacer iox-node-' + nodeId" }, standalone: false, styles: [":host{display:block;flex-shrink:0}\n"] }]
916
916
  }], propDecorators: { nodeId: [{
@@ -924,8 +924,8 @@ class CardComponent {
924
924
  this.description = '';
925
925
  this.nodeId = '';
926
926
  }
927
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: CardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
928
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.11", type: CardComponent, isStandalone: false, selector: "app-card", inputs: { title: "title", image: "image", description: "description", nodeId: "nodeId" }, ngImport: i0, template: `
927
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: CardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
928
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.31", type: CardComponent, isStandalone: false, selector: "app-card", inputs: { title: "title", image: "image", description: "description", nodeId: "nodeId" }, ngImport: i0, template: `
929
929
  <div class="card" [ngClass]="'iox-node-' + nodeId">
930
930
  <div class="image-wrapper">
931
931
  <img [src]="image" alt="Card image" class="card-img">
@@ -935,7 +935,7 @@ class CardComponent {
935
935
  </div>
936
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$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
937
937
  }
938
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: CardComponent, decorators: [{
938
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: CardComponent, decorators: [{
939
939
  type: Component,
940
940
  args: [{ selector: 'app-card', template: `
941
941
  <div class="card" [ngClass]="'iox-node-' + nodeId">
@@ -961,10 +961,10 @@ class BuilderDividerComponent {
961
961
  constructor() {
962
962
  this.nodeId = '';
963
963
  }
964
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: BuilderDividerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
965
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.11", type: BuilderDividerComponent, isStandalone: false, selector: "div[iox-divider]", inputs: { nodeId: "nodeId" }, host: { properties: { "class": "'iox-divider iox-node-' + nodeId" } }, ngImport: i0, template: '', isInline: true, styles: [":host{display:block;box-sizing:border-box}\n"] }); }
964
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: BuilderDividerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
965
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.31", type: BuilderDividerComponent, isStandalone: false, selector: "div[iox-divider]", inputs: { nodeId: "nodeId" }, host: { properties: { "class": "'iox-divider iox-node-' + nodeId" } }, ngImport: i0, template: '', isInline: true, styles: [":host{display:block;box-sizing:border-box}\n"] }); }
966
966
  }
967
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: BuilderDividerComponent, decorators: [{
967
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: BuilderDividerComponent, decorators: [{
968
968
  type: Component,
969
969
  args: [{ selector: 'div[iox-divider]', template: '', host: { '[class]': "'iox-divider iox-node-' + nodeId" }, standalone: false, styles: [":host{display:block;box-sizing:border-box}\n"] }]
970
970
  }], propDecorators: { nodeId: [{
@@ -978,10 +978,10 @@ class BuilderIconComponent {
978
978
  this.iconClass = 'ph-thin ph-star';
979
979
  this.nodeId = '';
980
980
  }
981
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: BuilderIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
982
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.11", type: BuilderIconComponent, isStandalone: false, selector: "i[iox-icon]", inputs: { iconClass: "iconClass", nodeId: "nodeId" }, host: { properties: { "class": "iconClass + ' iox-node-' + nodeId" } }, ngImport: i0, template: '', isInline: true, styles: [":host{display:inline-flex;align-items:center;justify-content:center;line-height:0}\n"] }); }
981
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: BuilderIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
982
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.31", type: BuilderIconComponent, isStandalone: false, selector: "i[iox-icon]", inputs: { iconClass: "iconClass", nodeId: "nodeId" }, host: { properties: { "class": "iconClass + ' iox-node-' + nodeId" } }, ngImport: i0, template: '', isInline: true, styles: [":host{display:inline-flex;align-items:center;justify-content:center;line-height:0}\n"] }); }
983
983
  }
984
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: BuilderIconComponent, decorators: [{
984
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: BuilderIconComponent, decorators: [{
985
985
  type: Component,
986
986
  args: [{ selector: 'i[iox-icon]', template: '', host: { '[class]': "iconClass + ' iox-node-' + nodeId" }, standalone: false, styles: [":host{display:inline-flex;align-items:center;justify-content:center;line-height:0}\n"] }]
987
987
  }], propDecorators: { iconClass: [{
@@ -1016,10 +1016,10 @@ class BuilderLinkComponent {
1016
1016
  event.stopPropagation();
1017
1017
  }
1018
1018
  }
1019
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: BuilderLinkComponent, deps: [{ token: IS_PREVIEW, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
1020
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.11", type: BuilderLinkComponent, isStandalone: false, selector: "a[iox-link]", inputs: { nodeId: "nodeId", label: "label", linkType: "linkType", url: "url", pageRoute: "pageRoute", target: "target", style: "style" }, host: { listeners: { "click": "onLinkClick($event)" }, properties: { "attr.href": "isPreview ? resolvedHref : null", "attr.target": "isPreview ? target : null", "style.pointer-events": "isPreview ? null : 'none'", "class": "'builder-link iox-node-' + nodeId" } }, ngImport: i0, template: `{{ label }}`, isInline: true, styles: [":host{display:inline;cursor:pointer;color:inherit}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1019
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: BuilderLinkComponent, deps: [{ token: IS_PREVIEW, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
1020
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.31", type: BuilderLinkComponent, isStandalone: false, selector: "a[iox-link]", inputs: { nodeId: "nodeId", label: "label", linkType: "linkType", url: "url", pageRoute: "pageRoute", target: "target", style: "style" }, host: { listeners: { "click": "onLinkClick($event)" }, properties: { "attr.href": "isPreview ? resolvedHref : null", "attr.target": "isPreview ? target : null", "style.pointer-events": "isPreview ? null : 'none'", "class": "'builder-link iox-node-' + nodeId" } }, ngImport: i0, template: `{{ label }}`, isInline: true, styles: [":host{display:inline;cursor:pointer;color:inherit}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1021
1021
  }
1022
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: BuilderLinkComponent, decorators: [{
1022
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: BuilderLinkComponent, decorators: [{
1023
1023
  type: Component,
1024
1024
  args: [{ selector: 'a[iox-link]', template: `{{ label }}`, host: {
1025
1025
  '[attr.href]': "isPreview ? resolvedHref : null",
@@ -1103,10 +1103,10 @@ class BuilderButtonComponent {
1103
1103
  }
1104
1104
  this.events.emit('elementselect', { node: this.node, componentRef: null });
1105
1105
  }
1106
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: BuilderButtonComponent, deps: [{ token: IOX_BUILDER_EVENTS, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
1107
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.11", type: BuilderButtonComponent, isStandalone: false, selector: "a[iox-button]", inputs: { label: "label", link: "link", variant: "variant", nodeId: "nodeId", node: "node" }, host: { listeners: { "dblclick": "startEdit($event)", "blur": "commitEdit($event)", "keydown": "onKeyDown($event)" }, properties: { "attr.href": "link", "class": "'builder-btn variant-' + variant + ' iox-node-' + nodeId", "attr.contenteditable": "editing ? 'true' : null" } }, ngImport: i0, template: `{{ label }}`, isInline: true, styles: [":host{display:inline-block;padding:.6rem 1.5rem;border-radius:6px;font-size:.9rem;text-decoration:none;cursor:pointer;text-align:center;transition:opacity .15s}:host.variant-primary{background:#cb9090;color:#fff;border:1px solid #cb9090}:host.variant-outlined{background:transparent;color:#cb9090;border:1px solid #cb9090}:host.variant-text{background:transparent;color:#cb9090;border:1px solid transparent}:host[contenteditable]{outline:2px solid #cb9090;cursor:text}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1106
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: BuilderButtonComponent, deps: [{ token: IOX_BUILDER_EVENTS, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
1107
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.31", type: BuilderButtonComponent, isStandalone: false, selector: "a[iox-button]", inputs: { label: "label", link: "link", variant: "variant", nodeId: "nodeId", node: "node" }, host: { listeners: { "dblclick": "startEdit($event)", "blur": "commitEdit($event)", "keydown": "onKeyDown($event)" }, properties: { "attr.href": "link", "class": "'builder-btn variant-' + variant + ' iox-node-' + nodeId", "attr.contenteditable": "editing ? 'true' : null" } }, ngImport: i0, template: `{{ label }}`, isInline: true, styles: [":host{display:inline-block;padding:.6rem 1.5rem;border-radius:6px;font-size:.9rem;text-decoration:none;cursor:pointer;text-align:center;transition:opacity .15s}:host.variant-primary{background:#cb9090;color:#fff;border:1px solid #cb9090}:host.variant-outlined{background:transparent;color:#cb9090;border:1px solid #cb9090}:host.variant-text{background:transparent;color:#cb9090;border:1px solid transparent}:host[contenteditable]{outline:2px solid #cb9090;cursor:text}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1108
1108
  }
1109
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: BuilderButtonComponent, decorators: [{
1109
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: BuilderButtonComponent, decorators: [{
1110
1110
  type: Component,
1111
1111
  args: [{ selector: 'a[iox-button]', template: `{{ label }}`, host: {
1112
1112
  '[attr.href]': 'link',
@@ -1200,10 +1200,10 @@ class BuilderHeadingComponent {
1200
1200
  }
1201
1201
  this.events.emit('elementselect', { node: this.node, componentRef: null, isCanvasUpdate: true });
1202
1202
  }
1203
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: BuilderHeadingComponent, deps: [{ token: IOX_BUILDER_EVENTS, optional: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
1204
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.11", type: BuilderHeadingComponent, isStandalone: false, selector: "h1[iox-heading],h2[iox-heading],h3[iox-heading],h4[iox-heading],h5[iox-heading],h6[iox-heading]", inputs: { content: "content", level: "level", nodeId: "nodeId", node: "node" }, host: { listeners: { "mousedown": "onMouseDown($event)", "dblclick": "startEdit($event)", "blur": "commitEdit($event)", "keydown": "onKeyDown($event)" }, properties: { "class": "'iox-node-' + nodeId", "attr.contenteditable": "editing ? 'true' : null" } }, ngImport: i0, template: `{{ content }}`, isInline: true, styles: [":host{margin:0}:host[contenteditable]{outline:none;cursor:text}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1203
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: BuilderHeadingComponent, deps: [{ token: IOX_BUILDER_EVENTS, optional: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
1204
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.31", type: BuilderHeadingComponent, isStandalone: false, selector: "h1[iox-heading],h2[iox-heading],h3[iox-heading],h4[iox-heading],h5[iox-heading],h6[iox-heading]", inputs: { content: "content", level: "level", nodeId: "nodeId", node: "node" }, host: { listeners: { "mousedown": "onMouseDown($event)", "dblclick": "startEdit($event)", "blur": "commitEdit($event)", "keydown": "onKeyDown($event)" }, properties: { "class": "'iox-node-' + nodeId", "attr.contenteditable": "editing ? 'true' : null" } }, ngImport: i0, template: `{{ content }}`, isInline: true, styles: [":host{margin:0}:host[contenteditable]{outline:none;cursor:text}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1205
1205
  }
1206
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: BuilderHeadingComponent, decorators: [{
1206
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: BuilderHeadingComponent, decorators: [{
1207
1207
  type: Component,
1208
1208
  args: [{ selector: 'h1[iox-heading],h2[iox-heading],h3[iox-heading],h4[iox-heading],h5[iox-heading],h6[iox-heading]', template: `{{ content }}`, host: {
1209
1209
  '[class]': "'iox-node-' + nodeId",
@@ -1307,10 +1307,10 @@ class TextBlockComponent {
1307
1307
  }
1308
1308
  this.events.emit('elementselect', { node: this.node, componentRef: null, isCanvasUpdate: true });
1309
1309
  }
1310
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: TextBlockComponent, deps: [{ token: IOX_BUILDER_EVENTS, optional: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
1311
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.11", type: TextBlockComponent, isStandalone: false, selector: "p[iox-text],span[iox-text]", inputs: { content: "content", tag: "tag", style: "style", nodeId: "nodeId", node: "node" }, host: { listeners: { "pointerdown": "onPointerDown($event)", "mousedown": "onMouseDown($event)", "dblclick": "startEdit($event)", "blur": "commitEdit($event)", "keydown": "onKeyDown($event)", "paste": "onPaste($event)" }, properties: { "class": "'iox-node-' + nodeId", "innerHTML": "content", "attr.contenteditable": "editing ? 'true' : null" } }, ngImport: i0, template: ``, isInline: true, styles: [":host{margin:0;white-space:pre-wrap}:host[contenteditable]{outline:none;cursor:text}\n"] }); }
1310
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: TextBlockComponent, deps: [{ token: IOX_BUILDER_EVENTS, optional: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
1311
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.31", type: TextBlockComponent, isStandalone: false, selector: "p[iox-text],span[iox-text]", inputs: { content: "content", tag: "tag", style: "style", nodeId: "nodeId", node: "node" }, host: { listeners: { "pointerdown": "onPointerDown($event)", "mousedown": "onMouseDown($event)", "dblclick": "startEdit($event)", "blur": "commitEdit($event)", "keydown": "onKeyDown($event)", "paste": "onPaste($event)" }, properties: { "class": "'iox-node-' + nodeId", "innerHTML": "content", "attr.contenteditable": "editing ? 'true' : null" } }, ngImport: i0, template: ``, isInline: true, styles: [":host{margin:0;white-space:pre-wrap}:host[contenteditable]{outline:none;cursor:text}\n"] }); }
1312
1312
  }
1313
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: TextBlockComponent, decorators: [{
1313
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: TextBlockComponent, decorators: [{
1314
1314
  type: Component,
1315
1315
  args: [{ selector: 'p[iox-text],span[iox-text]', template: ``, host: {
1316
1316
  '[class]': "'iox-node-' + nodeId",
@@ -1345,10 +1345,10 @@ class SectionComponent {
1345
1345
  constructor() {
1346
1346
  this.nodeId = '';
1347
1347
  }
1348
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: SectionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1349
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.11", type: SectionComponent, isStandalone: false, selector: "section[iox-section]", inputs: { nodeId: "nodeId" }, host: { properties: { "class": "'iox-node-' + nodeId" } }, viewQueries: [{ propertyName: "childrenHost", first: true, predicate: ["childrenHost"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: `<ng-container #childrenHost></ng-container>`, isInline: true, styles: [":host{box-sizing:border-box}\n"] }); }
1348
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: SectionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1349
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.31", type: SectionComponent, isStandalone: false, selector: "section[iox-section]", inputs: { nodeId: "nodeId" }, host: { properties: { "class": "'iox-node-' + nodeId" } }, viewQueries: [{ propertyName: "childrenHost", first: true, predicate: ["childrenHost"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: `<ng-container #childrenHost></ng-container>`, isInline: true, styles: [":host{box-sizing:border-box}\n"] }); }
1350
1350
  }
1351
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: SectionComponent, decorators: [{
1351
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: SectionComponent, decorators: [{
1352
1352
  type: Component,
1353
1353
  args: [{ selector: 'section[iox-section]', template: `<ng-container #childrenHost></ng-container>`, host: { '[class]': "'iox-node-' + nodeId" }, standalone: false, styles: [":host{box-sizing:border-box}\n"] }]
1354
1354
  }], propDecorators: { nodeId: [{
@@ -1363,10 +1363,10 @@ class ContainerComponent {
1363
1363
  constructor() {
1364
1364
  this.nodeId = '';
1365
1365
  }
1366
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: ContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1367
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.11", type: ContainerComponent, isStandalone: false, selector: "div[iox-container]", inputs: { nodeId: "nodeId" }, host: { properties: { "class": "'iox-node-' + nodeId" } }, viewQueries: [{ propertyName: "childrenHost", first: true, predicate: ["childrenHost"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: `<ng-container #childrenHost></ng-container>`, isInline: true, styles: [":host{box-sizing:border-box}\n"] }); }
1366
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: ContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1367
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.31", type: ContainerComponent, isStandalone: false, selector: "div[iox-container]", inputs: { nodeId: "nodeId" }, host: { properties: { "class": "'iox-node-' + nodeId" } }, viewQueries: [{ propertyName: "childrenHost", first: true, predicate: ["childrenHost"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: `<ng-container #childrenHost></ng-container>`, isInline: true, styles: [":host{box-sizing:border-box}\n"] }); }
1368
1368
  }
1369
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: ContainerComponent, decorators: [{
1369
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: ContainerComponent, decorators: [{
1370
1370
  type: Component,
1371
1371
  args: [{ selector: 'div[iox-container]', template: `<ng-container #childrenHost></ng-container>`, host: { '[class]': "'iox-node-' + nodeId" }, standalone: false, styles: [":host{box-sizing:border-box}\n"] }]
1372
1372
  }], propDecorators: { nodeId: [{
@@ -1403,10 +1403,10 @@ class LinkedContainerComponent {
1403
1403
  return this.url || '#';
1404
1404
  return this.pageRoute || '#';
1405
1405
  }
1406
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: LinkedContainerComponent, deps: [{ token: i0.ElementRef }, { token: IS_PREVIEW, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
1407
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.11", type: LinkedContainerComponent, isStandalone: false, selector: "a[iox-linked-container]", inputs: { nodeId: "nodeId", linkType: "linkType", url: "url", pageRoute: "pageRoute", target: "target" }, host: { properties: { "attr.href": "resolvedHref", "attr.target": "target", "class": "'linked-container-root iox-node-' + nodeId" } }, viewQueries: [{ propertyName: "childrenHost", first: true, predicate: ["childrenHost"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: `<ng-container #childrenHost></ng-container>`, isInline: true, styles: [":host{box-sizing:border-box;text-decoration:none;cursor:pointer}\n"] }); }
1406
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: LinkedContainerComponent, deps: [{ token: i0.ElementRef }, { token: IS_PREVIEW, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
1407
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.31", type: LinkedContainerComponent, isStandalone: false, selector: "a[iox-linked-container]", inputs: { nodeId: "nodeId", linkType: "linkType", url: "url", pageRoute: "pageRoute", target: "target" }, host: { properties: { "attr.href": "resolvedHref", "attr.target": "target", "class": "'linked-container-root iox-node-' + nodeId" } }, viewQueries: [{ propertyName: "childrenHost", first: true, predicate: ["childrenHost"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: `<ng-container #childrenHost></ng-container>`, isInline: true, styles: [":host{box-sizing:border-box;text-decoration:none;cursor:pointer}\n"] }); }
1408
1408
  }
1409
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: LinkedContainerComponent, decorators: [{
1409
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: LinkedContainerComponent, decorators: [{
1410
1410
  type: Component,
1411
1411
  args: [{ selector: 'a[iox-linked-container]', template: `<ng-container #childrenHost></ng-container>`, host: {
1412
1412
  '[attr.href]': 'resolvedHref',
@@ -1443,14 +1443,14 @@ class ClientRepeaterComponent {
1443
1443
  constructor() {
1444
1444
  this.nodeId = '';
1445
1445
  }
1446
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: ClientRepeaterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1447
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.11", type: ClientRepeaterComponent, isStandalone: false, selector: "iox-repeater", inputs: { nodeId: "nodeId" }, viewQueries: [{ propertyName: "childrenHost", first: true, predicate: ["childrenHost"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: `
1446
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: ClientRepeaterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1447
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.31", type: ClientRepeaterComponent, isStandalone: false, selector: "iox-repeater", inputs: { nodeId: "nodeId" }, viewQueries: [{ propertyName: "childrenHost", first: true, predicate: ["childrenHost"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: `
1448
1448
  <div class="repeater-root" [ngClass]="['iox-node-' + nodeId]">
1449
1449
  <ng-container #childrenHost></ng-container>
1450
1450
  </div>
1451
1451
  `, isInline: true, styles: [".repeater-root{position:relative;box-sizing:border-box}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
1452
1452
  }
1453
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: ClientRepeaterComponent, decorators: [{
1453
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: ClientRepeaterComponent, decorators: [{
1454
1454
  type: Component,
1455
1455
  args: [{ selector: 'iox-repeater', template: `
1456
1456
  <div class="repeater-root" [ngClass]="['iox-node-' + nodeId]">
@@ -1480,10 +1480,10 @@ class ButtonBlockComponent {
1480
1480
  this.type = 'button';
1481
1481
  this.nodeId = '';
1482
1482
  }
1483
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: ButtonBlockComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1484
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.11", type: ButtonBlockComponent, isStandalone: false, selector: "a[iox-button-block],button[iox-button-block]", inputs: { tag: "tag", href: "href", target: "target", type: "type", nodeId: "nodeId" }, host: { properties: { "class": "'iox-btn-block iox-node-' + nodeId", "attr.href": "tag === 'a' ? (href || null) : null", "attr.target": "tag === 'a' ? (target || null) : null", "attr.type": "tag === 'a' ? null : type" } }, viewQueries: [{ propertyName: "childrenHost", first: true, predicate: ["childrenHost"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: `<ng-container #childrenHost></ng-container>`, isInline: true, styles: [":host{box-sizing:border-box}\n"] }); }
1483
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: ButtonBlockComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1484
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.31", type: ButtonBlockComponent, isStandalone: false, selector: "a[iox-button-block],button[iox-button-block]", inputs: { tag: "tag", href: "href", target: "target", type: "type", nodeId: "nodeId" }, host: { properties: { "class": "'iox-btn-block iox-node-' + nodeId", "attr.href": "tag === 'a' ? (href || null) : null", "attr.target": "tag === 'a' ? (target || null) : null", "attr.type": "tag === 'a' ? null : type" } }, viewQueries: [{ propertyName: "childrenHost", first: true, predicate: ["childrenHost"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: `<ng-container #childrenHost></ng-container>`, isInline: true, styles: [":host{box-sizing:border-box}\n"] }); }
1485
1485
  }
1486
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: ButtonBlockComponent, decorators: [{
1486
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: ButtonBlockComponent, decorators: [{
1487
1487
  type: Component,
1488
1488
  args: [{ selector: 'a[iox-button-block],button[iox-button-block]', template: `<ng-container #childrenHost></ng-container>`, host: {
1489
1489
  '[class]': "'iox-btn-block iox-node-' + nodeId",
@@ -1625,8 +1625,8 @@ class ClientSliderContainerComponent {
1625
1625
  this._swiper = new Swiper(el, config);
1626
1626
  this.instanceRegistry.register(this.nodeId, this._swiper);
1627
1627
  }
1628
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: ClientSliderContainerComponent, deps: [{ token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Component }); }
1629
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.11", type: ClientSliderContainerComponent, isStandalone: false, selector: "iox-slider-container", inputs: { nodeId: "nodeId", dir: "dir", direction: "direction", loop: "loop", slidesPerView: "slidesPerView", spaceBetween: "spaceBetween", speed: "speed", effect: "effect", grabCursor: "grabCursor", centeredSlides: "centeredSlides", initialSlide: "initialSlide", enableNavigation: "enableNavigation", enablePagination: "enablePagination", enableScrollbar: "enableScrollbar", enableAutoplay: "enableAutoplay", enableKeyboard: "enableKeyboard", enableMousewheel: "enableMousewheel", enableZoom: "enableZoom", enableGrid: "enableGrid", enableParallax: "enableParallax", autoplayDelay: "autoplayDelay", autoplayPauseOnMouseEnter: "autoplayPauseOnMouseEnter", autoplayDisableOnInteraction: "autoplayDisableOnInteraction", paginationType: "paginationType", paginationClickable: "paginationClickable", gridRows: "gridRows", breakpoints: "breakpoints" }, viewQueries: [{ propertyName: "childrenHost", first: true, predicate: ["childrenHost"], descendants: true, read: ViewContainerRef, static: true }, { propertyName: "swiperEl", first: true, predicate: ["swiperEl"], descendants: true, static: true }], ngImport: i0, template: `
1628
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: ClientSliderContainerComponent, deps: [{ token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Component }); }
1629
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.31", type: ClientSliderContainerComponent, isStandalone: false, selector: "iox-slider-container", inputs: { nodeId: "nodeId", dir: "dir", direction: "direction", loop: "loop", slidesPerView: "slidesPerView", spaceBetween: "spaceBetween", speed: "speed", effect: "effect", grabCursor: "grabCursor", centeredSlides: "centeredSlides", initialSlide: "initialSlide", enableNavigation: "enableNavigation", enablePagination: "enablePagination", enableScrollbar: "enableScrollbar", enableAutoplay: "enableAutoplay", enableKeyboard: "enableKeyboard", enableMousewheel: "enableMousewheel", enableZoom: "enableZoom", enableGrid: "enableGrid", enableParallax: "enableParallax", autoplayDelay: "autoplayDelay", autoplayPauseOnMouseEnter: "autoplayPauseOnMouseEnter", autoplayDisableOnInteraction: "autoplayDisableOnInteraction", paginationType: "paginationType", paginationClickable: "paginationClickable", gridRows: "gridRows", breakpoints: "breakpoints" }, viewQueries: [{ propertyName: "childrenHost", first: true, predicate: ["childrenHost"], descendants: true, read: ViewContainerRef, static: true }, { propertyName: "swiperEl", first: true, predicate: ["swiperEl"], descendants: true, static: true }], ngImport: i0, template: `
1630
1630
  <div class="swiper" [class]="'iox-node-' + nodeId" [attr.dir]="dir" [style.direction]="dir" #swiperEl>
1631
1631
  <div class="swiper-wrapper">
1632
1632
  <ng-container #childrenHost></ng-container>
@@ -1638,7 +1638,7 @@ class ClientSliderContainerComponent {
1638
1638
  </div>
1639
1639
  `, isInline: true, styles: [".swiper{width:100%;height:100%;box-sizing:border-box}\n"], dependencies: [{ kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
1640
1640
  }
1641
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: ClientSliderContainerComponent, decorators: [{
1641
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: ClientSliderContainerComponent, decorators: [{
1642
1642
  type: Component,
1643
1643
  args: [{ selector: 'iox-slider-container', template: `
1644
1644
  <div class="swiper" [class]="'iox-node-' + nodeId" [attr.dir]="dir" [style.direction]="dir" #swiperEl>
@@ -1730,10 +1730,10 @@ class ClientSliderSlideComponent {
1730
1730
  constructor() {
1731
1731
  this.nodeId = '';
1732
1732
  }
1733
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: ClientSliderSlideComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1734
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.11", type: ClientSliderSlideComponent, isStandalone: false, selector: "iox-slider-slide", inputs: { nodeId: "nodeId" }, host: { properties: { "class": "'swiper-slide iox-node-' + nodeId" } }, viewQueries: [{ propertyName: "childrenHost", first: true, predicate: ["childrenHost"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: `<ng-container #childrenHost></ng-container>`, isInline: true, styles: [":host{display:block;box-sizing:border-box}\n"] }); }
1733
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: ClientSliderSlideComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1734
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.31", type: ClientSliderSlideComponent, isStandalone: false, selector: "iox-slider-slide", inputs: { nodeId: "nodeId" }, host: { properties: { "class": "'swiper-slide iox-node-' + nodeId" } }, viewQueries: [{ propertyName: "childrenHost", first: true, predicate: ["childrenHost"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: `<ng-container #childrenHost></ng-container>`, isInline: true, styles: [":host{display:block;box-sizing:border-box}\n"] }); }
1735
1735
  }
1736
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: ClientSliderSlideComponent, decorators: [{
1736
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: ClientSliderSlideComponent, decorators: [{
1737
1737
  type: Component,
1738
1738
  args: [{ selector: 'iox-slider-slide', template: `<ng-container #childrenHost></ng-container>`, host: { '[class]': `'swiper-slide iox-node-' + nodeId` }, standalone: false, styles: [":host{display:block;box-sizing:border-box}\n"] }]
1739
1739
  }], propDecorators: { nodeId: [{
@@ -1756,10 +1756,10 @@ class ClientListComponent {
1756
1756
  this.reversed = false;
1757
1757
  this.nodeId = '';
1758
1758
  }
1759
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: ClientListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1760
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.11", type: ClientListComponent, isStandalone: false, selector: "ul[iox-list],ol[iox-list]", inputs: { htmlTag: "htmlTag", start: "start", reversed: "reversed", nodeId: "nodeId" }, host: { properties: { "class": "'iox-node-' + nodeId", "attr.start": "htmlTag === 'ol' && start !== '' && start != null ? start : null", "attr.reversed": "htmlTag === 'ol' && reversed ? '' : null" } }, viewQueries: [{ propertyName: "childrenHost", first: true, predicate: ["childrenHost"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: `<ng-container #childrenHost></ng-container>`, isInline: true, styles: [":host{margin:0;box-sizing:border-box}\n"] }); }
1759
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: ClientListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1760
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.31", type: ClientListComponent, isStandalone: false, selector: "ul[iox-list],ol[iox-list]", inputs: { htmlTag: "htmlTag", start: "start", reversed: "reversed", nodeId: "nodeId" }, host: { properties: { "class": "'iox-node-' + nodeId", "attr.start": "htmlTag === 'ol' && start !== '' && start != null ? start : null", "attr.reversed": "htmlTag === 'ol' && reversed ? '' : null" } }, viewQueries: [{ propertyName: "childrenHost", first: true, predicate: ["childrenHost"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: `<ng-container #childrenHost></ng-container>`, isInline: true, styles: [":host{margin:0;box-sizing:border-box}\n"] }); }
1761
1761
  }
1762
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: ClientListComponent, decorators: [{
1762
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: ClientListComponent, decorators: [{
1763
1763
  type: Component,
1764
1764
  args: [{ selector: 'ul[iox-list],ol[iox-list]', template: `<ng-container #childrenHost></ng-container>`, host: {
1765
1765
  '[class]': "'iox-node-' + nodeId",
@@ -1788,10 +1788,10 @@ class ClientListItemComponent {
1788
1788
  constructor() {
1789
1789
  this.nodeId = '';
1790
1790
  }
1791
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: ClientListItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1792
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.11", type: ClientListItemComponent, isStandalone: false, selector: "li[iox-list-item]", inputs: { nodeId: "nodeId" }, host: { properties: { "class": "'iox-node-' + nodeId" } }, viewQueries: [{ propertyName: "childrenHost", first: true, predicate: ["childrenHost"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: `<ng-container #childrenHost></ng-container>`, isInline: true, styles: [":host{box-sizing:border-box}\n"] }); }
1791
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: ClientListItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1792
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.31", type: ClientListItemComponent, isStandalone: false, selector: "li[iox-list-item]", inputs: { nodeId: "nodeId" }, host: { properties: { "class": "'iox-node-' + nodeId" } }, viewQueries: [{ propertyName: "childrenHost", first: true, predicate: ["childrenHost"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: `<ng-container #childrenHost></ng-container>`, isInline: true, styles: [":host{box-sizing:border-box}\n"] }); }
1793
1793
  }
1794
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: ClientListItemComponent, decorators: [{
1794
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: ClientListItemComponent, decorators: [{
1795
1795
  type: Component,
1796
1796
  args: [{ selector: 'li[iox-list-item]', template: `<ng-container #childrenHost></ng-container>`, host: { '[class]': "'iox-node-' + nodeId" }, standalone: false, styles: [":host{box-sizing:border-box}\n"] }]
1797
1797
  }], propDecorators: { nodeId: [{
@@ -2400,8 +2400,8 @@ class ClientGalleryComponent {
2400
2400
  normalizeImages() {
2401
2401
  return (this.images ?? []).map(img => (typeof img === 'string' ? { url: img } : img));
2402
2402
  }
2403
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: ClientGalleryComponent, deps: [{ token: PLATFORM_ID }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
2404
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.11", type: ClientGalleryComponent, isStandalone: false, selector: "iox-gallery", inputs: { nodeId: "nodeId", effect: "effect", autoStart: "autoStart", layout: "layout", images: "images", showDuration: "showDuration", fadeDuration: "fadeDuration" }, ngImport: i0, template: `
2403
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: ClientGalleryComponent, deps: [{ token: PLATFORM_ID }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
2404
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.31", type: ClientGalleryComponent, isStandalone: false, selector: "iox-gallery", inputs: { nodeId: "nodeId", effect: "effect", autoStart: "autoStart", layout: "layout", images: "images", showDuration: "showDuration", fadeDuration: "fadeDuration" }, ngImport: i0, template: `
2405
2405
  <div class="iox-gallery" [class]="'iox-node-' + nodeId">
2406
2406
  <div *ngFor="let url of urls; index as i"
2407
2407
  class="iox-gallery__img"
@@ -2411,7 +2411,7 @@ class ClientGalleryComponent {
2411
2411
  </div>
2412
2412
  `, 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$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] }); }
2413
2413
  }
2414
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: ClientGalleryComponent, decorators: [{
2414
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: ClientGalleryComponent, decorators: [{
2415
2415
  type: Component,
2416
2416
  args: [{ selector: 'iox-gallery', template: `
2417
2417
  <div class="iox-gallery" [class]="'iox-node-' + nodeId">
@@ -2463,8 +2463,8 @@ const COMPONENTS = [
2463
2463
  ClientGalleryComponent,
2464
2464
  ];
2465
2465
  class IoxBuilderComponentsModule {
2466
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: IoxBuilderComponentsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
2467
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.11", ngImport: i0, type: IoxBuilderComponentsModule, declarations: [BuilderImageComponent,
2466
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: IoxBuilderComponentsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
2467
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.31", ngImport: i0, type: IoxBuilderComponentsModule, declarations: [BuilderImageComponent,
2468
2468
  BuilderSpacerComponent,
2469
2469
  CardComponent,
2470
2470
  BuilderDividerComponent,
@@ -2501,9 +2501,9 @@ class IoxBuilderComponentsModule {
2501
2501
  ClientListComponent,
2502
2502
  ClientListItemComponent,
2503
2503
  ClientGalleryComponent] }); }
2504
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: IoxBuilderComponentsModule, imports: [CommonModule] }); }
2504
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: IoxBuilderComponentsModule, imports: [CommonModule] }); }
2505
2505
  }
2506
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: IoxBuilderComponentsModule, decorators: [{
2506
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: IoxBuilderComponentsModule, decorators: [{
2507
2507
  type: NgModule,
2508
2508
  args: [{
2509
2509
  declarations: COMPONENTS,
@@ -2556,10 +2556,10 @@ class IoxComponentRegistryService {
2556
2556
  hasComponent(type) {
2557
2557
  return this.map.has(type);
2558
2558
  }
2559
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: IoxComponentRegistryService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
2560
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: IoxComponentRegistryService, providedIn: 'root' }); }
2559
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: IoxComponentRegistryService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
2560
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: IoxComponentRegistryService, providedIn: 'root' }); }
2561
2561
  }
2562
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: IoxComponentRegistryService, decorators: [{
2562
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: IoxComponentRegistryService, decorators: [{
2563
2563
  type: Injectable,
2564
2564
  args: [{ providedIn: 'root' }]
2565
2565
  }] });
@@ -2648,18 +2648,34 @@ function stripSuppressedProps(type, styleProps) {
2648
2648
  delete out[key];
2649
2649
  return out;
2650
2650
  }
2651
+ /**
2652
+ * What a compiled rule is FOR — decides whether an initial value is a no-op.
2653
+ *
2654
+ * In a `Base` rule nothing is being overridden, so `width: auto` or `transform: none` changes
2655
+ * nothing and is dropped (see NOOP_INITIAL_VALUES). In an `Override` rule — a breakpoint layer —
2656
+ * the initial value is exactly how you UNDO a wider rule (`width: 520px` → `auto` on mobile), so
2657
+ * dropping it would silently keep the desktop value.
2658
+ */
2659
+ var DeclarationContext;
2660
+ (function (DeclarationContext) {
2661
+ DeclarationContext["Base"] = "base";
2662
+ DeclarationContext["Override"] = "override";
2663
+ })(DeclarationContext || (DeclarationContext = {}));
2651
2664
  /**
2652
2665
  * Compile a flat, camelCase style map into an array of `"prop: value"` CSS
2653
- * declarations (kebab-cased, viewport-units rewritten, empties + no-op initials dropped,
2654
- * optional `!important`). Callers wrap these in whatever selector they emit.
2666
+ * declarations (kebab-cased, viewport-units rewritten, empties dropped, no-op initials dropped
2667
+ * in a `Base` context only, optional `!important`). Callers wrap these in whatever selector
2668
+ * they emit.
2655
2669
  *
2656
2670
  * @param props Flat camelCase style map.
2657
2671
  * @param importantProps Keys that must carry `!important` (e.g. `position`, to beat
2658
2672
  * Angular's scoped-CSS specificity boost in the builder). A prop forced
2659
2673
  * `!important` is never dropped as a no-op — the `!important` exists to win
2660
2674
  * the cascade, so its value must always be emitted.
2675
+ * @param context `Override` for a rule that overrides a wider one (a breakpoint layer):
2676
+ * initial values are kept, because there they reset rather than no-op.
2661
2677
  */
2662
- function compileDeclarations(props, importantProps) {
2678
+ function compileDeclarations(props, importantProps, context = DeclarationContext.Base) {
2663
2679
  const out = [];
2664
2680
  for (const [k, v] of Object.entries(props)) {
2665
2681
  if (v === undefined || v === null || v === '')
@@ -2667,7 +2683,8 @@ function compileDeclarations(props, importantProps) {
2667
2683
  const prop = styleKeyToKebab(k);
2668
2684
  const val = rewriteViewportUnits(String(v));
2669
2685
  const isImportant = importantProps?.has(k) ?? false;
2670
- if (!isImportant && NOOP_INITIAL_VALUES[prop]?.includes(val.trim().toLowerCase()))
2686
+ const dropsNoOps = context === DeclarationContext.Base && !isImportant;
2687
+ if (dropsNoOps && NOOP_INITIAL_VALUES[prop]?.includes(val.trim().toLowerCase()))
2671
2688
  continue;
2672
2689
  out.push(`${prop}: ${val}${isImportant ? ' !important' : ''}`);
2673
2690
  }
@@ -2821,14 +2838,17 @@ const MARKER_FUNS = [
2821
2838
  ['markerColor', 'color'],
2822
2839
  ['markerFontSize', 'fontSize'],
2823
2840
  ];
2824
- // ─── All virtual trait names ──────────────────────────────────────────────────
2825
- const VIRTUAL_TRAIT_KEYS = new Set([
2826
- ...FILTER_FUNS.map(([t]) => t),
2827
- ...BACKDROP_FUNS.map(([t]) => t),
2828
- ...TRANSFORM_FUNS.map(([t]) => t),
2829
- 'transitionDuration', 'transitionTimingFunction', 'transitionDelay',
2830
- ...MARKER_FUNS.map(([t]) => t),
2841
+ const TRANSITION_KEYS = ['transitionDuration', 'transitionTimingFunction', 'transitionDelay'];
2842
+ const VIRTUAL_TRAIT_GROUPS = Object.freeze([
2843
+ { output: 'filter', keys: FILTER_FUNS.map(([t]) => t), reset: 'none' },
2844
+ { output: 'backdropFilter', keys: BACKDROP_FUNS.map(([t]) => t), reset: 'none' },
2845
+ { output: 'transform', keys: TRANSFORM_FUNS.map(([t]) => t), reset: 'none' },
2846
+ { output: 'transition', keys: [...TRANSITION_KEYS], reset: 'none' },
2847
+ { output: '__markerStyles', keys: MARKER_FUNS.map(([t]) => t), reset: null },
2831
2848
  ]);
2849
+ // ─── All virtual trait names ──────────────────────────────────────────────────
2850
+ /** Every virtual trait key — derived from the groups so there is one list to maintain. */
2851
+ const VIRTUAL_TRAIT_KEYS = new Set(VIRTUAL_TRAIT_GROUPS.flatMap(g => g.keys));
2832
2852
  // ─── Helpers ─────────────────────────────────────────────────────────────────
2833
2853
  function buildFns(funs, src) {
2834
2854
  return funs
@@ -2970,6 +2990,376 @@ function buildTargetedStateSelector(scopeCssId, triggerCssId, styledCssId, base)
2970
2990
  return `iox-node-${scopeCssId}:has(.iox-node-${triggerCssId}:${base}) .iox-node-${styledCssId}`;
2971
2991
  }
2972
2992
 
2993
+ // Responsive (per-breakpoint) styles — the shared model, cascade and emission plan.
2994
+ //
2995
+ // SHARED (iox-ui): the builder canvas AND the SSR engine both call this. The builder
2996
+ // FLATTENS the active breakpoint (its canvas is a transformed frame inside a desktop
2997
+ // browser, so a real `@media` query would read the editor's width); the engine WRAPS
2998
+ // each planned layer in `@media`. Same decisions, different transport — never fork them.
2999
+ //
3000
+ // Storage is a sparse layer beside the existing keys, shaped like `stateStyles`:
3001
+ //
3002
+ // styleProps — base, full resolved set (unchanged)
3003
+ // stateStyles — sparse per-state overrides (unchanged)
3004
+ // responsive — sparse per-breakpoint overrides (this file)
3005
+ // { mobile: { styleProps: {…}, stateStyles: { hover: {…} } } }
3006
+ //
3007
+ // A node with no `responsive` key renders exactly as before — no migration.
3008
+ // See iox-ai-guidance `architecture/builder/responsive-breakpoints-plan.md`.
3009
+ // ─── Breakpoints ─────────────────────────────────────────────────────────────
3010
+ /** The five fixed breakpoints (plan decision D2). Desktop-first: each narrower one
3011
+ * overrides the wider ones through `max-width`. */
3012
+ var Breakpoint;
3013
+ (function (Breakpoint) {
3014
+ Breakpoint["Base"] = "base";
3015
+ Breakpoint["Laptop"] = "laptop";
3016
+ Breakpoint["Tablet"] = "tablet";
3017
+ Breakpoint["Mobile"] = "mobile";
3018
+ Breakpoint["Small"] = "small";
3019
+ })(Breakpoint || (Breakpoint = {}));
3020
+ /**
3021
+ * Widest → narrowest. This order IS the cascade order and the `@media` emission order.
3022
+ *
3023
+ * ⚠️ Phones in portrait (360–430px) land in `Small`, NOT `Mobile` — `Mobile` is 480–767,
3024
+ * a phone held landscape. The labels say so (as Webflow's do). The ids stay short because
3025
+ * they are storage keys; the cascade still makes a `Mobile` override reach every phone.
3026
+ */
3027
+ const BREAKPOINTS = Object.freeze([
3028
+ { id: Breakpoint.Base, label: 'Base', maxWidth: null, previewWidth: 1440 },
3029
+ { id: Breakpoint.Laptop, label: 'Laptop', maxWidth: 1200, previewWidth: 1200 },
3030
+ { id: Breakpoint.Tablet, label: 'Tablet', maxWidth: 991, previewWidth: 768 },
3031
+ { id: Breakpoint.Mobile, label: 'Mobile landscape', maxWidth: 767, previewWidth: 568 },
3032
+ { id: Breakpoint.Small, label: 'Mobile portrait', maxWidth: 479, previewWidth: 390 },
3033
+ ]);
3034
+ const BREAKPOINT_INDEX = new Map(BREAKPOINTS.map((d, i) => [d.id, i]));
3035
+ /** The definition for `bp`, or `undefined` for an unknown id (e.g. hand-edited JSON). */
3036
+ function breakpointDef(bp) {
3037
+ const i = BREAKPOINT_INDEX.get(bp);
3038
+ return i === undefined ? undefined : BREAKPOINTS[i];
3039
+ }
3040
+ /** Base → `bp`, inclusive — the layers whose values apply at `bp`. Unknown → `[Base]`. */
3041
+ function cascadeChain(bp) {
3042
+ const i = BREAKPOINT_INDEX.get(bp);
3043
+ return BREAKPOINTS.slice(0, (i ?? 0) + 1).map(d => d.id);
3044
+ }
3045
+ /**
3046
+ * The breakpoint a viewport (or canvas) of `width` CSS px falls in — the narrowest one whose
3047
+ * `maxWidth` it fits under, else Base. Mirrors how the `max-width` media queries resolve, so the
3048
+ * builder's editing scope is always the breakpoint the canvas is actually showing.
3049
+ */
3050
+ function breakpointForWidth(width) {
3051
+ for (let i = BREAKPOINTS.length - 1; i > 0; i--) {
3052
+ const max = BREAKPOINTS[i].maxWidth;
3053
+ if (max !== null && width <= max)
3054
+ return BREAKPOINTS[i].id;
3055
+ }
3056
+ return Breakpoint.Base;
3057
+ }
3058
+ /** The next-wider breakpoint (what `bp` inherits from), or `null` for Base / unknown. */
3059
+ function parentBreakpoint(bp) {
3060
+ const i = BREAKPOINT_INDEX.get(bp);
3061
+ return i ? BREAKPOINTS[i - 1].id : null;
3062
+ }
3063
+ /**
3064
+ * What a breakpoint's width is measured against.
3065
+ *
3066
+ * `Media` — the browser viewport. The SSR engine: a visitor's window IS the page.
3067
+ * `Container` — a named CSS size container. The builder: its canvas is a fixed-width frame inside a
3068
+ * desktop browser (and `transform: scale`d for zoom), so a media query would read the EDITOR's width.
3069
+ * A container query reads the frame's own layout width — which equals the simulated viewport and
3070
+ * ignores the zoom transform — so the builder emits the same structure as the engine.
3071
+ */
3072
+ var BreakpointQueryKind;
3073
+ (function (BreakpointQueryKind) {
3074
+ BreakpointQueryKind["Media"] = "media";
3075
+ BreakpointQueryKind["Container"] = "container";
3076
+ })(BreakpointQueryKind || (BreakpointQueryKind = {}));
3077
+ /**
3078
+ * The at-rule prelude for `bp` — `@media (max-width: 767px)`, or with `Container`
3079
+ * `@container iox-canvas (max-width: 767px)`. `null` for Base or an unknown id.
3080
+ * `containerName` is required for `Container` (an unnamed container query would match
3081
+ * whichever ancestor container is nearest, which is not guaranteed to be the canvas).
3082
+ */
3083
+ function breakpointQueryFor(bp, kind = BreakpointQueryKind.Media, containerName) {
3084
+ const max = breakpointDef(bp)?.maxWidth;
3085
+ if (max == null)
3086
+ return null;
3087
+ if (kind === BreakpointQueryKind.Media)
3088
+ return `@media (max-width: ${max}px)`;
3089
+ if (!containerName)
3090
+ throw new Error('A container breakpoint query needs a container name');
3091
+ return `@container ${containerName} (max-width: ${max}px)`;
3092
+ }
3093
+ /** Wrap already-compiled rules for `bp`. Base (and blank css) passes through unwrapped. */
3094
+ function wrapInBreakpointQuery(bp, css, kind = BreakpointQueryKind.Media, containerName) {
3095
+ if (!css.trim())
3096
+ return '';
3097
+ const query = breakpointQueryFor(bp, kind, containerName);
3098
+ return query ? `${query} {\n${css}\n}` : css;
3099
+ }
3100
+ /** `@media (max-width: 767px)` for `bp`; `null` for Base or an unknown id. */
3101
+ function mediaQueryFor(bp) {
3102
+ return breakpointQueryFor(bp, BreakpointQueryKind.Media);
3103
+ }
3104
+ /** Wrap already-compiled rules for `bp` in its media query. Base (and blank css) passes through. */
3105
+ function wrapInMediaQuery(bp, css) {
3106
+ return wrapInBreakpointQuery(bp, css, BreakpointQueryKind.Media);
3107
+ }
3108
+ function layerAt(responsive, bp) {
3109
+ return bp === Breakpoint.Base ? undefined : responsive?.[bp];
3110
+ }
3111
+ /** Copy defined entries of `src` onto `target`. `undefined` never overwrites a value. */
3112
+ function assignDefined(target, src) {
3113
+ if (src)
3114
+ for (const [k, v] of Object.entries(src))
3115
+ if (v !== undefined)
3116
+ target[k] = v;
3117
+ return target;
3118
+ }
3119
+ function hasKeys(map) {
3120
+ return !!map && Object.keys(map).length > 0;
3121
+ }
3122
+ // ─── Cascade resolution ──────────────────────────────────────────────────────
3123
+ /** The full effective style map at `bp`: base, then each layer down the cascade. */
3124
+ function resolveStyleProps(styleProps, responsive, bp) {
3125
+ const out = assignDefined({}, styleProps ?? undefined);
3126
+ for (const id of cascadeChain(bp))
3127
+ assignDefined(out, layerAt(responsive, id)?.styleProps);
3128
+ return out;
3129
+ }
3130
+ /** The effective per-state maps at `bp`. States with no values anywhere are omitted. */
3131
+ function resolveStateStyles(stateStyles, responsive, bp) {
3132
+ const out = {};
3133
+ const merge = (src) => {
3134
+ for (const [state, map] of Object.entries(src ?? {})) {
3135
+ out[state] = assignDefined(out[state] ?? {}, map);
3136
+ }
3137
+ };
3138
+ merge(stateStyles ?? undefined);
3139
+ for (const id of cascadeChain(bp))
3140
+ merge(layerAt(responsive, id)?.stateStyles);
3141
+ for (const state of Object.keys(out))
3142
+ if (!hasKeys(out[state]))
3143
+ delete out[state];
3144
+ return out;
3145
+ }
3146
+ /**
3147
+ * Every state that has a value anywhere — at base or at any breakpoint — in a stable order
3148
+ * (base states first, then any that exist only at a breakpoint). A renderer iterates this, not
3149
+ * `Object.keys(stateStyles)`, so a state defined ONLY at a breakpoint (a Mobile-only hover) still
3150
+ * gets its selector scope resolved.
3151
+ */
3152
+ function stateNamesIn(stateStyles, responsive) {
3153
+ const names = new Set();
3154
+ const add = (src) => {
3155
+ for (const [state, map] of Object.entries(src ?? {})) {
3156
+ if (Object.values(map ?? {}).some(v => v !== undefined))
3157
+ names.add(state);
3158
+ }
3159
+ };
3160
+ add(stateStyles);
3161
+ for (const { id } of BREAKPOINTS)
3162
+ add(layerAt(responsive, id)?.stateStyles);
3163
+ return [...names];
3164
+ }
3165
+ /**
3166
+ * Every level from Base down to `bp` that sets `prop` (optionally within `state`), in
3167
+ * cascade order. The LAST entry is the effective value; an empty array means unset.
3168
+ * Drives the style panel's source chain ("Base 34 → Tablet 28 → Mobile 22").
3169
+ */
3170
+ function resolveValueChain(prop, styleProps, stateStyles, responsive, bp, state) {
3171
+ const read = (props, states) => (state ? states?.[state] : props)?.[prop];
3172
+ const chain = [];
3173
+ for (const id of cascadeChain(bp)) {
3174
+ const layer = layerAt(responsive, id);
3175
+ const value = id === Breakpoint.Base
3176
+ ? read(styleProps ?? undefined, stateStyles ?? undefined)
3177
+ : read(layer?.styleProps, layer?.stateStyles);
3178
+ if (value !== undefined)
3179
+ chain.push({ breakpoint: id, value });
3180
+ }
3181
+ return chain;
3182
+ }
3183
+ /** True when `bp` itself sets `prop` (the style panel's orange edge). Never true for Base. */
3184
+ function isOverriddenAt(responsive, bp, prop, state) {
3185
+ const layer = layerAt(responsive, bp);
3186
+ const map = state ? layer?.stateStyles?.[state] : layer?.styleProps;
3187
+ return map?.[prop] !== undefined;
3188
+ }
3189
+ /** Number of overridden values — at `bp`, or across every breakpoint when omitted. */
3190
+ function countOverrides(responsive, bp) {
3191
+ const count = (map) => Object.values(map ?? {}).filter(v => v !== undefined).length;
3192
+ const ids = bp ? [bp] : BREAKPOINTS.map(d => d.id);
3193
+ let n = 0;
3194
+ for (const id of ids) {
3195
+ const layer = layerAt(responsive, id);
3196
+ n += count(layer?.styleProps);
3197
+ for (const map of Object.values(layer?.stateStyles ?? {}))
3198
+ n += count(map);
3199
+ }
3200
+ return n;
3201
+ }
3202
+ // ─── Editing (immutable) ─────────────────────────────────────────────────────
3203
+ function assertOverrideBreakpoint(bp) {
3204
+ if (bp === Breakpoint.Base) {
3205
+ throw new Error('Base styles live in styleProps / stateStyles, not in responsive overrides');
3206
+ }
3207
+ if (!BREAKPOINT_INDEX.has(bp))
3208
+ throw new Error(`Unknown breakpoint "${bp}"`);
3209
+ }
3210
+ /** Returns a new overrides object with `prop` set at `bp` (optionally within `state`). */
3211
+ function setOverride(responsive, bp, prop, value, state) {
3212
+ assertOverrideBreakpoint(bp);
3213
+ const layer = { ...(responsive?.[bp] ?? {}) };
3214
+ if (state) {
3215
+ layer.stateStyles = { ...(layer.stateStyles ?? {}), [state]: { ...(layer.stateStyles?.[state] ?? {}), [prop]: value } };
3216
+ }
3217
+ else {
3218
+ layer.styleProps = { ...(layer.styleProps ?? {}), [prop]: value };
3219
+ }
3220
+ return { ...(responsive ?? {}), [bp]: layer };
3221
+ }
3222
+ /**
3223
+ * Remove overrides at `bp` and PRUNE whatever becomes empty, so "reset" and "never
3224
+ * overridden" are the same state on disk — no tombstones, no nulls.
3225
+ *
3226
+ * clearOverride(r, bp) — the whole breakpoint
3227
+ * clearOverride(r, bp, undefined, st) — one state at that breakpoint
3228
+ * clearOverride(r, bp, prop) — one base-state value
3229
+ * clearOverride(r, bp, prop, st) — one value within a state
3230
+ *
3231
+ * Returns `undefined` when nothing is left, so a serialiser omits the key entirely.
3232
+ */
3233
+ function clearOverride(responsive, bp, prop, state) {
3234
+ assertOverrideBreakpoint(bp);
3235
+ const next = { ...(responsive ?? {}) };
3236
+ const current = next[bp];
3237
+ if (current && (prop !== undefined || state !== undefined)) {
3238
+ const layer = { ...current };
3239
+ if (state) {
3240
+ const states = { ...(layer.stateStyles ?? {}) };
3241
+ if (prop !== undefined && states[state]) {
3242
+ const { [prop]: _dropped, ...rest } = states[state];
3243
+ states[state] = rest;
3244
+ }
3245
+ if (prop === undefined || !hasKeys(states[state]))
3246
+ delete states[state];
3247
+ layer.stateStyles = hasKeys(states) ? states : undefined;
3248
+ }
3249
+ else if (prop !== undefined && layer.styleProps) {
3250
+ const { [prop]: _dropped, ...rest } = layer.styleProps;
3251
+ layer.styleProps = hasKeys(rest) ? rest : undefined;
3252
+ }
3253
+ if (!layer.stateStyles)
3254
+ delete layer.stateStyles;
3255
+ if (!layer.styleProps)
3256
+ delete layer.styleProps;
3257
+ next[bp] = hasKeys(layer) ? layer : undefined;
3258
+ }
3259
+ else {
3260
+ next[bp] = undefined;
3261
+ }
3262
+ if (!next[bp])
3263
+ delete next[bp];
3264
+ return hasKeys(next) ? next : undefined;
3265
+ }
3266
+ const ZERO_DURATIONS = new Set(['0ms', '0s']);
3267
+ function groupsTouchedBy(map) {
3268
+ const touched = new Set();
3269
+ if (!map)
3270
+ return touched;
3271
+ for (const group of VIRTUAL_TRAIT_GROUPS) {
3272
+ if (group.keys.some(k => map[k] !== undefined))
3273
+ touched.add(group);
3274
+ }
3275
+ return touched;
3276
+ }
3277
+ /**
3278
+ * Should a touched group that composed to nothing emit its cancelling value?
3279
+ * Transition is the exception: setting only the easing (no duration anywhere) composes to
3280
+ * nothing too, and cancelling there would also kill the renderer's default hover transition
3281
+ * — so transition cancels only when the merged duration is explicitly zero.
3282
+ */
3283
+ function shouldReset(group, merged) {
3284
+ if (group.reset === null)
3285
+ return false;
3286
+ if (group.output === 'transition')
3287
+ return ZERO_DURATIONS.has(String(merged['transitionDuration']));
3288
+ return true;
3289
+ }
3290
+ /**
3291
+ * Compose a sparse override against everything wider than it, keeping ONLY what the
3292
+ * override changes: its own plain props, plus each virtual group it touches (or that
3293
+ * group's cancelling value when it now composes to nothing). Untouched groups are dropped
3294
+ * — re-emitting the wider rule's value inside a media block is noise at best.
3295
+ */
3296
+ function composeOverride(own, wider, touched) {
3297
+ const composed = composeVirtualTraits(own, wider);
3298
+ const groupOutputs = new Set(VIRTUAL_TRAIT_GROUPS.map(g => g.output));
3299
+ const out = {};
3300
+ for (const [k, v] of Object.entries(composed)) {
3301
+ if (!groupOutputs.has(k) && v !== undefined)
3302
+ out[k] = v;
3303
+ }
3304
+ const merged = { ...wider, ...own };
3305
+ for (const group of touched) {
3306
+ const value = composed[group.output];
3307
+ if (value !== undefined)
3308
+ out[group.output] = value;
3309
+ else if (shouldReset(group, merged))
3310
+ out[group.output] = group.reset;
3311
+ }
3312
+ return out;
3313
+ }
3314
+ /**
3315
+ * The per-breakpoint rule sets a node needs, widest → narrowest (the order they must be
3316
+ * emitted in, AFTER every base rule — equal specificity means source order decides).
3317
+ * Breakpoints with nothing to emit are omitted.
3318
+ *
3319
+ * Handles the cross-axis case: a breakpoint that changes a virtual group (say
3320
+ * `translateX`) also re-emits that group for every state the node has, because the wider
3321
+ * state rule was composed against the wider value and would otherwise snap back to it on
3322
+ * hover.
3323
+ */
3324
+ function planResponsiveRules(styleProps, stateStyles, responsive) {
3325
+ if (!hasKeys(responsive))
3326
+ return [];
3327
+ const plan = [];
3328
+ for (const def of BREAKPOINTS) {
3329
+ const layer = layerAt(responsive, def.id);
3330
+ if (!layer || def.maxWidth == null)
3331
+ continue;
3332
+ const bp = def.id;
3333
+ const wider = parentBreakpoint(bp);
3334
+ const own = layer.styleProps ?? {};
3335
+ const widerProps = resolveStyleProps(styleProps, responsive, wider);
3336
+ const touchedByProps = groupsTouchedBy(own);
3337
+ const composedProps = composeOverride(own, widerProps, touchedByProps);
3338
+ const propsHere = { ...widerProps, ...own };
3339
+ const statesHere = resolveStateStyles(stateStyles, responsive, bp);
3340
+ const statesWider = resolveStateStyles(stateStyles, responsive, wider);
3341
+ const composedStates = {};
3342
+ for (const state of Object.keys(statesHere)) {
3343
+ const ownState = layer.stateStyles?.[state] ?? {};
3344
+ const touched = groupsTouchedBy(ownState);
3345
+ for (const group of touchedByProps)
3346
+ touched.add(group);
3347
+ const composed = composeOverride(ownState, { ...propsHere, ...(statesWider[state] ?? {}) }, touched);
3348
+ if (hasKeys(composed))
3349
+ composedStates[state] = composed;
3350
+ }
3351
+ if (hasKeys(composedProps) || hasKeys(composedStates)) {
3352
+ plan.push({
3353
+ breakpoint: bp,
3354
+ mediaQuery: mediaQueryFor(bp),
3355
+ styleProps: composedProps,
3356
+ stateStyles: composedStates,
3357
+ });
3358
+ }
3359
+ }
3360
+ return plan;
3361
+ }
3362
+
2973
3363
  /**
2974
3364
  * Shared RELATIVE (route-context) data resolving — the SINGLE source of truth for how a detail page
2975
3365
  * derives values FROM its current route item, consumed by BOTH the page builder (iox-cms-client) and
@@ -3421,11 +3811,11 @@ function isValidSlotKey(key) {
3421
3811
  */
3422
3812
  class ContextStore {
3423
3813
  constructor() {
3424
- this._values = signal({}, ...(ngDevMode ? [{ debugName: "_values" }] : /* istanbul ignore next */ []));
3814
+ this._values = signal({}, ...(ngDevMode ? [{ debugName: "_values" }] : []));
3425
3815
  /** All live slot values. Merge over `resolvedData` with `withContextSlots` to resolve bindings. */
3426
3816
  this.values = this._values.asReadonly();
3427
3817
  /** The keys currently holding a value — what the "is this slot populated?" CSS state keys off. */
3428
- this.populatedKeys = computed(() => new Set(Object.keys(this._values())), ...(ngDevMode ? [{ debugName: "populatedKeys" }] : /* istanbul ignore next */ []));
3818
+ this.populatedKeys = computed(() => new Set(Object.keys(this._values())), ...(ngDevMode ? [{ debugName: "populatedKeys" }] : []));
3429
3819
  }
3430
3820
  /**
3431
3821
  * Write a slot. An `undefined` value is IGNORED rather than stored: a spec that could not be
@@ -3471,10 +3861,10 @@ class ContextStore {
3471
3861
  has(key) {
3472
3862
  return key in this._values();
3473
3863
  }
3474
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: ContextStore, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
3475
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: ContextStore, providedIn: 'root' }); }
3864
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: ContextStore, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
3865
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: ContextStore, providedIn: 'root' }); }
3476
3866
  }
3477
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: ContextStore, decorators: [{
3867
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: ContextStore, decorators: [{
3478
3868
  type: Injectable,
3479
3869
  args: [{ providedIn: 'root' }]
3480
3870
  }] });
@@ -4004,5 +4394,5 @@ function effectiveTransitionId(anim) {
4004
4394
  * Generated bundle index. Do not edit.
4005
4395
  */
4006
4396
 
4007
- export { AOSService, AnalyticsService, BuilderButtonComponent, BuilderDividerComponent, BuilderHeadingComponent, BuilderIconComponent, BuilderImageComponent, BuilderLinkComponent, BuilderSpacerComponent, ButtonBlockComponent, CMSClientInfraModule, CONTEXT_ACTION_TYPES, CardComponent, ClientGalleryComponent, ClientListComponent, ClientListItemComponent, ClientRepeaterComponent, ClientSliderContainerComponent, ClientSliderSlideComponent, ComponentInstanceRegistryService, ConsentService, ContainerComponent, ContentService, ContextStore, DEFAULT_GALLERY_SCHEDULER, DEFAULT_PAGE_TRANSITION, DEFAULT_PAGE_TRANSITION_DURATION, DEFAULT_PAGE_TRANSITION_EASING, DEFAULT_PAGE_TRANSITION_PERSPECTIVE, DEFAULT_WIDTH_BY_TYPE, ENVIRONMENT, GALLERY_EFFECTS, GALLERY_EFFECT_DESCRIPTORS, GalleryLoop, IOX_BUILDER_EVENTS, IS_PREVIEW, IoxAnimateContainer, IoxAosDirective, IoxAosModule, IoxBuilderComponentsModule, IoxComponentRegistryService, IoxPageComponent, IoxPageModule, IoxUiModule, LinkedContainerComponent, PAGE_TRANSITION_CATEGORIES, PAGE_TRANSITION_PRESETS, PIPE_DESCRIPTORS, PIPE_REGISTRY, PageScrollProvider, PrivacyModalComponent, PrivacyModalService, PrivacyModelEvent, RESERVED_ALIAS_PREFIX, SUPPRESSED_STYLE_PROPS_BY_TYPE, SectionComponent, TRANSITION_FEELS, TextBlockComponent, VIRTUAL_TRAIT_KEYS, ViewPositionDirective, ViewPositionModule, WebSettingsService, activeActions, applyBindingPipes, applyFeel, buildDataSourceFilter, buildRelatedFilter, buildTargetedStateSelector, buildTransitionTimeline, collectContextSlotKeys, collectReferencedAliases, compileDeclarations, composeVirtualTraits, computeRelative, contextActionEffect, contextSlotKeys, dataSourcePlanToRequest, declaredInputNames, effectiveTransitionId, excludeSelf, feelFor, getByPath, initialSlotValues, isActionEnabled, isContextAction, isReservedAlias, isValidSlotKey, legacyEnterToTransition, matchRouteParams, nearestCommonAncestorId, nodeCssId, nodeUsesContext, normalizeCollectionResult, parseUrlList, planDataSource, referencedDataSources, referencedDataSourcesDeep, renderDefaultDeclarations, resolveContextValue, resolveDerivedInto, resolveGalleryEffect, resolveGalleryUrls, resolvePageTransition, resolvePath, resolveRelativeInto, resolveRepeaterItems, resolveSiblings, resolveSingleItemId, rewriteViewportUnits, safeSetInput, stripSuppressedProps, styleKeyToKebab, variableAliases, variableItemsFrom, withContextSlots };
4397
+ export { AOSService, AnalyticsService, BREAKPOINTS, Breakpoint, BreakpointQueryKind, BuilderButtonComponent, BuilderDividerComponent, BuilderHeadingComponent, BuilderIconComponent, BuilderImageComponent, BuilderLinkComponent, BuilderSpacerComponent, ButtonBlockComponent, CMSClientInfraModule, CONTEXT_ACTION_TYPES, CardComponent, ClientGalleryComponent, ClientListComponent, ClientListItemComponent, ClientRepeaterComponent, ClientSliderContainerComponent, ClientSliderSlideComponent, ComponentInstanceRegistryService, ConsentService, ContainerComponent, ContentService, ContextStore, DEFAULT_GALLERY_SCHEDULER, DEFAULT_PAGE_TRANSITION, DEFAULT_PAGE_TRANSITION_DURATION, DEFAULT_PAGE_TRANSITION_EASING, DEFAULT_PAGE_TRANSITION_PERSPECTIVE, DEFAULT_WIDTH_BY_TYPE, DeclarationContext, ENVIRONMENT, GALLERY_EFFECTS, GALLERY_EFFECT_DESCRIPTORS, GalleryLoop, IOX_BUILDER_EVENTS, IS_PREVIEW, IoxAnimateContainer, IoxAosDirective, IoxAosModule, IoxBuilderComponentsModule, IoxComponentRegistryService, IoxPageComponent, IoxPageModule, IoxUiModule, LinkedContainerComponent, PAGE_TRANSITION_CATEGORIES, PAGE_TRANSITION_PRESETS, PIPE_DESCRIPTORS, PIPE_REGISTRY, PageScrollProvider, PrivacyModalComponent, PrivacyModalService, PrivacyModelEvent, RESERVED_ALIAS_PREFIX, SUPPRESSED_STYLE_PROPS_BY_TYPE, SectionComponent, TRANSITION_FEELS, TextBlockComponent, VIRTUAL_TRAIT_GROUPS, VIRTUAL_TRAIT_KEYS, ViewPositionDirective, ViewPositionModule, WebSettingsService, activeActions, applyBindingPipes, applyFeel, breakpointDef, breakpointForWidth, breakpointQueryFor, buildDataSourceFilter, buildRelatedFilter, buildTargetedStateSelector, buildTransitionTimeline, cascadeChain, clearOverride, collectContextSlotKeys, collectReferencedAliases, compileDeclarations, composeVirtualTraits, computeRelative, contextActionEffect, contextSlotKeys, countOverrides, dataSourcePlanToRequest, declaredInputNames, effectiveTransitionId, excludeSelf, feelFor, getByPath, initialSlotValues, isActionEnabled, isContextAction, isOverriddenAt, isReservedAlias, isValidSlotKey, legacyEnterToTransition, matchRouteParams, mediaQueryFor, nearestCommonAncestorId, nodeCssId, nodeUsesContext, normalizeCollectionResult, parentBreakpoint, parseUrlList, planDataSource, planResponsiveRules, referencedDataSources, referencedDataSourcesDeep, renderDefaultDeclarations, resolveContextValue, resolveDerivedInto, resolveGalleryEffect, resolveGalleryUrls, resolvePageTransition, resolvePath, resolveRelativeInto, resolveRepeaterItems, resolveSiblings, resolveSingleItemId, resolveStateStyles, resolveStyleProps, resolveValueChain, rewriteViewportUnits, safeSetInput, setOverride, stateNamesIn, stripSuppressedProps, styleKeyToKebab, variableAliases, variableItemsFrom, withContextSlots, wrapInBreakpointQuery, wrapInMediaQuery };
4008
4398
  //# sourceMappingURL=vectoriox-iox-ui.mjs.map