@aurodesignsystem-dev/auro-formkit 0.0.0-pr1554.27 → 0.0.0-pr1554.3

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 +16 -58
  7. package/components/combobox/demo/getting-started.min.js +16 -58
  8. package/components/combobox/demo/index.min.js +16 -58
  9. package/components/combobox/dist/index.js +16 -58
  10. package/components/combobox/dist/registered.js +16 -58
  11. package/components/counter/demo/customize.min.js +9 -31
  12. package/components/counter/demo/index.min.js +9 -31
  13. package/components/counter/dist/index.js +9 -31
  14. package/components/counter/dist/registered.js +9 -31
  15. package/components/datepicker/demo/customize.min.js +14 -54
  16. package/components/datepicker/demo/index.min.js +14 -54
  17. package/components/datepicker/dist/index.js +14 -54
  18. package/components/datepicker/dist/registered.js +14 -54
  19. package/components/dropdown/demo/customize.min.js +8 -30
  20. package/components/dropdown/demo/getting-started.min.js +8 -30
  21. package/components/dropdown/demo/index.min.js +8 -30
  22. package/components/dropdown/dist/auro-dropdown.d.ts +0 -8
  23. package/components/dropdown/dist/index.js +8 -30
  24. package/components/dropdown/dist/registered.js +8 -30
  25. package/components/form/demo/customize.min.js +55 -199
  26. package/components/form/demo/getting-started.min.js +55 -199
  27. package/components/form/demo/index.min.js +55 -199
  28. package/components/form/demo/registerDemoDeps.min.js +55 -199
  29. package/components/input/demo/customize.min.js +5 -23
  30. package/components/input/demo/getting-started.min.js +5 -23
  31. package/components/input/demo/index.min.js +5 -23
  32. package/components/input/dist/index.js +5 -23
  33. package/components/input/dist/registered.js +5 -23
  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 +9 -31
  40. package/components/select/demo/getting-started.min.js +9 -31
  41. package/components/select/demo/index.min.js +9 -31
  42. package/components/select/dist/index.js +9 -31
  43. package/components/select/dist/registered.js +9 -31
  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 = '202607160513';
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 = '202607160513';
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 = '202607160513';
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 = '202607160513';
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 = '202607160513';
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 = '202607160513';
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
@@ -5294,23 +5285,10 @@ class AuroDropdown extends AuroElement$2 {
5294
5285
  const slot = this.trigger.querySelector('slot[name="trigger"]');
5295
5286
  if (slot) {
5296
5287
  const assigned = slot.assignedElements();
5297
- for (const el of assigned) {
5298
- if (el.hasAttribute('disabled')) {
5299
- continue;
5300
- }
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();
5308
- return;
5309
- }
5310
- el.focus();
5311
- if (document.activeElement === el) {
5312
- return;
5313
- }
5288
+ const focusable = assigned.find((el) => !el.hasAttribute('disabled'));
5289
+ if (focusable) {
5290
+ focusable.focus();
5291
+ return;
5314
5292
  }
5315
5293
  }
5316
5294
  // Fallback: try DOM children (non-slotted content)
@@ -5770,7 +5748,7 @@ class AuroDropdown extends AuroElement$2 {
5770
5748
  }
5771
5749
 
5772
5750
  const eventType = event.detail.eventType || "unknown";
5773
- if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown" && !this.noFocusRestoreOnClose) {
5751
+ if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown") {
5774
5752
  this.focusTrigger();
5775
5753
  }
5776
5754
 
@@ -5778,9 +5756,9 @@ class AuroDropdown extends AuroElement$2 {
5778
5756
  // On Tab-driven close (eventType "focusloss"), let focus advance naturally
5779
5757
  // — restoring to the trigger would trap the user on this dropdown, forcing
5780
5758
  // an extra Tab to move on. Escape and outside-click still restore.
5781
- // When noFocusRestoreOnClose is true, the consumer (e.g. combobox) manages
5759
+ // When noHideOnThisFocusLoss is true, the consumer (e.g. combobox) manages
5782
5760
  // its own focus restoration — skip the generic trigger focus to avoid races.
5783
- if (!this.isPopoverVisible && eventType !== "focusloss" && !this.noFocusRestoreOnClose) {
5761
+ if (!this.isPopoverVisible && eventType !== "focusloss" && !this.noHideOnThisFocusLoss) {
5784
5762
  // wait til the bib gets fully closed and rendered
5785
5763
  setTimeout(() => {
5786
5764
  // Skip if the bib re-opened, or if focus moved intentionally outside the dropdown (not to body).
@@ -18653,7 +18631,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$3 {
18653
18631
  }
18654
18632
  };
18655
18633
 
18656
- var formkitVersion$1 = '202607161850';
18634
+ var formkitVersion$1 = '202607160513';
18657
18635
 
18658
18636
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
18659
18637
  // See LICENSE in the project root for license information.
@@ -18944,18 +18922,8 @@ class AuroInput extends BaseInput {
18944
18922
  // Shadow slot not yet rendered — fall back to checking light-DOM
18945
18923
  // children so hasDisplayValueContent isn't stuck false when called
18946
18924
  // before firstUpdated (e.g. from auro-combobox during mount).
18947
- // Check for any element (including custom elements like <auro-icon>
18948
- // 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
18954
- ));
18955
- if (this.hasDisplayValueContent !== hasContent) {
18956
- this.hasDisplayValueContent = hasContent;
18957
- this.requestUpdate();
18958
- }
18925
+ const lightDomContent = this.querySelector('[slot="displayValue"]:not(slot)');
18926
+ this.hasDisplayValueContent = Boolean(lightDomContent && lightDomContent.textContent.trim().length > 0);
18959
18927
  return;
18960
18928
  }
18961
18929
  const nodes = slot.assignedNodes({ flatten: true });
@@ -18966,23 +18934,15 @@ class AuroInput extends BaseInput {
18966
18934
  // displayValue wrapper to render (with hasContent class) but show
18967
18935
  // nothing, blocking the combobox's synthetic displayValue from
18968
18936
  // being visible on preset/deeplink load.
18969
- // Custom elements (e.g. <auro-icon>) that render via shadow DOM are
18970
- // treated as content even when they have no text or light-DOM children.
18971
- const hasContent = nodes.some((node) => {
18937
+ this.hasDisplayValueContent = nodes.some((node) => {
18972
18938
  if (node.nodeType === Node.TEXT_NODE) {
18973
18939
  return node.textContent.trim().length > 0;
18974
18940
  }
18975
18941
  if (node.nodeType === Node.ELEMENT_NODE) {
18976
- return node.textContent.trim().length > 0 ||
18977
- node.children.length > 0 ||
18978
- node.shadowRoot !== null;
18942
+ return node.textContent.trim().length > 0 || node.children.length > 0;
18979
18943
  }
18980
18944
  return false;
18981
18945
  });
18982
- if (this.hasDisplayValueContent !== hasContent) {
18983
- this.hasDisplayValueContent = hasContent;
18984
- this.requestUpdate();
18985
- }
18986
18946
  }
18987
18947
 
18988
18948
  firstUpdated() {
@@ -19809,7 +19769,7 @@ class AuroBibtemplate extends i$3 {
19809
19769
  }
19810
19770
  }
19811
19771
 
19812
- var formkitVersion = '202607161850';
19772
+ var formkitVersion = '202607160513';
19813
19773
 
19814
19774
  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
19775
 
@@ -20854,6 +20814,7 @@ class AuroCombobox extends AuroElement {
20854
20814
  // hidden when input.value is set in the same tick as the append.
20855
20815
  if (typeof this.input.checkDisplayValueSlotChange === 'function') {
20856
20816
  this.input.checkDisplayValueSlotChange();
20817
+ this.input.requestUpdate();
20857
20818
  }
20858
20819
  } else if (this.value) {
20859
20820
  // No optionSelected yet (e.g. setMenuValue was called but the menu's
@@ -20874,6 +20835,7 @@ class AuroCombobox extends AuroElement {
20874
20835
  this.input.appendChild(syntheticDV);
20875
20836
  if (typeof this.input.checkDisplayValueSlotChange === 'function') {
20876
20837
  this.input.checkDisplayValueSlotChange();
20838
+ this.input.requestUpdate();
20877
20839
  }
20878
20840
  }
20879
20841
 
@@ -21046,10 +21008,6 @@ class AuroCombobox extends AuroElement {
21046
21008
  // from combobox's light DOM and won't be detected by dropdown's contains() check.
21047
21009
  this.dropdown.noHideOnThisFocusLoss = true;
21048
21010
 
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
21011
  // Listen for the ID to be added to the dropdown so we can capture it and use it for accessibility.
21054
21012
  this.dropdown.addEventListener('auroDropdown-idAdded', (event) => {
21055
21013
  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 = '202607160513';
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
@@ -5294,23 +5285,10 @@ class AuroDropdown extends AuroElement$2 {
5294
5285
  const slot = this.trigger.querySelector('slot[name="trigger"]');
5295
5286
  if (slot) {
5296
5287
  const assigned = slot.assignedElements();
5297
- for (const el of assigned) {
5298
- if (el.hasAttribute('disabled')) {
5299
- continue;
5300
- }
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();
5308
- return;
5309
- }
5310
- el.focus();
5311
- if (document.activeElement === el) {
5312
- return;
5313
- }
5288
+ const focusable = assigned.find((el) => !el.hasAttribute('disabled'));
5289
+ if (focusable) {
5290
+ focusable.focus();
5291
+ return;
5314
5292
  }
5315
5293
  }
5316
5294
  // Fallback: try DOM children (non-slotted content)
@@ -5770,7 +5748,7 @@ class AuroDropdown extends AuroElement$2 {
5770
5748
  }
5771
5749
 
5772
5750
  const eventType = event.detail.eventType || "unknown";
5773
- if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown" && !this.noFocusRestoreOnClose) {
5751
+ if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown") {
5774
5752
  this.focusTrigger();
5775
5753
  }
5776
5754
 
@@ -5778,9 +5756,9 @@ class AuroDropdown extends AuroElement$2 {
5778
5756
  // On Tab-driven close (eventType "focusloss"), let focus advance naturally
5779
5757
  // — restoring to the trigger would trap the user on this dropdown, forcing
5780
5758
  // an extra Tab to move on. Escape and outside-click still restore.
5781
- // When noFocusRestoreOnClose is true, the consumer (e.g. combobox) manages
5759
+ // When noHideOnThisFocusLoss is true, the consumer (e.g. combobox) manages
5782
5760
  // its own focus restoration — skip the generic trigger focus to avoid races.
5783
- if (!this.isPopoverVisible && eventType !== "focusloss" && !this.noFocusRestoreOnClose) {
5761
+ if (!this.isPopoverVisible && eventType !== "focusloss" && !this.noHideOnThisFocusLoss) {
5784
5762
  // wait til the bib gets fully closed and rendered
5785
5763
  setTimeout(() => {
5786
5764
  // Skip if the bib re-opened, or if focus moved intentionally outside the dropdown (not to body).
@@ -18653,7 +18631,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$3 {
18653
18631
  }
18654
18632
  };
18655
18633
 
18656
- var formkitVersion$1 = '202607161850';
18634
+ var formkitVersion$1 = '202607160513';
18657
18635
 
18658
18636
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
18659
18637
  // See LICENSE in the project root for license information.
@@ -18944,18 +18922,8 @@ class AuroInput extends BaseInput {
18944
18922
  // Shadow slot not yet rendered — fall back to checking light-DOM
18945
18923
  // children so hasDisplayValueContent isn't stuck false when called
18946
18924
  // before firstUpdated (e.g. from auro-combobox during mount).
18947
- // Check for any element (including custom elements like <auro-icon>
18948
- // 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
18954
- ));
18955
- if (this.hasDisplayValueContent !== hasContent) {
18956
- this.hasDisplayValueContent = hasContent;
18957
- this.requestUpdate();
18958
- }
18925
+ const lightDomContent = this.querySelector('[slot="displayValue"]:not(slot)');
18926
+ this.hasDisplayValueContent = Boolean(lightDomContent && lightDomContent.textContent.trim().length > 0);
18959
18927
  return;
18960
18928
  }
18961
18929
  const nodes = slot.assignedNodes({ flatten: true });
@@ -18966,23 +18934,15 @@ class AuroInput extends BaseInput {
18966
18934
  // displayValue wrapper to render (with hasContent class) but show
18967
18935
  // nothing, blocking the combobox's synthetic displayValue from
18968
18936
  // being visible on preset/deeplink load.
18969
- // Custom elements (e.g. <auro-icon>) that render via shadow DOM are
18970
- // treated as content even when they have no text or light-DOM children.
18971
- const hasContent = nodes.some((node) => {
18937
+ this.hasDisplayValueContent = nodes.some((node) => {
18972
18938
  if (node.nodeType === Node.TEXT_NODE) {
18973
18939
  return node.textContent.trim().length > 0;
18974
18940
  }
18975
18941
  if (node.nodeType === Node.ELEMENT_NODE) {
18976
- return node.textContent.trim().length > 0 ||
18977
- node.children.length > 0 ||
18978
- node.shadowRoot !== null;
18942
+ return node.textContent.trim().length > 0 || node.children.length > 0;
18979
18943
  }
18980
18944
  return false;
18981
18945
  });
18982
- if (this.hasDisplayValueContent !== hasContent) {
18983
- this.hasDisplayValueContent = hasContent;
18984
- this.requestUpdate();
18985
- }
18986
18946
  }
18987
18947
 
18988
18948
  firstUpdated() {
@@ -19809,7 +19769,7 @@ class AuroBibtemplate extends i$3 {
19809
19769
  }
19810
19770
  }
19811
19771
 
19812
- var formkitVersion = '202607161850';
19772
+ var formkitVersion = '202607160513';
19813
19773
 
19814
19774
  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
19775
 
@@ -20854,6 +20814,7 @@ class AuroCombobox extends AuroElement {
20854
20814
  // hidden when input.value is set in the same tick as the append.
20855
20815
  if (typeof this.input.checkDisplayValueSlotChange === 'function') {
20856
20816
  this.input.checkDisplayValueSlotChange();
20817
+ this.input.requestUpdate();
20857
20818
  }
20858
20819
  } else if (this.value) {
20859
20820
  // No optionSelected yet (e.g. setMenuValue was called but the menu's
@@ -20874,6 +20835,7 @@ class AuroCombobox extends AuroElement {
20874
20835
  this.input.appendChild(syntheticDV);
20875
20836
  if (typeof this.input.checkDisplayValueSlotChange === 'function') {
20876
20837
  this.input.checkDisplayValueSlotChange();
20838
+ this.input.requestUpdate();
20877
20839
  }
20878
20840
  }
20879
20841
 
@@ -21046,10 +21008,6 @@ class AuroCombobox extends AuroElement {
21046
21008
  // from combobox's light DOM and won't be detected by dropdown's contains() check.
21047
21009
  this.dropdown.noHideOnThisFocusLoss = true;
21048
21010
 
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
21011
  // Listen for the ID to be added to the dropdown so we can capture it and use it for accessibility.
21054
21012
  this.dropdown.addEventListener('auroDropdown-idAdded', (event) => {
21055
21013
  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 = '202607160513';
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
@@ -5309,23 +5300,10 @@ class AuroDropdown extends AuroElement$2 {
5309
5300
  const slot = this.trigger.querySelector('slot[name="trigger"]');
5310
5301
  if (slot) {
5311
5302
  const assigned = slot.assignedElements();
5312
- for (const el of assigned) {
5313
- if (el.hasAttribute('disabled')) {
5314
- continue;
5315
- }
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();
5323
- return;
5324
- }
5325
- el.focus();
5326
- if (document.activeElement === el) {
5327
- return;
5328
- }
5303
+ const focusable = assigned.find((el) => !el.hasAttribute('disabled'));
5304
+ if (focusable) {
5305
+ focusable.focus();
5306
+ return;
5329
5307
  }
5330
5308
  }
5331
5309
  // Fallback: try DOM children (non-slotted content)
@@ -5785,7 +5763,7 @@ class AuroDropdown extends AuroElement$2 {
5785
5763
  }
5786
5764
 
5787
5765
  const eventType = event.detail.eventType || "unknown";
5788
- if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown" && !this.noFocusRestoreOnClose) {
5766
+ if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown") {
5789
5767
  this.focusTrigger();
5790
5768
  }
5791
5769
 
@@ -5793,9 +5771,9 @@ class AuroDropdown extends AuroElement$2 {
5793
5771
  // On Tab-driven close (eventType "focusloss"), let focus advance naturally
5794
5772
  // — restoring to the trigger would trap the user on this dropdown, forcing
5795
5773
  // an extra Tab to move on. Escape and outside-click still restore.
5796
- // When noFocusRestoreOnClose is true, the consumer (e.g. combobox) manages
5774
+ // When noHideOnThisFocusLoss is true, the consumer (e.g. combobox) manages
5797
5775
  // its own focus restoration — skip the generic trigger focus to avoid races.
5798
- if (!this.isPopoverVisible && eventType !== "focusloss" && !this.noFocusRestoreOnClose) {
5776
+ if (!this.isPopoverVisible && eventType !== "focusloss" && !this.noHideOnThisFocusLoss) {
5799
5777
  // wait til the bib gets fully closed and rendered
5800
5778
  setTimeout(() => {
5801
5779
  // Skip if the bib re-opened, or if focus moved intentionally outside the dropdown (not to body).
@@ -18668,7 +18646,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$3 {
18668
18646
  }
18669
18647
  };
18670
18648
 
18671
- var formkitVersion$1 = '202607161850';
18649
+ var formkitVersion$1 = '202607160513';
18672
18650
 
18673
18651
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
18674
18652
  // See LICENSE in the project root for license information.
@@ -18959,18 +18937,8 @@ class AuroInput extends BaseInput {
18959
18937
  // Shadow slot not yet rendered — fall back to checking light-DOM
18960
18938
  // children so hasDisplayValueContent isn't stuck false when called
18961
18939
  // before firstUpdated (e.g. from auro-combobox during mount).
18962
- // Check for any element (including custom elements like <auro-icon>
18963
- // 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
18969
- ));
18970
- if (this.hasDisplayValueContent !== hasContent) {
18971
- this.hasDisplayValueContent = hasContent;
18972
- this.requestUpdate();
18973
- }
18940
+ const lightDomContent = this.querySelector('[slot="displayValue"]:not(slot)');
18941
+ this.hasDisplayValueContent = Boolean(lightDomContent && lightDomContent.textContent.trim().length > 0);
18974
18942
  return;
18975
18943
  }
18976
18944
  const nodes = slot.assignedNodes({ flatten: true });
@@ -18981,23 +18949,15 @@ class AuroInput extends BaseInput {
18981
18949
  // displayValue wrapper to render (with hasContent class) but show
18982
18950
  // nothing, blocking the combobox's synthetic displayValue from
18983
18951
  // being visible on preset/deeplink load.
18984
- // Custom elements (e.g. <auro-icon>) that render via shadow DOM are
18985
- // treated as content even when they have no text or light-DOM children.
18986
- const hasContent = nodes.some((node) => {
18952
+ this.hasDisplayValueContent = nodes.some((node) => {
18987
18953
  if (node.nodeType === Node.TEXT_NODE) {
18988
18954
  return node.textContent.trim().length > 0;
18989
18955
  }
18990
18956
  if (node.nodeType === Node.ELEMENT_NODE) {
18991
- return node.textContent.trim().length > 0 ||
18992
- node.children.length > 0 ||
18993
- node.shadowRoot !== null;
18957
+ return node.textContent.trim().length > 0 || node.children.length > 0;
18994
18958
  }
18995
18959
  return false;
18996
18960
  });
18997
- if (this.hasDisplayValueContent !== hasContent) {
18998
- this.hasDisplayValueContent = hasContent;
18999
- this.requestUpdate();
19000
- }
19001
18961
  }
19002
18962
 
19003
18963
  firstUpdated() {
@@ -19824,7 +19784,7 @@ class AuroBibtemplate extends i$3 {
19824
19784
  }
19825
19785
  }
19826
19786
 
19827
- var formkitVersion = '202607161850';
19787
+ var formkitVersion = '202607160513';
19828
19788
 
19829
19789
  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
19790
 
@@ -20869,6 +20829,7 @@ class AuroCombobox extends AuroElement {
20869
20829
  // hidden when input.value is set in the same tick as the append.
20870
20830
  if (typeof this.input.checkDisplayValueSlotChange === 'function') {
20871
20831
  this.input.checkDisplayValueSlotChange();
20832
+ this.input.requestUpdate();
20872
20833
  }
20873
20834
  } else if (this.value) {
20874
20835
  // No optionSelected yet (e.g. setMenuValue was called but the menu's
@@ -20889,6 +20850,7 @@ class AuroCombobox extends AuroElement {
20889
20850
  this.input.appendChild(syntheticDV);
20890
20851
  if (typeof this.input.checkDisplayValueSlotChange === 'function') {
20891
20852
  this.input.checkDisplayValueSlotChange();
20853
+ this.input.requestUpdate();
20892
20854
  }
20893
20855
  }
20894
20856
 
@@ -21061,10 +21023,6 @@ class AuroCombobox extends AuroElement {
21061
21023
  // from combobox's light DOM and won't be detected by dropdown's contains() check.
21062
21024
  this.dropdown.noHideOnThisFocusLoss = true;
21063
21025
 
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
21026
  // Listen for the ID to be added to the dropdown so we can capture it and use it for accessibility.
21069
21027
  this.dropdown.addEventListener('auroDropdown-idAdded', (event) => {
21070
21028
  this.dropdownId = event.detail.id;