@aurodesignsystem-dev/auro-formkit 0.0.0-pr1554.19 → 0.0.0-pr1554.2

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 (46) 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 +13 -54
  7. package/components/combobox/demo/getting-started.min.js +13 -54
  8. package/components/combobox/demo/index.min.js +13 -54
  9. package/components/combobox/dist/index.js +13 -54
  10. package/components/combobox/dist/registered.js +13 -54
  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 +11 -50
  16. package/components/datepicker/demo/index.min.js +11 -50
  17. package/components/datepicker/dist/index.js +11 -50
  18. package/components/datepicker/dist/registered.js +11 -50
  19. package/components/dropdown/demo/api.md +0 -1
  20. package/components/dropdown/demo/customize.min.js +8 -30
  21. package/components/dropdown/demo/getting-started.min.js +8 -30
  22. package/components/dropdown/demo/index.min.js +8 -30
  23. package/components/dropdown/dist/auro-dropdown.d.ts +0 -8
  24. package/components/dropdown/dist/index.js +8 -30
  25. package/components/dropdown/dist/registered.js +8 -30
  26. package/components/form/demo/customize.min.js +46 -187
  27. package/components/form/demo/getting-started.min.js +46 -187
  28. package/components/form/demo/index.min.js +46 -187
  29. package/components/form/demo/registerDemoDeps.min.js +46 -187
  30. package/components/input/demo/customize.min.js +2 -19
  31. package/components/input/demo/getting-started.min.js +2 -19
  32. package/components/input/demo/index.min.js +2 -19
  33. package/components/input/dist/index.js +2 -19
  34. package/components/input/dist/registered.js +2 -19
  35. package/components/radio/demo/customize.min.js +1 -1
  36. package/components/radio/demo/getting-started.min.js +1 -1
  37. package/components/radio/demo/index.min.js +1 -1
  38. package/components/radio/dist/index.js +1 -1
  39. package/components/radio/dist/registered.js +1 -1
  40. package/components/select/demo/customize.min.js +9 -31
  41. package/components/select/demo/getting-started.min.js +9 -31
  42. package/components/select/demo/index.min.js +9 -31
  43. package/components/select/dist/index.js +9 -31
  44. package/components/select/dist/registered.js +9 -31
  45. package/custom-elements.json +1517 -1527
  46. package/package.json +1 -1
@@ -1275,7 +1275,7 @@ class AuroHelpText extends i$2 {
1275
1275
  }
1276
1276
  }
1277
1277
 
1278
- var formkitVersion = '202607160829';
1278
+ var formkitVersion = '202607160501';
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 = '202607160829';
1278
+ var formkitVersion = '202607160501';
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 = '202607160829';
1278
+ var formkitVersion = '202607160501';
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 = '202607160829';
1231
+ var formkitVersion = '202607160501';
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 = '202607160829';
1231
+ var formkitVersion = '202607160501';
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 = '202607160829';
4974
+ var formkitVersion$2 = '202607160501';
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
- * @public
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 = '202607160829';
18634
+ var formkitVersion$1 = '202607160501';
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.
@@ -18941,18 +18919,6 @@ class AuroInput extends BaseInput {
18941
18919
  checkDisplayValueSlotChange() {
18942
18920
  const slot = this.shadowRoot?.querySelector('slot[name="displayValue"]');
18943
18921
  if (!slot) {
18944
- // Shadow slot not yet rendered — fall back to checking light-DOM
18945
- // children so hasDisplayValueContent isn't stuck false when called
18946
- // 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
- this.hasDisplayValueContent = lightDomNodes.some((node) => (
18951
- node.textContent.trim().length > 0 ||
18952
- node.children.length > 0 ||
18953
- node.shadowRoot !== null
18954
- ));
18955
- this.requestUpdate();
18956
18922
  return;
18957
18923
  }
18958
18924
  const nodes = slot.assignedNodes({ flatten: true });
@@ -18963,20 +18929,15 @@ class AuroInput extends BaseInput {
18963
18929
  // displayValue wrapper to render (with hasContent class) but show
18964
18930
  // nothing, blocking the combobox's synthetic displayValue from
18965
18931
  // being visible on preset/deeplink load.
18966
- // Custom elements (e.g. <auro-icon>) that render via shadow DOM are
18967
- // treated as content even when they have no text or light-DOM children.
18968
18932
  this.hasDisplayValueContent = nodes.some((node) => {
18969
18933
  if (node.nodeType === Node.TEXT_NODE) {
18970
18934
  return node.textContent.trim().length > 0;
18971
18935
  }
18972
18936
  if (node.nodeType === Node.ELEMENT_NODE) {
18973
- return node.textContent.trim().length > 0 ||
18974
- node.children.length > 0 ||
18975
- node.shadowRoot !== null;
18937
+ return node.textContent.trim().length > 0 || node.children.length > 0;
18976
18938
  }
18977
18939
  return false;
18978
18940
  });
18979
- this.requestUpdate();
18980
18941
  }
18981
18942
 
18982
18943
  firstUpdated() {
@@ -19803,7 +19764,7 @@ class AuroBibtemplate extends i$3 {
19803
19764
  }
19804
19765
  }
19805
19766
 
19806
- var formkitVersion = '202607160829';
19767
+ var formkitVersion = '202607160501';
19807
19768
 
19808
19769
  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}`;
19809
19770
 
@@ -20848,6 +20809,7 @@ class AuroCombobox extends AuroElement {
20848
20809
  // hidden when input.value is set in the same tick as the append.
20849
20810
  if (typeof this.input.checkDisplayValueSlotChange === 'function') {
20850
20811
  this.input.checkDisplayValueSlotChange();
20812
+ this.input.requestUpdate();
20851
20813
  }
20852
20814
  } else if (this.value) {
20853
20815
  // No optionSelected yet (e.g. setMenuValue was called but the menu's
@@ -20868,6 +20830,7 @@ class AuroCombobox extends AuroElement {
20868
20830
  this.input.appendChild(syntheticDV);
20869
20831
  if (typeof this.input.checkDisplayValueSlotChange === 'function') {
20870
20832
  this.input.checkDisplayValueSlotChange();
20833
+ this.input.requestUpdate();
20871
20834
  }
20872
20835
  }
20873
20836
 
@@ -21040,10 +21003,6 @@ class AuroCombobox extends AuroElement {
21040
21003
  // from combobox's light DOM and won't be detected by dropdown's contains() check.
21041
21004
  this.dropdown.noHideOnThisFocusLoss = true;
21042
21005
 
21043
- // Suppress the dropdown's generic focus restoration on close — the combobox
21044
- // manages its own focus via setClearBtnFocus / setInputFocus / keyboard strategy.
21045
- this.dropdown.noFocusRestoreOnClose = true;
21046
-
21047
21006
  // Listen for the ID to be added to the dropdown so we can capture it and use it for accessibility.
21048
21007
  this.dropdown.addEventListener('auroDropdown-idAdded', (event) => {
21049
21008
  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 = '202607160829';
4974
+ var formkitVersion$2 = '202607160501';
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
- * @public
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 = '202607160829';
18634
+ var formkitVersion$1 = '202607160501';
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.
@@ -18941,18 +18919,6 @@ class AuroInput extends BaseInput {
18941
18919
  checkDisplayValueSlotChange() {
18942
18920
  const slot = this.shadowRoot?.querySelector('slot[name="displayValue"]');
18943
18921
  if (!slot) {
18944
- // Shadow slot not yet rendered — fall back to checking light-DOM
18945
- // children so hasDisplayValueContent isn't stuck false when called
18946
- // 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
- this.hasDisplayValueContent = lightDomNodes.some((node) => (
18951
- node.textContent.trim().length > 0 ||
18952
- node.children.length > 0 ||
18953
- node.shadowRoot !== null
18954
- ));
18955
- this.requestUpdate();
18956
18922
  return;
18957
18923
  }
18958
18924
  const nodes = slot.assignedNodes({ flatten: true });
@@ -18963,20 +18929,15 @@ class AuroInput extends BaseInput {
18963
18929
  // displayValue wrapper to render (with hasContent class) but show
18964
18930
  // nothing, blocking the combobox's synthetic displayValue from
18965
18931
  // being visible on preset/deeplink load.
18966
- // Custom elements (e.g. <auro-icon>) that render via shadow DOM are
18967
- // treated as content even when they have no text or light-DOM children.
18968
18932
  this.hasDisplayValueContent = nodes.some((node) => {
18969
18933
  if (node.nodeType === Node.TEXT_NODE) {
18970
18934
  return node.textContent.trim().length > 0;
18971
18935
  }
18972
18936
  if (node.nodeType === Node.ELEMENT_NODE) {
18973
- return node.textContent.trim().length > 0 ||
18974
- node.children.length > 0 ||
18975
- node.shadowRoot !== null;
18937
+ return node.textContent.trim().length > 0 || node.children.length > 0;
18976
18938
  }
18977
18939
  return false;
18978
18940
  });
18979
- this.requestUpdate();
18980
18941
  }
18981
18942
 
18982
18943
  firstUpdated() {
@@ -19803,7 +19764,7 @@ class AuroBibtemplate extends i$3 {
19803
19764
  }
19804
19765
  }
19805
19766
 
19806
- var formkitVersion = '202607160829';
19767
+ var formkitVersion = '202607160501';
19807
19768
 
19808
19769
  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}`;
19809
19770
 
@@ -20848,6 +20809,7 @@ class AuroCombobox extends AuroElement {
20848
20809
  // hidden when input.value is set in the same tick as the append.
20849
20810
  if (typeof this.input.checkDisplayValueSlotChange === 'function') {
20850
20811
  this.input.checkDisplayValueSlotChange();
20812
+ this.input.requestUpdate();
20851
20813
  }
20852
20814
  } else if (this.value) {
20853
20815
  // No optionSelected yet (e.g. setMenuValue was called but the menu's
@@ -20868,6 +20830,7 @@ class AuroCombobox extends AuroElement {
20868
20830
  this.input.appendChild(syntheticDV);
20869
20831
  if (typeof this.input.checkDisplayValueSlotChange === 'function') {
20870
20832
  this.input.checkDisplayValueSlotChange();
20833
+ this.input.requestUpdate();
20871
20834
  }
20872
20835
  }
20873
20836
 
@@ -21040,10 +21003,6 @@ class AuroCombobox extends AuroElement {
21040
21003
  // from combobox's light DOM and won't be detected by dropdown's contains() check.
21041
21004
  this.dropdown.noHideOnThisFocusLoss = true;
21042
21005
 
21043
- // Suppress the dropdown's generic focus restoration on close — the combobox
21044
- // manages its own focus via setClearBtnFocus / setInputFocus / keyboard strategy.
21045
- this.dropdown.noFocusRestoreOnClose = true;
21046
-
21047
21006
  // Listen for the ID to be added to the dropdown so we can capture it and use it for accessibility.
21048
21007
  this.dropdown.addEventListener('auroDropdown-idAdded', (event) => {
21049
21008
  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 = '202607160829';
4989
+ var formkitVersion$2 = '202607160501';
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
- * @public
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 = '202607160829';
18649
+ var formkitVersion$1 = '202607160501';
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.
@@ -18956,18 +18934,6 @@ class AuroInput extends BaseInput {
18956
18934
  checkDisplayValueSlotChange() {
18957
18935
  const slot = this.shadowRoot?.querySelector('slot[name="displayValue"]');
18958
18936
  if (!slot) {
18959
- // Shadow slot not yet rendered — fall back to checking light-DOM
18960
- // children so hasDisplayValueContent isn't stuck false when called
18961
- // 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
- this.hasDisplayValueContent = lightDomNodes.some((node) => (
18966
- node.textContent.trim().length > 0 ||
18967
- node.children.length > 0 ||
18968
- node.shadowRoot !== null
18969
- ));
18970
- this.requestUpdate();
18971
18937
  return;
18972
18938
  }
18973
18939
  const nodes = slot.assignedNodes({ flatten: true });
@@ -18978,20 +18944,15 @@ class AuroInput extends BaseInput {
18978
18944
  // displayValue wrapper to render (with hasContent class) but show
18979
18945
  // nothing, blocking the combobox's synthetic displayValue from
18980
18946
  // being visible on preset/deeplink load.
18981
- // Custom elements (e.g. <auro-icon>) that render via shadow DOM are
18982
- // treated as content even when they have no text or light-DOM children.
18983
18947
  this.hasDisplayValueContent = nodes.some((node) => {
18984
18948
  if (node.nodeType === Node.TEXT_NODE) {
18985
18949
  return node.textContent.trim().length > 0;
18986
18950
  }
18987
18951
  if (node.nodeType === Node.ELEMENT_NODE) {
18988
- return node.textContent.trim().length > 0 ||
18989
- node.children.length > 0 ||
18990
- node.shadowRoot !== null;
18952
+ return node.textContent.trim().length > 0 || node.children.length > 0;
18991
18953
  }
18992
18954
  return false;
18993
18955
  });
18994
- this.requestUpdate();
18995
18956
  }
18996
18957
 
18997
18958
  firstUpdated() {
@@ -19818,7 +19779,7 @@ class AuroBibtemplate extends i$3 {
19818
19779
  }
19819
19780
  }
19820
19781
 
19821
- var formkitVersion = '202607160829';
19782
+ var formkitVersion = '202607160501';
19822
19783
 
19823
19784
  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}`;
19824
19785
 
@@ -20863,6 +20824,7 @@ class AuroCombobox extends AuroElement {
20863
20824
  // hidden when input.value is set in the same tick as the append.
20864
20825
  if (typeof this.input.checkDisplayValueSlotChange === 'function') {
20865
20826
  this.input.checkDisplayValueSlotChange();
20827
+ this.input.requestUpdate();
20866
20828
  }
20867
20829
  } else if (this.value) {
20868
20830
  // No optionSelected yet (e.g. setMenuValue was called but the menu's
@@ -20883,6 +20845,7 @@ class AuroCombobox extends AuroElement {
20883
20845
  this.input.appendChild(syntheticDV);
20884
20846
  if (typeof this.input.checkDisplayValueSlotChange === 'function') {
20885
20847
  this.input.checkDisplayValueSlotChange();
20848
+ this.input.requestUpdate();
20886
20849
  }
20887
20850
  }
20888
20851
 
@@ -21055,10 +21018,6 @@ class AuroCombobox extends AuroElement {
21055
21018
  // from combobox's light DOM and won't be detected by dropdown's contains() check.
21056
21019
  this.dropdown.noHideOnThisFocusLoss = true;
21057
21020
 
21058
- // Suppress the dropdown's generic focus restoration on close — the combobox
21059
- // manages its own focus via setClearBtnFocus / setInputFocus / keyboard strategy.
21060
- this.dropdown.noFocusRestoreOnClose = true;
21061
-
21062
21021
  // Listen for the ID to be added to the dropdown so we can capture it and use it for accessibility.
21063
21022
  this.dropdown.addEventListener('auroDropdown-idAdded', (event) => {
21064
21023
  this.dropdownId = event.detail.id;