@jsenv/navi 0.29.357 → 0.29.359

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.
@@ -10288,7 +10288,21 @@ const createControlInteraction = (
10288
10288
  failingManagedInteraction.reportInteractivity({ event });
10289
10289
  return;
10290
10290
  }
10291
- reportedConstraint = interactionFailedConstraintInfo.constraint;
10291
+ const constraint = interactionFailedConstraintInfo.constraint;
10292
+ if (reportedConstraint === constraint) {
10293
+ // Pressed again while it still says why it refuses: that press is "got
10294
+ // it", not a question — the explanation goes rather than being repeated
10295
+ // (the press lands on the callout's own anchor, so it is no press outside
10296
+ // and nothing else would take it down).
10297
+ debugInteraction(
10298
+ event,
10299
+ `reportInteractivity (${interactionFailedConstraintInfo.name}) pressed again, dismiss`,
10300
+ );
10301
+ callout.removeOpenToken(INTERACTION_TOKEN, event);
10302
+ reportedConstraint = null;
10303
+ return;
10304
+ }
10305
+ reportedConstraint = constraint;
10292
10306
  debugInteraction(
10293
10307
  event,
10294
10308
  `reportInteractivity (${interactionFailedConstraintInfo.name})`,
@@ -10305,6 +10319,14 @@ const createControlInteraction = (
10305
10319
  anchorElement: interactionFailedConstraintInfo.target,
10306
10320
  event,
10307
10321
  skipFocus: true,
10322
+ // A refusal explains the press that just happened: once the page moves
10323
+ // on, so does the explanation.
10324
+ closeByScroll: true,
10325
+ // Dismissed (press outside, scroll): nothing is on screen anymore, and
10326
+ // the next press is a question again.
10327
+ onClose: () => {
10328
+ reportedConstraint = null;
10329
+ },
10308
10330
  });
10309
10331
  };
10310
10332