@aurodesignsystem/auro-formkit 6.0.2 → 6.0.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 (57) hide show
  1. package/CHANGELOG.md +8 -10
  2. package/components/checkbox/demo/customize.min.js +1 -1
  3. package/components/checkbox/demo/getting-started.min.js +20 -1
  4. package/components/checkbox/demo/index.min.js +1 -1
  5. package/components/checkbox/dist/index.js +1 -1
  6. package/components/checkbox/dist/registered.js +1 -1
  7. package/components/combobox/demo/customize.md +40 -0
  8. package/components/combobox/demo/customize.min.js +390 -56
  9. package/components/combobox/demo/getting-started.min.js +390 -56
  10. package/components/combobox/demo/index.html +1 -1
  11. package/components/combobox/demo/index.min.js +390 -56
  12. package/components/combobox/dist/index.js +68 -29
  13. package/components/combobox/dist/registered.js +68 -29
  14. package/components/counter/demo/customize.min.js +38 -3
  15. package/components/counter/demo/index.min.js +12 -3
  16. package/components/counter/dist/index.js +12 -3
  17. package/components/counter/dist/registered.js +12 -3
  18. package/components/datepicker/demo/customize.min.js +49 -5
  19. package/components/datepicker/demo/index.min.js +14 -5
  20. package/components/datepicker/dist/index.js +14 -5
  21. package/components/datepicker/dist/registered.js +14 -5
  22. package/components/dropdown/demo/customize.md +4 -4
  23. package/components/dropdown/demo/customize.min.js +53 -5
  24. package/components/dropdown/demo/getting-started.html +3 -0
  25. package/components/dropdown/demo/getting-started.md +4 -4
  26. package/components/dropdown/demo/getting-started.min.js +13087 -77
  27. package/components/dropdown/demo/index.min.js +30 -11
  28. package/components/dropdown/dist/index.js +10 -1
  29. package/components/dropdown/dist/registered.js +10 -1
  30. package/components/form/demo/customize.min.js +430 -69
  31. package/components/form/demo/getting-started.min.js +430 -69
  32. package/components/form/demo/index.min.js +430 -69
  33. package/components/form/demo/registerDemoDeps.min.js +430 -69
  34. package/components/input/demo/customize.min.js +1 -1
  35. package/components/input/demo/getting-started.min.js +1 -1
  36. package/components/input/demo/index.min.js +1 -1
  37. package/components/input/dist/index.js +1 -1
  38. package/components/input/dist/registered.js +1 -1
  39. package/components/menu/demo/customize.md +50 -0
  40. package/components/menu/demo/index.min.js +322 -27
  41. package/components/menu/dist/auro-menu-utils.d.ts +30 -0
  42. package/components/menu/dist/auro-menu.d.ts +23 -0
  43. package/components/menu/dist/index.js +322 -27
  44. package/components/menu/dist/registered.js +322 -27
  45. package/components/radio/demo/customize.min.js +1 -1
  46. package/components/radio/demo/getting-started.min.js +1 -1
  47. package/components/radio/demo/index.min.js +1 -1
  48. package/components/radio/dist/index.js +1 -1
  49. package/components/radio/dist/registered.js +1 -1
  50. package/components/select/demo/customize.md +72 -0
  51. package/components/select/demo/customize.min.js +333 -29
  52. package/components/select/demo/getting-started.min.js +333 -29
  53. package/components/select/demo/index.min.js +333 -29
  54. package/components/select/dist/index.js +11 -2
  55. package/components/select/dist/registered.js +11 -2
  56. package/custom-elements.json +1613 -1510
  57. package/package.json +1 -1
@@ -4910,7 +4910,7 @@ let AuroHelpText$2 = class AuroHelpText extends LitElement {
4910
4910
  }
4911
4911
  };
4912
4912
 
4913
- var formkitVersion$2 = '202607291953';
4913
+ var formkitVersion$2 = '202608111803';
4914
4914
 
4915
4915
  let AuroElement$2 = class AuroElement extends LitElement {
4916
4916
  static get properties() {
@@ -5612,6 +5612,15 @@ class AuroDropdown extends AuroElement$2 {
5612
5612
 
5613
5613
  connectedCallback() {
5614
5614
  super.connectedCallback();
5615
+ // Re-register trigger event listeners removed by floater.disconnect() in
5616
+ // disconnectedCallback(). Fires when a parent element (e.g. auro-drawer)
5617
+ // moves this element to a new DOM location. firstUpdated() won't re-run,
5618
+ // so without this the trigger click/keydown handlers are permanently gone.
5619
+ // Guard on floater.element so this is a no-op on the initial connect
5620
+ // (before firstUpdated() has called configure()).
5621
+ if (this.floater?.element) {
5622
+ this.floater.configure(this, 'auroDropdown', !this.disableKeyboardHandling);
5623
+ }
5615
5624
  }
5616
5625
 
5617
5626
  disconnectedCallback() {
@@ -18592,7 +18601,7 @@ let AuroHelpText$1 = class AuroHelpText extends LitElement {
18592
18601
  }
18593
18602
  };
18594
18603
 
18595
- var formkitVersion$1 = '202607291953';
18604
+ var formkitVersion$1 = '202608111803';
18596
18605
 
18597
18606
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
18598
18607
  // See LICENSE in the project root for license information.
@@ -19748,7 +19757,7 @@ class AuroBibtemplate extends LitElement {
19748
19757
  }
19749
19758
  }
19750
19759
 
19751
- var formkitVersion = '202607291953';
19760
+ var formkitVersion = '202608111803';
19752
19761
 
19753
19762
  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}`;
19754
19763
 
@@ -21554,7 +21563,17 @@ class AuroCombobox extends AuroElement {
21554
21563
  return;
21555
21564
  }
21556
21565
 
21557
- this.value = this.input.value;
21566
+ // Skip this write during a display-value sync: that path sets the input to
21567
+ // the selected option's LABEL, which is not its machine value. When an
21568
+ // option's label differs from its value (and especially when several
21569
+ // options share a value but render distinct labels — AB#1602086), writing
21570
+ // the label back into this.value clobbers the machine value the selection
21571
+ // listener just set (this.value = optionSelected.value), collapsing the
21572
+ // selection. _syncingBibValue still tracks (that mirrors user-typed text
21573
+ // from the fullscreen bib, where value should follow the input).
21574
+ if (!this._syncingDisplayValue) {
21575
+ this.value = this.input.value;
21576
+ }
21558
21577
 
21559
21578
  // Ignore re-entrant input events caused by programmatic value sets.
21560
21579
  if (this._syncingBibValue || this._syncingDisplayValue) {
@@ -21818,33 +21837,53 @@ class AuroCombobox extends AuroElement {
21818
21837
  }
21819
21838
 
21820
21839
  if (this.input.value !== this.value) {
21821
- // Clear menu.value AND menu.optionSelected together. Clearing only
21822
- // menu.value leaves the previously-selected option element pinned
21823
- // as menu.optionSelected; a later auroMenu-selectedOption event
21824
- // would then write its stale .value back into combobox.value
21825
- // (e.g. Tab-after-Backspace re-selecting the prior option).
21826
- if (this.menu.value || this.menu.optionSelected) {
21827
- this.menu.clearSelection();
21828
- }
21840
+ // A fresh user selection leaves the input showing the option's LABEL
21841
+ // while this.value holds its machine value, so input.value !== this.value
21842
+ // is expected whenever label ≠ value. In that case the menu's current
21843
+ // selection is authoritative and when several options share a value it
21844
+ // is the ONLY thing that records WHICH same-value option the user picked
21845
+ // (the menu tracks it by element identity via `_selectedKey`). Clearing
21846
+ // it here drops that key; the ensuing value-only re-resolution then
21847
+ // collapses the selection onto the first same-value option (AB#1602086).
21848
+ // So only treat the divergence as a stale menu when the selected option
21849
+ // does NOT match the new value.
21850
+ const menuSelectionMatchesValue =
21851
+ this.menu.optionSelected &&
21852
+ // optionSelected is a single element here (scalar `.value`). A multiselect
21853
+ // menu exposes it as an ARRAY, which has no scalar `.value` to compare, so
21854
+ // that shape can't be a single-option match — fall through to the clear path.
21855
+ !Array.isArray(this.menu.optionSelected) &&
21856
+ this.menu.optionSelected.value === this.value;
21857
+
21858
+ if (!menuSelectionMatchesValue) {
21859
+ // Clear menu.value AND menu.optionSelected together. Clearing only
21860
+ // menu.value leaves the previously-selected option element pinned
21861
+ // as menu.optionSelected; a later auroMenu-selectedOption event
21862
+ // would then write its stale .value back into combobox.value
21863
+ // (e.g. Tab-after-Backspace re-selecting the prior option).
21864
+ if (this.menu.value || this.menu.optionSelected) {
21865
+ this.menu.clearSelection();
21866
+ }
21829
21867
 
21830
- if (!this.persistInput) {
21831
- this.syncInputValuesAcrossTriggerAndBib(this.value || '');
21832
- }
21868
+ if (!this.persistInput) {
21869
+ this.syncInputValuesAcrossTriggerAndBib(this.value || '');
21870
+ }
21833
21871
 
21834
- // Programmatic value with no matching option: updateFilter will close
21835
- // the bib silently (see line 648 — no noMatchOption + 0 results
21836
- // hides). Announce so screen-reader users hear the request was
21837
- // dropped. Gated on `input.value !== this.value` so this never fires
21838
- // for user typing — that path always reconciles input.value to
21839
- // this.value before updated() runs.
21840
- if (
21841
- this.value &&
21842
- this.menu &&
21843
- this.menu.options &&
21844
- this.menu.options.length > 0 &&
21845
- !this.menu.options.some((opt) => opt.value === this.value)
21846
- ) {
21847
- announceToScreenReader(this._getAnnouncementRoot(), `No matching option for ${this.value}`);
21872
+ // Programmatic value with no matching option: updateFilter will close
21873
+ // the bib silently (see line 648 — no noMatchOption + 0 results
21874
+ // hides). Announce so screen-reader users hear the request was
21875
+ // dropped. Gated on `input.value !== this.value` so this never fires
21876
+ // for user typing — that path always reconciles input.value to
21877
+ // this.value before updated() runs.
21878
+ if (
21879
+ this.value &&
21880
+ this.menu &&
21881
+ this.menu.options &&
21882
+ this.menu.options.length > 0 &&
21883
+ !this.menu.options.some((opt) => opt.value === this.value)
21884
+ ) {
21885
+ announceToScreenReader(this._getAnnouncementRoot(), `No matching option for ${this.value}`);
21886
+ }
21848
21887
  }
21849
21888
  }
21850
21889
 
@@ -4910,7 +4910,7 @@ let AuroHelpText$2 = class AuroHelpText extends LitElement {
4910
4910
  }
4911
4911
  };
4912
4912
 
4913
- var formkitVersion$2 = '202607291953';
4913
+ var formkitVersion$2 = '202608111803';
4914
4914
 
4915
4915
  let AuroElement$2 = class AuroElement extends LitElement {
4916
4916
  static get properties() {
@@ -5612,6 +5612,15 @@ class AuroDropdown extends AuroElement$2 {
5612
5612
 
5613
5613
  connectedCallback() {
5614
5614
  super.connectedCallback();
5615
+ // Re-register trigger event listeners removed by floater.disconnect() in
5616
+ // disconnectedCallback(). Fires when a parent element (e.g. auro-drawer)
5617
+ // moves this element to a new DOM location. firstUpdated() won't re-run,
5618
+ // so without this the trigger click/keydown handlers are permanently gone.
5619
+ // Guard on floater.element so this is a no-op on the initial connect
5620
+ // (before firstUpdated() has called configure()).
5621
+ if (this.floater?.element) {
5622
+ this.floater.configure(this, 'auroDropdown', !this.disableKeyboardHandling);
5623
+ }
5615
5624
  }
5616
5625
 
5617
5626
  disconnectedCallback() {
@@ -18592,7 +18601,7 @@ let AuroHelpText$1 = class AuroHelpText extends LitElement {
18592
18601
  }
18593
18602
  };
18594
18603
 
18595
- var formkitVersion$1 = '202607291953';
18604
+ var formkitVersion$1 = '202608111803';
18596
18605
 
18597
18606
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
18598
18607
  // See LICENSE in the project root for license information.
@@ -19748,7 +19757,7 @@ class AuroBibtemplate extends LitElement {
19748
19757
  }
19749
19758
  }
19750
19759
 
19751
- var formkitVersion = '202607291953';
19760
+ var formkitVersion = '202608111803';
19752
19761
 
19753
19762
  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}`;
19754
19763
 
@@ -21554,7 +21563,17 @@ class AuroCombobox extends AuroElement {
21554
21563
  return;
21555
21564
  }
21556
21565
 
21557
- this.value = this.input.value;
21566
+ // Skip this write during a display-value sync: that path sets the input to
21567
+ // the selected option's LABEL, which is not its machine value. When an
21568
+ // option's label differs from its value (and especially when several
21569
+ // options share a value but render distinct labels — AB#1602086), writing
21570
+ // the label back into this.value clobbers the machine value the selection
21571
+ // listener just set (this.value = optionSelected.value), collapsing the
21572
+ // selection. _syncingBibValue still tracks (that mirrors user-typed text
21573
+ // from the fullscreen bib, where value should follow the input).
21574
+ if (!this._syncingDisplayValue) {
21575
+ this.value = this.input.value;
21576
+ }
21558
21577
 
21559
21578
  // Ignore re-entrant input events caused by programmatic value sets.
21560
21579
  if (this._syncingBibValue || this._syncingDisplayValue) {
@@ -21818,33 +21837,53 @@ class AuroCombobox extends AuroElement {
21818
21837
  }
21819
21838
 
21820
21839
  if (this.input.value !== this.value) {
21821
- // Clear menu.value AND menu.optionSelected together. Clearing only
21822
- // menu.value leaves the previously-selected option element pinned
21823
- // as menu.optionSelected; a later auroMenu-selectedOption event
21824
- // would then write its stale .value back into combobox.value
21825
- // (e.g. Tab-after-Backspace re-selecting the prior option).
21826
- if (this.menu.value || this.menu.optionSelected) {
21827
- this.menu.clearSelection();
21828
- }
21840
+ // A fresh user selection leaves the input showing the option's LABEL
21841
+ // while this.value holds its machine value, so input.value !== this.value
21842
+ // is expected whenever label ≠ value. In that case the menu's current
21843
+ // selection is authoritative and when several options share a value it
21844
+ // is the ONLY thing that records WHICH same-value option the user picked
21845
+ // (the menu tracks it by element identity via `_selectedKey`). Clearing
21846
+ // it here drops that key; the ensuing value-only re-resolution then
21847
+ // collapses the selection onto the first same-value option (AB#1602086).
21848
+ // So only treat the divergence as a stale menu when the selected option
21849
+ // does NOT match the new value.
21850
+ const menuSelectionMatchesValue =
21851
+ this.menu.optionSelected &&
21852
+ // optionSelected is a single element here (scalar `.value`). A multiselect
21853
+ // menu exposes it as an ARRAY, which has no scalar `.value` to compare, so
21854
+ // that shape can't be a single-option match — fall through to the clear path.
21855
+ !Array.isArray(this.menu.optionSelected) &&
21856
+ this.menu.optionSelected.value === this.value;
21857
+
21858
+ if (!menuSelectionMatchesValue) {
21859
+ // Clear menu.value AND menu.optionSelected together. Clearing only
21860
+ // menu.value leaves the previously-selected option element pinned
21861
+ // as menu.optionSelected; a later auroMenu-selectedOption event
21862
+ // would then write its stale .value back into combobox.value
21863
+ // (e.g. Tab-after-Backspace re-selecting the prior option).
21864
+ if (this.menu.value || this.menu.optionSelected) {
21865
+ this.menu.clearSelection();
21866
+ }
21829
21867
 
21830
- if (!this.persistInput) {
21831
- this.syncInputValuesAcrossTriggerAndBib(this.value || '');
21832
- }
21868
+ if (!this.persistInput) {
21869
+ this.syncInputValuesAcrossTriggerAndBib(this.value || '');
21870
+ }
21833
21871
 
21834
- // Programmatic value with no matching option: updateFilter will close
21835
- // the bib silently (see line 648 — no noMatchOption + 0 results
21836
- // hides). Announce so screen-reader users hear the request was
21837
- // dropped. Gated on `input.value !== this.value` so this never fires
21838
- // for user typing — that path always reconciles input.value to
21839
- // this.value before updated() runs.
21840
- if (
21841
- this.value &&
21842
- this.menu &&
21843
- this.menu.options &&
21844
- this.menu.options.length > 0 &&
21845
- !this.menu.options.some((opt) => opt.value === this.value)
21846
- ) {
21847
- announceToScreenReader(this._getAnnouncementRoot(), `No matching option for ${this.value}`);
21872
+ // Programmatic value with no matching option: updateFilter will close
21873
+ // the bib silently (see line 648 — no noMatchOption + 0 results
21874
+ // hides). Announce so screen-reader users hear the request was
21875
+ // dropped. Gated on `input.value !== this.value` so this never fires
21876
+ // for user typing — that path always reconciles input.value to
21877
+ // this.value before updated() runs.
21878
+ if (
21879
+ this.value &&
21880
+ this.menu &&
21881
+ this.menu.options &&
21882
+ this.menu.options.length > 0 &&
21883
+ !this.menu.options.some((opt) => opt.value === this.value)
21884
+ ) {
21885
+ announceToScreenReader(this._getAnnouncementRoot(), `No matching option for ${this.value}`);
21886
+ }
21848
21887
  }
21849
21888
  }
21850
21889
 
@@ -1117,7 +1117,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$2 {
1117
1117
  }
1118
1118
  };
1119
1119
 
1120
- var formkitVersion$1 = '202607291953';
1120
+ var formkitVersion$1 = '202608111803';
1121
1121
 
1122
1122
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
1123
1123
  // See LICENSE in the project root for license information.
@@ -1522,7 +1522,7 @@ class AuroCounter extends i$2 {
1522
1522
  aria-valuemax="${this.max}"
1523
1523
  aria-valuemin="${this.min}"
1524
1524
  aria-valuenow="${this.value}"
1525
- aria-valuetext="${this.value !== undefined ? this.value : this.min}"
1525
+ aria-valuetext="'${this.value !== undefined ? this.value : this.min}'"
1526
1526
  role="spinbutton"
1527
1527
  tabindex="${this.disabled ? '-1' : '0'}"
1528
1528
  >
@@ -5288,7 +5288,7 @@ class AuroHelpText extends i$2 {
5288
5288
  }
5289
5289
  }
5290
5290
 
5291
- var formkitVersion = '202607291953';
5291
+ var formkitVersion = '202608111803';
5292
5292
 
5293
5293
  let AuroElement$1 = class AuroElement extends i$2 {
5294
5294
  static get properties() {
@@ -5990,6 +5990,15 @@ class AuroDropdown extends AuroElement$1 {
5990
5990
 
5991
5991
  connectedCallback() {
5992
5992
  super.connectedCallback();
5993
+ // Re-register trigger event listeners removed by floater.disconnect() in
5994
+ // disconnectedCallback(). Fires when a parent element (e.g. auro-drawer)
5995
+ // moves this element to a new DOM location. firstUpdated() won't re-run,
5996
+ // so without this the trigger click/keydown handlers are permanently gone.
5997
+ // Guard on floater.element so this is a no-op on the initial connect
5998
+ // (before firstUpdated() has called configure()).
5999
+ if (this.floater?.element) {
6000
+ this.floater.configure(this, 'auroDropdown', !this.disableKeyboardHandling);
6001
+ }
5993
6002
  }
5994
6003
 
5995
6004
  disconnectedCallback() {
@@ -8179,6 +8188,22 @@ class AuroCounterGroup extends AuroElement {
8179
8188
  }
8180
8189
  }
8181
8190
 
8191
+ function dropdownCounterExample() {
8192
+ const elem = document.querySelector('#dropdownCouterExample');
8193
+ const resetBtn = elem.querySelector("#dropdownCounterExampleResetbutton") || elem.dropdown.bib.querySelector("#dropdownCounterExampleResetbutton");
8194
+ const saveBtn = elem.querySelector("#dropdownCounterExampleSavebutton") || elem.dropdown.bib.querySelector("#dropdownCounterExampleSavebutton");
8195
+
8196
+ resetBtn.addEventListener('click', () => {
8197
+ elem.counters.forEach(counter => {
8198
+ counter.value = 0;
8199
+ });
8200
+ });
8201
+
8202
+ saveBtn.addEventListener('click', () => {
8203
+ elem.dropdown.hide();
8204
+ });
8205
+ }
8206
+
8182
8207
  /* eslint-disable jsdoc/require-jsdoc, no-magic-numbers, no-param-reassign */
8183
8208
 
8184
8209
  AuroCounter.register();
@@ -8187,6 +8212,16 @@ AuroCounterGroup.register('custom-counter-group');
8187
8212
  AuroCounter.register('custom-counter');
8188
8213
 
8189
8214
  function initExamples(initialCount = 0) {
8215
+ try {
8216
+ dropdownCounterExample();
8217
+ } catch (err) {
8218
+ if (initialCount <= 20) {
8219
+ // setTimeout handles issue where content is sometimes loaded after the functions get called
8220
+ setTimeout(() => {
8221
+ initExamples(initialCount + 1);
8222
+ }, 100);
8223
+ }
8224
+ }
8190
8225
  }
8191
8226
 
8192
8227
  export { initExamples };
@@ -1117,7 +1117,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$2 {
1117
1117
  }
1118
1118
  };
1119
1119
 
1120
- var formkitVersion$1 = '202607291953';
1120
+ var formkitVersion$1 = '202608111803';
1121
1121
 
1122
1122
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
1123
1123
  // See LICENSE in the project root for license information.
@@ -1522,7 +1522,7 @@ class AuroCounter extends i$2 {
1522
1522
  aria-valuemax="${this.max}"
1523
1523
  aria-valuemin="${this.min}"
1524
1524
  aria-valuenow="${this.value}"
1525
- aria-valuetext="${this.value !== undefined ? this.value : this.min}"
1525
+ aria-valuetext="'${this.value !== undefined ? this.value : this.min}'"
1526
1526
  role="spinbutton"
1527
1527
  tabindex="${this.disabled ? '-1' : '0'}"
1528
1528
  >
@@ -5288,7 +5288,7 @@ class AuroHelpText extends i$2 {
5288
5288
  }
5289
5289
  }
5290
5290
 
5291
- var formkitVersion = '202607291953';
5291
+ var formkitVersion = '202608111803';
5292
5292
 
5293
5293
  let AuroElement$1 = class AuroElement extends i$2 {
5294
5294
  static get properties() {
@@ -5990,6 +5990,15 @@ class AuroDropdown extends AuroElement$1 {
5990
5990
 
5991
5991
  connectedCallback() {
5992
5992
  super.connectedCallback();
5993
+ // Re-register trigger event listeners removed by floater.disconnect() in
5994
+ // disconnectedCallback(). Fires when a parent element (e.g. auro-drawer)
5995
+ // moves this element to a new DOM location. firstUpdated() won't re-run,
5996
+ // so without this the trigger click/keydown handlers are permanently gone.
5997
+ // Guard on floater.element so this is a no-op on the initial connect
5998
+ // (before firstUpdated() has called configure()).
5999
+ if (this.floater?.element) {
6000
+ this.floater.configure(this, 'auroDropdown', !this.disableKeyboardHandling);
6001
+ }
5993
6002
  }
5994
6003
 
5995
6004
  disconnectedCallback() {
@@ -1067,7 +1067,7 @@ let AuroHelpText$1 = class AuroHelpText extends LitElement {
1067
1067
  }
1068
1068
  };
1069
1069
 
1070
- var formkitVersion$1 = '202607291953';
1070
+ var formkitVersion$1 = '202608111803';
1071
1071
 
1072
1072
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
1073
1073
  // See LICENSE in the project root for license information.
@@ -1472,7 +1472,7 @@ class AuroCounter extends LitElement {
1472
1472
  aria-valuemax="${this.max}"
1473
1473
  aria-valuemin="${this.min}"
1474
1474
  aria-valuenow="${this.value}"
1475
- aria-valuetext="${this.value !== undefined ? this.value : this.min}"
1475
+ aria-valuetext="'${this.value !== undefined ? this.value : this.min}'"
1476
1476
  role="spinbutton"
1477
1477
  tabindex="${this.disabled ? '-1' : '0'}"
1478
1478
  >
@@ -5220,7 +5220,7 @@ class AuroHelpText extends LitElement {
5220
5220
  }
5221
5221
  }
5222
5222
 
5223
- var formkitVersion = '202607291953';
5223
+ var formkitVersion = '202608111803';
5224
5224
 
5225
5225
  let AuroElement$1 = class AuroElement extends LitElement {
5226
5226
  static get properties() {
@@ -5922,6 +5922,15 @@ class AuroDropdown extends AuroElement$1 {
5922
5922
 
5923
5923
  connectedCallback() {
5924
5924
  super.connectedCallback();
5925
+ // Re-register trigger event listeners removed by floater.disconnect() in
5926
+ // disconnectedCallback(). Fires when a parent element (e.g. auro-drawer)
5927
+ // moves this element to a new DOM location. firstUpdated() won't re-run,
5928
+ // so without this the trigger click/keydown handlers are permanently gone.
5929
+ // Guard on floater.element so this is a no-op on the initial connect
5930
+ // (before firstUpdated() has called configure()).
5931
+ if (this.floater?.element) {
5932
+ this.floater.configure(this, 'auroDropdown', !this.disableKeyboardHandling);
5933
+ }
5925
5934
  }
5926
5935
 
5927
5936
  disconnectedCallback() {
@@ -1067,7 +1067,7 @@ let AuroHelpText$1 = class AuroHelpText extends LitElement {
1067
1067
  }
1068
1068
  };
1069
1069
 
1070
- var formkitVersion$1 = '202607291953';
1070
+ var formkitVersion$1 = '202608111803';
1071
1071
 
1072
1072
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
1073
1073
  // See LICENSE in the project root for license information.
@@ -1472,7 +1472,7 @@ class AuroCounter extends LitElement {
1472
1472
  aria-valuemax="${this.max}"
1473
1473
  aria-valuemin="${this.min}"
1474
1474
  aria-valuenow="${this.value}"
1475
- aria-valuetext="${this.value !== undefined ? this.value : this.min}"
1475
+ aria-valuetext="'${this.value !== undefined ? this.value : this.min}'"
1476
1476
  role="spinbutton"
1477
1477
  tabindex="${this.disabled ? '-1' : '0'}"
1478
1478
  >
@@ -5220,7 +5220,7 @@ class AuroHelpText extends LitElement {
5220
5220
  }
5221
5221
  }
5222
5222
 
5223
- var formkitVersion = '202607291953';
5223
+ var formkitVersion = '202608111803';
5224
5224
 
5225
5225
  let AuroElement$1 = class AuroElement extends LitElement {
5226
5226
  static get properties() {
@@ -5922,6 +5922,15 @@ class AuroDropdown extends AuroElement$1 {
5922
5922
 
5923
5923
  connectedCallback() {
5924
5924
  super.connectedCallback();
5925
+ // Re-register trigger event listeners removed by floater.disconnect() in
5926
+ // disconnectedCallback(). Fires when a parent element (e.g. auro-drawer)
5927
+ // moves this element to a new DOM location. firstUpdated() won't re-run,
5928
+ // so without this the trigger click/keydown handlers are permanently gone.
5929
+ // Guard on floater.element so this is a no-op on the initial connect
5930
+ // (before firstUpdated() has called configure()).
5931
+ if (this.floater?.element) {
5932
+ this.floater.configure(this, 'auroDropdown', !this.disableKeyboardHandling);
5933
+ }
5925
5934
  }
5926
5935
 
5927
5936
  disconnectedCallback() {