@aurodesignsystem-dev/auro-formkit 0.0.0-pr1506.4 → 0.0.0-pr1508.0

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/customize.min.js +1 -1
  2. package/components/checkbox/demo/getting-started.min.js +1 -1
  3. package/components/checkbox/demo/index.min.js +1 -1
  4. package/components/checkbox/dist/index.js +1 -1
  5. package/components/checkbox/dist/registered.js +1 -1
  6. package/components/combobox/demo/customize.min.js +17 -33
  7. package/components/combobox/demo/getting-started.min.js +17 -33
  8. package/components/combobox/demo/index.min.js +17 -33
  9. package/components/combobox/dist/index.js +17 -33
  10. package/components/combobox/dist/registered.js +17 -33
  11. package/components/counter/demo/customize.min.js +10 -2
  12. package/components/counter/demo/index.min.js +10 -2
  13. package/components/counter/dist/index.js +10 -2
  14. package/components/counter/dist/registered.js +10 -2
  15. package/components/datepicker/demo/api.md +2 -0
  16. package/components/datepicker/demo/customize.js +0 -2
  17. package/components/datepicker/demo/customize.md +138 -38
  18. package/components/datepicker/demo/customize.min.js +18 -22
  19. package/components/datepicker/demo/index.min.js +18 -4
  20. package/components/datepicker/dist/index.js +18 -4
  21. package/components/datepicker/dist/registered.js +18 -4
  22. package/components/datepicker/dist/src/auro-datepicker.d.ts +2 -0
  23. package/components/dropdown/demo/customize.min.js +9 -1
  24. package/components/dropdown/demo/getting-started.min.js +9 -1
  25. package/components/dropdown/demo/index.min.js +9 -1
  26. package/components/dropdown/dist/auro-dropdown.d.ts +1 -0
  27. package/components/dropdown/dist/index.js +9 -1
  28. package/components/dropdown/dist/registered.js +9 -1
  29. package/components/form/demo/customize.min.js +58 -44
  30. package/components/form/demo/getting-started.min.js +58 -44
  31. package/components/form/demo/index.min.js +58 -44
  32. package/components/form/demo/registerDemoDeps.min.js +58 -44
  33. package/components/input/demo/customize.md +54 -53
  34. package/components/input/demo/customize.min.js +1 -1
  35. package/components/input/demo/getting-started.min.js +1 -1
  36. package/components/input/demo/index.min.js +1 -1
  37. package/components/input/dist/index.js +1 -1
  38. package/components/input/dist/registered.js +1 -1
  39. package/components/radio/demo/customize.min.js +1 -1
  40. package/components/radio/demo/getting-started.min.js +1 -1
  41. package/components/radio/demo/index.min.js +1 -1
  42. package/components/radio/dist/index.js +1 -1
  43. package/components/radio/dist/registered.js +1 -1
  44. package/components/select/demo/customize.min.js +10 -2
  45. package/components/select/demo/getting-started.min.js +10 -2
  46. package/components/select/demo/index.min.js +10 -2
  47. package/components/select/dist/index.js +10 -2
  48. package/components/select/dist/registered.js +10 -2
  49. package/custom-elements.json +8 -0
  50. package/package.json +1 -1
@@ -1260,7 +1260,7 @@ class AuroHelpText extends i$2 {
1260
1260
  }
1261
1261
  }
1262
1262
 
1263
- var formkitVersion = '202606222021';
1263
+ var formkitVersion = '202606231948';
1264
1264
 
1265
1265
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
1266
1266
  // See LICENSE in the project root for license information.
@@ -1260,7 +1260,7 @@ class AuroHelpText extends i$2 {
1260
1260
  }
1261
1261
  }
1262
1262
 
1263
- var formkitVersion = '202606222021';
1263
+ var formkitVersion = '202606231948';
1264
1264
 
1265
1265
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
1266
1266
  // See LICENSE in the project root for license information.
@@ -1260,7 +1260,7 @@ class AuroHelpText extends i$2 {
1260
1260
  }
1261
1261
  }
1262
1262
 
1263
- var formkitVersion = '202606222021';
1263
+ var formkitVersion = '202606231948';
1264
1264
 
1265
1265
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
1266
1266
  // See LICENSE in the project root for license information.
@@ -1213,7 +1213,7 @@ class AuroHelpText extends LitElement {
1213
1213
  }
1214
1214
  }
1215
1215
 
1216
- var formkitVersion = '202606222021';
1216
+ var formkitVersion = '202606231948';
1217
1217
 
1218
1218
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
1219
1219
  // See LICENSE in the project root for license information.
@@ -1213,7 +1213,7 @@ class AuroHelpText extends LitElement {
1213
1213
  }
1214
1214
  }
1215
1215
 
1216
- var formkitVersion = '202606222021';
1216
+ var formkitVersion = '202606231948';
1217
1217
 
1218
1218
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
1219
1219
  // See LICENSE in the project root for license information.
@@ -4873,7 +4873,7 @@ let AuroHelpText$2 = class AuroHelpText extends i$3 {
4873
4873
  }
4874
4874
  };
4875
4875
 
4876
- var formkitVersion$2 = '202606222021';
4876
+ var formkitVersion$2 = '202606231948';
4877
4877
 
4878
4878
  let AuroElement$2 = class AuroElement extends i$3 {
4879
4879
  static get properties() {
@@ -5824,6 +5824,14 @@ class AuroDropdown extends AuroElement$2 {
5824
5824
  };
5825
5825
  this.addEventListener('keydown', this._bibTabHandler);
5826
5826
 
5827
+ // Suppress AuroFloatingUI's auto-hide-on-focus-loss while the
5828
+ // desktopModal trap owns focus management. Without this, the very
5829
+ // first focus move into the bib (from the RAF below) triggers
5830
+ // handleFocusLoss → hideBib, tearing down the trap before the
5831
+ // user can press Tab.
5832
+ this._priorNoHideOnFocusLoss = this.noHideOnThisFocusLoss;
5833
+ this.noHideOnThisFocusLoss = true;
5834
+
5827
5835
  // Move initial focus into the bib content, matching FocusTrap behavior
5828
5836
  requestAnimationFrame(() => {
5829
5837
  const focusables = getFocusableElements(this.bibContent);
@@ -18356,7 +18364,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$3 {
18356
18364
  }
18357
18365
  };
18358
18366
 
18359
- var formkitVersion$1 = '202606222021';
18367
+ var formkitVersion$1 = '202606231948';
18360
18368
 
18361
18369
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
18362
18370
  // See LICENSE in the project root for license information.
@@ -19477,7 +19485,7 @@ class AuroBibtemplate extends i$3 {
19477
19485
  }
19478
19486
  }
19479
19487
 
19480
- var formkitVersion = '202606222021';
19488
+ var formkitVersion = '202606231948';
19481
19489
 
19482
19490
  var styleCss$3 = i$6`.util_displayInline{display:inline}.util_displayInlineBlock{display:inline-block}.util_displayBlock{display:block}.util_displayFlex{display:flex}.util_displayHidden{display:none}.util_displayHiddenVisually{position:absolute;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);width:1px;height:1px;padding:0;border:0}:host{display:block;text-align:left}:host [auro-dropdown]{--ds-auro-dropdown-trigger-background-color: transparent}:host #inputInBib::part(wrapper){box-shadow:none}:host #inputInBib::part(accent-left){display:none}:host([layout*=classic]) [auro-input]{width:100%}:host([layout*=classic]) [auro-input]::part(helpText){display:none}:host([layout*=classic]) #slotHolder{display:none}`;
19483
19491
 
@@ -20836,24 +20844,7 @@ class AuroCombobox extends AuroElement {
20836
20844
  nativeInput.setSelectionRange(len, len);
20837
20845
  }
20838
20846
  } else {
20839
- // Safety net for the strategy-change setTimeout: a viewport-crossing
20840
- // fullscreen→floating switch can close the dialog and leave focus on
20841
- // body. Every other call into this branch already has focus on the
20842
- // input via the combobox-level focusin → this.focus() redirect, so
20843
- // this is a no-op in the common case.
20844
- if (!this.input.componentHasFocus) {
20845
- this.input.focus();
20846
- }
20847
-
20848
- // Park the trigger native input's caret at end-of-text every time the
20849
- // popover opens. Chrome focuses the native via the floating <label for="…">
20850
- // overlay on click and resets selection to [0, 0]; no JS fires between
20851
- // mousedown and selectionchange, so we restore the caret here.
20852
- const triggerNativeInput = this.input.inputElement;
20853
- if (triggerNativeInput && triggerNativeInput.value) {
20854
- const len = triggerNativeInput.value.length;
20855
- triggerNativeInput.setSelectionRange(len, len);
20856
- }
20847
+ this.input.focus();
20857
20848
  }
20858
20849
  }
20859
20850
 
@@ -20988,6 +20979,11 @@ class AuroCombobox extends AuroElement {
20988
20979
  this.hideBib();
20989
20980
  }
20990
20981
 
20982
+ // Move focus to the clear button when the user makes a selection.
20983
+ if (!isEcho && this.menu.value !== undefined) {
20984
+ this.setClearBtnFocus();
20985
+ }
20986
+
20991
20987
  // Announce the selection after the dropdown closes so it isn't
20992
20988
  // overridden by VoiceOver's "collapsed" announcement from aria-expanded.
20993
20989
  // Skip when there's no selected value (e.g. menu.clearSelection() from
@@ -21012,18 +21008,6 @@ class AuroCombobox extends AuroElement {
21012
21008
  this._programmaticFilterRefresh = false;
21013
21009
  }, 0);
21014
21010
  }
21015
-
21016
- // base-input skips auto-validate when focus is inside its own shadow,
21017
- // which it is after setTriggerInputFocus — re-run so prior tooShort
21018
- // clears. processCreditCard reasserts errorMessage on every render.
21019
- if (!isEcho && this.menu.optionSelected && this.input.validate) {
21020
- this.input.updateComplete.then(() => {
21021
- this.input.validate(true);
21022
- if (this.input.validity === 'valid') {
21023
- this.input.errorMessage = '';
21024
- }
21025
- });
21026
- }
21027
21011
  });
21028
21012
 
21029
21013
  this.menu.addEventListener('auroMenu-customEventFired', () => {
@@ -4873,7 +4873,7 @@ let AuroHelpText$2 = class AuroHelpText extends i$3 {
4873
4873
  }
4874
4874
  };
4875
4875
 
4876
- var formkitVersion$2 = '202606222021';
4876
+ var formkitVersion$2 = '202606231948';
4877
4877
 
4878
4878
  let AuroElement$2 = class AuroElement extends i$3 {
4879
4879
  static get properties() {
@@ -5824,6 +5824,14 @@ class AuroDropdown extends AuroElement$2 {
5824
5824
  };
5825
5825
  this.addEventListener('keydown', this._bibTabHandler);
5826
5826
 
5827
+ // Suppress AuroFloatingUI's auto-hide-on-focus-loss while the
5828
+ // desktopModal trap owns focus management. Without this, the very
5829
+ // first focus move into the bib (from the RAF below) triggers
5830
+ // handleFocusLoss → hideBib, tearing down the trap before the
5831
+ // user can press Tab.
5832
+ this._priorNoHideOnFocusLoss = this.noHideOnThisFocusLoss;
5833
+ this.noHideOnThisFocusLoss = true;
5834
+
5827
5835
  // Move initial focus into the bib content, matching FocusTrap behavior
5828
5836
  requestAnimationFrame(() => {
5829
5837
  const focusables = getFocusableElements(this.bibContent);
@@ -18356,7 +18364,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$3 {
18356
18364
  }
18357
18365
  };
18358
18366
 
18359
- var formkitVersion$1 = '202606222021';
18367
+ var formkitVersion$1 = '202606231948';
18360
18368
 
18361
18369
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
18362
18370
  // See LICENSE in the project root for license information.
@@ -19477,7 +19485,7 @@ class AuroBibtemplate extends i$3 {
19477
19485
  }
19478
19486
  }
19479
19487
 
19480
- var formkitVersion = '202606222021';
19488
+ var formkitVersion = '202606231948';
19481
19489
 
19482
19490
  var styleCss$3 = i$6`.util_displayInline{display:inline}.util_displayInlineBlock{display:inline-block}.util_displayBlock{display:block}.util_displayFlex{display:flex}.util_displayHidden{display:none}.util_displayHiddenVisually{position:absolute;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);width:1px;height:1px;padding:0;border:0}:host{display:block;text-align:left}:host [auro-dropdown]{--ds-auro-dropdown-trigger-background-color: transparent}:host #inputInBib::part(wrapper){box-shadow:none}:host #inputInBib::part(accent-left){display:none}:host([layout*=classic]) [auro-input]{width:100%}:host([layout*=classic]) [auro-input]::part(helpText){display:none}:host([layout*=classic]) #slotHolder{display:none}`;
19483
19491
 
@@ -20836,24 +20844,7 @@ class AuroCombobox extends AuroElement {
20836
20844
  nativeInput.setSelectionRange(len, len);
20837
20845
  }
20838
20846
  } else {
20839
- // Safety net for the strategy-change setTimeout: a viewport-crossing
20840
- // fullscreen→floating switch can close the dialog and leave focus on
20841
- // body. Every other call into this branch already has focus on the
20842
- // input via the combobox-level focusin → this.focus() redirect, so
20843
- // this is a no-op in the common case.
20844
- if (!this.input.componentHasFocus) {
20845
- this.input.focus();
20846
- }
20847
-
20848
- // Park the trigger native input's caret at end-of-text every time the
20849
- // popover opens. Chrome focuses the native via the floating <label for="…">
20850
- // overlay on click and resets selection to [0, 0]; no JS fires between
20851
- // mousedown and selectionchange, so we restore the caret here.
20852
- const triggerNativeInput = this.input.inputElement;
20853
- if (triggerNativeInput && triggerNativeInput.value) {
20854
- const len = triggerNativeInput.value.length;
20855
- triggerNativeInput.setSelectionRange(len, len);
20856
- }
20847
+ this.input.focus();
20857
20848
  }
20858
20849
  }
20859
20850
 
@@ -20988,6 +20979,11 @@ class AuroCombobox extends AuroElement {
20988
20979
  this.hideBib();
20989
20980
  }
20990
20981
 
20982
+ // Move focus to the clear button when the user makes a selection.
20983
+ if (!isEcho && this.menu.value !== undefined) {
20984
+ this.setClearBtnFocus();
20985
+ }
20986
+
20991
20987
  // Announce the selection after the dropdown closes so it isn't
20992
20988
  // overridden by VoiceOver's "collapsed" announcement from aria-expanded.
20993
20989
  // Skip when there's no selected value (e.g. menu.clearSelection() from
@@ -21012,18 +21008,6 @@ class AuroCombobox extends AuroElement {
21012
21008
  this._programmaticFilterRefresh = false;
21013
21009
  }, 0);
21014
21010
  }
21015
-
21016
- // base-input skips auto-validate when focus is inside its own shadow,
21017
- // which it is after setTriggerInputFocus — re-run so prior tooShort
21018
- // clears. processCreditCard reasserts errorMessage on every render.
21019
- if (!isEcho && this.menu.optionSelected && this.input.validate) {
21020
- this.input.updateComplete.then(() => {
21021
- this.input.validate(true);
21022
- if (this.input.validity === 'valid') {
21023
- this.input.errorMessage = '';
21024
- }
21025
- });
21026
- }
21027
21011
  });
21028
21012
 
21029
21013
  this.menu.addEventListener('auroMenu-customEventFired', () => {
@@ -4888,7 +4888,7 @@ let AuroHelpText$2 = class AuroHelpText extends i$3 {
4888
4888
  }
4889
4889
  };
4890
4890
 
4891
- var formkitVersion$2 = '202606222021';
4891
+ var formkitVersion$2 = '202606231948';
4892
4892
 
4893
4893
  let AuroElement$2 = class AuroElement extends i$3 {
4894
4894
  static get properties() {
@@ -5839,6 +5839,14 @@ class AuroDropdown extends AuroElement$2 {
5839
5839
  };
5840
5840
  this.addEventListener('keydown', this._bibTabHandler);
5841
5841
 
5842
+ // Suppress AuroFloatingUI's auto-hide-on-focus-loss while the
5843
+ // desktopModal trap owns focus management. Without this, the very
5844
+ // first focus move into the bib (from the RAF below) triggers
5845
+ // handleFocusLoss → hideBib, tearing down the trap before the
5846
+ // user can press Tab.
5847
+ this._priorNoHideOnFocusLoss = this.noHideOnThisFocusLoss;
5848
+ this.noHideOnThisFocusLoss = true;
5849
+
5842
5850
  // Move initial focus into the bib content, matching FocusTrap behavior
5843
5851
  requestAnimationFrame(() => {
5844
5852
  const focusables = getFocusableElements(this.bibContent);
@@ -18371,7 +18379,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$3 {
18371
18379
  }
18372
18380
  };
18373
18381
 
18374
- var formkitVersion$1 = '202606222021';
18382
+ var formkitVersion$1 = '202606231948';
18375
18383
 
18376
18384
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
18377
18385
  // See LICENSE in the project root for license information.
@@ -19492,7 +19500,7 @@ class AuroBibtemplate extends i$3 {
19492
19500
  }
19493
19501
  }
19494
19502
 
19495
- var formkitVersion = '202606222021';
19503
+ var formkitVersion = '202606231948';
19496
19504
 
19497
19505
  var styleCss$3 = i$6`.util_displayInline{display:inline}.util_displayInlineBlock{display:inline-block}.util_displayBlock{display:block}.util_displayFlex{display:flex}.util_displayHidden{display:none}.util_displayHiddenVisually{position:absolute;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);width:1px;height:1px;padding:0;border:0}:host{display:block;text-align:left}:host [auro-dropdown]{--ds-auro-dropdown-trigger-background-color: transparent}:host #inputInBib::part(wrapper){box-shadow:none}:host #inputInBib::part(accent-left){display:none}:host([layout*=classic]) [auro-input]{width:100%}:host([layout*=classic]) [auro-input]::part(helpText){display:none}:host([layout*=classic]) #slotHolder{display:none}`;
19498
19506
 
@@ -20851,24 +20859,7 @@ class AuroCombobox extends AuroElement {
20851
20859
  nativeInput.setSelectionRange(len, len);
20852
20860
  }
20853
20861
  } else {
20854
- // Safety net for the strategy-change setTimeout: a viewport-crossing
20855
- // fullscreen→floating switch can close the dialog and leave focus on
20856
- // body. Every other call into this branch already has focus on the
20857
- // input via the combobox-level focusin → this.focus() redirect, so
20858
- // this is a no-op in the common case.
20859
- if (!this.input.componentHasFocus) {
20860
- this.input.focus();
20861
- }
20862
-
20863
- // Park the trigger native input's caret at end-of-text every time the
20864
- // popover opens. Chrome focuses the native via the floating <label for="…">
20865
- // overlay on click and resets selection to [0, 0]; no JS fires between
20866
- // mousedown and selectionchange, so we restore the caret here.
20867
- const triggerNativeInput = this.input.inputElement;
20868
- if (triggerNativeInput && triggerNativeInput.value) {
20869
- const len = triggerNativeInput.value.length;
20870
- triggerNativeInput.setSelectionRange(len, len);
20871
- }
20862
+ this.input.focus();
20872
20863
  }
20873
20864
  }
20874
20865
 
@@ -21003,6 +20994,11 @@ class AuroCombobox extends AuroElement {
21003
20994
  this.hideBib();
21004
20995
  }
21005
20996
 
20997
+ // Move focus to the clear button when the user makes a selection.
20998
+ if (!isEcho && this.menu.value !== undefined) {
20999
+ this.setClearBtnFocus();
21000
+ }
21001
+
21006
21002
  // Announce the selection after the dropdown closes so it isn't
21007
21003
  // overridden by VoiceOver's "collapsed" announcement from aria-expanded.
21008
21004
  // Skip when there's no selected value (e.g. menu.clearSelection() from
@@ -21027,18 +21023,6 @@ class AuroCombobox extends AuroElement {
21027
21023
  this._programmaticFilterRefresh = false;
21028
21024
  }, 0);
21029
21025
  }
21030
-
21031
- // base-input skips auto-validate when focus is inside its own shadow,
21032
- // which it is after setTriggerInputFocus — re-run so prior tooShort
21033
- // clears. processCreditCard reasserts errorMessage on every render.
21034
- if (!isEcho && this.menu.optionSelected && this.input.validate) {
21035
- this.input.updateComplete.then(() => {
21036
- this.input.validate(true);
21037
- if (this.input.validity === 'valid') {
21038
- this.input.errorMessage = '';
21039
- }
21040
- });
21041
- }
21042
21026
  });
21043
21027
 
21044
21028
  this.menu.addEventListener('auroMenu-customEventFired', () => {
@@ -4806,7 +4806,7 @@ let AuroHelpText$2 = class AuroHelpText extends LitElement {
4806
4806
  }
4807
4807
  };
4808
4808
 
4809
- var formkitVersion$2 = '202606222021';
4809
+ var formkitVersion$2 = '202606231948';
4810
4810
 
4811
4811
  let AuroElement$2 = class AuroElement extends LitElement {
4812
4812
  static get properties() {
@@ -5757,6 +5757,14 @@ class AuroDropdown extends AuroElement$2 {
5757
5757
  };
5758
5758
  this.addEventListener('keydown', this._bibTabHandler);
5759
5759
 
5760
+ // Suppress AuroFloatingUI's auto-hide-on-focus-loss while the
5761
+ // desktopModal trap owns focus management. Without this, the very
5762
+ // first focus move into the bib (from the RAF below) triggers
5763
+ // handleFocusLoss → hideBib, tearing down the trap before the
5764
+ // user can press Tab.
5765
+ this._priorNoHideOnFocusLoss = this.noHideOnThisFocusLoss;
5766
+ this.noHideOnThisFocusLoss = true;
5767
+
5760
5768
  // Move initial focus into the bib content, matching FocusTrap behavior
5761
5769
  requestAnimationFrame(() => {
5762
5770
  const focusables = getFocusableElements(this.bibContent);
@@ -18282,7 +18290,7 @@ let AuroHelpText$1 = class AuroHelpText extends LitElement {
18282
18290
  }
18283
18291
  };
18284
18292
 
18285
- var formkitVersion$1 = '202606222021';
18293
+ var formkitVersion$1 = '202606231948';
18286
18294
 
18287
18295
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
18288
18296
  // See LICENSE in the project root for license information.
@@ -19403,7 +19411,7 @@ class AuroBibtemplate extends LitElement {
19403
19411
  }
19404
19412
  }
19405
19413
 
19406
- var formkitVersion = '202606222021';
19414
+ var formkitVersion = '202606231948';
19407
19415
 
19408
19416
  var styleCss$1 = css`.util_displayInline{display:inline}.util_displayInlineBlock{display:inline-block}.util_displayBlock{display:block}.util_displayFlex{display:flex}.util_displayHidden{display:none}.util_displayHiddenVisually{position:absolute;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);width:1px;height:1px;padding:0;border:0}:host{display:block;text-align:left}:host [auro-dropdown]{--ds-auro-dropdown-trigger-background-color: transparent}:host #inputInBib::part(wrapper){box-shadow:none}:host #inputInBib::part(accent-left){display:none}:host([layout*=classic]) [auro-input]{width:100%}:host([layout*=classic]) [auro-input]::part(helpText){display:none}:host([layout*=classic]) #slotHolder{display:none}`;
19409
19417
 
@@ -20762,24 +20770,7 @@ class AuroCombobox extends AuroElement {
20762
20770
  nativeInput.setSelectionRange(len, len);
20763
20771
  }
20764
20772
  } else {
20765
- // Safety net for the strategy-change setTimeout: a viewport-crossing
20766
- // fullscreen→floating switch can close the dialog and leave focus on
20767
- // body. Every other call into this branch already has focus on the
20768
- // input via the combobox-level focusin → this.focus() redirect, so
20769
- // this is a no-op in the common case.
20770
- if (!this.input.componentHasFocus) {
20771
- this.input.focus();
20772
- }
20773
-
20774
- // Park the trigger native input's caret at end-of-text every time the
20775
- // popover opens. Chrome focuses the native via the floating <label for="…">
20776
- // overlay on click and resets selection to [0, 0]; no JS fires between
20777
- // mousedown and selectionchange, so we restore the caret here.
20778
- const triggerNativeInput = this.input.inputElement;
20779
- if (triggerNativeInput && triggerNativeInput.value) {
20780
- const len = triggerNativeInput.value.length;
20781
- triggerNativeInput.setSelectionRange(len, len);
20782
- }
20773
+ this.input.focus();
20783
20774
  }
20784
20775
  }
20785
20776
 
@@ -20914,6 +20905,11 @@ class AuroCombobox extends AuroElement {
20914
20905
  this.hideBib();
20915
20906
  }
20916
20907
 
20908
+ // Move focus to the clear button when the user makes a selection.
20909
+ if (!isEcho && this.menu.value !== undefined) {
20910
+ this.setClearBtnFocus();
20911
+ }
20912
+
20917
20913
  // Announce the selection after the dropdown closes so it isn't
20918
20914
  // overridden by VoiceOver's "collapsed" announcement from aria-expanded.
20919
20915
  // Skip when there's no selected value (e.g. menu.clearSelection() from
@@ -20938,18 +20934,6 @@ class AuroCombobox extends AuroElement {
20938
20934
  this._programmaticFilterRefresh = false;
20939
20935
  }, 0);
20940
20936
  }
20941
-
20942
- // base-input skips auto-validate when focus is inside its own shadow,
20943
- // which it is after setTriggerInputFocus — re-run so prior tooShort
20944
- // clears. processCreditCard reasserts errorMessage on every render.
20945
- if (!isEcho && this.menu.optionSelected && this.input.validate) {
20946
- this.input.updateComplete.then(() => {
20947
- this.input.validate(true);
20948
- if (this.input.validity === 'valid') {
20949
- this.input.errorMessage = '';
20950
- }
20951
- });
20952
- }
20953
20937
  });
20954
20938
 
20955
20939
  this.menu.addEventListener('auroMenu-customEventFired', () => {
@@ -4806,7 +4806,7 @@ let AuroHelpText$2 = class AuroHelpText extends LitElement {
4806
4806
  }
4807
4807
  };
4808
4808
 
4809
- var formkitVersion$2 = '202606222021';
4809
+ var formkitVersion$2 = '202606231948';
4810
4810
 
4811
4811
  let AuroElement$2 = class AuroElement extends LitElement {
4812
4812
  static get properties() {
@@ -5757,6 +5757,14 @@ class AuroDropdown extends AuroElement$2 {
5757
5757
  };
5758
5758
  this.addEventListener('keydown', this._bibTabHandler);
5759
5759
 
5760
+ // Suppress AuroFloatingUI's auto-hide-on-focus-loss while the
5761
+ // desktopModal trap owns focus management. Without this, the very
5762
+ // first focus move into the bib (from the RAF below) triggers
5763
+ // handleFocusLoss → hideBib, tearing down the trap before the
5764
+ // user can press Tab.
5765
+ this._priorNoHideOnFocusLoss = this.noHideOnThisFocusLoss;
5766
+ this.noHideOnThisFocusLoss = true;
5767
+
5760
5768
  // Move initial focus into the bib content, matching FocusTrap behavior
5761
5769
  requestAnimationFrame(() => {
5762
5770
  const focusables = getFocusableElements(this.bibContent);
@@ -18282,7 +18290,7 @@ let AuroHelpText$1 = class AuroHelpText extends LitElement {
18282
18290
  }
18283
18291
  };
18284
18292
 
18285
- var formkitVersion$1 = '202606222021';
18293
+ var formkitVersion$1 = '202606231948';
18286
18294
 
18287
18295
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
18288
18296
  // See LICENSE in the project root for license information.
@@ -19403,7 +19411,7 @@ class AuroBibtemplate extends LitElement {
19403
19411
  }
19404
19412
  }
19405
19413
 
19406
- var formkitVersion = '202606222021';
19414
+ var formkitVersion = '202606231948';
19407
19415
 
19408
19416
  var styleCss$1 = css`.util_displayInline{display:inline}.util_displayInlineBlock{display:inline-block}.util_displayBlock{display:block}.util_displayFlex{display:flex}.util_displayHidden{display:none}.util_displayHiddenVisually{position:absolute;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);width:1px;height:1px;padding:0;border:0}:host{display:block;text-align:left}:host [auro-dropdown]{--ds-auro-dropdown-trigger-background-color: transparent}:host #inputInBib::part(wrapper){box-shadow:none}:host #inputInBib::part(accent-left){display:none}:host([layout*=classic]) [auro-input]{width:100%}:host([layout*=classic]) [auro-input]::part(helpText){display:none}:host([layout*=classic]) #slotHolder{display:none}`;
19409
19417
 
@@ -20762,24 +20770,7 @@ class AuroCombobox extends AuroElement {
20762
20770
  nativeInput.setSelectionRange(len, len);
20763
20771
  }
20764
20772
  } else {
20765
- // Safety net for the strategy-change setTimeout: a viewport-crossing
20766
- // fullscreen→floating switch can close the dialog and leave focus on
20767
- // body. Every other call into this branch already has focus on the
20768
- // input via the combobox-level focusin → this.focus() redirect, so
20769
- // this is a no-op in the common case.
20770
- if (!this.input.componentHasFocus) {
20771
- this.input.focus();
20772
- }
20773
-
20774
- // Park the trigger native input's caret at end-of-text every time the
20775
- // popover opens. Chrome focuses the native via the floating <label for="…">
20776
- // overlay on click and resets selection to [0, 0]; no JS fires between
20777
- // mousedown and selectionchange, so we restore the caret here.
20778
- const triggerNativeInput = this.input.inputElement;
20779
- if (triggerNativeInput && triggerNativeInput.value) {
20780
- const len = triggerNativeInput.value.length;
20781
- triggerNativeInput.setSelectionRange(len, len);
20782
- }
20773
+ this.input.focus();
20783
20774
  }
20784
20775
  }
20785
20776
 
@@ -20914,6 +20905,11 @@ class AuroCombobox extends AuroElement {
20914
20905
  this.hideBib();
20915
20906
  }
20916
20907
 
20908
+ // Move focus to the clear button when the user makes a selection.
20909
+ if (!isEcho && this.menu.value !== undefined) {
20910
+ this.setClearBtnFocus();
20911
+ }
20912
+
20917
20913
  // Announce the selection after the dropdown closes so it isn't
20918
20914
  // overridden by VoiceOver's "collapsed" announcement from aria-expanded.
20919
20915
  // Skip when there's no selected value (e.g. menu.clearSelection() from
@@ -20938,18 +20934,6 @@ class AuroCombobox extends AuroElement {
20938
20934
  this._programmaticFilterRefresh = false;
20939
20935
  }, 0);
20940
20936
  }
20941
-
20942
- // base-input skips auto-validate when focus is inside its own shadow,
20943
- // which it is after setTriggerInputFocus — re-run so prior tooShort
20944
- // clears. processCreditCard reasserts errorMessage on every render.
20945
- if (!isEcho && this.menu.optionSelected && this.input.validate) {
20946
- this.input.updateComplete.then(() => {
20947
- this.input.validate(true);
20948
- if (this.input.validity === 'valid') {
20949
- this.input.errorMessage = '';
20950
- }
20951
- });
20952
- }
20953
20937
  });
20954
20938
 
20955
20939
  this.menu.addEventListener('auroMenu-customEventFired', () => {
@@ -1099,7 +1099,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$2 {
1099
1099
  }
1100
1100
  };
1101
1101
 
1102
- var formkitVersion$1 = '202606222021';
1102
+ var formkitVersion$1 = '202606231948';
1103
1103
 
1104
1104
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
1105
1105
  // See LICENSE in the project root for license information.
@@ -5445,7 +5445,7 @@ class AuroHelpText extends i$2 {
5445
5445
  }
5446
5446
  }
5447
5447
 
5448
- var formkitVersion = '202606222021';
5448
+ var formkitVersion = '202606231948';
5449
5449
 
5450
5450
  let AuroElement$1 = class AuroElement extends i$2 {
5451
5451
  static get properties() {
@@ -6396,6 +6396,14 @@ class AuroDropdown extends AuroElement$1 {
6396
6396
  };
6397
6397
  this.addEventListener('keydown', this._bibTabHandler);
6398
6398
 
6399
+ // Suppress AuroFloatingUI's auto-hide-on-focus-loss while the
6400
+ // desktopModal trap owns focus management. Without this, the very
6401
+ // first focus move into the bib (from the RAF below) triggers
6402
+ // handleFocusLoss → hideBib, tearing down the trap before the
6403
+ // user can press Tab.
6404
+ this._priorNoHideOnFocusLoss = this.noHideOnThisFocusLoss;
6405
+ this.noHideOnThisFocusLoss = true;
6406
+
6399
6407
  // Move initial focus into the bib content, matching FocusTrap behavior
6400
6408
  requestAnimationFrame(() => {
6401
6409
  const focusables = getFocusableElements(this.bibContent);
@@ -1099,7 +1099,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$2 {
1099
1099
  }
1100
1100
  };
1101
1101
 
1102
- var formkitVersion$1 = '202606222021';
1102
+ var formkitVersion$1 = '202606231948';
1103
1103
 
1104
1104
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
1105
1105
  // See LICENSE in the project root for license information.
@@ -5445,7 +5445,7 @@ class AuroHelpText extends i$2 {
5445
5445
  }
5446
5446
  }
5447
5447
 
5448
- var formkitVersion = '202606222021';
5448
+ var formkitVersion = '202606231948';
5449
5449
 
5450
5450
  let AuroElement$1 = class AuroElement extends i$2 {
5451
5451
  static get properties() {
@@ -6396,6 +6396,14 @@ class AuroDropdown extends AuroElement$1 {
6396
6396
  };
6397
6397
  this.addEventListener('keydown', this._bibTabHandler);
6398
6398
 
6399
+ // Suppress AuroFloatingUI's auto-hide-on-focus-loss while the
6400
+ // desktopModal trap owns focus management. Without this, the very
6401
+ // first focus move into the bib (from the RAF below) triggers
6402
+ // handleFocusLoss → hideBib, tearing down the trap before the
6403
+ // user can press Tab.
6404
+ this._priorNoHideOnFocusLoss = this.noHideOnThisFocusLoss;
6405
+ this.noHideOnThisFocusLoss = true;
6406
+
6399
6407
  // Move initial focus into the bib content, matching FocusTrap behavior
6400
6408
  requestAnimationFrame(() => {
6401
6409
  const focusables = getFocusableElements(this.bibContent);
@@ -1049,7 +1049,7 @@ let AuroHelpText$1 = class AuroHelpText extends LitElement {
1049
1049
  }
1050
1050
  };
1051
1051
 
1052
- var formkitVersion$1 = '202606222021';
1052
+ var formkitVersion$1 = '202606231948';
1053
1053
 
1054
1054
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
1055
1055
  // See LICENSE in the project root for license information.
@@ -5377,7 +5377,7 @@ class AuroHelpText extends LitElement {
5377
5377
  }
5378
5378
  }
5379
5379
 
5380
- var formkitVersion = '202606222021';
5380
+ var formkitVersion = '202606231948';
5381
5381
 
5382
5382
  let AuroElement$1 = class AuroElement extends LitElement {
5383
5383
  static get properties() {
@@ -6328,6 +6328,14 @@ class AuroDropdown extends AuroElement$1 {
6328
6328
  };
6329
6329
  this.addEventListener('keydown', this._bibTabHandler);
6330
6330
 
6331
+ // Suppress AuroFloatingUI's auto-hide-on-focus-loss while the
6332
+ // desktopModal trap owns focus management. Without this, the very
6333
+ // first focus move into the bib (from the RAF below) triggers
6334
+ // handleFocusLoss → hideBib, tearing down the trap before the
6335
+ // user can press Tab.
6336
+ this._priorNoHideOnFocusLoss = this.noHideOnThisFocusLoss;
6337
+ this.noHideOnThisFocusLoss = true;
6338
+
6331
6339
  // Move initial focus into the bib content, matching FocusTrap behavior
6332
6340
  requestAnimationFrame(() => {
6333
6341
  const focusables = getFocusableElements(this.bibContent);