@aurodesignsystem-dev/auro-formkit 0.0.0-pr1554.27 → 0.0.0-pr1554.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 (45) 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 +23 -43
  7. package/components/combobox/demo/getting-started.min.js +23 -43
  8. package/components/combobox/demo/index.min.js +23 -43
  9. package/components/combobox/dist/index.js +23 -43
  10. package/components/combobox/dist/registered.js +23 -43
  11. package/components/counter/demo/customize.min.js +14 -24
  12. package/components/counter/demo/index.min.js +14 -24
  13. package/components/counter/dist/index.js +14 -24
  14. package/components/counter/dist/registered.js +14 -24
  15. package/components/datepicker/demo/customize.min.js +21 -39
  16. package/components/datepicker/demo/index.min.js +21 -39
  17. package/components/datepicker/dist/index.js +21 -39
  18. package/components/datepicker/dist/registered.js +21 -39
  19. package/components/dropdown/demo/customize.min.js +13 -23
  20. package/components/dropdown/demo/getting-started.min.js +13 -23
  21. package/components/dropdown/demo/index.min.js +13 -23
  22. package/components/dropdown/dist/auro-dropdown.d.ts +0 -8
  23. package/components/dropdown/dist/index.js +13 -23
  24. package/components/dropdown/dist/registered.js +13 -23
  25. package/components/form/demo/customize.min.js +81 -147
  26. package/components/form/demo/getting-started.min.js +81 -147
  27. package/components/form/demo/index.min.js +81 -147
  28. package/components/form/demo/registerDemoDeps.min.js +81 -147
  29. package/components/input/demo/customize.min.js +7 -15
  30. package/components/input/demo/getting-started.min.js +7 -15
  31. package/components/input/demo/index.min.js +7 -15
  32. package/components/input/dist/index.js +7 -15
  33. package/components/input/dist/registered.js +7 -15
  34. package/components/radio/demo/customize.min.js +1 -1
  35. package/components/radio/demo/getting-started.min.js +1 -1
  36. package/components/radio/demo/index.min.js +1 -1
  37. package/components/radio/dist/index.js +1 -1
  38. package/components/radio/dist/registered.js +1 -1
  39. package/components/select/demo/customize.min.js +14 -24
  40. package/components/select/demo/getting-started.min.js +14 -24
  41. package/components/select/demo/index.min.js +14 -24
  42. package/components/select/dist/index.js +14 -24
  43. package/components/select/dist/registered.js +14 -24
  44. package/custom-elements.json +0 -10
  45. package/package.json +1 -1
@@ -1275,7 +1275,7 @@ class AuroHelpText extends i$2 {
1275
1275
  }
1276
1276
  }
1277
1277
 
1278
- var formkitVersion = '202607161850';
1278
+ var formkitVersion = '202607160557';
1279
1279
 
1280
1280
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
1281
1281
  // See LICENSE in the project root for license information.
@@ -1275,7 +1275,7 @@ class AuroHelpText extends i$2 {
1275
1275
  }
1276
1276
  }
1277
1277
 
1278
- var formkitVersion = '202607161850';
1278
+ var formkitVersion = '202607160557';
1279
1279
 
1280
1280
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
1281
1281
  // See LICENSE in the project root for license information.
@@ -1275,7 +1275,7 @@ class AuroHelpText extends i$2 {
1275
1275
  }
1276
1276
  }
1277
1277
 
1278
- var formkitVersion = '202607161850';
1278
+ var formkitVersion = '202607160557';
1279
1279
 
1280
1280
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
1281
1281
  // See LICENSE in the project root for license information.
@@ -1228,7 +1228,7 @@ class AuroHelpText extends LitElement {
1228
1228
  }
1229
1229
  }
1230
1230
 
1231
- var formkitVersion = '202607161850';
1231
+ var formkitVersion = '202607160557';
1232
1232
 
1233
1233
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
1234
1234
  // See LICENSE in the project root for license information.
@@ -1228,7 +1228,7 @@ class AuroHelpText extends LitElement {
1228
1228
  }
1229
1229
  }
1230
1230
 
1231
- var formkitVersion = '202607161850';
1231
+ var formkitVersion = '202607160557';
1232
1232
 
1233
1233
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
1234
1234
  // See LICENSE in the project root for license information.
@@ -4971,7 +4971,7 @@ let AuroHelpText$2 = class AuroHelpText extends i$3 {
4971
4971
  }
4972
4972
  };
4973
4973
 
4974
- var formkitVersion$2 = '202607161850';
4974
+ var formkitVersion$2 = '202607160557';
4975
4975
 
4976
4976
  let AuroElement$2 = class AuroElement extends i$3 {
4977
4977
  static get properties() {
@@ -5111,15 +5111,6 @@ class AuroDropdown extends AuroElement$2 {
5111
5111
  this.matchWidth = false;
5112
5112
  this.noHideOnThisFocusLoss = false;
5113
5113
 
5114
- /**
5115
- * When true, the dropdown skips its generic focus restoration on close.
5116
- * Set by consumers (e.g. combobox) that manage their own focus routing
5117
- * via setClearBtnFocus / setInputFocus / keyboard strategy.
5118
- * Separate from noHideOnThisFocusLoss (which controls auto-close behavior).
5119
- * @private
5120
- */
5121
- this.noFocusRestoreOnClose = false;
5122
-
5123
5114
  this.errorMessage = undefined; // TODO - check with Doug if there is still more to do here
5124
5115
 
5125
5116
  // Layout Config
@@ -5298,19 +5289,18 @@ class AuroDropdown extends AuroElement$2 {
5298
5289
  if (el.hasAttribute('disabled')) {
5299
5290
  continue;
5300
5291
  }
5301
- // Try finding a focusable descendant first (handles non-focusable
5302
- // wrappers like <div> containing a <button>). If none found, try
5303
- // focusing the element directly (works for custom elements like
5304
- // auro-input that have delegatesFocus or a custom focus() method).
5305
- const descendants = getFocusableElements(el);
5306
- if (descendants.length > 0) {
5307
- descendants[0].focus();
5292
+ // Try focusing the assigned element directly (works for focusable
5293
+ // components like auro-input that have delegatesFocus or a custom
5294
+ // focus() method). If it's a non-focusable wrapper (e.g. <div>
5295
+ // containing a <button>), find the first focusable descendant.
5296
+ const focusables = getFocusableElements(el);
5297
+ if (focusables.length > 0) {
5298
+ focusables[0].focus();
5308
5299
  return;
5309
5300
  }
5301
+ // Element itself might be focusable (custom element with focus())
5310
5302
  el.focus();
5311
- if (document.activeElement === el) {
5312
- return;
5313
- }
5303
+ return;
5314
5304
  }
5315
5305
  }
5316
5306
  // Fallback: try DOM children (non-slotted content)
@@ -5770,7 +5760,7 @@ class AuroDropdown extends AuroElement$2 {
5770
5760
  }
5771
5761
 
5772
5762
  const eventType = event.detail.eventType || "unknown";
5773
- if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown" && !this.noFocusRestoreOnClose) {
5763
+ if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown") {
5774
5764
  this.focusTrigger();
5775
5765
  }
5776
5766
 
@@ -5778,9 +5768,9 @@ class AuroDropdown extends AuroElement$2 {
5778
5768
  // On Tab-driven close (eventType "focusloss"), let focus advance naturally
5779
5769
  // — restoring to the trigger would trap the user on this dropdown, forcing
5780
5770
  // an extra Tab to move on. Escape and outside-click still restore.
5781
- // When noFocusRestoreOnClose is true, the consumer (e.g. combobox) manages
5771
+ // When noHideOnThisFocusLoss is true, the consumer (e.g. combobox) manages
5782
5772
  // its own focus restoration — skip the generic trigger focus to avoid races.
5783
- if (!this.isPopoverVisible && eventType !== "focusloss" && !this.noFocusRestoreOnClose) {
5773
+ if (!this.isPopoverVisible && eventType !== "focusloss" && !this.noHideOnThisFocusLoss) {
5784
5774
  // wait til the bib gets fully closed and rendered
5785
5775
  setTimeout(() => {
5786
5776
  // Skip if the bib re-opened, or if focus moved intentionally outside the dropdown (not to body).
@@ -18653,7 +18643,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$3 {
18653
18643
  }
18654
18644
  };
18655
18645
 
18656
- var formkitVersion$1 = '202607161850';
18646
+ var formkitVersion$1 = '202607160557';
18657
18647
 
18658
18648
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
18659
18649
  // See LICENSE in the project root for license information.
@@ -18946,16 +18936,12 @@ class AuroInput extends BaseInput {
18946
18936
  // before firstUpdated (e.g. from auro-combobox during mount).
18947
18937
  // Check for any element (including custom elements like <auro-icon>
18948
18938
  // that render via shadow DOM with no text content).
18949
- const lightDomNodes = Array.from(this.querySelectorAll('[slot="displayValue"]:not(slot)'));
18950
- const hasContent = lightDomNodes.some((node) => (
18951
- node.textContent.trim().length > 0 ||
18952
- node.children.length > 0 ||
18953
- node.shadowRoot !== null
18939
+ const lightDomContent = this.querySelector('[slot="displayValue"]:not(slot)');
18940
+ this.hasDisplayValueContent = Boolean(lightDomContent && (
18941
+ lightDomContent.textContent.trim().length > 0 ||
18942
+ lightDomContent.children.length > 0 ||
18943
+ lightDomContent.shadowRoot !== null
18954
18944
  ));
18955
- if (this.hasDisplayValueContent !== hasContent) {
18956
- this.hasDisplayValueContent = hasContent;
18957
- this.requestUpdate();
18958
- }
18959
18945
  return;
18960
18946
  }
18961
18947
  const nodes = slot.assignedNodes({ flatten: true });
@@ -18968,7 +18954,7 @@ class AuroInput extends BaseInput {
18968
18954
  // being visible on preset/deeplink load.
18969
18955
  // Custom elements (e.g. <auro-icon>) that render via shadow DOM are
18970
18956
  // treated as content even when they have no text or light-DOM children.
18971
- const hasContent = nodes.some((node) => {
18957
+ this.hasDisplayValueContent = nodes.some((node) => {
18972
18958
  if (node.nodeType === Node.TEXT_NODE) {
18973
18959
  return node.textContent.trim().length > 0;
18974
18960
  }
@@ -18979,10 +18965,6 @@ class AuroInput extends BaseInput {
18979
18965
  }
18980
18966
  return false;
18981
18967
  });
18982
- if (this.hasDisplayValueContent !== hasContent) {
18983
- this.hasDisplayValueContent = hasContent;
18984
- this.requestUpdate();
18985
- }
18986
18968
  }
18987
18969
 
18988
18970
  firstUpdated() {
@@ -19809,7 +19791,7 @@ class AuroBibtemplate extends i$3 {
19809
19791
  }
19810
19792
  }
19811
19793
 
19812
- var formkitVersion = '202607161850';
19794
+ var formkitVersion = '202607160557';
19813
19795
 
19814
19796
  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}`;
19815
19797
 
@@ -20854,6 +20836,7 @@ class AuroCombobox extends AuroElement {
20854
20836
  // hidden when input.value is set in the same tick as the append.
20855
20837
  if (typeof this.input.checkDisplayValueSlotChange === 'function') {
20856
20838
  this.input.checkDisplayValueSlotChange();
20839
+ this.input.requestUpdate();
20857
20840
  }
20858
20841
  } else if (this.value) {
20859
20842
  // No optionSelected yet (e.g. setMenuValue was called but the menu's
@@ -20874,6 +20857,7 @@ class AuroCombobox extends AuroElement {
20874
20857
  this.input.appendChild(syntheticDV);
20875
20858
  if (typeof this.input.checkDisplayValueSlotChange === 'function') {
20876
20859
  this.input.checkDisplayValueSlotChange();
20860
+ this.input.requestUpdate();
20877
20861
  }
20878
20862
  }
20879
20863
 
@@ -21046,10 +21030,6 @@ class AuroCombobox extends AuroElement {
21046
21030
  // from combobox's light DOM and won't be detected by dropdown's contains() check.
21047
21031
  this.dropdown.noHideOnThisFocusLoss = true;
21048
21032
 
21049
- // Suppress the dropdown's generic focus restoration on close — the combobox
21050
- // manages its own focus via setClearBtnFocus / setInputFocus / keyboard strategy.
21051
- this.dropdown.noFocusRestoreOnClose = true;
21052
-
21053
21033
  // Listen for the ID to be added to the dropdown so we can capture it and use it for accessibility.
21054
21034
  this.dropdown.addEventListener('auroDropdown-idAdded', (event) => {
21055
21035
  this.dropdownId = event.detail.id;
@@ -4971,7 +4971,7 @@ let AuroHelpText$2 = class AuroHelpText extends i$3 {
4971
4971
  }
4972
4972
  };
4973
4973
 
4974
- var formkitVersion$2 = '202607161850';
4974
+ var formkitVersion$2 = '202607160557';
4975
4975
 
4976
4976
  let AuroElement$2 = class AuroElement extends i$3 {
4977
4977
  static get properties() {
@@ -5111,15 +5111,6 @@ class AuroDropdown extends AuroElement$2 {
5111
5111
  this.matchWidth = false;
5112
5112
  this.noHideOnThisFocusLoss = false;
5113
5113
 
5114
- /**
5115
- * When true, the dropdown skips its generic focus restoration on close.
5116
- * Set by consumers (e.g. combobox) that manage their own focus routing
5117
- * via setClearBtnFocus / setInputFocus / keyboard strategy.
5118
- * Separate from noHideOnThisFocusLoss (which controls auto-close behavior).
5119
- * @private
5120
- */
5121
- this.noFocusRestoreOnClose = false;
5122
-
5123
5114
  this.errorMessage = undefined; // TODO - check with Doug if there is still more to do here
5124
5115
 
5125
5116
  // Layout Config
@@ -5298,19 +5289,18 @@ class AuroDropdown extends AuroElement$2 {
5298
5289
  if (el.hasAttribute('disabled')) {
5299
5290
  continue;
5300
5291
  }
5301
- // Try finding a focusable descendant first (handles non-focusable
5302
- // wrappers like <div> containing a <button>). If none found, try
5303
- // focusing the element directly (works for custom elements like
5304
- // auro-input that have delegatesFocus or a custom focus() method).
5305
- const descendants = getFocusableElements(el);
5306
- if (descendants.length > 0) {
5307
- descendants[0].focus();
5292
+ // Try focusing the assigned element directly (works for focusable
5293
+ // components like auro-input that have delegatesFocus or a custom
5294
+ // focus() method). If it's a non-focusable wrapper (e.g. <div>
5295
+ // containing a <button>), find the first focusable descendant.
5296
+ const focusables = getFocusableElements(el);
5297
+ if (focusables.length > 0) {
5298
+ focusables[0].focus();
5308
5299
  return;
5309
5300
  }
5301
+ // Element itself might be focusable (custom element with focus())
5310
5302
  el.focus();
5311
- if (document.activeElement === el) {
5312
- return;
5313
- }
5303
+ return;
5314
5304
  }
5315
5305
  }
5316
5306
  // Fallback: try DOM children (non-slotted content)
@@ -5770,7 +5760,7 @@ class AuroDropdown extends AuroElement$2 {
5770
5760
  }
5771
5761
 
5772
5762
  const eventType = event.detail.eventType || "unknown";
5773
- if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown" && !this.noFocusRestoreOnClose) {
5763
+ if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown") {
5774
5764
  this.focusTrigger();
5775
5765
  }
5776
5766
 
@@ -5778,9 +5768,9 @@ class AuroDropdown extends AuroElement$2 {
5778
5768
  // On Tab-driven close (eventType "focusloss"), let focus advance naturally
5779
5769
  // — restoring to the trigger would trap the user on this dropdown, forcing
5780
5770
  // an extra Tab to move on. Escape and outside-click still restore.
5781
- // When noFocusRestoreOnClose is true, the consumer (e.g. combobox) manages
5771
+ // When noHideOnThisFocusLoss is true, the consumer (e.g. combobox) manages
5782
5772
  // its own focus restoration — skip the generic trigger focus to avoid races.
5783
- if (!this.isPopoverVisible && eventType !== "focusloss" && !this.noFocusRestoreOnClose) {
5773
+ if (!this.isPopoverVisible && eventType !== "focusloss" && !this.noHideOnThisFocusLoss) {
5784
5774
  // wait til the bib gets fully closed and rendered
5785
5775
  setTimeout(() => {
5786
5776
  // Skip if the bib re-opened, or if focus moved intentionally outside the dropdown (not to body).
@@ -18653,7 +18643,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$3 {
18653
18643
  }
18654
18644
  };
18655
18645
 
18656
- var formkitVersion$1 = '202607161850';
18646
+ var formkitVersion$1 = '202607160557';
18657
18647
 
18658
18648
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
18659
18649
  // See LICENSE in the project root for license information.
@@ -18946,16 +18936,12 @@ class AuroInput extends BaseInput {
18946
18936
  // before firstUpdated (e.g. from auro-combobox during mount).
18947
18937
  // Check for any element (including custom elements like <auro-icon>
18948
18938
  // that render via shadow DOM with no text content).
18949
- const lightDomNodes = Array.from(this.querySelectorAll('[slot="displayValue"]:not(slot)'));
18950
- const hasContent = lightDomNodes.some((node) => (
18951
- node.textContent.trim().length > 0 ||
18952
- node.children.length > 0 ||
18953
- node.shadowRoot !== null
18939
+ const lightDomContent = this.querySelector('[slot="displayValue"]:not(slot)');
18940
+ this.hasDisplayValueContent = Boolean(lightDomContent && (
18941
+ lightDomContent.textContent.trim().length > 0 ||
18942
+ lightDomContent.children.length > 0 ||
18943
+ lightDomContent.shadowRoot !== null
18954
18944
  ));
18955
- if (this.hasDisplayValueContent !== hasContent) {
18956
- this.hasDisplayValueContent = hasContent;
18957
- this.requestUpdate();
18958
- }
18959
18945
  return;
18960
18946
  }
18961
18947
  const nodes = slot.assignedNodes({ flatten: true });
@@ -18968,7 +18954,7 @@ class AuroInput extends BaseInput {
18968
18954
  // being visible on preset/deeplink load.
18969
18955
  // Custom elements (e.g. <auro-icon>) that render via shadow DOM are
18970
18956
  // treated as content even when they have no text or light-DOM children.
18971
- const hasContent = nodes.some((node) => {
18957
+ this.hasDisplayValueContent = nodes.some((node) => {
18972
18958
  if (node.nodeType === Node.TEXT_NODE) {
18973
18959
  return node.textContent.trim().length > 0;
18974
18960
  }
@@ -18979,10 +18965,6 @@ class AuroInput extends BaseInput {
18979
18965
  }
18980
18966
  return false;
18981
18967
  });
18982
- if (this.hasDisplayValueContent !== hasContent) {
18983
- this.hasDisplayValueContent = hasContent;
18984
- this.requestUpdate();
18985
- }
18986
18968
  }
18987
18969
 
18988
18970
  firstUpdated() {
@@ -19809,7 +19791,7 @@ class AuroBibtemplate extends i$3 {
19809
19791
  }
19810
19792
  }
19811
19793
 
19812
- var formkitVersion = '202607161850';
19794
+ var formkitVersion = '202607160557';
19813
19795
 
19814
19796
  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}`;
19815
19797
 
@@ -20854,6 +20836,7 @@ class AuroCombobox extends AuroElement {
20854
20836
  // hidden when input.value is set in the same tick as the append.
20855
20837
  if (typeof this.input.checkDisplayValueSlotChange === 'function') {
20856
20838
  this.input.checkDisplayValueSlotChange();
20839
+ this.input.requestUpdate();
20857
20840
  }
20858
20841
  } else if (this.value) {
20859
20842
  // No optionSelected yet (e.g. setMenuValue was called but the menu's
@@ -20874,6 +20857,7 @@ class AuroCombobox extends AuroElement {
20874
20857
  this.input.appendChild(syntheticDV);
20875
20858
  if (typeof this.input.checkDisplayValueSlotChange === 'function') {
20876
20859
  this.input.checkDisplayValueSlotChange();
20860
+ this.input.requestUpdate();
20877
20861
  }
20878
20862
  }
20879
20863
 
@@ -21046,10 +21030,6 @@ class AuroCombobox extends AuroElement {
21046
21030
  // from combobox's light DOM and won't be detected by dropdown's contains() check.
21047
21031
  this.dropdown.noHideOnThisFocusLoss = true;
21048
21032
 
21049
- // Suppress the dropdown's generic focus restoration on close — the combobox
21050
- // manages its own focus via setClearBtnFocus / setInputFocus / keyboard strategy.
21051
- this.dropdown.noFocusRestoreOnClose = true;
21052
-
21053
21033
  // Listen for the ID to be added to the dropdown so we can capture it and use it for accessibility.
21054
21034
  this.dropdown.addEventListener('auroDropdown-idAdded', (event) => {
21055
21035
  this.dropdownId = event.detail.id;
@@ -4986,7 +4986,7 @@ let AuroHelpText$2 = class AuroHelpText extends i$3 {
4986
4986
  }
4987
4987
  };
4988
4988
 
4989
- var formkitVersion$2 = '202607161850';
4989
+ var formkitVersion$2 = '202607160557';
4990
4990
 
4991
4991
  let AuroElement$2 = class AuroElement extends i$3 {
4992
4992
  static get properties() {
@@ -5126,15 +5126,6 @@ class AuroDropdown extends AuroElement$2 {
5126
5126
  this.matchWidth = false;
5127
5127
  this.noHideOnThisFocusLoss = false;
5128
5128
 
5129
- /**
5130
- * When true, the dropdown skips its generic focus restoration on close.
5131
- * Set by consumers (e.g. combobox) that manage their own focus routing
5132
- * via setClearBtnFocus / setInputFocus / keyboard strategy.
5133
- * Separate from noHideOnThisFocusLoss (which controls auto-close behavior).
5134
- * @private
5135
- */
5136
- this.noFocusRestoreOnClose = false;
5137
-
5138
5129
  this.errorMessage = undefined; // TODO - check with Doug if there is still more to do here
5139
5130
 
5140
5131
  // Layout Config
@@ -5313,19 +5304,18 @@ class AuroDropdown extends AuroElement$2 {
5313
5304
  if (el.hasAttribute('disabled')) {
5314
5305
  continue;
5315
5306
  }
5316
- // Try finding a focusable descendant first (handles non-focusable
5317
- // wrappers like <div> containing a <button>). If none found, try
5318
- // focusing the element directly (works for custom elements like
5319
- // auro-input that have delegatesFocus or a custom focus() method).
5320
- const descendants = getFocusableElements(el);
5321
- if (descendants.length > 0) {
5322
- descendants[0].focus();
5307
+ // Try focusing the assigned element directly (works for focusable
5308
+ // components like auro-input that have delegatesFocus or a custom
5309
+ // focus() method). If it's a non-focusable wrapper (e.g. <div>
5310
+ // containing a <button>), find the first focusable descendant.
5311
+ const focusables = getFocusableElements(el);
5312
+ if (focusables.length > 0) {
5313
+ focusables[0].focus();
5323
5314
  return;
5324
5315
  }
5316
+ // Element itself might be focusable (custom element with focus())
5325
5317
  el.focus();
5326
- if (document.activeElement === el) {
5327
- return;
5328
- }
5318
+ return;
5329
5319
  }
5330
5320
  }
5331
5321
  // Fallback: try DOM children (non-slotted content)
@@ -5785,7 +5775,7 @@ class AuroDropdown extends AuroElement$2 {
5785
5775
  }
5786
5776
 
5787
5777
  const eventType = event.detail.eventType || "unknown";
5788
- if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown" && !this.noFocusRestoreOnClose) {
5778
+ if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown") {
5789
5779
  this.focusTrigger();
5790
5780
  }
5791
5781
 
@@ -5793,9 +5783,9 @@ class AuroDropdown extends AuroElement$2 {
5793
5783
  // On Tab-driven close (eventType "focusloss"), let focus advance naturally
5794
5784
  // — restoring to the trigger would trap the user on this dropdown, forcing
5795
5785
  // an extra Tab to move on. Escape and outside-click still restore.
5796
- // When noFocusRestoreOnClose is true, the consumer (e.g. combobox) manages
5786
+ // When noHideOnThisFocusLoss is true, the consumer (e.g. combobox) manages
5797
5787
  // its own focus restoration — skip the generic trigger focus to avoid races.
5798
- if (!this.isPopoverVisible && eventType !== "focusloss" && !this.noFocusRestoreOnClose) {
5788
+ if (!this.isPopoverVisible && eventType !== "focusloss" && !this.noHideOnThisFocusLoss) {
5799
5789
  // wait til the bib gets fully closed and rendered
5800
5790
  setTimeout(() => {
5801
5791
  // Skip if the bib re-opened, or if focus moved intentionally outside the dropdown (not to body).
@@ -18668,7 +18658,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$3 {
18668
18658
  }
18669
18659
  };
18670
18660
 
18671
- var formkitVersion$1 = '202607161850';
18661
+ var formkitVersion$1 = '202607160557';
18672
18662
 
18673
18663
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
18674
18664
  // See LICENSE in the project root for license information.
@@ -18961,16 +18951,12 @@ class AuroInput extends BaseInput {
18961
18951
  // before firstUpdated (e.g. from auro-combobox during mount).
18962
18952
  // Check for any element (including custom elements like <auro-icon>
18963
18953
  // that render via shadow DOM with no text content).
18964
- const lightDomNodes = Array.from(this.querySelectorAll('[slot="displayValue"]:not(slot)'));
18965
- const hasContent = lightDomNodes.some((node) => (
18966
- node.textContent.trim().length > 0 ||
18967
- node.children.length > 0 ||
18968
- node.shadowRoot !== null
18954
+ const lightDomContent = this.querySelector('[slot="displayValue"]:not(slot)');
18955
+ this.hasDisplayValueContent = Boolean(lightDomContent && (
18956
+ lightDomContent.textContent.trim().length > 0 ||
18957
+ lightDomContent.children.length > 0 ||
18958
+ lightDomContent.shadowRoot !== null
18969
18959
  ));
18970
- if (this.hasDisplayValueContent !== hasContent) {
18971
- this.hasDisplayValueContent = hasContent;
18972
- this.requestUpdate();
18973
- }
18974
18960
  return;
18975
18961
  }
18976
18962
  const nodes = slot.assignedNodes({ flatten: true });
@@ -18983,7 +18969,7 @@ class AuroInput extends BaseInput {
18983
18969
  // being visible on preset/deeplink load.
18984
18970
  // Custom elements (e.g. <auro-icon>) that render via shadow DOM are
18985
18971
  // treated as content even when they have no text or light-DOM children.
18986
- const hasContent = nodes.some((node) => {
18972
+ this.hasDisplayValueContent = nodes.some((node) => {
18987
18973
  if (node.nodeType === Node.TEXT_NODE) {
18988
18974
  return node.textContent.trim().length > 0;
18989
18975
  }
@@ -18994,10 +18980,6 @@ class AuroInput extends BaseInput {
18994
18980
  }
18995
18981
  return false;
18996
18982
  });
18997
- if (this.hasDisplayValueContent !== hasContent) {
18998
- this.hasDisplayValueContent = hasContent;
18999
- this.requestUpdate();
19000
- }
19001
18983
  }
19002
18984
 
19003
18985
  firstUpdated() {
@@ -19824,7 +19806,7 @@ class AuroBibtemplate extends i$3 {
19824
19806
  }
19825
19807
  }
19826
19808
 
19827
- var formkitVersion = '202607161850';
19809
+ var formkitVersion = '202607160557';
19828
19810
 
19829
19811
  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}`;
19830
19812
 
@@ -20869,6 +20851,7 @@ class AuroCombobox extends AuroElement {
20869
20851
  // hidden when input.value is set in the same tick as the append.
20870
20852
  if (typeof this.input.checkDisplayValueSlotChange === 'function') {
20871
20853
  this.input.checkDisplayValueSlotChange();
20854
+ this.input.requestUpdate();
20872
20855
  }
20873
20856
  } else if (this.value) {
20874
20857
  // No optionSelected yet (e.g. setMenuValue was called but the menu's
@@ -20889,6 +20872,7 @@ class AuroCombobox extends AuroElement {
20889
20872
  this.input.appendChild(syntheticDV);
20890
20873
  if (typeof this.input.checkDisplayValueSlotChange === 'function') {
20891
20874
  this.input.checkDisplayValueSlotChange();
20875
+ this.input.requestUpdate();
20892
20876
  }
20893
20877
  }
20894
20878
 
@@ -21061,10 +21045,6 @@ class AuroCombobox extends AuroElement {
21061
21045
  // from combobox's light DOM and won't be detected by dropdown's contains() check.
21062
21046
  this.dropdown.noHideOnThisFocusLoss = true;
21063
21047
 
21064
- // Suppress the dropdown's generic focus restoration on close — the combobox
21065
- // manages its own focus via setClearBtnFocus / setInputFocus / keyboard strategy.
21066
- this.dropdown.noFocusRestoreOnClose = true;
21067
-
21068
21048
  // Listen for the ID to be added to the dropdown so we can capture it and use it for accessibility.
21069
21049
  this.dropdown.addEventListener('auroDropdown-idAdded', (event) => {
21070
21050
  this.dropdownId = event.detail.id;