@vectoriox/iox-ui 4.2.6 → 4.2.8

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.
@@ -967,6 +967,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImpo
967
967
  const IS_PREVIEW = new InjectionToken('IS_PREVIEW');
968
968
  const IOX_BUILDER_EVENTS = new InjectionToken('IOX_BUILDER_EVENTS');
969
969
 
970
+ /**
971
+ * Directive-host image: the selector is `img[iox-img]`, so when created dynamically the HOST is
972
+ * the `<img>` itself — NO wrapper element. All styles land on the `<img>` via `.iox-node-{id}`;
973
+ * a single-element (leaf) node has no inner/outer split. See render-parity.md.
974
+ */
970
975
  class BuilderImageComponent {
971
976
  constructor() {
972
977
  this.src = 'https://placehold.co/600x400?text=Image';
@@ -974,15 +979,15 @@ class BuilderImageComponent {
974
979
  this.nodeId = '';
975
980
  }
976
981
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: BuilderImageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
977
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.11", type: BuilderImageComponent, isStandalone: false, selector: "app-builder-image", inputs: { src: "src", alt: "alt", nodeId: "nodeId" }, ngImport: i0, template: `
978
- <img [src]="src" [alt]="alt" [ngClass]="'iox-node-' + nodeId" />
979
- `, isInline: true, styles: ["img{display:block;max-width:100%}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
982
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.11", type: BuilderImageComponent, isStandalone: false, selector: "img[iox-img]", inputs: { src: "src", alt: "alt", nodeId: "nodeId" }, host: { properties: { "attr.src": "src", "attr.alt": "alt", "class": "'iox-node-' + nodeId" } }, ngImport: i0, template: '', isInline: true, styles: [":host{display:block;max-width:100%}\n"] }); }
980
983
  }
981
984
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: BuilderImageComponent, decorators: [{
982
985
  type: Component,
983
- args: [{ selector: 'app-builder-image', template: `
984
- <img [src]="src" [alt]="alt" [ngClass]="'iox-node-' + nodeId" />
985
- `, standalone: false, styles: ["img{display:block;max-width:100%}\n"] }]
986
+ args: [{ selector: 'img[iox-img]', template: '', host: {
987
+ '[attr.src]': 'src',
988
+ '[attr.alt]': 'alt',
989
+ '[class]': "'iox-node-' + nodeId",
990
+ }, standalone: false, styles: [":host{display:block;max-width:100%}\n"] }]
986
991
  }], propDecorators: { src: [{
987
992
  type: Input
988
993
  }], alt: [{
@@ -991,16 +996,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImpo
991
996
  type: Input
992
997
  }] } });
993
998
 
999
+ /** Directive-host spacer: the `<div>` IS the host — no wrapper. All styles on `.iox-node`. */
994
1000
  class BuilderSpacerComponent {
995
1001
  constructor() {
996
1002
  this.nodeId = '';
997
1003
  }
998
1004
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: BuilderSpacerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
999
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.11", type: BuilderSpacerComponent, isStandalone: false, selector: "app-builder-spacer", inputs: { nodeId: "nodeId" }, ngImport: i0, template: `<div class="iox-spacer" [ngClass]="'iox-node-' + nodeId"></div>`, isInline: true, styles: [".iox-spacer{display:block;flex-shrink:0}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
1005
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.11", type: BuilderSpacerComponent, isStandalone: false, selector: "div[iox-spacer]", inputs: { nodeId: "nodeId" }, host: { properties: { "class": "'iox-spacer iox-node-' + nodeId" } }, ngImport: i0, template: '', isInline: true, styles: [":host{display:block;flex-shrink:0}\n"] }); }
1000
1006
  }
1001
1007
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: BuilderSpacerComponent, decorators: [{
1002
1008
  type: Component,
1003
- args: [{ selector: 'app-builder-spacer', template: `<div class="iox-spacer" [ngClass]="'iox-node-' + nodeId"></div>`, standalone: false, styles: [".iox-spacer{display:block;flex-shrink:0}\n"] }]
1009
+ args: [{ selector: 'div[iox-spacer]', template: '', host: { '[class]': "'iox-spacer iox-node-' + nodeId" }, standalone: false, styles: [":host{display:block;flex-shrink:0}\n"] }]
1004
1010
  }], propDecorators: { nodeId: [{
1005
1011
  type: Input
1006
1012
  }] } });
@@ -1044,20 +1050,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImpo
1044
1050
  type: Input
1045
1051
  }] } });
1046
1052
 
1053
+ /** Directive-host divider: the `<div>` IS the host — no wrapper. All styles on `.iox-node`. */
1047
1054
  class BuilderDividerComponent {
1048
1055
  constructor() {
1049
1056
  this.nodeId = '';
1050
1057
  }
1051
1058
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: BuilderDividerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1052
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.11", type: BuilderDividerComponent, isStandalone: false, selector: "app-builder-divider", inputs: { nodeId: "nodeId" }, ngImport: i0, template: `<div class="iox-divider" [ngClass]="'iox-node-' + nodeId"></div>`, isInline: true, styles: [".iox-divider{box-sizing:border-box}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
1059
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.11", type: BuilderDividerComponent, isStandalone: false, selector: "div[iox-divider]", inputs: { nodeId: "nodeId" }, host: { properties: { "class": "'iox-divider iox-node-' + nodeId" } }, ngImport: i0, template: '', isInline: true, styles: [":host{display:block;box-sizing:border-box}\n"] }); }
1053
1060
  }
1054
1061
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: BuilderDividerComponent, decorators: [{
1055
1062
  type: Component,
1056
- args: [{ selector: 'app-builder-divider', template: `<div class="iox-divider" [ngClass]="'iox-node-' + nodeId"></div>`, standalone: false, styles: [".iox-divider{box-sizing:border-box}\n"] }]
1063
+ args: [{ selector: 'div[iox-divider]', template: '', host: { '[class]': "'iox-divider iox-node-' + nodeId" }, standalone: false, styles: [":host{display:block;box-sizing:border-box}\n"] }]
1057
1064
  }], propDecorators: { nodeId: [{
1058
1065
  type: Input
1059
1066
  }] } });
1060
1067
 
1068
+ /** Directive-host icon: the `<i>` IS the host — no wrapper. All styles on `.iox-node`. */
1061
1069
  class BuilderIconComponent {
1062
1070
  constructor() {
1063
1071
  /** Full Phosphor icon CSS class string, e.g. "ph-thin ph-star" */
@@ -1065,17 +1073,21 @@ class BuilderIconComponent {
1065
1073
  this.nodeId = '';
1066
1074
  }
1067
1075
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: BuilderIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1068
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.11", type: BuilderIconComponent, isStandalone: false, selector: "app-builder-icon", inputs: { iconClass: "iconClass", nodeId: "nodeId" }, ngImport: i0, template: `<i [ngClass]="[iconClass, 'iox-node-' + nodeId]"></i>`, isInline: true, styles: [":host{display:block}i{display:block;line-height:1}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
1076
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.11", type: BuilderIconComponent, isStandalone: false, selector: "i[iox-icon]", inputs: { iconClass: "iconClass", nodeId: "nodeId" }, host: { properties: { "class": "iconClass + ' iox-node-' + nodeId" } }, ngImport: i0, template: '', isInline: true, styles: [":host{display:block;line-height:1}\n"] }); }
1069
1077
  }
1070
1078
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: BuilderIconComponent, decorators: [{
1071
1079
  type: Component,
1072
- args: [{ selector: 'app-builder-icon', template: `<i [ngClass]="[iconClass, 'iox-node-' + nodeId]"></i>`, standalone: false, styles: [":host{display:block}i{display:block;line-height:1}\n"] }]
1080
+ args: [{ selector: 'i[iox-icon]', template: '', host: { '[class]': "iconClass + ' iox-node-' + nodeId" }, standalone: false, styles: [":host{display:block;line-height:1}\n"] }]
1073
1081
  }], propDecorators: { iconClass: [{
1074
1082
  type: Input
1075
1083
  }], nodeId: [{
1076
1084
  type: Input
1077
1085
  }] } });
1078
1086
 
1087
+ /**
1088
+ * Directive-host link: the `<a>` IS the host — no wrapper. Content is the label; styles come from
1089
+ * `.iox-node` (the legacy `style` input is kept for builder compat but no longer inline-applied).
1090
+ */
1079
1091
  class BuilderLinkComponent {
1080
1092
  constructor(isPreview) {
1081
1093
  this.isPreview = isPreview;
@@ -1099,31 +1111,17 @@ class BuilderLinkComponent {
1099
1111
  }
1100
1112
  }
1101
1113
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: BuilderLinkComponent, deps: [{ token: IS_PREVIEW, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
1102
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.11", type: BuilderLinkComponent, isStandalone: false, selector: "app-builder-link", inputs: { nodeId: "nodeId", label: "label", linkType: "linkType", url: "url", pageRoute: "pageRoute", target: "target", style: "style" }, ngImport: i0, template: `
1103
- <a [href]="isPreview ? resolvedHref : null"
1104
- [attr.target]="isPreview ? target : null"
1105
- [ngStyle]="style"
1106
- [style.pointerEvents]="isPreview ? '' : 'none'"
1107
- [ngClass]="'iox-node-' + nodeId"
1108
- class="builder-link"
1109
- (click)="onLinkClick($event)">
1110
- {{ label }}
1111
- </a>
1112
- `, isInline: true, styles: [".builder-link{display:inline;cursor:pointer;color:inherit}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1114
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.11", type: BuilderLinkComponent, isStandalone: false, selector: "a[iox-link]", inputs: { nodeId: "nodeId", label: "label", linkType: "linkType", url: "url", pageRoute: "pageRoute", target: "target", style: "style" }, host: { listeners: { "click": "onLinkClick($event)" }, properties: { "attr.href": "isPreview ? resolvedHref : null", "attr.target": "isPreview ? target : null", "style.pointer-events": "isPreview ? null : 'none'", "class": "'builder-link iox-node-' + nodeId" } }, ngImport: i0, template: `{{ label }}`, isInline: true, styles: [":host{display:inline;cursor:pointer;color:inherit}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1113
1115
  }
1114
1116
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: BuilderLinkComponent, decorators: [{
1115
1117
  type: Component,
1116
- args: [{ selector: 'app-builder-link', template: `
1117
- <a [href]="isPreview ? resolvedHref : null"
1118
- [attr.target]="isPreview ? target : null"
1119
- [ngStyle]="style"
1120
- [style.pointerEvents]="isPreview ? '' : 'none'"
1121
- [ngClass]="'iox-node-' + nodeId"
1122
- class="builder-link"
1123
- (click)="onLinkClick($event)">
1124
- {{ label }}
1125
- </a>
1126
- `, standalone: false, changeDetection: ChangeDetectionStrategy.OnPush, styles: [".builder-link{display:inline;cursor:pointer;color:inherit}\n"] }]
1118
+ args: [{ selector: 'a[iox-link]', template: `{{ label }}`, host: {
1119
+ '[attr.href]': "isPreview ? resolvedHref : null",
1120
+ '[attr.target]': "isPreview ? target : null",
1121
+ '[style.pointer-events]': "isPreview ? null : 'none'",
1122
+ '[class]': "'builder-link iox-node-' + nodeId",
1123
+ '(click)': 'onLinkClick($event)',
1124
+ }, standalone: false, changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{display:inline;cursor:pointer;color:inherit}\n"] }]
1127
1125
  }], ctorParameters: () => [{ type: undefined, decorators: [{
1128
1126
  type: Optional
1129
1127
  }, {
@@ -1145,6 +1143,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImpo
1145
1143
  type: Input
1146
1144
  }] } });
1147
1145
 
1146
+ /**
1147
+ * Directive-host button: the `<a>` IS the host — no wrapper. Content is the label; styling comes
1148
+ * from `:host` variants + `.iox-node`.
1149
+ */
1148
1150
  class BuilderButtonComponent {
1149
1151
  constructor(events) {
1150
1152
  this.events = events;
@@ -1196,27 +1198,18 @@ class BuilderButtonComponent {
1196
1198
  this.events.emit('elementselect', { node: this.node, componentRef: null });
1197
1199
  }
1198
1200
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: BuilderButtonComponent, deps: [{ token: IOX_BUILDER_EVENTS, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
1199
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.11", type: BuilderButtonComponent, isStandalone: false, selector: "app-builder-button", inputs: { label: "label", link: "link", variant: "variant", nodeId: "nodeId", node: "node" }, ngImport: i0, template: `
1200
- <a [href]="link" class="builder-btn" [ngClass]="['variant-' + variant, 'iox-node-' + nodeId]"
1201
- [attr.contenteditable]="editing ? 'true' : null"
1202
- (dblclick)="startEdit($event)"
1203
- (blur)="commitEdit($event)"
1204
- (keydown)="onKeyDown($event)">
1205
- {{ label }}
1206
- </a>
1207
- `, isInline: true, styles: [".builder-btn{display:inline-block;padding:.6rem 1.5rem;border-radius:6px;font-size:.9rem;text-decoration:none;cursor:pointer;text-align:center;transition:opacity .15s}.variant-primary{background:#cb9090;color:#fff;border:1px solid #cb9090}.variant-outlined{background:transparent;color:#cb9090;border:1px solid #cb9090}.variant-text{background:transparent;color:#cb9090;border:1px solid transparent}[contenteditable]{outline:2px solid #cb9090;cursor:text}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1201
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.11", type: BuilderButtonComponent, isStandalone: false, selector: "a[iox-button]", inputs: { label: "label", link: "link", variant: "variant", nodeId: "nodeId", node: "node" }, host: { listeners: { "dblclick": "startEdit($event)", "blur": "commitEdit($event)", "keydown": "onKeyDown($event)" }, properties: { "attr.href": "link", "class": "'builder-btn variant-' + variant + ' iox-node-' + nodeId", "attr.contenteditable": "editing ? 'true' : null" } }, ngImport: i0, template: `{{ label }}`, isInline: true, styles: [":host{display:inline-block;padding:.6rem 1.5rem;border-radius:6px;font-size:.9rem;text-decoration:none;cursor:pointer;text-align:center;transition:opacity .15s}:host.variant-primary{background:#cb9090;color:#fff;border:1px solid #cb9090}:host.variant-outlined{background:transparent;color:#cb9090;border:1px solid #cb9090}:host.variant-text{background:transparent;color:#cb9090;border:1px solid transparent}:host[contenteditable]{outline:2px solid #cb9090;cursor:text}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1208
1202
  }
1209
1203
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: BuilderButtonComponent, decorators: [{
1210
1204
  type: Component,
1211
- args: [{ selector: 'app-builder-button', template: `
1212
- <a [href]="link" class="builder-btn" [ngClass]="['variant-' + variant, 'iox-node-' + nodeId]"
1213
- [attr.contenteditable]="editing ? 'true' : null"
1214
- (dblclick)="startEdit($event)"
1215
- (blur)="commitEdit($event)"
1216
- (keydown)="onKeyDown($event)">
1217
- {{ label }}
1218
- </a>
1219
- `, standalone: false, changeDetection: ChangeDetectionStrategy.OnPush, styles: [".builder-btn{display:inline-block;padding:.6rem 1.5rem;border-radius:6px;font-size:.9rem;text-decoration:none;cursor:pointer;text-align:center;transition:opacity .15s}.variant-primary{background:#cb9090;color:#fff;border:1px solid #cb9090}.variant-outlined{background:transparent;color:#cb9090;border:1px solid #cb9090}.variant-text{background:transparent;color:#cb9090;border:1px solid transparent}[contenteditable]{outline:2px solid #cb9090;cursor:text}\n"] }]
1205
+ args: [{ selector: 'a[iox-button]', template: `{{ label }}`, host: {
1206
+ '[attr.href]': 'link',
1207
+ '[class]': "'builder-btn variant-' + variant + ' iox-node-' + nodeId",
1208
+ '[attr.contenteditable]': "editing ? 'true' : null",
1209
+ '(dblclick)': 'startEdit($event)',
1210
+ '(blur)': 'commitEdit($event)',
1211
+ '(keydown)': 'onKeyDown($event)',
1212
+ }, standalone: false, changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{display:inline-block;padding:.6rem 1.5rem;border-radius:6px;font-size:.9rem;text-decoration:none;cursor:pointer;text-align:center;transition:opacity .15s}:host.variant-primary{background:#cb9090;color:#fff;border:1px solid #cb9090}:host.variant-outlined{background:transparent;color:#cb9090;border:1px solid #cb9090}:host.variant-text{background:transparent;color:#cb9090;border:1px solid transparent}:host[contenteditable]{outline:2px solid #cb9090;cursor:text}\n"] }]
1220
1213
  }], ctorParameters: () => [{ type: undefined, decorators: [{
1221
1214
  type: Optional
1222
1215
  }, {
@@ -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/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 // object-fit now comes from the style engine via `.iox-node-{id}` (it's a Size style trait),\n // not a per-component inline binding — so builder and SSR emit it identically.\n template: `\n <img [src]=\"src\" [alt]=\"alt\" [ngClass]=\"'iox-node-' + nodeId\" />\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() 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 // this is intentional even when a height is set, to match the builder's image behaviour.\n if (type === 'Image') {\n if (sp['aspectRatio'] === undefined) out.push('aspect-ratio: 1/1');\n // object-fit is a Size style trait with config default 'cover'; that default isn't persisted,\n // so reapply it here (matching the builder) when the node has none.\n if (sp['objectFit'] === undefined) out.push('object-fit: cover');\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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"}
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/**\n * Directive-host image: the selector is `img[iox-img]`, so when created dynamically the HOST is\n * the `<img>` itself — NO wrapper element. All styles land on the `<img>` via `.iox-node-{id}`;\n * a single-element (leaf) node has no inner/outer split. See render-parity.md.\n */\n@Component({\n selector: 'img[iox-img]',\n template: '',\n host: {\n '[attr.src]': 'src',\n '[attr.alt]': 'alt',\n '[class]': \"'iox-node-' + nodeId\",\n },\n styles: [':host { 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() nodeId = '';\n}\n","import { Component, Input } from '@angular/core';\n\n/** Directive-host spacer: the `<div>` IS the host — no wrapper. All styles on `.iox-node`. */\n@Component({\n selector: 'div[iox-spacer]',\n template: '',\n host: { '[class]': \"'iox-spacer iox-node-' + nodeId\" },\n styles: [':host { display: block; flex-shrink: 0; }'],\n standalone: false,\n})\nexport class BuilderSpacerComponent {\n @Input() nodeId = '';\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/** Directive-host divider: the `<div>` IS the host — no wrapper. All styles on `.iox-node`. */\n@Component({\n selector: 'div[iox-divider]',\n template: '',\n host: { '[class]': \"'iox-divider iox-node-' + nodeId\" },\n styles: [':host { display: block; box-sizing: border-box; }'],\n standalone: false,\n})\nexport class BuilderDividerComponent {\n @Input() nodeId = '';\n}\n","import { Component, Input } from '@angular/core';\n\n/** Directive-host icon: the `<i>` IS the host — no wrapper. All styles on `.iox-node`. */\n@Component({\n selector: 'i[iox-icon]',\n template: '',\n host: { '[class]': \"iconClass + ' iox-node-' + nodeId\" },\n styles: [':host { 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 = '';\n}\n","import { ChangeDetectionStrategy, Component, Inject, Input, Optional } from '@angular/core';\nimport { IS_PREVIEW } from '../builder-tokens';\n\n/**\n * Directive-host link: the `<a>` IS the host — no wrapper. Content is the label; styles come from\n * `.iox-node` (the legacy `style` input is kept for builder compat but no longer inline-applied).\n */\n@Component({\n selector: 'a[iox-link]',\n template: `{{ label }}`,\n host: {\n '[attr.href]': \"isPreview ? resolvedHref : null\",\n '[attr.target]': \"isPreview ? target : null\",\n '[style.pointer-events]': \"isPreview ? null : 'none'\",\n '[class]': \"'builder-link iox-node-' + nodeId\",\n '(click)': 'onLinkClick($event)',\n },\n styles: [`:host { display: inline; cursor: pointer; color: inherit; }`],\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/**\n * Directive-host button: the `<a>` IS the host — no wrapper. Content is the label; styling comes\n * from `:host` variants + `.iox-node`.\n */\n@Component({\n selector: 'a[iox-button]',\n template: `{{ label }}`,\n host: {\n '[attr.href]': 'link',\n '[class]': \"'builder-btn variant-' + variant + ' iox-node-' + nodeId\",\n '[attr.contenteditable]': \"editing ? 'true' : null\",\n '(dblclick)': 'startEdit($event)',\n '(blur)': 'commitEdit($event)',\n '(keydown)': 'onKeyDown($event)',\n },\n styles: [`\n :host {\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 :host.variant-primary { background: #cb9090; color: #fff; border: 1px solid #cb9090; }\n :host.variant-outlined { background: transparent; color: #cb9090; border: 1px solid #cb9090; }\n :host.variant-text { background: transparent; color: #cb9090; border: 1px solid transparent; }\n :host[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 // this is intentional even when a height is set, to match the builder's image behaviour.\n if (type === 'Image') {\n if (sp['aspectRatio'] === undefined) out.push('aspect-ratio: 1/1');\n // object-fit is a Size style trait with config default 'cover'; that default isn't persisted,\n // so reapply it here (matching the builder) when the node has none.\n if (sp['objectFit'] === undefined) out.push('object-fit: cover');\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.6",
3
+ "version": "4.2.8",
4
4
  "peerDependencies": {
5
5
  "@angular/common": ">=20.0.0",
6
6
  "@angular/core": ">=20.0.0",
@@ -311,18 +311,24 @@ interface IBuilderEventEmitter {
311
311
  }
312
312
  declare const IOX_BUILDER_EVENTS: InjectionToken<IBuilderEventEmitter>;
313
313
 
314
+ /**
315
+ * Directive-host image: the selector is `img[iox-img]`, so when created dynamically the HOST is
316
+ * the `<img>` itself — NO wrapper element. All styles land on the `<img>` via `.iox-node-{id}`;
317
+ * a single-element (leaf) node has no inner/outer split. See render-parity.md.
318
+ */
314
319
  declare class BuilderImageComponent {
315
320
  src: string;
316
321
  alt: string;
317
322
  nodeId: string;
318
323
  static ɵfac: i0.ɵɵFactoryDeclaration<BuilderImageComponent, never>;
319
- static ɵcmp: i0.ɵɵComponentDeclaration<BuilderImageComponent, "app-builder-image", never, { "src": { "alias": "src"; "required": false; }; "alt": { "alias": "alt"; "required": false; }; "nodeId": { "alias": "nodeId"; "required": false; }; }, {}, never, never, false, never>;
324
+ static ɵcmp: i0.ɵɵComponentDeclaration<BuilderImageComponent, "img[iox-img]", never, { "src": { "alias": "src"; "required": false; }; "alt": { "alias": "alt"; "required": false; }; "nodeId": { "alias": "nodeId"; "required": false; }; }, {}, never, never, false, never>;
320
325
  }
321
326
 
327
+ /** Directive-host spacer: the `<div>` IS the host — no wrapper. All styles on `.iox-node`. */
322
328
  declare class BuilderSpacerComponent {
323
329
  nodeId: string;
324
330
  static ɵfac: i0.ɵɵFactoryDeclaration<BuilderSpacerComponent, never>;
325
- static ɵcmp: i0.ɵɵComponentDeclaration<BuilderSpacerComponent, "app-builder-spacer", never, { "nodeId": { "alias": "nodeId"; "required": false; }; }, {}, never, never, false, never>;
331
+ static ɵcmp: i0.ɵɵComponentDeclaration<BuilderSpacerComponent, "div[iox-spacer]", never, { "nodeId": { "alias": "nodeId"; "required": false; }; }, {}, never, never, false, never>;
326
332
  }
327
333
 
328
334
  declare class CardComponent {
@@ -334,20 +340,26 @@ declare class CardComponent {
334
340
  static ɵcmp: i0.ɵɵComponentDeclaration<CardComponent, "app-card", never, { "title": { "alias": "title"; "required": false; }; "image": { "alias": "image"; "required": false; }; "description": { "alias": "description"; "required": false; }; "nodeId": { "alias": "nodeId"; "required": false; }; }, {}, never, never, false, never>;
335
341
  }
336
342
 
343
+ /** Directive-host divider: the `<div>` IS the host — no wrapper. All styles on `.iox-node`. */
337
344
  declare class BuilderDividerComponent {
338
345
  nodeId: string;
339
346
  static ɵfac: i0.ɵɵFactoryDeclaration<BuilderDividerComponent, never>;
340
- static ɵcmp: i0.ɵɵComponentDeclaration<BuilderDividerComponent, "app-builder-divider", never, { "nodeId": { "alias": "nodeId"; "required": false; }; }, {}, never, never, false, never>;
347
+ static ɵcmp: i0.ɵɵComponentDeclaration<BuilderDividerComponent, "div[iox-divider]", never, { "nodeId": { "alias": "nodeId"; "required": false; }; }, {}, never, never, false, never>;
341
348
  }
342
349
 
350
+ /** Directive-host icon: the `<i>` IS the host — no wrapper. All styles on `.iox-node`. */
343
351
  declare class BuilderIconComponent {
344
352
  /** Full Phosphor icon CSS class string, e.g. "ph-thin ph-star" */
345
353
  iconClass: string;
346
354
  nodeId: string;
347
355
  static ɵfac: i0.ɵɵFactoryDeclaration<BuilderIconComponent, never>;
348
- static ɵcmp: i0.ɵɵComponentDeclaration<BuilderIconComponent, "app-builder-icon", never, { "iconClass": { "alias": "iconClass"; "required": false; }; "nodeId": { "alias": "nodeId"; "required": false; }; }, {}, never, never, false, never>;
356
+ static ɵcmp: i0.ɵɵComponentDeclaration<BuilderIconComponent, "i[iox-icon]", never, { "iconClass": { "alias": "iconClass"; "required": false; }; "nodeId": { "alias": "nodeId"; "required": false; }; }, {}, never, never, false, never>;
349
357
  }
350
358
 
359
+ /**
360
+ * Directive-host link: the `<a>` IS the host — no wrapper. Content is the label; styles come from
361
+ * `.iox-node` (the legacy `style` input is kept for builder compat but no longer inline-applied).
362
+ */
351
363
  declare class BuilderLinkComponent {
352
364
  isPreview: boolean;
353
365
  nodeId: string;
@@ -363,7 +375,7 @@ declare class BuilderLinkComponent {
363
375
  get resolvedHref(): string;
364
376
  onLinkClick(event: MouseEvent): void;
365
377
  static ɵfac: i0.ɵɵFactoryDeclaration<BuilderLinkComponent, [{ optional: true; }]>;
366
- static ɵcmp: i0.ɵɵComponentDeclaration<BuilderLinkComponent, "app-builder-link", never, { "nodeId": { "alias": "nodeId"; "required": false; }; "label": { "alias": "label"; "required": false; }; "linkType": { "alias": "linkType"; "required": false; }; "url": { "alias": "url"; "required": false; }; "pageRoute": { "alias": "pageRoute"; "required": false; }; "target": { "alias": "target"; "required": false; }; "style": { "alias": "style"; "required": false; }; }, {}, never, never, false, never>;
378
+ static ɵcmp: i0.ɵɵComponentDeclaration<BuilderLinkComponent, "a[iox-link]", never, { "nodeId": { "alias": "nodeId"; "required": false; }; "label": { "alias": "label"; "required": false; }; "linkType": { "alias": "linkType"; "required": false; }; "url": { "alias": "url"; "required": false; }; "pageRoute": { "alias": "pageRoute"; "required": false; }; "target": { "alias": "target"; "required": false; }; "style": { "alias": "style"; "required": false; }; }, {}, never, never, false, never>;
367
379
  }
368
380
 
369
381
  interface EditableNode$2 {
@@ -375,6 +387,10 @@ interface EditableNode$2 {
375
387
  default: any;
376
388
  }>;
377
389
  }
390
+ /**
391
+ * Directive-host button: the `<a>` IS the host — no wrapper. Content is the label; styling comes
392
+ * from `:host` variants + `.iox-node`.
393
+ */
378
394
  declare class BuilderButtonComponent implements OnInit {
379
395
  private events;
380
396
  label: string;
@@ -391,7 +407,7 @@ declare class BuilderButtonComponent implements OnInit {
391
407
  private isBound;
392
408
  private syncTraitToPanel;
393
409
  static ɵfac: i0.ɵɵFactoryDeclaration<BuilderButtonComponent, [{ optional: true; }]>;
394
- static ɵcmp: i0.ɵɵComponentDeclaration<BuilderButtonComponent, "app-builder-button", never, { "label": { "alias": "label"; "required": false; }; "link": { "alias": "link"; "required": false; }; "variant": { "alias": "variant"; "required": false; }; "nodeId": { "alias": "nodeId"; "required": false; }; "node": { "alias": "node"; "required": false; }; }, {}, never, never, false, never>;
410
+ static ɵcmp: i0.ɵɵComponentDeclaration<BuilderButtonComponent, "a[iox-button]", never, { "label": { "alias": "label"; "required": false; }; "link": { "alias": "link"; "required": false; }; "variant": { "alias": "variant"; "required": false; }; "nodeId": { "alias": "nodeId"; "required": false; }; "node": { "alias": "node"; "required": false; }; }, {}, never, never, false, never>;
395
411
  }
396
412
 
397
413
  interface EditableNode$1 {