@vectoriox/iox-builder 1.5.8 → 1.5.9

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.
@@ -1278,9 +1278,15 @@ class InteractionEngineService {
1278
1278
  const cleanups = [];
1279
1279
  for (const ix of node.interactions) {
1280
1280
  // Pre-state: hide target elements before their entrance animation fires.
1281
- // In builder mode: skip only suppressed triggers (pageLoad, scrollProgress).
1282
- // viewportEnter IS active in builder — elements must be hidden before trigger.
1283
- const skipPreState = inBuilder && (ix.trigger === 'pageLoad' || ix.trigger === 'scrollProgress');
1281
+ // In builder mode, pre-state is skipped for every SUPPRESSED trigger
1282
+ // (pageLoad, scrollProgress, viewportEnter — see attachInteraction) so the
1283
+ // element appears normally on the canvas. If we applied pre-state without
1284
+ // attaching the trigger, the element would stay opacity:0 forever. The play
1285
+ // button (_replay) re-applies pre-state on demand for an accurate preview.
1286
+ // click/hover keep pre-state because those triggers DO fire on the canvas.
1287
+ const skipPreState = inBuilder && (ix.trigger === 'pageLoad' ||
1288
+ ix.trigger === 'scrollProgress' ||
1289
+ ix.trigger === 'viewportEnter');
1284
1290
  if (!skipPreState) {
1285
1291
  for (const action of ix.actions) {
1286
1292
  if (this.ENTRANCE_TYPES.has(action.type)) {