@vectoriox/iox-builder 3.0.0 → 3.2.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.
@@ -57,6 +57,11 @@ var DataSourceType;
57
57
  * `$related`. Not fetched: computed by the shared `computeRelative` from other resolved sources.
58
58
  * See relative-data-sources-plan.md. */
59
59
  DataSourceType["Relative"] = "relative";
60
+ /** A page-local VARIABLE: a named resource whose value is WRITTEN at runtime by an interaction
61
+ * (`setContext`), never fetched. Starts empty; elements bind to it like any other alias.
62
+ * `request.variable.itemsFrom` names the source whose items it holds, for field suggestions.
63
+ * See element-context-state-plan.md. */
64
+ DataSourceType["Variable"] = "variable";
60
65
  })(DataSourceType || (DataSourceType = {}));
61
66
  /**
62
67
  * Maps each action type to its logical inverse for auto-populating toggle
@@ -822,6 +827,11 @@ var PanelEventTypes;
822
827
  * id). Emitted when the overlay interaction badge is clicked so that badge → "edit THIS
823
828
  * interaction", without firing the element's (live) animation. */
824
829
  PanelEventTypes["INTERACTION_EDIT"] = "interactionedit";
830
+ /** A node's `interactions` were added/removed/edited. Carries `{ node }`.
831
+ * Repeater/Slider listen so their PREVIEW CLONES are re-cloned with the new interactions —
832
+ * clones are attached by ELEMENT at render time, so without this a new interaction only starts
833
+ * working after a save + reload. */
834
+ PanelEventTypes["INTERACTION_CHANGED"] = "interactionchanged";
825
835
  })(PanelEventTypes || (PanelEventTypes = {}));
826
836
  class PanelEventService {
827
837
  constructor() {
@@ -6316,7 +6326,12 @@ class BuilderRepeaterComponent {
6316
6326
  }
6317
6327
  ngOnInit() {
6318
6328
  this.bindingSub = this.panelEventService.subscribe(event => {
6319
- if (event.type !== PanelEventTypes.BINDING_CHANGED)
6329
+ // A binding OR an interaction change on a template node must re-clone the preview rows.
6330
+ // Interactions matter because clones are attached by ELEMENT at render time, so a newly
6331
+ // added interaction never reaches an existing clone — it would appear to work only after
6332
+ // a save + reload. See element-context-state-plan.md.
6333
+ if (event.type !== PanelEventTypes.BINDING_CHANGED
6334
+ && event.type !== PanelEventTypes.INTERACTION_CHANGED)
6320
6335
  return;
6321
6336
  const changedNode = event.data?.node;
6322
6337
  if (!changedNode || !this.items.length)