@aurodesignsystem-dev/auro-formkit 0.0.0-pr1346.3 → 0.0.0-pr1346.4

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 (40) hide show
  1. package/components/checkbox/demo/api.min.js +1 -1
  2. package/components/checkbox/demo/index.min.js +1 -1
  3. package/components/checkbox/dist/index.js +1 -1
  4. package/components/checkbox/dist/registered.js +1 -1
  5. package/components/combobox/demo/api.min.js +224 -45
  6. package/components/combobox/demo/index.min.js +224 -45
  7. package/components/combobox/dist/auro-combobox.d.ts +2 -1
  8. package/components/combobox/dist/index.js +217 -42
  9. package/components/combobox/dist/registered.js +217 -42
  10. package/components/counter/demo/api.min.js +123 -11
  11. package/components/counter/demo/index.min.js +123 -11
  12. package/components/counter/dist/index.js +123 -11
  13. package/components/counter/dist/registered.js +123 -11
  14. package/components/datepicker/demo/api.min.js +133 -20
  15. package/components/datepicker/demo/index.min.js +133 -20
  16. package/components/datepicker/dist/index.js +133 -20
  17. package/components/datepicker/dist/registered.js +133 -20
  18. package/components/dropdown/demo/api.min.js +122 -10
  19. package/components/dropdown/demo/index.min.js +122 -10
  20. package/components/dropdown/dist/auro-dropdownBib.d.ts +18 -2
  21. package/components/dropdown/dist/index.js +122 -10
  22. package/components/dropdown/dist/registered.js +122 -10
  23. package/components/input/demo/api.min.js +10 -9
  24. package/components/input/demo/index.min.js +10 -9
  25. package/components/input/dist/index.js +10 -9
  26. package/components/input/dist/registered.js +10 -9
  27. package/components/menu/demo/api.min.js +7 -3
  28. package/components/menu/demo/index.min.js +7 -3
  29. package/components/menu/dist/index.js +7 -3
  30. package/components/menu/dist/registered.js +7 -3
  31. package/components/radio/demo/api.min.js +1 -1
  32. package/components/radio/demo/index.min.js +1 -1
  33. package/components/radio/dist/index.js +1 -1
  34. package/components/radio/dist/registered.js +1 -1
  35. package/components/select/demo/api.min.js +159 -17
  36. package/components/select/demo/index.min.js +159 -17
  37. package/components/select/dist/index.js +152 -14
  38. package/components/select/dist/registered.js +152 -14
  39. package/custom-elements.json +35 -10
  40. package/package.json +1 -1
@@ -1392,7 +1392,7 @@ let AuroHelpText$1 = class AuroHelpText extends LitElement {
1392
1392
  }
1393
1393
  };
1394
1394
 
1395
- var formkitVersion$1 = '202602232116';
1395
+ var formkitVersion$1 = '202602260152';
1396
1396
 
1397
1397
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
1398
1398
  // See LICENSE in the project root for license information.
@@ -4628,7 +4628,7 @@ let p$2 = class p{registerComponent(t,a){customElements.get(t)||customElements.d
4628
4628
 
4629
4629
  var iconVersion$1 = '9.1.2';
4630
4630
 
4631
- var styleCss$2 = css`:host{position:fixed;z-index:var(--depth-tooltip, 400);display:none;isolation:isolate}:host dialog{max-width:none;max-height:none;padding:0;border:none;margin:0;outline:none;transform:translateZ(0)}:host dialog::backdrop{background:transparent}:host(:not([isfullscreen])) dialog{position:absolute;inset:unset}:host(:not([isfullscreen])) .container.shape-box{border-radius:unset}:host(:not([isfullscreen])) .container[class*=shape-pill],:host(:not([isfullscreen])) .container[class*=shape-snowflake]{border-radius:30px}:host(:not([isfullscreen])) .container[class*=shape-rounded]{border-radius:16px}:host(:not([matchWidth])) .container{min-width:fit-content}:host([isfullscreen]){position:fixed;top:0;left:0}:host([isfullscreen]) .container{width:100dvw;max-width:none;height:100dvh;max-height:none;border-radius:unset;margin-top:0;box-shadow:unset;overscroll-behavior:contain}:host([data-show]){display:flex}:host([common]:not([isfullscreen])) .container,:host([rounded]:not([isfullscreen])) .container{border-radius:var(--ds-border-radius, 0.375rem)}:host([common][isfullscreen]) .container,:host([rounded][isfullscreen]) .container{border-radius:unset;box-shadow:unset}.container{display:inline-block;overflow:auto;box-sizing:border-box;border-radius:var(--ds-border-radius, 0.375rem);margin:var(--ds-size-50, 0.25rem) 0}.util_displayHiddenVisually{position:absolute;overflow:hidden;width:1px;height:1px;padding:0;border:0;margin:-1px;clip-path:inset(50%);white-space:nowrap}`;
4631
+ var styleCss$2 = css`:host{position:fixed;z-index:var(--depth-tooltip, 400);display:none;isolation:isolate}:host dialog{max-width:none;max-height:none;padding:0;border:none;margin:0;outline:none;transform:translateZ(0)}:host dialog::backdrop{background:transparent}:host(:not([isfullscreen])) dialog{position:absolute;inset:unset}:host(:not([isfullscreen])) .container.shape-box{border-radius:unset}:host(:not([isfullscreen])) .container[class*=shape-pill],:host(:not([isfullscreen])) .container[class*=shape-snowflake]{border-radius:30px}:host(:not([isfullscreen])) .container[class*=shape-rounded]{border-radius:16px}:host(:not([matchWidth])) .container{min-width:fit-content}:host([isfullscreen]){position:fixed;top:0;left:0}:host([isfullscreen]) .container{width:100dvw;max-width:none;height:100dvh;max-height:none;border-radius:unset;margin-top:0;box-shadow:unset;overscroll-behavior:contain}:host([isfullscreen]) .container::backdrop{background:var(--ds-color-background-primary, #fff)}:host([data-show]){display:flex}:host([common]:not([isfullscreen])) .container,:host([rounded]:not([isfullscreen])) .container{border-radius:var(--ds-border-radius, 0.375rem)}:host([common][isfullscreen]) .container,:host([rounded][isfullscreen]) .container{border-radius:unset;box-shadow:unset}.container{display:inline-block;overflow:auto;box-sizing:border-box;border-radius:var(--ds-border-radius, 0.375rem);margin:var(--ds-size-50, 0.25rem) 0}.util_displayHiddenVisually{position:absolute;overflow:hidden;width:1px;height:1px;padding:0;border:0;margin:-1px;clip-path:inset(50%);white-space:nowrap}`;
4632
4632
 
4633
4633
  var colorCss$2 = css`.container{background-color:var(--ds-auro-dropdownbib-container-color);box-shadow:var(--ds-auro-dropdownbib-boxshadow-color);color:var(--ds-auro-dropdownbib-text-color)}`;
4634
4634
 
@@ -4636,6 +4636,8 @@ var tokensCss$1 = css`:host(:not([ondark])),:host(:not([appearance=inverse])){--
4636
4636
 
4637
4637
  // Copyright (c) 2020 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
4638
4638
  // See LICENSE in the project root for license information.
4639
+ /* eslint-disable max-lines */
4640
+ // ---------------------------------------------------------------------
4639
4641
 
4640
4642
 
4641
4643
  const DESIGN_TOKEN_BREAKPOINT_PREFIX = '--ds-grid-breakpoint-';
@@ -4811,22 +4813,63 @@ class AuroDropdownBib extends LitElement {
4811
4813
  // Handle ESC key via dialog's cancel event
4812
4814
  const dialog = this.shadowRoot.querySelector('dialog');
4813
4815
  dialog.addEventListener('cancel', (event) => {
4814
- event.preventDefault(); // Let parent handle closing
4816
+ // Let parent handle closing
4817
+ event.preventDefault();
4815
4818
  this.dispatchEvent(new CustomEvent('auro-bib-cancel', {
4816
4819
  bubbles: true,
4817
4820
  composed: true
4818
4821
  }));
4819
4822
  });
4820
4823
 
4821
- // Re-dispatch navigation keyboard events so they cross the shadow DOM
4822
- // boundary and reach the combobox/select key handlers.
4823
- // Only intercept keys used for menu navigation let all other keys
4824
- // (characters, Backspace, etc.) through so typing in inputs works.
4825
- const navKeys = new Set(['ArrowUp', 'ArrowDown', 'Enter', 'Escape']);
4824
+ // showModal() creates a closed focus scope keyboard events inside
4825
+ // the dialog's shadow DOM do NOT bubble out to the combobox/select
4826
+ // keydown handlers in the parent shadow DOM. This handler bridges
4827
+ // that gap by re-dispatching navigation keys so they cross the
4828
+ // shadow boundary and reach the menu navigation logic in the parent
4829
+ // component.
4830
+ //
4831
+ // The trade-off: intercepting these keys means native keyboard
4832
+ // behaviors that would normally "just work" must be manually
4833
+ // re-implemented here:
4834
+ //
4835
+ // - Enter on buttons: Custom elements (auro-button) don't get the
4836
+ // native Enter→click that <button> provides, so we call .click()
4837
+ // directly when Enter is pressed on a button-like element.
4838
+ //
4839
+ // - Tab: NOT intercepted — left to the browser's native focus trap
4840
+ // provided by showModal(), which cycles Tab between focusable
4841
+ // elements inside the dialog (e.g. the input and close button).
4842
+ // Intercepting Tab would kill the native focus trap and break
4843
+ // focus management inside the dialog.
4844
+ //
4845
+ // - Escape: The native <dialog> fires a `cancel` event on ESC
4846
+ // (handled above), so the re-dispatched Escape is a secondary
4847
+ // path for parent components that also listen for Escape keydown.
4848
+ const navKeys = new Set([
4849
+ 'ArrowUp',
4850
+ 'ArrowDown',
4851
+ 'Enter',
4852
+ 'Escape'
4853
+ ]);
4826
4854
  dialog.addEventListener('keydown', (event) => {
4827
4855
  if (!navKeys.has(event.key)) {
4828
4856
  return;
4829
4857
  }
4858
+
4859
+ // Custom elements (auro-button) don't get the native Enter→click
4860
+ // behavior that <button> has. Find the button in the composed path
4861
+ // and click it directly.
4862
+ if (event.key === 'Enter') {
4863
+ const buttonSelector = 'button, [role="button"], auro-button, [auro-button]';
4864
+ const btn = event.composedPath().find((el) => el.matches && el.matches(buttonSelector));
4865
+ if (btn) {
4866
+ event.preventDefault();
4867
+ event.stopPropagation();
4868
+ btn.click();
4869
+ return;
4870
+ }
4871
+ }
4872
+
4830
4873
  event.preventDefault();
4831
4874
  event.stopPropagation();
4832
4875
  const newEvent = new KeyboardEvent('keydown', {
@@ -4850,9 +4893,55 @@ class AuroDropdownBib extends LitElement {
4850
4893
  }
4851
4894
 
4852
4895
  /**
4853
- * Opens the dialog using showModal() for accessibility.
4854
- * @param {boolean} modal - If true, uses showModal() (default). If false, uses show().
4896
+ * Blocks touch-driven page scroll while a fullscreen modal dialog is open.
4897
+ *
4898
+ * The showModal() function places the dialog in the browser's **top layer**,
4899
+ * which is a separate rendering layer above the normal DOM. On mobile, the
4900
+ * compositor processes visual-viewport panning before top-layer touch
4901
+ * handling. This means the entire viewport — including the top-layer dialog
4902
+ * — can be panned by a touch gesture, causing the page behind the dialog to
4903
+ * scroll into view. To prevent this, we add a touchmove listener that cancels
4904
+ * the event if the touch started outside the dialog or any scrollable child within it.
4905
+ *
4906
+ * @private
4855
4907
  */
4908
+ _lockTouchScroll() {
4909
+ const dialog = this.shadowRoot.querySelector('dialog');
4910
+
4911
+ this._touchMoveHandler = (event) => {
4912
+ // Walk the composed path (which crosses shadow DOM boundaries) to
4913
+ // check whether the touch started inside a scrollable element that
4914
+ // lives within the dialog. If so, allow the scroll.
4915
+ for (const el of event.composedPath()) {
4916
+ if (el === dialog) {
4917
+ // Reached the dialog boundary without finding a scrollable child.
4918
+ break;
4919
+ }
4920
+ if (el instanceof HTMLElement && el.scrollHeight > el.clientHeight) {
4921
+ const { overflowY } = getComputedStyle(el);
4922
+ if (overflowY === 'auto' || overflowY === 'scroll') {
4923
+ return;
4924
+ }
4925
+ }
4926
+ }
4927
+
4928
+ event.preventDefault();
4929
+ };
4930
+
4931
+ document.addEventListener('touchmove', this._touchMoveHandler, { passive: false });
4932
+ }
4933
+
4934
+ /**
4935
+ * Removes the touchmove listener added by _lockTouchScroll().
4936
+ * @private
4937
+ */
4938
+ _unlockTouchScroll() {
4939
+ if (this._touchMoveHandler) {
4940
+ document.removeEventListener('touchmove', this._touchMoveHandler);
4941
+ this._touchMoveHandler = undefined;
4942
+ }
4943
+ }
4944
+
4856
4945
  open(modal = true) {
4857
4946
  const dialog = this.shadowRoot.querySelector('dialog');
4858
4947
  if (dialog && !dialog.open) {
@@ -4869,6 +4958,8 @@ class AuroDropdownBib extends LitElement {
4869
4958
 
4870
4959
  documentElement.style.overflow = prevOverflow;
4871
4960
 
4961
+ this._lockTouchScroll();
4962
+
4872
4963
  } else {
4873
4964
  // Use setAttribute instead of dialog.show() to avoid the dialog
4874
4965
  // focusing steps which steal focus from the trigger and cause
@@ -4884,6 +4975,7 @@ class AuroDropdownBib extends LitElement {
4884
4975
  close() {
4885
4976
  const dialog = this.shadowRoot.querySelector('dialog');
4886
4977
  if (dialog && dialog.open) {
4978
+ this._unlockTouchScroll();
4887
4979
  dialog.close();
4888
4980
  }
4889
4981
  }
@@ -5149,7 +5241,7 @@ class AuroHelpText extends LitElement {
5149
5241
  }
5150
5242
  }
5151
5243
 
5152
- var formkitVersion = '202602232116';
5244
+ var formkitVersion = '202602260152';
5153
5245
 
5154
5246
  let AuroElement$1 = class AuroElement extends LitElement {
5155
5247
  static get properties() {
@@ -5422,6 +5514,18 @@ class AuroDropdown extends AuroElement$1 {
5422
5514
  */
5423
5515
  show() {
5424
5516
  this.floater.showBib();
5517
+
5518
+ // Open dialog synchronously so callers remain in the user gesture
5519
+ // chain. This is critical for mobile browsers (iOS Safari) to keep
5520
+ // the virtual keyboard open when transitioning from the trigger
5521
+ // input to an input inside the fullscreen dialog. Without this,
5522
+ // showModal() fires asynchronously via Lit's update cycle, which
5523
+ // falls outside the user activation window and causes iOS to
5524
+ // dismiss the keyboard.
5525
+ if (this.isBibFullscreen && this.bibElement && this.bibElement.value) {
5526
+ const useModal = !this.disableFocusTrap;
5527
+ this.bibElement.value.open(useModal);
5528
+ }
5425
5529
  }
5426
5530
 
5427
5531
  /**
@@ -5808,6 +5912,14 @@ class AuroDropdown extends AuroElement$1 {
5808
5912
  this.bibElement.value.close();
5809
5913
  }
5810
5914
  }
5915
+
5916
+ // When fullscreen strategy changes while open, re-open dialog with correct mode
5917
+ // (e.g. resizing from desktop → mobile while dropdown is open)
5918
+ if (changedProperties.has('isBibFullscreen') && this.isPopoverVisible && this.bibElement.value) {
5919
+ const useModal = this.isBibFullscreen && !this.disableFocusTrap;
5920
+ this.bibElement.value.close();
5921
+ this.bibElement.value.open(useModal);
5922
+ }
5811
5923
  }
5812
5924
 
5813
5925
  /**
@@ -9537,7 +9537,7 @@ class AuroBibtemplate extends i$1 {
9537
9537
  }
9538
9538
  }
9539
9539
 
9540
- var formkitVersion$2 = '202602232116';
9540
+ var formkitVersion$2 = '202602260152';
9541
9541
 
9542
9542
  let l$1 = class l{generateElementName(t,e){let o=t;return o+="-",o+=e.replace(/[.]/g,"_"),o}generateTag(o,s,a){const r=this.generateElementName(o,s),i=i$5`${s$5(r)}`;return customElements.get(r)||customElements.define(r,class extends a{}),i}};let d$1 = class d{registerComponent(t,e){customElements.get(t)||customElements.define(t,class extends e{});}closestElement(t,e=this,o=(e,s=e&&e.closest(t))=>e&&e!==document&&e!==window?s||o(e.getRootNode().host):null){return o(e)}handleComponentTagRename(t,e){const o=e.toLowerCase();t.tagName.toLowerCase()!==o&&t.setAttribute(o,true);}elementMatch(t,e){const o=e.toLowerCase();return t.tagName.toLowerCase()===o||t.hasAttribute(o)}getSlotText(t,e){const o=t.shadowRoot?.querySelector(`slot[name="${e}"]`),s=(o?.assignedNodes({flatten:true})||[]).map(t=>t.textContent?.trim()).join(" ").trim();return s||null}};let h$4 = class h{registerComponent(t,e){customElements.get(t)||customElements.define(t,class extends e{});}closestElement(t,e=this,o=(e,s=e&&e.closest(t))=>e&&e!==document&&e!==window?s||o(e.getRootNode().host):null){return o(e)}handleComponentTagRename(t,e){const o=e.toLowerCase();t.tagName.toLowerCase()!==o&&t.setAttribute(o,true);}elementMatch(t,e){const o=e.toLowerCase();return t.tagName.toLowerCase()===o||t.hasAttribute(o)}};var c$3=i$3`:host{color:var(--ds-auro-loader-color)}:host>span{background-color:var(--ds-auro-loader-background-color);border-color:var(--ds-auro-loader-border-color)}:host([onlight]),:host([appearance=brand]){--ds-auro-loader-color: var(--ds-basic-color-brand-primary, #01426a)}:host([ondark]),:host([appearance=inverse]){--ds-auro-loader-color: var(--ds-basic-color-texticon-inverse, #ffffff)}:host([orbit])>span{--ds-auro-loader-background-color: transparent}:host([orbit])>span:nth-child(1){--ds-auro-loader-border-color: currentcolor;opacity:.25}:host([orbit])>span:nth-child(2){--ds-auro-loader-border-color: currentcolor;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent}
9543
9543
  `,u$6=i$3`.body-default{font-size:var(--wcss-body-default-font-size, 1rem);line-height:var(--wcss-body-default-line-height, 1.5rem)}.body-default,.body-lg{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-weight, 450);letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-lg{font-size:var(--wcss-body-lg-font-size, 1.125rem);line-height:var(--wcss-body-lg-line-height, 1.625rem)}.body-sm{font-size:var(--wcss-body-sm-font-size, .875rem);line-height:var(--wcss-body-sm-line-height, 1.25rem)}.body-sm,.body-xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-weight, 450);letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-xs{font-size:var(--wcss-body-xs-font-size, .75rem);line-height:var(--wcss-body-xs-line-height, 1rem)}.body-2xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:var(--wcss-body-2xs-font-size, .625rem);font-weight:var(--wcss-body-weight, 450);letter-spacing:var(--wcss-body-letter-spacing, 0);line-height:var(--wcss-body-2xs-line-height, .875rem)}.display-2xl{font-family:var(--wcss-display-2xl-family, "AS Circular"),var(--wcss-display-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-2xl-font-size, clamp(3.5rem, 6vw, 5.375rem));font-weight:var(--wcss-display-2xl-weight, 300);letter-spacing:var(--wcss-display-2xl-letter-spacing, 0);line-height:var(--wcss-display-2xl-line-height, 1.3)}.display-xl{font-family:var(--wcss-display-xl-family, "AS Circular"),var(--wcss-display-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-xl-font-size, clamp(3rem, 5.3333333333vw, 4.5rem));font-weight:var(--wcss-display-xl-weight, 300);letter-spacing:var(--wcss-display-xl-letter-spacing, 0);line-height:var(--wcss-display-xl-line-height, 1.3)}.display-lg{font-family:var(--wcss-display-lg-family, "AS Circular"),var(--wcss-display-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-lg-font-size, clamp(2.75rem, 4.6666666667vw, 4rem));font-weight:var(--wcss-display-lg-weight, 300);letter-spacing:var(--wcss-display-lg-letter-spacing, 0);line-height:var(--wcss-display-lg-line-height, 1.3)}.display-md{font-family:var(--wcss-display-md-family, "AS Circular"),var(--wcss-display-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-md-font-size, clamp(2.5rem, 4vw, 3.5rem));font-weight:var(--wcss-display-md-weight, 300);letter-spacing:var(--wcss-display-md-letter-spacing, 0);line-height:var(--wcss-display-md-line-height, 1.3)}.display-sm{font-family:var(--wcss-display-sm-family, "AS Circular"),var(--wcss-display-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-sm-font-size, clamp(2rem, 3.6666666667vw, 3rem));font-weight:var(--wcss-display-sm-weight, 300);letter-spacing:var(--wcss-display-sm-letter-spacing, 0);line-height:var(--wcss-display-sm-line-height, 1.3)}.display-xs{font-family:var(--wcss-display-xs-family, "AS Circular"),var(--wcss-display-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-xs-font-size, clamp(1.75rem, 3vw, 2.375rem));font-weight:var(--wcss-display-xs-weight, 300);letter-spacing:var(--wcss-display-xs-letter-spacing, 0);line-height:var(--wcss-display-xs-line-height, 1.3)}.heading-xl{font-family:var(--wcss-heading-xl-family, "AS Circular"),var(--wcss-heading-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-xl-font-size, clamp(2rem, 3vw, 2.5rem));font-weight:var(--wcss-heading-xl-weight, 300);letter-spacing:var(--wcss-heading-xl-letter-spacing, 0);line-height:var(--wcss-heading-xl-line-height, 1.3)}.heading-lg{font-family:var(--wcss-heading-lg-family, "AS Circular"),var(--wcss-heading-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-lg-font-size, clamp(1.75rem, 2.6666666667vw, 2.25rem));font-weight:var(--wcss-heading-lg-weight, 300);letter-spacing:var(--wcss-heading-lg-letter-spacing, 0);line-height:var(--wcss-heading-lg-line-height, 1.3)}.heading-md{font-family:var(--wcss-heading-md-family, "AS Circular"),var(--wcss-heading-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-md-font-size, clamp(1.625rem, 2.3333333333vw, 1.75rem));font-weight:var(--wcss-heading-md-weight, 300);letter-spacing:var(--wcss-heading-md-letter-spacing, 0);line-height:var(--wcss-heading-md-line-height, 1.3)}.heading-sm{font-family:var(--wcss-heading-sm-family, "AS Circular"),var(--wcss-heading-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-sm-font-size, clamp(1.375rem, 2vw, 1.5rem));font-weight:var(--wcss-heading-sm-weight, 300);letter-spacing:var(--wcss-heading-sm-letter-spacing, 0);line-height:var(--wcss-heading-sm-line-height, 1.3)}.heading-xs{font-family:var(--wcss-heading-xs-family, "AS Circular"),var(--wcss-heading-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-xs-font-size, clamp(1.25rem, 1.6666666667vw, 1.25rem));font-weight:var(--wcss-heading-xs-weight, 450);letter-spacing:var(--wcss-heading-xs-letter-spacing, 0);line-height:var(--wcss-heading-xs-line-height, 1.3)}.heading-2xs{font-family:var(--wcss-heading-2xs-family, "AS Circular"),var(--wcss-heading-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-2xs-font-size, clamp(1.125rem, 1.5vw, 1.125rem));font-weight:var(--wcss-heading-2xs-weight, 450);letter-spacing:var(--wcss-heading-2xs-letter-spacing, 0);line-height:var(--wcss-heading-2xs-line-height, 1.3)}.accent-2xl{font-family:var(--wcss-accent-2xl-family, "Good OT"),var(--wcss-accent-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-2xl-font-size, clamp(2rem, 3.1666666667vw, 2.375rem));font-weight:var(--wcss-accent-2xl-weight, 450);letter-spacing:var(--wcss-accent-2xl-letter-spacing, .05em);line-height:var(--wcss-accent-2xl-line-height, 1)}.accent-2xl,.accent-xl{text-transform:uppercase}.accent-xl{font-family:var(--wcss-accent-xl-family, "Good OT"),var(--wcss-accent-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-xl-font-size, clamp(1.625rem, 2.3333333333vw, 2rem));font-weight:var(--wcss-accent-xl-weight, 450);letter-spacing:var(--wcss-accent-xl-letter-spacing, .05em);line-height:var(--wcss-accent-xl-line-height, 1.3)}.accent-lg{font-family:var(--wcss-accent-lg-family, "Good OT"),var(--wcss-accent-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-lg-font-size, clamp(1.5rem, 2.1666666667vw, 1.75rem));font-weight:var(--wcss-accent-lg-weight, 450);letter-spacing:var(--wcss-accent-lg-letter-spacing, .05em);line-height:var(--wcss-accent-lg-line-height, 1.3)}.accent-lg,.accent-md{text-transform:uppercase}.accent-md{font-family:var(--wcss-accent-md-family, "Good OT"),var(--wcss-accent-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-md-font-size, clamp(1.375rem, 1.8333333333vw, 1.5rem));font-weight:var(--wcss-accent-md-weight, 500);letter-spacing:var(--wcss-accent-md-letter-spacing, .05em);line-height:var(--wcss-accent-md-line-height, 1.3)}.accent-sm{font-family:var(--wcss-accent-sm-family, "Good OT"),var(--wcss-accent-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-sm-font-size, clamp(1.125rem, 1.5vw, 1.25rem));font-weight:var(--wcss-accent-sm-weight, 500);letter-spacing:var(--wcss-accent-sm-letter-spacing, .05em);line-height:var(--wcss-accent-sm-line-height, 1.3)}.accent-sm,.accent-xs{text-transform:uppercase}.accent-xs{font-family:var(--wcss-accent-xs-family, "Good OT"),var(--wcss-accent-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-xs-font-size, clamp(1rem, 1.3333333333vw, 1rem));font-weight:var(--wcss-accent-xs-weight, 500);letter-spacing:var(--wcss-accent-xs-letter-spacing, .1em);line-height:var(--wcss-accent-xs-line-height, 1.3)}.accent-2xs{font-family:var(--wcss-accent-2xs-family, "Good OT"),var(--wcss-accent-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-2xs-font-size, clamp(.875rem, 1.1666666667vw, .875rem));font-weight:var(--wcss-accent-2xs-weight, 450);letter-spacing:var(--wcss-accent-2xs-letter-spacing, .1em);line-height:var(--wcss-accent-2xs-line-height, 1.3);text-transform:uppercase}:focus:not(:focus-visible){outline:3px solid transparent}:host,:host>span{position:relative}:host{width:2rem;height:2rem;display:inline-block;font-size:0}:host>span{position:absolute;display:inline-block;float:none;top:0;left:0;width:2rem;height:2rem;border-radius:100%;border-style:solid;border-width:0;box-sizing:border-box}:host([xs]),:host([xs])>span{width:1.2rem;height:1.2rem}:host([sm]),:host([sm])>span{width:3rem;height:3rem}:host([md]),:host([md])>span{width:5rem;height:5rem}:host([lg]),:host([lg])>span{width:8rem;height:8rem}:host{--margin: .375rem;--margin-xs: .2rem;--margin-sm: .5rem;--margin-md: .75rem;--margin-lg: 1rem}:host([pulse]),:host([pulse])>span{position:relative}:host([pulse]){width:calc(3rem + var(--margin) * 6);height:calc(1rem + var(--margin) * 2)}:host([pulse])>span{width:1rem;height:1rem;margin:var(--margin);animation:pulse 1.5s ease infinite}:host([pulse][xs]){width:calc(1.95rem + var(--margin-xs) * 6);height:calc(.65rem + var(--margin-xs) * 2)}:host([pulse][xs])>span{margin:var(--margin-xs);width:.65rem;height:.65rem}:host([pulse][sm]){width:calc(6rem + var(--margin-sm) * 6);height:calc(2rem + var(--margin-sm) * 2)}:host([pulse][sm])>span{margin:var(--margin-sm);width:2rem;height:2rem}:host([pulse][md]){width:calc(9rem + var(--margin-md) * 6);height:calc(3rem + var(--margin-md) * 2)}:host([pulse][md])>span{margin:var(--margin-md);width:3rem;height:3rem}:host([pulse][lg]){width:calc(15rem + var(--margin-lg) * 6);height:calc(5rem + var(--margin-lg) * 2)}:host([pulse][lg])>span{margin:var(--margin-lg);width:5rem;height:5rem}:host([pulse])>span:nth-child(1){animation-delay:-.4s}:host([pulse])>span:nth-child(2){animation-delay:-.2s}:host([pulse])>span:nth-child(3){animation-delay:0ms}@keyframes pulse{0%,to{opacity:.1;transform:scale(.9)}50%{opacity:1;transform:scale(1.1)}}:host([orbit]),:host([orbit])>span{opacity:1}:host([orbit])>span{border-width:5px}:host([orbit])>span:nth-child(2){animation:orbit 2s linear infinite}:host([orbit][sm])>span{border-width:8px}:host([orbit][md])>span{border-width:13px}:host([orbit][lg])>span{border-width:21px}@keyframes orbit{0%{transform:rotate(0)}to{transform:rotate(360deg)}}:host([ringworm])>svg{animation:rotate 2s linear infinite;height:100%;width:100%;stroke:currentcolor;stroke-width:8}:host([ringworm]) .path{stroke-dashoffset:0;animation:ringworm 1.5s ease-in-out infinite;stroke-linecap:round}@keyframes rotate{to{transform:rotate(360deg)}}@keyframes ringworm{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px}to{stroke-dasharray:89,200;stroke-dashoffset:-124px}}:host([laser]){position:static;width:100%;display:block;height:0;overflow:hidden;font-size:unset}:host([laser])>span{position:fixed;width:100%;height:.25rem;border-radius:0;z-index:100}:host([laser])>span:nth-child(1){border-color:currentcolor;opacity:.25}:host([laser])>span:nth-child(2){border-color:currentcolor;animation:laser 2s linear infinite;opacity:1;width:50%}:host([laser][sm])>span:nth-child(2){width:20%}:host([laser][md])>span:nth-child(2){width:30%}:host([laser][lg])>span:nth-child(2){width:50%;animation-duration:1.5s}:host([laser][xl])>span:nth-child(2){width:80%;animation-duration:1.5s}@keyframes laser{0%{left:-100%}to{left:110%}}:host>.no-animation{display:none}@media (prefers-reduced-motion: reduce){:host{display:flex;align-items:center;justify-content:center}:host>span{opacity:1}:host>.loader{display:none}:host>svg{display:none}:host>.no-animation{display:block}}
@@ -12829,7 +12829,7 @@ let p$3 = class p{registerComponent(t,a){customElements.get(t)||customElements.d
12829
12829
 
12830
12830
  var iconVersion$2 = '9.1.2';
12831
12831
 
12832
- var styleCss$2$1 = i$3`:host{position:fixed;z-index:var(--depth-tooltip, 400);display:none;isolation:isolate}:host dialog{max-width:none;max-height:none;padding:0;border:none;margin:0;outline:none;transform:translateZ(0)}:host dialog::backdrop{background:transparent}:host(:not([isfullscreen])) dialog{position:absolute;inset:unset}:host(:not([isfullscreen])) .container.shape-box{border-radius:unset}:host(:not([isfullscreen])) .container[class*=shape-pill],:host(:not([isfullscreen])) .container[class*=shape-snowflake]{border-radius:30px}:host(:not([isfullscreen])) .container[class*=shape-rounded]{border-radius:16px}:host(:not([matchWidth])) .container{min-width:fit-content}:host([isfullscreen]){position:fixed;top:0;left:0}:host([isfullscreen]) .container{width:100dvw;max-width:none;height:100dvh;max-height:none;border-radius:unset;margin-top:0;box-shadow:unset;overscroll-behavior:contain}:host([data-show]){display:flex}:host([common]:not([isfullscreen])) .container,:host([rounded]:not([isfullscreen])) .container{border-radius:var(--ds-border-radius, 0.375rem)}:host([common][isfullscreen]) .container,:host([rounded][isfullscreen]) .container{border-radius:unset;box-shadow:unset}.container{display:inline-block;overflow:auto;box-sizing:border-box;border-radius:var(--ds-border-radius, 0.375rem);margin:var(--ds-size-50, 0.25rem) 0}.util_displayHiddenVisually{position:absolute;overflow:hidden;width:1px;height:1px;padding:0;border:0;margin:-1px;clip-path:inset(50%);white-space:nowrap}`;
12832
+ var styleCss$2$1 = i$3`:host{position:fixed;z-index:var(--depth-tooltip, 400);display:none;isolation:isolate}:host dialog{max-width:none;max-height:none;padding:0;border:none;margin:0;outline:none;transform:translateZ(0)}:host dialog::backdrop{background:transparent}:host(:not([isfullscreen])) dialog{position:absolute;inset:unset}:host(:not([isfullscreen])) .container.shape-box{border-radius:unset}:host(:not([isfullscreen])) .container[class*=shape-pill],:host(:not([isfullscreen])) .container[class*=shape-snowflake]{border-radius:30px}:host(:not([isfullscreen])) .container[class*=shape-rounded]{border-radius:16px}:host(:not([matchWidth])) .container{min-width:fit-content}:host([isfullscreen]){position:fixed;top:0;left:0}:host([isfullscreen]) .container{width:100dvw;max-width:none;height:100dvh;max-height:none;border-radius:unset;margin-top:0;box-shadow:unset;overscroll-behavior:contain}:host([isfullscreen]) .container::backdrop{background:var(--ds-color-background-primary, #fff)}:host([data-show]){display:flex}:host([common]:not([isfullscreen])) .container,:host([rounded]:not([isfullscreen])) .container{border-radius:var(--ds-border-radius, 0.375rem)}:host([common][isfullscreen]) .container,:host([rounded][isfullscreen]) .container{border-radius:unset;box-shadow:unset}.container{display:inline-block;overflow:auto;box-sizing:border-box;border-radius:var(--ds-border-radius, 0.375rem);margin:var(--ds-size-50, 0.25rem) 0}.util_displayHiddenVisually{position:absolute;overflow:hidden;width:1px;height:1px;padding:0;border:0;margin:-1px;clip-path:inset(50%);white-space:nowrap}`;
12833
12833
 
12834
12834
  var colorCss$2 = i$3`.container{background-color:var(--ds-auro-dropdownbib-container-color);box-shadow:var(--ds-auro-dropdownbib-boxshadow-color);color:var(--ds-auro-dropdownbib-text-color)}`;
12835
12835
 
@@ -12837,6 +12837,8 @@ var tokensCss$1$1 = i$3`:host(:not([ondark])),:host(:not([appearance=inverse])){
12837
12837
 
12838
12838
  // Copyright (c) 2020 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
12839
12839
  // See LICENSE in the project root for license information.
12840
+ /* eslint-disable max-lines */
12841
+ // ---------------------------------------------------------------------
12840
12842
 
12841
12843
 
12842
12844
  const DESIGN_TOKEN_BREAKPOINT_PREFIX = '--ds-grid-breakpoint-';
@@ -13012,22 +13014,63 @@ class AuroDropdownBib extends i$1 {
13012
13014
  // Handle ESC key via dialog's cancel event
13013
13015
  const dialog = this.shadowRoot.querySelector('dialog');
13014
13016
  dialog.addEventListener('cancel', (event) => {
13015
- event.preventDefault(); // Let parent handle closing
13017
+ // Let parent handle closing
13018
+ event.preventDefault();
13016
13019
  this.dispatchEvent(new CustomEvent('auro-bib-cancel', {
13017
13020
  bubbles: true,
13018
13021
  composed: true
13019
13022
  }));
13020
13023
  });
13021
13024
 
13022
- // Re-dispatch navigation keyboard events so they cross the shadow DOM
13023
- // boundary and reach the combobox/select key handlers.
13024
- // Only intercept keys used for menu navigation let all other keys
13025
- // (characters, Backspace, etc.) through so typing in inputs works.
13026
- const navKeys = new Set(['ArrowUp', 'ArrowDown', 'Enter', 'Escape']);
13025
+ // showModal() creates a closed focus scope keyboard events inside
13026
+ // the dialog's shadow DOM do NOT bubble out to the combobox/select
13027
+ // keydown handlers in the parent shadow DOM. This handler bridges
13028
+ // that gap by re-dispatching navigation keys so they cross the
13029
+ // shadow boundary and reach the menu navigation logic in the parent
13030
+ // component.
13031
+ //
13032
+ // The trade-off: intercepting these keys means native keyboard
13033
+ // behaviors that would normally "just work" must be manually
13034
+ // re-implemented here:
13035
+ //
13036
+ // - Enter on buttons: Custom elements (auro-button) don't get the
13037
+ // native Enter→click that <button> provides, so we call .click()
13038
+ // directly when Enter is pressed on a button-like element.
13039
+ //
13040
+ // - Tab: NOT intercepted — left to the browser's native focus trap
13041
+ // provided by showModal(), which cycles Tab between focusable
13042
+ // elements inside the dialog (e.g. the input and close button).
13043
+ // Intercepting Tab would kill the native focus trap and break
13044
+ // focus management inside the dialog.
13045
+ //
13046
+ // - Escape: The native <dialog> fires a `cancel` event on ESC
13047
+ // (handled above), so the re-dispatched Escape is a secondary
13048
+ // path for parent components that also listen for Escape keydown.
13049
+ const navKeys = new Set([
13050
+ 'ArrowUp',
13051
+ 'ArrowDown',
13052
+ 'Enter',
13053
+ 'Escape'
13054
+ ]);
13027
13055
  dialog.addEventListener('keydown', (event) => {
13028
13056
  if (!navKeys.has(event.key)) {
13029
13057
  return;
13030
13058
  }
13059
+
13060
+ // Custom elements (auro-button) don't get the native Enter→click
13061
+ // behavior that <button> has. Find the button in the composed path
13062
+ // and click it directly.
13063
+ if (event.key === 'Enter') {
13064
+ const buttonSelector = 'button, [role="button"], auro-button, [auro-button]';
13065
+ const btn = event.composedPath().find((el) => el.matches && el.matches(buttonSelector));
13066
+ if (btn) {
13067
+ event.preventDefault();
13068
+ event.stopPropagation();
13069
+ btn.click();
13070
+ return;
13071
+ }
13072
+ }
13073
+
13031
13074
  event.preventDefault();
13032
13075
  event.stopPropagation();
13033
13076
  const newEvent = new KeyboardEvent('keydown', {
@@ -13051,9 +13094,55 @@ class AuroDropdownBib extends i$1 {
13051
13094
  }
13052
13095
 
13053
13096
  /**
13054
- * Opens the dialog using showModal() for accessibility.
13055
- * @param {boolean} modal - If true, uses showModal() (default). If false, uses show().
13097
+ * Blocks touch-driven page scroll while a fullscreen modal dialog is open.
13098
+ *
13099
+ * The showModal() function places the dialog in the browser's **top layer**,
13100
+ * which is a separate rendering layer above the normal DOM. On mobile, the
13101
+ * compositor processes visual-viewport panning before top-layer touch
13102
+ * handling. This means the entire viewport — including the top-layer dialog
13103
+ * — can be panned by a touch gesture, causing the page behind the dialog to
13104
+ * scroll into view. To prevent this, we add a touchmove listener that cancels
13105
+ * the event if the touch started outside the dialog or any scrollable child within it.
13106
+ *
13107
+ * @private
13056
13108
  */
13109
+ _lockTouchScroll() {
13110
+ const dialog = this.shadowRoot.querySelector('dialog');
13111
+
13112
+ this._touchMoveHandler = (event) => {
13113
+ // Walk the composed path (which crosses shadow DOM boundaries) to
13114
+ // check whether the touch started inside a scrollable element that
13115
+ // lives within the dialog. If so, allow the scroll.
13116
+ for (const el of event.composedPath()) {
13117
+ if (el === dialog) {
13118
+ // Reached the dialog boundary without finding a scrollable child.
13119
+ break;
13120
+ }
13121
+ if (el instanceof HTMLElement && el.scrollHeight > el.clientHeight) {
13122
+ const { overflowY } = getComputedStyle(el);
13123
+ if (overflowY === 'auto' || overflowY === 'scroll') {
13124
+ return;
13125
+ }
13126
+ }
13127
+ }
13128
+
13129
+ event.preventDefault();
13130
+ };
13131
+
13132
+ document.addEventListener('touchmove', this._touchMoveHandler, { passive: false });
13133
+ }
13134
+
13135
+ /**
13136
+ * Removes the touchmove listener added by _lockTouchScroll().
13137
+ * @private
13138
+ */
13139
+ _unlockTouchScroll() {
13140
+ if (this._touchMoveHandler) {
13141
+ document.removeEventListener('touchmove', this._touchMoveHandler);
13142
+ this._touchMoveHandler = undefined;
13143
+ }
13144
+ }
13145
+
13057
13146
  open(modal = true) {
13058
13147
  const dialog = this.shadowRoot.querySelector('dialog');
13059
13148
  if (dialog && !dialog.open) {
@@ -13070,6 +13159,8 @@ class AuroDropdownBib extends i$1 {
13070
13159
 
13071
13160
  documentElement.style.overflow = prevOverflow;
13072
13161
 
13162
+ this._lockTouchScroll();
13163
+
13073
13164
  } else {
13074
13165
  // Use setAttribute instead of dialog.show() to avoid the dialog
13075
13166
  // focusing steps which steal focus from the trigger and cause
@@ -13085,6 +13176,7 @@ class AuroDropdownBib extends i$1 {
13085
13176
  close() {
13086
13177
  const dialog = this.shadowRoot.querySelector('dialog');
13087
13178
  if (dialog && dialog.open) {
13179
+ this._unlockTouchScroll();
13088
13180
  dialog.close();
13089
13181
  }
13090
13182
  }
@@ -13350,7 +13442,7 @@ let AuroHelpText$2 = class AuroHelpText extends i$1 {
13350
13442
  }
13351
13443
  };
13352
13444
 
13353
- var formkitVersion$1 = '202602232116';
13445
+ var formkitVersion$1 = '202602260152';
13354
13446
 
13355
13447
  let AuroElement$2 = class AuroElement extends i$1 {
13356
13448
  static get properties() {
@@ -13623,6 +13715,18 @@ class AuroDropdown extends AuroElement$2 {
13623
13715
  */
13624
13716
  show() {
13625
13717
  this.floater.showBib();
13718
+
13719
+ // Open dialog synchronously so callers remain in the user gesture
13720
+ // chain. This is critical for mobile browsers (iOS Safari) to keep
13721
+ // the virtual keyboard open when transitioning from the trigger
13722
+ // input to an input inside the fullscreen dialog. Without this,
13723
+ // showModal() fires asynchronously via Lit's update cycle, which
13724
+ // falls outside the user activation window and causes iOS to
13725
+ // dismiss the keyboard.
13726
+ if (this.isBibFullscreen && this.bibElement && this.bibElement.value) {
13727
+ const useModal = !this.disableFocusTrap;
13728
+ this.bibElement.value.open(useModal);
13729
+ }
13626
13730
  }
13627
13731
 
13628
13732
  /**
@@ -14009,6 +14113,14 @@ class AuroDropdown extends AuroElement$2 {
14009
14113
  this.bibElement.value.close();
14010
14114
  }
14011
14115
  }
14116
+
14117
+ // When fullscreen strategy changes while open, re-open dialog with correct mode
14118
+ // (e.g. resizing from desktop → mobile while dropdown is open)
14119
+ if (changedProperties.has('isBibFullscreen') && this.isPopoverVisible && this.bibElement.value) {
14120
+ const useModal = this.isBibFullscreen && !this.disableFocusTrap;
14121
+ this.bibElement.value.close();
14122
+ this.bibElement.value.open(useModal);
14123
+ }
14012
14124
  }
14013
14125
 
14014
14126
  /**
@@ -19510,6 +19622,15 @@ class BaseInput extends AuroElement$1 {
19510
19622
  constructor() {
19511
19623
  super();
19512
19624
 
19625
+ // Delegate focus to the native <input> inside the shadow root so that
19626
+ // showModal()'s dialog focusing steps reach the input element.
19627
+ // This keeps the mobile virtual keyboard open when the fullscreen dialog
19628
+ // opens, because the browser sees an input-to-input focus transfer.
19629
+ this.constructor.shadowRootOptions = {
19630
+ ...AuroElement$1.shadowRootOptions,
19631
+ delegatesFocus: true,
19632
+ };
19633
+
19513
19634
  this._initializeDefaults();
19514
19635
  }
19515
19636
 
@@ -19631,14 +19752,6 @@ class BaseInput extends AuroElement$1 {
19631
19752
  reflect: true
19632
19753
  },
19633
19754
 
19634
- /**
19635
- * The value for the aria-controls attribute.
19636
- */
19637
- a11yControls: {
19638
- type: String,
19639
- reflect: true
19640
- },
19641
-
19642
19755
  /**
19643
19756
  * The value for the aria-activedescendant attribute.
19644
19757
  * Points to the ID of the currently active/highlighted option in a listbox.
@@ -21058,7 +21171,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$1 {
21058
21171
  }
21059
21172
  };
21060
21173
 
21061
- var formkitVersion = '202602232116';
21174
+ var formkitVersion = '202602260152';
21062
21175
 
21063
21176
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
21064
21177
  // See LICENSE in the project root for license information.