@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
@@ -4904,7 +4904,7 @@ let AuroHelpText$2 = class AuroHelpText extends LitElement {
4904
4904
  }
4905
4905
  };
4906
4906
 
4907
- var formkitVersion$2 = '202607160829';
4907
+ var formkitVersion$2 = '202607160501';
4908
4908
 
4909
4909
  let AuroElement$2 = class AuroElement extends LitElement {
4910
4910
  static get properties() {
@@ -5044,15 +5044,6 @@ class AuroDropdown extends AuroElement$2 {
5044
5044
  this.matchWidth = false;
5045
5045
  this.noHideOnThisFocusLoss = false;
5046
5046
 
5047
- /**
5048
- * When true, the dropdown skips its generic focus restoration on close.
5049
- * Set by consumers (e.g. combobox) that manage their own focus routing
5050
- * via setClearBtnFocus / setInputFocus / keyboard strategy.
5051
- * Separate from noHideOnThisFocusLoss (which controls auto-close behavior).
5052
- * @public
5053
- */
5054
- this.noFocusRestoreOnClose = false;
5055
-
5056
5047
  this.errorMessage = undefined; // TODO - check with Doug if there is still more to do here
5057
5048
 
5058
5049
  // Layout Config
@@ -5227,23 +5218,10 @@ class AuroDropdown extends AuroElement$2 {
5227
5218
  const slot = this.trigger.querySelector('slot[name="trigger"]');
5228
5219
  if (slot) {
5229
5220
  const assigned = slot.assignedElements();
5230
- for (const el of assigned) {
5231
- if (el.hasAttribute('disabled')) {
5232
- continue;
5233
- }
5234
- // Try finding a focusable descendant first (handles non-focusable
5235
- // wrappers like <div> containing a <button>). If none found, try
5236
- // focusing the element directly (works for custom elements like
5237
- // auro-input that have delegatesFocus or a custom focus() method).
5238
- const descendants = getFocusableElements(el);
5239
- if (descendants.length > 0) {
5240
- descendants[0].focus();
5241
- return;
5242
- }
5243
- el.focus();
5244
- if (document.activeElement === el) {
5245
- return;
5246
- }
5221
+ const focusable = assigned.find((el) => !el.hasAttribute('disabled'));
5222
+ if (focusable) {
5223
+ focusable.focus();
5224
+ return;
5247
5225
  }
5248
5226
  }
5249
5227
  // Fallback: try DOM children (non-slotted content)
@@ -5703,7 +5681,7 @@ class AuroDropdown extends AuroElement$2 {
5703
5681
  }
5704
5682
 
5705
5683
  const eventType = event.detail.eventType || "unknown";
5706
- if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown" && !this.noFocusRestoreOnClose) {
5684
+ if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown") {
5707
5685
  this.focusTrigger();
5708
5686
  }
5709
5687
 
@@ -5711,9 +5689,9 @@ class AuroDropdown extends AuroElement$2 {
5711
5689
  // On Tab-driven close (eventType "focusloss"), let focus advance naturally
5712
5690
  // — restoring to the trigger would trap the user on this dropdown, forcing
5713
5691
  // an extra Tab to move on. Escape and outside-click still restore.
5714
- // When noFocusRestoreOnClose is true, the consumer (e.g. combobox) manages
5692
+ // When noHideOnThisFocusLoss is true, the consumer (e.g. combobox) manages
5715
5693
  // its own focus restoration — skip the generic trigger focus to avoid races.
5716
- if (!this.isPopoverVisible && eventType !== "focusloss" && !this.noFocusRestoreOnClose) {
5694
+ if (!this.isPopoverVisible && eventType !== "focusloss" && !this.noHideOnThisFocusLoss) {
5717
5695
  // wait til the bib gets fully closed and rendered
5718
5696
  setTimeout(() => {
5719
5697
  // Skip if the bib re-opened, or if focus moved intentionally outside the dropdown (not to body).
@@ -18579,7 +18557,7 @@ let AuroHelpText$1 = class AuroHelpText extends LitElement {
18579
18557
  }
18580
18558
  };
18581
18559
 
18582
- var formkitVersion$1 = '202607160829';
18560
+ var formkitVersion$1 = '202607160501';
18583
18561
 
18584
18562
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
18585
18563
  // See LICENSE in the project root for license information.
@@ -18867,18 +18845,6 @@ class AuroInput extends BaseInput {
18867
18845
  checkDisplayValueSlotChange() {
18868
18846
  const slot = this.shadowRoot?.querySelector('slot[name="displayValue"]');
18869
18847
  if (!slot) {
18870
- // Shadow slot not yet rendered — fall back to checking light-DOM
18871
- // children so hasDisplayValueContent isn't stuck false when called
18872
- // before firstUpdated (e.g. from auro-combobox during mount).
18873
- // Check for any element (including custom elements like <auro-icon>
18874
- // that render via shadow DOM with no text content).
18875
- const lightDomNodes = Array.from(this.querySelectorAll('[slot="displayValue"]:not(slot)'));
18876
- this.hasDisplayValueContent = lightDomNodes.some((node) => (
18877
- node.textContent.trim().length > 0 ||
18878
- node.children.length > 0 ||
18879
- node.shadowRoot !== null
18880
- ));
18881
- this.requestUpdate();
18882
18848
  return;
18883
18849
  }
18884
18850
  const nodes = slot.assignedNodes({ flatten: true });
@@ -18889,20 +18855,15 @@ class AuroInput extends BaseInput {
18889
18855
  // displayValue wrapper to render (with hasContent class) but show
18890
18856
  // nothing, blocking the combobox's synthetic displayValue from
18891
18857
  // being visible on preset/deeplink load.
18892
- // Custom elements (e.g. <auro-icon>) that render via shadow DOM are
18893
- // treated as content even when they have no text or light-DOM children.
18894
18858
  this.hasDisplayValueContent = nodes.some((node) => {
18895
18859
  if (node.nodeType === Node.TEXT_NODE) {
18896
18860
  return node.textContent.trim().length > 0;
18897
18861
  }
18898
18862
  if (node.nodeType === Node.ELEMENT_NODE) {
18899
- return node.textContent.trim().length > 0 ||
18900
- node.children.length > 0 ||
18901
- node.shadowRoot !== null;
18863
+ return node.textContent.trim().length > 0 || node.children.length > 0;
18902
18864
  }
18903
18865
  return false;
18904
18866
  });
18905
- this.requestUpdate();
18906
18867
  }
18907
18868
 
18908
18869
  firstUpdated() {
@@ -19729,7 +19690,7 @@ class AuroBibtemplate extends LitElement {
19729
19690
  }
19730
19691
  }
19731
19692
 
19732
- var formkitVersion = '202607160829';
19693
+ var formkitVersion = '202607160501';
19733
19694
 
19734
19695
  var styleCss$1 = css`.util_displayInline{display:inline}.util_displayInlineBlock{display:inline-block}.util_displayBlock{display:block}.util_displayFlex{display:flex}.util_displayHidden{display:none}.util_displayHiddenVisually{position:absolute;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);width:1px;height:1px;padding:0;border:0}:host{display:block;text-align:left}:host [auro-dropdown]{--ds-auro-dropdown-trigger-background-color: transparent}:host #inputInBib::part(wrapper){box-shadow:none}:host #inputInBib::part(accent-left){display:none}:host([layout*=classic]) [auro-input]{width:100%}:host([layout*=classic]) [auro-input]::part(helpText){display:none}:host([layout*=classic]) #slotHolder{display:none}`;
19735
19696
 
@@ -20774,6 +20735,7 @@ class AuroCombobox extends AuroElement {
20774
20735
  // hidden when input.value is set in the same tick as the append.
20775
20736
  if (typeof this.input.checkDisplayValueSlotChange === 'function') {
20776
20737
  this.input.checkDisplayValueSlotChange();
20738
+ this.input.requestUpdate();
20777
20739
  }
20778
20740
  } else if (this.value) {
20779
20741
  // No optionSelected yet (e.g. setMenuValue was called but the menu's
@@ -20794,6 +20756,7 @@ class AuroCombobox extends AuroElement {
20794
20756
  this.input.appendChild(syntheticDV);
20795
20757
  if (typeof this.input.checkDisplayValueSlotChange === 'function') {
20796
20758
  this.input.checkDisplayValueSlotChange();
20759
+ this.input.requestUpdate();
20797
20760
  }
20798
20761
  }
20799
20762
 
@@ -20966,10 +20929,6 @@ class AuroCombobox extends AuroElement {
20966
20929
  // from combobox's light DOM and won't be detected by dropdown's contains() check.
20967
20930
  this.dropdown.noHideOnThisFocusLoss = true;
20968
20931
 
20969
- // Suppress the dropdown's generic focus restoration on close — the combobox
20970
- // manages its own focus via setClearBtnFocus / setInputFocus / keyboard strategy.
20971
- this.dropdown.noFocusRestoreOnClose = true;
20972
-
20973
20932
  // Listen for the ID to be added to the dropdown so we can capture it and use it for accessibility.
20974
20933
  this.dropdown.addEventListener('auroDropdown-idAdded', (event) => {
20975
20934
  this.dropdownId = event.detail.id;
@@ -4904,7 +4904,7 @@ let AuroHelpText$2 = class AuroHelpText extends LitElement {
4904
4904
  }
4905
4905
  };
4906
4906
 
4907
- var formkitVersion$2 = '202607160829';
4907
+ var formkitVersion$2 = '202607160501';
4908
4908
 
4909
4909
  let AuroElement$2 = class AuroElement extends LitElement {
4910
4910
  static get properties() {
@@ -5044,15 +5044,6 @@ class AuroDropdown extends AuroElement$2 {
5044
5044
  this.matchWidth = false;
5045
5045
  this.noHideOnThisFocusLoss = false;
5046
5046
 
5047
- /**
5048
- * When true, the dropdown skips its generic focus restoration on close.
5049
- * Set by consumers (e.g. combobox) that manage their own focus routing
5050
- * via setClearBtnFocus / setInputFocus / keyboard strategy.
5051
- * Separate from noHideOnThisFocusLoss (which controls auto-close behavior).
5052
- * @public
5053
- */
5054
- this.noFocusRestoreOnClose = false;
5055
-
5056
5047
  this.errorMessage = undefined; // TODO - check with Doug if there is still more to do here
5057
5048
 
5058
5049
  // Layout Config
@@ -5227,23 +5218,10 @@ class AuroDropdown extends AuroElement$2 {
5227
5218
  const slot = this.trigger.querySelector('slot[name="trigger"]');
5228
5219
  if (slot) {
5229
5220
  const assigned = slot.assignedElements();
5230
- for (const el of assigned) {
5231
- if (el.hasAttribute('disabled')) {
5232
- continue;
5233
- }
5234
- // Try finding a focusable descendant first (handles non-focusable
5235
- // wrappers like <div> containing a <button>). If none found, try
5236
- // focusing the element directly (works for custom elements like
5237
- // auro-input that have delegatesFocus or a custom focus() method).
5238
- const descendants = getFocusableElements(el);
5239
- if (descendants.length > 0) {
5240
- descendants[0].focus();
5241
- return;
5242
- }
5243
- el.focus();
5244
- if (document.activeElement === el) {
5245
- return;
5246
- }
5221
+ const focusable = assigned.find((el) => !el.hasAttribute('disabled'));
5222
+ if (focusable) {
5223
+ focusable.focus();
5224
+ return;
5247
5225
  }
5248
5226
  }
5249
5227
  // Fallback: try DOM children (non-slotted content)
@@ -5703,7 +5681,7 @@ class AuroDropdown extends AuroElement$2 {
5703
5681
  }
5704
5682
 
5705
5683
  const eventType = event.detail.eventType || "unknown";
5706
- if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown" && !this.noFocusRestoreOnClose) {
5684
+ if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown") {
5707
5685
  this.focusTrigger();
5708
5686
  }
5709
5687
 
@@ -5711,9 +5689,9 @@ class AuroDropdown extends AuroElement$2 {
5711
5689
  // On Tab-driven close (eventType "focusloss"), let focus advance naturally
5712
5690
  // — restoring to the trigger would trap the user on this dropdown, forcing
5713
5691
  // an extra Tab to move on. Escape and outside-click still restore.
5714
- // When noFocusRestoreOnClose is true, the consumer (e.g. combobox) manages
5692
+ // When noHideOnThisFocusLoss is true, the consumer (e.g. combobox) manages
5715
5693
  // its own focus restoration — skip the generic trigger focus to avoid races.
5716
- if (!this.isPopoverVisible && eventType !== "focusloss" && !this.noFocusRestoreOnClose) {
5694
+ if (!this.isPopoverVisible && eventType !== "focusloss" && !this.noHideOnThisFocusLoss) {
5717
5695
  // wait til the bib gets fully closed and rendered
5718
5696
  setTimeout(() => {
5719
5697
  // Skip if the bib re-opened, or if focus moved intentionally outside the dropdown (not to body).
@@ -18579,7 +18557,7 @@ let AuroHelpText$1 = class AuroHelpText extends LitElement {
18579
18557
  }
18580
18558
  };
18581
18559
 
18582
- var formkitVersion$1 = '202607160829';
18560
+ var formkitVersion$1 = '202607160501';
18583
18561
 
18584
18562
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
18585
18563
  // See LICENSE in the project root for license information.
@@ -18867,18 +18845,6 @@ class AuroInput extends BaseInput {
18867
18845
  checkDisplayValueSlotChange() {
18868
18846
  const slot = this.shadowRoot?.querySelector('slot[name="displayValue"]');
18869
18847
  if (!slot) {
18870
- // Shadow slot not yet rendered — fall back to checking light-DOM
18871
- // children so hasDisplayValueContent isn't stuck false when called
18872
- // before firstUpdated (e.g. from auro-combobox during mount).
18873
- // Check for any element (including custom elements like <auro-icon>
18874
- // that render via shadow DOM with no text content).
18875
- const lightDomNodes = Array.from(this.querySelectorAll('[slot="displayValue"]:not(slot)'));
18876
- this.hasDisplayValueContent = lightDomNodes.some((node) => (
18877
- node.textContent.trim().length > 0 ||
18878
- node.children.length > 0 ||
18879
- node.shadowRoot !== null
18880
- ));
18881
- this.requestUpdate();
18882
18848
  return;
18883
18849
  }
18884
18850
  const nodes = slot.assignedNodes({ flatten: true });
@@ -18889,20 +18855,15 @@ class AuroInput extends BaseInput {
18889
18855
  // displayValue wrapper to render (with hasContent class) but show
18890
18856
  // nothing, blocking the combobox's synthetic displayValue from
18891
18857
  // being visible on preset/deeplink load.
18892
- // Custom elements (e.g. <auro-icon>) that render via shadow DOM are
18893
- // treated as content even when they have no text or light-DOM children.
18894
18858
  this.hasDisplayValueContent = nodes.some((node) => {
18895
18859
  if (node.nodeType === Node.TEXT_NODE) {
18896
18860
  return node.textContent.trim().length > 0;
18897
18861
  }
18898
18862
  if (node.nodeType === Node.ELEMENT_NODE) {
18899
- return node.textContent.trim().length > 0 ||
18900
- node.children.length > 0 ||
18901
- node.shadowRoot !== null;
18863
+ return node.textContent.trim().length > 0 || node.children.length > 0;
18902
18864
  }
18903
18865
  return false;
18904
18866
  });
18905
- this.requestUpdate();
18906
18867
  }
18907
18868
 
18908
18869
  firstUpdated() {
@@ -19729,7 +19690,7 @@ class AuroBibtemplate extends LitElement {
19729
19690
  }
19730
19691
  }
19731
19692
 
19732
- var formkitVersion = '202607160829';
19693
+ var formkitVersion = '202607160501';
19733
19694
 
19734
19695
  var styleCss$1 = css`.util_displayInline{display:inline}.util_displayInlineBlock{display:inline-block}.util_displayBlock{display:block}.util_displayFlex{display:flex}.util_displayHidden{display:none}.util_displayHiddenVisually{position:absolute;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);width:1px;height:1px;padding:0;border:0}:host{display:block;text-align:left}:host [auro-dropdown]{--ds-auro-dropdown-trigger-background-color: transparent}:host #inputInBib::part(wrapper){box-shadow:none}:host #inputInBib::part(accent-left){display:none}:host([layout*=classic]) [auro-input]{width:100%}:host([layout*=classic]) [auro-input]::part(helpText){display:none}:host([layout*=classic]) #slotHolder{display:none}`;
19735
19696
 
@@ -20774,6 +20735,7 @@ class AuroCombobox extends AuroElement {
20774
20735
  // hidden when input.value is set in the same tick as the append.
20775
20736
  if (typeof this.input.checkDisplayValueSlotChange === 'function') {
20776
20737
  this.input.checkDisplayValueSlotChange();
20738
+ this.input.requestUpdate();
20777
20739
  }
20778
20740
  } else if (this.value) {
20779
20741
  // No optionSelected yet (e.g. setMenuValue was called but the menu's
@@ -20794,6 +20756,7 @@ class AuroCombobox extends AuroElement {
20794
20756
  this.input.appendChild(syntheticDV);
20795
20757
  if (typeof this.input.checkDisplayValueSlotChange === 'function') {
20796
20758
  this.input.checkDisplayValueSlotChange();
20759
+ this.input.requestUpdate();
20797
20760
  }
20798
20761
  }
20799
20762
 
@@ -20966,10 +20929,6 @@ class AuroCombobox extends AuroElement {
20966
20929
  // from combobox's light DOM and won't be detected by dropdown's contains() check.
20967
20930
  this.dropdown.noHideOnThisFocusLoss = true;
20968
20931
 
20969
- // Suppress the dropdown's generic focus restoration on close — the combobox
20970
- // manages its own focus via setClearBtnFocus / setInputFocus / keyboard strategy.
20971
- this.dropdown.noFocusRestoreOnClose = true;
20972
-
20973
20932
  // Listen for the ID to be added to the dropdown so we can capture it and use it for accessibility.
20974
20933
  this.dropdown.addEventListener('auroDropdown-idAdded', (event) => {
20975
20934
  this.dropdownId = event.detail.id;
@@ -1114,7 +1114,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$2 {
1114
1114
  }
1115
1115
  };
1116
1116
 
1117
- var formkitVersion$1 = '202607160829';
1117
+ var formkitVersion$1 = '202607160501';
1118
1118
 
1119
1119
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
1120
1120
  // See LICENSE in the project root for license information.
@@ -5280,7 +5280,7 @@ class AuroHelpText extends i$2 {
5280
5280
  }
5281
5281
  }
5282
5282
 
5283
- var formkitVersion = '202607160829';
5283
+ var formkitVersion = '202607160501';
5284
5284
 
5285
5285
  let AuroElement$1 = class AuroElement extends i$2 {
5286
5286
  static get properties() {
@@ -5420,15 +5420,6 @@ class AuroDropdown extends AuroElement$1 {
5420
5420
  this.matchWidth = false;
5421
5421
  this.noHideOnThisFocusLoss = false;
5422
5422
 
5423
- /**
5424
- * When true, the dropdown skips its generic focus restoration on close.
5425
- * Set by consumers (e.g. combobox) that manage their own focus routing
5426
- * via setClearBtnFocus / setInputFocus / keyboard strategy.
5427
- * Separate from noHideOnThisFocusLoss (which controls auto-close behavior).
5428
- * @public
5429
- */
5430
- this.noFocusRestoreOnClose = false;
5431
-
5432
5423
  this.errorMessage = undefined; // TODO - check with Doug if there is still more to do here
5433
5424
 
5434
5425
  // Layout Config
@@ -5603,23 +5594,10 @@ class AuroDropdown extends AuroElement$1 {
5603
5594
  const slot = this.trigger.querySelector('slot[name="trigger"]');
5604
5595
  if (slot) {
5605
5596
  const assigned = slot.assignedElements();
5606
- for (const el of assigned) {
5607
- if (el.hasAttribute('disabled')) {
5608
- continue;
5609
- }
5610
- // Try finding a focusable descendant first (handles non-focusable
5611
- // wrappers like <div> containing a <button>). If none found, try
5612
- // focusing the element directly (works for custom elements like
5613
- // auro-input that have delegatesFocus or a custom focus() method).
5614
- const descendants = getFocusableElements(el);
5615
- if (descendants.length > 0) {
5616
- descendants[0].focus();
5617
- return;
5618
- }
5619
- el.focus();
5620
- if (document.activeElement === el) {
5621
- return;
5622
- }
5597
+ const focusable = assigned.find((el) => !el.hasAttribute('disabled'));
5598
+ if (focusable) {
5599
+ focusable.focus();
5600
+ return;
5623
5601
  }
5624
5602
  }
5625
5603
  // Fallback: try DOM children (non-slotted content)
@@ -6079,7 +6057,7 @@ class AuroDropdown extends AuroElement$1 {
6079
6057
  }
6080
6058
 
6081
6059
  const eventType = event.detail.eventType || "unknown";
6082
- if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown" && !this.noFocusRestoreOnClose) {
6060
+ if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown") {
6083
6061
  this.focusTrigger();
6084
6062
  }
6085
6063
 
@@ -6087,9 +6065,9 @@ class AuroDropdown extends AuroElement$1 {
6087
6065
  // On Tab-driven close (eventType "focusloss"), let focus advance naturally
6088
6066
  // — restoring to the trigger would trap the user on this dropdown, forcing
6089
6067
  // an extra Tab to move on. Escape and outside-click still restore.
6090
- // When noFocusRestoreOnClose is true, the consumer (e.g. combobox) manages
6068
+ // When noHideOnThisFocusLoss is true, the consumer (e.g. combobox) manages
6091
6069
  // its own focus restoration — skip the generic trigger focus to avoid races.
6092
- if (!this.isPopoverVisible && eventType !== "focusloss" && !this.noFocusRestoreOnClose) {
6070
+ if (!this.isPopoverVisible && eventType !== "focusloss" && !this.noHideOnThisFocusLoss) {
6093
6071
  // wait til the bib gets fully closed and rendered
6094
6072
  setTimeout(() => {
6095
6073
  // Skip if the bib re-opened, or if focus moved intentionally outside the dropdown (not to body).
@@ -1114,7 +1114,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$2 {
1114
1114
  }
1115
1115
  };
1116
1116
 
1117
- var formkitVersion$1 = '202607160829';
1117
+ var formkitVersion$1 = '202607160501';
1118
1118
 
1119
1119
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
1120
1120
  // See LICENSE in the project root for license information.
@@ -5280,7 +5280,7 @@ class AuroHelpText extends i$2 {
5280
5280
  }
5281
5281
  }
5282
5282
 
5283
- var formkitVersion = '202607160829';
5283
+ var formkitVersion = '202607160501';
5284
5284
 
5285
5285
  let AuroElement$1 = class AuroElement extends i$2 {
5286
5286
  static get properties() {
@@ -5420,15 +5420,6 @@ class AuroDropdown extends AuroElement$1 {
5420
5420
  this.matchWidth = false;
5421
5421
  this.noHideOnThisFocusLoss = false;
5422
5422
 
5423
- /**
5424
- * When true, the dropdown skips its generic focus restoration on close.
5425
- * Set by consumers (e.g. combobox) that manage their own focus routing
5426
- * via setClearBtnFocus / setInputFocus / keyboard strategy.
5427
- * Separate from noHideOnThisFocusLoss (which controls auto-close behavior).
5428
- * @public
5429
- */
5430
- this.noFocusRestoreOnClose = false;
5431
-
5432
5423
  this.errorMessage = undefined; // TODO - check with Doug if there is still more to do here
5433
5424
 
5434
5425
  // Layout Config
@@ -5603,23 +5594,10 @@ class AuroDropdown extends AuroElement$1 {
5603
5594
  const slot = this.trigger.querySelector('slot[name="trigger"]');
5604
5595
  if (slot) {
5605
5596
  const assigned = slot.assignedElements();
5606
- for (const el of assigned) {
5607
- if (el.hasAttribute('disabled')) {
5608
- continue;
5609
- }
5610
- // Try finding a focusable descendant first (handles non-focusable
5611
- // wrappers like <div> containing a <button>). If none found, try
5612
- // focusing the element directly (works for custom elements like
5613
- // auro-input that have delegatesFocus or a custom focus() method).
5614
- const descendants = getFocusableElements(el);
5615
- if (descendants.length > 0) {
5616
- descendants[0].focus();
5617
- return;
5618
- }
5619
- el.focus();
5620
- if (document.activeElement === el) {
5621
- return;
5622
- }
5597
+ const focusable = assigned.find((el) => !el.hasAttribute('disabled'));
5598
+ if (focusable) {
5599
+ focusable.focus();
5600
+ return;
5623
5601
  }
5624
5602
  }
5625
5603
  // Fallback: try DOM children (non-slotted content)
@@ -6079,7 +6057,7 @@ class AuroDropdown extends AuroElement$1 {
6079
6057
  }
6080
6058
 
6081
6059
  const eventType = event.detail.eventType || "unknown";
6082
- if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown" && !this.noFocusRestoreOnClose) {
6060
+ if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown") {
6083
6061
  this.focusTrigger();
6084
6062
  }
6085
6063
 
@@ -6087,9 +6065,9 @@ class AuroDropdown extends AuroElement$1 {
6087
6065
  // On Tab-driven close (eventType "focusloss"), let focus advance naturally
6088
6066
  // — restoring to the trigger would trap the user on this dropdown, forcing
6089
6067
  // an extra Tab to move on. Escape and outside-click still restore.
6090
- // When noFocusRestoreOnClose is true, the consumer (e.g. combobox) manages
6068
+ // When noHideOnThisFocusLoss is true, the consumer (e.g. combobox) manages
6091
6069
  // its own focus restoration — skip the generic trigger focus to avoid races.
6092
- if (!this.isPopoverVisible && eventType !== "focusloss" && !this.noFocusRestoreOnClose) {
6070
+ if (!this.isPopoverVisible && eventType !== "focusloss" && !this.noHideOnThisFocusLoss) {
6093
6071
  // wait til the bib gets fully closed and rendered
6094
6072
  setTimeout(() => {
6095
6073
  // Skip if the bib re-opened, or if focus moved intentionally outside the dropdown (not to body).
@@ -1064,7 +1064,7 @@ let AuroHelpText$1 = class AuroHelpText extends LitElement {
1064
1064
  }
1065
1065
  };
1066
1066
 
1067
- var formkitVersion$1 = '202607160829';
1067
+ var formkitVersion$1 = '202607160501';
1068
1068
 
1069
1069
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
1070
1070
  // See LICENSE in the project root for license information.
@@ -5212,7 +5212,7 @@ class AuroHelpText extends LitElement {
5212
5212
  }
5213
5213
  }
5214
5214
 
5215
- var formkitVersion = '202607160829';
5215
+ var formkitVersion = '202607160501';
5216
5216
 
5217
5217
  let AuroElement$1 = class AuroElement extends LitElement {
5218
5218
  static get properties() {
@@ -5352,15 +5352,6 @@ class AuroDropdown extends AuroElement$1 {
5352
5352
  this.matchWidth = false;
5353
5353
  this.noHideOnThisFocusLoss = false;
5354
5354
 
5355
- /**
5356
- * When true, the dropdown skips its generic focus restoration on close.
5357
- * Set by consumers (e.g. combobox) that manage their own focus routing
5358
- * via setClearBtnFocus / setInputFocus / keyboard strategy.
5359
- * Separate from noHideOnThisFocusLoss (which controls auto-close behavior).
5360
- * @public
5361
- */
5362
- this.noFocusRestoreOnClose = false;
5363
-
5364
5355
  this.errorMessage = undefined; // TODO - check with Doug if there is still more to do here
5365
5356
 
5366
5357
  // Layout Config
@@ -5535,23 +5526,10 @@ class AuroDropdown extends AuroElement$1 {
5535
5526
  const slot = this.trigger.querySelector('slot[name="trigger"]');
5536
5527
  if (slot) {
5537
5528
  const assigned = slot.assignedElements();
5538
- for (const el of assigned) {
5539
- if (el.hasAttribute('disabled')) {
5540
- continue;
5541
- }
5542
- // Try finding a focusable descendant first (handles non-focusable
5543
- // wrappers like <div> containing a <button>). If none found, try
5544
- // focusing the element directly (works for custom elements like
5545
- // auro-input that have delegatesFocus or a custom focus() method).
5546
- const descendants = getFocusableElements(el);
5547
- if (descendants.length > 0) {
5548
- descendants[0].focus();
5549
- return;
5550
- }
5551
- el.focus();
5552
- if (document.activeElement === el) {
5553
- return;
5554
- }
5529
+ const focusable = assigned.find((el) => !el.hasAttribute('disabled'));
5530
+ if (focusable) {
5531
+ focusable.focus();
5532
+ return;
5555
5533
  }
5556
5534
  }
5557
5535
  // Fallback: try DOM children (non-slotted content)
@@ -6011,7 +5989,7 @@ class AuroDropdown extends AuroElement$1 {
6011
5989
  }
6012
5990
 
6013
5991
  const eventType = event.detail.eventType || "unknown";
6014
- if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown" && !this.noFocusRestoreOnClose) {
5992
+ if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown") {
6015
5993
  this.focusTrigger();
6016
5994
  }
6017
5995
 
@@ -6019,9 +5997,9 @@ class AuroDropdown extends AuroElement$1 {
6019
5997
  // On Tab-driven close (eventType "focusloss"), let focus advance naturally
6020
5998
  // — restoring to the trigger would trap the user on this dropdown, forcing
6021
5999
  // an extra Tab to move on. Escape and outside-click still restore.
6022
- // When noFocusRestoreOnClose is true, the consumer (e.g. combobox) manages
6000
+ // When noHideOnThisFocusLoss is true, the consumer (e.g. combobox) manages
6023
6001
  // its own focus restoration — skip the generic trigger focus to avoid races.
6024
- if (!this.isPopoverVisible && eventType !== "focusloss" && !this.noFocusRestoreOnClose) {
6002
+ if (!this.isPopoverVisible && eventType !== "focusloss" && !this.noHideOnThisFocusLoss) {
6025
6003
  // wait til the bib gets fully closed and rendered
6026
6004
  setTimeout(() => {
6027
6005
  // Skip if the bib re-opened, or if focus moved intentionally outside the dropdown (not to body).
@@ -1064,7 +1064,7 @@ let AuroHelpText$1 = class AuroHelpText extends LitElement {
1064
1064
  }
1065
1065
  };
1066
1066
 
1067
- var formkitVersion$1 = '202607160829';
1067
+ var formkitVersion$1 = '202607160501';
1068
1068
 
1069
1069
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
1070
1070
  // See LICENSE in the project root for license information.
@@ -5212,7 +5212,7 @@ class AuroHelpText extends LitElement {
5212
5212
  }
5213
5213
  }
5214
5214
 
5215
- var formkitVersion = '202607160829';
5215
+ var formkitVersion = '202607160501';
5216
5216
 
5217
5217
  let AuroElement$1 = class AuroElement extends LitElement {
5218
5218
  static get properties() {
@@ -5352,15 +5352,6 @@ class AuroDropdown extends AuroElement$1 {
5352
5352
  this.matchWidth = false;
5353
5353
  this.noHideOnThisFocusLoss = false;
5354
5354
 
5355
- /**
5356
- * When true, the dropdown skips its generic focus restoration on close.
5357
- * Set by consumers (e.g. combobox) that manage their own focus routing
5358
- * via setClearBtnFocus / setInputFocus / keyboard strategy.
5359
- * Separate from noHideOnThisFocusLoss (which controls auto-close behavior).
5360
- * @public
5361
- */
5362
- this.noFocusRestoreOnClose = false;
5363
-
5364
5355
  this.errorMessage = undefined; // TODO - check with Doug if there is still more to do here
5365
5356
 
5366
5357
  // Layout Config
@@ -5535,23 +5526,10 @@ class AuroDropdown extends AuroElement$1 {
5535
5526
  const slot = this.trigger.querySelector('slot[name="trigger"]');
5536
5527
  if (slot) {
5537
5528
  const assigned = slot.assignedElements();
5538
- for (const el of assigned) {
5539
- if (el.hasAttribute('disabled')) {
5540
- continue;
5541
- }
5542
- // Try finding a focusable descendant first (handles non-focusable
5543
- // wrappers like <div> containing a <button>). If none found, try
5544
- // focusing the element directly (works for custom elements like
5545
- // auro-input that have delegatesFocus or a custom focus() method).
5546
- const descendants = getFocusableElements(el);
5547
- if (descendants.length > 0) {
5548
- descendants[0].focus();
5549
- return;
5550
- }
5551
- el.focus();
5552
- if (document.activeElement === el) {
5553
- return;
5554
- }
5529
+ const focusable = assigned.find((el) => !el.hasAttribute('disabled'));
5530
+ if (focusable) {
5531
+ focusable.focus();
5532
+ return;
5555
5533
  }
5556
5534
  }
5557
5535
  // Fallback: try DOM children (non-slotted content)
@@ -6011,7 +5989,7 @@ class AuroDropdown extends AuroElement$1 {
6011
5989
  }
6012
5990
 
6013
5991
  const eventType = event.detail.eventType || "unknown";
6014
- if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown" && !this.noFocusRestoreOnClose) {
5992
+ if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown") {
6015
5993
  this.focusTrigger();
6016
5994
  }
6017
5995
 
@@ -6019,9 +5997,9 @@ class AuroDropdown extends AuroElement$1 {
6019
5997
  // On Tab-driven close (eventType "focusloss"), let focus advance naturally
6020
5998
  // — restoring to the trigger would trap the user on this dropdown, forcing
6021
5999
  // an extra Tab to move on. Escape and outside-click still restore.
6022
- // When noFocusRestoreOnClose is true, the consumer (e.g. combobox) manages
6000
+ // When noHideOnThisFocusLoss is true, the consumer (e.g. combobox) manages
6023
6001
  // its own focus restoration — skip the generic trigger focus to avoid races.
6024
- if (!this.isPopoverVisible && eventType !== "focusloss" && !this.noFocusRestoreOnClose) {
6002
+ if (!this.isPopoverVisible && eventType !== "focusloss" && !this.noHideOnThisFocusLoss) {
6025
6003
  // wait til the bib gets fully closed and rendered
6026
6004
  setTimeout(() => {
6027
6005
  // Skip if the bib re-opened, or if focus moved intentionally outside the dropdown (not to body).