@vectoriox/iox-builder 1.5.4 → 1.5.6

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.
@@ -5435,11 +5435,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImpo
5435
5435
  }] } });
5436
5436
 
5437
5437
  class SliderContainerComponent {
5438
- get editShellStyle() {
5439
- // Inline styles win over CSS rules, so force position:relative here to guarantee
5440
- // the nav buttons (position:absolute) are anchored to THIS element, not a canvas ancestor.
5441
- return { ...this.style, position: 'relative' };
5438
+ set style(v) {
5439
+ if (v === this._style)
5440
+ return;
5441
+ this._style = v;
5442
+ // Rebuild cached value so ngStyle only re-applies when input actually changed.
5443
+ // Avoids DOM style-attribute mutations on every CD tick → prevents MutationObserver spam.
5444
+ this._editShellStyle = { ...v, position: 'relative' };
5442
5445
  }
5446
+ get style() { return this._style; }
5447
+ get editShellStyle() { return this._editShellStyle; }
5443
5448
  get source() { return this._source; }
5444
5449
  set source(value) {
5445
5450
  if (value === this._source)
@@ -5474,7 +5479,8 @@ class SliderContainerComponent {
5474
5479
  this.panelEventService = panelEventService;
5475
5480
  this.activatedRoute = activatedRoute;
5476
5481
  this.children = [];
5477
- this.style = {};
5482
+ this._style = {};
5483
+ this._editShellStyle = { position: 'relative' };
5478
5484
  this.nodeId = '';
5479
5485
  this.dropListId = '';
5480
5486
  // ── Parameters ─────────────────────────────────────────────────────────────
@@ -5580,7 +5586,6 @@ class SliderContainerComponent {
5580
5586
  const hasConfigChange = Object.keys(changes).some(k => relevantKeys.has(k));
5581
5587
  if (hasConfigChange) {
5582
5588
  this._destroySwiper();
5583
- this.cdr.detectChanges();
5584
5589
  this._initRafId = requestAnimationFrame(() => this._initSwiper());
5585
5590
  }
5586
5591
  }
@@ -5673,7 +5678,6 @@ class SliderContainerComponent {
5673
5678
  }
5674
5679
  _scheduleReinit() {
5675
5680
  this._destroySwiper();
5676
- this.cdr.detectChanges();
5677
5681
  this._initRafId = requestAnimationFrame(() => this._initSwiper());
5678
5682
  }
5679
5683
  // ── Swiper lifecycle ────────────────────────────────────────────────────────
@@ -6219,12 +6223,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImpo
6219
6223
  }] } });
6220
6224
 
6221
6225
  class SliderSlideComponent {
6226
+ set style(v) {
6227
+ if (v === this._style)
6228
+ return;
6229
+ this._style = v;
6230
+ // Strip width constraints; rebuild cached object so ngStyle only updates DOM
6231
+ // when the input actually changed — prevents spurious MutationObserver triggers.
6232
+ const { width, minWidth, maxWidth, ...rest } = v || {};
6233
+ this._slideEditStyle = rest;
6234
+ }
6235
+ get style() { return this._style; }
6236
+ get slideEditStyle() { return this._slideEditStyle; }
6222
6237
  constructor(dragEngine, cdr, isPreview) {
6223
6238
  this.dragEngine = dragEngine;
6224
6239
  this.cdr = cdr;
6225
6240
  this.isPreview = isPreview;
6226
6241
  this.children = [];
6227
- this.style = {};
6242
+ this._style = {};
6243
+ this._slideEditStyle = {};
6228
6244
  this.nodeId = '';
6229
6245
  this.dropListId = '';
6230
6246
  this.childClick = new EventEmitter();
@@ -6232,10 +6248,6 @@ class SliderSlideComponent {
6232
6248
  this.childMouseLeave = new EventEmitter();
6233
6249
  this.isPreview = !!isPreview;
6234
6250
  }
6235
- get slideEditStyle() {
6236
- const { width, minWidth, maxWidth, ...rest } = this.style || {};
6237
- return rest;
6238
- }
6239
6251
  ngOnInit() { }
6240
6252
  ngOnDestroy() { }
6241
6253
  onDrop(event) {