@aurodesignsystem-dev/auro-formkit 0.0.0-pr1595.3 → 0.0.0-pr1595.5

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.
Files changed (50) hide show
  1. package/components/checkbox/demo/api.md +2 -2
  2. package/components/checkbox/demo/customize.min.js +3 -3
  3. package/components/checkbox/demo/getting-started.min.js +3 -3
  4. package/components/checkbox/demo/index.min.js +3 -3
  5. package/components/checkbox/dist/auro-checkbox.d.ts +2 -2
  6. package/components/checkbox/dist/index.js +3 -3
  7. package/components/checkbox/dist/registered.js +3 -3
  8. package/components/combobox/demo/api.md +1 -1
  9. package/components/combobox/demo/customize.min.js +68 -8
  10. package/components/combobox/demo/getting-started.min.js +68 -8
  11. package/components/combobox/demo/index.min.js +68 -8
  12. package/components/combobox/dist/auro-combobox.d.ts +1 -1
  13. package/components/combobox/dist/index.js +68 -8
  14. package/components/combobox/dist/registered.js +68 -8
  15. package/components/counter/demo/customize.min.js +66 -6
  16. package/components/counter/demo/index.min.js +66 -6
  17. package/components/counter/dist/index.js +66 -6
  18. package/components/counter/dist/registered.js +66 -6
  19. package/components/datepicker/demo/customize.min.js +67 -7
  20. package/components/datepicker/demo/index.min.js +67 -7
  21. package/components/datepicker/dist/index.js +67 -7
  22. package/components/datepicker/dist/registered.js +67 -7
  23. package/components/dropdown/demo/customize.min.js +65 -5
  24. package/components/dropdown/demo/getting-started.min.js +66 -6
  25. package/components/dropdown/demo/index.min.js +65 -5
  26. package/components/dropdown/dist/index.js +65 -5
  27. package/components/dropdown/dist/registered.js +65 -5
  28. package/components/form/demo/customize.min.js +274 -34
  29. package/components/form/demo/getting-started.min.js +274 -34
  30. package/components/form/demo/index.min.js +274 -34
  31. package/components/form/demo/registerDemoDeps.min.js +274 -34
  32. package/components/input/demo/customize.min.js +1 -1
  33. package/components/input/demo/getting-started.min.js +1 -1
  34. package/components/input/demo/index.min.js +1 -1
  35. package/components/input/dist/index.js +1 -1
  36. package/components/input/dist/registered.js +1 -1
  37. package/components/radio/demo/api.md +2 -2
  38. package/components/radio/demo/customize.min.js +3 -3
  39. package/components/radio/demo/getting-started.min.js +3 -3
  40. package/components/radio/demo/index.min.js +3 -3
  41. package/components/radio/dist/auro-radio.d.ts +2 -2
  42. package/components/radio/dist/index.js +3 -3
  43. package/components/radio/dist/registered.js +3 -3
  44. package/components/select/demo/customize.min.js +66 -6
  45. package/components/select/demo/getting-started.min.js +66 -6
  46. package/components/select/demo/index.min.js +66 -6
  47. package/components/select/dist/index.js +66 -6
  48. package/components/select/dist/registered.js +66 -6
  49. package/custom-elements.json +573 -568
  50. package/package.json +2 -2
@@ -2071,15 +2071,57 @@ class AuroFloatingUI {
2071
2071
  document.body.style.top = `-${this._savedScrollY}px`;
2072
2072
  document.body.style.width = "100%";
2073
2073
 
2074
- // Move `bib` by the amount the viewport is shifted to stay aligned in fullscreen.
2075
- if (element?.bib && window?.visualViewport?.offsetTop) {
2076
- element.bib.style.transform = `translateY(${window?.visualViewport?.offsetTop}px)`;
2074
+ // Keep the bib aligned with the visual viewport as the VKB opens.
2075
+ // A one-shot offsetTop check at lock time is stale by the time the user
2076
+ // taps an input mid-drawer — iOS then pans visualViewport upward and the
2077
+ // bib drifts off-screen. Listen continuously so the transform tracks the pan.
2078
+ // RAF-throttled to avoid a style recalc on every scroll tick during the
2079
+ // keyboard animation; the pending frame is canceled on unlock so it cannot
2080
+ // reapply a translate after bibTransform has been restored.
2081
+ if (window.visualViewport) {
2082
+ this._viewportRafId = undefined;
2083
+ this._viewportHandler = () => {
2084
+ if (this._viewportRafId !== undefined) {
2085
+ return;
2086
+ }
2087
+ this._viewportRafId = requestAnimationFrame(() => {
2088
+ this._viewportRafId = undefined;
2089
+ if (element?.bib) {
2090
+ element.bib.style.transform = `translateY(${window.visualViewport.offsetTop}px)`;
2091
+ }
2092
+ });
2093
+ };
2094
+ window.visualViewport.addEventListener(
2095
+ "resize",
2096
+ this._viewportHandler,
2097
+ );
2098
+ window.visualViewport.addEventListener(
2099
+ "scroll",
2100
+ this._viewportHandler,
2101
+ );
2102
+ this._viewportHandler();
2077
2103
  }
2078
2104
 
2079
2105
  this.lockTouchScroll(true);
2080
2106
  }
2081
2107
  } else {
2082
2108
  if (this._scrollLocked) {
2109
+ if (this._viewportHandler && window.visualViewport) {
2110
+ window.visualViewport.removeEventListener(
2111
+ "resize",
2112
+ this._viewportHandler,
2113
+ );
2114
+ window.visualViewport.removeEventListener(
2115
+ "scroll",
2116
+ this._viewportHandler,
2117
+ );
2118
+ this._viewportHandler = undefined;
2119
+ }
2120
+ if (this._viewportRafId !== undefined) {
2121
+ cancelAnimationFrame(this._viewportRafId);
2122
+ this._viewportRafId = undefined;
2123
+ }
2124
+
2083
2125
  document.documentElement.style.scrollbarGutter =
2084
2126
  this._savedScrollStyles?.rootScrollbarGutter ?? "";
2085
2127
  document.documentElement.style.overflow =
@@ -2171,7 +2213,7 @@ class AuroFloatingUI {
2171
2213
  bibContent.style.width = "";
2172
2214
  bibContent.style.height = "";
2173
2215
  bibContent.style.maxWidth = "";
2174
- bibContent.style.maxHeight = `${window?.visualViewport?.height}px`;
2216
+ bibContent.style.maxHeight = "";
2175
2217
  this.configureTrial = 0;
2176
2218
  } else if (this.configureTrial < MAX_CONFIGURATION_COUNT) {
2177
2219
  this.configureTrial += 1;
@@ -2468,6 +2510,24 @@ class AuroFloatingUI {
2468
2510
  if (!this.showing) {
2469
2511
  if (!element.modal) {
2470
2512
  this.setupHideHandlers();
2513
+ } else {
2514
+ if (this.keyDownHandler) {
2515
+ document.removeEventListener("keydown", this.keyDownHandler);
2516
+ }
2517
+ this.keyDownHandler = (evt) => {
2518
+ if (evt.key === "Escape" && element.isPopoverVisible) {
2519
+ // Intercept at keydown so CloseWatcher never sees the keystroke.
2520
+ // Canceling `cancel` alone is insufficient — a second Esc with no
2521
+ // intervening user activation triggers the anti-trap and fires `close`
2522
+ // directly, bypassing any `cancel` preventDefault (AB#1613688).
2523
+ // stopImmediatePropagation is intentional: it prevents other document
2524
+ // keydown handlers (e.g. consumer code, auro-dialog) from also acting
2525
+ // on Escape while the modal owns the key.
2526
+ evt.preventDefault();
2527
+ evt.stopImmediatePropagation();
2528
+ }
2529
+ };
2530
+ document.addEventListener("keydown", this.keyDownHandler);
2471
2531
  }
2472
2532
  this.showing = true;
2473
2533
  element.isPopoverVisible = true;
@@ -3741,7 +3801,7 @@ class AuroHelpText extends LitElement {
3741
3801
  }
3742
3802
  }
3743
3803
 
3744
- var formkitVersion = '202608300058';
3804
+ var formkitVersion = '202608300227';
3745
3805
 
3746
3806
  /**
3747
3807
  * AuroElement is the shared base class for layout-aware Auro form components.