veo-sdk 0.5.33 → 0.5.34

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.
@@ -0,0 +1,5 @@
1
+ export { VEO_BLOCK_MIME, attachBlockDropTarget, attachDesignManipulator, createBuilderSession, initBuilderMode, startElementPicker, stopElementPicker } from './chunk-IZXJA55N.mjs';
2
+ import './chunk-W4R4XCWL.mjs';
3
+ import './chunk-PTG3BTJE.mjs';
4
+ //# sourceMappingURL=builder-ZKWVTSTP.mjs.map
5
+ //# sourceMappingURL=builder-ZKWVTSTP.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"builder-MUTQMYAH.mjs"}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"builder-ZKWVTSTP.mjs"}
package/dist/builder.cjs CHANGED
@@ -291,6 +291,19 @@ function isDeviceAllowed(devices, viewportWidth = typeof window === "undefined"
291
291
  return devices === "mobile" ? mobile : !mobile;
292
292
  }
293
293
 
294
+ // src/plugins/guides/activation-rules.ts
295
+ function isAutomaticActivation(rules) {
296
+ const trigger = rules?.trigger ?? "immediate";
297
+ if (trigger === "immediate" || trigger === "delayed") return true;
298
+ if (trigger === "on_click" || trigger === "on_hover") return rules?.autoShow === true;
299
+ return false;
300
+ }
301
+ function activationDelayMs(rules) {
302
+ if (!isAutomaticActivation(rules)) return 0;
303
+ const ms = rules?.delayMs ?? 0;
304
+ return Number.isFinite(ms) && ms > 0 ? ms : 0;
305
+ }
306
+
294
307
  // src/plugins/guides/constants.ts
295
308
  var GUIDE_Z_INDEX = 2147483640;
296
309
  var DEFAULT_ANCHOR_WAIT_MS = 5e3;
@@ -3536,7 +3549,9 @@ var GuidePreviewController = class {
3536
3549
  if (event.action === "shown") shown = true;
3537
3550
  },
3538
3551
  onClose: () => this.close(true),
3539
- badgeOpen: this.input?.badgeOpen === true,
3552
+ // Sin indicación explícita, el badge se abre solo si la guía arranca
3553
+ // sola (como en el runtime); `manual` lo deja cerrado.
3554
+ badgeOpen: this.input?.badgeOpen ?? isAutomaticActivation(this.input?.activationRules),
3540
3555
  onTrack: () => {
3541
3556
  },
3542
3557
  // Encadenado en preview: no-op — el editor no puede montar otra guía
@@ -4902,6 +4917,7 @@ function initBuilderMode() {
4902
4917
  let previewTrigger = null;
4903
4918
  let previewFired = false;
4904
4919
  let previewDelay = null;
4920
+ let previewDismissed = false;
4905
4921
  let panelWasVisible = true;
4906
4922
  const getTarget = () => panel ? panel.target() : staticTarget;
4907
4923
  const post = (event) => {
@@ -4921,7 +4937,14 @@ function initBuilderMode() {
4921
4937
  closeGuidePreview();
4922
4938
  };
4923
4939
  const applyPreviewGated = (cmd) => {
4924
- lastPreview = cmd;
4940
+ const showNow = !cmd.honorTrigger;
4941
+ if (showNow) {
4942
+ disarmPreviewTrigger();
4943
+ cancelPreviewDelay();
4944
+ previewFired = true;
4945
+ previewDismissed = false;
4946
+ }
4947
+ lastPreview = showNow ? { ...cmd, honorTrigger: true } : cmd;
4925
4948
  if (!previewMatchesPage(cmd)) {
4926
4949
  cancelPreviewDelay();
4927
4950
  withholdPreview();
@@ -4932,13 +4955,13 @@ function initBuilderMode() {
4932
4955
  return;
4933
4956
  }
4934
4957
  const devices = cmd.guide.activationRules?.devices;
4935
- if (cmd.honorTrigger && !previewMode && devices && !isDeviceAllowed(devices)) {
4958
+ if (!showNow && !previewMode && devices && !isDeviceAllowed(devices)) {
4936
4959
  cancelPreviewDelay();
4937
4960
  withholdPreview();
4938
4961
  postPreviewStatus({ state: "device-mismatch", devices });
4939
4962
  return;
4940
4963
  }
4941
- applyPreview(cmd);
4964
+ applyPreview(lastPreview);
4942
4965
  };
4943
4966
  const disarmPreviewTrigger = () => {
4944
4967
  previewTrigger?.();
@@ -4963,6 +4986,7 @@ function initBuilderMode() {
4963
4986
  }
4964
4987
  disarmPreviewTrigger();
4965
4988
  previewFired = true;
4989
+ previewDismissed = false;
4966
4990
  if (lastPreview) applyPreviewGated(lastPreview);
4967
4991
  };
4968
4992
  document.addEventListener("click", onFire, true);
@@ -4992,13 +5016,14 @@ function initBuilderMode() {
4992
5016
  const trig = rules?.trigger;
4993
5017
  const sel = rules?.selector?.trim();
4994
5018
  const gate = cmd.honorTrigger && !previewFired && !previewMode;
4995
- if (gate && (trig === "on_click" || trig === "on_hover") && sel) {
5019
+ const waitsForTarget = (trig === "on_click" || trig === "on_hover") && (!isAutomaticActivation(rules) || previewDismissed);
5020
+ if (gate && waitsForTarget && sel) {
4996
5021
  cancelPreviewDelay();
4997
5022
  closeGuidePreview();
4998
5023
  armPreviewTrigger(sel, trig);
4999
5024
  return;
5000
5025
  }
5001
- const delayMs = trig === "delayed" ? rules?.delayMs ?? 0 : 0;
5026
+ const delayMs = activationDelayMs(rules);
5002
5027
  if (gate && delayMs > 0) {
5003
5028
  disarmPreviewTrigger();
5004
5029
  closeGuidePreview();
@@ -5015,6 +5040,14 @@ function initBuilderMode() {
5015
5040
  dropTarget?.detach();
5016
5041
  dropTarget = null;
5017
5042
  previewFired = false;
5043
+ previewDismissed = true;
5044
+ if (previewMode) {
5045
+ const r = lastPreview?.guide.activationRules;
5046
+ const t = r?.trigger;
5047
+ const selector = r?.selector?.trim();
5048
+ if ((t === "on_click" || t === "on_hover") && selector) armPreviewTrigger(selector, t);
5049
+ return;
5050
+ }
5018
5051
  if (lastPreview) applyPreviewGated(lastPreview);
5019
5052
  }
5020
5053
  });
@@ -5158,6 +5191,7 @@ function initBuilderMode() {
5158
5191
  disarmPreviewTrigger();
5159
5192
  cancelPreviewDelay();
5160
5193
  previewFired = false;
5194
+ previewDismissed = false;
5161
5195
  closeGuidePreview();
5162
5196
  break;
5163
5197
  case "teardown":