@vectoriox/iox-builder 2.6.0 → 2.7.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vectoriox/iox-builder",
3
- "version": "2.6.0",
3
+ "version": "2.7.0",
4
4
  "peerDependencies": {
5
5
  "@angular/common": ">=20.0.0",
6
6
  "@angular/core": ">=20.0.0",
@@ -40,6 +40,13 @@ interface IoxBinding {
40
40
  source: string;
41
41
  path: string;
42
42
  fallback?: any;
43
+ /** Render-time transform chain (UI: "Filters"), applied LEFT→RIGHT after resolvePath by the shared
44
+ * `applyBindingPipes` from `@vectoriox/iox-ui` — same on the builder canvas and the SSR engine.
45
+ * Shape mirrors iox-ui's `IoxPipe` (kept inline so this model needs no cross-package import). */
46
+ pipes?: {
47
+ name: string;
48
+ args?: any[];
49
+ }[];
43
50
  }
44
51
  /**
45
52
  * When mode=single: looks up a single CMS item by matching a schema field
@@ -1399,6 +1406,10 @@ declare class BuilderComponent implements OnInit, AfterViewInit, OnChanges, OnDe
1399
1406
  * scope, so the bindings panel needs the repeater to sample its current item (e.g. bind an
1400
1407
  * Image to a `gallery` string item). Prefers the innermost repeater when nested. */
1401
1408
  private findRepeaterAncestorOf;
1409
+ /** If `node` lives inside a Repeater template, tell that repeater to rebuild its preview rows so
1410
+ * a structural change (e.g. wrapping a template child) propagates to every repeated row. No-op
1411
+ * when the node is not inside a repeater. */
1412
+ private _refreshRepeaterFor;
1402
1413
  /** Emit ELEMENT_SELECT with the ancestors the panels need (symbol + repeater item scope). */
1403
1414
  private _emitElementSelect;
1404
1415
  /** Read a node's current `display` value. The style panel mutates `styleTraits` in place at edit
@@ -1895,12 +1906,23 @@ declare class BuilderRepeaterComponent implements OnInit, OnDestroy {
1895
1906
  ngOnInit(): void;
1896
1907
  ngOnDestroy(): void;
1897
1908
  onDrop(event: IoxDropEvent): void;
1909
+ /** Monotonic fetch token — editing a binding sets `source` and `sourcePath` as two separate inputs,
1910
+ * each firing a fetch; the transient mismatched one (old source + new path, or vice-versa) must not
1911
+ * clobber the correct result if it resolves last. Only the newest fetch's response is applied. */
1912
+ private _fetchSeq;
1898
1913
  /** Data comes from the SHARED resolver (public controllers + the source's own filters) — the
1899
1914
  * same decision the SSR engine runs, so the canvas preview matches the published page. */
1900
1915
  private fetchData;
1901
1916
  private isInTemplate;
1902
1917
  private refreshPreviews;
1903
1918
  private applyFirstItemToTemplate;
1919
+ /** Apply item[0]'s bound values to the live template row, walking the WHOLE subtree — not just
1920
+ * direct children. A bound node can sit any level deep once a template child is wrapped in a
1921
+ * container (or otherwise nested), so recursion is required or the first row shows defaults. */
1922
+ private applyBindingsToNodes;
1923
+ /** Rebuild preview rows after the template STRUCTURE changed (e.g. a child was wrapped, deleted,
1924
+ * or moved). Deferred so the new DOM + overlay refs exist before bindings are re-applied. */
1925
+ refreshTemplate(): void;
1904
1926
  static ɵfac: i0.ɵɵFactoryDeclaration<BuilderRepeaterComponent, never>;
1905
1927
  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>;
1906
1928
  }