@vectoriox/iox-builder 11.6.0 → 11.6.1

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.
@@ -11431,13 +11431,14 @@ class BuilderDialogComponent {
11431
11431
  const allowed = ['center', 'top', 'bottom', 'start', 'end'];
11432
11432
  return allowed.indexOf(String(this.placement)) >= 0 ? String(this.placement) : 'center';
11433
11433
  }
11434
- constructor(dragEngine, instanceRegistry, overlayService, cdr, designState, panelEvents) {
11434
+ constructor(dragEngine, instanceRegistry, overlayService, cdr, designState, panelEvents, zone) {
11435
11435
  this.dragEngine = dragEngine;
11436
11436
  this.instanceRegistry = instanceRegistry;
11437
11437
  this.overlayService = overlayService;
11438
11438
  this.cdr = cdr;
11439
11439
  this.designState = designState;
11440
11440
  this.panelEvents = panelEvents;
11441
+ this.zone = zone;
11441
11442
  this.children = [];
11442
11443
  this.nodeId = '';
11443
11444
  this.dropListId = '';
@@ -11456,6 +11457,14 @@ class BuilderDialogComponent {
11456
11457
  /** Closed by its X / backdrop while the selection or the switcher still shows it: hidden until either changes. */
11457
11458
  this.dismissed = false;
11458
11459
  }
11460
+ /** The canvas runs interactions OUTSIDE Angular's zone; an open / close they cause still has to reach the panels
11461
+ * and the toolbar that read the design state (CC1.3: the Phone menu preview, the Menu chip). */
11462
+ inZone(fn) {
11463
+ if (this.zone)
11464
+ this.zone.run(fn);
11465
+ else
11466
+ fn();
11467
+ }
11459
11468
  /** Open on the canvas right now (an exit that is playing counts as closed). */
11460
11469
  get isOpen() {
11461
11470
  return this.designOpen && !this.closing;
@@ -11559,9 +11568,9 @@ class BuilderDialogComponent {
11559
11568
  }
11560
11569
  // Open/close/toggle actions (and A1c's panel) reach the canvas twin through here.
11561
11570
  this.instanceRegistry.register(this.nodeId, {
11562
- open: () => this.openRuntime(),
11563
- close: () => this.closeRuntime(),
11564
- toggle: () => (this.isOpen ? this.closeRuntime() : this.openRuntime()),
11571
+ open: () => this.inZone(() => this.openRuntime()),
11572
+ close: () => this.inZone(() => this.closeRuntime()),
11573
+ toggle: () => this.inZone(() => (this.isOpen ? this.closeRuntime() : this.openRuntime())),
11565
11574
  isOpen: () => this.isOpen,
11566
11575
  });
11567
11576
  }
@@ -11593,7 +11602,7 @@ class BuilderDialogComponent {
11593
11602
  onDrop(event) {
11594
11603
  this.dragEngine.handleDrop(this.children, event, this.dropListId, this.cdr);
11595
11604
  }
11596
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: BuilderDialogComponent, deps: [{ token: DragEngineService }, { token: i1$1.ComponentInstanceRegistryService }, { token: OverlayService }, { token: i0.ChangeDetectorRef }, { token: CanvasDesignStateService, optional: true }, { token: PanelEventService, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
11605
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: BuilderDialogComponent, deps: [{ token: DragEngineService }, { token: i1$1.ComponentInstanceRegistryService }, { token: OverlayService }, { token: i0.ChangeDetectorRef }, { token: CanvasDesignStateService, optional: true }, { token: PanelEventService, optional: true }, { token: i0.NgZone, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
11597
11606
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.31", type: BuilderDialogComponent, isStandalone: false, selector: "app-builder-dialog", inputs: { children: "children", nodeId: "nodeId", dropListId: "dropListId", closeOnBackdrop: "closeOnBackdrop", showCloseButton: "showCloseButton", placement: "placement" }, outputs: { childClick: "childClick", childMouseEnter: "childMouseEnter", childMouseLeave: "childMouseLeave" }, viewQueries: [{ propertyName: "stageRef", first: true, predicate: ["stage"], descendants: true }], ngImport: i0, template: `
11598
11607
  <div *ngIf="designOpen" #stage class="dialog-stage" [attr.data-placement]="placementValue"
11599
11608
  (click)="onStageClick($event)">
@@ -11667,6 +11676,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.31", ngImpo
11667
11676
  type: Optional
11668
11677
  }] }, { type: PanelEventService, decorators: [{
11669
11678
  type: Optional
11679
+ }] }, { type: i0.NgZone, decorators: [{
11680
+ type: Optional
11670
11681
  }] }], propDecorators: { children: [{
11671
11682
  type: Input
11672
11683
  }], nodeId: [{