@vectoriox/iox-ui 4.2.1 → 4.2.3

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.
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { EventEmitter, HostListener, Output, Input, Directive, NgModule, Injectable, ViewChild, Component, Host, Optional, forwardRef, Inject, InjectionToken, PLATFORM_ID, ChangeDetectionStrategy, ViewContainerRef, inject } from '@angular/core';
2
+ import { EventEmitter, HostListener, Output, Input, Directive, NgModule, Injectable, ViewChild, Component, Host, Optional, forwardRef, Inject, inject, NgZone, InjectionToken, PLATFORM_ID, ChangeDetectionStrategy, ViewContainerRef } from '@angular/core';
3
3
  import * as i2 from '@angular/animations';
4
4
  import { style, animate } from '@angular/animations';
5
5
  import { Subject, fromEvent, of } from 'rxjs';
@@ -491,6 +491,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImpo
491
491
  }] });
492
492
 
493
493
  class PageScrollProvider {
494
+ constructor() {
495
+ // inject() (not a ctor param) so subclasses like SsrSafePageScrollProvider keep `super()`.
496
+ this.zone = inject(NgZone);
497
+ }
494
498
  init(options) {
495
499
  if (this.lenis) {
496
500
  this.lenis.destroy();
@@ -517,11 +521,16 @@ class PageScrollProvider {
517
521
  if (!this.lenis) {
518
522
  return;
519
523
  }
520
- const loop = (time) => {
521
- this.lenis.raf(time);
524
+ // Run the perpetual rAF loop OUTSIDE Angular. In-zone, a never-ending requestAnimationFrame
525
+ // keeps ApplicationRef.isStable() permanently false, so SSR hydration never completes
526
+ // (NG0506: "hydration expected isStable() to emit true ... didn't happen within 10000ms").
527
+ this.zone.runOutsideAngular(() => {
528
+ const loop = (time) => {
529
+ this.lenis.raf(time);
530
+ this.rafId = requestAnimationFrame(loop);
531
+ };
522
532
  this.rafId = requestAnimationFrame(loop);
523
- };
524
- this.rafId = requestAnimationFrame(loop);
533
+ });
525
534
  }
526
535
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: PageScrollProvider, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
527
536
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: PageScrollProvider }); }
@@ -1938,6 +1947,86 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImpo
1938
1947
  args: ['childrenHost', { read: ViewContainerRef, static: true }]
1939
1948
  }] } });
1940
1949
 
1950
+ /**
1951
+ * Client-engine List. Renders a real `<ul>`/`<ol>` (chosen by the `htmlTag` trait) with the
1952
+ * shared `iox-node-{id}` class, and inserts children into it via `childrenHost`. `:host` uses
1953
+ * `display: contents` so the `<ul>`/`<ol>` is the effective layout child of its parent.
1954
+ *
1955
+ * The host is chosen from a `*ngIf` branch, so its ViewContainerRef only resolves after change
1956
+ * detection — ClientTreeRendererService detects changes before reading `childrenHost`.
1957
+ */
1958
+ class ClientListComponent {
1959
+ constructor() {
1960
+ this.htmlTag = 'ul';
1961
+ this.start = '';
1962
+ this.reversed = false;
1963
+ this.nodeId = '';
1964
+ }
1965
+ get childrenHost() {
1966
+ return this.htmlTag === 'ol' ? this.olHost : this.ulHost;
1967
+ }
1968
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: ClientListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1969
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.11", type: ClientListComponent, isStandalone: false, selector: "iox-list", inputs: { htmlTag: "htmlTag", start: "start", reversed: "reversed", nodeId: "nodeId" }, viewQueries: [{ propertyName: "olHost", first: true, predicate: ["olHost"], descendants: true, read: ViewContainerRef }, { propertyName: "ulHost", first: true, predicate: ["ulHost"], descendants: true, read: ViewContainerRef }], ngImport: i0, template: `
1970
+ <ol *ngIf="htmlTag === 'ol'" [ngClass]="'iox-node-' + nodeId"
1971
+ [attr.start]="start !== '' && start != null ? start : null"
1972
+ [attr.reversed]="reversed ? '' : null">
1973
+ <ng-container #olHost></ng-container>
1974
+ </ol>
1975
+ <ul *ngIf="htmlTag !== 'ol'" [ngClass]="'iox-node-' + nodeId">
1976
+ <ng-container #ulHost></ng-container>
1977
+ </ul>
1978
+ `, isInline: true, styles: [":host{display:contents}ul,ol{margin:0;box-sizing:border-box}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
1979
+ }
1980
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: ClientListComponent, decorators: [{
1981
+ type: Component,
1982
+ args: [{ selector: 'iox-list', template: `
1983
+ <ol *ngIf="htmlTag === 'ol'" [ngClass]="'iox-node-' + nodeId"
1984
+ [attr.start]="start !== '' && start != null ? start : null"
1985
+ [attr.reversed]="reversed ? '' : null">
1986
+ <ng-container #olHost></ng-container>
1987
+ </ol>
1988
+ <ul *ngIf="htmlTag !== 'ol'" [ngClass]="'iox-node-' + nodeId">
1989
+ <ng-container #ulHost></ng-container>
1990
+ </ul>
1991
+ `, standalone: false, styles: [":host{display:contents}ul,ol{margin:0;box-sizing:border-box}\n"] }]
1992
+ }], propDecorators: { htmlTag: [{
1993
+ type: Input
1994
+ }], start: [{
1995
+ type: Input
1996
+ }], reversed: [{
1997
+ type: Input
1998
+ }], nodeId: [{
1999
+ type: Input
2000
+ }], olHost: [{
2001
+ type: ViewChild,
2002
+ args: ['olHost', { read: ViewContainerRef }]
2003
+ }], ulHost: [{
2004
+ type: ViewChild,
2005
+ args: ['ulHost', { read: ViewContainerRef }]
2006
+ }] } });
2007
+
2008
+ /**
2009
+ * Client-engine List item. Renders a real `<li>` with the shared `iox-node-{id}` class.
2010
+ * `:host { display: contents }` removes the `iox-list-item` wrapper from the box tree so the
2011
+ * `<li>` is a proper (marker-bearing) child of the parent `<ul>`/`<ol>`.
2012
+ */
2013
+ class ClientListItemComponent {
2014
+ constructor() {
2015
+ this.nodeId = '';
2016
+ }
2017
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: ClientListItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2018
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.11", type: ClientListItemComponent, isStandalone: false, selector: "iox-list-item", inputs: { nodeId: "nodeId" }, viewQueries: [{ propertyName: "childrenHost", first: true, predicate: ["childrenHost"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: `<li [ngClass]="'iox-node-' + nodeId"><ng-container #childrenHost></ng-container></li>`, isInline: true, styles: [":host{display:contents}li{box-sizing:border-box}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
2019
+ }
2020
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: ClientListItemComponent, decorators: [{
2021
+ type: Component,
2022
+ args: [{ selector: 'iox-list-item', template: `<li [ngClass]="'iox-node-' + nodeId"><ng-container #childrenHost></ng-container></li>`, standalone: false, styles: [":host{display:contents}li{box-sizing:border-box}\n"] }]
2023
+ }], propDecorators: { nodeId: [{
2024
+ type: Input
2025
+ }], childrenHost: [{
2026
+ type: ViewChild,
2027
+ args: ['childrenHost', { read: ViewContainerRef, static: true }]
2028
+ }] } });
2029
+
1941
2030
  const COMPONENTS = [
1942
2031
  BuilderImageComponent,
1943
2032
  BuilderSpacerComponent,
@@ -1955,6 +2044,8 @@ const COMPONENTS = [
1955
2044
  ButtonBlockComponent,
1956
2045
  ClientSliderContainerComponent,
1957
2046
  ClientSliderSlideComponent,
2047
+ ClientListComponent,
2048
+ ClientListItemComponent,
1958
2049
  ];
1959
2050
  class IoxBuilderComponentsModule {
1960
2051
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: IoxBuilderComponentsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
@@ -1973,7 +2064,9 @@ class IoxBuilderComponentsModule {
1973
2064
  ClientRepeaterComponent,
1974
2065
  ButtonBlockComponent,
1975
2066
  ClientSliderContainerComponent,
1976
- ClientSliderSlideComponent], imports: [CommonModule], exports: [BuilderImageComponent,
2067
+ ClientSliderSlideComponent,
2068
+ ClientListComponent,
2069
+ ClientListItemComponent], imports: [CommonModule], exports: [BuilderImageComponent,
1977
2070
  BuilderSpacerComponent,
1978
2071
  CardComponent,
1979
2072
  BuilderDividerComponent,
@@ -1988,7 +2081,9 @@ class IoxBuilderComponentsModule {
1988
2081
  ClientRepeaterComponent,
1989
2082
  ButtonBlockComponent,
1990
2083
  ClientSliderContainerComponent,
1991
- ClientSliderSlideComponent] }); }
2084
+ ClientSliderSlideComponent,
2085
+ ClientListComponent,
2086
+ ClientListItemComponent] }); }
1992
2087
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: IoxBuilderComponentsModule, imports: [CommonModule] }); }
1993
2088
  }
1994
2089
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: IoxBuilderComponentsModule, decorators: [{
@@ -2030,8 +2125,11 @@ class IoxComponentRegistryService {
2030
2125
  ['Container', ContainerComponent],
2031
2126
  ['LinkedContainer', LinkedContainerComponent],
2032
2127
  ['Repeater', ClientRepeaterComponent],
2128
+ ['ButtonBlock', ButtonBlockComponent],
2033
2129
  ['SliderContainer', ClientSliderContainerComponent],
2034
2130
  ['SliderSlide', ClientSliderSlideComponent],
2131
+ ['List', ClientListComponent],
2132
+ ['ListItem', ClientListItemComponent],
2035
2133
  ]);
2036
2134
  }
2037
2135
  getComponent(type) {
@@ -2135,17 +2233,22 @@ function renderDefaultDeclarations(type, styleProps, hasHoverState) {
2135
2233
  out.push(`width: ${DEFAULT_WIDTH_BY_TYPE[type]}`, 'min-width: 0');
2136
2234
  }
2137
2235
  }
2138
- // A border only renders with a style; the builder defaults borderStyle to 'solid'.
2139
- if ((sp['borderWidth'] || sp['borderColor']) && sp['borderStyle'] === undefined) {
2236
+ // A border only renders when there is a WIDTH. Gate border-style on borderWidth NOT on
2237
+ // borderColor: a node with only a border colour and no width would otherwise get the
2238
+ // browser's default `medium` width and show a phantom border. Absent borderWidth = no border.
2239
+ if (sp['borderWidth'] && sp['borderStyle'] === undefined) {
2140
2240
  out.push('border-style: solid');
2141
2241
  }
2142
2242
  // Default transition so own/parent hover animates smoothly (parity with the builder).
2143
2243
  if (hasHoverState && sp['transition'] === undefined) {
2144
2244
  out.push('transition: all 0.2s ease');
2145
2245
  }
2146
- // An <img> ignores aspect-ratio when BOTH width and height are set. Force height:auto
2147
- // so the ratio drives the box. Appended last so it overrides any explicit height.
2148
- if (type === 'Image' && sp['aspectRatio']) {
2246
+ // Image aspect-ratio: the config default '1/1' is NOT persisted (only diffs from config
2247
+ // defaults are), so the engine must reapply it to match the builder. height:auto lets the
2248
+ // ratio drive the box (an <img> otherwise ignores aspect-ratio when width+height are set).
2249
+ if (type === 'Image') {
2250
+ if (sp['aspectRatio'] === undefined)
2251
+ out.push('aspect-ratio: 1/1');
2149
2252
  out.push('height: auto');
2150
2253
  }
2151
2254
  return out;
@@ -2159,5 +2262,5 @@ function renderDefaultDeclarations(type, styleProps, hasHoverState) {
2159
2262
  * Generated bundle index. Do not edit.
2160
2263
  */
2161
2264
 
2162
- export { AOSService, AnalyticsService, BuilderButtonComponent, BuilderDividerComponent, BuilderHeadingComponent, BuilderIconComponent, BuilderImageComponent, BuilderLinkComponent, BuilderSpacerComponent, ButtonBlockComponent, CMSClientInfraModule, CardComponent, ClientRepeaterComponent, ClientSliderContainerComponent, ClientSliderSlideComponent, ComponentInstanceRegistryService, ConsentService, ContainerComponent, ContentService, DEFAULT_WIDTH_BY_TYPE, ENVIRONMENT, IOX_BUILDER_EVENTS, IS_PREVIEW, IoxAnimateContainer, IoxAosDirective, IoxAosModule, IoxBuilderComponentsModule, IoxComponentRegistryService, IoxMasonryComponent, IoxMasonryItemDirective, IoxMasonryModule, IoxMasonryService, IoxPageComponent, IoxPageModule, IoxUiModule, LinkedContainerComponent, PageScrollProvider, PrivacyModalComponent, PrivacyModalService, PrivacyModelEvent, SectionComponent, TextBlockComponent, ViewPositionDirective, ViewPositionModule, WebSettingsService, compileDeclarations, renderDefaultDeclarations, rewriteViewportUnits, styleKeyToKebab };
2265
+ export { AOSService, AnalyticsService, BuilderButtonComponent, BuilderDividerComponent, BuilderHeadingComponent, BuilderIconComponent, BuilderImageComponent, BuilderLinkComponent, BuilderSpacerComponent, ButtonBlockComponent, CMSClientInfraModule, CardComponent, ClientListComponent, ClientListItemComponent, ClientRepeaterComponent, ClientSliderContainerComponent, ClientSliderSlideComponent, ComponentInstanceRegistryService, ConsentService, ContainerComponent, ContentService, DEFAULT_WIDTH_BY_TYPE, ENVIRONMENT, IOX_BUILDER_EVENTS, IS_PREVIEW, IoxAnimateContainer, IoxAosDirective, IoxAosModule, IoxBuilderComponentsModule, IoxComponentRegistryService, IoxMasonryComponent, IoxMasonryItemDirective, IoxMasonryModule, IoxMasonryService, IoxPageComponent, IoxPageModule, IoxUiModule, LinkedContainerComponent, PageScrollProvider, PrivacyModalComponent, PrivacyModalService, PrivacyModelEvent, SectionComponent, TextBlockComponent, ViewPositionDirective, ViewPositionModule, WebSettingsService, compileDeclarations, renderDefaultDeclarations, rewriteViewportUnits, styleKeyToKebab };
2163
2266
  //# sourceMappingURL=vectoriox-iox-ui.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"vectoriox-iox-ui.mjs","sources":["../../../projects/iox-ui/src/lib/view-position/view-position.directive.ts","../../../projects/iox-ui/src/lib/view-position/view-position.module.ts","../../../projects/iox-ui/src/lib/iox-aos/iox-aos-animations.ts","../../../projects/iox-ui/src/lib/iox-aos/iox-aos.service.ts","../../../projects/iox-ui/src/lib/iox-aos/iox-aos-container.component.ts","../../../projects/iox-ui/src/lib/iox-aos/iox-aos.directive.ts","../../../projects/iox-ui/src/lib/iox-aos/iox-aos.module.ts","../../../projects/iox-ui/src/lib/iox-masonry/iox-masonry.service.ts","../../../projects/iox-ui/src/lib/iox-masonry/iox-masonry.component.ts","../../../projects/iox-ui/src/lib/iox-masonry/iox-masonry-item.directive.ts","../../../projects/iox-ui/src/lib/iox-masonry/iox-masonry.module.ts","../../../projects/iox-ui/src/lib/services/page-scroll.provider.ts","../../../projects/iox-ui/src/lib/iox-page/page-component/page-component.component.ts","../../../projects/iox-ui/src/lib/iox-page/page-component/page-component.component.html","../../../projects/iox-ui/src/lib/iox-page/iox-page.module.ts","../../../projects/iox-ui/src/lib/iox-ui.module.ts","../../../projects/iox-ui/src/lib/services/component-instance-registry.service.ts","../../../projects/iox-ui/src/lib/iox-cms-client-infra/components/privacy/privacy-modal.service.ts","../../../projects/iox-ui/src/lib/iox-cms-client-infra/services/consent.service.ts","../../../projects/iox-ui/src/lib/iox-cms-client-infra/components/privacy/privacy-modal.component.ts","../../../projects/iox-ui/src/lib/iox-cms-client-infra/components/privacy/privacy-modal.component.html","../../../projects/iox-ui/src/lib/iox-cms-client-infra/services/web-settings.service.ts","../../../projects/iox-ui/src/lib/iox-cms-client-infra/services/content.service.ts","../../../projects/iox-ui/src/lib/iox-cms-client-infra/cms-client-infra.module.ts","../../../projects/iox-ui/src/lib/iox-cms-client-infra/services/analytics.service.ts","../../../projects/iox-ui/src/lib/builder-components/builder-tokens.ts","../../../projects/iox-ui/src/lib/builder-components/image/image.component.ts","../../../projects/iox-ui/src/lib/builder-components/spacer/spacer.component.ts","../../../projects/iox-ui/src/lib/builder-components/card/card.component.ts","../../../projects/iox-ui/src/lib/builder-components/divider/divider.component.ts","../../../projects/iox-ui/src/lib/builder-components/icon/icon.component.ts","../../../projects/iox-ui/src/lib/builder-components/link/link.component.ts","../../../projects/iox-ui/src/lib/builder-components/button/button.component.ts","../../../projects/iox-ui/src/lib/builder-components/heading/heading.component.ts","../../../projects/iox-ui/src/lib/builder-components/text/text.component.ts","../../../projects/iox-ui/src/lib/builder-components/section/section.component.ts","../../../projects/iox-ui/src/lib/builder-components/container/container.component.ts","../../../projects/iox-ui/src/lib/builder-components/linked-container/linked-container.component.ts","../../../projects/iox-ui/src/lib/builder-components/repeater/repeater.component.ts","../../../projects/iox-ui/src/lib/builder-components/button-block/button-block.component.ts","../../../projects/iox-ui/src/lib/builder-components/slider-container/slider-container.component.ts","../../../projects/iox-ui/src/lib/builder-components/slider-slide/slider-slide.component.ts","../../../projects/iox-ui/src/lib/builder-components/iox-builder-components.module.ts","../../../projects/iox-ui/src/lib/builder-components/iox-component-registry.service.ts","../../../projects/iox-ui/src/lib/style-compiler/style-compiler.ts","../../../projects/iox-ui/src/public-api.ts","../../../projects/iox-ui/src/vectoriox-iox-ui.ts"],"sourcesContent":["import {AfterViewInit, Directive, ElementRef, EventEmitter, HostListener, Input, Output} from '@angular/core';\n\n@Directive({\n selector:'[view-position]',\n standalone: false\n})\n\nexport class ViewPositionDirective implements AfterViewInit{\n\n private _viewPortHighet!:number;\n private _elementHeight!: number;\n private _elementOffseTop!: number;\n private _curterScreen!:number;\n private _halfSscreen!:number;\n \n private _scrollDirection:string= \"Down\";\n private _scrollPos:number = 0;\n public isOnScreen: boolean = false;\n public isHalfScreen: boolean = false;\n \n @Input() data:any\n @Output() onEnter:EventEmitter<any> = new EventEmitter();\n @Output() onLeave:EventEmitter<any> = new EventEmitter();\n @Output() onHalf:EventEmitter<any> = new EventEmitter();\n\n constructor(private _elr:ElementRef){\n this._initScreenDeminitions();\n console.log(`screent highet: ${this._viewPortHighet}`);\n }\n\n\n ngAfterViewInit(): void {\n this._elementOffseTop = this._elr.nativeElement.offsetTop;\n this._elementHeight = this._elr.nativeElement.offsetHeight;\n console.log(`element offset Y = ${this._elementOffseTop}`); \n }\n\n\n @HostListener('window:scroll', ['$event']) onScroll(e: Event): void {\n\n if ((document.body.getBoundingClientRect()).top > this._scrollPos){\n if(this._scrollDirection != \"Up\"){\n this.isHalfScreen =false;\n this._scrollDirection = \"Up\"\n }\n } \n\t else{\n if(this._scrollDirection !=\"Down\"){\n this.isHalfScreen =false;\n this._scrollDirection = \"Down\"\n }\n } \n\t this._scrollPos = (document.body.getBoundingClientRect()).top;\n\n\n let currentClientHight = this._elr.nativeElement.getBoundingClientRect().top;\n if(currentClientHight >= this._viewPortHighet || currentClientHight < -this._elementHeight){\n if(this.isOnScreen){\n this.isOnScreen = false;\n this.onLeave.emit(\"OUT\");\n }\n }else{\n if(!this.isOnScreen){\n this.isOnScreen = true;\n this.onEnter.emit(\"IN\");\n }\n }\n\n if(currentClientHight < this._halfSscreen && currentClientHight > 0 && this._scrollDirection == \"Down\") {\n if(!this.isHalfScreen){\n this.isHalfScreen = true;\n console.log(\"half\")\n this.onHalf.emit(this.data);\n }\n }\n\n if(currentClientHight + this._elementHeight > this._halfSscreen && currentClientHight +this._elementHeight < this._viewPortHighet && this._scrollDirection == \"Up\") {\n if(!this.isHalfScreen){\n this.isHalfScreen = true;\n console.log(\"I am half\")\n this.onHalf.emit(this.data);\n }\n }\n }\n\n @HostListener('window:resize', ['$event']) onResize(e: Event) {\n this._viewPortHighet = window.innerHeight;\n this._initScreenDeminitions();\n }\n \n \n\n private _initScreenDeminitions(){\n this._viewPortHighet = window.innerHeight;\n this._curterScreen = Math.trunc(this._viewPortHighet *0.25);\n this._halfSscreen = Math.trunc(this._viewPortHighet *0.5);\n }\n }","import { NgModule } from '@angular/core';\nimport { ViewPositionDirective } from './view-position.directive';\n\n\n\n@NgModule({\n declarations: [\n ViewPositionDirective\n ],\n imports: [\n ],\n exports: [\n ViewPositionDirective\n ]\n})\nexport class ViewPositionModule { }\n","import { AnimationBuilder, style, animate, keyframes } from '@angular/animations';\n\n/********** Entries Animations ********************/\n\nexport const IoxAnimationStyles: any = {}\n\nIoxAnimationStyles[\"fade-up\"] = (delay:string, duration:string)=>{\n return [style({ opacity: 0, transform: \"translate3d(0,100px,0)\"}),\n animate(`${duration} ${delay} cubic-bezier(0.445, 0.05, 0.55, 0.95)`, style({ opacity: 1, transform: \"translateZ(0)\" }))]\n}\n\nIoxAnimationStyles[\"fade-right\"] = (delay:string, duration:string)=>{\n return [style({ opacity: 0, transform: \"translateX(150px)\"}),\n animate(`${duration} ${delay} cubic-bezier(0.445, 0.05, 0.55, 0.95)`, style({ opacity: 1, transform: \"translateZ(0)\" }))]\n}\n\nIoxAnimationStyles[\"fade-out-right\"] = (delay:string, duration:string)=>{\n return [style({ opacity: 1, transform: \"translateX(0px)\"}),\n animate(`${duration} ${delay} cubic-bezier(0.445, 0.05, 0.55, 0.95)`, style({ opacity: 0, transform: \"translateX(150px)\" }))]\n}\n\nIoxAnimationStyles[\"fade-left\"] = (delay:string, duration:string)=>{\n return [style({ opacity: 0, transform: \"translateX(-150px)\"}),\n animate(`${duration} ${delay} cubic-bezier(0.445, 0.05, 0.55, 0.95)`, style({ opacity: 1, transform: \"translateZ(0)\" }))]\n}\n\nIoxAnimationStyles[\"fade-out-up\"] = (delay:string, duration:string)=>{\n return [ style({ opacity: 1, transform: \"translateZ(0)\" }),\n animate(`${duration} ${delay} cubic-bezier(0.445, 0.05, 0.55, 0.95)`, style({ opacity: 0, transform: \"translate3d(0,-100px,0)\"}))]\n}\n\nIoxAnimationStyles[\"flip-left\"] = (delay:string, duration:string)=>{\n return [style({opacity: 0,transform: \"perspective(2500px) rotateY(-100deg)\"}),\n animate(`${duration} ${delay} cubic-bezier(0.445, 0.05, 0.55, 0.95)`, style({ opacity: 1, transform: \"perspective(2500px) rotateY(0)\" }))]\n}\n\nIoxAnimationStyles[\"flip-up\"] = (delay:string, duration:string)=>{\n return [style({opacity: 0,transform: \"perspective(2500px) rotateX(-100deg)\"}),\n animate(`${duration} ${delay} cubic-bezier(0.445, 0.05, 0.55, 0.95)`, style({ opacity: 1, transform: \"perspective(2500px) rotateY(0)\" }))]\n}\n\nIoxAnimationStyles[\"zoom-in-up\"] = (delay:string, duration:string)=>{\n return [style({opacity: 0,transform: \"translate3d(0,100px,0) scale(.6)\"}),\n animate(`${duration} ${delay} cubic-bezier(0.445, 0.05, 0.55, 0.95)`, style({ opacity: 1, transform: \"translateZ(0) scale(1)\" }))]\n}","import { Injectable } from \"@angular/core\";\nimport { Observable, Subject } from \"rxjs\";\n\n\n\n@Injectable({providedIn: 'root'})\nexport class AOSService {\n\n\n\n private _scrollOffset:Subject<any> = new Subject();\n public readonly scrollOffset: Observable<any> = this._scrollOffset.asObservable();\n \n constructor() { }\n\n\n updateScrollOffset(offset:any){\n this._scrollOffset.next(offset);\n }\n\n}","import { Component, ElementRef, HostListener, Input, SimpleChanges, ViewChild } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\nimport { AOSService } from './iox-aos.service';\n\n@Component({\n selector: \"[ioxAnimateContainer], ioxAnimateContainer\",\n template:`<div class='animate_root_element' #animateRooteElement>\n <ng-content></ng-content>\n </div>`,\n standalone: false\n})\nexport class IoxAnimateContainer {\n\n @Input('kickIn') kickIn = true;\n\n private _scrollOffset:Subject<any> = new Subject();\n public readonly scrollOffset: Observable<any> = this._scrollOffset.asObservable();\n @ViewChild('animateRooteElement') public animateRooteElement:any;\n \n\n constructor(private _element: ElementRef, private _aOSService: AOSService) {\n }\n\n ngAfterViewInit(){\n this.updateOffset();\n }\n\n @HostListener('scroll', ['$event'])\n public onScroll($event:any){\n this.updateOffset();\n }\n\n ngOnChanges(changes: SimpleChanges) {\n console.log(changes);\n if(changes['kickIn'] && changes['kickIn'].currentValue){\n this.updateOffset();\n }\n }\n\n\n private updateOffset(){\n let elClientRect = this.animateRooteElement.nativeElement.getBoundingClientRect();\n this._scrollOffset.next(elClientRect);\n this._aOSService.updateScrollOffset(elClientRect);\n }\n}","import { Directive, OnDestroy, AfterViewInit, ElementRef, Input, OnInit, Renderer2, HostListener, Host, Optional } from \"@angular/core\";\nimport { AnimationBuilder, style, animate, AnimationPlayer } from '@angular/animations';\nimport { IoxAnimationStyles } from \"./iox-aos-animations\"\n;\nimport { IoxAnimateContainer } from \"./iox-aos-container.component\";\n@Directive({\n selector: \"[ioxAnimate], ioxAnimate\",\n standalone: false\n })\n export class IoxAosDirective implements OnDestroy, OnInit, AfterViewInit {\n \n @Input(\"animationDelay\") animationDelay: string =\"\";\n @Input(\"animationIn\") animationIn: string =\"\";\n @Input(\"animationOut\") animationOut: string = \"\";\n @Input(\"animationDuration\") animationDuration: string = \"0.5s\";\n \n // @Input(\"in\")\n // @Input(\"out\")\n\n public animation:AnimationPlayer | any;\n public isAnimationPlayed= false;\n private _elTop:number =0;\n\n\n constructor(@Host() @Optional() private _animateContainer: IoxAnimateContainer, private _element: ElementRef, private _animationBuilder:AnimationBuilder, private _renderer: Renderer2){\n \n this._renderer.setStyle(_element.nativeElement,'opacity', '0');\n }\n\n public ngOnInit(){\n }\n\n public ngAfterViewInit(){\n\n setTimeout(()=>{\n\n this._elTop = this._cumulativeOffset(this._element.nativeElement).top;\n\n if(this._animateContainer){\n if(this._animateContainer.kickIn){\n this.runIfVisiable();\n }else{\n return\n }\n }else{\n this.runIfVisiable();\n }\n\n \n \n },150)\n\n const resizeObserver = new ResizeObserver((entries) =>\n this._elTop = this._cumulativeOffset(this._element.nativeElement).top\n );\n\n resizeObserver.observe(document.body);\n \n if(this._animateContainer){\n this._animateContainer?.scrollOffset.subscribe((offset:any)=>{\n if(this._animateContainer.kickIn){\n this.scrollEventHandler(-1 *offset.top);\n }\n })\n }\n\n \n }\n\n public makeAnimationIn(animationStyle:any):AnimationPlayer{\n let animation = IoxAnimationStyles[animationStyle](this.animationDelay, this.animationDuration);\n const myAnimation = this._animationBuilder.build(animation)\n return myAnimation.create(this._element.nativeElement); \n\n }\n\n private _cumulativeOffset(element:any) {\n var top = 0, left = 0;\n do {\n top += element.offsetTop || 0;\n left += element.offsetLeft || 0;\n element = element.offsetParent;\n } while(element);\n \n return {\n top: top,\n left: left\n };\n };\n\n @HostListener('document:scroll', ['$event']) onScrollEvent($event:any){\n this.scrollEventHandler(window.pageYOffset)\n }\n \n public isVisable(offset:number){\n //console.log(this._elTop >= window.pageYOffset && this._elTop <= window.pageYOffset + window.innerHeight);\n //return this._elTop >= window.pageYOffset && this._elTop <= window.pageYOffset + window.innerHeight;\n return this._elTop >= offset && this._elTop <= offset + window.innerHeight;\n }\n\n\n public scrollEventHandler(offset:number){\n\n if(this._animateContainer && this._animateContainer.kickIn == false){\n return\n }\n\n if(this.isVisable(offset) && !this.isAnimationPlayed){\n let animationStyle = this.animationIn || \"fade-up\";\n this.makeAnimationIn(animationStyle).play();\n this.isAnimationPlayed = true;\n }else if(!this.isVisable(offset) && this.isAnimationPlayed && this.animationOut){\n this.makeAnimationIn(this.animationOut).play();\n this.isAnimationPlayed =false;\n }\n }\n\n public runIfVisiable(){\n if(this.isVisable(window.pageYOffset)){\n let animationStyle = this.animationIn || \"fade-up\";\n this.makeAnimationIn(animationStyle).play();\n this.isAnimationPlayed = true;\n }\n }\n public ngOnDestroy(){\n\n }\n\n }\n\nfunction ViewParent() {\n throw new Error(\"Function not implemented.\");\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { IoxAosDirective } from './iox-aos.directive';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { IoxAnimateContainer } from './iox-aos-container.component';\nimport { AOSService } from './iox-aos.service';\n\n\n@NgModule({\n declarations: [\n IoxAosDirective,\n IoxAnimateContainer\n ],\n imports: [\n BrowserAnimationsModule\n ],\n providers:[\n AOSService\n ],\n exports: [\n IoxAosDirective,\n IoxAnimateContainer\n ]\n})\nexport class IoxAosModule { \n\n static forRoot(): ModuleWithProviders<any> {\n return {\n ngModule: IoxAosModule,\n providers: [AOSService]\n };\n }\n\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class IoxMasonryService {\n\n constructor() { }\n}\n","import { Component, OnInit, Input, Output, EventEmitter, HostListener, ElementRef, AfterViewInit} from '@angular/core';\nimport { Masonry } from '@fristys/masonry';\n\n\n@Component({ \n selector: \"[iox-masonry], iox-masonry\",\n template: `<ng-content></ng-content>`,\n styles: [],\n standalone: false\n})\nexport class IoxMasonryComponent implements OnInit, AfterViewInit {\n\n \n\n // Inputs\n @Input() public options: any = {};\n @Input() public useImagesLoaded: Boolean = false;\n @Input() updateLayout: Boolean = false;\n\n @Output() layoutComplete: EventEmitter<any[]> = new EventEmitter<any[]>();\n \n public _msnry: any;\n private isAppendAllowed:boolean = true;\n\n constructor(private _element: ElementRef) { }\n\n ngAfterViewInit(): void {\n console.log(\"test\");\n }\n\n ngOnInit() {\n this._msnry = new Masonry(document.getElementById('masonry'), this.options);\n this.layout(); \n }\n \n ngOnChanges(changes: any) {\n console.log(changes);\n }\n\n\n add = (element: HTMLElement)=>{\n setTimeout(()=>{\n this._msnry.init();\n },200)\n\n }\n\n public remove(element: HTMLElement) {\n this._msnry.remove(element);\n }\n\n public layout() {\n setTimeout(() => {\n this._msnry.init();\n });\n }\n\n}\n\nexport interface IoxMasonryOptions {\n columns?: number;\n columnBreakpoints?: number;\n gutter?: number | string;\n initOnImageLoad?: boolean;\n loadingClass?: string;\n loadedClass?: string;\n onInit?:any;\n bindOnScroll?: boolean;\n useContainerWidth?: boolean;\n trackItemSizeChanges?: boolean;\n}\n","import { Directive, Inject, ElementRef, forwardRef, OnDestroy, AfterViewInit, Renderer2 } from '@angular/core';\nimport { IoxMasonryComponent } from './iox-masonry.component';\n@Directive({\n selector: \"[ioxMasonryItem], ioxMasonryItem\",\n standalone: false\n})\nexport class IoxMasonryItemDirective implements OnDestroy, AfterViewInit {\n constructor(\n private _element: ElementRef,\n @Inject(forwardRef(() => IoxMasonryComponent))\n private _parent: IoxMasonryComponent,\n private _renderer:Renderer2) {\n //this._renderer.setStyle(_element.nativeElement,'opacity', '0');\n }\n\n ngAfterViewInit() {\n console.log(this._element.nativeElement);\n this._parent.add(this._element.nativeElement);\n }\n\n ngOnDestroy() {\n this._parent.remove(this._element.nativeElement);\n }\n}","import { NgModule } from '@angular/core';\nimport { IoxMasonryComponent } from './iox-masonry.component';\nimport { IoxMasonryItemDirective } from './iox-masonry-item.directive';\nimport { BrowserModule } from '@angular/platform-browser';\n\n\n\n@NgModule({\n declarations: [IoxMasonryComponent, IoxMasonryItemDirective],\n imports: [\n BrowserModule\n ],\n exports: [IoxMasonryComponent, IoxMasonryItemDirective]\n})\nexport class IoxMasonryModule { }\n","import { Injectable } from '@angular/core';\nimport Lenis from 'lenis';\n\n@Injectable()\nexport class PageScrollProvider {\n private lenis?: Lenis;\n private rafId?: number;\n\n init(options?: ConstructorParameters<typeof Lenis>[0]): void {\n if (this.lenis) {\n this.lenis.destroy();\n }\n if (this.rafId != null) {\n cancelAnimationFrame(this.rafId);\n }\n this.lenis = new Lenis(options || {});\n this.startLoop();\n }\n\n scrollTo(y: number, options?: { duration?: number; immediate?: boolean }): void {\n this.instance.scrollTo(y, options);\n }\n\n scrollToTop(options?: { duration?: number; immediate?: boolean }): void {\n this.scrollTo(0, options);\n }\n\n get instance(): Lenis {\n if (!this.lenis) {\n throw new Error('PageScrollProvider: call init() before accessing the instance.');\n }\n return this.lenis;\n }\n\n private startLoop(): void {\n if (!this.lenis) {\n return;\n }\n const loop = (time: number) => {\n this.lenis!.raf(time);\n this.rafId = requestAnimationFrame(loop);\n };\n this.rafId = requestAnimationFrame(loop);\n }\n}\n","import { Component, ElementRef, EventEmitter, Input, Output, ViewChild, AfterViewInit, OnDestroy } from '@angular/core';\nimport { fromEvent, Subscription } from 'rxjs';\nimport { PageScrollProvider } from '../../services/page-scroll.provider';\n\n@Component({\n selector: 'iox-page-component',\n templateUrl: './page-component.component.html',\n styleUrls: ['./page-component.component.scss'],\n standalone: false\n})\nexport class IoxPageComponent implements AfterViewInit, OnDestroy {\n @Input() class = '';\n @ViewChild('page') public page!: ElementRef<HTMLDivElement>;\n private scrollSubscription!: Subscription;\n @Output() scrollEvent = new EventEmitter<{\n scrollTop: number;\n scrollLeft: number;\n scrollHeight: number;\n scrollWidth: number;\n clientHeight: number;\n clientWidth: number;\n scrollPercentage: number;\n }>();\n\n constructor(private pageScrollProvider: PageScrollProvider) {}\n\n ngAfterViewInit(): void {\n if (this.page) {\n this.scrollSubscription = fromEvent(this.page.nativeElement, 'scroll').subscribe((event) => {\n this.onScroll(event as Event);\n });\n\n this.pageScrollProvider.init({\n wrapper: this.page.nativeElement,\n content: this.page.nativeElement.querySelector('.page-mask')!,\n duration: 1.2,\n easing: (t: number) => Math.min(1, 1.001 - Math.pow(2, -10 * t)),\n });\n }\n }\n\n onScroll(event: Event): void {\n const target = event.target as HTMLElement;\n const scrollTop = target.scrollTop;\n const scrollLeft = target.scrollLeft;\n const scrollHeight = target.scrollHeight;\n const scrollWidth = target.scrollWidth;\n const clientHeight = target.clientHeight;\n const clientWidth = target.clientWidth;\n const scrollPercentage = (scrollTop / (scrollHeight - clientHeight)) * 100;\n\n this.scrollEvent.emit({ scrollTop, scrollLeft, scrollHeight, scrollWidth, clientHeight, clientWidth, scrollPercentage });\n }\n\n ngOnDestroy(): void {\n if (this.scrollSubscription) {\n this.scrollSubscription.unsubscribe();\n }\n }\n}\n","<div #page [class]=\"class\" class=\"iox-page-wrapper\">\n <div class=\"page-mask\">\n <ng-content></ng-content>\n </div>\n</div>\n","\nimport { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { IoxPageComponent } from './page-component/page-component.component';\nimport { PageScrollProvider } from '../services/page-scroll.provider';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [IoxPageComponent],\n exports: [IoxPageComponent],\n providers: [PageScrollProvider]\n})\nexport class IoxPageModule {}\n","import { NgModule } from '@angular/core';\nimport { IoxAosModule } from './iox-aos/iox-aos.module';\nimport { IoxPageModule } from './iox-page/iox-page.module';\n\n\n@NgModule({\n declarations: [],\n imports: [IoxAosModule, IoxPageModule],\n exports: [IoxAosModule, IoxPageModule]\n})\nexport class IoxUiModule { }\n","import { Injectable } from '@angular/core';\n\n/**\n * Holds live component instances by nodeId so interaction engines can call\n * imperative methods (e.g. Swiper.slideNext()) without direct references.\n *\n * Components register on init and unregister on destroy.\n * Used by both InteractionEngineService (builder) and ClientInteractionService (SSR engine).\n */\n@Injectable({ providedIn: 'root' })\nexport class ComponentInstanceRegistryService {\n private _instances = new Map<string, any>();\n\n register(nodeId: string, instance: any): void {\n this._instances.set(nodeId, instance);\n }\n\n unregister(nodeId: string): void {\n this._instances.delete(nodeId);\n }\n\n get(nodeId: string): any {\n return this._instances.get(nodeId);\n }\n}\n","import { Subject } from 'rxjs';\nimport { Injectable } from '@angular/core';\n\nexport enum PrivacyModelEvent {\n OPEN = 1,\n CLOSE = 2\n}\n\n@Injectable()\nexport class PrivacyModalService {\n private modalEvent: Subject<PrivacyModelEvent> = new Subject<PrivacyModelEvent>();\n private decisionSubject: Subject<boolean> | null = null;\n\n constructor() {}\n\n public registerModalEvent(func: Function): void {\n this.modalEvent.subscribe({\n next: (val) => {\n func(val);\n }\n });\n }\n\n public openModal(): Subject<boolean> {\n this.modalEvent.next(PrivacyModelEvent.OPEN);\n this.decisionSubject = new Subject<boolean>();\n return this.decisionSubject;\n }\n\n public closeModal(): void {\n this.modalEvent.next(PrivacyModelEvent.CLOSE);\n }\n\n public notifyDecision(accepted: boolean): void {\n if (this.decisionSubject) {\n this.decisionSubject.next(accepted);\n this.decisionSubject.complete();\n this.decisionSubject = null;\n }\n this.closeModal();\n }\n}","import { Injectable, Injector, Inject } from '@angular/core';\nimport { ENVIRONMENT } from '../cms-client-infra.module';\nimport { HttpClient, HttpHeaders, HttpErrorResponse, HttpEventType, HttpEvent } from '@angular/common/http';\nimport { Observable, of } from 'rxjs';\nimport { CookieService } from 'ngx-cookie-service';\nimport { PrivacyModalService } from '../components/privacy/privacy-modal.service';\n\n\n\n@Injectable()\nexport class ConsentService {\n\n\n private readonly WEB_USER = \"webUser\";\n\n constructor(private cookieService: CookieService,\n private httpClient: HttpClient,\n private _privacyModalService: PrivacyModalService,\n @Inject(ENVIRONMENT) public environment: any) {\n }\n\n private hasAnalyticsConsent(): boolean {\n const cookieValue = this.cookieService.get(this.WEB_USER);\n if (!cookieValue) {\n return false;\n }\n\n try {\n const parsedCookieValue = JSON.parse(cookieValue);\n return parsedCookieValue.user?.consent?.analyticsConsent === true;\n } catch {\n // Invalid JSON or unexpected structure: treat as no consent\n return false;\n }\n }\n\n checkAnalyticsConsent(): Observable<boolean> {\n if (this.hasAnalyticsConsent()) {\n // Consent already given, return true immediately as Observable\n return of(true);\n }\n\n // No consent yet (or invalid/missing cookie) -> show modal\n return this._privacyModalService.openModal();\n }\n\n checkMarketingConsent() {\n let cookieValue = this.cookieService.get(this.WEB_USER);\n if (!cookieValue) {\n return false;\n }\n let parsedCookieValue = JSON.parse(cookieValue);\n return parsedCookieValue.user?.consent?.marketingConsent;\n }\n\n setConsent(analytics: boolean, marketing: boolean) {\n let cookieValue = this.cookieService.get(this.WEB_USER);\n let parsedCookieValue = cookieValue ? JSON.parse(cookieValue) : { user: { consent: { \n anonymousId: this.generateAnonymousId() \n } } };\n parsedCookieValue.user.consent.analyticsConsent = analytics;\n parsedCookieValue.user.consent.marketingConsent = marketing;\n this.cookieService.set(this.WEB_USER, JSON.stringify(parsedCookieValue));\n\n this.httpClient.post(`${this.environment.HOST}consent`, parsedCookieValue.user.consent)\n .subscribe({\n next: (response) => {\n console.log('Consent updated successfully:', response);\n },\n error: (error) => {\n console.error('Error updating consent:', error);\n }\n });\n }\n\n private generateAnonymousId() {\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {\n var r = Math.random() * 16 | 0,\n v = c === 'x' ? r : (r & 0x3 | 0x8);\n return v.toString(16);\n });\n }\n\n}","import { Component } from '@angular/core';\nimport { PrivacyModalService, PrivacyModelEvent } from './privacy-modal.service';\nimport { ConsentService } from '../../services/consent.service';\n\n@Component({\n selector: 'privacy-modal',\n templateUrl: './privacy-modal.component.html',\n styleUrls: ['./privacy-modal.component.scss'],\n standalone: false\n})\nexport class PrivacyModalComponent {\n public isOpen: boolean = false;\n constructor(private _privacyModalService: PrivacyModalService,\n private _consentService: ConsentService) {\n this._privacyModalService.registerModalEvent((event: PrivacyModelEvent) => {\n if (event == PrivacyModelEvent.CLOSE) {\n this.isOpen = false;\n } else {\n this.isOpen = true;\n }\n });\n }\n\n onAccept() {\n this._consentService.setConsent(true, true);\n this._privacyModalService.notifyDecision(true);\n this.isOpen = false;\n }\n\n onDecline() {\n this._privacyModalService.notifyDecision(false);\n this.isOpen = false;\n }\n}\n","<div class=\"privacy-modal\" [ngClass]=\"{'open': isOpen, 'closed': !isOpen}\">\n <div class=\"modal-content\">\n <h2>אנחנו שומרים על הפרטיות שלך</h2>\n <p dir=\"rtl\">\n <span>\n אנחנו משמשים בקבצי \n </span>\n <span>Cookies </span>\n <span>כדי לשפר את חווית הגלישה שלך, לנתח שימוש באתר ולהציע תוכן מותאם אישית.</span>\n <span> למידע נוסף על איך אנחנו משתמשים במידע שלך, ראה את <a target=\"_blank\" href=\"/privacy\">מדיניות הפרטיות </a> שלנו</span>\n </p>\n\n <div class=\"button-container\">\n <button class=\"accept-button\" (click)=\"onAccept()\">אני מסכים</button>\n <button class=\"decline-button\" (click)=\"onDecline()\">אני לא מסכים</button>\n </div>\n </div>\n</div>\n","import { Inject, Injectable, Injector } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpErrorResponse, HttpEventType, HttpEvent } from '@angular/common/http';\nimport { Observable, of } from 'rxjs';\nimport { CookieService } from 'ngx-cookie-service';\nimport { PrivacyModalService } from '../components/privacy/privacy-modal.service';\nimport { ENVIRONMENT } from '../cms-client-infra.module';\n\n\n\n@Injectable()\nexport class WebSettingsService {\n\n constructor(\n private httpClient: HttpClient,\n @Inject(ENVIRONMENT) private environment: any\n ) {\n }\n\n getSettings() {\n // If the server injected a runtime config (window.__APP_CONFIG) use that first,\n // otherwise fall back to the compile-time environment.HOST.\n const runtimeHost = (typeof window !== 'undefined' && (window as any).__APP_CONFIG && (window as any).__APP_CONFIG.HOST) ? (window as any).__APP_CONFIG.HOST : this.environment.HOST;\n return this.httpClient.get(`${runtimeHost}web/settings`);\n }\n\n configArrayToObject(arr: any[]): { [key: string]: any } {\n return arr.reduce((acc, item) => {\n acc[item.key] = item.value;\n return acc;\n }, {});\n }\n\n}","import { Inject, Injectable, Injector } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpErrorResponse, HttpEventType, HttpEvent } from '@angular/common/http';\nimport { Observable, pipe, of, from } from 'rxjs';\nimport { filter, map, reduce, retry } from 'rxjs/operators';\nimport { ENVIRONMENT } from '../cms-client-infra.module';\n\n\n\n@Injectable()\nexport class ContentService {\n\n private appContent:any ={};\n\n\n constructor(private httpClient: HttpClient,\n @Inject(ENVIRONMENT) private environment: any\n ) {\n }\n\n getContent(contentName:string,id?:string ) {\n \n if(this.appContent[contentName] && this.appContent[contentName].length){\n\n if(id){\n return of(this.findOne(this.appContent[contentName],id))\n }\n return of(this.appContent[contentName]);\n }\n\n return this.httpClient.get(`${this.environment.HOST}${contentName}`).pipe(map((content:any)=>{\n if(contentName == this.environment.contentResource.SERVICES || contentName == this.environment.contentResource.PROJECTS){\n content = content.map((item: any) =>{\n item.id= item.name.replace(/ /g,\"_\");\n //item._id= item.name.replace(/ /g,\"_\");\n return item;\n })\n }\n this.appContent[contentName] = content;\n if(id){\n return this.findOne(this.appContent[contentName],id)\n }\n return content;\n }));\n }\n\n private findOne(arr:any,id: string){\n for(let i=0; i < arr.length;i++){\n if(arr[i].id == id){\n return arr[i];\n }\n }\n }\n\n}","import { NgModule, ModuleWithProviders, InjectionToken } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { CookieService } from 'ngx-cookie-service';\nimport { ConsentService } from './services/consent.service';\nimport { PrivacyModalComponent } from './components/privacy/privacy-modal.component';\nimport { PrivacyModalService } from './components/privacy/privacy-modal.service';\nimport { WebSettingsService } from './services/web-settings.service';\nimport { ContentService } from './services/content.service';\n\nexport const ENVIRONMENT = new InjectionToken<any>('environment');\n\n@NgModule({\n declarations: [\n PrivacyModalComponent\n ],\n imports: [\n CommonModule\n ],\n exports: [PrivacyModalComponent]\n})\nexport class CMSClientInfraModule {\n static forRoot(environment: any): ModuleWithProviders<CMSClientInfraModule> {\n return {\n ngModule: CMSClientInfraModule,\n providers: [\n { provide: ENVIRONMENT, useValue: environment },\n ConsentService,\n ContentService,\n CookieService,\n WebSettingsService,\n PrivacyModalService\n ]\n };\n }\n}\n","import { Injectable, Inject, PLATFORM_ID } from '@angular/core';\nimport { isPlatformBrowser } from '@angular/common';\n\n@Injectable({ providedIn: 'root' })\nexport class AnalyticsService {\n private gaScriptId = 'google-analytics-script';\n\n constructor(@Inject(PLATFORM_ID) private platformId: Object) {}\n\n applyGoogleAnalytics(appId: string): void {\n if (!isPlatformBrowser(this.platformId)) return;\n\n // 1. Establish the dataLayer and the CORRECT gtag function stub\n const win = window as any;\n win.dataLayer = win.dataLayer || [];\n \n // CRITICAL FIX: The Google library requires the special 'arguments' object, \n // NOT a standard array spread [...args]. \n if (!win.gtag) {\n win.gtag = function() {\n win.dataLayer.push(arguments); \n };\n }\n\n // 2. Queue initial commands immediately (even before script loads)\n win.gtag('js', new Date());\n win.gtag('config', appId); \n\n // 3. Load the script if not already present\n if (!document.getElementById(this.gaScriptId)) {\n const script = document.createElement('script');\n script.id = this.gaScriptId;\n script.async = true;\n script.src = `https://www.googletagmanager.com/gtag/js?id=${appId}`;\n \n script.onload = () => {\n console.log('[Analytics] gtag.js script loaded and ready');\n };\n \n script.onerror = (e) => console.error('[Analytics] gtag.js failed to load', e);\n document.head.appendChild(script);\n }\n }\n\n // Helper to send events from your components\n sendEvent(eventName: string, params: object = {}): void {\n if (isPlatformBrowser(this.platformId) && (window as any).gtag) {\n (window as any).gtag('event', eventName, params);\n }\n }\n\n // Synchronous page view sender that won't rely on internal ready Promise\n sendPageView(path: string): void {\n if (!isPlatformBrowser(this.platformId)) return;\n\n const win = window as any;\n\n try {\n if (win && win.gtag) {\n // Prefer gtag when available\n win.gtag('event', 'page_view', { page_path: path });\n return;\n }\n\n // Fallback: ensure dataLayer exists and push a native arguments-like object\n win.dataLayer = win.dataLayer || [];\n // Use a plain object that resembles gtag's usage if gtag not present\n win.dataLayer.push({ event: 'page_view', page_path: path });\n } catch (err) {\n console.warn('[Analytics] sendPageView failed', err);\n }\n }\n}\n","import { InjectionToken } from '@angular/core';\n\nexport const IS_PREVIEW = new InjectionToken<boolean>('IS_PREVIEW');\n\nexport interface IBuilderEventEmitter {\n emit(type: string, data?: any): void;\n}\n\nexport const IOX_BUILDER_EVENTS = new InjectionToken<IBuilderEventEmitter>('IOX_BUILDER_EVENTS');\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'app-builder-image',\n template: `\n <img [src]=\"src\" [alt]=\"alt\" [ngClass]=\"'iox-node-' + nodeId\" [style.object-fit]=\"objectFit\" />\n `,\n styles: ['img { display: block; max-width: 100%; }'],\n standalone: false,\n})\nexport class BuilderImageComponent {\n @Input() src = 'https://placehold.co/600x400?text=Image';\n @Input() alt = 'Image';\n @Input() objectFit: 'cover' | 'contain' | 'fill' | 'none' = 'cover';\n @Input() nodeId: string = '';\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'app-builder-spacer',\n template: `<div class=\"iox-spacer\" [ngClass]=\"'iox-node-' + nodeId\"></div>`,\n styles: ['.iox-spacer { display: block; flex-shrink: 0; }'],\n standalone: false,\n})\nexport class BuilderSpacerComponent {\n @Input() nodeId: string = '';\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'app-card',\n template: `\n <div class=\"card\" [ngClass]=\"'iox-node-' + nodeId\">\n <div class=\"image-wrapper\">\n <img [src]=\"image\" alt=\"Card image\" class=\"card-img\">\n </div>\n <h2>{{ title }}</h2>\n <p>{{ description }}</p>\n </div>\n `,\n styles: [\n '.image-wrapper { width: 100%; aspect-ratio: 1/1; overflow: hidden; margin-bottom: 0.75rem; }',\n '.card-img { width: 100%; height: 100%; object-fit: cover; }',\n 'h2 { margin: 0 0 0.5rem 0; font-size: 1.2rem; }',\n 'p { margin: 0; }',\n ],\n standalone: false,\n})\nexport class CardComponent {\n @Input() title: string = '';\n @Input() image: string = '';\n @Input() description: string = '';\n @Input() nodeId: string = '';\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'app-builder-divider',\n template: `<div class=\"iox-divider\" [ngClass]=\"'iox-node-' + nodeId\"></div>`,\n styles: ['.iox-divider { box-sizing: border-box; }'],\n standalone: false,\n})\nexport class BuilderDividerComponent {\n @Input() nodeId: string = '';\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'app-builder-icon',\n template: `<i [ngClass]=\"[iconClass, 'iox-node-' + nodeId]\"></i>`,\n styles: [':host { display: block; } i { display: block; line-height: 1; }'],\n standalone: false,\n})\nexport class BuilderIconComponent {\n /** Full Phosphor icon CSS class string, e.g. \"ph-thin ph-star\" */\n @Input() iconClass = 'ph-thin ph-star';\n @Input() nodeId: string = '';\n}\n","import { ChangeDetectionStrategy, Component, Inject, Input, Optional } from '@angular/core';\nimport { IS_PREVIEW } from '../builder-tokens';\n\n@Component({\n selector: 'app-builder-link',\n template: `\n <a [href]=\"isPreview ? resolvedHref : null\"\n [attr.target]=\"isPreview ? target : null\"\n [ngStyle]=\"style\"\n [style.pointerEvents]=\"isPreview ? '' : 'none'\"\n [ngClass]=\"'iox-node-' + nodeId\"\n class=\"builder-link\"\n (click)=\"onLinkClick($event)\">\n {{ label }}\n </a>\n `,\n styles: [`\n .builder-link {\n display: inline;\n cursor: pointer;\n color: inherit;\n }\n `],\n standalone: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BuilderLinkComponent {\n @Input() nodeId: string = '';\n @Input() label = 'Click here';\n @Input() linkType: 'external' | 'page' = 'external';\n @Input() url = 'https://';\n @Input() pageRoute = '';\n @Input() target: '_self' | '_blank' | '_parent' | '_top' = '_self';\n @Input() style: { [key: string]: any } = {};\n\n constructor(@Optional() @Inject(IS_PREVIEW) public isPreview: boolean) {}\n\n get resolvedHref(): string {\n if (this.linkType !== 'page') return this.url || '#';\n return this.pageRoute || '#';\n }\n\n onLinkClick(event: MouseEvent): void {\n if (!this.isPreview) {\n event.preventDefault();\n event.stopPropagation();\n }\n }\n}\n","import { ChangeDetectionStrategy, Component, Inject, Input, OnInit, Optional } from '@angular/core';\nimport { IBuilderEventEmitter, IOX_BUILDER_EVENTS } from '../builder-tokens';\n\ninterface EditableNode {\n bindings?: Array<{ prop: string }>;\n traits?: Array<{ name: string; default: any }>;\n}\n\n@Component({\n selector: 'app-builder-button',\n template: `\n <a [href]=\"link\" class=\"builder-btn\" [ngClass]=\"['variant-' + variant, 'iox-node-' + nodeId]\"\n [attr.contenteditable]=\"editing ? 'true' : null\"\n (dblclick)=\"startEdit($event)\"\n (blur)=\"commitEdit($event)\"\n (keydown)=\"onKeyDown($event)\">\n {{ label }}\n </a>\n `,\n styles: [`\n .builder-btn {\n display: inline-block;\n padding: 0.6rem 1.5rem;\n border-radius: 6px;\n font-size: 0.9rem;\n text-decoration: none;\n cursor: pointer;\n text-align: center;\n transition: opacity 0.15s;\n }\n .variant-primary {\n background: #cb9090;\n color: #fff;\n border: 1px solid #cb9090;\n }\n .variant-outlined {\n background: transparent;\n color: #cb9090;\n border: 1px solid #cb9090;\n }\n .variant-text {\n background: transparent;\n color: #cb9090;\n border: 1px solid transparent;\n }\n [contenteditable] { outline: 2px solid #cb9090; cursor: text; }\n `],\n standalone: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BuilderButtonComponent implements OnInit {\n @Input() label = 'Click me';\n @Input() link = '#';\n @Input() variant: 'primary' | 'outlined' | 'text' = 'primary';\n @Input() nodeId: string = '';\n @Input() node: EditableNode | null = null;\n\n public editing = false;\n\n constructor(@Optional() @Inject(IOX_BUILDER_EVENTS) private events: IBuilderEventEmitter | null) {}\n\n ngOnInit(): void {}\n\n startEdit(event: MouseEvent): void {\n if (this.isBound('label')) return;\n event.preventDefault();\n event.stopPropagation();\n this.editing = true;\n setTimeout(() => (event.target as HTMLElement).focus());\n }\n\n commitEdit(event: FocusEvent): void {\n if (!this.editing) return;\n this.editing = false;\n const newValue = (event.target as HTMLElement).innerText.trim();\n this.label = newValue;\n this.syncTraitToPanel('label', newValue);\n }\n\n onKeyDown(event: KeyboardEvent): void {\n if (event.key === 'Enter') {\n event.preventDefault();\n (event.target as HTMLElement).blur();\n }\n if (event.key === 'Escape') {\n this.editing = false;\n (event.target as HTMLElement).blur();\n }\n event.stopPropagation();\n }\n\n private isBound(prop: string): boolean {\n return (this.node?.bindings || []).some(b => b.prop === prop);\n }\n\n private syncTraitToPanel(prop: string, value: string): void {\n if (!this.node || !this.events) return;\n const trait = (this.node.traits || []).find(t => t.name === prop);\n if (trait) { trait.default = value; }\n this.events.emit('elementselect', { node: this.node, componentRef: null });\n }\n}\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Inject, Input, OnInit, Optional } from '@angular/core';\nimport { IBuilderEventEmitter, IOX_BUILDER_EVENTS } from '../builder-tokens';\n\ninterface EditableNode {\n bindings?: Array<{ prop: string }>;\n traits?: Array<{ name: string; default: any }>;\n}\n\n@Component({\n selector: 'app-builder-heading',\n template: `\n <ng-container [ngSwitch]=\"level\">\n <h1 *ngSwitchCase=\"'h1'\" [ngClass]=\"'iox-node-' + nodeId\"\n [attr.contenteditable]=\"editing ? 'true' : null\"\n (mousedown)=\"onMouseDown($event)\"\n (dblclick)=\"startEdit($event)\" (blur)=\"commitEdit($event)\" (keydown)=\"onKeyDown($event)\">{{ content }}</h1>\n <h2 *ngSwitchCase=\"'h2'\" [ngClass]=\"'iox-node-' + nodeId\"\n [attr.contenteditable]=\"editing ? 'true' : null\"\n (mousedown)=\"onMouseDown($event)\"\n (dblclick)=\"startEdit($event)\" (blur)=\"commitEdit($event)\" (keydown)=\"onKeyDown($event)\">{{ content }}</h2>\n <h3 *ngSwitchCase=\"'h3'\" [ngClass]=\"'iox-node-' + nodeId\"\n [attr.contenteditable]=\"editing ? 'true' : null\"\n (mousedown)=\"onMouseDown($event)\"\n (dblclick)=\"startEdit($event)\" (blur)=\"commitEdit($event)\" (keydown)=\"onKeyDown($event)\">{{ content }}</h3>\n <h4 *ngSwitchCase=\"'h4'\" [ngClass]=\"'iox-node-' + nodeId\"\n [attr.contenteditable]=\"editing ? 'true' : null\"\n (mousedown)=\"onMouseDown($event)\"\n (dblclick)=\"startEdit($event)\" (blur)=\"commitEdit($event)\" (keydown)=\"onKeyDown($event)\">{{ content }}</h4>\n <h5 *ngSwitchCase=\"'h5'\" [ngClass]=\"'iox-node-' + nodeId\"\n [attr.contenteditable]=\"editing ? 'true' : null\"\n (mousedown)=\"onMouseDown($event)\"\n (dblclick)=\"startEdit($event)\" (blur)=\"commitEdit($event)\" (keydown)=\"onKeyDown($event)\">{{ content }}</h5>\n <h6 *ngSwitchDefault [ngClass]=\"'iox-node-' + nodeId\"\n [attr.contenteditable]=\"editing ? 'true' : null\"\n (mousedown)=\"onMouseDown($event)\"\n (dblclick)=\"startEdit($event)\" (blur)=\"commitEdit($event)\" (keydown)=\"onKeyDown($event)\">{{ content }}</h6>\n </ng-container>\n `,\n styles: [`\n h1,h2,h3,h4,h5,h6 { margin: 0; }\n [contenteditable] { outline: none; cursor: text; }\n `],\n standalone: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BuilderHeadingComponent implements OnInit {\n @Input() content = 'Heading';\n @Input() level: 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' = 'h2';\n @Input() nodeId: string = '';\n @Input() node: EditableNode | null = null;\n\n public editing = false;\n\n constructor(\n @Optional() @Inject(IOX_BUILDER_EVENTS) private events: IBuilderEventEmitter | null,\n private cdr: ChangeDetectorRef,\n ) {}\n\n ngOnInit(): void {}\n\n onMouseDown(event: MouseEvent): void {\n if (this.editing) { event.stopPropagation(); }\n }\n\n startEdit(event: MouseEvent): void {\n if (this.isBound('content')) return;\n event.stopPropagation();\n this.editing = true;\n this.cdr.detectChanges();\n this.cdr.detach();\n const el = event.target as HTMLElement;\n setTimeout(() => { el.focus(); });\n }\n\n commitEdit(event: FocusEvent): void {\n if (!this.editing) return;\n this.editing = false;\n const newValue = (event.target as HTMLElement).innerText;\n this.content = newValue;\n this.cdr.reattach();\n this.syncTraitToPanel('content', newValue);\n }\n\n onKeyDown(event: KeyboardEvent): void {\n if (event.key === 'Enter' && !event.shiftKey) {\n event.preventDefault();\n (event.target as HTMLElement).blur();\n }\n if (event.key === 'Escape') {\n this.editing = false;\n this.cdr.reattach();\n (event.target as HTMLElement).blur();\n }\n event.stopPropagation();\n }\n\n private isBound(prop: string): boolean {\n return (this.node?.bindings || []).some(b => b.prop === prop);\n }\n\n private syncTraitToPanel(prop: string, value: string): void {\n if (!this.node || !this.events) return;\n const trait = (this.node.traits || []).find(t => t.name === prop);\n if (trait) { trait.default = value; }\n this.events.emit('elementselect', { node: this.node, componentRef: null, isCanvasUpdate: true });\n }\n}\n","import { ChangeDetectorRef, Component, Inject, Input, OnInit, Optional } from '@angular/core';\nimport { IBuilderEventEmitter, IOX_BUILDER_EVENTS } from '../builder-tokens';\n\ninterface EditableNode {\n bindings?: Array<{ prop: string }>;\n traits?: Array<{ name: string; default: any }>;\n}\n\n@Component({\n selector: 'app-text-block',\n template: `\n <ng-container [ngSwitch]=\"tag\">\n <p *ngSwitchDefault\n [ngClass]=\"'iox-node-' + nodeId\"\n [attr.contenteditable]=\"editing ? 'true' : null\"\n (pointerdown)=\"onPointerDown($event)\"\n (mousedown)=\"onMouseDown($event)\"\n (dblclick)=\"startEdit($event)\"\n (blur)=\"commitEdit($event)\"\n (keydown)=\"onKeyDown($event)\"\n (paste)=\"onPaste($event)\"\n [innerHTML]=\"content\"></p>\n <span *ngSwitchCase=\"'span'\"\n [ngClass]=\"'iox-node-' + nodeId\"\n [attr.contenteditable]=\"editing ? 'true' : null\"\n (pointerdown)=\"onPointerDown($event)\"\n (mousedown)=\"onMouseDown($event)\"\n (dblclick)=\"startEdit($event)\"\n (blur)=\"commitEdit($event)\"\n (keydown)=\"onKeyDown($event)\"\n (paste)=\"onPaste($event)\"\n [innerHTML]=\"content\"></span>\n </ng-container>\n `,\n styles: [`\n p, span { margin: 0; white-space: pre-wrap; }\n [contenteditable] { outline: none; cursor: text; }\n `],\n standalone: false,\n})\nexport class TextBlockComponent implements OnInit {\n @Input() content = 'Enter text here';\n @Input() tag: 'p' | 'span' = 'p';\n @Input() style: { [key: string]: any } = {};\n @Input() nodeId: string = '';\n @Input() node: EditableNode | null = null;\n\n public editing = false;\n\n constructor(\n @Optional() @Inject(IOX_BUILDER_EVENTS) private events: IBuilderEventEmitter | null,\n private cdr: ChangeDetectorRef,\n ) {}\n\n ngOnInit(): void {}\n\n onPointerDown(event: PointerEvent): void {\n if (this.editing) { event.stopPropagation(); }\n }\n\n onMouseDown(event: MouseEvent): void {\n if (this.editing) { event.stopPropagation(); }\n }\n\n startEdit(event: MouseEvent): void {\n if (this.isBound('content')) return;\n event.stopPropagation();\n this.editing = true;\n this.cdr.detectChanges();\n this.cdr.detach();\n const el = event.target as HTMLElement;\n el.closest('[data-iox-draggable]')?.setAttribute('data-editing', '');\n setTimeout(() => { el.focus(); });\n }\n\n onPaste(event: ClipboardEvent): void {\n event.preventDefault();\n const plain = event.clipboardData?.getData('text/plain') ?? '';\n // Insert as plain text so no inline styles from clipboard survive\n document.execCommand('insertText', false, plain);\n }\n\n commitEdit(event: FocusEvent): void {\n if (!this.editing) return;\n this.editing = false;\n const el = event.target as HTMLElement;\n el.closest('[data-iox-draggable]')?.removeAttribute('data-editing');\n const newValue = el.innerText;\n this.content = newValue;\n // Explicitly reset to plain text so any pasted HTML nodes are gone\n // before Angular re-renders {{ content }}\n el.textContent = newValue;\n this.cdr.reattach();\n this.syncTraitToPanel('content', newValue);\n }\n\n onKeyDown(event: KeyboardEvent): void {\n if (event.key === 'Escape') {\n this.editing = false;\n this.cdr.reattach();\n (event.target as HTMLElement).blur();\n }\n event.stopPropagation();\n }\n\n private isBound(prop: string): boolean {\n return (this.node?.bindings || []).some(b => b.prop === prop);\n }\n\n private syncTraitToPanel(prop: string, value: string): void {\n if (!this.node || !this.events) return;\n const trait = (this.node.traits || []).find(t => t.name === prop);\n if (trait) { trait.default = value; }\n this.events.emit('elementselect', { node: this.node, componentRef: null, isCanvasUpdate: true });\n }\n}\n","import { Component, Input, ViewChild, ViewContainerRef } from '@angular/core';\n\n@Component({\n selector: 'iox-section',\n template: `\n <div class=\"section-root\" [ngClass]=\"['iox-node-' + nodeId]\">\n <ng-container #childrenHost></ng-container>\n </div>\n `,\n styles: [`.section-root { position: relative; box-sizing: border-box; }`],\n standalone: false,\n})\nexport class SectionComponent {\n @Input() nodeId = '';\n\n @ViewChild('childrenHost', { read: ViewContainerRef, static: true })\n childrenHost!: ViewContainerRef;\n}\n","import { Component, Input, ViewChild, ViewContainerRef } from '@angular/core';\n\n@Component({\n selector: 'iox-container',\n template: `\n <div class=\"container-root\" [ngClass]=\"['iox-node-' + nodeId]\">\n <ng-container #childrenHost></ng-container>\n </div>\n `,\n styles: [`.container-root { position: relative; box-sizing: border-box; }`],\n standalone: false,\n})\nexport class ContainerComponent {\n @Input() nodeId = '';\n\n @ViewChild('childrenHost', { read: ViewContainerRef, static: true })\n childrenHost!: ViewContainerRef;\n}\n","import { Component, ElementRef, Inject, Input, OnDestroy, OnInit, Optional, ViewChild, ViewContainerRef } from '@angular/core';\nimport { IS_PREVIEW } from '../builder-tokens';\n\n@Component({\n selector: 'iox-linked-container',\n template: `\n <a [href]=\"resolvedHref\"\n [target]=\"target\"\n [ngClass]=\"['iox-node-' + nodeId]\"\n class=\"linked-container-root\">\n <ng-container #childrenHost></ng-container>\n </a>\n `,\n styles: [`\n .linked-container-root {\n display: block;\n position: relative;\n box-sizing: border-box;\n text-decoration: none;\n color: inherit;\n cursor: pointer;\n }\n `],\n standalone: false,\n})\nexport class LinkedContainerComponent implements OnInit, OnDestroy {\n @Input() nodeId = '';\n @Input() linkType: 'external' | 'page' = 'external';\n @Input() url = 'https://';\n @Input() pageRoute = '';\n @Input() target: '_self' | '_blank' | '_parent' | '_top' = '_self';\n\n @ViewChild('childrenHost', { read: ViewContainerRef, static: true })\n childrenHost!: ViewContainerRef;\n\n private capturePreventDefault = (e: MouseEvent) => e.preventDefault();\n\n constructor(\n private elRef: ElementRef<HTMLElement>,\n @Optional() @Inject(IS_PREVIEW) private isPreview: boolean,\n ) {}\n\n ngOnInit(): void {\n if (!this.isPreview) {\n this.elRef.nativeElement.addEventListener('click', this.capturePreventDefault, true);\n }\n }\n\n ngOnDestroy(): void {\n if (!this.isPreview) {\n this.elRef.nativeElement.removeEventListener('click', this.capturePreventDefault, true);\n }\n }\n\n get resolvedHref(): string {\n if (this.linkType !== 'page') return this.url || '#';\n return this.pageRoute || '#';\n }\n}\n","import { Component, Input, ViewChild, ViewContainerRef } from '@angular/core';\n\n/**\n * Client-engine repeater shell. Data fetching and item expansion are handled\n * by DataSourceResolverService + BindingApplicatorService in the PageResolver\n * before this component is rendered. ClientRenderDirective inserts one child\n * per resolved item into childrenHost.\n */\n@Component({\n selector: 'iox-repeater',\n template: `\n <div class=\"repeater-root\" [ngClass]=\"['iox-node-' + nodeId]\">\n <ng-container #childrenHost></ng-container>\n </div>\n `,\n styles: [`.repeater-root { position: relative; box-sizing: border-box; }`],\n standalone: false,\n})\nexport class ClientRepeaterComponent {\n @Input() nodeId = '';\n\n @ViewChild('childrenHost', { read: ViewContainerRef, static: true })\n childrenHost!: ViewContainerRef;\n}\n","import { Component, Input, ViewChild, ViewContainerRef } from '@angular/core';\n\n@Component({\n selector: 'app-button-block',\n template: `\n <button *ngIf=\"tag !== 'a'\"\n [ngClass]=\"'iox-node-' + nodeId\"\n [attr.type]=\"type\">\n <ng-container #buttonHost></ng-container>\n </button>\n <a *ngIf=\"tag === 'a'\"\n [ngClass]=\"'iox-node-' + nodeId\"\n [attr.href]=\"href || null\"\n [attr.target]=\"target || null\">\n <ng-container #linkHost></ng-container>\n </a>\n `,\n styles: [`\n /* Only properties NOT controlled by the style engine — everything else comes\n from .iox-node-{id} generated by StyleRegistryService. Hardcoded values\n here would beat the style engine (Angular adds [_ngcontent] → 0,1,1 vs\n style engine's 0,1,0) and make style panel changes have no effect. */\n button, a {\n /* Fill the iox-outer wrapper so the user-set width takes effect.\n width is an OUTER_PROP so the style engine writes it on the wrapper,\n not here — this 100% bridges outer wrapper → host → inner button.\n height is NOT 100% to avoid stretching inside a tall flex container. */\n width: 100%;\n font: inherit;\n color: inherit;\n text-decoration: none;\n box-sizing: border-box;\n }\n `],\n standalone: false,\n})\nexport class ButtonBlockComponent {\n @Input() tag: 'button' | 'a' = 'button';\n @Input() href = '';\n @Input() target: '_self' | '_blank' = '_self';\n @Input() type: 'button' | 'submit' | 'reset' = 'button';\n @Input() nodeId = '';\n\n @ViewChild('buttonHost', { read: ViewContainerRef, static: false }) buttonHost?: ViewContainerRef;\n @ViewChild('linkHost', { read: ViewContainerRef, static: false }) linkHost?: ViewContainerRef;\n\n get childrenHost(): ViewContainerRef | undefined {\n return this.tag === 'a' ? this.linkHost : this.buttonHost;\n }\n}\n","import {\n AfterViewInit,\n Component,\n Inject,\n Input,\n OnDestroy,\n OnInit,\n PLATFORM_ID,\n ViewChild,\n ViewContainerRef,\n inject,\n} from '@angular/core';\nimport { isPlatformBrowser } from '@angular/common';\nimport { ComponentInstanceRegistryService } from '../../services/component-instance-registry.service';\n\n@Component({\n selector: 'iox-slider-container',\n template: `\n <div class=\"swiper\" [class]=\"'iox-node-' + nodeId\" #swiperEl>\n <div class=\"swiper-wrapper\">\n <ng-container #childrenHost></ng-container>\n </div>\n <div *ngIf=\"enableNavigation\" class=\"swiper-button-prev\"></div>\n <div *ngIf=\"enableNavigation\" class=\"swiper-button-next\"></div>\n <div *ngIf=\"enablePagination\" class=\"swiper-pagination\"></div>\n <div *ngIf=\"enableScrollbar\" class=\"swiper-scrollbar\"></div>\n </div>\n `,\n styles: [`.swiper { width: 100%; height: 100%; box-sizing: border-box; }`],\n standalone: false,\n})\nexport class ClientSliderContainerComponent implements OnInit, AfterViewInit, OnDestroy {\n @Input() nodeId = '';\n @Input() direction: 'horizontal' | 'vertical' = 'horizontal';\n @Input() loop = false;\n @Input() slidesPerView = 1;\n @Input() spaceBetween = 0;\n @Input() speed = 300;\n @Input() effect = 'slide';\n @Input() grabCursor = true;\n @Input() centeredSlides = false;\n @Input() initialSlide = 0;\n @Input() enableNavigation = false;\n @Input() enablePagination = false;\n @Input() enableScrollbar = false;\n @Input() enableAutoplay = false;\n @Input() enableKeyboard = false;\n @Input() enableMousewheel = false;\n @Input() enableZoom = false;\n @Input() enableGrid = false;\n @Input() enableParallax = false;\n @Input() autoplayDelay = 3000;\n @Input() autoplayPauseOnMouseEnter = true;\n @Input() autoplayDisableOnInteraction = false;\n @Input() paginationType: 'bullets' | 'fraction' | 'progressbar' = 'bullets';\n @Input() paginationClickable = true;\n @Input() gridRows = 1;\n @Input() breakpoints = '';\n\n @ViewChild('childrenHost', { read: ViewContainerRef, static: true })\n childrenHost!: ViewContainerRef;\n\n @ViewChild('swiperEl', { static: true })\n swiperEl!: { nativeElement: HTMLElement };\n\n private _swiper: any = null;\n private instanceRegistry = inject(ComponentInstanceRegistryService);\n\n constructor(@Inject(PLATFORM_ID) private platformId: object) {}\n\n ngOnInit(): void {}\n\n ngAfterViewInit(): void {\n if (isPlatformBrowser(this.platformId)) {\n // Defer so all child slides are rendered first\n requestAnimationFrame(() => this._initSwiper());\n }\n }\n\n ngOnDestroy(): void {\n if (this._swiper) {\n this._swiper.destroy(true, true);\n this._swiper = null;\n this.instanceRegistry.unregister(this.nodeId);\n }\n }\n\n private async _initSwiper(): Promise<void> {\n const el = this.swiperEl?.nativeElement;\n if (!el) return;\n\n const [{ default: Swiper }, swiperModules] = await Promise.all([\n import('swiper'),\n import('swiper/modules'),\n ]);\n\n const {\n Navigation, Pagination, Scrollbar, Autoplay,\n Keyboard, Mousewheel, Zoom, Grid, Parallax,\n EffectFade, EffectCube, EffectFlip, EffectCoverflow, EffectCards, EffectCreative,\n } = swiperModules as any;\n\n const modules: any[] = [];\n if (this.enableNavigation) modules.push(Navigation);\n if (this.enablePagination) modules.push(Pagination);\n if (this.enableScrollbar) modules.push(Scrollbar);\n if (this.enableAutoplay) modules.push(Autoplay);\n if (this.enableKeyboard) modules.push(Keyboard);\n if (this.enableMousewheel) modules.push(Mousewheel);\n if (this.enableZoom) modules.push(Zoom);\n if (this.enableGrid) modules.push(Grid);\n if (this.enableParallax) modules.push(Parallax);\n\n const effectMap: Record<string, any> = {\n fade: EffectFade, cube: EffectCube, flip: EffectFlip,\n coverflow: EffectCoverflow, cards: EffectCards, creative: EffectCreative,\n };\n if (this.effect !== 'slide' && effectMap[this.effect]) {\n modules.push(effectMap[this.effect]);\n }\n\n const config: Record<string, any> = {\n modules,\n direction: this.direction,\n loop: this.loop,\n slidesPerView: this.slidesPerView,\n spaceBetween: this.spaceBetween,\n speed: this.speed,\n effect: this.effect,\n grabCursor: this.grabCursor,\n centeredSlides: this.centeredSlides,\n initialSlide: this.initialSlide,\n };\n\n if (this.enableNavigation) config['navigation'] = { prevEl: '.swiper-button-prev', nextEl: '.swiper-button-next' };\n if (this.enablePagination) config['pagination'] = { el: '.swiper-pagination', type: this.paginationType, clickable: this.paginationClickable };\n if (this.enableScrollbar) config['scrollbar'] = { el: '.swiper-scrollbar', draggable: true };\n if (this.enableAutoplay) config['autoplay'] = { delay: this.autoplayDelay, pauseOnMouseEnter: this.autoplayPauseOnMouseEnter, disableOnInteraction: this.autoplayDisableOnInteraction };\n if (this.enableGrid && this.gridRows > 1) config['grid'] = { rows: this.gridRows };\n if (this.breakpoints) { try { config['breakpoints'] = JSON.parse(this.breakpoints); } catch { /* ignore */ } }\n\n this._swiper = new Swiper(el, config);\n this.instanceRegistry.register(this.nodeId, this._swiper);\n }\n}\n","import { Component, Input, ViewChild, ViewContainerRef } from '@angular/core';\n\n/**\n * Client-engine slide. The HOST element (`iox-slider-slide`) itself carries the\n * `swiper-slide` class so it is a DIRECT child of `.swiper-wrapper` — Swiper only\n * recognises slides that are direct children (the `.swiper-slide` direct-child\n * invariant; see iox-ai-guidance architecture/builder/slider.md). A wrapper div\n * would nest `.swiper-slide` one level too deep and Swiper would ignore the slides.\n *\n * The shared `iox-node-{id}` class is applied to the same host so the page-level\n * CSS rules match (parity with the string renderer / builder).\n */\n@Component({\n selector: 'iox-slider-slide',\n template: `<ng-container #childrenHost></ng-container>`,\n styles: [`:host { display: block; box-sizing: border-box; }`],\n host: { '[class]': `'swiper-slide iox-node-' + nodeId` },\n standalone: false,\n})\nexport class ClientSliderSlideComponent {\n @Input() nodeId = '';\n\n @ViewChild('childrenHost', { read: ViewContainerRef, static: true })\n childrenHost!: ViewContainerRef;\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { BuilderImageComponent } from './image/image.component';\nimport { BuilderSpacerComponent } from './spacer/spacer.component';\nimport { CardComponent } from './card/card.component';\nimport { BuilderDividerComponent } from './divider/divider.component';\nimport { BuilderIconComponent } from './icon/icon.component';\nimport { BuilderLinkComponent } from './link/link.component';\nimport { BuilderButtonComponent } from './button/button.component';\nimport { BuilderHeadingComponent } from './heading/heading.component';\nimport { TextBlockComponent } from './text/text.component';\nimport { SectionComponent } from './section/section.component';\nimport { ContainerComponent } from './container/container.component';\nimport { LinkedContainerComponent } from './linked-container/linked-container.component';\nimport { ClientRepeaterComponent } from './repeater/repeater.component';\nimport { ButtonBlockComponent } from './button-block/button-block.component';\nimport { ClientSliderContainerComponent } from './slider-container/slider-container.component';\nimport { ClientSliderSlideComponent } from './slider-slide/slider-slide.component';\n\nconst COMPONENTS = [\n BuilderImageComponent,\n BuilderSpacerComponent,\n CardComponent,\n BuilderDividerComponent,\n BuilderIconComponent,\n BuilderLinkComponent,\n BuilderButtonComponent,\n BuilderHeadingComponent,\n TextBlockComponent,\n SectionComponent,\n ContainerComponent,\n LinkedContainerComponent,\n ClientRepeaterComponent,\n ButtonBlockComponent,\n ClientSliderContainerComponent,\n ClientSliderSlideComponent,\n];\n\n@NgModule({\n declarations: COMPONENTS,\n imports: [CommonModule],\n exports: COMPONENTS,\n})\nexport class IoxBuilderComponentsModule {}\n","import { Injectable, Type } from '@angular/core';\n\nimport { BuilderImageComponent } from './image/image.component';\nimport { BuilderSpacerComponent } from './spacer/spacer.component';\nimport { CardComponent } from './card/card.component';\nimport { BuilderDividerComponent } from './divider/divider.component';\nimport { BuilderIconComponent } from './icon/icon.component';\nimport { BuilderLinkComponent } from './link/link.component';\nimport { BuilderButtonComponent } from './button/button.component';\nimport { BuilderHeadingComponent } from './heading/heading.component';\nimport { TextBlockComponent } from './text/text.component';\nimport { SectionComponent } from './section/section.component';\nimport { ContainerComponent } from './container/container.component';\nimport { LinkedContainerComponent } from './linked-container/linked-container.component';\nimport { ClientRepeaterComponent } from './repeater/repeater.component';\nimport { ClientSliderContainerComponent } from './slider-container/slider-container.component';\nimport { ClientSliderSlideComponent } from './slider-slide/slider-slide.component';\n\n/**\n * Single source of truth for the IOX component type → Angular class mapping.\n * Used by the client engine (iox-client-engine) to resolve component classes\n * from IoxLayoutNode.type strings at render time.\n *\n * All 13 builder components are registered here:\n * - Leaf (Phase 2a): Image, Spacer, Card, Divider, Icon\n * - Inline-editable (Phase 2b): Link, Button, Heading, Text\n * - Layout shells (Phase 2c): Section, Container, LinkedContainer\n * - Repeater (Phase 2d): ClientRepeaterComponent\n *\n * Section/Container/LinkedContainer/Repeater expose childrenHost: ViewContainerRef\n * for ClientRenderDirective to insert child components into.\n */\n@Injectable({ providedIn: 'root' })\nexport class IoxComponentRegistryService {\n private readonly map = new Map<string, Type<any>>([\n ['Image', BuilderImageComponent],\n ['Spacer', BuilderSpacerComponent],\n ['Card', CardComponent],\n ['Divider', BuilderDividerComponent],\n ['Icon', BuilderIconComponent],\n ['Link', BuilderLinkComponent],\n ['Button', BuilderButtonComponent],\n ['Heading', BuilderHeadingComponent],\n ['Text', TextBlockComponent],\n ['Section', SectionComponent],\n ['Container', ContainerComponent],\n ['LinkedContainer', LinkedContainerComponent],\n ['Repeater', ClientRepeaterComponent],\n ['SliderContainer', ClientSliderContainerComponent],\n ['SliderSlide', ClientSliderSlideComponent],\n ]);\n\n getComponent(type: string): Type<any> | undefined {\n return this.map.get(type);\n }\n\n hasComponent(type: string): boolean {\n return this.map.has(type);\n }\n}\n","/**\n * style-compiler — the SINGLE source of truth for turning a node's style map into\n * CSS declarations. Framework-agnostic (no Angular): consumed by both renderers.\n *\n * - Builder canvas: `StyleRegistryService` (@vectoriox/iox-builder) → live `<style>` tag.\n * - SSR site: `LayoutRendererService` (iox-client-engine) → HTML string CSS.\n *\n * Lives in @vectoriox/iox-ui because BOTH consumers depend on iox-ui (the engine does\n * NOT depend on iox-builder). Keeping it here — not duplicated per renderer — is what\n * prevents the builder and the live site from drifting.\n * See iox-ai-guidance `architecture/builder/render-parity.md`.\n */\n\n/**\n * Rewrite viewport-relative units so they resolve to the simulated canvas dimensions\n * in the builder, and to the real viewport in production.\n *\n * `--preview-vh` / `--preview-vw` are set by BuilderComponent (ResizeObserver +\n * viewport-state subscription). In production those variables are undefined, so the\n * `1vh` / `1vw` fallbacks restore native browser behaviour.\n */\nexport function rewriteViewportUnits(value: string): string {\n return value\n .replace(/(-?\\d*\\.?\\d+)vh/g, 'calc($1 * var(--preview-vh, 1vh))')\n .replace(/(-?\\d*\\.?\\d+)vw/g, 'calc($1 * var(--preview-vw, 1vw))');\n}\n\n/** camelCase style key → kebab-case CSS property. */\nexport function styleKeyToKebab(key: string): string {\n return key.replace(/[A-Z]/g, m => `-${m.toLowerCase()}`);\n}\n\n/**\n * Compile a flat, camelCase style map into an array of `\"prop: value\"` CSS\n * declarations (kebab-cased, viewport-units rewritten, empties dropped, optional\n * `!important`). Callers wrap these in whatever selector they emit.\n *\n * @param props Flat camelCase style map.\n * @param importantProps Keys that must carry `!important` (e.g. `position`, to beat\n * Angular's scoped-CSS specificity boost in the builder).\n */\nexport function compileDeclarations(\n props: Record<string, any>,\n importantProps?: ReadonlySet<string>,\n): string[] {\n return Object.entries(props)\n .filter(([, v]) => v !== undefined && v !== null && v !== '')\n .map(([k, v]) => {\n const val = rewriteViewportUnits(String(v));\n const bang = importantProps?.has(k) ? ' !important' : '';\n return `${styleKeyToKebab(k)}: ${val}${bang}`;\n });\n}\n\n/**\n * Per-type default `width` that the builder applies from each component's config\n * (NOT persisted in styleProps — see render-parity.md \"saved node is not\n * self-describing\"). The engine has no config classes, so it resolves the same\n * default from THIS map at render time. Keeping the map here (not re-typed in the\n * engine) is the \"shared default map\" decision.\n *\n * ONLY the `100%` container-type defaults live here. Fixed-size config defaults\n * (Card 200px, Image 300px, SliderSlide 33%) are starter placeholders real content\n * almost always overrides — forcing them onto width-less nodes breaks layout.\n */\nexport const DEFAULT_WIDTH_BY_TYPE: Readonly<Record<string, string>> = {\n Container: '100%', Repeater: '100%', SliderContainer: '100%',\n List: '100%', ListItem: '100%', Text: '100%', Divider: '100%', Spacer: '100%',\n // Section, Heading, LinkedContainer, Card, Image, SliderSlide, Button, ButtonBlock,\n // Icon → no forced default (their config defaults are content sizes set explicitly).\n};\n\n/**\n * Extra \"render default\" declarations the builder gets implicitly from live component\n * behaviour, which the engine must re-apply explicitly for parity. Returns `\"prop: value\"`\n * declarations to append AFTER the node's own compiled declarations.\n *\n * @param type Node type (registry key).\n * @param styleProps The node's persisted styleProps.\n * @param hasHoverState Whether the node has a non-empty hover / parent-hover state.\n */\nexport function renderDefaultDeclarations(\n type: string,\n styleProps: Record<string, any>,\n hasHoverState: boolean,\n): string[] {\n const sp = styleProps ?? {};\n const out: string[] = [];\n const isOutOfFlow = sp['position'] === 'fixed' || sp['position'] === 'absolute';\n\n // Container-type default width + min-width:0 so flex children fill and split their\n // track instead of collapsing to content.\n if (sp['width'] === undefined) {\n if (isOutOfFlow) {\n out.push('width: 100%');\n } else if (DEFAULT_WIDTH_BY_TYPE[type]) {\n out.push(`width: ${DEFAULT_WIDTH_BY_TYPE[type]}`, 'min-width: 0');\n }\n }\n // A border only renders with a style; the builder defaults borderStyle to 'solid'.\n if ((sp['borderWidth'] || sp['borderColor']) && sp['borderStyle'] === undefined) {\n out.push('border-style: solid');\n }\n // Default transition so own/parent hover animates smoothly (parity with the builder).\n if (hasHoverState && sp['transition'] === undefined) {\n out.push('transition: all 0.2s ease');\n }\n // An <img> ignores aspect-ratio when BOTH width and height are set. Force height:auto\n // so the ratio drives the box. Appended last so it overrides any explicit height.\n if (type === 'Image' && sp['aspectRatio']) {\n out.push('height: auto');\n }\n return out;\n}\n","/*\n * Public API Surface of iox-ui\n */\n\nexport * from './lib/view-position/view-position.directive';\nexport * from './lib/view-position/view-position.module';\n\nexport * from './lib/iox-aos/iox-aos.directive';\nexport * from './lib/iox-aos/iox-aos-container.component';\nexport * from './lib/iox-aos/iox-aos.service';\nexport * from './lib/iox-aos/iox-aos.module';\n\nexport * from './lib/iox-masonry/iox-masonry.service';\nexport * from './lib/iox-masonry/iox-masonry.component';\nexport * from './lib/iox-masonry/iox-masonry-item.directive';\nexport * from './lib/iox-masonry/iox-masonry.module';\n\nexport * from './lib/iox-ui.module';\nexport * from './lib/iox-page/page-component/page-component.component';\nexport * from './lib/iox-page/iox-page.module';\nexport * from './lib/services/page-scroll.provider';\nexport * from './lib/services/component-instance-registry.service';\n\n// CMS client infra\nexport * from './lib/iox-cms-client-infra/cms-client-infra.module';\nexport * from './lib/iox-cms-client-infra/services/consent.service';\nexport * from './lib/iox-cms-client-infra/services/web-settings.service';\nexport * from './lib/iox-cms-client-infra/services/content.service';\nexport * from './lib/iox-cms-client-infra/services/analytics.service';\nexport * from './lib/iox-cms-client-infra/components/privacy/privacy-modal.component';\nexport * from './lib/iox-cms-client-infra/components/privacy/privacy-modal.service';\n\n// Builder components — extracted from iox-cms-client for shared use in builder + client engine\nexport * from './lib/builder-components/builder-tokens';\nexport * from './lib/builder-components/iox-builder-components.module';\nexport * from './lib/builder-components/iox-component-registry.service';\nexport * from './lib/builder-components/image/image.component';\nexport * from './lib/builder-components/spacer/spacer.component';\nexport * from './lib/builder-components/card/card.component';\nexport * from './lib/builder-components/divider/divider.component';\nexport * from './lib/builder-components/icon/icon.component';\nexport * from './lib/builder-components/link/link.component';\nexport * from './lib/builder-components/button/button.component';\nexport * from './lib/builder-components/button-block/button-block.component';\nexport * from './lib/builder-components/heading/heading.component';\nexport * from './lib/builder-components/text/text.component';\nexport * from './lib/builder-components/section/section.component';\nexport * from './lib/builder-components/container/container.component';\nexport * from './lib/builder-components/linked-container/linked-container.component';\nexport * from './lib/builder-components/repeater/repeater.component';\nexport * from './lib/builder-components/slider-container/slider-container.component';\nexport * from './lib/builder-components/slider-slide/slider-slide.component';\n\nexport * from './lib/style-compiler/style-compiler';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.AOSService","i1.IoxAnimateContainer","i1.PageScrollProvider","i1.PrivacyModalService","i2.ConsentService","i3","i1"],"mappings":"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"}
1
+ {"version":3,"file":"vectoriox-iox-ui.mjs","sources":["../../../projects/iox-ui/src/lib/view-position/view-position.directive.ts","../../../projects/iox-ui/src/lib/view-position/view-position.module.ts","../../../projects/iox-ui/src/lib/iox-aos/iox-aos-animations.ts","../../../projects/iox-ui/src/lib/iox-aos/iox-aos.service.ts","../../../projects/iox-ui/src/lib/iox-aos/iox-aos-container.component.ts","../../../projects/iox-ui/src/lib/iox-aos/iox-aos.directive.ts","../../../projects/iox-ui/src/lib/iox-aos/iox-aos.module.ts","../../../projects/iox-ui/src/lib/iox-masonry/iox-masonry.service.ts","../../../projects/iox-ui/src/lib/iox-masonry/iox-masonry.component.ts","../../../projects/iox-ui/src/lib/iox-masonry/iox-masonry-item.directive.ts","../../../projects/iox-ui/src/lib/iox-masonry/iox-masonry.module.ts","../../../projects/iox-ui/src/lib/services/page-scroll.provider.ts","../../../projects/iox-ui/src/lib/iox-page/page-component/page-component.component.ts","../../../projects/iox-ui/src/lib/iox-page/page-component/page-component.component.html","../../../projects/iox-ui/src/lib/iox-page/iox-page.module.ts","../../../projects/iox-ui/src/lib/iox-ui.module.ts","../../../projects/iox-ui/src/lib/services/component-instance-registry.service.ts","../../../projects/iox-ui/src/lib/iox-cms-client-infra/components/privacy/privacy-modal.service.ts","../../../projects/iox-ui/src/lib/iox-cms-client-infra/services/consent.service.ts","../../../projects/iox-ui/src/lib/iox-cms-client-infra/components/privacy/privacy-modal.component.ts","../../../projects/iox-ui/src/lib/iox-cms-client-infra/components/privacy/privacy-modal.component.html","../../../projects/iox-ui/src/lib/iox-cms-client-infra/services/web-settings.service.ts","../../../projects/iox-ui/src/lib/iox-cms-client-infra/services/content.service.ts","../../../projects/iox-ui/src/lib/iox-cms-client-infra/cms-client-infra.module.ts","../../../projects/iox-ui/src/lib/iox-cms-client-infra/services/analytics.service.ts","../../../projects/iox-ui/src/lib/builder-components/builder-tokens.ts","../../../projects/iox-ui/src/lib/builder-components/image/image.component.ts","../../../projects/iox-ui/src/lib/builder-components/spacer/spacer.component.ts","../../../projects/iox-ui/src/lib/builder-components/card/card.component.ts","../../../projects/iox-ui/src/lib/builder-components/divider/divider.component.ts","../../../projects/iox-ui/src/lib/builder-components/icon/icon.component.ts","../../../projects/iox-ui/src/lib/builder-components/link/link.component.ts","../../../projects/iox-ui/src/lib/builder-components/button/button.component.ts","../../../projects/iox-ui/src/lib/builder-components/heading/heading.component.ts","../../../projects/iox-ui/src/lib/builder-components/text/text.component.ts","../../../projects/iox-ui/src/lib/builder-components/section/section.component.ts","../../../projects/iox-ui/src/lib/builder-components/container/container.component.ts","../../../projects/iox-ui/src/lib/builder-components/linked-container/linked-container.component.ts","../../../projects/iox-ui/src/lib/builder-components/repeater/repeater.component.ts","../../../projects/iox-ui/src/lib/builder-components/button-block/button-block.component.ts","../../../projects/iox-ui/src/lib/builder-components/slider-container/slider-container.component.ts","../../../projects/iox-ui/src/lib/builder-components/slider-slide/slider-slide.component.ts","../../../projects/iox-ui/src/lib/builder-components/list/list.component.ts","../../../projects/iox-ui/src/lib/builder-components/list-item/list-item.component.ts","../../../projects/iox-ui/src/lib/builder-components/iox-builder-components.module.ts","../../../projects/iox-ui/src/lib/builder-components/iox-component-registry.service.ts","../../../projects/iox-ui/src/lib/style-compiler/style-compiler.ts","../../../projects/iox-ui/src/public-api.ts","../../../projects/iox-ui/src/vectoriox-iox-ui.ts"],"sourcesContent":["import {AfterViewInit, Directive, ElementRef, EventEmitter, HostListener, Input, Output} from '@angular/core';\n\n@Directive({\n selector:'[view-position]',\n standalone: false\n})\n\nexport class ViewPositionDirective implements AfterViewInit{\n\n private _viewPortHighet!:number;\n private _elementHeight!: number;\n private _elementOffseTop!: number;\n private _curterScreen!:number;\n private _halfSscreen!:number;\n \n private _scrollDirection:string= \"Down\";\n private _scrollPos:number = 0;\n public isOnScreen: boolean = false;\n public isHalfScreen: boolean = false;\n \n @Input() data:any\n @Output() onEnter:EventEmitter<any> = new EventEmitter();\n @Output() onLeave:EventEmitter<any> = new EventEmitter();\n @Output() onHalf:EventEmitter<any> = new EventEmitter();\n\n constructor(private _elr:ElementRef){\n this._initScreenDeminitions();\n console.log(`screent highet: ${this._viewPortHighet}`);\n }\n\n\n ngAfterViewInit(): void {\n this._elementOffseTop = this._elr.nativeElement.offsetTop;\n this._elementHeight = this._elr.nativeElement.offsetHeight;\n console.log(`element offset Y = ${this._elementOffseTop}`); \n }\n\n\n @HostListener('window:scroll', ['$event']) onScroll(e: Event): void {\n\n if ((document.body.getBoundingClientRect()).top > this._scrollPos){\n if(this._scrollDirection != \"Up\"){\n this.isHalfScreen =false;\n this._scrollDirection = \"Up\"\n }\n } \n\t else{\n if(this._scrollDirection !=\"Down\"){\n this.isHalfScreen =false;\n this._scrollDirection = \"Down\"\n }\n } \n\t this._scrollPos = (document.body.getBoundingClientRect()).top;\n\n\n let currentClientHight = this._elr.nativeElement.getBoundingClientRect().top;\n if(currentClientHight >= this._viewPortHighet || currentClientHight < -this._elementHeight){\n if(this.isOnScreen){\n this.isOnScreen = false;\n this.onLeave.emit(\"OUT\");\n }\n }else{\n if(!this.isOnScreen){\n this.isOnScreen = true;\n this.onEnter.emit(\"IN\");\n }\n }\n\n if(currentClientHight < this._halfSscreen && currentClientHight > 0 && this._scrollDirection == \"Down\") {\n if(!this.isHalfScreen){\n this.isHalfScreen = true;\n console.log(\"half\")\n this.onHalf.emit(this.data);\n }\n }\n\n if(currentClientHight + this._elementHeight > this._halfSscreen && currentClientHight +this._elementHeight < this._viewPortHighet && this._scrollDirection == \"Up\") {\n if(!this.isHalfScreen){\n this.isHalfScreen = true;\n console.log(\"I am half\")\n this.onHalf.emit(this.data);\n }\n }\n }\n\n @HostListener('window:resize', ['$event']) onResize(e: Event) {\n this._viewPortHighet = window.innerHeight;\n this._initScreenDeminitions();\n }\n \n \n\n private _initScreenDeminitions(){\n this._viewPortHighet = window.innerHeight;\n this._curterScreen = Math.trunc(this._viewPortHighet *0.25);\n this._halfSscreen = Math.trunc(this._viewPortHighet *0.5);\n }\n }","import { NgModule } from '@angular/core';\nimport { ViewPositionDirective } from './view-position.directive';\n\n\n\n@NgModule({\n declarations: [\n ViewPositionDirective\n ],\n imports: [\n ],\n exports: [\n ViewPositionDirective\n ]\n})\nexport class ViewPositionModule { }\n","import { AnimationBuilder, style, animate, keyframes } from '@angular/animations';\n\n/********** Entries Animations ********************/\n\nexport const IoxAnimationStyles: any = {}\n\nIoxAnimationStyles[\"fade-up\"] = (delay:string, duration:string)=>{\n return [style({ opacity: 0, transform: \"translate3d(0,100px,0)\"}),\n animate(`${duration} ${delay} cubic-bezier(0.445, 0.05, 0.55, 0.95)`, style({ opacity: 1, transform: \"translateZ(0)\" }))]\n}\n\nIoxAnimationStyles[\"fade-right\"] = (delay:string, duration:string)=>{\n return [style({ opacity: 0, transform: \"translateX(150px)\"}),\n animate(`${duration} ${delay} cubic-bezier(0.445, 0.05, 0.55, 0.95)`, style({ opacity: 1, transform: \"translateZ(0)\" }))]\n}\n\nIoxAnimationStyles[\"fade-out-right\"] = (delay:string, duration:string)=>{\n return [style({ opacity: 1, transform: \"translateX(0px)\"}),\n animate(`${duration} ${delay} cubic-bezier(0.445, 0.05, 0.55, 0.95)`, style({ opacity: 0, transform: \"translateX(150px)\" }))]\n}\n\nIoxAnimationStyles[\"fade-left\"] = (delay:string, duration:string)=>{\n return [style({ opacity: 0, transform: \"translateX(-150px)\"}),\n animate(`${duration} ${delay} cubic-bezier(0.445, 0.05, 0.55, 0.95)`, style({ opacity: 1, transform: \"translateZ(0)\" }))]\n}\n\nIoxAnimationStyles[\"fade-out-up\"] = (delay:string, duration:string)=>{\n return [ style({ opacity: 1, transform: \"translateZ(0)\" }),\n animate(`${duration} ${delay} cubic-bezier(0.445, 0.05, 0.55, 0.95)`, style({ opacity: 0, transform: \"translate3d(0,-100px,0)\"}))]\n}\n\nIoxAnimationStyles[\"flip-left\"] = (delay:string, duration:string)=>{\n return [style({opacity: 0,transform: \"perspective(2500px) rotateY(-100deg)\"}),\n animate(`${duration} ${delay} cubic-bezier(0.445, 0.05, 0.55, 0.95)`, style({ opacity: 1, transform: \"perspective(2500px) rotateY(0)\" }))]\n}\n\nIoxAnimationStyles[\"flip-up\"] = (delay:string, duration:string)=>{\n return [style({opacity: 0,transform: \"perspective(2500px) rotateX(-100deg)\"}),\n animate(`${duration} ${delay} cubic-bezier(0.445, 0.05, 0.55, 0.95)`, style({ opacity: 1, transform: \"perspective(2500px) rotateY(0)\" }))]\n}\n\nIoxAnimationStyles[\"zoom-in-up\"] = (delay:string, duration:string)=>{\n return [style({opacity: 0,transform: \"translate3d(0,100px,0) scale(.6)\"}),\n animate(`${duration} ${delay} cubic-bezier(0.445, 0.05, 0.55, 0.95)`, style({ opacity: 1, transform: \"translateZ(0) scale(1)\" }))]\n}","import { Injectable } from \"@angular/core\";\nimport { Observable, Subject } from \"rxjs\";\n\n\n\n@Injectable({providedIn: 'root'})\nexport class AOSService {\n\n\n\n private _scrollOffset:Subject<any> = new Subject();\n public readonly scrollOffset: Observable<any> = this._scrollOffset.asObservable();\n \n constructor() { }\n\n\n updateScrollOffset(offset:any){\n this._scrollOffset.next(offset);\n }\n\n}","import { Component, ElementRef, HostListener, Input, SimpleChanges, ViewChild } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\nimport { AOSService } from './iox-aos.service';\n\n@Component({\n selector: \"[ioxAnimateContainer], ioxAnimateContainer\",\n template:`<div class='animate_root_element' #animateRooteElement>\n <ng-content></ng-content>\n </div>`,\n standalone: false\n})\nexport class IoxAnimateContainer {\n\n @Input('kickIn') kickIn = true;\n\n private _scrollOffset:Subject<any> = new Subject();\n public readonly scrollOffset: Observable<any> = this._scrollOffset.asObservable();\n @ViewChild('animateRooteElement') public animateRooteElement:any;\n \n\n constructor(private _element: ElementRef, private _aOSService: AOSService) {\n }\n\n ngAfterViewInit(){\n this.updateOffset();\n }\n\n @HostListener('scroll', ['$event'])\n public onScroll($event:any){\n this.updateOffset();\n }\n\n ngOnChanges(changes: SimpleChanges) {\n console.log(changes);\n if(changes['kickIn'] && changes['kickIn'].currentValue){\n this.updateOffset();\n }\n }\n\n\n private updateOffset(){\n let elClientRect = this.animateRooteElement.nativeElement.getBoundingClientRect();\n this._scrollOffset.next(elClientRect);\n this._aOSService.updateScrollOffset(elClientRect);\n }\n}","import { Directive, OnDestroy, AfterViewInit, ElementRef, Input, OnInit, Renderer2, HostListener, Host, Optional } from \"@angular/core\";\nimport { AnimationBuilder, style, animate, AnimationPlayer } from '@angular/animations';\nimport { IoxAnimationStyles } from \"./iox-aos-animations\"\n;\nimport { IoxAnimateContainer } from \"./iox-aos-container.component\";\n@Directive({\n selector: \"[ioxAnimate], ioxAnimate\",\n standalone: false\n })\n export class IoxAosDirective implements OnDestroy, OnInit, AfterViewInit {\n \n @Input(\"animationDelay\") animationDelay: string =\"\";\n @Input(\"animationIn\") animationIn: string =\"\";\n @Input(\"animationOut\") animationOut: string = \"\";\n @Input(\"animationDuration\") animationDuration: string = \"0.5s\";\n \n // @Input(\"in\")\n // @Input(\"out\")\n\n public animation:AnimationPlayer | any;\n public isAnimationPlayed= false;\n private _elTop:number =0;\n\n\n constructor(@Host() @Optional() private _animateContainer: IoxAnimateContainer, private _element: ElementRef, private _animationBuilder:AnimationBuilder, private _renderer: Renderer2){\n \n this._renderer.setStyle(_element.nativeElement,'opacity', '0');\n }\n\n public ngOnInit(){\n }\n\n public ngAfterViewInit(){\n\n setTimeout(()=>{\n\n this._elTop = this._cumulativeOffset(this._element.nativeElement).top;\n\n if(this._animateContainer){\n if(this._animateContainer.kickIn){\n this.runIfVisiable();\n }else{\n return\n }\n }else{\n this.runIfVisiable();\n }\n\n \n \n },150)\n\n const resizeObserver = new ResizeObserver((entries) =>\n this._elTop = this._cumulativeOffset(this._element.nativeElement).top\n );\n\n resizeObserver.observe(document.body);\n \n if(this._animateContainer){\n this._animateContainer?.scrollOffset.subscribe((offset:any)=>{\n if(this._animateContainer.kickIn){\n this.scrollEventHandler(-1 *offset.top);\n }\n })\n }\n\n \n }\n\n public makeAnimationIn(animationStyle:any):AnimationPlayer{\n let animation = IoxAnimationStyles[animationStyle](this.animationDelay, this.animationDuration);\n const myAnimation = this._animationBuilder.build(animation)\n return myAnimation.create(this._element.nativeElement); \n\n }\n\n private _cumulativeOffset(element:any) {\n var top = 0, left = 0;\n do {\n top += element.offsetTop || 0;\n left += element.offsetLeft || 0;\n element = element.offsetParent;\n } while(element);\n \n return {\n top: top,\n left: left\n };\n };\n\n @HostListener('document:scroll', ['$event']) onScrollEvent($event:any){\n this.scrollEventHandler(window.pageYOffset)\n }\n \n public isVisable(offset:number){\n //console.log(this._elTop >= window.pageYOffset && this._elTop <= window.pageYOffset + window.innerHeight);\n //return this._elTop >= window.pageYOffset && this._elTop <= window.pageYOffset + window.innerHeight;\n return this._elTop >= offset && this._elTop <= offset + window.innerHeight;\n }\n\n\n public scrollEventHandler(offset:number){\n\n if(this._animateContainer && this._animateContainer.kickIn == false){\n return\n }\n\n if(this.isVisable(offset) && !this.isAnimationPlayed){\n let animationStyle = this.animationIn || \"fade-up\";\n this.makeAnimationIn(animationStyle).play();\n this.isAnimationPlayed = true;\n }else if(!this.isVisable(offset) && this.isAnimationPlayed && this.animationOut){\n this.makeAnimationIn(this.animationOut).play();\n this.isAnimationPlayed =false;\n }\n }\n\n public runIfVisiable(){\n if(this.isVisable(window.pageYOffset)){\n let animationStyle = this.animationIn || \"fade-up\";\n this.makeAnimationIn(animationStyle).play();\n this.isAnimationPlayed = true;\n }\n }\n public ngOnDestroy(){\n\n }\n\n }\n\nfunction ViewParent() {\n throw new Error(\"Function not implemented.\");\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { IoxAosDirective } from './iox-aos.directive';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { IoxAnimateContainer } from './iox-aos-container.component';\nimport { AOSService } from './iox-aos.service';\n\n\n@NgModule({\n declarations: [\n IoxAosDirective,\n IoxAnimateContainer\n ],\n imports: [\n BrowserAnimationsModule\n ],\n providers:[\n AOSService\n ],\n exports: [\n IoxAosDirective,\n IoxAnimateContainer\n ]\n})\nexport class IoxAosModule { \n\n static forRoot(): ModuleWithProviders<any> {\n return {\n ngModule: IoxAosModule,\n providers: [AOSService]\n };\n }\n\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class IoxMasonryService {\n\n constructor() { }\n}\n","import { Component, OnInit, Input, Output, EventEmitter, HostListener, ElementRef, AfterViewInit} from '@angular/core';\nimport { Masonry } from '@fristys/masonry';\n\n\n@Component({ \n selector: \"[iox-masonry], iox-masonry\",\n template: `<ng-content></ng-content>`,\n styles: [],\n standalone: false\n})\nexport class IoxMasonryComponent implements OnInit, AfterViewInit {\n\n \n\n // Inputs\n @Input() public options: any = {};\n @Input() public useImagesLoaded: Boolean = false;\n @Input() updateLayout: Boolean = false;\n\n @Output() layoutComplete: EventEmitter<any[]> = new EventEmitter<any[]>();\n \n public _msnry: any;\n private isAppendAllowed:boolean = true;\n\n constructor(private _element: ElementRef) { }\n\n ngAfterViewInit(): void {\n console.log(\"test\");\n }\n\n ngOnInit() {\n this._msnry = new Masonry(document.getElementById('masonry'), this.options);\n this.layout(); \n }\n \n ngOnChanges(changes: any) {\n console.log(changes);\n }\n\n\n add = (element: HTMLElement)=>{\n setTimeout(()=>{\n this._msnry.init();\n },200)\n\n }\n\n public remove(element: HTMLElement) {\n this._msnry.remove(element);\n }\n\n public layout() {\n setTimeout(() => {\n this._msnry.init();\n });\n }\n\n}\n\nexport interface IoxMasonryOptions {\n columns?: number;\n columnBreakpoints?: number;\n gutter?: number | string;\n initOnImageLoad?: boolean;\n loadingClass?: string;\n loadedClass?: string;\n onInit?:any;\n bindOnScroll?: boolean;\n useContainerWidth?: boolean;\n trackItemSizeChanges?: boolean;\n}\n","import { Directive, Inject, ElementRef, forwardRef, OnDestroy, AfterViewInit, Renderer2 } from '@angular/core';\nimport { IoxMasonryComponent } from './iox-masonry.component';\n@Directive({\n selector: \"[ioxMasonryItem], ioxMasonryItem\",\n standalone: false\n})\nexport class IoxMasonryItemDirective implements OnDestroy, AfterViewInit {\n constructor(\n private _element: ElementRef,\n @Inject(forwardRef(() => IoxMasonryComponent))\n private _parent: IoxMasonryComponent,\n private _renderer:Renderer2) {\n //this._renderer.setStyle(_element.nativeElement,'opacity', '0');\n }\n\n ngAfterViewInit() {\n console.log(this._element.nativeElement);\n this._parent.add(this._element.nativeElement);\n }\n\n ngOnDestroy() {\n this._parent.remove(this._element.nativeElement);\n }\n}","import { NgModule } from '@angular/core';\nimport { IoxMasonryComponent } from './iox-masonry.component';\nimport { IoxMasonryItemDirective } from './iox-masonry-item.directive';\nimport { BrowserModule } from '@angular/platform-browser';\n\n\n\n@NgModule({\n declarations: [IoxMasonryComponent, IoxMasonryItemDirective],\n imports: [\n BrowserModule\n ],\n exports: [IoxMasonryComponent, IoxMasonryItemDirective]\n})\nexport class IoxMasonryModule { }\n","import { Injectable, NgZone, inject } from '@angular/core';\nimport Lenis from 'lenis';\n\n@Injectable()\nexport class PageScrollProvider {\n // inject() (not a ctor param) so subclasses like SsrSafePageScrollProvider keep `super()`.\n private zone = inject(NgZone);\n private lenis?: Lenis;\n private rafId?: number;\n\n init(options?: ConstructorParameters<typeof Lenis>[0]): void {\n if (this.lenis) {\n this.lenis.destroy();\n }\n if (this.rafId != null) {\n cancelAnimationFrame(this.rafId);\n }\n this.lenis = new Lenis(options || {});\n this.startLoop();\n }\n\n scrollTo(y: number, options?: { duration?: number; immediate?: boolean }): void {\n this.instance.scrollTo(y, options);\n }\n\n scrollToTop(options?: { duration?: number; immediate?: boolean }): void {\n this.scrollTo(0, options);\n }\n\n get instance(): Lenis {\n if (!this.lenis) {\n throw new Error('PageScrollProvider: call init() before accessing the instance.');\n }\n return this.lenis;\n }\n\n private startLoop(): void {\n if (!this.lenis) {\n return;\n }\n // Run the perpetual rAF loop OUTSIDE Angular. In-zone, a never-ending requestAnimationFrame\n // keeps ApplicationRef.isStable() permanently false, so SSR hydration never completes\n // (NG0506: \"hydration expected isStable() to emit true ... didn't happen within 10000ms\").\n this.zone.runOutsideAngular(() => {\n const loop = (time: number) => {\n this.lenis!.raf(time);\n this.rafId = requestAnimationFrame(loop);\n };\n this.rafId = requestAnimationFrame(loop);\n });\n }\n}\n","import { Component, ElementRef, EventEmitter, Input, Output, ViewChild, AfterViewInit, OnDestroy } from '@angular/core';\nimport { fromEvent, Subscription } from 'rxjs';\nimport { PageScrollProvider } from '../../services/page-scroll.provider';\n\n@Component({\n selector: 'iox-page-component',\n templateUrl: './page-component.component.html',\n styleUrls: ['./page-component.component.scss'],\n standalone: false\n})\nexport class IoxPageComponent implements AfterViewInit, OnDestroy {\n @Input() class = '';\n @ViewChild('page') public page!: ElementRef<HTMLDivElement>;\n private scrollSubscription!: Subscription;\n @Output() scrollEvent = new EventEmitter<{\n scrollTop: number;\n scrollLeft: number;\n scrollHeight: number;\n scrollWidth: number;\n clientHeight: number;\n clientWidth: number;\n scrollPercentage: number;\n }>();\n\n constructor(private pageScrollProvider: PageScrollProvider) {}\n\n ngAfterViewInit(): void {\n if (this.page) {\n this.scrollSubscription = fromEvent(this.page.nativeElement, 'scroll').subscribe((event) => {\n this.onScroll(event as Event);\n });\n\n this.pageScrollProvider.init({\n wrapper: this.page.nativeElement,\n content: this.page.nativeElement.querySelector('.page-mask')!,\n duration: 1.2,\n easing: (t: number) => Math.min(1, 1.001 - Math.pow(2, -10 * t)),\n });\n }\n }\n\n onScroll(event: Event): void {\n const target = event.target as HTMLElement;\n const scrollTop = target.scrollTop;\n const scrollLeft = target.scrollLeft;\n const scrollHeight = target.scrollHeight;\n const scrollWidth = target.scrollWidth;\n const clientHeight = target.clientHeight;\n const clientWidth = target.clientWidth;\n const scrollPercentage = (scrollTop / (scrollHeight - clientHeight)) * 100;\n\n this.scrollEvent.emit({ scrollTop, scrollLeft, scrollHeight, scrollWidth, clientHeight, clientWidth, scrollPercentage });\n }\n\n ngOnDestroy(): void {\n if (this.scrollSubscription) {\n this.scrollSubscription.unsubscribe();\n }\n }\n}\n","<div #page [class]=\"class\" class=\"iox-page-wrapper\">\n <div class=\"page-mask\">\n <ng-content></ng-content>\n </div>\n</div>\n","\nimport { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { IoxPageComponent } from './page-component/page-component.component';\nimport { PageScrollProvider } from '../services/page-scroll.provider';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [IoxPageComponent],\n exports: [IoxPageComponent],\n providers: [PageScrollProvider]\n})\nexport class IoxPageModule {}\n","import { NgModule } from '@angular/core';\nimport { IoxAosModule } from './iox-aos/iox-aos.module';\nimport { IoxPageModule } from './iox-page/iox-page.module';\n\n\n@NgModule({\n declarations: [],\n imports: [IoxAosModule, IoxPageModule],\n exports: [IoxAosModule, IoxPageModule]\n})\nexport class IoxUiModule { }\n","import { Injectable } from '@angular/core';\n\n/**\n * Holds live component instances by nodeId so interaction engines can call\n * imperative methods (e.g. Swiper.slideNext()) without direct references.\n *\n * Components register on init and unregister on destroy.\n * Used by both InteractionEngineService (builder) and ClientInteractionService (SSR engine).\n */\n@Injectable({ providedIn: 'root' })\nexport class ComponentInstanceRegistryService {\n private _instances = new Map<string, any>();\n\n register(nodeId: string, instance: any): void {\n this._instances.set(nodeId, instance);\n }\n\n unregister(nodeId: string): void {\n this._instances.delete(nodeId);\n }\n\n get(nodeId: string): any {\n return this._instances.get(nodeId);\n }\n}\n","import { Subject } from 'rxjs';\nimport { Injectable } from '@angular/core';\n\nexport enum PrivacyModelEvent {\n OPEN = 1,\n CLOSE = 2\n}\n\n@Injectable()\nexport class PrivacyModalService {\n private modalEvent: Subject<PrivacyModelEvent> = new Subject<PrivacyModelEvent>();\n private decisionSubject: Subject<boolean> | null = null;\n\n constructor() {}\n\n public registerModalEvent(func: Function): void {\n this.modalEvent.subscribe({\n next: (val) => {\n func(val);\n }\n });\n }\n\n public openModal(): Subject<boolean> {\n this.modalEvent.next(PrivacyModelEvent.OPEN);\n this.decisionSubject = new Subject<boolean>();\n return this.decisionSubject;\n }\n\n public closeModal(): void {\n this.modalEvent.next(PrivacyModelEvent.CLOSE);\n }\n\n public notifyDecision(accepted: boolean): void {\n if (this.decisionSubject) {\n this.decisionSubject.next(accepted);\n this.decisionSubject.complete();\n this.decisionSubject = null;\n }\n this.closeModal();\n }\n}","import { Injectable, Injector, Inject } from '@angular/core';\nimport { ENVIRONMENT } from '../cms-client-infra.module';\nimport { HttpClient, HttpHeaders, HttpErrorResponse, HttpEventType, HttpEvent } from '@angular/common/http';\nimport { Observable, of } from 'rxjs';\nimport { CookieService } from 'ngx-cookie-service';\nimport { PrivacyModalService } from '../components/privacy/privacy-modal.service';\n\n\n\n@Injectable()\nexport class ConsentService {\n\n\n private readonly WEB_USER = \"webUser\";\n\n constructor(private cookieService: CookieService,\n private httpClient: HttpClient,\n private _privacyModalService: PrivacyModalService,\n @Inject(ENVIRONMENT) public environment: any) {\n }\n\n private hasAnalyticsConsent(): boolean {\n const cookieValue = this.cookieService.get(this.WEB_USER);\n if (!cookieValue) {\n return false;\n }\n\n try {\n const parsedCookieValue = JSON.parse(cookieValue);\n return parsedCookieValue.user?.consent?.analyticsConsent === true;\n } catch {\n // Invalid JSON or unexpected structure: treat as no consent\n return false;\n }\n }\n\n checkAnalyticsConsent(): Observable<boolean> {\n if (this.hasAnalyticsConsent()) {\n // Consent already given, return true immediately as Observable\n return of(true);\n }\n\n // No consent yet (or invalid/missing cookie) -> show modal\n return this._privacyModalService.openModal();\n }\n\n checkMarketingConsent() {\n let cookieValue = this.cookieService.get(this.WEB_USER);\n if (!cookieValue) {\n return false;\n }\n let parsedCookieValue = JSON.parse(cookieValue);\n return parsedCookieValue.user?.consent?.marketingConsent;\n }\n\n setConsent(analytics: boolean, marketing: boolean) {\n let cookieValue = this.cookieService.get(this.WEB_USER);\n let parsedCookieValue = cookieValue ? JSON.parse(cookieValue) : { user: { consent: { \n anonymousId: this.generateAnonymousId() \n } } };\n parsedCookieValue.user.consent.analyticsConsent = analytics;\n parsedCookieValue.user.consent.marketingConsent = marketing;\n this.cookieService.set(this.WEB_USER, JSON.stringify(parsedCookieValue));\n\n this.httpClient.post(`${this.environment.HOST}consent`, parsedCookieValue.user.consent)\n .subscribe({\n next: (response) => {\n console.log('Consent updated successfully:', response);\n },\n error: (error) => {\n console.error('Error updating consent:', error);\n }\n });\n }\n\n private generateAnonymousId() {\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {\n var r = Math.random() * 16 | 0,\n v = c === 'x' ? r : (r & 0x3 | 0x8);\n return v.toString(16);\n });\n }\n\n}","import { Component } from '@angular/core';\nimport { PrivacyModalService, PrivacyModelEvent } from './privacy-modal.service';\nimport { ConsentService } from '../../services/consent.service';\n\n@Component({\n selector: 'privacy-modal',\n templateUrl: './privacy-modal.component.html',\n styleUrls: ['./privacy-modal.component.scss'],\n standalone: false\n})\nexport class PrivacyModalComponent {\n public isOpen: boolean = false;\n constructor(private _privacyModalService: PrivacyModalService,\n private _consentService: ConsentService) {\n this._privacyModalService.registerModalEvent((event: PrivacyModelEvent) => {\n if (event == PrivacyModelEvent.CLOSE) {\n this.isOpen = false;\n } else {\n this.isOpen = true;\n }\n });\n }\n\n onAccept() {\n this._consentService.setConsent(true, true);\n this._privacyModalService.notifyDecision(true);\n this.isOpen = false;\n }\n\n onDecline() {\n this._privacyModalService.notifyDecision(false);\n this.isOpen = false;\n }\n}\n","<div class=\"privacy-modal\" [ngClass]=\"{'open': isOpen, 'closed': !isOpen}\">\n <div class=\"modal-content\">\n <h2>אנחנו שומרים על הפרטיות שלך</h2>\n <p dir=\"rtl\">\n <span>\n אנחנו משמשים בקבצי \n </span>\n <span>Cookies </span>\n <span>כדי לשפר את חווית הגלישה שלך, לנתח שימוש באתר ולהציע תוכן מותאם אישית.</span>\n <span> למידע נוסף על איך אנחנו משתמשים במידע שלך, ראה את <a target=\"_blank\" href=\"/privacy\">מדיניות הפרטיות </a> שלנו</span>\n </p>\n\n <div class=\"button-container\">\n <button class=\"accept-button\" (click)=\"onAccept()\">אני מסכים</button>\n <button class=\"decline-button\" (click)=\"onDecline()\">אני לא מסכים</button>\n </div>\n </div>\n</div>\n","import { Inject, Injectable, Injector } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpErrorResponse, HttpEventType, HttpEvent } from '@angular/common/http';\nimport { Observable, of } from 'rxjs';\nimport { CookieService } from 'ngx-cookie-service';\nimport { PrivacyModalService } from '../components/privacy/privacy-modal.service';\nimport { ENVIRONMENT } from '../cms-client-infra.module';\n\n\n\n@Injectable()\nexport class WebSettingsService {\n\n constructor(\n private httpClient: HttpClient,\n @Inject(ENVIRONMENT) private environment: any\n ) {\n }\n\n getSettings() {\n // If the server injected a runtime config (window.__APP_CONFIG) use that first,\n // otherwise fall back to the compile-time environment.HOST.\n const runtimeHost = (typeof window !== 'undefined' && (window as any).__APP_CONFIG && (window as any).__APP_CONFIG.HOST) ? (window as any).__APP_CONFIG.HOST : this.environment.HOST;\n return this.httpClient.get(`${runtimeHost}web/settings`);\n }\n\n configArrayToObject(arr: any[]): { [key: string]: any } {\n return arr.reduce((acc, item) => {\n acc[item.key] = item.value;\n return acc;\n }, {});\n }\n\n}","import { Inject, Injectable, Injector } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpErrorResponse, HttpEventType, HttpEvent } from '@angular/common/http';\nimport { Observable, pipe, of, from } from 'rxjs';\nimport { filter, map, reduce, retry } from 'rxjs/operators';\nimport { ENVIRONMENT } from '../cms-client-infra.module';\n\n\n\n@Injectable()\nexport class ContentService {\n\n private appContent:any ={};\n\n\n constructor(private httpClient: HttpClient,\n @Inject(ENVIRONMENT) private environment: any\n ) {\n }\n\n getContent(contentName:string,id?:string ) {\n \n if(this.appContent[contentName] && this.appContent[contentName].length){\n\n if(id){\n return of(this.findOne(this.appContent[contentName],id))\n }\n return of(this.appContent[contentName]);\n }\n\n return this.httpClient.get(`${this.environment.HOST}${contentName}`).pipe(map((content:any)=>{\n if(contentName == this.environment.contentResource.SERVICES || contentName == this.environment.contentResource.PROJECTS){\n content = content.map((item: any) =>{\n item.id= item.name.replace(/ /g,\"_\");\n //item._id= item.name.replace(/ /g,\"_\");\n return item;\n })\n }\n this.appContent[contentName] = content;\n if(id){\n return this.findOne(this.appContent[contentName],id)\n }\n return content;\n }));\n }\n\n private findOne(arr:any,id: string){\n for(let i=0; i < arr.length;i++){\n if(arr[i].id == id){\n return arr[i];\n }\n }\n }\n\n}","import { NgModule, ModuleWithProviders, InjectionToken } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { CookieService } from 'ngx-cookie-service';\nimport { ConsentService } from './services/consent.service';\nimport { PrivacyModalComponent } from './components/privacy/privacy-modal.component';\nimport { PrivacyModalService } from './components/privacy/privacy-modal.service';\nimport { WebSettingsService } from './services/web-settings.service';\nimport { ContentService } from './services/content.service';\n\nexport const ENVIRONMENT = new InjectionToken<any>('environment');\n\n@NgModule({\n declarations: [\n PrivacyModalComponent\n ],\n imports: [\n CommonModule\n ],\n exports: [PrivacyModalComponent]\n})\nexport class CMSClientInfraModule {\n static forRoot(environment: any): ModuleWithProviders<CMSClientInfraModule> {\n return {\n ngModule: CMSClientInfraModule,\n providers: [\n { provide: ENVIRONMENT, useValue: environment },\n ConsentService,\n ContentService,\n CookieService,\n WebSettingsService,\n PrivacyModalService\n ]\n };\n }\n}\n","import { Injectable, Inject, PLATFORM_ID } from '@angular/core';\nimport { isPlatformBrowser } from '@angular/common';\n\n@Injectable({ providedIn: 'root' })\nexport class AnalyticsService {\n private gaScriptId = 'google-analytics-script';\n\n constructor(@Inject(PLATFORM_ID) private platformId: Object) {}\n\n applyGoogleAnalytics(appId: string): void {\n if (!isPlatformBrowser(this.platformId)) return;\n\n // 1. Establish the dataLayer and the CORRECT gtag function stub\n const win = window as any;\n win.dataLayer = win.dataLayer || [];\n \n // CRITICAL FIX: The Google library requires the special 'arguments' object, \n // NOT a standard array spread [...args]. \n if (!win.gtag) {\n win.gtag = function() {\n win.dataLayer.push(arguments); \n };\n }\n\n // 2. Queue initial commands immediately (even before script loads)\n win.gtag('js', new Date());\n win.gtag('config', appId); \n\n // 3. Load the script if not already present\n if (!document.getElementById(this.gaScriptId)) {\n const script = document.createElement('script');\n script.id = this.gaScriptId;\n script.async = true;\n script.src = `https://www.googletagmanager.com/gtag/js?id=${appId}`;\n \n script.onload = () => {\n console.log('[Analytics] gtag.js script loaded and ready');\n };\n \n script.onerror = (e) => console.error('[Analytics] gtag.js failed to load', e);\n document.head.appendChild(script);\n }\n }\n\n // Helper to send events from your components\n sendEvent(eventName: string, params: object = {}): void {\n if (isPlatformBrowser(this.platformId) && (window as any).gtag) {\n (window as any).gtag('event', eventName, params);\n }\n }\n\n // Synchronous page view sender that won't rely on internal ready Promise\n sendPageView(path: string): void {\n if (!isPlatformBrowser(this.platformId)) return;\n\n const win = window as any;\n\n try {\n if (win && win.gtag) {\n // Prefer gtag when available\n win.gtag('event', 'page_view', { page_path: path });\n return;\n }\n\n // Fallback: ensure dataLayer exists and push a native arguments-like object\n win.dataLayer = win.dataLayer || [];\n // Use a plain object that resembles gtag's usage if gtag not present\n win.dataLayer.push({ event: 'page_view', page_path: path });\n } catch (err) {\n console.warn('[Analytics] sendPageView failed', err);\n }\n }\n}\n","import { InjectionToken } from '@angular/core';\n\nexport const IS_PREVIEW = new InjectionToken<boolean>('IS_PREVIEW');\n\nexport interface IBuilderEventEmitter {\n emit(type: string, data?: any): void;\n}\n\nexport const IOX_BUILDER_EVENTS = new InjectionToken<IBuilderEventEmitter>('IOX_BUILDER_EVENTS');\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'app-builder-image',\n template: `\n <img [src]=\"src\" [alt]=\"alt\" [ngClass]=\"'iox-node-' + nodeId\" [style.object-fit]=\"objectFit\" />\n `,\n styles: ['img { display: block; max-width: 100%; }'],\n standalone: false,\n})\nexport class BuilderImageComponent {\n @Input() src = 'https://placehold.co/600x400?text=Image';\n @Input() alt = 'Image';\n @Input() objectFit: 'cover' | 'contain' | 'fill' | 'none' = 'cover';\n @Input() nodeId: string = '';\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'app-builder-spacer',\n template: `<div class=\"iox-spacer\" [ngClass]=\"'iox-node-' + nodeId\"></div>`,\n styles: ['.iox-spacer { display: block; flex-shrink: 0; }'],\n standalone: false,\n})\nexport class BuilderSpacerComponent {\n @Input() nodeId: string = '';\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'app-card',\n template: `\n <div class=\"card\" [ngClass]=\"'iox-node-' + nodeId\">\n <div class=\"image-wrapper\">\n <img [src]=\"image\" alt=\"Card image\" class=\"card-img\">\n </div>\n <h2>{{ title }}</h2>\n <p>{{ description }}</p>\n </div>\n `,\n styles: [\n '.image-wrapper { width: 100%; aspect-ratio: 1/1; overflow: hidden; margin-bottom: 0.75rem; }',\n '.card-img { width: 100%; height: 100%; object-fit: cover; }',\n 'h2 { margin: 0 0 0.5rem 0; font-size: 1.2rem; }',\n 'p { margin: 0; }',\n ],\n standalone: false,\n})\nexport class CardComponent {\n @Input() title: string = '';\n @Input() image: string = '';\n @Input() description: string = '';\n @Input() nodeId: string = '';\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'app-builder-divider',\n template: `<div class=\"iox-divider\" [ngClass]=\"'iox-node-' + nodeId\"></div>`,\n styles: ['.iox-divider { box-sizing: border-box; }'],\n standalone: false,\n})\nexport class BuilderDividerComponent {\n @Input() nodeId: string = '';\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'app-builder-icon',\n template: `<i [ngClass]=\"[iconClass, 'iox-node-' + nodeId]\"></i>`,\n styles: [':host { display: block; } i { display: block; line-height: 1; }'],\n standalone: false,\n})\nexport class BuilderIconComponent {\n /** Full Phosphor icon CSS class string, e.g. \"ph-thin ph-star\" */\n @Input() iconClass = 'ph-thin ph-star';\n @Input() nodeId: string = '';\n}\n","import { ChangeDetectionStrategy, Component, Inject, Input, Optional } from '@angular/core';\nimport { IS_PREVIEW } from '../builder-tokens';\n\n@Component({\n selector: 'app-builder-link',\n template: `\n <a [href]=\"isPreview ? resolvedHref : null\"\n [attr.target]=\"isPreview ? target : null\"\n [ngStyle]=\"style\"\n [style.pointerEvents]=\"isPreview ? '' : 'none'\"\n [ngClass]=\"'iox-node-' + nodeId\"\n class=\"builder-link\"\n (click)=\"onLinkClick($event)\">\n {{ label }}\n </a>\n `,\n styles: [`\n .builder-link {\n display: inline;\n cursor: pointer;\n color: inherit;\n }\n `],\n standalone: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BuilderLinkComponent {\n @Input() nodeId: string = '';\n @Input() label = 'Click here';\n @Input() linkType: 'external' | 'page' = 'external';\n @Input() url = 'https://';\n @Input() pageRoute = '';\n @Input() target: '_self' | '_blank' | '_parent' | '_top' = '_self';\n @Input() style: { [key: string]: any } = {};\n\n constructor(@Optional() @Inject(IS_PREVIEW) public isPreview: boolean) {}\n\n get resolvedHref(): string {\n if (this.linkType !== 'page') return this.url || '#';\n return this.pageRoute || '#';\n }\n\n onLinkClick(event: MouseEvent): void {\n if (!this.isPreview) {\n event.preventDefault();\n event.stopPropagation();\n }\n }\n}\n","import { ChangeDetectionStrategy, Component, Inject, Input, OnInit, Optional } from '@angular/core';\nimport { IBuilderEventEmitter, IOX_BUILDER_EVENTS } from '../builder-tokens';\n\ninterface EditableNode {\n bindings?: Array<{ prop: string }>;\n traits?: Array<{ name: string; default: any }>;\n}\n\n@Component({\n selector: 'app-builder-button',\n template: `\n <a [href]=\"link\" class=\"builder-btn\" [ngClass]=\"['variant-' + variant, 'iox-node-' + nodeId]\"\n [attr.contenteditable]=\"editing ? 'true' : null\"\n (dblclick)=\"startEdit($event)\"\n (blur)=\"commitEdit($event)\"\n (keydown)=\"onKeyDown($event)\">\n {{ label }}\n </a>\n `,\n styles: [`\n .builder-btn {\n display: inline-block;\n padding: 0.6rem 1.5rem;\n border-radius: 6px;\n font-size: 0.9rem;\n text-decoration: none;\n cursor: pointer;\n text-align: center;\n transition: opacity 0.15s;\n }\n .variant-primary {\n background: #cb9090;\n color: #fff;\n border: 1px solid #cb9090;\n }\n .variant-outlined {\n background: transparent;\n color: #cb9090;\n border: 1px solid #cb9090;\n }\n .variant-text {\n background: transparent;\n color: #cb9090;\n border: 1px solid transparent;\n }\n [contenteditable] { outline: 2px solid #cb9090; cursor: text; }\n `],\n standalone: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BuilderButtonComponent implements OnInit {\n @Input() label = 'Click me';\n @Input() link = '#';\n @Input() variant: 'primary' | 'outlined' | 'text' = 'primary';\n @Input() nodeId: string = '';\n @Input() node: EditableNode | null = null;\n\n public editing = false;\n\n constructor(@Optional() @Inject(IOX_BUILDER_EVENTS) private events: IBuilderEventEmitter | null) {}\n\n ngOnInit(): void {}\n\n startEdit(event: MouseEvent): void {\n if (this.isBound('label')) return;\n event.preventDefault();\n event.stopPropagation();\n this.editing = true;\n setTimeout(() => (event.target as HTMLElement).focus());\n }\n\n commitEdit(event: FocusEvent): void {\n if (!this.editing) return;\n this.editing = false;\n const newValue = (event.target as HTMLElement).innerText.trim();\n this.label = newValue;\n this.syncTraitToPanel('label', newValue);\n }\n\n onKeyDown(event: KeyboardEvent): void {\n if (event.key === 'Enter') {\n event.preventDefault();\n (event.target as HTMLElement).blur();\n }\n if (event.key === 'Escape') {\n this.editing = false;\n (event.target as HTMLElement).blur();\n }\n event.stopPropagation();\n }\n\n private isBound(prop: string): boolean {\n return (this.node?.bindings || []).some(b => b.prop === prop);\n }\n\n private syncTraitToPanel(prop: string, value: string): void {\n if (!this.node || !this.events) return;\n const trait = (this.node.traits || []).find(t => t.name === prop);\n if (trait) { trait.default = value; }\n this.events.emit('elementselect', { node: this.node, componentRef: null });\n }\n}\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Inject, Input, OnInit, Optional } from '@angular/core';\nimport { IBuilderEventEmitter, IOX_BUILDER_EVENTS } from '../builder-tokens';\n\ninterface EditableNode {\n bindings?: Array<{ prop: string }>;\n traits?: Array<{ name: string; default: any }>;\n}\n\n@Component({\n selector: 'app-builder-heading',\n template: `\n <ng-container [ngSwitch]=\"level\">\n <h1 *ngSwitchCase=\"'h1'\" [ngClass]=\"'iox-node-' + nodeId\"\n [attr.contenteditable]=\"editing ? 'true' : null\"\n (mousedown)=\"onMouseDown($event)\"\n (dblclick)=\"startEdit($event)\" (blur)=\"commitEdit($event)\" (keydown)=\"onKeyDown($event)\">{{ content }}</h1>\n <h2 *ngSwitchCase=\"'h2'\" [ngClass]=\"'iox-node-' + nodeId\"\n [attr.contenteditable]=\"editing ? 'true' : null\"\n (mousedown)=\"onMouseDown($event)\"\n (dblclick)=\"startEdit($event)\" (blur)=\"commitEdit($event)\" (keydown)=\"onKeyDown($event)\">{{ content }}</h2>\n <h3 *ngSwitchCase=\"'h3'\" [ngClass]=\"'iox-node-' + nodeId\"\n [attr.contenteditable]=\"editing ? 'true' : null\"\n (mousedown)=\"onMouseDown($event)\"\n (dblclick)=\"startEdit($event)\" (blur)=\"commitEdit($event)\" (keydown)=\"onKeyDown($event)\">{{ content }}</h3>\n <h4 *ngSwitchCase=\"'h4'\" [ngClass]=\"'iox-node-' + nodeId\"\n [attr.contenteditable]=\"editing ? 'true' : null\"\n (mousedown)=\"onMouseDown($event)\"\n (dblclick)=\"startEdit($event)\" (blur)=\"commitEdit($event)\" (keydown)=\"onKeyDown($event)\">{{ content }}</h4>\n <h5 *ngSwitchCase=\"'h5'\" [ngClass]=\"'iox-node-' + nodeId\"\n [attr.contenteditable]=\"editing ? 'true' : null\"\n (mousedown)=\"onMouseDown($event)\"\n (dblclick)=\"startEdit($event)\" (blur)=\"commitEdit($event)\" (keydown)=\"onKeyDown($event)\">{{ content }}</h5>\n <h6 *ngSwitchDefault [ngClass]=\"'iox-node-' + nodeId\"\n [attr.contenteditable]=\"editing ? 'true' : null\"\n (mousedown)=\"onMouseDown($event)\"\n (dblclick)=\"startEdit($event)\" (blur)=\"commitEdit($event)\" (keydown)=\"onKeyDown($event)\">{{ content }}</h6>\n </ng-container>\n `,\n styles: [`\n h1,h2,h3,h4,h5,h6 { margin: 0; }\n [contenteditable] { outline: none; cursor: text; }\n `],\n standalone: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BuilderHeadingComponent implements OnInit {\n @Input() content = 'Heading';\n @Input() level: 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' = 'h2';\n @Input() nodeId: string = '';\n @Input() node: EditableNode | null = null;\n\n public editing = false;\n\n constructor(\n @Optional() @Inject(IOX_BUILDER_EVENTS) private events: IBuilderEventEmitter | null,\n private cdr: ChangeDetectorRef,\n ) {}\n\n ngOnInit(): void {}\n\n onMouseDown(event: MouseEvent): void {\n if (this.editing) { event.stopPropagation(); }\n }\n\n startEdit(event: MouseEvent): void {\n if (this.isBound('content')) return;\n event.stopPropagation();\n this.editing = true;\n this.cdr.detectChanges();\n this.cdr.detach();\n const el = event.target as HTMLElement;\n setTimeout(() => { el.focus(); });\n }\n\n commitEdit(event: FocusEvent): void {\n if (!this.editing) return;\n this.editing = false;\n const newValue = (event.target as HTMLElement).innerText;\n this.content = newValue;\n this.cdr.reattach();\n this.syncTraitToPanel('content', newValue);\n }\n\n onKeyDown(event: KeyboardEvent): void {\n if (event.key === 'Enter' && !event.shiftKey) {\n event.preventDefault();\n (event.target as HTMLElement).blur();\n }\n if (event.key === 'Escape') {\n this.editing = false;\n this.cdr.reattach();\n (event.target as HTMLElement).blur();\n }\n event.stopPropagation();\n }\n\n private isBound(prop: string): boolean {\n return (this.node?.bindings || []).some(b => b.prop === prop);\n }\n\n private syncTraitToPanel(prop: string, value: string): void {\n if (!this.node || !this.events) return;\n const trait = (this.node.traits || []).find(t => t.name === prop);\n if (trait) { trait.default = value; }\n this.events.emit('elementselect', { node: this.node, componentRef: null, isCanvasUpdate: true });\n }\n}\n","import { ChangeDetectorRef, Component, Inject, Input, OnInit, Optional } from '@angular/core';\nimport { IBuilderEventEmitter, IOX_BUILDER_EVENTS } from '../builder-tokens';\n\ninterface EditableNode {\n bindings?: Array<{ prop: string }>;\n traits?: Array<{ name: string; default: any }>;\n}\n\n@Component({\n selector: 'app-text-block',\n template: `\n <ng-container [ngSwitch]=\"tag\">\n <p *ngSwitchDefault\n [ngClass]=\"'iox-node-' + nodeId\"\n [attr.contenteditable]=\"editing ? 'true' : null\"\n (pointerdown)=\"onPointerDown($event)\"\n (mousedown)=\"onMouseDown($event)\"\n (dblclick)=\"startEdit($event)\"\n (blur)=\"commitEdit($event)\"\n (keydown)=\"onKeyDown($event)\"\n (paste)=\"onPaste($event)\"\n [innerHTML]=\"content\"></p>\n <span *ngSwitchCase=\"'span'\"\n [ngClass]=\"'iox-node-' + nodeId\"\n [attr.contenteditable]=\"editing ? 'true' : null\"\n (pointerdown)=\"onPointerDown($event)\"\n (mousedown)=\"onMouseDown($event)\"\n (dblclick)=\"startEdit($event)\"\n (blur)=\"commitEdit($event)\"\n (keydown)=\"onKeyDown($event)\"\n (paste)=\"onPaste($event)\"\n [innerHTML]=\"content\"></span>\n </ng-container>\n `,\n styles: [`\n p, span { margin: 0; white-space: pre-wrap; }\n [contenteditable] { outline: none; cursor: text; }\n `],\n standalone: false,\n})\nexport class TextBlockComponent implements OnInit {\n @Input() content = 'Enter text here';\n @Input() tag: 'p' | 'span' = 'p';\n @Input() style: { [key: string]: any } = {};\n @Input() nodeId: string = '';\n @Input() node: EditableNode | null = null;\n\n public editing = false;\n\n constructor(\n @Optional() @Inject(IOX_BUILDER_EVENTS) private events: IBuilderEventEmitter | null,\n private cdr: ChangeDetectorRef,\n ) {}\n\n ngOnInit(): void {}\n\n onPointerDown(event: PointerEvent): void {\n if (this.editing) { event.stopPropagation(); }\n }\n\n onMouseDown(event: MouseEvent): void {\n if (this.editing) { event.stopPropagation(); }\n }\n\n startEdit(event: MouseEvent): void {\n if (this.isBound('content')) return;\n event.stopPropagation();\n this.editing = true;\n this.cdr.detectChanges();\n this.cdr.detach();\n const el = event.target as HTMLElement;\n el.closest('[data-iox-draggable]')?.setAttribute('data-editing', '');\n setTimeout(() => { el.focus(); });\n }\n\n onPaste(event: ClipboardEvent): void {\n event.preventDefault();\n const plain = event.clipboardData?.getData('text/plain') ?? '';\n // Insert as plain text so no inline styles from clipboard survive\n document.execCommand('insertText', false, plain);\n }\n\n commitEdit(event: FocusEvent): void {\n if (!this.editing) return;\n this.editing = false;\n const el = event.target as HTMLElement;\n el.closest('[data-iox-draggable]')?.removeAttribute('data-editing');\n const newValue = el.innerText;\n this.content = newValue;\n // Explicitly reset to plain text so any pasted HTML nodes are gone\n // before Angular re-renders {{ content }}\n el.textContent = newValue;\n this.cdr.reattach();\n this.syncTraitToPanel('content', newValue);\n }\n\n onKeyDown(event: KeyboardEvent): void {\n if (event.key === 'Escape') {\n this.editing = false;\n this.cdr.reattach();\n (event.target as HTMLElement).blur();\n }\n event.stopPropagation();\n }\n\n private isBound(prop: string): boolean {\n return (this.node?.bindings || []).some(b => b.prop === prop);\n }\n\n private syncTraitToPanel(prop: string, value: string): void {\n if (!this.node || !this.events) return;\n const trait = (this.node.traits || []).find(t => t.name === prop);\n if (trait) { trait.default = value; }\n this.events.emit('elementselect', { node: this.node, componentRef: null, isCanvasUpdate: true });\n }\n}\n","import { Component, Input, ViewChild, ViewContainerRef } from '@angular/core';\n\n@Component({\n selector: 'iox-section',\n template: `\n <div class=\"section-root\" [ngClass]=\"['iox-node-' + nodeId]\">\n <ng-container #childrenHost></ng-container>\n </div>\n `,\n styles: [`.section-root { position: relative; box-sizing: border-box; }`],\n standalone: false,\n})\nexport class SectionComponent {\n @Input() nodeId = '';\n\n @ViewChild('childrenHost', { read: ViewContainerRef, static: true })\n childrenHost!: ViewContainerRef;\n}\n","import { Component, Input, ViewChild, ViewContainerRef } from '@angular/core';\n\n@Component({\n selector: 'iox-container',\n template: `\n <div class=\"container-root\" [ngClass]=\"['iox-node-' + nodeId]\">\n <ng-container #childrenHost></ng-container>\n </div>\n `,\n styles: [`.container-root { position: relative; box-sizing: border-box; }`],\n standalone: false,\n})\nexport class ContainerComponent {\n @Input() nodeId = '';\n\n @ViewChild('childrenHost', { read: ViewContainerRef, static: true })\n childrenHost!: ViewContainerRef;\n}\n","import { Component, ElementRef, Inject, Input, OnDestroy, OnInit, Optional, ViewChild, ViewContainerRef } from '@angular/core';\nimport { IS_PREVIEW } from '../builder-tokens';\n\n@Component({\n selector: 'iox-linked-container',\n template: `\n <a [href]=\"resolvedHref\"\n [target]=\"target\"\n [ngClass]=\"['iox-node-' + nodeId]\"\n class=\"linked-container-root\">\n <ng-container #childrenHost></ng-container>\n </a>\n `,\n styles: [`\n .linked-container-root {\n display: block;\n position: relative;\n box-sizing: border-box;\n text-decoration: none;\n color: inherit;\n cursor: pointer;\n }\n `],\n standalone: false,\n})\nexport class LinkedContainerComponent implements OnInit, OnDestroy {\n @Input() nodeId = '';\n @Input() linkType: 'external' | 'page' = 'external';\n @Input() url = 'https://';\n @Input() pageRoute = '';\n @Input() target: '_self' | '_blank' | '_parent' | '_top' = '_self';\n\n @ViewChild('childrenHost', { read: ViewContainerRef, static: true })\n childrenHost!: ViewContainerRef;\n\n private capturePreventDefault = (e: MouseEvent) => e.preventDefault();\n\n constructor(\n private elRef: ElementRef<HTMLElement>,\n @Optional() @Inject(IS_PREVIEW) private isPreview: boolean,\n ) {}\n\n ngOnInit(): void {\n if (!this.isPreview) {\n this.elRef.nativeElement.addEventListener('click', this.capturePreventDefault, true);\n }\n }\n\n ngOnDestroy(): void {\n if (!this.isPreview) {\n this.elRef.nativeElement.removeEventListener('click', this.capturePreventDefault, true);\n }\n }\n\n get resolvedHref(): string {\n if (this.linkType !== 'page') return this.url || '#';\n return this.pageRoute || '#';\n }\n}\n","import { Component, Input, ViewChild, ViewContainerRef } from '@angular/core';\n\n/**\n * Client-engine repeater shell. Data fetching and item expansion are handled\n * by DataSourceResolverService + BindingApplicatorService in the PageResolver\n * before this component is rendered. ClientRenderDirective inserts one child\n * per resolved item into childrenHost.\n */\n@Component({\n selector: 'iox-repeater',\n template: `\n <div class=\"repeater-root\" [ngClass]=\"['iox-node-' + nodeId]\">\n <ng-container #childrenHost></ng-container>\n </div>\n `,\n styles: [`.repeater-root { position: relative; box-sizing: border-box; }`],\n standalone: false,\n})\nexport class ClientRepeaterComponent {\n @Input() nodeId = '';\n\n @ViewChild('childrenHost', { read: ViewContainerRef, static: true })\n childrenHost!: ViewContainerRef;\n}\n","import { Component, Input, ViewChild, ViewContainerRef } from '@angular/core';\n\n@Component({\n selector: 'app-button-block',\n template: `\n <button *ngIf=\"tag !== 'a'\"\n [ngClass]=\"'iox-node-' + nodeId\"\n [attr.type]=\"type\">\n <ng-container #buttonHost></ng-container>\n </button>\n <a *ngIf=\"tag === 'a'\"\n [ngClass]=\"'iox-node-' + nodeId\"\n [attr.href]=\"href || null\"\n [attr.target]=\"target || null\">\n <ng-container #linkHost></ng-container>\n </a>\n `,\n styles: [`\n /* Only properties NOT controlled by the style engine — everything else comes\n from .iox-node-{id} generated by StyleRegistryService. Hardcoded values\n here would beat the style engine (Angular adds [_ngcontent] → 0,1,1 vs\n style engine's 0,1,0) and make style panel changes have no effect. */\n button, a {\n /* Fill the iox-outer wrapper so the user-set width takes effect.\n width is an OUTER_PROP so the style engine writes it on the wrapper,\n not here — this 100% bridges outer wrapper → host → inner button.\n height is NOT 100% to avoid stretching inside a tall flex container. */\n width: 100%;\n font: inherit;\n color: inherit;\n text-decoration: none;\n box-sizing: border-box;\n }\n `],\n standalone: false,\n})\nexport class ButtonBlockComponent {\n @Input() tag: 'button' | 'a' = 'button';\n @Input() href = '';\n @Input() target: '_self' | '_blank' = '_self';\n @Input() type: 'button' | 'submit' | 'reset' = 'button';\n @Input() nodeId = '';\n\n @ViewChild('buttonHost', { read: ViewContainerRef, static: false }) buttonHost?: ViewContainerRef;\n @ViewChild('linkHost', { read: ViewContainerRef, static: false }) linkHost?: ViewContainerRef;\n\n get childrenHost(): ViewContainerRef | undefined {\n return this.tag === 'a' ? this.linkHost : this.buttonHost;\n }\n}\n","import {\n AfterViewInit,\n Component,\n Inject,\n Input,\n OnDestroy,\n OnInit,\n PLATFORM_ID,\n ViewChild,\n ViewContainerRef,\n inject,\n} from '@angular/core';\nimport { isPlatformBrowser } from '@angular/common';\nimport { ComponentInstanceRegistryService } from '../../services/component-instance-registry.service';\n\n@Component({\n selector: 'iox-slider-container',\n template: `\n <div class=\"swiper\" [class]=\"'iox-node-' + nodeId\" #swiperEl>\n <div class=\"swiper-wrapper\">\n <ng-container #childrenHost></ng-container>\n </div>\n <div *ngIf=\"enableNavigation\" class=\"swiper-button-prev\"></div>\n <div *ngIf=\"enableNavigation\" class=\"swiper-button-next\"></div>\n <div *ngIf=\"enablePagination\" class=\"swiper-pagination\"></div>\n <div *ngIf=\"enableScrollbar\" class=\"swiper-scrollbar\"></div>\n </div>\n `,\n styles: [`.swiper { width: 100%; height: 100%; box-sizing: border-box; }`],\n standalone: false,\n})\nexport class ClientSliderContainerComponent implements OnInit, AfterViewInit, OnDestroy {\n @Input() nodeId = '';\n @Input() direction: 'horizontal' | 'vertical' = 'horizontal';\n @Input() loop = false;\n @Input() slidesPerView = 1;\n @Input() spaceBetween = 0;\n @Input() speed = 300;\n @Input() effect = 'slide';\n @Input() grabCursor = true;\n @Input() centeredSlides = false;\n @Input() initialSlide = 0;\n @Input() enableNavigation = false;\n @Input() enablePagination = false;\n @Input() enableScrollbar = false;\n @Input() enableAutoplay = false;\n @Input() enableKeyboard = false;\n @Input() enableMousewheel = false;\n @Input() enableZoom = false;\n @Input() enableGrid = false;\n @Input() enableParallax = false;\n @Input() autoplayDelay = 3000;\n @Input() autoplayPauseOnMouseEnter = true;\n @Input() autoplayDisableOnInteraction = false;\n @Input() paginationType: 'bullets' | 'fraction' | 'progressbar' = 'bullets';\n @Input() paginationClickable = true;\n @Input() gridRows = 1;\n @Input() breakpoints = '';\n\n @ViewChild('childrenHost', { read: ViewContainerRef, static: true })\n childrenHost!: ViewContainerRef;\n\n @ViewChild('swiperEl', { static: true })\n swiperEl!: { nativeElement: HTMLElement };\n\n private _swiper: any = null;\n private instanceRegistry = inject(ComponentInstanceRegistryService);\n\n constructor(@Inject(PLATFORM_ID) private platformId: object) {}\n\n ngOnInit(): void {}\n\n ngAfterViewInit(): void {\n if (isPlatformBrowser(this.platformId)) {\n // Defer so all child slides are rendered first\n requestAnimationFrame(() => this._initSwiper());\n }\n }\n\n ngOnDestroy(): void {\n if (this._swiper) {\n this._swiper.destroy(true, true);\n this._swiper = null;\n this.instanceRegistry.unregister(this.nodeId);\n }\n }\n\n private async _initSwiper(): Promise<void> {\n const el = this.swiperEl?.nativeElement;\n if (!el) return;\n\n const [{ default: Swiper }, swiperModules] = await Promise.all([\n import('swiper'),\n import('swiper/modules'),\n ]);\n\n const {\n Navigation, Pagination, Scrollbar, Autoplay,\n Keyboard, Mousewheel, Zoom, Grid, Parallax,\n EffectFade, EffectCube, EffectFlip, EffectCoverflow, EffectCards, EffectCreative,\n } = swiperModules as any;\n\n const modules: any[] = [];\n if (this.enableNavigation) modules.push(Navigation);\n if (this.enablePagination) modules.push(Pagination);\n if (this.enableScrollbar) modules.push(Scrollbar);\n if (this.enableAutoplay) modules.push(Autoplay);\n if (this.enableKeyboard) modules.push(Keyboard);\n if (this.enableMousewheel) modules.push(Mousewheel);\n if (this.enableZoom) modules.push(Zoom);\n if (this.enableGrid) modules.push(Grid);\n if (this.enableParallax) modules.push(Parallax);\n\n const effectMap: Record<string, any> = {\n fade: EffectFade, cube: EffectCube, flip: EffectFlip,\n coverflow: EffectCoverflow, cards: EffectCards, creative: EffectCreative,\n };\n if (this.effect !== 'slide' && effectMap[this.effect]) {\n modules.push(effectMap[this.effect]);\n }\n\n const config: Record<string, any> = {\n modules,\n direction: this.direction,\n loop: this.loop,\n slidesPerView: this.slidesPerView,\n spaceBetween: this.spaceBetween,\n speed: this.speed,\n effect: this.effect,\n grabCursor: this.grabCursor,\n centeredSlides: this.centeredSlides,\n initialSlide: this.initialSlide,\n };\n\n if (this.enableNavigation) config['navigation'] = { prevEl: '.swiper-button-prev', nextEl: '.swiper-button-next' };\n if (this.enablePagination) config['pagination'] = { el: '.swiper-pagination', type: this.paginationType, clickable: this.paginationClickable };\n if (this.enableScrollbar) config['scrollbar'] = { el: '.swiper-scrollbar', draggable: true };\n if (this.enableAutoplay) config['autoplay'] = { delay: this.autoplayDelay, pauseOnMouseEnter: this.autoplayPauseOnMouseEnter, disableOnInteraction: this.autoplayDisableOnInteraction };\n if (this.enableGrid && this.gridRows > 1) config['grid'] = { rows: this.gridRows };\n if (this.breakpoints) { try { config['breakpoints'] = JSON.parse(this.breakpoints); } catch { /* ignore */ } }\n\n this._swiper = new Swiper(el, config);\n this.instanceRegistry.register(this.nodeId, this._swiper);\n }\n}\n","import { Component, Input, ViewChild, ViewContainerRef } from '@angular/core';\n\n/**\n * Client-engine slide. The HOST element (`iox-slider-slide`) itself carries the\n * `swiper-slide` class so it is a DIRECT child of `.swiper-wrapper` — Swiper only\n * recognises slides that are direct children (the `.swiper-slide` direct-child\n * invariant; see iox-ai-guidance architecture/builder/slider.md). A wrapper div\n * would nest `.swiper-slide` one level too deep and Swiper would ignore the slides.\n *\n * The shared `iox-node-{id}` class is applied to the same host so the page-level\n * CSS rules match (parity with the string renderer / builder).\n */\n@Component({\n selector: 'iox-slider-slide',\n template: `<ng-container #childrenHost></ng-container>`,\n styles: [`:host { display: block; box-sizing: border-box; }`],\n host: { '[class]': `'swiper-slide iox-node-' + nodeId` },\n standalone: false,\n})\nexport class ClientSliderSlideComponent {\n @Input() nodeId = '';\n\n @ViewChild('childrenHost', { read: ViewContainerRef, static: true })\n childrenHost!: ViewContainerRef;\n}\n","import { Component, Input, ViewChild, ViewContainerRef } from '@angular/core';\n\n/**\n * Client-engine List. Renders a real `<ul>`/`<ol>` (chosen by the `htmlTag` trait) with the\n * shared `iox-node-{id}` class, and inserts children into it via `childrenHost`. `:host` uses\n * `display: contents` so the `<ul>`/`<ol>` is the effective layout child of its parent.\n *\n * The host is chosen from a `*ngIf` branch, so its ViewContainerRef only resolves after change\n * detection — ClientTreeRendererService detects changes before reading `childrenHost`.\n */\n@Component({\n selector: 'iox-list',\n template: `\n <ol *ngIf=\"htmlTag === 'ol'\" [ngClass]=\"'iox-node-' + nodeId\"\n [attr.start]=\"start !== '' && start != null ? start : null\"\n [attr.reversed]=\"reversed ? '' : null\">\n <ng-container #olHost></ng-container>\n </ol>\n <ul *ngIf=\"htmlTag !== 'ol'\" [ngClass]=\"'iox-node-' + nodeId\">\n <ng-container #ulHost></ng-container>\n </ul>\n `,\n styles: [`:host { display: contents; } ul, ol { margin: 0; box-sizing: border-box; }`],\n standalone: false,\n})\nexport class ClientListComponent {\n @Input() htmlTag: 'ul' | 'ol' = 'ul';\n @Input() start: string | number = '';\n @Input() reversed = false;\n @Input() nodeId = '';\n\n @ViewChild('olHost', { read: ViewContainerRef }) private olHost?: ViewContainerRef;\n @ViewChild('ulHost', { read: ViewContainerRef }) private ulHost?: ViewContainerRef;\n\n get childrenHost(): ViewContainerRef | undefined {\n return this.htmlTag === 'ol' ? this.olHost : this.ulHost;\n }\n}\n","import { Component, Input, ViewChild, ViewContainerRef } from '@angular/core';\n\n/**\n * Client-engine List item. Renders a real `<li>` with the shared `iox-node-{id}` class.\n * `:host { display: contents }` removes the `iox-list-item` wrapper from the box tree so the\n * `<li>` is a proper (marker-bearing) child of the parent `<ul>`/`<ol>`.\n */\n@Component({\n selector: 'iox-list-item',\n template: `<li [ngClass]=\"'iox-node-' + nodeId\"><ng-container #childrenHost></ng-container></li>`,\n styles: [`:host { display: contents; } li { box-sizing: border-box; }`],\n standalone: false,\n})\nexport class ClientListItemComponent {\n @Input() nodeId = '';\n\n @ViewChild('childrenHost', { read: ViewContainerRef, static: true })\n childrenHost!: ViewContainerRef;\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { BuilderImageComponent } from './image/image.component';\nimport { BuilderSpacerComponent } from './spacer/spacer.component';\nimport { CardComponent } from './card/card.component';\nimport { BuilderDividerComponent } from './divider/divider.component';\nimport { BuilderIconComponent } from './icon/icon.component';\nimport { BuilderLinkComponent } from './link/link.component';\nimport { BuilderButtonComponent } from './button/button.component';\nimport { BuilderHeadingComponent } from './heading/heading.component';\nimport { TextBlockComponent } from './text/text.component';\nimport { SectionComponent } from './section/section.component';\nimport { ContainerComponent } from './container/container.component';\nimport { LinkedContainerComponent } from './linked-container/linked-container.component';\nimport { ClientRepeaterComponent } from './repeater/repeater.component';\nimport { ButtonBlockComponent } from './button-block/button-block.component';\nimport { ClientSliderContainerComponent } from './slider-container/slider-container.component';\nimport { ClientSliderSlideComponent } from './slider-slide/slider-slide.component';\nimport { ClientListComponent } from './list/list.component';\nimport { ClientListItemComponent } from './list-item/list-item.component';\n\nconst COMPONENTS = [\n BuilderImageComponent,\n BuilderSpacerComponent,\n CardComponent,\n BuilderDividerComponent,\n BuilderIconComponent,\n BuilderLinkComponent,\n BuilderButtonComponent,\n BuilderHeadingComponent,\n TextBlockComponent,\n SectionComponent,\n ContainerComponent,\n LinkedContainerComponent,\n ClientRepeaterComponent,\n ButtonBlockComponent,\n ClientSliderContainerComponent,\n ClientSliderSlideComponent,\n ClientListComponent,\n ClientListItemComponent,\n];\n\n@NgModule({\n declarations: COMPONENTS,\n imports: [CommonModule],\n exports: COMPONENTS,\n})\nexport class IoxBuilderComponentsModule {}\n","import { Injectable, Type } from '@angular/core';\n\nimport { BuilderImageComponent } from './image/image.component';\nimport { BuilderSpacerComponent } from './spacer/spacer.component';\nimport { CardComponent } from './card/card.component';\nimport { BuilderDividerComponent } from './divider/divider.component';\nimport { BuilderIconComponent } from './icon/icon.component';\nimport { BuilderLinkComponent } from './link/link.component';\nimport { BuilderButtonComponent } from './button/button.component';\nimport { BuilderHeadingComponent } from './heading/heading.component';\nimport { TextBlockComponent } from './text/text.component';\nimport { SectionComponent } from './section/section.component';\nimport { ContainerComponent } from './container/container.component';\nimport { LinkedContainerComponent } from './linked-container/linked-container.component';\nimport { ClientRepeaterComponent } from './repeater/repeater.component';\nimport { ButtonBlockComponent } from './button-block/button-block.component';\nimport { ClientSliderContainerComponent } from './slider-container/slider-container.component';\nimport { ClientSliderSlideComponent } from './slider-slide/slider-slide.component';\nimport { ClientListComponent } from './list/list.component';\nimport { ClientListItemComponent } from './list-item/list-item.component';\n\n/**\n * Single source of truth for the IOX component type → Angular class mapping.\n * Used by the client engine (iox-client-engine) to resolve component classes\n * from IoxLayoutNode.type strings at render time.\n *\n * All 13 builder components are registered here:\n * - Leaf (Phase 2a): Image, Spacer, Card, Divider, Icon\n * - Inline-editable (Phase 2b): Link, Button, Heading, Text\n * - Layout shells (Phase 2c): Section, Container, LinkedContainer\n * - Repeater (Phase 2d): ClientRepeaterComponent\n *\n * Section/Container/LinkedContainer/Repeater expose childrenHost: ViewContainerRef\n * for ClientRenderDirective to insert child components into.\n */\n@Injectable({ providedIn: 'root' })\nexport class IoxComponentRegistryService {\n private readonly map = new Map<string, Type<any>>([\n ['Image', BuilderImageComponent],\n ['Spacer', BuilderSpacerComponent],\n ['Card', CardComponent],\n ['Divider', BuilderDividerComponent],\n ['Icon', BuilderIconComponent],\n ['Link', BuilderLinkComponent],\n ['Button', BuilderButtonComponent],\n ['Heading', BuilderHeadingComponent],\n ['Text', TextBlockComponent],\n ['Section', SectionComponent],\n ['Container', ContainerComponent],\n ['LinkedContainer', LinkedContainerComponent],\n ['Repeater', ClientRepeaterComponent],\n ['ButtonBlock', ButtonBlockComponent],\n ['SliderContainer', ClientSliderContainerComponent],\n ['SliderSlide', ClientSliderSlideComponent],\n ['List', ClientListComponent],\n ['ListItem', ClientListItemComponent],\n ]);\n\n getComponent(type: string): Type<any> | undefined {\n return this.map.get(type);\n }\n\n hasComponent(type: string): boolean {\n return this.map.has(type);\n }\n}\n","/**\n * style-compiler — the SINGLE source of truth for turning a node's style map into\n * CSS declarations. Framework-agnostic (no Angular): consumed by both renderers.\n *\n * - Builder canvas: `StyleRegistryService` (@vectoriox/iox-builder) → live `<style>` tag.\n * - SSR site: `LayoutRendererService` (iox-client-engine) → HTML string CSS.\n *\n * Lives in @vectoriox/iox-ui because BOTH consumers depend on iox-ui (the engine does\n * NOT depend on iox-builder). Keeping it here — not duplicated per renderer — is what\n * prevents the builder and the live site from drifting.\n * See iox-ai-guidance `architecture/builder/render-parity.md`.\n */\n\n/**\n * Rewrite viewport-relative units so they resolve to the simulated canvas dimensions\n * in the builder, and to the real viewport in production.\n *\n * `--preview-vh` / `--preview-vw` are set by BuilderComponent (ResizeObserver +\n * viewport-state subscription). In production those variables are undefined, so the\n * `1vh` / `1vw` fallbacks restore native browser behaviour.\n */\nexport function rewriteViewportUnits(value: string): string {\n return value\n .replace(/(-?\\d*\\.?\\d+)vh/g, 'calc($1 * var(--preview-vh, 1vh))')\n .replace(/(-?\\d*\\.?\\d+)vw/g, 'calc($1 * var(--preview-vw, 1vw))');\n}\n\n/** camelCase style key → kebab-case CSS property. */\nexport function styleKeyToKebab(key: string): string {\n return key.replace(/[A-Z]/g, m => `-${m.toLowerCase()}`);\n}\n\n/**\n * Compile a flat, camelCase style map into an array of `\"prop: value\"` CSS\n * declarations (kebab-cased, viewport-units rewritten, empties dropped, optional\n * `!important`). Callers wrap these in whatever selector they emit.\n *\n * @param props Flat camelCase style map.\n * @param importantProps Keys that must carry `!important` (e.g. `position`, to beat\n * Angular's scoped-CSS specificity boost in the builder).\n */\nexport function compileDeclarations(\n props: Record<string, any>,\n importantProps?: ReadonlySet<string>,\n): string[] {\n return Object.entries(props)\n .filter(([, v]) => v !== undefined && v !== null && v !== '')\n .map(([k, v]) => {\n const val = rewriteViewportUnits(String(v));\n const bang = importantProps?.has(k) ? ' !important' : '';\n return `${styleKeyToKebab(k)}: ${val}${bang}`;\n });\n}\n\n/**\n * Per-type default `width` that the builder applies from each component's config\n * (NOT persisted in styleProps — see render-parity.md \"saved node is not\n * self-describing\"). The engine has no config classes, so it resolves the same\n * default from THIS map at render time. Keeping the map here (not re-typed in the\n * engine) is the \"shared default map\" decision.\n *\n * ONLY the `100%` container-type defaults live here. Fixed-size config defaults\n * (Card 200px, Image 300px, SliderSlide 33%) are starter placeholders real content\n * almost always overrides — forcing them onto width-less nodes breaks layout.\n */\nexport const DEFAULT_WIDTH_BY_TYPE: Readonly<Record<string, string>> = {\n Container: '100%', Repeater: '100%', SliderContainer: '100%',\n List: '100%', ListItem: '100%', Text: '100%', Divider: '100%', Spacer: '100%',\n // Section, Heading, LinkedContainer, Card, Image, SliderSlide, Button, ButtonBlock,\n // Icon → no forced default (their config defaults are content sizes set explicitly).\n};\n\n/**\n * Extra \"render default\" declarations the builder gets implicitly from live component\n * behaviour, which the engine must re-apply explicitly for parity. Returns `\"prop: value\"`\n * declarations to append AFTER the node's own compiled declarations.\n *\n * @param type Node type (registry key).\n * @param styleProps The node's persisted styleProps.\n * @param hasHoverState Whether the node has a non-empty hover / parent-hover state.\n */\nexport function renderDefaultDeclarations(\n type: string,\n styleProps: Record<string, any>,\n hasHoverState: boolean,\n): string[] {\n const sp = styleProps ?? {};\n const out: string[] = [];\n const isOutOfFlow = sp['position'] === 'fixed' || sp['position'] === 'absolute';\n\n // Container-type default width + min-width:0 so flex children fill and split their\n // track instead of collapsing to content.\n if (sp['width'] === undefined) {\n if (isOutOfFlow) {\n out.push('width: 100%');\n } else if (DEFAULT_WIDTH_BY_TYPE[type]) {\n out.push(`width: ${DEFAULT_WIDTH_BY_TYPE[type]}`, 'min-width: 0');\n }\n }\n // A border only renders when there is a WIDTH. Gate border-style on borderWidth — NOT on\n // borderColor: a node with only a border colour and no width would otherwise get the\n // browser's default `medium` width and show a phantom border. Absent borderWidth = no border.\n if (sp['borderWidth'] && sp['borderStyle'] === undefined) {\n out.push('border-style: solid');\n }\n // Default transition so own/parent hover animates smoothly (parity with the builder).\n if (hasHoverState && sp['transition'] === undefined) {\n out.push('transition: all 0.2s ease');\n }\n // Image aspect-ratio: the config default '1/1' is NOT persisted (only diffs from config\n // defaults are), so the engine must reapply it to match the builder. height:auto lets the\n // ratio drive the box (an <img> otherwise ignores aspect-ratio when width+height are set).\n if (type === 'Image') {\n if (sp['aspectRatio'] === undefined) out.push('aspect-ratio: 1/1');\n out.push('height: auto');\n }\n return out;\n}\n","/*\n * Public API Surface of iox-ui\n */\n\nexport * from './lib/view-position/view-position.directive';\nexport * from './lib/view-position/view-position.module';\n\nexport * from './lib/iox-aos/iox-aos.directive';\nexport * from './lib/iox-aos/iox-aos-container.component';\nexport * from './lib/iox-aos/iox-aos.service';\nexport * from './lib/iox-aos/iox-aos.module';\n\nexport * from './lib/iox-masonry/iox-masonry.service';\nexport * from './lib/iox-masonry/iox-masonry.component';\nexport * from './lib/iox-masonry/iox-masonry-item.directive';\nexport * from './lib/iox-masonry/iox-masonry.module';\n\nexport * from './lib/iox-ui.module';\nexport * from './lib/iox-page/page-component/page-component.component';\nexport * from './lib/iox-page/iox-page.module';\nexport * from './lib/services/page-scroll.provider';\nexport * from './lib/services/component-instance-registry.service';\n\n// CMS client infra\nexport * from './lib/iox-cms-client-infra/cms-client-infra.module';\nexport * from './lib/iox-cms-client-infra/services/consent.service';\nexport * from './lib/iox-cms-client-infra/services/web-settings.service';\nexport * from './lib/iox-cms-client-infra/services/content.service';\nexport * from './lib/iox-cms-client-infra/services/analytics.service';\nexport * from './lib/iox-cms-client-infra/components/privacy/privacy-modal.component';\nexport * from './lib/iox-cms-client-infra/components/privacy/privacy-modal.service';\n\n// Builder components — extracted from iox-cms-client for shared use in builder + client engine\nexport * from './lib/builder-components/builder-tokens';\nexport * from './lib/builder-components/iox-builder-components.module';\nexport * from './lib/builder-components/iox-component-registry.service';\nexport * from './lib/builder-components/image/image.component';\nexport * from './lib/builder-components/spacer/spacer.component';\nexport * from './lib/builder-components/card/card.component';\nexport * from './lib/builder-components/divider/divider.component';\nexport * from './lib/builder-components/icon/icon.component';\nexport * from './lib/builder-components/link/link.component';\nexport * from './lib/builder-components/button/button.component';\nexport * from './lib/builder-components/button-block/button-block.component';\nexport * from './lib/builder-components/heading/heading.component';\nexport * from './lib/builder-components/text/text.component';\nexport * from './lib/builder-components/section/section.component';\nexport * from './lib/builder-components/container/container.component';\nexport * from './lib/builder-components/linked-container/linked-container.component';\nexport * from './lib/builder-components/repeater/repeater.component';\nexport * from './lib/builder-components/slider-container/slider-container.component';\nexport * from './lib/builder-components/slider-slide/slider-slide.component';\nexport * from './lib/builder-components/list/list.component';\nexport * from './lib/builder-components/list-item/list-item.component';\n\nexport * from './lib/style-compiler/style-compiler';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.AOSService","i1.IoxAnimateContainer","i1.PageScrollProvider","i1.PrivacyModalService","i2.ConsentService","i3","i1"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vectoriox/iox-ui",
3
- "version": "4.2.1",
3
+ "version": "4.2.3",
4
4
  "peerDependencies": {
5
5
  "@angular/common": ">=20.0.0",
6
6
  "@angular/core": ">=20.0.0",
@@ -152,6 +152,7 @@ declare class IoxMasonryModule {
152
152
  }
153
153
 
154
154
  declare class PageScrollProvider {
155
+ private zone;
155
156
  private lenis?;
156
157
  private rafId?;
157
158
  init(options?: ConstructorParameters<typeof Lenis>[0]): void;
@@ -575,9 +576,41 @@ declare class ClientSliderSlideComponent {
575
576
  static ɵcmp: i0.ɵɵComponentDeclaration<ClientSliderSlideComponent, "iox-slider-slide", never, { "nodeId": { "alias": "nodeId"; "required": false; }; }, {}, never, never, false, never>;
576
577
  }
577
578
 
579
+ /**
580
+ * Client-engine List. Renders a real `<ul>`/`<ol>` (chosen by the `htmlTag` trait) with the
581
+ * shared `iox-node-{id}` class, and inserts children into it via `childrenHost`. `:host` uses
582
+ * `display: contents` so the `<ul>`/`<ol>` is the effective layout child of its parent.
583
+ *
584
+ * The host is chosen from a `*ngIf` branch, so its ViewContainerRef only resolves after change
585
+ * detection — ClientTreeRendererService detects changes before reading `childrenHost`.
586
+ */
587
+ declare class ClientListComponent {
588
+ htmlTag: 'ul' | 'ol';
589
+ start: string | number;
590
+ reversed: boolean;
591
+ nodeId: string;
592
+ private olHost?;
593
+ private ulHost?;
594
+ get childrenHost(): ViewContainerRef | undefined;
595
+ static ɵfac: i0.ɵɵFactoryDeclaration<ClientListComponent, never>;
596
+ static ɵcmp: i0.ɵɵComponentDeclaration<ClientListComponent, "iox-list", never, { "htmlTag": { "alias": "htmlTag"; "required": false; }; "start": { "alias": "start"; "required": false; }; "reversed": { "alias": "reversed"; "required": false; }; "nodeId": { "alias": "nodeId"; "required": false; }; }, {}, never, never, false, never>;
597
+ }
598
+
599
+ /**
600
+ * Client-engine List item. Renders a real `<li>` with the shared `iox-node-{id}` class.
601
+ * `:host { display: contents }` removes the `iox-list-item` wrapper from the box tree so the
602
+ * `<li>` is a proper (marker-bearing) child of the parent `<ul>`/`<ol>`.
603
+ */
604
+ declare class ClientListItemComponent {
605
+ nodeId: string;
606
+ childrenHost: ViewContainerRef;
607
+ static ɵfac: i0.ɵɵFactoryDeclaration<ClientListItemComponent, never>;
608
+ static ɵcmp: i0.ɵɵComponentDeclaration<ClientListItemComponent, "iox-list-item", never, { "nodeId": { "alias": "nodeId"; "required": false; }; }, {}, never, never, false, never>;
609
+ }
610
+
578
611
  declare class IoxBuilderComponentsModule {
579
612
  static ɵfac: i0.ɵɵFactoryDeclaration<IoxBuilderComponentsModule, never>;
580
- static ɵmod: i0.ɵɵNgModuleDeclaration<IoxBuilderComponentsModule, [typeof BuilderImageComponent, typeof BuilderSpacerComponent, typeof CardComponent, typeof BuilderDividerComponent, typeof BuilderIconComponent, typeof BuilderLinkComponent, typeof BuilderButtonComponent, typeof BuilderHeadingComponent, typeof TextBlockComponent, typeof SectionComponent, typeof ContainerComponent, typeof LinkedContainerComponent, typeof ClientRepeaterComponent, typeof ButtonBlockComponent, typeof ClientSliderContainerComponent, typeof ClientSliderSlideComponent], [typeof i2.CommonModule], [typeof BuilderImageComponent, typeof BuilderSpacerComponent, typeof CardComponent, typeof BuilderDividerComponent, typeof BuilderIconComponent, typeof BuilderLinkComponent, typeof BuilderButtonComponent, typeof BuilderHeadingComponent, typeof TextBlockComponent, typeof SectionComponent, typeof ContainerComponent, typeof LinkedContainerComponent, typeof ClientRepeaterComponent, typeof ButtonBlockComponent, typeof ClientSliderContainerComponent, typeof ClientSliderSlideComponent]>;
613
+ static ɵmod: i0.ɵɵNgModuleDeclaration<IoxBuilderComponentsModule, [typeof BuilderImageComponent, typeof BuilderSpacerComponent, typeof CardComponent, typeof BuilderDividerComponent, typeof BuilderIconComponent, typeof BuilderLinkComponent, typeof BuilderButtonComponent, typeof BuilderHeadingComponent, typeof TextBlockComponent, typeof SectionComponent, typeof ContainerComponent, typeof LinkedContainerComponent, typeof ClientRepeaterComponent, typeof ButtonBlockComponent, typeof ClientSliderContainerComponent, typeof ClientSliderSlideComponent, typeof ClientListComponent, typeof ClientListItemComponent], [typeof i2.CommonModule], [typeof BuilderImageComponent, typeof BuilderSpacerComponent, typeof CardComponent, typeof BuilderDividerComponent, typeof BuilderIconComponent, typeof BuilderLinkComponent, typeof BuilderButtonComponent, typeof BuilderHeadingComponent, typeof TextBlockComponent, typeof SectionComponent, typeof ContainerComponent, typeof LinkedContainerComponent, typeof ClientRepeaterComponent, typeof ButtonBlockComponent, typeof ClientSliderContainerComponent, typeof ClientSliderSlideComponent, typeof ClientListComponent, typeof ClientListItemComponent]>;
581
614
  static ɵinj: i0.ɵɵInjectorDeclaration<IoxBuilderComponentsModule>;
582
615
  }
583
616
 
@@ -659,5 +692,5 @@ declare const DEFAULT_WIDTH_BY_TYPE: Readonly<Record<string, string>>;
659
692
  */
660
693
  declare function renderDefaultDeclarations(type: string, styleProps: Record<string, any>, hasHoverState: boolean): string[];
661
694
 
662
- export { AOSService, AnalyticsService, BuilderButtonComponent, BuilderDividerComponent, BuilderHeadingComponent, BuilderIconComponent, BuilderImageComponent, BuilderLinkComponent, BuilderSpacerComponent, ButtonBlockComponent, CMSClientInfraModule, CardComponent, ClientRepeaterComponent, ClientSliderContainerComponent, ClientSliderSlideComponent, ComponentInstanceRegistryService, ConsentService, ContainerComponent, ContentService, DEFAULT_WIDTH_BY_TYPE, ENVIRONMENT, IOX_BUILDER_EVENTS, IS_PREVIEW, IoxAnimateContainer, IoxAosDirective, IoxAosModule, IoxBuilderComponentsModule, IoxComponentRegistryService, IoxMasonryComponent, IoxMasonryItemDirective, IoxMasonryModule, IoxMasonryService, IoxPageComponent, IoxPageModule, IoxUiModule, LinkedContainerComponent, PageScrollProvider, PrivacyModalComponent, PrivacyModalService, PrivacyModelEvent, SectionComponent, TextBlockComponent, ViewPositionDirective, ViewPositionModule, WebSettingsService, compileDeclarations, renderDefaultDeclarations, rewriteViewportUnits, styleKeyToKebab };
695
+ export { AOSService, AnalyticsService, BuilderButtonComponent, BuilderDividerComponent, BuilderHeadingComponent, BuilderIconComponent, BuilderImageComponent, BuilderLinkComponent, BuilderSpacerComponent, ButtonBlockComponent, CMSClientInfraModule, CardComponent, ClientListComponent, ClientListItemComponent, ClientRepeaterComponent, ClientSliderContainerComponent, ClientSliderSlideComponent, ComponentInstanceRegistryService, ConsentService, ContainerComponent, ContentService, DEFAULT_WIDTH_BY_TYPE, ENVIRONMENT, IOX_BUILDER_EVENTS, IS_PREVIEW, IoxAnimateContainer, IoxAosDirective, IoxAosModule, IoxBuilderComponentsModule, IoxComponentRegistryService, IoxMasonryComponent, IoxMasonryItemDirective, IoxMasonryModule, IoxMasonryService, IoxPageComponent, IoxPageModule, IoxUiModule, LinkedContainerComponent, PageScrollProvider, PrivacyModalComponent, PrivacyModalService, PrivacyModelEvent, SectionComponent, TextBlockComponent, ViewPositionDirective, ViewPositionModule, WebSettingsService, compileDeclarations, renderDefaultDeclarations, rewriteViewportUnits, styleKeyToKebab };
663
696
  export type { IBuilderEventEmitter, IoxMasonryOptions };