@aurodesignsystem-dev/auro-formkit 0.0.0-pr1524.0 → 0.0.0-pr1524.1

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 +37 -24
  7. package/components/combobox/demo/getting-started.min.js +37 -24
  8. package/components/combobox/demo/index.min.js +37 -24
  9. package/components/combobox/dist/auro-combobox.d.ts +10 -2
  10. package/components/combobox/dist/index.js +37 -24
  11. package/components/combobox/dist/registered.js +37 -24
  12. package/components/counter/demo/customize.min.js +2 -2
  13. package/components/counter/demo/index.min.js +2 -2
  14. package/components/counter/dist/index.js +2 -2
  15. package/components/counter/dist/registered.js +2 -2
  16. package/components/datepicker/demo/customize.min.js +3 -3
  17. package/components/datepicker/demo/index.min.js +3 -3
  18. package/components/datepicker/dist/index.js +3 -3
  19. package/components/datepicker/dist/registered.js +3 -3
  20. package/components/dropdown/demo/customize.min.js +1 -1
  21. package/components/dropdown/demo/getting-started.min.js +1 -1
  22. package/components/dropdown/demo/index.min.js +1 -1
  23. package/components/dropdown/dist/index.js +1 -1
  24. package/components/dropdown/dist/registered.js +1 -1
  25. package/components/form/demo/customize.min.js +107 -48
  26. package/components/form/demo/getting-started.min.js +107 -48
  27. package/components/form/demo/index.min.js +107 -48
  28. package/components/form/demo/registerDemoDeps.min.js +107 -48
  29. package/components/input/demo/customize.min.js +1 -1
  30. package/components/input/demo/getting-started.min.js +1 -1
  31. package/components/input/demo/index.min.js +1 -1
  32. package/components/input/dist/index.js +1 -1
  33. package/components/input/dist/registered.js +1 -1
  34. package/components/radio/demo/customize.min.js +1 -1
  35. package/components/radio/demo/getting-started.min.js +1 -1
  36. package/components/radio/demo/index.min.js +1 -1
  37. package/components/radio/dist/index.js +1 -1
  38. package/components/radio/dist/registered.js +1 -1
  39. package/components/select/demo/customize.min.js +62 -16
  40. package/components/select/demo/getting-started.min.js +62 -16
  41. package/components/select/demo/index.min.js +62 -16
  42. package/components/select/dist/auro-select.d.ts +6 -0
  43. package/components/select/dist/index.js +62 -16
  44. package/components/select/dist/registered.js +62 -16
  45. package/custom-elements.json +555 -555
  46. package/package.json +1 -1
@@ -1275,7 +1275,7 @@ class AuroHelpText extends i$2 {
1275
1275
  }
1276
1276
  }
1277
1277
 
1278
- var formkitVersion = '202607020031';
1278
+ var formkitVersion = '202607022214';
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 = '202607020031';
1278
+ var formkitVersion = '202607022214';
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 = '202607020031';
1278
+ var formkitVersion = '202607022214';
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 = '202607020031';
1231
+ var formkitVersion = '202607022214';
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 = '202607020031';
1231
+ var formkitVersion = '202607022214';
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.
@@ -4879,7 +4879,7 @@ let AuroHelpText$2 = class AuroHelpText extends i$3 {
4879
4879
  }
4880
4880
  };
4881
4881
 
4882
- var formkitVersion$2 = '202607020031';
4882
+ var formkitVersion$2 = '202607022214';
4883
4883
 
4884
4884
  let AuroElement$2 = class AuroElement extends i$3 {
4885
4885
  static get properties() {
@@ -18491,7 +18491,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$3 {
18491
18491
  }
18492
18492
  };
18493
18493
 
18494
- var formkitVersion$1 = '202607020031';
18494
+ var formkitVersion$1 = '202607022214';
18495
18495
 
18496
18496
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
18497
18497
  // See LICENSE in the project root for license information.
@@ -19612,7 +19612,7 @@ class AuroBibtemplate extends i$3 {
19612
19612
  }
19613
19613
  }
19614
19614
 
19615
- var formkitVersion = '202607020031';
19615
+ var formkitVersion = '202607022214';
19616
19616
 
19617
19617
  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}`;
19618
19618
 
@@ -20711,8 +20711,16 @@ class AuroCombobox extends AuroElement {
20711
20711
  /**
20712
20712
  * Processes hidden state of all menu options and determines if there are any available options not hidden.
20713
20713
  * @private
20714
- * @param {object} [root0={}] - Optional flag bag.
20715
- * @param {boolean} [root0.preferComboboxValue=false] - When true, a match on `this.value` wins the tie-break over `this.input.value` (used by handleSlotChange on mount / re-mount).
20714
+ * @param {object} [options={}] - Optional flag bag.
20715
+ * @param {boolean} [options.preferComboboxValue=false] - When true,
20716
+ * handleMenuOptions matches the selected option against `this.value`
20717
+ * first instead of `this.input.value`. Needed on mount and re-mount
20718
+ * because under `persistInput` the consumer's typedValue prop can drift
20719
+ * from the framework value (Svelte `{#key}` re-mount after a swap, or
20720
+ * SPA preselect after route change) and the old input-first match would
20721
+ * then pick the stale text. Only handleSlotChange passes this; typing
20722
+ * and clearing paths keep the input-first match so user clears aren't
20723
+ * undone.
20716
20724
  * @returns {void}
20717
20725
  */
20718
20726
  handleMenuOptions({ preferComboboxValue = false } = {}) {
@@ -20740,16 +20748,17 @@ class AuroCombobox extends AuroElement {
20740
20748
  // `this.value` when it matches a menu option. Covers SPA preselect and
20741
20749
  // consumer swap patterns (e.g. Svelte `{#key}` re-mount) where
20742
20750
  // `this.value` is authoritative but `this.input.value` may be empty or
20743
- // carry stale typed text from another field. Do NOT enable this in the
20744
- // event-driven path user clears would be undone by re-syncing to the
20745
- // previous combobox.value.
20746
- const valueMatches = preferComboboxValue &&
20747
- this.value &&
20748
- this.menu.options &&
20749
- this.menu.options.some((opt) => opt.value === this.value);
20750
- const matchValue = valueMatches ? this.value : this.input.value;
20751
- if (matchValue && this.menu.options && this.menu.options.some((opt) => opt.value === matchValue)) {
20752
- this.setMenuValue(matchValue);
20751
+ // carry stale typed text from another field. Event-driven callers do
20752
+ // not pass the flag, otherwise user clears would be undone by
20753
+ // re-syncing to the previous combobox.value.
20754
+ if (preferComboboxValue &&
20755
+ this.value &&
20756
+ this.menu.options?.some((opt) => opt.value === this.value)) {
20757
+ this.setMenuValue(this.value);
20758
+ this.syncValuesAndStates();
20759
+ } else if (this.input.value &&
20760
+ this.menu.options?.some((opt) => opt.value === this.input.value)) {
20761
+ this.setMenuValue(this.input.value);
20753
20762
  this.syncValuesAndStates();
20754
20763
  }
20755
20764
 
@@ -21185,15 +21194,19 @@ class AuroCombobox extends AuroElement {
21185
21194
  this.optionActive = evt.detail;
21186
21195
 
21187
21196
  if (this.input) {
21188
- // Defer to after this optionActive assignment flushes through Lit:
21189
- // the template binds `.a11yActivedescendant` on the trigger input,
21190
- // which propagates to auro-input.updated() setAttribute(
21191
- // 'aria-activedescendant', id) on the internal <input>. That
21192
- // setAttribute call clears the reflected ariaActiveDescendantElement
21193
- // property, so setting the ref first (synchronously here) gets
21194
- // clobbered. Awaiting updateComplete lets the attribute write finish
21195
- // first; the element reference then sticks and screen readers can
21196
- // cross the shadow-DOM boundary to the auro-menuoption in light DOM.
21197
+ // setActiveDescendant runs after Lit's update finishes because the
21198
+ // template's `.a11yActivedescendant` binding calls setAttribute on
21199
+ // the internal <input> in auro-input.updated(), which clears the
21200
+ // reflected ariaActiveDescendantElement property. Setting the ref
21201
+ // synchronously here would get overwritten by that attribute write.
21202
+ // Awaiting updateComplete lets the attribute write finish first,
21203
+ // then the ref sticks and screen readers can cross the shadow-DOM
21204
+ // boundary to the auro-menuoption in light DOM.
21205
+ //
21206
+ // The equality check covers the async gap: this.optionActive can
21207
+ // change before the callback runs (user arrowed elsewhere, or the
21208
+ // menu closed and cleared it to null), so we bail if the target
21209
+ // no longer matches to avoid reinstating a stale ref.
21197
21210
  const targetOption = this.optionActive;
21198
21211
  this.updateComplete.then(() => {
21199
21212
  if (this.input && this.optionActive === targetOption) {
@@ -4879,7 +4879,7 @@ let AuroHelpText$2 = class AuroHelpText extends i$3 {
4879
4879
  }
4880
4880
  };
4881
4881
 
4882
- var formkitVersion$2 = '202607020031';
4882
+ var formkitVersion$2 = '202607022214';
4883
4883
 
4884
4884
  let AuroElement$2 = class AuroElement extends i$3 {
4885
4885
  static get properties() {
@@ -18491,7 +18491,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$3 {
18491
18491
  }
18492
18492
  };
18493
18493
 
18494
- var formkitVersion$1 = '202607020031';
18494
+ var formkitVersion$1 = '202607022214';
18495
18495
 
18496
18496
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
18497
18497
  // See LICENSE in the project root for license information.
@@ -19612,7 +19612,7 @@ class AuroBibtemplate extends i$3 {
19612
19612
  }
19613
19613
  }
19614
19614
 
19615
- var formkitVersion = '202607020031';
19615
+ var formkitVersion = '202607022214';
19616
19616
 
19617
19617
  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}`;
19618
19618
 
@@ -20711,8 +20711,16 @@ class AuroCombobox extends AuroElement {
20711
20711
  /**
20712
20712
  * Processes hidden state of all menu options and determines if there are any available options not hidden.
20713
20713
  * @private
20714
- * @param {object} [root0={}] - Optional flag bag.
20715
- * @param {boolean} [root0.preferComboboxValue=false] - When true, a match on `this.value` wins the tie-break over `this.input.value` (used by handleSlotChange on mount / re-mount).
20714
+ * @param {object} [options={}] - Optional flag bag.
20715
+ * @param {boolean} [options.preferComboboxValue=false] - When true,
20716
+ * handleMenuOptions matches the selected option against `this.value`
20717
+ * first instead of `this.input.value`. Needed on mount and re-mount
20718
+ * because under `persistInput` the consumer's typedValue prop can drift
20719
+ * from the framework value (Svelte `{#key}` re-mount after a swap, or
20720
+ * SPA preselect after route change) and the old input-first match would
20721
+ * then pick the stale text. Only handleSlotChange passes this; typing
20722
+ * and clearing paths keep the input-first match so user clears aren't
20723
+ * undone.
20716
20724
  * @returns {void}
20717
20725
  */
20718
20726
  handleMenuOptions({ preferComboboxValue = false } = {}) {
@@ -20740,16 +20748,17 @@ class AuroCombobox extends AuroElement {
20740
20748
  // `this.value` when it matches a menu option. Covers SPA preselect and
20741
20749
  // consumer swap patterns (e.g. Svelte `{#key}` re-mount) where
20742
20750
  // `this.value` is authoritative but `this.input.value` may be empty or
20743
- // carry stale typed text from another field. Do NOT enable this in the
20744
- // event-driven path user clears would be undone by re-syncing to the
20745
- // previous combobox.value.
20746
- const valueMatches = preferComboboxValue &&
20747
- this.value &&
20748
- this.menu.options &&
20749
- this.menu.options.some((opt) => opt.value === this.value);
20750
- const matchValue = valueMatches ? this.value : this.input.value;
20751
- if (matchValue && this.menu.options && this.menu.options.some((opt) => opt.value === matchValue)) {
20752
- this.setMenuValue(matchValue);
20751
+ // carry stale typed text from another field. Event-driven callers do
20752
+ // not pass the flag, otherwise user clears would be undone by
20753
+ // re-syncing to the previous combobox.value.
20754
+ if (preferComboboxValue &&
20755
+ this.value &&
20756
+ this.menu.options?.some((opt) => opt.value === this.value)) {
20757
+ this.setMenuValue(this.value);
20758
+ this.syncValuesAndStates();
20759
+ } else if (this.input.value &&
20760
+ this.menu.options?.some((opt) => opt.value === this.input.value)) {
20761
+ this.setMenuValue(this.input.value);
20753
20762
  this.syncValuesAndStates();
20754
20763
  }
20755
20764
 
@@ -21185,15 +21194,19 @@ class AuroCombobox extends AuroElement {
21185
21194
  this.optionActive = evt.detail;
21186
21195
 
21187
21196
  if (this.input) {
21188
- // Defer to after this optionActive assignment flushes through Lit:
21189
- // the template binds `.a11yActivedescendant` on the trigger input,
21190
- // which propagates to auro-input.updated() setAttribute(
21191
- // 'aria-activedescendant', id) on the internal <input>. That
21192
- // setAttribute call clears the reflected ariaActiveDescendantElement
21193
- // property, so setting the ref first (synchronously here) gets
21194
- // clobbered. Awaiting updateComplete lets the attribute write finish
21195
- // first; the element reference then sticks and screen readers can
21196
- // cross the shadow-DOM boundary to the auro-menuoption in light DOM.
21197
+ // setActiveDescendant runs after Lit's update finishes because the
21198
+ // template's `.a11yActivedescendant` binding calls setAttribute on
21199
+ // the internal <input> in auro-input.updated(), which clears the
21200
+ // reflected ariaActiveDescendantElement property. Setting the ref
21201
+ // synchronously here would get overwritten by that attribute write.
21202
+ // Awaiting updateComplete lets the attribute write finish first,
21203
+ // then the ref sticks and screen readers can cross the shadow-DOM
21204
+ // boundary to the auro-menuoption in light DOM.
21205
+ //
21206
+ // The equality check covers the async gap: this.optionActive can
21207
+ // change before the callback runs (user arrowed elsewhere, or the
21208
+ // menu closed and cleared it to null), so we bail if the target
21209
+ // no longer matches to avoid reinstating a stale ref.
21197
21210
  const targetOption = this.optionActive;
21198
21211
  this.updateComplete.then(() => {
21199
21212
  if (this.input && this.optionActive === targetOption) {
@@ -4894,7 +4894,7 @@ let AuroHelpText$2 = class AuroHelpText extends i$3 {
4894
4894
  }
4895
4895
  };
4896
4896
 
4897
- var formkitVersion$2 = '202607020031';
4897
+ var formkitVersion$2 = '202607022214';
4898
4898
 
4899
4899
  let AuroElement$2 = class AuroElement extends i$3 {
4900
4900
  static get properties() {
@@ -18506,7 +18506,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$3 {
18506
18506
  }
18507
18507
  };
18508
18508
 
18509
- var formkitVersion$1 = '202607020031';
18509
+ var formkitVersion$1 = '202607022214';
18510
18510
 
18511
18511
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
18512
18512
  // See LICENSE in the project root for license information.
@@ -19627,7 +19627,7 @@ class AuroBibtemplate extends i$3 {
19627
19627
  }
19628
19628
  }
19629
19629
 
19630
- var formkitVersion = '202607020031';
19630
+ var formkitVersion = '202607022214';
19631
19631
 
19632
19632
  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}`;
19633
19633
 
@@ -20726,8 +20726,16 @@ class AuroCombobox extends AuroElement {
20726
20726
  /**
20727
20727
  * Processes hidden state of all menu options and determines if there are any available options not hidden.
20728
20728
  * @private
20729
- * @param {object} [root0={}] - Optional flag bag.
20730
- * @param {boolean} [root0.preferComboboxValue=false] - When true, a match on `this.value` wins the tie-break over `this.input.value` (used by handleSlotChange on mount / re-mount).
20729
+ * @param {object} [options={}] - Optional flag bag.
20730
+ * @param {boolean} [options.preferComboboxValue=false] - When true,
20731
+ * handleMenuOptions matches the selected option against `this.value`
20732
+ * first instead of `this.input.value`. Needed on mount and re-mount
20733
+ * because under `persistInput` the consumer's typedValue prop can drift
20734
+ * from the framework value (Svelte `{#key}` re-mount after a swap, or
20735
+ * SPA preselect after route change) and the old input-first match would
20736
+ * then pick the stale text. Only handleSlotChange passes this; typing
20737
+ * and clearing paths keep the input-first match so user clears aren't
20738
+ * undone.
20731
20739
  * @returns {void}
20732
20740
  */
20733
20741
  handleMenuOptions({ preferComboboxValue = false } = {}) {
@@ -20755,16 +20763,17 @@ class AuroCombobox extends AuroElement {
20755
20763
  // `this.value` when it matches a menu option. Covers SPA preselect and
20756
20764
  // consumer swap patterns (e.g. Svelte `{#key}` re-mount) where
20757
20765
  // `this.value` is authoritative but `this.input.value` may be empty or
20758
- // carry stale typed text from another field. Do NOT enable this in the
20759
- // event-driven path user clears would be undone by re-syncing to the
20760
- // previous combobox.value.
20761
- const valueMatches = preferComboboxValue &&
20762
- this.value &&
20763
- this.menu.options &&
20764
- this.menu.options.some((opt) => opt.value === this.value);
20765
- const matchValue = valueMatches ? this.value : this.input.value;
20766
- if (matchValue && this.menu.options && this.menu.options.some((opt) => opt.value === matchValue)) {
20767
- this.setMenuValue(matchValue);
20766
+ // carry stale typed text from another field. Event-driven callers do
20767
+ // not pass the flag, otherwise user clears would be undone by
20768
+ // re-syncing to the previous combobox.value.
20769
+ if (preferComboboxValue &&
20770
+ this.value &&
20771
+ this.menu.options?.some((opt) => opt.value === this.value)) {
20772
+ this.setMenuValue(this.value);
20773
+ this.syncValuesAndStates();
20774
+ } else if (this.input.value &&
20775
+ this.menu.options?.some((opt) => opt.value === this.input.value)) {
20776
+ this.setMenuValue(this.input.value);
20768
20777
  this.syncValuesAndStates();
20769
20778
  }
20770
20779
 
@@ -21200,15 +21209,19 @@ class AuroCombobox extends AuroElement {
21200
21209
  this.optionActive = evt.detail;
21201
21210
 
21202
21211
  if (this.input) {
21203
- // Defer to after this optionActive assignment flushes through Lit:
21204
- // the template binds `.a11yActivedescendant` on the trigger input,
21205
- // which propagates to auro-input.updated() setAttribute(
21206
- // 'aria-activedescendant', id) on the internal <input>. That
21207
- // setAttribute call clears the reflected ariaActiveDescendantElement
21208
- // property, so setting the ref first (synchronously here) gets
21209
- // clobbered. Awaiting updateComplete lets the attribute write finish
21210
- // first; the element reference then sticks and screen readers can
21211
- // cross the shadow-DOM boundary to the auro-menuoption in light DOM.
21212
+ // setActiveDescendant runs after Lit's update finishes because the
21213
+ // template's `.a11yActivedescendant` binding calls setAttribute on
21214
+ // the internal <input> in auro-input.updated(), which clears the
21215
+ // reflected ariaActiveDescendantElement property. Setting the ref
21216
+ // synchronously here would get overwritten by that attribute write.
21217
+ // Awaiting updateComplete lets the attribute write finish first,
21218
+ // then the ref sticks and screen readers can cross the shadow-DOM
21219
+ // boundary to the auro-menuoption in light DOM.
21220
+ //
21221
+ // The equality check covers the async gap: this.optionActive can
21222
+ // change before the callback runs (user arrowed elsewhere, or the
21223
+ // menu closed and cleared it to null), so we bail if the target
21224
+ // no longer matches to avoid reinstating a stale ref.
21212
21225
  const targetOption = this.optionActive;
21213
21226
  this.updateComplete.then(() => {
21214
21227
  if (this.input && this.optionActive === targetOption) {
@@ -424,8 +424,16 @@ export class AuroCombobox extends AuroElement {
424
424
  /**
425
425
  * Processes hidden state of all menu options and determines if there are any available options not hidden.
426
426
  * @private
427
- * @param {object} [root0={}] - Optional flag bag.
428
- * @param {boolean} [root0.preferComboboxValue=false] - When true, a match on `this.value` wins the tie-break over `this.input.value` (used by handleSlotChange on mount / re-mount).
427
+ * @param {object} [options={}] - Optional flag bag.
428
+ * @param {boolean} [options.preferComboboxValue=false] - When true,
429
+ * handleMenuOptions matches the selected option against `this.value`
430
+ * first instead of `this.input.value`. Needed on mount and re-mount
431
+ * because under `persistInput` the consumer's typedValue prop can drift
432
+ * from the framework value (Svelte `{#key}` re-mount after a swap, or
433
+ * SPA preselect after route change) and the old input-first match would
434
+ * then pick the stale text. Only handleSlotChange passes this; typing
435
+ * and clearing paths keep the input-first match so user clears aren't
436
+ * undone.
429
437
  * @returns {void}
430
438
  */
431
439
  private handleMenuOptions;
@@ -4812,7 +4812,7 @@ let AuroHelpText$2 = class AuroHelpText extends LitElement {
4812
4812
  }
4813
4813
  };
4814
4814
 
4815
- var formkitVersion$2 = '202607020031';
4815
+ var formkitVersion$2 = '202607022214';
4816
4816
 
4817
4817
  let AuroElement$2 = class AuroElement extends LitElement {
4818
4818
  static get properties() {
@@ -18417,7 +18417,7 @@ let AuroHelpText$1 = class AuroHelpText extends LitElement {
18417
18417
  }
18418
18418
  };
18419
18419
 
18420
- var formkitVersion$1 = '202607020031';
18420
+ var formkitVersion$1 = '202607022214';
18421
18421
 
18422
18422
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
18423
18423
  // See LICENSE in the project root for license information.
@@ -19538,7 +19538,7 @@ class AuroBibtemplate extends LitElement {
19538
19538
  }
19539
19539
  }
19540
19540
 
19541
- var formkitVersion = '202607020031';
19541
+ var formkitVersion = '202607022214';
19542
19542
 
19543
19543
  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}`;
19544
19544
 
@@ -20637,8 +20637,16 @@ class AuroCombobox extends AuroElement {
20637
20637
  /**
20638
20638
  * Processes hidden state of all menu options and determines if there are any available options not hidden.
20639
20639
  * @private
20640
- * @param {object} [root0={}] - Optional flag bag.
20641
- * @param {boolean} [root0.preferComboboxValue=false] - When true, a match on `this.value` wins the tie-break over `this.input.value` (used by handleSlotChange on mount / re-mount).
20640
+ * @param {object} [options={}] - Optional flag bag.
20641
+ * @param {boolean} [options.preferComboboxValue=false] - When true,
20642
+ * handleMenuOptions matches the selected option against `this.value`
20643
+ * first instead of `this.input.value`. Needed on mount and re-mount
20644
+ * because under `persistInput` the consumer's typedValue prop can drift
20645
+ * from the framework value (Svelte `{#key}` re-mount after a swap, or
20646
+ * SPA preselect after route change) and the old input-first match would
20647
+ * then pick the stale text. Only handleSlotChange passes this; typing
20648
+ * and clearing paths keep the input-first match so user clears aren't
20649
+ * undone.
20642
20650
  * @returns {void}
20643
20651
  */
20644
20652
  handleMenuOptions({ preferComboboxValue = false } = {}) {
@@ -20666,16 +20674,17 @@ class AuroCombobox extends AuroElement {
20666
20674
  // `this.value` when it matches a menu option. Covers SPA preselect and
20667
20675
  // consumer swap patterns (e.g. Svelte `{#key}` re-mount) where
20668
20676
  // `this.value` is authoritative but `this.input.value` may be empty or
20669
- // carry stale typed text from another field. Do NOT enable this in the
20670
- // event-driven path user clears would be undone by re-syncing to the
20671
- // previous combobox.value.
20672
- const valueMatches = preferComboboxValue &&
20673
- this.value &&
20674
- this.menu.options &&
20675
- this.menu.options.some((opt) => opt.value === this.value);
20676
- const matchValue = valueMatches ? this.value : this.input.value;
20677
- if (matchValue && this.menu.options && this.menu.options.some((opt) => opt.value === matchValue)) {
20678
- this.setMenuValue(matchValue);
20677
+ // carry stale typed text from another field. Event-driven callers do
20678
+ // not pass the flag, otherwise user clears would be undone by
20679
+ // re-syncing to the previous combobox.value.
20680
+ if (preferComboboxValue &&
20681
+ this.value &&
20682
+ this.menu.options?.some((opt) => opt.value === this.value)) {
20683
+ this.setMenuValue(this.value);
20684
+ this.syncValuesAndStates();
20685
+ } else if (this.input.value &&
20686
+ this.menu.options?.some((opt) => opt.value === this.input.value)) {
20687
+ this.setMenuValue(this.input.value);
20679
20688
  this.syncValuesAndStates();
20680
20689
  }
20681
20690
 
@@ -21111,15 +21120,19 @@ class AuroCombobox extends AuroElement {
21111
21120
  this.optionActive = evt.detail;
21112
21121
 
21113
21122
  if (this.input) {
21114
- // Defer to after this optionActive assignment flushes through Lit:
21115
- // the template binds `.a11yActivedescendant` on the trigger input,
21116
- // which propagates to auro-input.updated() setAttribute(
21117
- // 'aria-activedescendant', id) on the internal <input>. That
21118
- // setAttribute call clears the reflected ariaActiveDescendantElement
21119
- // property, so setting the ref first (synchronously here) gets
21120
- // clobbered. Awaiting updateComplete lets the attribute write finish
21121
- // first; the element reference then sticks and screen readers can
21122
- // cross the shadow-DOM boundary to the auro-menuoption in light DOM.
21123
+ // setActiveDescendant runs after Lit's update finishes because the
21124
+ // template's `.a11yActivedescendant` binding calls setAttribute on
21125
+ // the internal <input> in auro-input.updated(), which clears the
21126
+ // reflected ariaActiveDescendantElement property. Setting the ref
21127
+ // synchronously here would get overwritten by that attribute write.
21128
+ // Awaiting updateComplete lets the attribute write finish first,
21129
+ // then the ref sticks and screen readers can cross the shadow-DOM
21130
+ // boundary to the auro-menuoption in light DOM.
21131
+ //
21132
+ // The equality check covers the async gap: this.optionActive can
21133
+ // change before the callback runs (user arrowed elsewhere, or the
21134
+ // menu closed and cleared it to null), so we bail if the target
21135
+ // no longer matches to avoid reinstating a stale ref.
21123
21136
  const targetOption = this.optionActive;
21124
21137
  this.updateComplete.then(() => {
21125
21138
  if (this.input && this.optionActive === targetOption) {
@@ -4812,7 +4812,7 @@ let AuroHelpText$2 = class AuroHelpText extends LitElement {
4812
4812
  }
4813
4813
  };
4814
4814
 
4815
- var formkitVersion$2 = '202607020031';
4815
+ var formkitVersion$2 = '202607022214';
4816
4816
 
4817
4817
  let AuroElement$2 = class AuroElement extends LitElement {
4818
4818
  static get properties() {
@@ -18417,7 +18417,7 @@ let AuroHelpText$1 = class AuroHelpText extends LitElement {
18417
18417
  }
18418
18418
  };
18419
18419
 
18420
- var formkitVersion$1 = '202607020031';
18420
+ var formkitVersion$1 = '202607022214';
18421
18421
 
18422
18422
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
18423
18423
  // See LICENSE in the project root for license information.
@@ -19538,7 +19538,7 @@ class AuroBibtemplate extends LitElement {
19538
19538
  }
19539
19539
  }
19540
19540
 
19541
- var formkitVersion = '202607020031';
19541
+ var formkitVersion = '202607022214';
19542
19542
 
19543
19543
  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}`;
19544
19544
 
@@ -20637,8 +20637,16 @@ class AuroCombobox extends AuroElement {
20637
20637
  /**
20638
20638
  * Processes hidden state of all menu options and determines if there are any available options not hidden.
20639
20639
  * @private
20640
- * @param {object} [root0={}] - Optional flag bag.
20641
- * @param {boolean} [root0.preferComboboxValue=false] - When true, a match on `this.value` wins the tie-break over `this.input.value` (used by handleSlotChange on mount / re-mount).
20640
+ * @param {object} [options={}] - Optional flag bag.
20641
+ * @param {boolean} [options.preferComboboxValue=false] - When true,
20642
+ * handleMenuOptions matches the selected option against `this.value`
20643
+ * first instead of `this.input.value`. Needed on mount and re-mount
20644
+ * because under `persistInput` the consumer's typedValue prop can drift
20645
+ * from the framework value (Svelte `{#key}` re-mount after a swap, or
20646
+ * SPA preselect after route change) and the old input-first match would
20647
+ * then pick the stale text. Only handleSlotChange passes this; typing
20648
+ * and clearing paths keep the input-first match so user clears aren't
20649
+ * undone.
20642
20650
  * @returns {void}
20643
20651
  */
20644
20652
  handleMenuOptions({ preferComboboxValue = false } = {}) {
@@ -20666,16 +20674,17 @@ class AuroCombobox extends AuroElement {
20666
20674
  // `this.value` when it matches a menu option. Covers SPA preselect and
20667
20675
  // consumer swap patterns (e.g. Svelte `{#key}` re-mount) where
20668
20676
  // `this.value` is authoritative but `this.input.value` may be empty or
20669
- // carry stale typed text from another field. Do NOT enable this in the
20670
- // event-driven path user clears would be undone by re-syncing to the
20671
- // previous combobox.value.
20672
- const valueMatches = preferComboboxValue &&
20673
- this.value &&
20674
- this.menu.options &&
20675
- this.menu.options.some((opt) => opt.value === this.value);
20676
- const matchValue = valueMatches ? this.value : this.input.value;
20677
- if (matchValue && this.menu.options && this.menu.options.some((opt) => opt.value === matchValue)) {
20678
- this.setMenuValue(matchValue);
20677
+ // carry stale typed text from another field. Event-driven callers do
20678
+ // not pass the flag, otherwise user clears would be undone by
20679
+ // re-syncing to the previous combobox.value.
20680
+ if (preferComboboxValue &&
20681
+ this.value &&
20682
+ this.menu.options?.some((opt) => opt.value === this.value)) {
20683
+ this.setMenuValue(this.value);
20684
+ this.syncValuesAndStates();
20685
+ } else if (this.input.value &&
20686
+ this.menu.options?.some((opt) => opt.value === this.input.value)) {
20687
+ this.setMenuValue(this.input.value);
20679
20688
  this.syncValuesAndStates();
20680
20689
  }
20681
20690
 
@@ -21111,15 +21120,19 @@ class AuroCombobox extends AuroElement {
21111
21120
  this.optionActive = evt.detail;
21112
21121
 
21113
21122
  if (this.input) {
21114
- // Defer to after this optionActive assignment flushes through Lit:
21115
- // the template binds `.a11yActivedescendant` on the trigger input,
21116
- // which propagates to auro-input.updated() setAttribute(
21117
- // 'aria-activedescendant', id) on the internal <input>. That
21118
- // setAttribute call clears the reflected ariaActiveDescendantElement
21119
- // property, so setting the ref first (synchronously here) gets
21120
- // clobbered. Awaiting updateComplete lets the attribute write finish
21121
- // first; the element reference then sticks and screen readers can
21122
- // cross the shadow-DOM boundary to the auro-menuoption in light DOM.
21123
+ // setActiveDescendant runs after Lit's update finishes because the
21124
+ // template's `.a11yActivedescendant` binding calls setAttribute on
21125
+ // the internal <input> in auro-input.updated(), which clears the
21126
+ // reflected ariaActiveDescendantElement property. Setting the ref
21127
+ // synchronously here would get overwritten by that attribute write.
21128
+ // Awaiting updateComplete lets the attribute write finish first,
21129
+ // then the ref sticks and screen readers can cross the shadow-DOM
21130
+ // boundary to the auro-menuoption in light DOM.
21131
+ //
21132
+ // The equality check covers the async gap: this.optionActive can
21133
+ // change before the callback runs (user arrowed elsewhere, or the
21134
+ // menu closed and cleared it to null), so we bail if the target
21135
+ // no longer matches to avoid reinstating a stale ref.
21123
21136
  const targetOption = this.optionActive;
21124
21137
  this.updateComplete.then(() => {
21125
21138
  if (this.input && this.optionActive === targetOption) {
@@ -1114,7 +1114,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$2 {
1114
1114
  }
1115
1115
  };
1116
1116
 
1117
- var formkitVersion$1 = '202607020031';
1117
+ var formkitVersion$1 = '202607022214';
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.
@@ -5460,7 +5460,7 @@ class AuroHelpText extends i$2 {
5460
5460
  }
5461
5461
  }
5462
5462
 
5463
- var formkitVersion = '202607020031';
5463
+ var formkitVersion = '202607022214';
5464
5464
 
5465
5465
  let AuroElement$1 = class AuroElement extends i$2 {
5466
5466
  static get properties() {
@@ -1114,7 +1114,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$2 {
1114
1114
  }
1115
1115
  };
1116
1116
 
1117
- var formkitVersion$1 = '202607020031';
1117
+ var formkitVersion$1 = '202607022214';
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.
@@ -5460,7 +5460,7 @@ class AuroHelpText extends i$2 {
5460
5460
  }
5461
5461
  }
5462
5462
 
5463
- var formkitVersion = '202607020031';
5463
+ var formkitVersion = '202607022214';
5464
5464
 
5465
5465
  let AuroElement$1 = class AuroElement extends i$2 {
5466
5466
  static get properties() {