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

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 +29 -42
  7. package/components/combobox/demo/getting-started.min.js +29 -42
  8. package/components/combobox/demo/index.min.js +29 -42
  9. package/components/combobox/dist/index.js +29 -42
  10. package/components/combobox/dist/registered.js +29 -42
  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/customize.min.js +29 -42
  16. package/components/datepicker/demo/index.min.js +29 -42
  17. package/components/datepicker/dist/index.js +29 -42
  18. package/components/datepicker/dist/registered.js +29 -42
  19. package/components/dropdown/demo/customize.min.js +1 -1
  20. package/components/dropdown/demo/getting-started.min.js +1 -1
  21. package/components/dropdown/demo/index.min.js +1 -1
  22. package/components/dropdown/dist/index.js +1 -1
  23. package/components/dropdown/dist/registered.js +1 -1
  24. package/components/form/demo/customize.min.js +151 -144
  25. package/components/form/demo/getting-started.min.js +151 -144
  26. package/components/form/demo/index.min.js +151 -144
  27. package/components/form/demo/registerDemoDeps.min.js +151 -144
  28. package/components/input/demo/customize.min.js +27 -40
  29. package/components/input/demo/getting-started.min.js +27 -40
  30. package/components/input/demo/index.min.js +27 -40
  31. package/components/input/dist/base-input.d.ts +4 -20
  32. package/components/input/dist/index.js +27 -40
  33. package/components/input/dist/registered.js +27 -40
  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 +1561 -1615
  46. package/package.json +1 -1
@@ -11769,16 +11769,14 @@ let BaseInput$2 = class BaseInput extends AuroElement$6 {
11769
11769
  this.label = 'Input label is undefined';
11770
11770
  this.layout = 'classic';
11771
11771
  this.locale = 'en-US';
11772
- this._format = undefined;
11773
-
11774
- /** @private */
11775
- this._userSetFormat = false;
11776
11772
  this.max = undefined;
11777
11773
  this.maxLength = undefined;
11778
11774
  this.min = undefined;
11779
11775
  this.minLength = undefined;
11780
11776
  this.noValidate = false;
11781
11777
  this.onDark = false;
11778
+ // Raw values returned from the input mask before model normalization.
11779
+ this._rawMaskValue = undefined;
11782
11780
  this.required = false;
11783
11781
  this.setCustomValidityForType = undefined;
11784
11782
  // Credit Card is intentionally excluded — its mask manages the cursor
@@ -11936,8 +11934,7 @@ let BaseInput$2 = class BaseInput extends AuroElement$6 {
11936
11934
  */
11937
11935
  format: {
11938
11936
  type: String,
11939
- reflect: true,
11940
- noAccessor: true
11937
+ reflect: true
11941
11938
  },
11942
11939
 
11943
11940
  /**
@@ -12275,34 +12272,6 @@ let BaseInput$2 = class BaseInput extends AuroElement$6 {
12275
12272
  return this.max && dateFormatter$3.isValidDate(this.max) ? dateFormatter$3.stringToDateInstance(this.max) : undefined;
12276
12273
  }
12277
12274
 
12278
- get format() {
12279
- return this._format;
12280
- }
12281
-
12282
- /**
12283
- * Overrides LitElement's generated accessor so we can track whether the
12284
- * consumer explicitly set `format`. Locale-derived updates use
12285
- * `_setFormatFromLocale` instead, which skips this flag.
12286
- */
12287
- set format(value) {
12288
- const oldValue = this._format;
12289
- this._format = value ? value.toLowerCase() : value;
12290
- this._userSetFormat = Boolean(value);
12291
- this.requestUpdate('format', oldValue);
12292
- }
12293
-
12294
- /**
12295
- * Sets format without marking it as user-set. Used by locale auto-derive
12296
- * so that a subsequent locale change can still update the format.
12297
- * @private
12298
- * @param {string} value
12299
- */
12300
- _setFormatFromLocale(value) {
12301
- const oldValue = this._format;
12302
- this._format = value ? value.toLowerCase() : value;
12303
- this.requestUpdate('format', oldValue);
12304
- }
12305
-
12306
12275
  connectedCallback() {
12307
12276
  super.connectedCallback();
12308
12277
 
@@ -12350,6 +12319,15 @@ let BaseInput$2 = class BaseInput extends AuroElement$6 {
12350
12319
 
12351
12320
  this.inputId = this.id ? `${this.id}-input` : window.crypto.randomUUID();
12352
12321
 
12322
+ // Normalize the format token to lowercase so case-mixed values supplied
12323
+ // via attribute (e.g. `format="MM/DD/YYYY"`) hit the `dateFormatMap`
12324
+ // lookup inside `setCustomHelpTextMessage`. Without this, an uppercase
12325
+ // format silently misses the map and leaves `setCustomValidityForType`
12326
+ // unset.
12327
+ if (this.format) {
12328
+ this.format = this.format.toLowerCase();
12329
+ }
12330
+
12353
12331
  // use validity message override if declared when initializing the component
12354
12332
  if (this.hasAttribute('setCustomValidity')) {
12355
12333
  this.ValidityMessageOverride = this.setCustomValidity;
@@ -12456,10 +12434,12 @@ let BaseInput$2 = class BaseInput extends AuroElement$6 {
12456
12434
  updated(changedProperties) {
12457
12435
  super.updated(changedProperties);
12458
12436
 
12459
- // When locale changes, auto-derive format unless the consumer explicitly set one.
12437
+ // When locale changes without an explicit format override, derive format from the new locale.
12438
+ // Only runs if the current format is still the previous locale's default (not user-overridden).
12460
12439
  if (changedProperties.has('locale') && !changedProperties.has('format') && this.type === 'date') {
12461
- if (!this._userSetFormat) {
12462
- this._setFormatFromLocale(getDateFormatFromLocale$3(this.locale));
12440
+ const previousLocaleFormat = getDateFormatFromLocale$3(changedProperties.get('locale'));
12441
+ if (!this.format || this.format.toLowerCase() === previousLocaleFormat) {
12442
+ this.format = getDateFormatFromLocale$3(this.locale);
12463
12443
  }
12464
12444
  }
12465
12445
 
@@ -12630,6 +12610,9 @@ let BaseInput$2 = class BaseInput extends AuroElement$6 {
12630
12610
  this.maskInstance.on('accept', () => {
12631
12611
  if (this._configuringMask) return;
12632
12612
  this.value = this.util.toModelValue(this.maskInstance.value, this.format);
12613
+ if (this.type === "date") {
12614
+ this._rawMaskValue = this.maskInstance.value;
12615
+ }
12633
12616
  });
12634
12617
 
12635
12618
  // Mask fires 'complete' on the restore step below for any value that
@@ -12637,6 +12620,9 @@ let BaseInput$2 = class BaseInput extends AuroElement$6 {
12637
12620
  this.maskInstance.on('complete', () => {
12638
12621
  if (this._configuringMask) return;
12639
12622
  this.value = this.util.toModelValue(this.maskInstance.value, this.format);
12623
+ if (this.type === "date") {
12624
+ this._rawMaskValue = this.maskInstance.value;
12625
+ }
12640
12626
  });
12641
12627
 
12642
12628
  // Write existingValue through the mask (not the input directly) so
@@ -12873,7 +12859,8 @@ let BaseInput$2 = class BaseInput extends AuroElement$6 {
12873
12859
 
12874
12860
  // Set default date format if type=date and no format is defined
12875
12861
  if (this.type === "date" && !this.format) {
12876
- this._setFormatFromLocale(this.util.getDateMaskFromLocale().toLowerCase());
12862
+ // Use locale to determine default date format
12863
+ this.format = this.util.getDateMaskFromLocale().toLowerCase();
12877
12864
  this.util.updateFormat(this.format);
12878
12865
  }
12879
12866
  }
@@ -12902,7 +12889,7 @@ let BaseInput$2 = class BaseInput extends AuroElement$6 {
12902
12889
  const creditCard = this.matchInputValueToCreditCard();
12903
12890
  const previousFormat = this.format;
12904
12891
 
12905
- this._setFormatFromLocale(creditCard.maskFormat);
12892
+ this.format = creditCard.maskFormat;
12906
12893
 
12907
12894
  this.maxLength = creditCard.formatLength;
12908
12895
  this.minLength = creditCard.formatMinLength;
@@ -13376,7 +13363,7 @@ let AuroHelpText$8 = class AuroHelpText extends i$3 {
13376
13363
  }
13377
13364
  };
13378
13365
 
13379
- var formkitVersion$8 = '202607022150';
13366
+ var formkitVersion$8 = '202607022008';
13380
13367
 
13381
13368
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
13382
13369
  // See LICENSE in the project root for license information.
@@ -27746,7 +27733,7 @@ let AuroBibtemplate$3 = class AuroBibtemplate extends i$3 {
27746
27733
  }
27747
27734
  };
27748
27735
 
27749
- var formkitVersion$2$1 = '202607022150';
27736
+ var formkitVersion$2$1 = '202607022008';
27750
27737
 
27751
27738
  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$2`${s$3(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$6`: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}
27752
27739
  `,u$4$2=i$6`.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}}
@@ -33564,7 +33551,7 @@ let AuroHelpText$2$1 = class AuroHelpText extends i$3 {
33564
33551
  }
33565
33552
  };
33566
33553
 
33567
- var formkitVersion$1$3 = '202607022150';
33554
+ var formkitVersion$1$3 = '202607022008';
33568
33555
 
33569
33556
  let AuroElement$2$2 = class AuroElement extends i$3 {
33570
33557
  static get properties() {
@@ -45572,16 +45559,14 @@ let BaseInput$1 = class BaseInput extends AuroElement$1$3 {
45572
45559
  this.label = 'Input label is undefined';
45573
45560
  this.layout = 'classic';
45574
45561
  this.locale = 'en-US';
45575
- this._format = undefined;
45576
-
45577
- /** @private */
45578
- this._userSetFormat = false;
45579
45562
  this.max = undefined;
45580
45563
  this.maxLength = undefined;
45581
45564
  this.min = undefined;
45582
45565
  this.minLength = undefined;
45583
45566
  this.noValidate = false;
45584
45567
  this.onDark = false;
45568
+ // Raw values returned from the input mask before model normalization.
45569
+ this._rawMaskValue = undefined;
45585
45570
  this.required = false;
45586
45571
  this.setCustomValidityForType = undefined;
45587
45572
  // Credit Card is intentionally excluded — its mask manages the cursor
@@ -45739,8 +45724,7 @@ let BaseInput$1 = class BaseInput extends AuroElement$1$3 {
45739
45724
  */
45740
45725
  format: {
45741
45726
  type: String,
45742
- reflect: true,
45743
- noAccessor: true
45727
+ reflect: true
45744
45728
  },
45745
45729
 
45746
45730
  /**
@@ -46078,34 +46062,6 @@ let BaseInput$1 = class BaseInput extends AuroElement$1$3 {
46078
46062
  return this.max && dateFormatter$2.isValidDate(this.max) ? dateFormatter$2.stringToDateInstance(this.max) : undefined;
46079
46063
  }
46080
46064
 
46081
- get format() {
46082
- return this._format;
46083
- }
46084
-
46085
- /**
46086
- * Overrides LitElement's generated accessor so we can track whether the
46087
- * consumer explicitly set `format`. Locale-derived updates use
46088
- * `_setFormatFromLocale` instead, which skips this flag.
46089
- */
46090
- set format(value) {
46091
- const oldValue = this._format;
46092
- this._format = value ? value.toLowerCase() : value;
46093
- this._userSetFormat = Boolean(value);
46094
- this.requestUpdate('format', oldValue);
46095
- }
46096
-
46097
- /**
46098
- * Sets format without marking it as user-set. Used by locale auto-derive
46099
- * so that a subsequent locale change can still update the format.
46100
- * @private
46101
- * @param {string} value
46102
- */
46103
- _setFormatFromLocale(value) {
46104
- const oldValue = this._format;
46105
- this._format = value ? value.toLowerCase() : value;
46106
- this.requestUpdate('format', oldValue);
46107
- }
46108
-
46109
46065
  connectedCallback() {
46110
46066
  super.connectedCallback();
46111
46067
 
@@ -46153,6 +46109,15 @@ let BaseInput$1 = class BaseInput extends AuroElement$1$3 {
46153
46109
 
46154
46110
  this.inputId = this.id ? `${this.id}-input` : window.crypto.randomUUID();
46155
46111
 
46112
+ // Normalize the format token to lowercase so case-mixed values supplied
46113
+ // via attribute (e.g. `format="MM/DD/YYYY"`) hit the `dateFormatMap`
46114
+ // lookup inside `setCustomHelpTextMessage`. Without this, an uppercase
46115
+ // format silently misses the map and leaves `setCustomValidityForType`
46116
+ // unset.
46117
+ if (this.format) {
46118
+ this.format = this.format.toLowerCase();
46119
+ }
46120
+
46156
46121
  // use validity message override if declared when initializing the component
46157
46122
  if (this.hasAttribute('setCustomValidity')) {
46158
46123
  this.ValidityMessageOverride = this.setCustomValidity;
@@ -46259,10 +46224,12 @@ let BaseInput$1 = class BaseInput extends AuroElement$1$3 {
46259
46224
  updated(changedProperties) {
46260
46225
  super.updated(changedProperties);
46261
46226
 
46262
- // When locale changes, auto-derive format unless the consumer explicitly set one.
46227
+ // When locale changes without an explicit format override, derive format from the new locale.
46228
+ // Only runs if the current format is still the previous locale's default (not user-overridden).
46263
46229
  if (changedProperties.has('locale') && !changedProperties.has('format') && this.type === 'date') {
46264
- if (!this._userSetFormat) {
46265
- this._setFormatFromLocale(getDateFormatFromLocale$2(this.locale));
46230
+ const previousLocaleFormat = getDateFormatFromLocale$2(changedProperties.get('locale'));
46231
+ if (!this.format || this.format.toLowerCase() === previousLocaleFormat) {
46232
+ this.format = getDateFormatFromLocale$2(this.locale);
46266
46233
  }
46267
46234
  }
46268
46235
 
@@ -46433,6 +46400,9 @@ let BaseInput$1 = class BaseInput extends AuroElement$1$3 {
46433
46400
  this.maskInstance.on('accept', () => {
46434
46401
  if (this._configuringMask) return;
46435
46402
  this.value = this.util.toModelValue(this.maskInstance.value, this.format);
46403
+ if (this.type === "date") {
46404
+ this._rawMaskValue = this.maskInstance.value;
46405
+ }
46436
46406
  });
46437
46407
 
46438
46408
  // Mask fires 'complete' on the restore step below for any value that
@@ -46440,6 +46410,9 @@ let BaseInput$1 = class BaseInput extends AuroElement$1$3 {
46440
46410
  this.maskInstance.on('complete', () => {
46441
46411
  if (this._configuringMask) return;
46442
46412
  this.value = this.util.toModelValue(this.maskInstance.value, this.format);
46413
+ if (this.type === "date") {
46414
+ this._rawMaskValue = this.maskInstance.value;
46415
+ }
46443
46416
  });
46444
46417
 
46445
46418
  // Write existingValue through the mask (not the input directly) so
@@ -46676,7 +46649,8 @@ let BaseInput$1 = class BaseInput extends AuroElement$1$3 {
46676
46649
 
46677
46650
  // Set default date format if type=date and no format is defined
46678
46651
  if (this.type === "date" && !this.format) {
46679
- this._setFormatFromLocale(this.util.getDateMaskFromLocale().toLowerCase());
46652
+ // Use locale to determine default date format
46653
+ this.format = this.util.getDateMaskFromLocale().toLowerCase();
46680
46654
  this.util.updateFormat(this.format);
46681
46655
  }
46682
46656
  }
@@ -46705,7 +46679,7 @@ let BaseInput$1 = class BaseInput extends AuroElement$1$3 {
46705
46679
  const creditCard = this.matchInputValueToCreditCard();
46706
46680
  const previousFormat = this.format;
46707
46681
 
46708
- this._setFormatFromLocale(creditCard.maskFormat);
46682
+ this.format = creditCard.maskFormat;
46709
46683
 
46710
46684
  this.maxLength = creditCard.formatLength;
46711
46685
  this.minLength = creditCard.formatMinLength;
@@ -47179,7 +47153,7 @@ let AuroHelpText$1$3 = class AuroHelpText extends i$3 {
47179
47153
  }
47180
47154
  };
47181
47155
 
47182
- var formkitVersion$7 = '202607022150';
47156
+ var formkitVersion$7 = '202607022008';
47183
47157
 
47184
47158
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
47185
47159
  // See LICENSE in the project root for license information.
@@ -52061,7 +52035,7 @@ let AuroHelpText$1$2 = class AuroHelpText extends i$3 {
52061
52035
  }
52062
52036
  };
52063
52037
 
52064
- var formkitVersion$1$2 = '202607022150';
52038
+ var formkitVersion$1$2 = '202607022008';
52065
52039
 
52066
52040
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
52067
52041
  // See LICENSE in the project root for license information.
@@ -56389,7 +56363,7 @@ let AuroHelpText$6 = class AuroHelpText extends i$3 {
56389
56363
  }
56390
56364
  };
56391
56365
 
56392
- var formkitVersion$6 = '202607022150';
56366
+ var formkitVersion$6 = '202607022008';
56393
56367
 
56394
56368
  let AuroElement$1$2 = class AuroElement extends i$3 {
56395
56369
  static get properties() {
@@ -60369,7 +60343,7 @@ let AuroHelpText$5 = class AuroHelpText extends i$3 {
60369
60343
  }
60370
60344
  };
60371
60345
 
60372
- var formkitVersion$5 = '202607022150';
60346
+ var formkitVersion$5 = '202607022008';
60373
60347
 
60374
60348
  // Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
60375
60349
  // See LICENSE in the project root for license information.
@@ -62134,7 +62108,7 @@ let AuroHelpText$4 = class AuroHelpText extends i$3 {
62134
62108
  }
62135
62109
  };
62136
62110
 
62137
- var formkitVersion$4 = '202607022150';
62111
+ var formkitVersion$4 = '202607022008';
62138
62112
 
62139
62113
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
62140
62114
  // See LICENSE in the project root for license information.
@@ -67355,7 +67329,7 @@ let AuroHelpText$2 = class AuroHelpText extends i$3 {
67355
67329
  }
67356
67330
  };
67357
67331
 
67358
- var formkitVersion$2 = '202607022150';
67332
+ var formkitVersion$2 = '202607022008';
67359
67333
 
67360
67334
  let AuroElement$2$1 = class AuroElement extends i$3 {
67361
67335
  static get properties() {
@@ -79363,16 +79337,14 @@ class BaseInput extends AuroElement$1$1 {
79363
79337
  this.label = 'Input label is undefined';
79364
79338
  this.layout = 'classic';
79365
79339
  this.locale = 'en-US';
79366
- this._format = undefined;
79367
-
79368
- /** @private */
79369
- this._userSetFormat = false;
79370
79340
  this.max = undefined;
79371
79341
  this.maxLength = undefined;
79372
79342
  this.min = undefined;
79373
79343
  this.minLength = undefined;
79374
79344
  this.noValidate = false;
79375
79345
  this.onDark = false;
79346
+ // Raw values returned from the input mask before model normalization.
79347
+ this._rawMaskValue = undefined;
79376
79348
  this.required = false;
79377
79349
  this.setCustomValidityForType = undefined;
79378
79350
  // Credit Card is intentionally excluded — its mask manages the cursor
@@ -79530,8 +79502,7 @@ class BaseInput extends AuroElement$1$1 {
79530
79502
  */
79531
79503
  format: {
79532
79504
  type: String,
79533
- reflect: true,
79534
- noAccessor: true
79505
+ reflect: true
79535
79506
  },
79536
79507
 
79537
79508
  /**
@@ -79869,34 +79840,6 @@ class BaseInput extends AuroElement$1$1 {
79869
79840
  return this.max && dateFormatter.isValidDate(this.max) ? dateFormatter.stringToDateInstance(this.max) : undefined;
79870
79841
  }
79871
79842
 
79872
- get format() {
79873
- return this._format;
79874
- }
79875
-
79876
- /**
79877
- * Overrides LitElement's generated accessor so we can track whether the
79878
- * consumer explicitly set `format`. Locale-derived updates use
79879
- * `_setFormatFromLocale` instead, which skips this flag.
79880
- */
79881
- set format(value) {
79882
- const oldValue = this._format;
79883
- this._format = value ? value.toLowerCase() : value;
79884
- this._userSetFormat = Boolean(value);
79885
- this.requestUpdate('format', oldValue);
79886
- }
79887
-
79888
- /**
79889
- * Sets format without marking it as user-set. Used by locale auto-derive
79890
- * so that a subsequent locale change can still update the format.
79891
- * @private
79892
- * @param {string} value
79893
- */
79894
- _setFormatFromLocale(value) {
79895
- const oldValue = this._format;
79896
- this._format = value ? value.toLowerCase() : value;
79897
- this.requestUpdate('format', oldValue);
79898
- }
79899
-
79900
79843
  connectedCallback() {
79901
79844
  super.connectedCallback();
79902
79845
 
@@ -79944,6 +79887,15 @@ class BaseInput extends AuroElement$1$1 {
79944
79887
 
79945
79888
  this.inputId = this.id ? `${this.id}-input` : window.crypto.randomUUID();
79946
79889
 
79890
+ // Normalize the format token to lowercase so case-mixed values supplied
79891
+ // via attribute (e.g. `format="MM/DD/YYYY"`) hit the `dateFormatMap`
79892
+ // lookup inside `setCustomHelpTextMessage`. Without this, an uppercase
79893
+ // format silently misses the map and leaves `setCustomValidityForType`
79894
+ // unset.
79895
+ if (this.format) {
79896
+ this.format = this.format.toLowerCase();
79897
+ }
79898
+
79947
79899
  // use validity message override if declared when initializing the component
79948
79900
  if (this.hasAttribute('setCustomValidity')) {
79949
79901
  this.ValidityMessageOverride = this.setCustomValidity;
@@ -80050,10 +80002,12 @@ class BaseInput extends AuroElement$1$1 {
80050
80002
  updated(changedProperties) {
80051
80003
  super.updated(changedProperties);
80052
80004
 
80053
- // When locale changes, auto-derive format unless the consumer explicitly set one.
80005
+ // When locale changes without an explicit format override, derive format from the new locale.
80006
+ // Only runs if the current format is still the previous locale's default (not user-overridden).
80054
80007
  if (changedProperties.has('locale') && !changedProperties.has('format') && this.type === 'date') {
80055
- if (!this._userSetFormat) {
80056
- this._setFormatFromLocale(getDateFormatFromLocale(this.locale));
80008
+ const previousLocaleFormat = getDateFormatFromLocale(changedProperties.get('locale'));
80009
+ if (!this.format || this.format.toLowerCase() === previousLocaleFormat) {
80010
+ this.format = getDateFormatFromLocale(this.locale);
80057
80011
  }
80058
80012
  }
80059
80013
 
@@ -80224,6 +80178,9 @@ class BaseInput extends AuroElement$1$1 {
80224
80178
  this.maskInstance.on('accept', () => {
80225
80179
  if (this._configuringMask) return;
80226
80180
  this.value = this.util.toModelValue(this.maskInstance.value, this.format);
80181
+ if (this.type === "date") {
80182
+ this._rawMaskValue = this.maskInstance.value;
80183
+ }
80227
80184
  });
80228
80185
 
80229
80186
  // Mask fires 'complete' on the restore step below for any value that
@@ -80231,6 +80188,9 @@ class BaseInput extends AuroElement$1$1 {
80231
80188
  this.maskInstance.on('complete', () => {
80232
80189
  if (this._configuringMask) return;
80233
80190
  this.value = this.util.toModelValue(this.maskInstance.value, this.format);
80191
+ if (this.type === "date") {
80192
+ this._rawMaskValue = this.maskInstance.value;
80193
+ }
80234
80194
  });
80235
80195
 
80236
80196
  // Write existingValue through the mask (not the input directly) so
@@ -80467,7 +80427,8 @@ class BaseInput extends AuroElement$1$1 {
80467
80427
 
80468
80428
  // Set default date format if type=date and no format is defined
80469
80429
  if (this.type === "date" && !this.format) {
80470
- this._setFormatFromLocale(this.util.getDateMaskFromLocale().toLowerCase());
80430
+ // Use locale to determine default date format
80431
+ this.format = this.util.getDateMaskFromLocale().toLowerCase();
80471
80432
  this.util.updateFormat(this.format);
80472
80433
  }
80473
80434
  }
@@ -80496,7 +80457,7 @@ class BaseInput extends AuroElement$1$1 {
80496
80457
  const creditCard = this.matchInputValueToCreditCard();
80497
80458
  const previousFormat = this.format;
80498
80459
 
80499
- this._setFormatFromLocale(creditCard.maskFormat);
80460
+ this.format = creditCard.maskFormat;
80500
80461
 
80501
80462
  this.maxLength = creditCard.formatLength;
80502
80463
  this.minLength = creditCard.formatMinLength;
@@ -80970,7 +80931,7 @@ let AuroHelpText$1$1 = class AuroHelpText extends i$3 {
80970
80931
  }
80971
80932
  };
80972
80933
 
80973
- var formkitVersion$1$1 = '202607022150';
80934
+ var formkitVersion$1$1 = '202607022008';
80974
80935
 
80975
80936
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
80976
80937
  // See LICENSE in the project root for license information.
@@ -82096,7 +82057,7 @@ let AuroBibtemplate$1 = class AuroBibtemplate extends i$3 {
82096
82057
  }
82097
82058
  };
82098
82059
 
82099
- var formkitVersion$3 = '202607022150';
82060
+ var formkitVersion$3 = '202607022008';
82100
82061
 
82101
82062
  var styleCss$1$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}`;
82102
82063
 
@@ -86873,9 +86834,6 @@ function navigateArrow(component, direction, options = {}) {
86873
86834
  * @param {HTMLElement | null | undefined} menu - The auro-menu element.
86874
86835
  * @returns {Array<HTMLElement>} Non-disabled options, empty array when none.
86875
86836
  */
86876
- function getEnabledOptions(menu) {
86877
- return (menu?.options || []).filter((option) => !option.disabled);
86878
- }
86879
86837
 
86880
86838
  /**
86881
86839
  * Returns the active (selectable + visible) options for type-ahead navigation.
@@ -86945,8 +86903,10 @@ const selectKeyboardStrategy = {
86945
86903
  End(component, evt, ctx) {
86946
86904
  evt.preventDefault();
86947
86905
  evt.stopPropagation();
86948
- // `pop()` is safe here: getEnabledOptions returns a fresh filtered array.
86949
- const lastOption = getEnabledOptions(component.menu).pop();
86906
+ // `pop()` is safe here: getActiveOptions returns a fresh filtered array.
86907
+ // Uses "active" (not "enabled") so hidden and static rows — which a screen
86908
+ // reader must not announce as focused — are skipped.
86909
+ const lastOption = getActiveOptions(component.menu).pop();
86950
86910
  if (!lastOption) {
86951
86911
  return;
86952
86912
  }
@@ -86977,7 +86937,7 @@ const selectKeyboardStrategy = {
86977
86937
  Home(component, evt, ctx) {
86978
86938
  evt.preventDefault();
86979
86939
  evt.stopPropagation();
86980
- const [firstOption] = getEnabledOptions(component.menu);
86940
+ const [firstOption] = getActiveOptions(component.menu);
86981
86941
  if (!firstOption) {
86982
86942
  return;
86983
86943
  }
@@ -87002,6 +86962,15 @@ const selectKeyboardStrategy = {
87002
86962
  },
87003
86963
 
87004
86964
  default(component, evt, ctx) {
86965
+ // Ignore keys chorded with Ctrl/Meta/Alt so browser/OS shortcuts
86966
+ // (Cmd+C, Ctrl+V, Alt+X, Cmd+Space, …) don't leak into typeahead
86967
+ // or toggle the bib. Native <select> ignores modified keys.
86968
+ // ArrowUp/ArrowDown handle modifier+arrow explicitly above; this
86969
+ // guard only affects the default (printable/Space) branch.
86970
+ if (evt.ctrlKey || evt.metaKey || evt.altKey) {
86971
+ return;
86972
+ }
86973
+
87005
86974
  // Space resolves to either typeahead-buffer extension or bib toggle
87006
86975
  // depending on whether a type-ahead buffer is active. Mirrors native
87007
86976
  // <select> and the WAI-ARIA APG Listbox guidance: mid-typeahead space
@@ -90932,7 +90901,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$3 {
90932
90901
  }
90933
90902
  };
90934
90903
 
90935
- var formkitVersion$1 = '202607022150';
90904
+ var formkitVersion$1 = '202607022008';
90936
90905
 
90937
90906
  class AuroElement extends i$3 {
90938
90907
  static get properties() {
@@ -92971,7 +92940,7 @@ class AuroHelpText extends i$3 {
92971
92940
  }
92972
92941
  }
92973
92942
 
92974
- var formkitVersion = '202607022150';
92943
+ var formkitVersion = '202607022008';
92975
92944
 
92976
92945
  var styleCss = 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}.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}`;
92977
92946
 
@@ -93535,8 +93504,11 @@ class AuroSelect extends AuroElement$1 {
93535
93504
  } else if (this.multiSelect && Array.isArray(this.optionSelected) && this.optionSelected.length > 0) {
93536
93505
  this.menu.updateActiveOption(this.optionSelected[0]);
93537
93506
  } else {
93538
- // If no activeOption has yet to be set, then make the first enabled option active by default
93539
- const [firstActive] = getEnabledOptions(this.menu);
93507
+ // If no activeOption has yet to be set, make the first active option
93508
+ // (non-disabled, non-hidden, non-static) active by default. "Active" —
93509
+ // not just "enabled" — so hidden rows and static placeholders never
93510
+ // land in aria-activedescendant on open.
93511
+ const [firstActive] = getActiveOptions(this.menu);
93540
93512
  this.menu.updateActiveOption(firstActive);
93541
93513
  }
93542
93514
  }
@@ -93782,6 +93754,12 @@ class AuroSelect extends AuroElement$1 {
93782
93754
 
93783
93755
  /**
93784
93756
  * Binds all behavior needed to the menu after rendering.
93757
+ *
93758
+ * The `<auro-menu>` reference is captured once and not re-targeted on
93759
+ * `slotchange`. Runtime option mutations are covered via
93760
+ * `auroMenu-optionsChange`, so swap options inside the menu freely; do not
93761
+ * swap the `<auro-menu>` element itself under a live select — remount the
93762
+ * parent `<auro-select>` instead.
93785
93763
  * @private
93786
93764
  * @returns {void}
93787
93765
  */
@@ -93840,6 +93818,15 @@ class AuroSelect extends AuroElement$1 {
93840
93818
  if (this.menu.optionSelected !== undefined) {
93841
93819
  return;
93842
93820
  }
93821
+ // Skip when the select is already cleared (valueless click with no
93822
+ // prior selection): value/optionSelected are already empty and there
93823
+ // is no stale trigger text to refresh, so updateDisplayedValue would
93824
+ // just churn the DOM and request a needless dropdown re-render.
93825
+ const hasStaleState = this.value !== undefined ||
93826
+ (this.multiSelect ? this.optionSelected?.length > 0 : this.optionSelected !== undefined);
93827
+ if (!hasStaleState) {
93828
+ return;
93829
+ }
93843
93830
  this.value = undefined;
93844
93831
  this.optionSelected = this.multiSelect ? [] : undefined;
93845
93832
  // The trigger label is rendered imperatively into #value, so a property
@@ -93869,10 +93856,15 @@ class AuroSelect extends AuroElement$1 {
93869
93856
  if (this.dropdown.isPopoverVisible) {
93870
93857
  announceToScreenReader(this._getAnnouncementRoot(), message);
93871
93858
  } else {
93872
- // Typeahead-on-closed fires this event before `show()` flips
93873
- // isPopoverVisible. Defer so the announcement targets the bib's
93874
- // live region once the fullscreen <dialog> opens otherwise it
93875
- // lands in the host root, which is inert under the active modal.
93859
+ // Typeahead-on-closed calls updateActiveOption() before show(), so
93860
+ // this handler runs with isPopoverVisible still false. queueMicrotask
93861
+ // is safe because show() showBib() flips isPopoverVisible and
93862
+ // dialog.showModal() both run synchronously in the same task; the
93863
+ // microtask queue only drains once _handleTypeahead unwinds, by
93864
+ // which point _getAnnouncementRoot() resolves to the bib's shadow
93865
+ // root inside the now-open modal. Do NOT switch to auroDropdown-toggled
93866
+ // — it fires before showModal(), landing the announcement in the
93867
+ // host root while the dialog is still not-yet-modal.
93876
93868
  queueMicrotask(() => announceToScreenReader(this._getAnnouncementRoot(), message));
93877
93869
  }
93878
93870
  }
@@ -94266,6 +94258,13 @@ class AuroSelect extends AuroElement$1 {
94266
94258
  }
94267
94259
 
94268
94260
  if (changedProperties.has('value')) {
94261
+ // A value change ends the current interaction — whether it came from a
94262
+ // user commit, programmatic assignment, or reset(). Clear the buffer so
94263
+ // a stale prefix does not concatenate onto the next keystroke while the
94264
+ // host still has focus (the blur listener would otherwise be the only
94265
+ // focus-retained clear point, and hideBib() below does not blur).
94266
+ this._clearTypeaheadBuffer();
94267
+
94269
94268
  this.setMenuValue(this.value);
94270
94269
 
94271
94270
  this._updateNativeSelect();
@@ -94321,6 +94320,9 @@ class AuroSelect extends AuroElement$1 {
94321
94320
  * @returns {void}
94322
94321
  */
94323
94322
  reset() {
94323
+ // Defense-in-depth: updated()'s value-change branch also clears, but
94324
+ // reset-to-same-value (e.g. undefined → undefined) skips that path.
94325
+ this._clearTypeaheadBuffer();
94324
94326
  this.menu.reset();
94325
94327
  this.validation.reset(this);
94326
94328
  }
@@ -94343,8 +94345,13 @@ class AuroSelect extends AuroElement$1 {
94343
94345
  // Hidden native <select> has no `multiple` attribute, so any change it fires
94344
94346
  // is a single raw value — applying it in multiSelect mode would collapse the
94345
94347
  // JSON-array `value` shape. Bfcache/autofill can reach this on a name-bearing
94346
- // form control even with aria-hidden/tabindex=-1.
94347
- if (this.multiSelect) return;
94348
+ // form control even with aria-hidden/tabindex=-1, so revert to the expected
94349
+ // mirror (formattedValue[0]) rather than letting the native select drift and
94350
+ // silently submit the autofilled scalar under `name`.
94351
+ if (this.multiSelect) {
94352
+ this._updateNativeSelect();
94353
+ return;
94354
+ }
94348
94355
 
94349
94356
  const selectedOption = event.target.options[event.target.selectedIndex];
94350
94357
  if (!selectedOption) return;