@aurodesignsystem-dev/auro-formkit 0.0.0-pr1530.1 → 0.0.0-pr1530.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 (50) 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 +42 -29
  7. package/components/combobox/demo/getting-started.min.js +42 -29
  8. package/components/combobox/demo/index.min.js +42 -29
  9. package/components/combobox/dist/index.js +42 -29
  10. package/components/combobox/dist/registered.js +42 -29
  11. package/components/counter/demo/customize.min.js +2 -2
  12. package/components/counter/demo/index.min.js +2 -2
  13. package/components/counter/dist/index.js +2 -2
  14. package/components/counter/dist/registered.js +2 -2
  15. package/components/datepicker/demo/accessibility.md +4 -4
  16. package/components/datepicker/demo/customize.min.js +42 -29
  17. package/components/datepicker/demo/index.min.js +42 -29
  18. package/components/datepicker/demo/keyboard-behavior.md +3 -3
  19. package/components/datepicker/demo/voiceover.md +3 -3
  20. package/components/datepicker/demo/why-datepicker.md +2 -2
  21. package/components/datepicker/dist/index.js +42 -29
  22. package/components/datepicker/dist/registered.js +42 -29
  23. package/components/dropdown/demo/customize.min.js +1 -1
  24. package/components/dropdown/demo/getting-started.min.js +1 -1
  25. package/components/dropdown/demo/index.min.js +1 -1
  26. package/components/dropdown/dist/index.js +1 -1
  27. package/components/dropdown/dist/registered.js +1 -1
  28. package/components/form/demo/customize.min.js +190 -105
  29. package/components/form/demo/getting-started.min.js +190 -105
  30. package/components/form/demo/index.min.js +190 -105
  31. package/components/form/demo/registerDemoDeps.min.js +190 -105
  32. package/components/input/demo/customize.min.js +40 -27
  33. package/components/input/demo/getting-started.min.js +40 -27
  34. package/components/input/demo/index.min.js +40 -27
  35. package/components/input/dist/base-input.d.ts +20 -4
  36. package/components/input/dist/index.js +40 -27
  37. package/components/input/dist/registered.js +40 -27
  38. package/components/radio/demo/customize.min.js +1 -1
  39. package/components/radio/demo/getting-started.min.js +1 -1
  40. package/components/radio/demo/index.min.js +1 -1
  41. package/components/radio/dist/index.js +1 -1
  42. package/components/radio/dist/registered.js +1 -1
  43. package/components/select/demo/customize.min.js +62 -16
  44. package/components/select/demo/getting-started.min.js +62 -16
  45. package/components/select/demo/index.min.js +62 -16
  46. package/components/select/dist/auro-select.d.ts +6 -0
  47. package/components/select/dist/index.js +62 -16
  48. package/components/select/dist/registered.js +62 -16
  49. package/custom-elements.json +98 -44
  50. package/package.json +1 -1
@@ -10728,14 +10728,16 @@ let BaseInput$2 = class BaseInput extends AuroElement$6 {
10728
10728
  this.label = 'Input label is undefined';
10729
10729
  this.layout = 'classic';
10730
10730
  this.locale = 'en-US';
10731
+ this._format = undefined;
10732
+
10733
+ /** @private */
10734
+ this._userSetFormat = false;
10731
10735
  this.max = undefined;
10732
10736
  this.maxLength = undefined;
10733
10737
  this.min = undefined;
10734
10738
  this.minLength = undefined;
10735
10739
  this.noValidate = false;
10736
10740
  this.onDark = false;
10737
- // Raw values returned from the input mask before model normalization.
10738
- this._rawMaskValue = undefined;
10739
10741
  this.required = false;
10740
10742
  this.setCustomValidityForType = undefined;
10741
10743
  // Credit Card is intentionally excluded — its mask manages the cursor
@@ -10893,7 +10895,8 @@ let BaseInput$2 = class BaseInput extends AuroElement$6 {
10893
10895
  */
10894
10896
  format: {
10895
10897
  type: String,
10896
- reflect: true
10898
+ reflect: true,
10899
+ noAccessor: true
10897
10900
  },
10898
10901
 
10899
10902
  /**
@@ -11231,6 +11234,34 @@ let BaseInput$2 = class BaseInput extends AuroElement$6 {
11231
11234
  return this.max && dateFormatter$3.isValidDate(this.max) ? dateFormatter$3.stringToDateInstance(this.max) : undefined;
11232
11235
  }
11233
11236
 
11237
+ get format() {
11238
+ return this._format;
11239
+ }
11240
+
11241
+ /**
11242
+ * Overrides LitElement's generated accessor so we can track whether the
11243
+ * consumer explicitly set `format`. Locale-derived updates use
11244
+ * `_setFormatFromLocale` instead, which skips this flag.
11245
+ */
11246
+ set format(value) {
11247
+ const oldValue = this._format;
11248
+ this._format = value ? value.toLowerCase() : value;
11249
+ this._userSetFormat = Boolean(value);
11250
+ this.requestUpdate('format', oldValue);
11251
+ }
11252
+
11253
+ /**
11254
+ * Sets format without marking it as user-set. Used by locale auto-derive
11255
+ * so that a subsequent locale change can still update the format.
11256
+ * @private
11257
+ * @param {string} value
11258
+ */
11259
+ _setFormatFromLocale(value) {
11260
+ const oldValue = this._format;
11261
+ this._format = value ? value.toLowerCase() : value;
11262
+ this.requestUpdate('format', oldValue);
11263
+ }
11264
+
11234
11265
  connectedCallback() {
11235
11266
  super.connectedCallback();
11236
11267
 
@@ -11278,15 +11309,6 @@ let BaseInput$2 = class BaseInput extends AuroElement$6 {
11278
11309
 
11279
11310
  this.inputId = this.id ? `${this.id}-input` : window.crypto.randomUUID();
11280
11311
 
11281
- // Normalize the format token to lowercase so case-mixed values supplied
11282
- // via attribute (e.g. `format="MM/DD/YYYY"`) hit the `dateFormatMap`
11283
- // lookup inside `setCustomHelpTextMessage`. Without this, an uppercase
11284
- // format silently misses the map and leaves `setCustomValidityForType`
11285
- // unset.
11286
- if (this.format) {
11287
- this.format = this.format.toLowerCase();
11288
- }
11289
-
11290
11312
  // use validity message override if declared when initializing the component
11291
11313
  if (this.hasAttribute('setCustomValidity')) {
11292
11314
  this.ValidityMessageOverride = this.setCustomValidity;
@@ -11393,12 +11415,10 @@ let BaseInput$2 = class BaseInput extends AuroElement$6 {
11393
11415
  updated(changedProperties) {
11394
11416
  super.updated(changedProperties);
11395
11417
 
11396
- // When locale changes without an explicit format override, derive format from the new locale.
11397
- // Only runs if the current format is still the previous locale's default (not user-overridden).
11418
+ // When locale changes, auto-derive format unless the consumer explicitly set one.
11398
11419
  if (changedProperties.has('locale') && !changedProperties.has('format') && this.type === 'date') {
11399
- const previousLocaleFormat = getDateFormatFromLocale$3(changedProperties.get('locale'));
11400
- if (!this.format || this.format.toLowerCase() === previousLocaleFormat) {
11401
- this.format = getDateFormatFromLocale$3(this.locale);
11420
+ if (!this._userSetFormat) {
11421
+ this._setFormatFromLocale(getDateFormatFromLocale$3(this.locale));
11402
11422
  }
11403
11423
  }
11404
11424
 
@@ -11569,9 +11589,6 @@ let BaseInput$2 = class BaseInput extends AuroElement$6 {
11569
11589
  this.maskInstance.on('accept', () => {
11570
11590
  if (this._configuringMask) return;
11571
11591
  this.value = this.util.toModelValue(this.maskInstance.value, this.format);
11572
- if (this.type === "date") {
11573
- this._rawMaskValue = this.maskInstance.value;
11574
- }
11575
11592
  });
11576
11593
 
11577
11594
  // Mask fires 'complete' on the restore step below for any value that
@@ -11579,9 +11596,6 @@ let BaseInput$2 = class BaseInput extends AuroElement$6 {
11579
11596
  this.maskInstance.on('complete', () => {
11580
11597
  if (this._configuringMask) return;
11581
11598
  this.value = this.util.toModelValue(this.maskInstance.value, this.format);
11582
- if (this.type === "date") {
11583
- this._rawMaskValue = this.maskInstance.value;
11584
- }
11585
11599
  });
11586
11600
 
11587
11601
  // Write existingValue through the mask (not the input directly) so
@@ -11818,8 +11832,7 @@ let BaseInput$2 = class BaseInput extends AuroElement$6 {
11818
11832
 
11819
11833
  // Set default date format if type=date and no format is defined
11820
11834
  if (this.type === "date" && !this.format) {
11821
- // Use locale to determine default date format
11822
- this.format = this.util.getDateMaskFromLocale().toLowerCase();
11835
+ this._setFormatFromLocale(this.util.getDateMaskFromLocale().toLowerCase());
11823
11836
  this.util.updateFormat(this.format);
11824
11837
  }
11825
11838
  }
@@ -11848,7 +11861,7 @@ let BaseInput$2 = class BaseInput extends AuroElement$6 {
11848
11861
  const creditCard = this.matchInputValueToCreditCard();
11849
11862
  const previousFormat = this.format;
11850
11863
 
11851
- this.format = creditCard.maskFormat;
11864
+ this._setFormatFromLocale(creditCard.maskFormat);
11852
11865
 
11853
11866
  this.maxLength = creditCard.formatLength;
11854
11867
  this.minLength = creditCard.formatMinLength;
@@ -12322,7 +12335,7 @@ let AuroHelpText$8 = class AuroHelpText extends i$2 {
12322
12335
  }
12323
12336
  };
12324
12337
 
12325
- var formkitVersion$8 = '202607022134';
12338
+ var formkitVersion$8 = '202607022225';
12326
12339
 
12327
12340
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
12328
12341
  // See LICENSE in the project root for license information.
@@ -26724,7 +26737,7 @@ let AuroBibtemplate$3 = class AuroBibtemplate extends i$2 {
26724
26737
  }
26725
26738
  };
26726
26739
 
26727
- var formkitVersion$2$1 = '202607022134';
26740
+ var formkitVersion$2$1 = '202607022225';
26728
26741
 
26729
26742
  let l$1$2 = class l{generateElementName(t,e){let o=t;return o+="-",o+=e.replace(/[.]/g,"_"),o}generateTag(o,s,a){const r=this.generateElementName(o,s),i=i$5`${s$5(r)}`;return customElements.get(r)||customElements.define(r,class extends a{}),i}};let d$1$2 = class d{registerComponent(t,e){customElements.get(t)||customElements.define(t,class extends e{});}closestElement(t,e=this,o=(e,s=e&&e.closest(t))=>e&&e!==document&&e!==window?s||o(e.getRootNode().host):null){return o(e)}handleComponentTagRename(t,e){const o=e.toLowerCase();t.tagName.toLowerCase()!==o&&t.setAttribute(o,true);}elementMatch(t,e){const o=e.toLowerCase();return t.tagName.toLowerCase()===o||t.hasAttribute(o)}getSlotText(t,e){const o=t.shadowRoot?.querySelector(`slot[name="${e}"]`),s=(o?.assignedNodes({flatten:true})||[]).map(t=>t.textContent?.trim()).join(" ").trim();return s||null}};let h$1$2 = class h{registerComponent(t,e){customElements.get(t)||customElements.define(t,class extends e{});}closestElement(t,e=this,o=(e,s=e&&e.closest(t))=>e&&e!==document&&e!==window?s||o(e.getRootNode().host):null){return o(e)}handleComponentTagRename(t,e){const o=e.toLowerCase();t.tagName.toLowerCase()!==o&&t.setAttribute(o,true);}elementMatch(t,e){const o=e.toLowerCase();return t.tagName.toLowerCase()===o||t.hasAttribute(o)}};var c$1$3=i$4`:host{color:var(--ds-auro-loader-color)}:host>span{background-color:var(--ds-auro-loader-background-color);border-color:var(--ds-auro-loader-border-color)}:host([onlight]),:host([appearance=brand]){--ds-auro-loader-color: var(--ds-basic-color-brand-primary, #01426a)}:host([ondark]),:host([appearance=inverse]){--ds-auro-loader-color: var(--ds-basic-color-texticon-inverse, #ffffff)}:host([orbit])>span{--ds-auro-loader-background-color: transparent}:host([orbit])>span:nth-child(1){--ds-auro-loader-border-color: currentcolor;opacity:.25}:host([orbit])>span:nth-child(2){--ds-auro-loader-border-color: currentcolor;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent}
26730
26743
  `,u$4$2=i$4`.body-default{font-size:var(--wcss-body-default-font-size, 1rem);line-height:var(--wcss-body-default-line-height, 1.5rem)}.body-default,.body-lg{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-weight, 450);letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-lg{font-size:var(--wcss-body-lg-font-size, 1.125rem);line-height:var(--wcss-body-lg-line-height, 1.625rem)}.body-sm{font-size:var(--wcss-body-sm-font-size, .875rem);line-height:var(--wcss-body-sm-line-height, 1.25rem)}.body-sm,.body-xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-weight, 450);letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-xs{font-size:var(--wcss-body-xs-font-size, .75rem);line-height:var(--wcss-body-xs-line-height, 1rem)}.body-2xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:var(--wcss-body-2xs-font-size, .625rem);font-weight:var(--wcss-body-weight, 450);letter-spacing:var(--wcss-body-letter-spacing, 0);line-height:var(--wcss-body-2xs-line-height, .875rem)}.display-2xl{font-family:var(--wcss-display-2xl-family, "AS Circular"),var(--wcss-display-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-2xl-font-size, clamp(3.5rem, 6vw, 5.375rem));font-weight:var(--wcss-display-2xl-weight, 300);letter-spacing:var(--wcss-display-2xl-letter-spacing, 0);line-height:var(--wcss-display-2xl-line-height, 1.3)}.display-xl{font-family:var(--wcss-display-xl-family, "AS Circular"),var(--wcss-display-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-xl-font-size, clamp(3rem, 5.3333333333vw, 4.5rem));font-weight:var(--wcss-display-xl-weight, 300);letter-spacing:var(--wcss-display-xl-letter-spacing, 0);line-height:var(--wcss-display-xl-line-height, 1.3)}.display-lg{font-family:var(--wcss-display-lg-family, "AS Circular"),var(--wcss-display-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-lg-font-size, clamp(2.75rem, 4.6666666667vw, 4rem));font-weight:var(--wcss-display-lg-weight, 300);letter-spacing:var(--wcss-display-lg-letter-spacing, 0);line-height:var(--wcss-display-lg-line-height, 1.3)}.display-md{font-family:var(--wcss-display-md-family, "AS Circular"),var(--wcss-display-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-md-font-size, clamp(2.5rem, 4vw, 3.5rem));font-weight:var(--wcss-display-md-weight, 300);letter-spacing:var(--wcss-display-md-letter-spacing, 0);line-height:var(--wcss-display-md-line-height, 1.3)}.display-sm{font-family:var(--wcss-display-sm-family, "AS Circular"),var(--wcss-display-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-sm-font-size, clamp(2rem, 3.6666666667vw, 3rem));font-weight:var(--wcss-display-sm-weight, 300);letter-spacing:var(--wcss-display-sm-letter-spacing, 0);line-height:var(--wcss-display-sm-line-height, 1.3)}.display-xs{font-family:var(--wcss-display-xs-family, "AS Circular"),var(--wcss-display-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-xs-font-size, clamp(1.75rem, 3vw, 2.375rem));font-weight:var(--wcss-display-xs-weight, 300);letter-spacing:var(--wcss-display-xs-letter-spacing, 0);line-height:var(--wcss-display-xs-line-height, 1.3)}.heading-xl{font-family:var(--wcss-heading-xl-family, "AS Circular"),var(--wcss-heading-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-xl-font-size, clamp(2rem, 3vw, 2.5rem));font-weight:var(--wcss-heading-xl-weight, 300);letter-spacing:var(--wcss-heading-xl-letter-spacing, 0);line-height:var(--wcss-heading-xl-line-height, 1.3)}.heading-lg{font-family:var(--wcss-heading-lg-family, "AS Circular"),var(--wcss-heading-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-lg-font-size, clamp(1.75rem, 2.6666666667vw, 2.25rem));font-weight:var(--wcss-heading-lg-weight, 300);letter-spacing:var(--wcss-heading-lg-letter-spacing, 0);line-height:var(--wcss-heading-lg-line-height, 1.3)}.heading-md{font-family:var(--wcss-heading-md-family, "AS Circular"),var(--wcss-heading-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-md-font-size, clamp(1.625rem, 2.3333333333vw, 1.75rem));font-weight:var(--wcss-heading-md-weight, 300);letter-spacing:var(--wcss-heading-md-letter-spacing, 0);line-height:var(--wcss-heading-md-line-height, 1.3)}.heading-sm{font-family:var(--wcss-heading-sm-family, "AS Circular"),var(--wcss-heading-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-sm-font-size, clamp(1.375rem, 2vw, 1.5rem));font-weight:var(--wcss-heading-sm-weight, 300);letter-spacing:var(--wcss-heading-sm-letter-spacing, 0);line-height:var(--wcss-heading-sm-line-height, 1.3)}.heading-xs{font-family:var(--wcss-heading-xs-family, "AS Circular"),var(--wcss-heading-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-xs-font-size, clamp(1.25rem, 1.6666666667vw, 1.25rem));font-weight:var(--wcss-heading-xs-weight, 450);letter-spacing:var(--wcss-heading-xs-letter-spacing, 0);line-height:var(--wcss-heading-xs-line-height, 1.3)}.heading-2xs{font-family:var(--wcss-heading-2xs-family, "AS Circular"),var(--wcss-heading-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-2xs-font-size, clamp(1.125rem, 1.5vw, 1.125rem));font-weight:var(--wcss-heading-2xs-weight, 450);letter-spacing:var(--wcss-heading-2xs-letter-spacing, 0);line-height:var(--wcss-heading-2xs-line-height, 1.3)}.accent-2xl{font-family:var(--wcss-accent-2xl-family, "Good OT"),var(--wcss-accent-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-2xl-font-size, clamp(2rem, 3.1666666667vw, 2.375rem));font-weight:var(--wcss-accent-2xl-weight, 450);letter-spacing:var(--wcss-accent-2xl-letter-spacing, .05em);line-height:var(--wcss-accent-2xl-line-height, 1)}.accent-2xl,.accent-xl{text-transform:uppercase}.accent-xl{font-family:var(--wcss-accent-xl-family, "Good OT"),var(--wcss-accent-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-xl-font-size, clamp(1.625rem, 2.3333333333vw, 2rem));font-weight:var(--wcss-accent-xl-weight, 450);letter-spacing:var(--wcss-accent-xl-letter-spacing, .05em);line-height:var(--wcss-accent-xl-line-height, 1.3)}.accent-lg{font-family:var(--wcss-accent-lg-family, "Good OT"),var(--wcss-accent-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-lg-font-size, clamp(1.5rem, 2.1666666667vw, 1.75rem));font-weight:var(--wcss-accent-lg-weight, 450);letter-spacing:var(--wcss-accent-lg-letter-spacing, .05em);line-height:var(--wcss-accent-lg-line-height, 1.3)}.accent-lg,.accent-md{text-transform:uppercase}.accent-md{font-family:var(--wcss-accent-md-family, "Good OT"),var(--wcss-accent-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-md-font-size, clamp(1.375rem, 1.8333333333vw, 1.5rem));font-weight:var(--wcss-accent-md-weight, 500);letter-spacing:var(--wcss-accent-md-letter-spacing, .05em);line-height:var(--wcss-accent-md-line-height, 1.3)}.accent-sm{font-family:var(--wcss-accent-sm-family, "Good OT"),var(--wcss-accent-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-sm-font-size, clamp(1.125rem, 1.5vw, 1.25rem));font-weight:var(--wcss-accent-sm-weight, 500);letter-spacing:var(--wcss-accent-sm-letter-spacing, .05em);line-height:var(--wcss-accent-sm-line-height, 1.3)}.accent-sm,.accent-xs{text-transform:uppercase}.accent-xs{font-family:var(--wcss-accent-xs-family, "Good OT"),var(--wcss-accent-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-xs-font-size, clamp(1rem, 1.3333333333vw, 1rem));font-weight:var(--wcss-accent-xs-weight, 500);letter-spacing:var(--wcss-accent-xs-letter-spacing, .1em);line-height:var(--wcss-accent-xs-line-height, 1.3)}.accent-2xs{font-family:var(--wcss-accent-2xs-family, "Good OT"),var(--wcss-accent-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-2xs-font-size, clamp(.875rem, 1.1666666667vw, .875rem));font-weight:var(--wcss-accent-2xs-weight, 450);letter-spacing:var(--wcss-accent-2xs-letter-spacing, .1em);line-height:var(--wcss-accent-2xs-line-height, 1.3);text-transform:uppercase}:focus:not(:focus-visible){outline:3px solid transparent}:host,:host>span{position:relative}:host{width:2rem;height:2rem;display:inline-block;font-size:0}:host>span{position:absolute;display:inline-block;float:none;top:0;left:0;width:2rem;height:2rem;border-radius:100%;border-style:solid;border-width:0;box-sizing:border-box}:host([xs]),:host([xs])>span{width:1.2rem;height:1.2rem}:host([sm]),:host([sm])>span{width:3rem;height:3rem}:host([md]),:host([md])>span{width:5rem;height:5rem}:host([lg]),:host([lg])>span{width:8rem;height:8rem}:host{--margin: .375rem;--margin-xs: .2rem;--margin-sm: .5rem;--margin-md: .75rem;--margin-lg: 1rem}:host([pulse]),:host([pulse])>span{position:relative}:host([pulse]){width:calc(3rem + var(--margin) * 6);height:calc(1rem + var(--margin) * 2)}:host([pulse])>span{width:1rem;height:1rem;margin:var(--margin);animation:pulse 1.5s ease infinite}:host([pulse][xs]){width:calc(1.95rem + var(--margin-xs) * 6);height:calc(.65rem + var(--margin-xs) * 2)}:host([pulse][xs])>span{margin:var(--margin-xs);width:.65rem;height:.65rem}:host([pulse][sm]){width:calc(6rem + var(--margin-sm) * 6);height:calc(2rem + var(--margin-sm) * 2)}:host([pulse][sm])>span{margin:var(--margin-sm);width:2rem;height:2rem}:host([pulse][md]){width:calc(9rem + var(--margin-md) * 6);height:calc(3rem + var(--margin-md) * 2)}:host([pulse][md])>span{margin:var(--margin-md);width:3rem;height:3rem}:host([pulse][lg]){width:calc(15rem + var(--margin-lg) * 6);height:calc(5rem + var(--margin-lg) * 2)}:host([pulse][lg])>span{margin:var(--margin-lg);width:5rem;height:5rem}:host([pulse])>span:nth-child(1){animation-delay:-.4s}:host([pulse])>span:nth-child(2){animation-delay:-.2s}:host([pulse])>span:nth-child(3){animation-delay:0ms}@keyframes pulse{0%,to{opacity:.1;transform:scale(.9)}50%{opacity:1;transform:scale(1.1)}}:host([orbit]),:host([orbit])>span{opacity:1}:host([orbit])>span{border-width:5px}:host([orbit])>span:nth-child(2){animation:orbit 2s linear infinite}:host([orbit][sm])>span{border-width:8px}:host([orbit][md])>span{border-width:13px}:host([orbit][lg])>span{border-width:21px}@keyframes orbit{0%{transform:rotate(0)}to{transform:rotate(360deg)}}:host([ringworm])>svg{animation:rotate 2s linear infinite;height:100%;width:100%;stroke:currentcolor;stroke-width:8}:host([ringworm]) .path{stroke-dashoffset:0;animation:ringworm 1.5s ease-in-out infinite;stroke-linecap:round}@keyframes rotate{to{transform:rotate(360deg)}}@keyframes ringworm{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px}to{stroke-dasharray:89,200;stroke-dashoffset:-124px}}:host([laser]){position:static;width:100%;display:block;height:0;overflow:hidden;font-size:unset}:host([laser])>span{position:fixed;width:100%;height:.25rem;border-radius:0;z-index:100}:host([laser])>span:nth-child(1){border-color:currentcolor;opacity:.25}:host([laser])>span:nth-child(2){border-color:currentcolor;animation:laser 2s linear infinite;opacity:1;width:50%}:host([laser][sm])>span:nth-child(2){width:20%}:host([laser][md])>span:nth-child(2){width:30%}:host([laser][lg])>span:nth-child(2){width:50%;animation-duration:1.5s}:host([laser][xl])>span:nth-child(2){width:80%;animation-duration:1.5s}@keyframes laser{0%{left:-100%}to{left:110%}}:host>.no-animation{display:none}@media (prefers-reduced-motion: reduce){:host{display:flex;align-items:center;justify-content:center}:host>span{opacity:1}:host>.loader{display:none}:host>svg{display:none}:host>.no-animation{display:block}}
@@ -32617,7 +32630,7 @@ let AuroHelpText$2$1 = class AuroHelpText extends i$2 {
32617
32630
  }
32618
32631
  };
32619
32632
 
32620
- var formkitVersion$1$3 = '202607022134';
32633
+ var formkitVersion$1$3 = '202607022225';
32621
32634
 
32622
32635
  let AuroElement$2$2 = class AuroElement extends i$2 {
32623
32636
  static get properties() {
@@ -44625,14 +44638,16 @@ let BaseInput$1 = class BaseInput extends AuroElement$1$3 {
44625
44638
  this.label = 'Input label is undefined';
44626
44639
  this.layout = 'classic';
44627
44640
  this.locale = 'en-US';
44641
+ this._format = undefined;
44642
+
44643
+ /** @private */
44644
+ this._userSetFormat = false;
44628
44645
  this.max = undefined;
44629
44646
  this.maxLength = undefined;
44630
44647
  this.min = undefined;
44631
44648
  this.minLength = undefined;
44632
44649
  this.noValidate = false;
44633
44650
  this.onDark = false;
44634
- // Raw values returned from the input mask before model normalization.
44635
- this._rawMaskValue = undefined;
44636
44651
  this.required = false;
44637
44652
  this.setCustomValidityForType = undefined;
44638
44653
  // Credit Card is intentionally excluded — its mask manages the cursor
@@ -44790,7 +44805,8 @@ let BaseInput$1 = class BaseInput extends AuroElement$1$3 {
44790
44805
  */
44791
44806
  format: {
44792
44807
  type: String,
44793
- reflect: true
44808
+ reflect: true,
44809
+ noAccessor: true
44794
44810
  },
44795
44811
 
44796
44812
  /**
@@ -45128,6 +45144,34 @@ let BaseInput$1 = class BaseInput extends AuroElement$1$3 {
45128
45144
  return this.max && dateFormatter$2.isValidDate(this.max) ? dateFormatter$2.stringToDateInstance(this.max) : undefined;
45129
45145
  }
45130
45146
 
45147
+ get format() {
45148
+ return this._format;
45149
+ }
45150
+
45151
+ /**
45152
+ * Overrides LitElement's generated accessor so we can track whether the
45153
+ * consumer explicitly set `format`. Locale-derived updates use
45154
+ * `_setFormatFromLocale` instead, which skips this flag.
45155
+ */
45156
+ set format(value) {
45157
+ const oldValue = this._format;
45158
+ this._format = value ? value.toLowerCase() : value;
45159
+ this._userSetFormat = Boolean(value);
45160
+ this.requestUpdate('format', oldValue);
45161
+ }
45162
+
45163
+ /**
45164
+ * Sets format without marking it as user-set. Used by locale auto-derive
45165
+ * so that a subsequent locale change can still update the format.
45166
+ * @private
45167
+ * @param {string} value
45168
+ */
45169
+ _setFormatFromLocale(value) {
45170
+ const oldValue = this._format;
45171
+ this._format = value ? value.toLowerCase() : value;
45172
+ this.requestUpdate('format', oldValue);
45173
+ }
45174
+
45131
45175
  connectedCallback() {
45132
45176
  super.connectedCallback();
45133
45177
 
@@ -45175,15 +45219,6 @@ let BaseInput$1 = class BaseInput extends AuroElement$1$3 {
45175
45219
 
45176
45220
  this.inputId = this.id ? `${this.id}-input` : window.crypto.randomUUID();
45177
45221
 
45178
- // Normalize the format token to lowercase so case-mixed values supplied
45179
- // via attribute (e.g. `format="MM/DD/YYYY"`) hit the `dateFormatMap`
45180
- // lookup inside `setCustomHelpTextMessage`. Without this, an uppercase
45181
- // format silently misses the map and leaves `setCustomValidityForType`
45182
- // unset.
45183
- if (this.format) {
45184
- this.format = this.format.toLowerCase();
45185
- }
45186
-
45187
45222
  // use validity message override if declared when initializing the component
45188
45223
  if (this.hasAttribute('setCustomValidity')) {
45189
45224
  this.ValidityMessageOverride = this.setCustomValidity;
@@ -45290,12 +45325,10 @@ let BaseInput$1 = class BaseInput extends AuroElement$1$3 {
45290
45325
  updated(changedProperties) {
45291
45326
  super.updated(changedProperties);
45292
45327
 
45293
- // When locale changes without an explicit format override, derive format from the new locale.
45294
- // Only runs if the current format is still the previous locale's default (not user-overridden).
45328
+ // When locale changes, auto-derive format unless the consumer explicitly set one.
45295
45329
  if (changedProperties.has('locale') && !changedProperties.has('format') && this.type === 'date') {
45296
- const previousLocaleFormat = getDateFormatFromLocale$2(changedProperties.get('locale'));
45297
- if (!this.format || this.format.toLowerCase() === previousLocaleFormat) {
45298
- this.format = getDateFormatFromLocale$2(this.locale);
45330
+ if (!this._userSetFormat) {
45331
+ this._setFormatFromLocale(getDateFormatFromLocale$2(this.locale));
45299
45332
  }
45300
45333
  }
45301
45334
 
@@ -45466,9 +45499,6 @@ let BaseInput$1 = class BaseInput extends AuroElement$1$3 {
45466
45499
  this.maskInstance.on('accept', () => {
45467
45500
  if (this._configuringMask) return;
45468
45501
  this.value = this.util.toModelValue(this.maskInstance.value, this.format);
45469
- if (this.type === "date") {
45470
- this._rawMaskValue = this.maskInstance.value;
45471
- }
45472
45502
  });
45473
45503
 
45474
45504
  // Mask fires 'complete' on the restore step below for any value that
@@ -45476,9 +45506,6 @@ let BaseInput$1 = class BaseInput extends AuroElement$1$3 {
45476
45506
  this.maskInstance.on('complete', () => {
45477
45507
  if (this._configuringMask) return;
45478
45508
  this.value = this.util.toModelValue(this.maskInstance.value, this.format);
45479
- if (this.type === "date") {
45480
- this._rawMaskValue = this.maskInstance.value;
45481
- }
45482
45509
  });
45483
45510
 
45484
45511
  // Write existingValue through the mask (not the input directly) so
@@ -45715,8 +45742,7 @@ let BaseInput$1 = class BaseInput extends AuroElement$1$3 {
45715
45742
 
45716
45743
  // Set default date format if type=date and no format is defined
45717
45744
  if (this.type === "date" && !this.format) {
45718
- // Use locale to determine default date format
45719
- this.format = this.util.getDateMaskFromLocale().toLowerCase();
45745
+ this._setFormatFromLocale(this.util.getDateMaskFromLocale().toLowerCase());
45720
45746
  this.util.updateFormat(this.format);
45721
45747
  }
45722
45748
  }
@@ -45745,7 +45771,7 @@ let BaseInput$1 = class BaseInput extends AuroElement$1$3 {
45745
45771
  const creditCard = this.matchInputValueToCreditCard();
45746
45772
  const previousFormat = this.format;
45747
45773
 
45748
- this.format = creditCard.maskFormat;
45774
+ this._setFormatFromLocale(creditCard.maskFormat);
45749
45775
 
45750
45776
  this.maxLength = creditCard.formatLength;
45751
45777
  this.minLength = creditCard.formatMinLength;
@@ -46219,7 +46245,7 @@ let AuroHelpText$1$3 = class AuroHelpText extends i$2 {
46219
46245
  }
46220
46246
  };
46221
46247
 
46222
- var formkitVersion$7 = '202607022134';
46248
+ var formkitVersion$7 = '202607022225';
46223
46249
 
46224
46250
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
46225
46251
  // See LICENSE in the project root for license information.
@@ -51140,7 +51166,7 @@ let AuroHelpText$1$2 = class AuroHelpText extends i$2 {
51140
51166
  }
51141
51167
  };
51142
51168
 
51143
- var formkitVersion$1$2 = '202607022134';
51169
+ var formkitVersion$1$2 = '202607022225';
51144
51170
 
51145
51171
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
51146
51172
  // See LICENSE in the project root for license information.
@@ -55468,7 +55494,7 @@ let AuroHelpText$6 = class AuroHelpText extends i$2 {
55468
55494
  }
55469
55495
  };
55470
55496
 
55471
- var formkitVersion$6 = '202607022134';
55497
+ var formkitVersion$6 = '202607022225';
55472
55498
 
55473
55499
  let AuroElement$1$2 = class AuroElement extends i$2 {
55474
55500
  static get properties() {
@@ -59448,7 +59474,7 @@ let AuroHelpText$5 = class AuroHelpText extends i$2 {
59448
59474
  }
59449
59475
  };
59450
59476
 
59451
- var formkitVersion$5 = '202607022134';
59477
+ var formkitVersion$5 = '202607022225';
59452
59478
 
59453
59479
  // Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
59454
59480
  // See LICENSE in the project root for license information.
@@ -61213,7 +61239,7 @@ let AuroHelpText$4 = class AuroHelpText extends i$2 {
61213
61239
  }
61214
61240
  };
61215
61241
 
61216
- var formkitVersion$4 = '202607022134';
61242
+ var formkitVersion$4 = '202607022225';
61217
61243
 
61218
61244
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
61219
61245
  // See LICENSE in the project root for license information.
@@ -66434,7 +66460,7 @@ let AuroHelpText$2 = class AuroHelpText extends i$2 {
66434
66460
  }
66435
66461
  };
66436
66462
 
66437
- var formkitVersion$2 = '202607022134';
66463
+ var formkitVersion$2 = '202607022225';
66438
66464
 
66439
66465
  let AuroElement$2$1 = class AuroElement extends i$2 {
66440
66466
  static get properties() {
@@ -78442,14 +78468,16 @@ class BaseInput extends AuroElement$1$1 {
78442
78468
  this.label = 'Input label is undefined';
78443
78469
  this.layout = 'classic';
78444
78470
  this.locale = 'en-US';
78471
+ this._format = undefined;
78472
+
78473
+ /** @private */
78474
+ this._userSetFormat = false;
78445
78475
  this.max = undefined;
78446
78476
  this.maxLength = undefined;
78447
78477
  this.min = undefined;
78448
78478
  this.minLength = undefined;
78449
78479
  this.noValidate = false;
78450
78480
  this.onDark = false;
78451
- // Raw values returned from the input mask before model normalization.
78452
- this._rawMaskValue = undefined;
78453
78481
  this.required = false;
78454
78482
  this.setCustomValidityForType = undefined;
78455
78483
  // Credit Card is intentionally excluded — its mask manages the cursor
@@ -78607,7 +78635,8 @@ class BaseInput extends AuroElement$1$1 {
78607
78635
  */
78608
78636
  format: {
78609
78637
  type: String,
78610
- reflect: true
78638
+ reflect: true,
78639
+ noAccessor: true
78611
78640
  },
78612
78641
 
78613
78642
  /**
@@ -78945,6 +78974,34 @@ class BaseInput extends AuroElement$1$1 {
78945
78974
  return this.max && dateFormatter.isValidDate(this.max) ? dateFormatter.stringToDateInstance(this.max) : undefined;
78946
78975
  }
78947
78976
 
78977
+ get format() {
78978
+ return this._format;
78979
+ }
78980
+
78981
+ /**
78982
+ * Overrides LitElement's generated accessor so we can track whether the
78983
+ * consumer explicitly set `format`. Locale-derived updates use
78984
+ * `_setFormatFromLocale` instead, which skips this flag.
78985
+ */
78986
+ set format(value) {
78987
+ const oldValue = this._format;
78988
+ this._format = value ? value.toLowerCase() : value;
78989
+ this._userSetFormat = Boolean(value);
78990
+ this.requestUpdate('format', oldValue);
78991
+ }
78992
+
78993
+ /**
78994
+ * Sets format without marking it as user-set. Used by locale auto-derive
78995
+ * so that a subsequent locale change can still update the format.
78996
+ * @private
78997
+ * @param {string} value
78998
+ */
78999
+ _setFormatFromLocale(value) {
79000
+ const oldValue = this._format;
79001
+ this._format = value ? value.toLowerCase() : value;
79002
+ this.requestUpdate('format', oldValue);
79003
+ }
79004
+
78948
79005
  connectedCallback() {
78949
79006
  super.connectedCallback();
78950
79007
 
@@ -78992,15 +79049,6 @@ class BaseInput extends AuroElement$1$1 {
78992
79049
 
78993
79050
  this.inputId = this.id ? `${this.id}-input` : window.crypto.randomUUID();
78994
79051
 
78995
- // Normalize the format token to lowercase so case-mixed values supplied
78996
- // via attribute (e.g. `format="MM/DD/YYYY"`) hit the `dateFormatMap`
78997
- // lookup inside `setCustomHelpTextMessage`. Without this, an uppercase
78998
- // format silently misses the map and leaves `setCustomValidityForType`
78999
- // unset.
79000
- if (this.format) {
79001
- this.format = this.format.toLowerCase();
79002
- }
79003
-
79004
79052
  // use validity message override if declared when initializing the component
79005
79053
  if (this.hasAttribute('setCustomValidity')) {
79006
79054
  this.ValidityMessageOverride = this.setCustomValidity;
@@ -79107,12 +79155,10 @@ class BaseInput extends AuroElement$1$1 {
79107
79155
  updated(changedProperties) {
79108
79156
  super.updated(changedProperties);
79109
79157
 
79110
- // When locale changes without an explicit format override, derive format from the new locale.
79111
- // Only runs if the current format is still the previous locale's default (not user-overridden).
79158
+ // When locale changes, auto-derive format unless the consumer explicitly set one.
79112
79159
  if (changedProperties.has('locale') && !changedProperties.has('format') && this.type === 'date') {
79113
- const previousLocaleFormat = getDateFormatFromLocale(changedProperties.get('locale'));
79114
- if (!this.format || this.format.toLowerCase() === previousLocaleFormat) {
79115
- this.format = getDateFormatFromLocale(this.locale);
79160
+ if (!this._userSetFormat) {
79161
+ this._setFormatFromLocale(getDateFormatFromLocale(this.locale));
79116
79162
  }
79117
79163
  }
79118
79164
 
@@ -79283,9 +79329,6 @@ class BaseInput extends AuroElement$1$1 {
79283
79329
  this.maskInstance.on('accept', () => {
79284
79330
  if (this._configuringMask) return;
79285
79331
  this.value = this.util.toModelValue(this.maskInstance.value, this.format);
79286
- if (this.type === "date") {
79287
- this._rawMaskValue = this.maskInstance.value;
79288
- }
79289
79332
  });
79290
79333
 
79291
79334
  // Mask fires 'complete' on the restore step below for any value that
@@ -79293,9 +79336,6 @@ class BaseInput extends AuroElement$1$1 {
79293
79336
  this.maskInstance.on('complete', () => {
79294
79337
  if (this._configuringMask) return;
79295
79338
  this.value = this.util.toModelValue(this.maskInstance.value, this.format);
79296
- if (this.type === "date") {
79297
- this._rawMaskValue = this.maskInstance.value;
79298
- }
79299
79339
  });
79300
79340
 
79301
79341
  // Write existingValue through the mask (not the input directly) so
@@ -79532,8 +79572,7 @@ class BaseInput extends AuroElement$1$1 {
79532
79572
 
79533
79573
  // Set default date format if type=date and no format is defined
79534
79574
  if (this.type === "date" && !this.format) {
79535
- // Use locale to determine default date format
79536
- this.format = this.util.getDateMaskFromLocale().toLowerCase();
79575
+ this._setFormatFromLocale(this.util.getDateMaskFromLocale().toLowerCase());
79537
79576
  this.util.updateFormat(this.format);
79538
79577
  }
79539
79578
  }
@@ -79562,7 +79601,7 @@ class BaseInput extends AuroElement$1$1 {
79562
79601
  const creditCard = this.matchInputValueToCreditCard();
79563
79602
  const previousFormat = this.format;
79564
79603
 
79565
- this.format = creditCard.maskFormat;
79604
+ this._setFormatFromLocale(creditCard.maskFormat);
79566
79605
 
79567
79606
  this.maxLength = creditCard.formatLength;
79568
79607
  this.minLength = creditCard.formatMinLength;
@@ -80036,7 +80075,7 @@ let AuroHelpText$1$1 = class AuroHelpText extends i$2 {
80036
80075
  }
80037
80076
  };
80038
80077
 
80039
- var formkitVersion$1$1 = '202607022134';
80078
+ var formkitVersion$1$1 = '202607022225';
80040
80079
 
80041
80080
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
80042
80081
  // See LICENSE in the project root for license information.
@@ -81162,7 +81201,7 @@ let AuroBibtemplate$1 = class AuroBibtemplate extends i$2 {
81162
81201
  }
81163
81202
  };
81164
81203
 
81165
- var formkitVersion$3 = '202607022134';
81204
+ var formkitVersion$3 = '202607022225';
81166
81205
 
81167
81206
  var styleCss$1$3 = i$4`.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}`;
81168
81207
 
@@ -85939,9 +85978,6 @@ function navigateArrow(component, direction, options = {}) {
85939
85978
  * @param {HTMLElement | null | undefined} menu - The auro-menu element.
85940
85979
  * @returns {Array<HTMLElement>} Non-disabled options, empty array when none.
85941
85980
  */
85942
- function getEnabledOptions(menu) {
85943
- return (menu?.options || []).filter((option) => !option.disabled);
85944
- }
85945
85981
 
85946
85982
  /**
85947
85983
  * Returns the active (selectable + visible) options for type-ahead navigation.
@@ -86011,8 +86047,10 @@ const selectKeyboardStrategy = {
86011
86047
  End(component, evt, ctx) {
86012
86048
  evt.preventDefault();
86013
86049
  evt.stopPropagation();
86014
- // `pop()` is safe here: getEnabledOptions returns a fresh filtered array.
86015
- const lastOption = getEnabledOptions(component.menu).pop();
86050
+ // `pop()` is safe here: getActiveOptions returns a fresh filtered array.
86051
+ // Uses "active" (not "enabled") so hidden and static rows — which a screen
86052
+ // reader must not announce as focused — are skipped.
86053
+ const lastOption = getActiveOptions(component.menu).pop();
86016
86054
  if (!lastOption) {
86017
86055
  return;
86018
86056
  }
@@ -86043,7 +86081,7 @@ const selectKeyboardStrategy = {
86043
86081
  Home(component, evt, ctx) {
86044
86082
  evt.preventDefault();
86045
86083
  evt.stopPropagation();
86046
- const [firstOption] = getEnabledOptions(component.menu);
86084
+ const [firstOption] = getActiveOptions(component.menu);
86047
86085
  if (!firstOption) {
86048
86086
  return;
86049
86087
  }
@@ -86068,6 +86106,15 @@ const selectKeyboardStrategy = {
86068
86106
  },
86069
86107
 
86070
86108
  default(component, evt, ctx) {
86109
+ // Ignore keys chorded with Ctrl/Meta/Alt so browser/OS shortcuts
86110
+ // (Cmd+C, Ctrl+V, Alt+X, Cmd+Space, …) don't leak into typeahead
86111
+ // or toggle the bib. Native <select> ignores modified keys.
86112
+ // ArrowUp/ArrowDown handle modifier+arrow explicitly above; this
86113
+ // guard only affects the default (printable/Space) branch.
86114
+ if (evt.ctrlKey || evt.metaKey || evt.altKey) {
86115
+ return;
86116
+ }
86117
+
86071
86118
  // Space resolves to either typeahead-buffer extension or bib toggle
86072
86119
  // depending on whether a type-ahead buffer is active. Mirrors native
86073
86120
  // <select> and the WAI-ARIA APG Listbox guidance: mid-typeahead space
@@ -89998,7 +90045,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$2 {
89998
90045
  }
89999
90046
  };
90000
90047
 
90001
- var formkitVersion$1 = '202607022134';
90048
+ var formkitVersion$1 = '202607022225';
90002
90049
 
90003
90050
  class AuroElement extends i$2 {
90004
90051
  static get properties() {
@@ -92037,7 +92084,7 @@ class AuroHelpText extends i$2 {
92037
92084
  }
92038
92085
  }
92039
92086
 
92040
- var formkitVersion = '202607022134';
92087
+ var formkitVersion = '202607022225';
92041
92088
 
92042
92089
  var styleCss = i$4`.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}.body-default{font-size:var(--wcss-body-default-font-size, 1rem);font-weight:var(--wcss-body-default-weight, );line-height:var(--wcss-body-default-line-height, 1.5rem)}.body-default,.body-default-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-default-emphasized{font-size:var(--wcss-body-default-emphasized-font-size, 1rem);font-weight:var(--wcss-body-default-emphasized-weight, );line-height:var(--wcss-body-default-emphasized-line-height, 1.5rem)}.body-lg{font-size:var(--wcss-body-lg-font-size, 1.125rem);font-weight:var(--wcss-body-lg-weight, );line-height:var(--wcss-body-lg-line-height, 1.625rem)}.body-lg,.body-lg-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-lg-emphasized{font-size:var(--wcss-body-lg-emphasized-font-size, 1.125rem);font-weight:var(--wcss-body-lg-emphasized-weight, );line-height:var(--wcss-body-lg-emphasized-line-height, 1.625rem)}.body-sm{font-size:var(--wcss-body-sm-font-size, 0.875rem);font-weight:var(--wcss-body-sm-weight, );line-height:var(--wcss-body-sm-line-height, 1.25rem)}.body-sm,.body-sm-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-sm-emphasized{font-size:var(--wcss-body-sm-emphasized-font-size, 0.875rem);font-weight:var(--wcss-body-sm-emphasized-weight, );line-height:var(--wcss-body-sm-emphasized-line-height, 1.25rem)}.body-xs{font-size:var(--wcss-body-xs-font-size, 0.75rem);font-weight:var(--wcss-body-xs-weight, );line-height:var(--wcss-body-xs-line-height, 1rem)}.body-xs,.body-xs-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-xs-emphasized{font-size:var(--wcss-body-xs-emphasized-font-size, 0.75rem);font-weight:var(--wcss-body-xs-emphasized-weight, );line-height:var(--wcss-body-xs-emphasized-line-height, 1rem)}.body-2xs{font-size:var(--wcss-body-2xs-font-size, 0.625rem);font-weight:var(--wcss-body-2xs-weight, );line-height:var(--wcss-body-2xs-line-height, 0.875rem)}.body-2xs,.body-2xs-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-2xs-emphasized{font-size:var(--wcss-body-2xs-emphasized-font-size, 0.625rem);font-weight:var(--wcss-body-2xs-emphasized-weight, );line-height:var(--wcss-body-2xs-emphasized-line-height, 0.875rem)}.display-2xl{font-family:var(--wcss-display-2xl-family, "AS Circular"),var(--wcss-display-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-2xl-font-size, clamp(3.5rem, 6vw, 5.375rem));font-weight:var(--wcss-display-2xl-weight, 300);letter-spacing:var(--wcss-display-2xl-letter-spacing, 0);line-height:var(--wcss-display-2xl-line-height, 1.3)}.display-xl{font-family:var(--wcss-display-xl-family, "AS Circular"),var(--wcss-display-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-xl-font-size, clamp(3rem, 5.3333333333vw, 4.5rem));font-weight:var(--wcss-display-xl-weight, 300);letter-spacing:var(--wcss-display-xl-letter-spacing, 0);line-height:var(--wcss-display-xl-line-height, 1.3)}.display-lg{font-family:var(--wcss-display-lg-family, "AS Circular"),var(--wcss-display-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-lg-font-size, clamp(2.75rem, 4.6666666667vw, 4rem));font-weight:var(--wcss-display-lg-weight, 300);letter-spacing:var(--wcss-display-lg-letter-spacing, 0);line-height:var(--wcss-display-lg-line-height, 1.3)}.display-md{font-family:var(--wcss-display-md-family, "AS Circular"),var(--wcss-display-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-md-font-size, clamp(2.5rem, 4vw, 3.5rem));font-weight:var(--wcss-display-md-weight, 300);letter-spacing:var(--wcss-display-md-letter-spacing, 0);line-height:var(--wcss-display-md-line-height, 1.3)}.display-sm{font-family:var(--wcss-display-sm-family, "AS Circular"),var(--wcss-display-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-sm-font-size, clamp(2rem, 3.6666666667vw, 3rem));font-weight:var(--wcss-display-sm-weight, 300);letter-spacing:var(--wcss-display-sm-letter-spacing, 0);line-height:var(--wcss-display-sm-line-height, 1.3)}.display-xs{font-family:var(--wcss-display-xs-family, "AS Circular"),var(--wcss-display-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-xs-font-size, clamp(1.75rem, 3vw, 2.375rem));font-weight:var(--wcss-display-xs-weight, 300);letter-spacing:var(--wcss-display-xs-letter-spacing, 0);line-height:var(--wcss-display-xs-line-height, 1.3)}.heading-xl{font-family:var(--wcss-heading-xl-family, "AS Circular"),var(--wcss-heading-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-xl-font-size, clamp(2rem, 3vw, 2.5rem));font-weight:var(--wcss-heading-xl-weight, 300);letter-spacing:var(--wcss-heading-xl-letter-spacing, 0);line-height:var(--wcss-heading-xl-line-height, 1.3)}.heading-lg{font-family:var(--wcss-heading-lg-family, "AS Circular"),var(--wcss-heading-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-lg-font-size, clamp(1.75rem, 2.6666666667vw, 2.25rem));font-weight:var(--wcss-heading-lg-weight, 300);letter-spacing:var(--wcss-heading-lg-letter-spacing, 0);line-height:var(--wcss-heading-lg-line-height, 1.3)}.heading-md{font-family:var(--wcss-heading-md-family, "AS Circular"),var(--wcss-heading-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-md-font-size, clamp(1.625rem, 2.3333333333vw, 1.75rem));font-weight:var(--wcss-heading-md-weight, 300);letter-spacing:var(--wcss-heading-md-letter-spacing, 0);line-height:var(--wcss-heading-md-line-height, 1.3)}.heading-sm{font-family:var(--wcss-heading-sm-family, "AS Circular"),var(--wcss-heading-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-sm-font-size, clamp(1.375rem, 2vw, 1.5rem));font-weight:var(--wcss-heading-sm-weight, 300);letter-spacing:var(--wcss-heading-sm-letter-spacing, 0);line-height:var(--wcss-heading-sm-line-height, 1.3)}.heading-xs{font-family:var(--wcss-heading-xs-family, "AS Circular"),var(--wcss-heading-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-xs-font-size, clamp(1.25rem, 1.6666666667vw, 1.25rem));font-weight:var(--wcss-heading-xs-weight, 300);letter-spacing:var(--wcss-heading-xs-letter-spacing, 0);line-height:var(--wcss-heading-xs-line-height, 1.3)}.heading-2xs{font-family:var(--wcss-heading-2xs-family, "AS Circular"),var(--wcss-heading-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-2xs-font-size, clamp(1.125rem, 1.5vw, 1.125rem));font-weight:var(--wcss-heading-2xs-weight, 300);letter-spacing:var(--wcss-heading-2xs-letter-spacing, 0);line-height:var(--wcss-heading-2xs-line-height, 1.3)}.accent-2xl{font-family:var(--wcss-accent-2xl-family, "Good OT"),var(--wcss-accent-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-2xl-font-size, clamp(2rem, 3.1666666667vw, 2.375rem));font-weight:var(--wcss-accent-2xl-weight, 450);letter-spacing:var(--wcss-accent-2xl-letter-spacing, 0.05em);line-height:var(--wcss-accent-2xl-line-height, 1)}.accent-2xl,.accent-xl{text-transform:uppercase}.accent-xl{font-family:var(--wcss-accent-xl-family, "Good OT"),var(--wcss-accent-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-xl-font-size, clamp(1.625rem, 2.3333333333vw, 2rem));font-weight:var(--wcss-accent-xl-weight, 450);letter-spacing:var(--wcss-accent-xl-letter-spacing, 0.05em);line-height:var(--wcss-accent-xl-line-height, 1.3)}.accent-lg{font-family:var(--wcss-accent-lg-family, "Good OT"),var(--wcss-accent-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-lg-font-size, clamp(1.5rem, 2.1666666667vw, 1.75rem));font-weight:var(--wcss-accent-lg-weight, 450);letter-spacing:var(--wcss-accent-lg-letter-spacing, 0.05em);line-height:var(--wcss-accent-lg-line-height, 1.3)}.accent-lg,.accent-md{text-transform:uppercase}.accent-md{font-family:var(--wcss-accent-md-family, "Good OT"),var(--wcss-accent-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-md-font-size, clamp(1.375rem, 1.8333333333vw, 1.5rem));font-weight:var(--wcss-accent-md-weight, 500);letter-spacing:var(--wcss-accent-md-letter-spacing, 0.05em);line-height:var(--wcss-accent-md-line-height, 1.3)}.accent-sm{font-family:var(--wcss-accent-sm-family, "Good OT"),var(--wcss-accent-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-sm-font-size, clamp(1.125rem, 1.5vw, 1.25rem));font-weight:var(--wcss-accent-sm-weight, 500);letter-spacing:var(--wcss-accent-sm-letter-spacing, 0.05em);line-height:var(--wcss-accent-sm-line-height, 1.3)}.accent-sm,.accent-xs{text-transform:uppercase}.accent-xs{font-family:var(--wcss-accent-xs-family, "Good OT"),var(--wcss-accent-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-xs-font-size, clamp(1rem, 1.3333333333vw, 1rem));font-weight:var(--wcss-accent-xs-weight, 500);letter-spacing:var(--wcss-accent-xs-letter-spacing, 0.1em);line-height:var(--wcss-accent-xs-line-height, 1.3)}.accent-2xs{font-family:var(--wcss-accent-2xs-family, "Good OT"),var(--wcss-accent-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-2xs-font-size, clamp(0.875rem, 1.1666666667vw, 0.875rem));font-weight:var(--wcss-accent-2xs-weight, 450);letter-spacing:var(--wcss-accent-2xs-letter-spacing, 0.1em);line-height:var(--wcss-accent-2xs-line-height, 1.3);text-transform:uppercase}[auro-dropdown]{--ds-auro-dropdown-trigger-border-color: var(--ds-auro-select-border-color);--ds-auro-dropdown-trigger-background-color: var(--ds-auro-select-background-color);--ds-auro-dropdown-trigger-container-color: var(--ds-auro-select-background-color);--ds-auro-dropdown-trigger-outline-color: var(--ds-auro-select-outline-color)}:host{display:inline-block;text-align:left;vertical-align:top}:host([layout*=emphasized]) [auro-dropdown],:host([layout*=snowflake]) [auro-dropdown]{--ds-auro-select-border-color: transparent}:host([layout*=emphasized]) .mainContent,:host([layout*=snowflake]) .mainContent{text-align:center}.mainContent{position:relative;display:flex;overflow:hidden;flex:1;flex-direction:column;align-items:center;justify-content:center}.valueContainer [slot=displayValue]{display:none}.accents{display:flex;flex-direction:row;align-items:center;justify-content:center}::slotted([slot=typeIcon]){margin-right:var(--ds-size-100, 0.5rem)}.displayValue{display:block}.displayValue:not(.force){display:none}.displayValue:not(.force).hasContent:is(.withValue):not(.hasFocus){display:block}.triggerContent{display:flex;width:100%;align-items:center;justify-content:center}:host([layout*=emphasized]) .triggerContent{padding:0 var(--ds-size-100, 0.5rem) 0 var(--ds-size-300, 1.5rem)}:host([layout*=snowflake]) .triggerContent{padding:0 var(--ds-size-100, 0.5rem) 0 var(--ds-size-200, 1rem)}:host([layout*=snowflake]) label{padding-block:var(--ds-size-25, 0.125rem)}:host([layout*=classic]) .triggerContent{padding:0 var(--ds-size-100, 0.5rem)}:host([layout*=classic]) .mainContent{align-items:start}:host([layout*=classic]) label{overflow:hidden;cursor:text;text-overflow:ellipsis;white-space:nowrap}:host([layout*=classic]) .value{height:auto}label{color:var(--ds-auro-select-label-text-color)}:host(:is([validity]:not([validity=valid]))) [auro-dropdown]{--ds-auro-select-border-color: var(--ds-basic-color-status-error, #e31f26);--ds-auro-select-outline-color: var(--ds-basic-color-status-error, #e31f26);--ds-auro-dropdown-helptext-text-color: var(--ds-basic-color-texticon-default, #2a2a2a)}:host([ondark]:is([validity]:not([validity=valid]))) [auro-dropdown],:host([appearance=inverse]:is([validity]:not([validity=valid]))) [auro-dropdown]{--ds-auro-select-border-color: var(--ds-advanced-color-state-error-inverse, #f9a4a8);--ds-auro-select-outline-color: var(--ds-advanced-color-state-error-inverse, #f9a4a8);--ds-auro-dropdown-helptext-text-color: var(--ds-basic-color-texticon-inverse, #ffffff)}#slotHolder{display:none}:host([fluid]){width:100%}:host([disabled]){pointer-events:none;user-select:none}:host([disabled]:not([ondark])) [auro-dropdown],:host([disabled]:not([appearance=inverse])) [auro-dropdown]{--ds-auro-select-border-color: var(--ds-basic-color-border-subtle, #dddddd)}:host(:not([layout*=classic])[disabled][ondark]) [auro-dropdown],:host(:not([layout*=classic])[disabled][appearance=inverse]) [auro-dropdown]{--ds-auro-select-border-color: transparent}`;
92043
92090
 
@@ -92601,8 +92648,11 @@ class AuroSelect extends AuroElement$1 {
92601
92648
  } else if (this.multiSelect && Array.isArray(this.optionSelected) && this.optionSelected.length > 0) {
92602
92649
  this.menu.updateActiveOption(this.optionSelected[0]);
92603
92650
  } else {
92604
- // If no activeOption has yet to be set, then make the first enabled option active by default
92605
- const [firstActive] = getEnabledOptions(this.menu);
92651
+ // If no activeOption has yet to be set, make the first active option
92652
+ // (non-disabled, non-hidden, non-static) active by default. "Active" —
92653
+ // not just "enabled" — so hidden rows and static placeholders never
92654
+ // land in aria-activedescendant on open.
92655
+ const [firstActive] = getActiveOptions(this.menu);
92606
92656
  this.menu.updateActiveOption(firstActive);
92607
92657
  }
92608
92658
  }
@@ -92848,6 +92898,12 @@ class AuroSelect extends AuroElement$1 {
92848
92898
 
92849
92899
  /**
92850
92900
  * Binds all behavior needed to the menu after rendering.
92901
+ *
92902
+ * The `<auro-menu>` reference is captured once and not re-targeted on
92903
+ * `slotchange`. Runtime option mutations are covered via
92904
+ * `auroMenu-optionsChange`, so swap options inside the menu freely; do not
92905
+ * swap the `<auro-menu>` element itself under a live select — remount the
92906
+ * parent `<auro-select>` instead.
92851
92907
  * @private
92852
92908
  * @returns {void}
92853
92909
  */
@@ -92906,6 +92962,15 @@ class AuroSelect extends AuroElement$1 {
92906
92962
  if (this.menu.optionSelected !== undefined) {
92907
92963
  return;
92908
92964
  }
92965
+ // Skip when the select is already cleared (valueless click with no
92966
+ // prior selection): value/optionSelected are already empty and there
92967
+ // is no stale trigger text to refresh, so updateDisplayedValue would
92968
+ // just churn the DOM and request a needless dropdown re-render.
92969
+ const hasStaleState = this.value !== undefined ||
92970
+ (this.multiSelect ? this.optionSelected?.length > 0 : this.optionSelected !== undefined);
92971
+ if (!hasStaleState) {
92972
+ return;
92973
+ }
92909
92974
  this.value = undefined;
92910
92975
  this.optionSelected = this.multiSelect ? [] : undefined;
92911
92976
  // The trigger label is rendered imperatively into #value, so a property
@@ -92935,10 +93000,15 @@ class AuroSelect extends AuroElement$1 {
92935
93000
  if (this.dropdown.isPopoverVisible) {
92936
93001
  announceToScreenReader(this._getAnnouncementRoot(), message);
92937
93002
  } else {
92938
- // Typeahead-on-closed fires this event before `show()` flips
92939
- // isPopoverVisible. Defer so the announcement targets the bib's
92940
- // live region once the fullscreen <dialog> opens otherwise it
92941
- // lands in the host root, which is inert under the active modal.
93003
+ // Typeahead-on-closed calls updateActiveOption() before show(), so
93004
+ // this handler runs with isPopoverVisible still false. queueMicrotask
93005
+ // is safe because show() showBib() flips isPopoverVisible and
93006
+ // dialog.showModal() both run synchronously in the same task; the
93007
+ // microtask queue only drains once _handleTypeahead unwinds, by
93008
+ // which point _getAnnouncementRoot() resolves to the bib's shadow
93009
+ // root inside the now-open modal. Do NOT switch to auroDropdown-toggled
93010
+ // — it fires before showModal(), landing the announcement in the
93011
+ // host root while the dialog is still not-yet-modal.
92942
93012
  queueMicrotask(() => announceToScreenReader(this._getAnnouncementRoot(), message));
92943
93013
  }
92944
93014
  }
@@ -93332,6 +93402,13 @@ class AuroSelect extends AuroElement$1 {
93332
93402
  }
93333
93403
 
93334
93404
  if (changedProperties.has('value')) {
93405
+ // A value change ends the current interaction — whether it came from a
93406
+ // user commit, programmatic assignment, or reset(). Clear the buffer so
93407
+ // a stale prefix does not concatenate onto the next keystroke while the
93408
+ // host still has focus (the blur listener would otherwise be the only
93409
+ // focus-retained clear point, and hideBib() below does not blur).
93410
+ this._clearTypeaheadBuffer();
93411
+
93335
93412
  this.setMenuValue(this.value);
93336
93413
 
93337
93414
  this._updateNativeSelect();
@@ -93387,6 +93464,9 @@ class AuroSelect extends AuroElement$1 {
93387
93464
  * @returns {void}
93388
93465
  */
93389
93466
  reset() {
93467
+ // Defense-in-depth: updated()'s value-change branch also clears, but
93468
+ // reset-to-same-value (e.g. undefined → undefined) skips that path.
93469
+ this._clearTypeaheadBuffer();
93390
93470
  this.menu.reset();
93391
93471
  this.validation.reset(this);
93392
93472
  }
@@ -93409,8 +93489,13 @@ class AuroSelect extends AuroElement$1 {
93409
93489
  // Hidden native <select> has no `multiple` attribute, so any change it fires
93410
93490
  // is a single raw value — applying it in multiSelect mode would collapse the
93411
93491
  // JSON-array `value` shape. Bfcache/autofill can reach this on a name-bearing
93412
- // form control even with aria-hidden/tabindex=-1.
93413
- if (this.multiSelect) return;
93492
+ // form control even with aria-hidden/tabindex=-1, so revert to the expected
93493
+ // mirror (formattedValue[0]) rather than letting the native select drift and
93494
+ // silently submit the autofilled scalar under `name`.
93495
+ if (this.multiSelect) {
93496
+ this._updateNativeSelect();
93497
+ return;
93498
+ }
93414
93499
 
93415
93500
  const selectedOption = event.target.options[event.target.selectedIndex];
93416
93501
  if (!selectedOption) return;