@vectoriox/iox-builder 1.0.3 → 1.0.5

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vectoriox/iox-builder",
3
- "version": "1.0.3",
3
+ "version": "1.0.5",
4
4
  "peerDependencies": {
5
5
  "@angular/common": ">=20.0.0",
6
6
  "@angular/core": ">=20.0.0",
@@ -122,6 +122,8 @@ interface ComponentNode {
122
122
  bindings?: IoxBinding[];
123
123
  interactions?: IoxInteraction[];
124
124
  children?: ComponentNode[];
125
+ isGlobal?: boolean;
126
+ globalPosition?: 'before' | 'after';
125
127
  }
126
128
  declare enum TraitInputType {
127
129
  Text = "text",
@@ -261,7 +263,9 @@ declare enum ToolbarAction {
261
263
  Duplicate = "duplicate",
262
264
  Delete = "delete",
263
265
  Play = "play",
264
- SaveAsBlock = "save-as-block"
266
+ SaveAsBlock = "save-as-block",
267
+ MakeGlobal = "make-global",
268
+ RemoveGlobal = "remove-global"
265
269
  }
266
270
  declare enum NodeAction {
267
271
  Delete = "delete",
@@ -590,6 +594,7 @@ declare class BuilderComponent implements OnInit, AfterViewInit, OnChanges, OnDe
590
594
  isSaving: boolean;
591
595
  pageStatus: string;
592
596
  pageSettings: PageSettings | null;
597
+ globalElements: ComponentNode[];
593
598
  save: EventEmitter<void>;
594
599
  back: EventEmitter<void>;
595
600
  preview: EventEmitter<void>;
@@ -600,6 +605,7 @@ declare class BuilderComponent implements OnInit, AfterViewInit, OnChanges, OnDe
600
605
  name: string;
601
606
  node: ComponentNode;
602
607
  }>;
608
+ globalElementsChange: EventEmitter<ComponentNode[]>;
603
609
  previewCanvas?: ElementRef<HTMLElement>;
604
610
  previewScrollRef?: ElementRef<HTMLElement>;
605
611
  lenisContentRef?: ElementRef<HTMLElement>;
@@ -637,6 +643,8 @@ declare class BuilderComponent implements OnInit, AfterViewInit, OnChanges, OnDe
637
643
  handleToolbarModeChange(mode: BuilderMode): void;
638
644
  handleToolbarDeviceChange(device: DeviceMode): void;
639
645
  handleToolbarZoomChange(value: number | 'fit'): void;
646
+ get globalElementsBefore(): ComponentNode[];
647
+ get globalElementsAfter(): ComponentNode[];
640
648
  /** Canvas width in CSS pixels (driven by ViewportService). */
641
649
  get viewportWidth(): number;
642
650
  /** Visual (scaled) canvas width — used to size the scroll container so the
@@ -692,6 +700,7 @@ declare class BuilderComponent implements OnInit, AfterViewInit, OnChanges, OnDe
692
700
  onToolbarAction(event: {
693
701
  action: ToolbarAction;
694
702
  entry: OverlayEntry;
703
+ position?: 'before' | 'after';
695
704
  }): void;
696
705
  confirmSaveBlock(): void;
697
706
  cancelSaveBlock(): void;
@@ -708,7 +717,7 @@ declare class BuilderComponent implements OnInit, AfterViewInit, OnChanges, OnDe
708
717
  private findParentNode;
709
718
  private handlePanelEvents;
710
719
  static ɵfac: i0.ɵɵFactoryDeclaration<BuilderComponent, never>;
711
- static ɵcmp: i0.ɵɵComponentDeclaration<BuilderComponent, "app-builder", never, { "layout": { "alias": "layout"; "required": false; }; "dataSources": { "alias": "dataSources"; "required": false; }; "orgId": { "alias": "orgId"; "required": false; }; "routeParams": { "alias": "routeParams"; "required": false; }; "pageName": { "alias": "pageName"; "required": false; }; "isSaving": { "alias": "isSaving"; "required": false; }; "pageStatus": { "alias": "pageStatus"; "required": false; }; "pageSettings": { "alias": "pageSettings"; "required": false; }; }, { "save": "save"; "back": "back"; "preview": "preview"; "publishToggle": "publishToggle"; "pageSettingsChange": "pageSettingsChange"; "applyAnimationToAll": "applyAnimationToAll"; "saveBlock": "saveBlock"; }, never, ["[builderComponents]", "[builderPanel]"], false, never>;
720
+ static ɵcmp: i0.ɵɵComponentDeclaration<BuilderComponent, "app-builder", never, { "layout": { "alias": "layout"; "required": false; }; "dataSources": { "alias": "dataSources"; "required": false; }; "orgId": { "alias": "orgId"; "required": false; }; "routeParams": { "alias": "routeParams"; "required": false; }; "pageName": { "alias": "pageName"; "required": false; }; "isSaving": { "alias": "isSaving"; "required": false; }; "pageStatus": { "alias": "pageStatus"; "required": false; }; "pageSettings": { "alias": "pageSettings"; "required": false; }; "globalElements": { "alias": "globalElements"; "required": false; }; }, { "save": "save"; "back": "back"; "preview": "preview"; "publishToggle": "publishToggle"; "pageSettingsChange": "pageSettingsChange"; "applyAnimationToAll": "applyAnimationToAll"; "saveBlock": "saveBlock"; "globalElementsChange": "globalElementsChange"; }, never, ["[builderComponents]", "[builderPanel]"], false, never>;
712
721
  }
713
722
 
714
723
  /**
@@ -819,6 +828,7 @@ declare class OverlayComponent implements OnInit, OnDestroy {
819
828
  toolbarAction: EventEmitter<{
820
829
  action: ToolbarAction;
821
830
  entry: OverlayEntry;
831
+ position?: "before" | "after";
822
832
  }>;
823
833
  hoverEntry: OverlayEntry | null;
824
834
  selectEntry: OverlayEntry | null;
@@ -847,8 +857,11 @@ declare class OverlayComponent implements OnInit, OnDestroy {
847
857
  closeMoreMenu(): void;
848
858
  onContextMenu(event: MouseEvent): void;
849
859
  onContextSaveAsBlock(event: MouseEvent): void;
860
+ onMakeGlobal(event: MouseEvent, position: 'before' | 'after'): void;
861
+ onRemoveGlobal(event: MouseEvent): void;
850
862
  closeContextMenu(): void;
851
863
  get hasInteractions(): boolean;
864
+ get selectedNodeIsGlobal(): boolean;
852
865
  private observeSelectElement;
853
866
  private updateAll;
854
867
  private updateHover;
@@ -1064,6 +1077,7 @@ declare class LayerTreeComponent implements OnInit, OnDestroy {
1064
1077
  private registry;
1065
1078
  private overlayService;
1066
1079
  layout: ComponentNode[];
1080
+ globalElements: ComponentNode[];
1067
1081
  nodeSelect: EventEmitter<ComponentNode>;
1068
1082
  nodeAction: EventEmitter<{
1069
1083
  action: NodeAction;
@@ -1071,6 +1085,7 @@ declare class LayerTreeComponent implements OnInit, OnDestroy {
1071
1085
  }>;
1072
1086
  nodeMove: EventEmitter<void>;
1073
1087
  flatTree: TreeNode[];
1088
+ flatGlobalTree: TreeNode[];
1074
1089
  selectedNodeId: string | null;
1075
1090
  hoveredNodeId: string | null;
1076
1091
  /** Cache: component type → icon class */
@@ -1078,6 +1093,7 @@ declare class LayerTreeComponent implements OnInit, OnDestroy {
1078
1093
  private selectSub?;
1079
1094
  /** Last-seen structural signature — used by ngDoCheck to skip no-op rebuilds. */
1080
1095
  private _layoutSig;
1096
+ private _globalSig;
1081
1097
  constructor(registry: ComponentRegistryService, overlayService: OverlayService);
1082
1098
  ngOnInit(): void;
1083
1099
  ngOnDestroy(): void;
@@ -1101,7 +1117,7 @@ declare class LayerTreeComponent implements OnInit, OnDestroy {
1101
1117
  private rebuild;
1102
1118
  private flattenTree;
1103
1119
  static ɵfac: i0.ɵɵFactoryDeclaration<LayerTreeComponent, never>;
1104
- static ɵcmp: i0.ɵɵComponentDeclaration<LayerTreeComponent, "app-layer-tree", never, { "layout": { "alias": "layout"; "required": false; }; }, { "nodeSelect": "nodeSelect"; "nodeAction": "nodeAction"; "nodeMove": "nodeMove"; }, never, never, false, never>;
1120
+ static ɵcmp: i0.ɵɵComponentDeclaration<LayerTreeComponent, "app-layer-tree", never, { "layout": { "alias": "layout"; "required": false; }; "globalElements": { "alias": "globalElements"; "required": false; }; }, { "nodeSelect": "nodeSelect"; "nodeAction": "nodeAction"; "nodeMove": "nodeMove"; }, never, never, false, never>;
1105
1121
  }
1106
1122
 
1107
1123
  declare class InteractionsPanelComponent implements OnInit, OnDestroy {