@vectoriox/iox-builder 9.6.1 → 9.8.0

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/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { ComponentRef, Type, InjectionToken, ChangeDetectorRef, OnInit, AfterViewInit, OnChanges, OnDestroy, EventEmitter, ElementRef, ApplicationRef, SimpleChanges, ViewContainerRef, Injector, EnvironmentInjector, TemplateRef, AfterContentInit, QueryList } from '@angular/core';
2
+ import { ComponentRef, Type, InjectionToken, ChangeDetectorRef, OnInit, AfterViewInit, OnChanges, OnDestroy, EventEmitter, ElementRef, ApplicationRef, SimpleChanges, ViewContainerRef, Injector, EnvironmentInjector, TemplateRef, AfterContentInit, QueryList, NgZone } from '@angular/core';
3
3
  import * as i30 from '@vectoriox/iox-ui';
4
4
  import { ResponsiveOverrides, RelativeSourceSpec, Breakpoint, PageStyleSettings, FormRenderState, AdoptContext, DesignTokenLike, DesignMode, ComponentInstanceRegistryService, DataSourceEndpoints, LinkType, PalettePreset, syncNodeDesignClasses } from '@vectoriox/iox-ui';
5
5
  export { ComponentInstanceRegistryService, IoxContextSlot, PageStyleSettings, SetContextParams, VIRTUAL_TRAIT_KEYS, composeVirtualTraits } from '@vectoriox/iox-ui';
@@ -19,8 +19,8 @@ import * as i26 from 'primeng/inputtext';
19
19
  import * as i27 from 'primeng/select';
20
20
  import * as i28 from 'primeng/tooltip';
21
21
  import * as i29 from 'primeng/dialog';
22
+ import { AccordionRuntime, CompositeNodeFactory, CompositeNode } from '@vectoriox/iox-ui/composite-core';
22
23
  import { FormPresetDef } from '@vectoriox/iox-ui/forms-core';
23
- import { CompositeNodeFactory, CompositeNode } from '@vectoriox/iox-ui/composite-core';
24
24
 
25
25
  declare enum StyleCategory {
26
26
  Layout = "Layout",
@@ -132,7 +132,7 @@ interface IoxDataSource {
132
132
  };
133
133
  }
134
134
 
135
- type InteractionTrigger = 'pageLoad' | 'click' | 'hover' | 'viewportEnter' | 'scrollProgress' | 'pageLeave' | 'pageEnter' | 'swiperSlideChange' | 'swiperReachBeginning' | 'swiperReachEnd' | 'swiperAutoplayStart' | 'swiperAutoplayStop' | 'swiperSlideActive' | 'swiperSlideInactive';
135
+ type InteractionTrigger = 'pageLoad' | 'click' | 'hover' | 'viewportEnter' | 'scrollProgress' | 'pageLeave' | 'pageEnter' | 'swiperSlideChange' | 'swiperReachBeginning' | 'swiperReachEnd' | 'swiperAutoplayStart' | 'swiperAutoplayStop' | 'swiperSlideActive' | 'swiperSlideInactive' | 'itemOn' | 'itemOff';
136
136
  type InteractionActionType = 'fadeIn' | 'fadeOut' | 'moveUp' | 'moveDown' | 'moveLeft' | 'moveRight' | 'scaleIn' | 'scaleOut' | 'rotate' | 'show' | 'hide' | 'toggleVisibility' | 'setContext' | 'clearContext' | 'openDialog' | 'closeDialog' | 'toggleDialog' | 'navigate' | 'scrollTo' | 'submitForm' | 'copyToClipboard' | 'grantConsent' | 'denyConsent' | 'setConsentCategory' | 'openConsentPreferences' | 'swiperNext' | 'swiperPrev' | 'swiperGoToSlide' | 'swiperAutoplayStart' | 'swiperAutoplayStop' | 'swiperAutoplayPause';
137
137
  interface InteractionAction {
138
138
  type: InteractionActionType;
@@ -241,7 +241,7 @@ interface InteractionPreset {
241
241
  name: string;
242
242
  interactions: IoxInteraction[];
243
243
  }
244
- type ElementState = 'hover' | 'active' | 'focus' | 'first-child' | 'last-child' | 'nth-child(odd)' | 'nth-child(even)' | 'parent-hover' | 'trigger-hover' | 'wrong' | 'accepted' | 'current';
244
+ type ElementState = 'hover' | 'active' | 'focus' | 'first-child' | 'last-child' | 'nth-child(odd)' | 'nth-child(even)' | 'parent-hover' | 'trigger-hover' | 'trigger-on' | 'wrong' | 'accepted' | 'current' | 'on';
245
245
  /** Interaction pseudo-classes — compiled to .iox-node-{id}:state */
246
246
  declare const INTERACTION_STATES: ElementState[];
247
247
  /** Structural pseudo-classes — compiled to .iox-outer-{id}:state */
@@ -266,6 +266,7 @@ declare const RELATIONAL_STATE_BASE: Partial<Record<ElementState, string>>;
266
266
  * `TARGETED_STATE_BASE` maps each targeted state to the trigger's pseudo-class.
267
267
  */
268
268
  declare const TARGETED_STATES: ElementState[];
269
+ /** Kept for the hover case; every targeted state's selector suffix is the shared `TARGETED_STATE_SUFFIX`. */
269
270
  declare const TARGETED_STATE_BASE: Partial<Record<ElementState, string>>;
270
271
  /**
271
272
  * Design-time validation states (forms-and-inputs-plan.md Part 2, board 7 — "the failure
@@ -372,6 +373,12 @@ interface ComponentNode {
372
373
  * composite's editors. A navigation's roles are written by the composer and `planNavShape` (CC1).
373
374
  */
374
375
  role?: string;
376
+ /**
377
+ * An item's identity inside its composite (CC2 — an Accordion item's `k1`…, composite plan §3). Its ARIA
378
+ * ids derive from it, so a reorder never pairs a header with another item's panel. Reissued on every
379
+ * clone (`regenerateNodeIds`). A From-content template carries none: each row's key is its own id.
380
+ */
381
+ itemKey?: string;
375
382
  }
376
383
  /**
377
384
  * Build a full StyleTraitGroup[] schema populated with values from a flat
@@ -660,6 +667,8 @@ declare enum ToolbarAction {
660
667
  Copy = "copy",
661
668
  Paste = "paste",
662
669
  AddSlide = "add-slide",
670
+ /** An accordion part's "Add item" (CC2): a fresh item after the selected one's item. */
671
+ AddItem = "add-item",
663
672
  Wrap = "wrap",
664
673
  /** Open the components panel to insert into / after the selection (B2 quick-add). */
665
674
  AddElement = "add-element"
@@ -765,6 +774,11 @@ declare class OverlayService {
765
774
  node: ComponentNode;
766
775
  ref: NodeRef;
767
776
  } | undefined;
777
+ /** The registered node with this id (a From-content row's click resolves to its TEMPLATE part, CC2). */
778
+ findRefByNodeId(id: string): {
779
+ node: ComponentNode;
780
+ ref: NodeRef;
781
+ } | undefined;
768
782
  /**
769
783
  * Walk up the DOM from a node's registered host element to the nearest ANCESTOR
770
784
  * element that is itself a registered node. Used to resolve the immediate parent
@@ -778,7 +792,9 @@ declare class OverlayService {
778
792
  clearHover(): void;
779
793
  /** Current selection snapshot (null if nothing is selected). */
780
794
  getCurrentSelection(): OverlayEntry | null;
781
- setSelect(element: HTMLElement, componentName: string, mode: BuilderMode, node?: ComponentNode, componentRef?: ComponentRef<any>): void;
795
+ /** The From-content row (1-based) a click came from when it selected a TEMPLATE part (CC2), else null. */
796
+ selectedRow: number | null;
797
+ setSelect(element: HTMLElement, componentName: string, mode: BuilderMode, node?: ComponentNode, componentRef?: ComponentRef<any>, fromRow?: number | null): void;
782
798
  clearSelect(): void;
783
799
  refreshSelect(): void;
784
800
  /** Lightweight swap for drag-preview tracking. */
@@ -1059,7 +1075,13 @@ declare enum InsertRefusal {
1059
1075
  * structure guard (composite-core `structureRefusal`). Reordering inside the parent never asks. */
1060
1076
  LockedPartMove = "lockedPartMove",
1061
1077
  /** A composite's LOCKED part deleted (Delete key, toolbar, layer tree, Make global): refused. */
1062
- LockedPart = "lockedPart"
1078
+ LockedPart = "lockedPart",
1079
+ /** An accordion item's header or panel (CC2) moved out of its item. */
1080
+ LockedItemPartMove = "lockedItemPartMove",
1081
+ /** An accordion item's header or panel (CC2) deleted on its own. */
1082
+ LockedItemPart = "lockedItemPart",
1083
+ /** An accordion's LAST item (composite plan T11): it keeps at least one. */
1084
+ LastItem = "lastItem"
1063
1085
  }
1064
1086
  declare const FORM_STATE_BLOCK_TYPES: ReadonlySet<string>;
1065
1087
  /** The builder-chrome label that says each refusal on screen (English in `BUILDER_CHROME_EN`). */
@@ -1079,8 +1101,9 @@ interface TypedNode {
1079
1101
  */
1080
1102
  declare function insertRefusal(node: TypedNode | null | undefined, ancestors: readonly TypedNode[]): InsertRefusal | null;
1081
1103
  /** Why `node` may not be REMOVED from where it is (deleted, cut, made global), or null when it may: a
1082
- * composite's locked part stays — its Parts switch or deleting the whole composite are the ways out. */
1083
- declare function removalRefusal(node: TypedNode | null | undefined): InsertRefusal | null;
1104
+ * composite's locked part stays — its Parts switch or deleting the whole composite are the ways out — and an
1105
+ * accordion keeps its last item. `siblings` = the list `node` sits in (where the caller has it). */
1106
+ declare function removalRefusal(node: TypedNode | null | undefined, siblings?: readonly TypedNode[] | null): InsertRefusal | null;
1084
1107
 
1085
1108
  /**
1086
1109
  * SymbolRegistryService — in-memory store for org-level symbols.
@@ -1151,7 +1174,7 @@ declare class DragEngineService {
1151
1174
  * The ONE check every REMOVAL asks (Delete key, toolbar, layer tree, Make global): null when `node` may
1152
1175
  * leave its place; otherwise the refusal, announced on `insertRefused$` like any other.
1153
1176
  */
1154
- refuseRemoval(node: unknown): InsertRefusal | null;
1177
+ refuseRemoval(node: unknown, siblings?: readonly unknown[] | null): InsertRefusal | null;
1155
1178
  /** The node a payload WOULD insert, without building it: a type string, a block/symbol, or a node. */
1156
1179
  private payloadNode;
1157
1180
  /** The nodes a dropzone sits in, outermost first, its own node last — read from the DOM, which is
@@ -1686,6 +1709,12 @@ declare class InteractionEngineService {
1686
1709
  replayTrigger(nodeId: string, trigger: InteractionTrigger): void;
1687
1710
  private _replayTrigger;
1688
1711
  private attachInteraction;
1712
+ /**
1713
+ * `itemOn` / `itemOff` (CC2): run when the part's accordion ITEM opens / closes — announced by the shared
1714
+ * composite-core runtime on the item, on the canvas as on the site. An item already open when the
1715
+ * listener attaches has opened: its `itemOn` runs at once (its entrance was pre-stated hidden).
1716
+ */
1717
+ private attachItemState;
1689
1718
  private attachPageLoad;
1690
1719
  private attachViewportEnter;
1691
1720
  private isBuilderMode;
@@ -1888,7 +1917,10 @@ declare enum AuditCode {
1888
1917
  /** Form content inside a link or a button — a STRUCTURE finding, true at every width (form-nesting-audit.util). */
1889
1918
  FormInLink = "form-in-link",
1890
1919
  /** An icon-only button or link with no Accessible name — announced as an unnamed control (CC1 N6). */
1891
- UnnamedControl = "unnamed-control"
1920
+ UnnamedControl = "unnamed-control",
1921
+ /** A composite whose items come from content, and its source returned no rows (CC2, board 9): the
1922
+ * canvas shows the placeholder, the live site renders nothing. */
1923
+ EmptySource = "empty-source"
1892
1924
  }
1893
1925
  /** A fix that changes the tree, not a style or a trait — applied as one page-history step. */
1894
1926
  declare enum StructureFix {
@@ -1918,6 +1950,12 @@ interface AuditNode {
1918
1950
  top?: number;
1919
1951
  /** It shows only an icon and has no Accessible name (the shared `needsAccessibleName`). */
1920
1952
  unnamedControl?: boolean;
1953
+ /** Takes its items from content and the source returned none (CC2): the source's alias, and the section
1954
+ * it sits in (the finding names both). */
1955
+ emptySource?: {
1956
+ alias: string;
1957
+ section: string;
1958
+ };
1921
1959
  }
1922
1960
  interface AuditFinding {
1923
1961
  nodeId: string;
@@ -2087,6 +2125,8 @@ declare class BuilderComponent implements OnInit, AfterViewInit, OnChanges, OnDe
2087
2125
  previewScrollRef?: ElementRef<HTMLElement>;
2088
2126
  lenisContentRef?: ElementRef<HTMLElement>;
2089
2127
  globalOverlayRef?: ElementRef<HTMLElement>;
2128
+ /** The overlay's BEFORE wrapper comes and goes with its globals; its block size is the page's top reserve. */
2129
+ set globalsBeforeRef(ref: ElementRef<HTMLElement> | undefined);
2090
2130
  components: any[];
2091
2131
  activePanel: string;
2092
2132
  isPanelOpen: boolean;
@@ -2124,6 +2164,8 @@ declare class BuilderComponent implements OnInit, AfterViewInit, OnChanges, OnDe
2124
2164
  * `utils/responsive-audit.util.ts`.
2125
2165
  */
2126
2166
  runAudit(): void;
2167
+ /** An Accordion from content whose source came back with no rows (CC2): what the audit names. */
2168
+ private emptySourceOf;
2127
2169
  /** The node's OWN trait values — the Base layer the responsive `inputs` cascade sits on top of. */
2128
2170
  private baseInputMapOf;
2129
2171
  private refreshStructureFindings;
@@ -2180,6 +2222,11 @@ declare class BuilderComponent implements OnInit, AfterViewInit, OnChanges, OnDe
2180
2222
  /** The page reserves a bottom bar's height on the canvas where the bar shows (CC1 R1) — design-core's
2181
2223
  * `barReserveClass` of the bar among the globals, or null. A field, recomputed when globals change. */
2182
2224
  canvasBarReserve: string | null;
2225
+ /** The page's top reserve, in canvas px: the height the in-flow BEFORE globals take (a header), so the
2226
+ * page's first content starts below it, as on the live site (iox-ui#19). 0 for a fixed header. */
2227
+ canvasHeaderReserve: number;
2228
+ private beforeGlobalsEl;
2229
+ private beforeGlobalsRo?;
2183
2230
  /** Canvas frame height in canvas-space pixels (= previewScroll.clientHeight / scale).
2184
2231
  * Used as iox-page-component's height so position:fixed top:0;bottom:0 fills the
2185
2232
  * same area as height:100vh (both resolve to this value). */
@@ -2199,9 +2246,14 @@ declare class BuilderComponent implements OnInit, AfterViewInit, OnChanges, OnDe
2199
2246
  handleToolbarBreakpointChange(bp: Breakpoint): void;
2200
2247
  handleToolbarZoomChange(value: number | 'fit'): void;
2201
2248
  handleToolbarScreenWidthChange(width: number): void;
2202
- /** The globals the frame-pinned overlay draws: every BEFORE global, then the pinned AFTER ones (a
2203
- * fixed bottom bar, a Dialog) — same order as before iox-ui#12. */
2204
- get globalElementsInOverlay(): ComponentNode[];
2249
+ /** Every BEFORE global, drawn in the overlay's before wrapper (iox-ui#19). */
2250
+ get globalElementsBefore(): ComponentNode[];
2251
+ /** The pinned AFTER globals (a fixed bottom bar, a Dialog), drawn in the overlay after the wrapper. */
2252
+ get globalElementsPinnedAfter(): ComponentNode[];
2253
+ /** Watch the BEFORE wrapper: a header growing, or turning fixed at a breakpoint, changes the reserve. A
2254
+ * ResizeObserver reports layout px, untouched by the canvas zoom. */
2255
+ private observeBeforeGlobals;
2256
+ setHeaderReserve(px: number): void;
2205
2257
  readonly globalsAfterClass = "iox-canvas-globals-after";
2206
2258
  /** In-flow AFTER globals (a footer): drawn after the page's content, as the live site draws them. */
2207
2259
  get globalElementsInPage(): ComponentNode[];
@@ -2319,6 +2371,9 @@ declare class BuilderComponent implements OnInit, AfterViewInit, OnChanges, OnDe
2319
2371
  interaction?: IoxInteraction;
2320
2372
  wrapType?: string;
2321
2373
  }): void;
2374
+ /** Toolbar ▸ Add item on an accordion part (CC2): a fresh item after the selection's own item (or at the end
2375
+ * for the root), the recipe's own item — ONE undo step, then the new item's header is selected. */
2376
+ private addAccordionItemFrom;
2322
2377
  confirmSaveBlock(): void;
2323
2378
  cancelSaveBlock(): void;
2324
2379
  private deepCloneWithNewIds;
@@ -2409,6 +2464,9 @@ declare class RenderDirective implements OnInit, OnDestroy {
2409
2464
  * (`null`), the legacy path is byte-identical — the parent's wrapper owns `iox-outer` + drag.
2410
2465
  */
2411
2466
  ioxDragSourceId: string | null;
2467
+ /** Set by a parent whose element only takes PHRASING content (an Accordion header's <button>, CC2): a
2468
+ * Heading then renders as a <span> — its outline level is the <hN> the header renders around it. */
2469
+ ioxPhrasing: boolean;
2412
2470
  onClick: EventEmitter<any>;
2413
2471
  onMouseEnter: EventEmitter<any>;
2414
2472
  onMouseLeave: EventEmitter<any>;
@@ -2416,6 +2474,9 @@ declare class RenderDirective implements OnInit, OnDestroy {
2416
2474
  private readonly onCanvas;
2417
2475
  private readonly labels;
2418
2476
  private readonly designState;
2477
+ private readonly compositeCanvas;
2478
+ /** The node this directive attached a composite runtime for (an accordion root). */
2479
+ private compositeRootId;
2419
2480
  /** Host element drag was registered on (collapsed path) — unregistered on destroy. */
2420
2481
  private hostDragEl;
2421
2482
  constructor(vcr: ViewContainerRef, injector: Injector, envInjector: EnvironmentInjector, doc: Document, registryService: ComponentRegistryService, overlayService: OverlayService, styleRegistry: StyleRegistryService, interactionEngine: InteractionEngineService, cdr: ChangeDetectorRef, panelEventService: PanelEventService, dragEngine: DragEngineService);
@@ -2449,7 +2510,7 @@ declare class RenderDirective implements OnInit, OnDestroy {
2449
2510
  private syncA11y;
2450
2511
  private render;
2451
2512
  static ɵfac: i0.ɵɵFactoryDeclaration<RenderDirective, never>;
2452
- static ɵdir: i0.ɵɵDirectiveDeclaration<RenderDirective, "[ioxRender]", never, { "ioxRender": { "alias": "ioxRender"; "required": false; }; "ioxDragSourceId": { "alias": "ioxDragSourceId"; "required": false; }; }, { "onClick": "onClick"; "onMouseEnter": "onMouseEnter"; "onMouseLeave": "onMouseLeave"; }, never, never, false, never>;
2513
+ static ɵdir: i0.ɵɵDirectiveDeclaration<RenderDirective, "[ioxRender]", never, { "ioxRender": { "alias": "ioxRender"; "required": false; }; "ioxDragSourceId": { "alias": "ioxDragSourceId"; "required": false; }; "ioxPhrasing": { "alias": "ioxPhrasing"; "required": false; }; }, { "onClick": "onClick"; "onMouseEnter": "onMouseEnter"; "onMouseLeave": "onMouseLeave"; }, never, never, false, never>;
2453
2514
  }
2454
2515
 
2455
2516
  declare class IoxDraggableDirective implements OnInit, OnDestroy {
@@ -2597,8 +2658,16 @@ declare class OverlayComponent implements OnInit, OnDestroy {
2597
2658
  get hasInteractions(): boolean;
2598
2659
  get selectedNodeIsGlobal(): boolean;
2599
2660
  private readonly builderLabels;
2661
+ /** The kind badge's glyph: the composite's kind icon (board 9: "kind icon + 'Accordion · trigger'"). */
2662
+ get selectedRoleIcon(): string;
2600
2663
  /** A composite part's kind + role under the selection (board 3/8 "Selection kind badge"), or null. */
2601
2664
  get selectedRoleBadge(): string | null;
2665
+ /** The selection toolbar's name: the part's LAYER name (board 3 — "Header", "Accordion"), else its type. */
2666
+ get toolbarName(): string;
2667
+ /** An accordion part: the toolbar's "Add item" (CC2). */
2668
+ get canAddItem(): boolean;
2669
+ get addItemLabel(): string;
2670
+ onAddItem(event: MouseEvent): void;
2602
2671
  get selectedPresetName(): string | null;
2603
2672
  get isLinkedSymbol(): boolean;
2604
2673
  get isDetachedSymbol(): boolean;
@@ -2779,6 +2848,10 @@ declare class BuilderContainerComponent implements OnInit, OnDestroy {
2779
2848
  childClick: EventEmitter<any>;
2780
2849
  childMouseEnter: EventEmitter<any>;
2781
2850
  childMouseLeave: EventEmitter<void>;
2851
+ /** The node this container renders (assigned by RenderDirective, never an input). */
2852
+ node: ComponentNode | null;
2853
+ /** The wrapper a child renders in: an Accordion item's header → its heading level, its panel → the track. */
2854
+ wrapperOf(child: ComponentNode): string | null;
2782
2855
  constructor(elRef: ElementRef<HTMLElement>, dragEngine: DragEngineService, cdr: ChangeDetectorRef);
2783
2856
  ngOnInit(): void;
2784
2857
  ngOnDestroy(): void;
@@ -2807,6 +2880,10 @@ declare class BuilderLinkedContainerComponent implements OnInit, OnDestroy {
2807
2880
  childMouseEnter: EventEmitter<any>;
2808
2881
  childMouseLeave: EventEmitter<void>;
2809
2882
  private capturePreventDefault;
2883
+ /** The node this component renders (assigned by RenderDirective, never an input). */
2884
+ node: ComponentNode | null;
2885
+ /** An Accordion's header renders a <button> (CC2). */
2886
+ get isTrigger(): boolean;
2810
2887
  constructor(dragEngine: DragEngineService, cdr: ChangeDetectorRef, elRef: ElementRef<HTMLElement>, isPreview: boolean);
2811
2888
  ngOnInit(): void;
2812
2889
  ngOnDestroy(): void;
@@ -2886,6 +2963,7 @@ declare class BuilderRepeaterComponent implements OnInit, OnDestroy {
2886
2963
  private panelEventService;
2887
2964
  private cdr;
2888
2965
  private interactionEngine;
2966
+ private labels?;
2889
2967
  private _children;
2890
2968
  get children(): ComponentNode[];
2891
2969
  /** RenderDirective sets `source` (→ fetchData) BEFORE `children`. With an async source the response
@@ -2904,6 +2982,15 @@ declare class BuilderRepeaterComponent implements OnInit, OnDestroy {
2904
2982
  items: any[];
2905
2983
  previewRows: ComponentNode[][];
2906
2984
  isLoading: boolean;
2985
+ /** The node rendered (assigned by RenderDirective). An Accordion from content is a Repeater (CC2). */
2986
+ node: ComponentNode | null;
2987
+ /** Set once a fetch has answered — an empty source is a FINDING only after it said so. */
2988
+ private fetched;
2989
+ /** A composite whose source answered with no rows: the placeholder takes the template's place. */
2990
+ get showsEmptySource(): boolean;
2991
+ get emptySourceTitle(): string;
2992
+ get emptySourceHint(): string;
2993
+ private label;
2907
2994
  /** Bound reference passed to [ioxDropzonePostDrop] so the directive can call it. */
2908
2995
  readonly refreshPreviewsBound: () => void;
2909
2996
  private _source;
@@ -2917,8 +3004,12 @@ declare class BuilderRepeaterComponent implements OnInit, OnDestroy {
2917
3004
  set sourcePath(value: string);
2918
3005
  get limit(): number;
2919
3006
  set limit(value: number);
2920
- constructor(dragEngine: DragEngineService, overlayService: OverlayService, dataSourceService: BuilderDataSourceService, dsRegistry: DataSourceRegistryService, panelEventService: PanelEventService, cdr: ChangeDetectorRef, interactionEngine: InteractionEngineService);
3007
+ constructor(dragEngine: DragEngineService, overlayService: OverlayService, dataSourceService: BuilderDataSourceService, dsRegistry: DataSourceRegistryService, panelEventService: PanelEventService, cdr: ChangeDetectorRef, interactionEngine: InteractionEngineService, labels?: BuilderLabelResolver | undefined);
2921
3008
  ngOnInit(): void;
3009
+ /** The definition the last fetch ran on — compared to the registry's to refetch only on a real change. */
3010
+ private fetchedDefinition;
3011
+ private sourceSub?;
3012
+ private sourceDefinition;
2922
3013
  ngOnDestroy(): void;
2923
3014
  onDrop(event: IoxDropEvent): void;
2924
3015
  /** Monotonic fetch token — editing a binding sets `source` and `sourcePath` as two separate inputs,
@@ -2940,7 +3031,7 @@ declare class BuilderRepeaterComponent implements OnInit, OnDestroy {
2940
3031
  /** Rebuild preview rows after the template STRUCTURE changed (e.g. a child was wrapped, deleted,
2941
3032
  * or moved). Deferred so the new DOM + overlay refs exist before bindings are re-applied. */
2942
3033
  refreshTemplate(): void;
2943
- static ɵfac: i0.ɵɵFactoryDeclaration<BuilderRepeaterComponent, never>;
3034
+ static ɵfac: i0.ɵɵFactoryDeclaration<BuilderRepeaterComponent, [null, null, null, null, null, null, null, { optional: true; }]>;
2944
3035
  static ɵcmp: i0.ɵɵComponentDeclaration<BuilderRepeaterComponent, "app-builder-repeater", never, { "children": { "alias": "children"; "required": false; }; "style": { "alias": "style"; "required": false; }; "nodeId": { "alias": "nodeId"; "required": false; }; "dropListId": { "alias": "dropListId"; "required": false; }; "source": { "alias": "source"; "required": false; }; "sourcePath": { "alias": "sourcePath"; "required": false; }; "limit": { "alias": "limit"; "required": false; }; }, { "childClick": "childClick"; "childMouseEnter": "childMouseEnter"; "childMouseLeave": "childMouseLeave"; }, never, never, false, never>;
2945
3036
  }
2946
3037
 
@@ -3197,6 +3288,8 @@ interface LayerMoreRows {
3197
3288
  alias: string;
3198
3289
  /** The template items' depth — the line sits level with them, under the last row of the template. */
3199
3290
  depth: number;
3291
+ /** A composite's rows (an Accordion from content): the line adds "— edit the template" (board 9). */
3292
+ composite: boolean;
3200
3293
  }
3201
3294
  interface LayerTreeRow {
3202
3295
  node: ComponentNode;
@@ -3222,6 +3315,8 @@ interface LayerTreeRow {
3222
3315
  descriptor: string | null;
3223
3316
  /** A part inside a Repeater's template that reads the row (or any source): the plug glyph. */
3224
3317
  bound: boolean;
3318
+ /** A composite part's role chip (`trigger`, `card.title`), or null. */
3319
+ roleChip: string | null;
3225
3320
  /** Set on the LAST visible row of a Repeater's template: the "N more rows" line follows it. */
3226
3321
  moreRows: LayerMoreRows | null;
3227
3322
  }
@@ -3230,6 +3325,9 @@ interface LayerTreeContext {
3230
3325
  isExpanded(node: ComponentNode): boolean;
3231
3326
  /** The live Repeater's rows (its rendered component), or null when it has not rendered. */
3232
3327
  repeaterRows(node: ComponentNode): LayerRepeaterRows | null;
3328
+ /** A composite whose items come FROM CONTENT (CC2): its root row's sub-label ("From faqs · 6 rows",
3329
+ * board 9), in the host's language. Absent → the Repeater's own `alias × N`. */
3330
+ fromContentLabel?(rows: LayerRepeaterRows): string | null;
3233
3331
  }
3234
3332
  /** The alias a Repeater repeats — its `source` binding (canonical), else its `source` trait. */
3235
3333
  declare function repeaterSourceAlias(node: ComponentNode): string;
@@ -3291,7 +3389,8 @@ declare class LayerTreeComponent implements OnInit, OnDestroy {
3291
3389
  constructor(registry: ComponentRegistryService, overlayService: OverlayService, dragEngine: DragEngineService);
3292
3390
  ngOnInit(): void;
3293
3391
  ngOnDestroy(): void;
3294
- /** "5 more rows from projects" — the line after a Repeater's template (boards 4 / 8). */
3392
+ /** "5 more rows from projects" — the line after a Repeater's template (boards 4 / 8); a composite's says
3393
+ * "— edit the template" too (board 9). */
3295
3394
  moreRowsText(more: LayerMoreRows): string;
3296
3395
  /** The name's title — the full text a narrow sidebar truncates: the name, its sub-label, and every
3297
3396
  * binding a bound part holds. */
@@ -3330,6 +3429,8 @@ interface Crumb {
3330
3429
  /** `null` for the Body crumb: the page root is not a node in the layout tree. */
3331
3430
  node: ComponentNode | null;
3332
3431
  label: string;
3432
+ /** A composite ROOT's kind glyph (board 3: "≡ Accordion"), or null. */
3433
+ icon: string | null;
3333
3434
  /** True for the last crumb (the selected node, or Body when nothing is selected). */
3334
3435
  isCurrent: boolean;
3335
3436
  /** Stable track key — nodes are tracked by reference, Body by its label. */
@@ -3445,6 +3546,21 @@ declare function findNodeLocation(roots: ComponentNode[], target: ComponentNode)
3445
3546
  */
3446
3547
  declare function wrapNode(roots: ComponentNode[], target: ComponentNode, wrapper: ComponentNode): ComponentNode | null;
3447
3548
 
3549
+ /**
3550
+ * The same node as another TYPE (CC2: an Accordion switching Manual ⇄ From content is a Container ⇄ a
3551
+ * Repeater, board 9). A fresh `next` node of the new type (the caller's `createConfig`) takes over
3552
+ * everything that is the node's and not its type's: its id (so its rules, selection and history stay), its
3553
+ * name, role, element style, every style value BOTH types have a slot for, its state, targeted-state and
3554
+ * breakpoint styles, interactions, non-source bindings, global placement — and every content trait both
3555
+ * types declare (a composite's behaviour). Children are the caller's (the switch decides them). Pure: `node`
3556
+ * is not touched.
3557
+ */
3558
+ declare function retypeNode(node: ComponentNode, next: ComponentNode): ComponentNode;
3559
+
3560
+ declare function regenerateNodeIds(root: ComponentNode, opts?: {
3561
+ styleId?: 'clear' | 'regenerate';
3562
+ }): void;
3563
+
3448
3564
  /**
3449
3565
  * State OUTSIDE the layout that one step changed together with it — e.g. adopting a page's element
3450
3566
  * styles (DS7) also sets the page's design-system flag and links its global elements. Opaque here;
@@ -3487,15 +3603,49 @@ declare class BuilderHistoryService {
3487
3603
  static ɵprov: i0.ɵɵInjectableDeclaration<BuilderHistoryService>;
3488
3604
  }
3489
3605
 
3606
+ /**
3607
+ * The composites' runtime ON THE CANVAS (CC2) — the canvas is a live runtime, so an Accordion opens and
3608
+ * closes on the canvas exactly as on the site: the SAME composite-core `AccordionRuntime` the live engine
3609
+ * attaches. On top of the live state it shows what the author is designing (R2, CC1's design state):
3610
+ * - selecting anything inside a CLOSED panel (canvas, tree, crumb, an Items row, SELECT_NODE) opens its item
3611
+ * while it is selected, and deselecting closes it again;
3612
+ * - "Showing on canvas ▸ All open" opens every item; "As saved" goes back to the saved default.
3613
+ * Canvas-only: it never writes a node, so the saved page is unchanged and nothing becomes an undo step.
3614
+ */
3615
+ declare class CompositeCanvasService implements OnDestroy {
3616
+ private readonly designState;
3617
+ private readonly zone;
3618
+ private readonly attached;
3619
+ private readonly sub;
3620
+ constructor(designState: CanvasDesignStateService | null, zone: NgZone);
3621
+ ngOnDestroy(): void;
3622
+ /** An accordion root rendered on the canvas: run it. `element` is the root's rendered element. */
3623
+ attach(node: ComponentNode, element: HTMLElement): void;
3624
+ detach(nodeId: string | null | undefined): void;
3625
+ /** The root's behaviour changed in its panel (Allow several open, Open by default). */
3626
+ refreshBehaviour(node: ComponentNode): void;
3627
+ /** The runtime of an attached root (the e2e harness and the panels read its state). */
3628
+ runtimeOf(nodeId: string | null | undefined): AccordionRuntime | null;
3629
+ private applyDesignState;
3630
+ /** The keys the design state holds open: every item ("All open"), or the items whose hidden part the
3631
+ * selection sits in. A preview row shares its template's classes, so the template (row 1) answers. */
3632
+ private forcedFor;
3633
+ static ɵfac: i0.ɵɵFactoryDeclaration<CompositeCanvasService, [{ optional: true; }, null]>;
3634
+ static ɵprov: i0.ɵɵInjectableDeclaration<CompositeCanvasService>;
3635
+ }
3636
+
3490
3637
  /**
3491
3638
  * Parts that are HIDDEN AT REST (complex-components R2, board 3): on the live site they are not on
3492
3639
  * screen until something opens them, so on the canvas they show only while selected into or switched
3493
- * open ("Showing on canvas"). The layer tree marks them with the eye-slash glyph. Today: a Dialog (the
3494
- * mobile menu's drawer, a consent banner). CC2 adds a collapsed Accordion panel and an inactive tab.
3640
+ * open ("Showing on canvas"). The layer tree marks them with the eye-slash glyph. A Dialog (the mobile
3641
+ * menu's drawer, a consent banner) by its type; an Accordion's PANEL by its role (CC2 — closed until its
3642
+ * item opens). An inactive tab joins in CC4.
3495
3643
  */
3496
3644
  declare const HIDDEN_AT_REST_TYPES: ReadonlyArray<string>;
3645
+ declare const HIDDEN_AT_REST_ROLES: ReadonlyArray<string>;
3497
3646
  declare function isHiddenAtRest(node: {
3498
3647
  type?: string;
3648
+ role?: string | null;
3499
3649
  } | null | undefined): boolean;
3500
3650
  /**
3501
3651
  * How the selection shows a node hidden at rest — the two approved rules, by what the node IS:
@@ -3522,7 +3672,10 @@ declare function pathToNode<T extends {
3522
3672
  *
3523
3673
  * - `Overlay`: the `.global-elements-overlay` layer, outside Lenis and pinned to the frame — a transform
3524
3674
  * contains fixed children, so this is the only place a `position: fixed` global (the phone's bottom
3525
- * bar) or a top-layer Dialog stays on screen while the page scrolls. BEFORE globals stay here too.
3675
+ * bar) or a top-layer Dialog stays on screen while the page scrolls. BEFORE globals stay here too:
3676
+ * the Drawer shape puts the drawer Dialog INSIDE the Navigation bar, and in the page its fixed stage
3677
+ * would be contained by the scrolling page instead of the frame. The page reserves the height the
3678
+ * in-flow ones take instead (iox-ui#19, `overlayGlobals`).
3526
3679
  * - `Page`: in the page's own flow, after its content — where the live site renders an AFTER global
3527
3680
  * (a footer). In the overlay it stacked under the header, over the top of the page.
3528
3681
  */
@@ -3547,6 +3700,16 @@ interface GlobalLayerSource {
3547
3700
  /** Fixed at its base or at any breakpoint: it pins to the viewport, so on the canvas it pins to the frame. */
3548
3701
  declare function isPinnedGlobal(node: GlobalLayerSource): boolean;
3549
3702
  declare function globalCanvasLayer(node: GlobalLayerSource): GlobalCanvasLayer;
3703
+ interface OverlayGlobals<T> {
3704
+ /** Every BEFORE global, drawn in the overlay's `.iox-canvas-globals-before` wrapper. The in-flow ones
3705
+ * stack in it and its block size is the page's top reserve; a fixed / absolute one and a Dialog's
3706
+ * fixed stage are out of its flow, so they overlay the page as they do on the live site. */
3707
+ before: T[];
3708
+ /** The pinned AFTER globals (a fixed bottom bar, a Dialog), after the wrapper. */
3709
+ pinnedAfter: T[];
3710
+ }
3711
+ /** What the overlay draws, in order (iox-ui#19). Any global that is not AFTER is drawn before the page. */
3712
+ declare function overlayGlobals<T extends GlobalLayerSource>(globals: readonly T[]): OverlayGlobals<T>;
3550
3713
 
3551
3714
  /**
3552
3715
  * node-path — pure ancestor-chain helpers for the builder's node tree.
@@ -3713,10 +3876,18 @@ declare function buildPalettePreset(def: PalettePresetDef, createConfig: (type:
3713
3876
  declare enum CompositePresetId {
3714
3877
  Card = "card",
3715
3878
  Badge = "badge",
3716
- Chip = "chip"
3879
+ Chip = "chip",
3880
+ Accordion = "accordion"
3881
+ }
3882
+ /** Where a composite sits in the Components panel (composite plan §6d): content blocks, or the interactive
3883
+ * composites (the Accordion — CC2; Tabs and the floating family later). */
3884
+ declare enum CompositePaletteGroup {
3885
+ ContentBlocks = "content-blocks",
3886
+ Interactive = "interactive"
3717
3887
  }
3718
3888
  interface CompositePresetDef {
3719
3889
  id: CompositePresetId;
3890
+ group: CompositePaletteGroup;
3720
3891
  name: string;
3721
3892
  icon: string;
3722
3893
  description: string;
@@ -4019,5 +4190,5 @@ declare class TextBlockComponentConfig extends ComponentConfig {
4019
4190
  constructor();
4020
4191
  }
4021
4192
 
4022
- export { ACTION_TYPE_OPTIONS, AuditCode, AuditPanelComponent, AuditSeverity, BODY_CRUMB_LABEL, BOUND_ICON, BREAKPOINT_PRESENTATION, BUILDER_CANVAS_CONTAINER, BUILDER_CHROME_EN, BUILDER_FONT_LINK_ATTR, BUILDER_TOKEN_SCOPE_CLASS, BackgroundGroupStyleConfig, BorderGroupStyleConfig, BreadcrumbBarComponent, BuilderButtonBlockComponent, BuilderButtonComponentConfig, BuilderClipboardService, BuilderComponent, BuilderContainerComponent, BuilderContainerComponentConfig, BuilderDataSourceService, BuilderDialogComponent, BuilderDividerComponentConfig, BuilderHeadingComponentConfig, BuilderHistoryService, BuilderIconComponentConfig, BuilderImageComponentConfig, BuilderLinkComponentConfig, BuilderLinkedContainerComponent, BuilderLinkedContainerConfig, BuilderListComponentConfig, BuilderListItemComponentConfig, BuilderMode, BuilderRepeaterComponent, BuilderSpacerComponentConfig, ButtonBlockComponentConfig, CANVAS_EMPTY_IMAGE_LABEL_EN, CANVAS_EMPTY_IMAGE_LABEL_KEY, CANVAS_ROOT_RESET_CSS, COMPOSITE_PRESETS, CanvasDesignStateService, CanvasShowState, CardComponentConfig, ChildLayoutGroupStyleConfig, ComponentConfig, ComponentRegistryService, CompositePresetId, DEFAULT_ESSENTIAL_TRAITS, DESCRIPTOR_MAX_LENGTH, DRAG_HANDLE_ATTR, DROP_REFUSED_CLASS, DataSourceRegistryService, DataSourceType, DialogComponentConfig, DimensionsGroupStyleConfig, DragEngineService, EASING_OPTIONS, EDITOR_CHROME_ATTRIBUTE, ESSENTIAL_TRAITS_BY_TYPE, EffectsGroupStyleConfig, FIELD_KIND_PRESETS, FIELD_PARTS, FORM_STATE_BLOCK_TYPES, FORM_TYPE, FieldComponentConfig, FieldGroupComponentConfig, FormComponentConfig, FormErrorComponentConfig, FormStateService, FormSuccessComponentConfig, GLOBALS_AFTER_CLASS, GalleryConfig, GlobalCanvasLayer, GroupStyleConfig, HIDDEN_AT_REST_LABEL_KEY, HIDDEN_AT_REST_TYPES, INSERT_REFUSAL_LABEL_KEYS, INTERACTION_STATES, INVERSE_ACTION, IOX_BUILDER_CANVAS, IOX_BUILDER_LABELS, IOX_DATA_SOURCE_ENDPOINTS, InsertRefusal, InteractionEngineService, InteractionPresetRegistryService, IoxBuilderModule, IoxDraggableDirective, IoxDropzoneDirective, LAYOUT_PRESETS, LayerTreeComponent, LayoutGroupStyleConfig, ListGroupStyleConfig, NodeAction, OverlayComponent, OverlayService, PALETTE_PRESET_DEFS, PanelChildComponent, PanelComponent, PanelEventService, PanelEventTypes, PanelTypes, PositionGroupStyleConfig, PresetRegistryService, RELATIONAL_STATES, RELATIONAL_STATE_BASE, REPEATER_SOURCE_PROP, REPEATER_TYPE, ROOT_ESCAPE_PX, ROUTE_ANIMATION_OPTIONS, RenderDirective, RepeaterComponentConfig, RootZone, SCREEN_WIDTH_OPTIONS, STRUCTURAL_STATES, SUPPORTED_STATES, SectionComponent, SectionComponentConfig, SelectionReveal, SizeGroupStyleConfig, SliderContainerComponent, SliderContainerConfig, SliderSlideComponent, SliderSlideConfig, SpacingGroupStyleConfig, StructureFix, StyleCategory, StyleRegistryService, TraitConfig as StyleTraitConfig, SubmitButtonComponentConfig, SymbolRegistryService, TARGETED_STATES, TARGETED_STATE_BASE, TRIGGER_OPTIONS, TextBlockComponentConfig, ToolbarAction, ToolbarComponent, TraitConfig, TraitInputType, TypographyGroupStyleConfig, UNITS_ALL, UNITS_DEG, UNITS_FIXED, UNITS_NO_VW, VALIDATION_STATES, VALIDATION_STATE_CLASS, ViewportService, ZOOM_OPTIONS, arrayItemSchemaFields, arraySchemaFields, auditNodes, bindingLabel, bindingLabels, buildCompositePreset, buildConsentPreset, buildElementStyleSpecimen, buildFieldKindPreset, buildFlavorSpecimen, buildFormPreset, buildFullStyleTraits, buildLayoutPreset, buildPalettePreset, buildPresetStyleTraits, builderCompositeFactory, canFluidise, canvasEmptyImageLabel, collapseColumnsProps, columnCountOf, defaultBuilderLabels, defaultPageSettings, dropChildren, dropTargetLabel, escapesRoot, essentialTraitsFor, findNodeLocation, findParentOf, flattenLayerTree, flattenSchemaFields, fluidiseProps, generateNodeId, globalCanvasLayer, insertRefusal, insertRefusalLabel, isHiddenAt, isHiddenAtRest, isPinnedGlobal, isSpecimen, markSpecimen, matchesControlSearch, nearestFormNode, nodeAncestorPath, nodeAncestorPathInEither, nodeDescriptor, nodeStyleMap, pathToNode, refreshSubtree, removalRefusal, reorderProps, repeaterSourceAlias, repeaterSubLabel, resolveInsertTarget, resolveTraitControllerType, resolveTraitOptions, rootEscapeBand, rootZone, selectionRevealOf, setStyleTrait, setTrait, shortDescriptor, stackChildrenProps, summarise, syncEmptyImagePlaceholder, syncNodeDesign, syncNodeInputs, textNode, upsertNodeStyles, visibilityProps, walkNodes, wrapNode };
4023
- export type { AuditFinding, AuditNode, BreakpointPresentation, BuilderClipboard, BuilderLabelResolver, CanvasDesignSnapshot, ComponentEventDef, ComponentMethodDef, ComponentNode, ComponentTrait, CompositePresetDef, ConsentPreset, CreateConfig, Crumb, DesignSpecimenCopy, DragPayload, DsFilterByQueryParam, DsFilterByRouteParam, ElementState, FieldKindDef, FormStateSnapshot, GlobalLayerSource, HistoryChange, HistoryEntry, HistoryStep, InsertRefusedEvent, InsertTarget, InteractionAction, InteractionActionType, InteractionPreset, InteractionTrigger, IoxBinding, IoxDataSource, IoxDropEvent, IoxInteraction, IoxSymbol, LayerMoreRows, LayerRepeaterRows, LayerTreeContext, LayerTreeRow, LayoutPresetChildStyles, LayoutPresetDef, NodeRef, OverlayBoxModel, OverlayBoxSpacing, OverlayEntry, PageRouteAnimationSettings, PageScrollSettings, PageSettings, PalettePresetDef, PanelEvent, QuadSizeSegment, RootEscapeMemory, RouteAnimationPreset, ScreenWidthOption, SelectionBadge, StyleMap, StylePart, StylePreset, StyleTrait, StyleTraitGroup, TraitOptionMap, TraitSelectOption, TraitShowCondition, TreePathNode, UpsertTokensOptions, ViewportState, ZoomOption };
4193
+ export { ACTION_TYPE_OPTIONS, AuditCode, AuditPanelComponent, AuditSeverity, BODY_CRUMB_LABEL, BOUND_ICON, BREAKPOINT_PRESENTATION, BUILDER_CANVAS_CONTAINER, BUILDER_CHROME_EN, BUILDER_FONT_LINK_ATTR, BUILDER_TOKEN_SCOPE_CLASS, BackgroundGroupStyleConfig, BorderGroupStyleConfig, BreadcrumbBarComponent, BuilderButtonBlockComponent, BuilderButtonComponentConfig, BuilderClipboardService, BuilderComponent, BuilderContainerComponent, BuilderContainerComponentConfig, BuilderDataSourceService, BuilderDialogComponent, BuilderDividerComponentConfig, BuilderHeadingComponentConfig, BuilderHistoryService, BuilderIconComponentConfig, BuilderImageComponentConfig, BuilderLinkComponentConfig, BuilderLinkedContainerComponent, BuilderLinkedContainerConfig, BuilderListComponentConfig, BuilderListItemComponentConfig, BuilderMode, BuilderRepeaterComponent, BuilderSpacerComponentConfig, ButtonBlockComponentConfig, CANVAS_EMPTY_IMAGE_LABEL_EN, CANVAS_EMPTY_IMAGE_LABEL_KEY, CANVAS_ROOT_RESET_CSS, COMPOSITE_PRESETS, CanvasDesignStateService, CanvasShowState, CardComponentConfig, ChildLayoutGroupStyleConfig, ComponentConfig, ComponentRegistryService, CompositeCanvasService, CompositePaletteGroup, CompositePresetId, DEFAULT_ESSENTIAL_TRAITS, DESCRIPTOR_MAX_LENGTH, DRAG_HANDLE_ATTR, DROP_REFUSED_CLASS, DataSourceRegistryService, DataSourceType, DialogComponentConfig, DimensionsGroupStyleConfig, DragEngineService, EASING_OPTIONS, EDITOR_CHROME_ATTRIBUTE, ESSENTIAL_TRAITS_BY_TYPE, EffectsGroupStyleConfig, FIELD_KIND_PRESETS, FIELD_PARTS, FORM_STATE_BLOCK_TYPES, FORM_TYPE, FieldComponentConfig, FieldGroupComponentConfig, FormComponentConfig, FormErrorComponentConfig, FormStateService, FormSuccessComponentConfig, GLOBALS_AFTER_CLASS, GalleryConfig, GlobalCanvasLayer, GroupStyleConfig, HIDDEN_AT_REST_LABEL_KEY, HIDDEN_AT_REST_ROLES, HIDDEN_AT_REST_TYPES, INSERT_REFUSAL_LABEL_KEYS, INTERACTION_STATES, INVERSE_ACTION, IOX_BUILDER_CANVAS, IOX_BUILDER_LABELS, IOX_DATA_SOURCE_ENDPOINTS, InsertRefusal, InteractionEngineService, InteractionPresetRegistryService, IoxBuilderModule, IoxDraggableDirective, IoxDropzoneDirective, LAYOUT_PRESETS, LayerTreeComponent, LayoutGroupStyleConfig, ListGroupStyleConfig, NodeAction, OverlayComponent, OverlayService, PALETTE_PRESET_DEFS, PanelChildComponent, PanelComponent, PanelEventService, PanelEventTypes, PanelTypes, PositionGroupStyleConfig, PresetRegistryService, RELATIONAL_STATES, RELATIONAL_STATE_BASE, REPEATER_SOURCE_PROP, REPEATER_TYPE, ROOT_ESCAPE_PX, ROUTE_ANIMATION_OPTIONS, RenderDirective, RepeaterComponentConfig, RootZone, SCREEN_WIDTH_OPTIONS, STRUCTURAL_STATES, SUPPORTED_STATES, SectionComponent, SectionComponentConfig, SelectionReveal, SizeGroupStyleConfig, SliderContainerComponent, SliderContainerConfig, SliderSlideComponent, SliderSlideConfig, SpacingGroupStyleConfig, StructureFix, StyleCategory, StyleRegistryService, TraitConfig as StyleTraitConfig, SubmitButtonComponentConfig, SymbolRegistryService, TARGETED_STATES, TARGETED_STATE_BASE, TRIGGER_OPTIONS, TextBlockComponentConfig, ToolbarAction, ToolbarComponent, TraitConfig, TraitInputType, TypographyGroupStyleConfig, UNITS_ALL, UNITS_DEG, UNITS_FIXED, UNITS_NO_VW, VALIDATION_STATES, VALIDATION_STATE_CLASS, ViewportService, ZOOM_OPTIONS, arrayItemSchemaFields, arraySchemaFields, auditNodes, bindingLabel, bindingLabels, buildCompositePreset, buildConsentPreset, buildElementStyleSpecimen, buildFieldKindPreset, buildFlavorSpecimen, buildFormPreset, buildFullStyleTraits, buildLayoutPreset, buildPalettePreset, buildPresetStyleTraits, builderCompositeFactory, canFluidise, canvasEmptyImageLabel, collapseColumnsProps, columnCountOf, defaultBuilderLabels, defaultPageSettings, dropChildren, dropTargetLabel, escapesRoot, essentialTraitsFor, findNodeLocation, findParentOf, flattenLayerTree, flattenSchemaFields, fluidiseProps, generateNodeId, globalCanvasLayer, insertRefusal, insertRefusalLabel, isHiddenAt, isHiddenAtRest, isPinnedGlobal, isSpecimen, markSpecimen, matchesControlSearch, nearestFormNode, nodeAncestorPath, nodeAncestorPathInEither, nodeDescriptor, nodeStyleMap, overlayGlobals, pathToNode, refreshSubtree, regenerateNodeIds, removalRefusal, reorderProps, repeaterSourceAlias, repeaterSubLabel, resolveInsertTarget, resolveTraitControllerType, resolveTraitOptions, retypeNode, rootEscapeBand, rootZone, selectionRevealOf, setStyleTrait, setTrait, shortDescriptor, stackChildrenProps, summarise, syncEmptyImagePlaceholder, syncNodeDesign, syncNodeInputs, textNode, upsertNodeStyles, visibilityProps, walkNodes, wrapNode };
4194
+ export type { AuditFinding, AuditNode, BreakpointPresentation, BuilderClipboard, BuilderLabelResolver, CanvasDesignSnapshot, ComponentEventDef, ComponentMethodDef, ComponentNode, ComponentTrait, CompositePresetDef, ConsentPreset, CreateConfig, Crumb, DesignSpecimenCopy, DragPayload, DsFilterByQueryParam, DsFilterByRouteParam, ElementState, FieldKindDef, FormStateSnapshot, GlobalLayerSource, HistoryChange, HistoryEntry, HistoryStep, InsertRefusedEvent, InsertTarget, InteractionAction, InteractionActionType, InteractionPreset, InteractionTrigger, IoxBinding, IoxDataSource, IoxDropEvent, IoxInteraction, IoxSymbol, LayerMoreRows, LayerRepeaterRows, LayerTreeContext, LayerTreeRow, LayoutPresetChildStyles, LayoutPresetDef, NodeRef, OverlayBoxModel, OverlayBoxSpacing, OverlayEntry, OverlayGlobals, PageRouteAnimationSettings, PageScrollSettings, PageSettings, PalettePresetDef, PanelEvent, QuadSizeSegment, RootEscapeMemory, RouteAnimationPreset, ScreenWidthOption, SelectionBadge, StyleMap, StylePart, StylePreset, StyleTrait, StyleTraitGroup, TraitOptionMap, TraitSelectOption, TraitShowCondition, TreePathNode, UpsertTokensOptions, ViewportState, ZoomOption };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vectoriox/iox-builder",
3
- "version": "9.6.1",
3
+ "version": "9.8.0",
4
4
  "peerDependencies": {
5
5
  "@angular/common": ">=20.0.0",
6
6
  "@angular/core": ">=20.0.0",