@vectoriox/iox-builder 2.3.0 → 2.3.2

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.
@@ -5574,6 +5574,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImpo
5574
5574
  * Examples: 'title', 'author.name', 'tags[0]', 'items[2].title'
5575
5575
  */
5576
5576
  function resolvePath(obj, path) {
5577
+ // Empty path (or `$`) means "the value itself" — used to bind to an item that IS a primitive
5578
+ // (e.g. a Repeater over `gallery: string[]`, where each item is the URL string). See
5579
+ // binding-panel-redesign-plan.md.
5580
+ if (path === '' || path === '$' || path == null)
5581
+ return obj;
5577
5582
  return path.split('.').reduce((current, key) => {
5578
5583
  if (current == null)
5579
5584
  return undefined;
@@ -5769,8 +5774,11 @@ class BuilderRepeaterComponent {
5769
5774
  * (or change) so both orderings — and loaded pages with sync sources — render their rows. */
5770
5775
  set children(value) {
5771
5776
  this._children = value ?? [];
5777
+ // Defer to the next tick: RenderDirective sets `children` before the template child's
5778
+ // component is instantiated/registered, so applyFirstItemToTemplate needs the ref to exist
5779
+ // first (otherwise the FIRST row shows its default instead of item[0]'s value).
5772
5780
  if (this.items.length)
5773
- this.refreshPreviews();
5781
+ setTimeout(() => this.refreshPreviews());
5774
5782
  }
5775
5783
  get source() { return this._source; }
5776
5784
  set source(value) {