@aurodesignsystem-dev/auro-formkit 0.0.0-pr1530.2 → 0.0.0-pr1531.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 (53) 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 +15 -6
  7. package/components/combobox/demo/getting-started.min.js +15 -6
  8. package/components/combobox/demo/index.min.js +15 -6
  9. package/components/combobox/dist/index.js +15 -6
  10. package/components/combobox/dist/registered.js +15 -6
  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 +8 -17
  16. package/components/datepicker/demo/api.md +1 -1
  17. package/components/datepicker/demo/customize.min.js +41 -178
  18. package/components/datepicker/demo/index.min.js +41 -178
  19. package/components/datepicker/demo/keyboard-behavior.md +3 -3
  20. package/components/datepicker/demo/voiceover.md +4 -4
  21. package/components/datepicker/demo/why-datepicker.md +2 -2
  22. package/components/datepicker/dist/auro-calendar-cell.d.ts +0 -11
  23. package/components/datepicker/dist/auro-calendar.d.ts +2 -26
  24. package/components/datepicker/dist/auro-datepicker.d.ts +1 -9
  25. package/components/datepicker/dist/index.js +41 -178
  26. package/components/datepicker/dist/registered.js +41 -178
  27. package/components/dropdown/demo/customize.min.js +1 -1
  28. package/components/dropdown/demo/getting-started.min.js +1 -1
  29. package/components/dropdown/demo/index.min.js +1 -1
  30. package/components/dropdown/dist/index.js +1 -1
  31. package/components/dropdown/dist/registered.js +1 -1
  32. package/components/form/demo/customize.min.js +89 -254
  33. package/components/form/demo/getting-started.min.js +89 -254
  34. package/components/form/demo/index.min.js +89 -254
  35. package/components/form/demo/registerDemoDeps.min.js +89 -254
  36. package/components/input/demo/customize.min.js +13 -4
  37. package/components/input/demo/getting-started.min.js +13 -4
  38. package/components/input/demo/index.min.js +13 -4
  39. package/components/input/dist/index.js +13 -4
  40. package/components/input/dist/registered.js +13 -4
  41. package/components/radio/demo/customize.min.js +1 -1
  42. package/components/radio/demo/getting-started.min.js +1 -1
  43. package/components/radio/demo/index.min.js +1 -1
  44. package/components/radio/dist/index.js +1 -1
  45. package/components/radio/dist/registered.js +1 -1
  46. package/components/select/demo/customize.min.js +16 -62
  47. package/components/select/demo/getting-started.min.js +16 -62
  48. package/components/select/demo/index.min.js +16 -62
  49. package/components/select/dist/auro-select.d.ts +0 -6
  50. package/components/select/dist/index.js +16 -62
  51. package/components/select/dist/registered.js +16 -62
  52. package/custom-elements.json +1480 -1510
  53. package/package.json +1 -1
@@ -11245,8 +11245,8 @@ let BaseInput$2 = class BaseInput extends AuroElement$6 {
11245
11245
  */
11246
11246
  set format(value) {
11247
11247
  const oldValue = this._format;
11248
- this._format = value ? value.toLowerCase() : value;
11249
- this._userSetFormat = Boolean(value);
11248
+ this._format = value;
11249
+ this._userSetFormat = true;
11250
11250
  this.requestUpdate('format', oldValue);
11251
11251
  }
11252
11252
 
@@ -11258,7 +11258,7 @@ let BaseInput$2 = class BaseInput extends AuroElement$6 {
11258
11258
  */
11259
11259
  _setFormatFromLocale(value) {
11260
11260
  const oldValue = this._format;
11261
- this._format = value ? value.toLowerCase() : value;
11261
+ this._format = value;
11262
11262
  this.requestUpdate('format', oldValue);
11263
11263
  }
11264
11264
 
@@ -11309,6 +11309,15 @@ let BaseInput$2 = class BaseInput extends AuroElement$6 {
11309
11309
 
11310
11310
  this.inputId = this.id ? `${this.id}-input` : window.crypto.randomUUID();
11311
11311
 
11312
+ // Normalize the format token to lowercase so case-mixed values supplied
11313
+ // via attribute (e.g. `format="MM/DD/YYYY"`) hit the `dateFormatMap`
11314
+ // lookup inside `setCustomHelpTextMessage`. Without this, an uppercase
11315
+ // format silently misses the map and leaves `setCustomValidityForType`
11316
+ // unset.
11317
+ if (this.format) {
11318
+ this._setFormatFromLocale(this.format.toLowerCase());
11319
+ }
11320
+
11312
11321
  // use validity message override if declared when initializing the component
11313
11322
  if (this.hasAttribute('setCustomValidity')) {
11314
11323
  this.ValidityMessageOverride = this.setCustomValidity;
@@ -12335,7 +12344,7 @@ let AuroHelpText$8 = class AuroHelpText extends i$2 {
12335
12344
  }
12336
12345
  };
12337
12346
 
12338
- var formkitVersion$8 = '202607022225';
12347
+ var formkitVersion$8 = '202607022131';
12339
12348
 
12340
12349
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
12341
12350
  // See LICENSE in the project root for license information.
@@ -24706,28 +24715,23 @@ var popoverVersion = '6.0.1';
24706
24715
  * @returns {number|null} Local-midnight Unix timestamp (seconds), or null.
24707
24716
  */
24708
24717
  function parseIsoToTimestamp(isoStr) {
24709
- // Strict YYYY-MM-DD matcher with named groups. Rejects trailing garbage
24710
- // ("2024x-01-01"), short segments ("2024-1-1"), and any non-digit
24711
- // characters. `parseInt` alone accepted both because it stops at the
24712
- // first non-digit and doesn't require a minimum length.
24713
- const ISO_DATE_RE = /^(?<year>\d{4})-(?<month>\d{2})-(?<day>\d{2})$/u;
24714
- const MAX_MONTH = 12;
24715
- const MAX_DAY = 31;
24716
-
24717
24718
  if (typeof isoStr !== 'string') {
24718
24719
  return null;
24719
24720
  }
24720
- const match = ISO_DATE_RE.exec(isoStr);
24721
- if (!match) {
24721
+ const parts = isoStr.split('-');
24722
+ if (parts.length !== 3) {
24723
+ return null;
24724
+ }
24725
+ const year = parseInt(parts[0], 10);
24726
+ const month = parseInt(parts[1], 10);
24727
+ const day = parseInt(parts[2], 10);
24728
+ if (!Number.isFinite(year) || !Number.isFinite(month) || !Number.isFinite(day)) {
24722
24729
  return null;
24723
24730
  }
24724
- const year = Number(match.groups.year);
24725
- const month = Number(match.groups.month);
24726
- const day = Number(match.groups.day);
24727
24731
  // Reject overflow values like "2024-13-40" — JS `new Date(year, month, day)`
24728
24732
  // silently normalizes those to a different calendar day, which would
24729
24733
  // disable the wrong date if we let the result through.
24730
- if (month < 1 || month > MAX_MONTH || day < 1 || day > MAX_DAY) {
24734
+ if (month < 1 || month > 12 || day < 1 || day > 31) {
24731
24735
  return null;
24732
24736
  }
24733
24737
  const date = new Date(year, month - 1, day);
@@ -25305,36 +25309,13 @@ class AuroCalendarCell extends i$2 {
25305
25309
  }
25306
25310
 
25307
25311
  firstUpdated() {
25308
- this._initFromAncestors();
25309
- }
25310
-
25311
- /**
25312
- * Wires the cell to its ancestor calendar-month and calendar (and, via
25313
- * the calendar, to the datepicker). Extracted from firstUpdated() so the
25314
- * retry loop can re-attempt without recursively invoking a Lit lifecycle
25315
- * method (which is outside the framework's contract).
25316
- * @private
25317
- * @returns {void}
25318
- */
25319
- _initFromAncestors() {
25320
25312
  const calendarMonth = this.runtimeUtils.closestElement('auro-formkit-calendar-month', this);
25321
25313
  const calendar = this.runtimeUtils.closestElement('auro-formkit-calendar', calendarMonth);
25322
25314
 
25323
25315
  if (!calendar) {
25324
- // Retry on the next event-loop turn to give the ancestor chain a chance
25325
- // to attach — but cap attempts so a permanently detached cell doesn't
25326
- // spin forever. 10 turns is far more than any observed race needs.
25327
- this._firstUpdatedRetries = (this._firstUpdatedRetries || 0) + 1;
25328
- if (this._firstUpdatedRetries > 10) {
25329
- return;
25330
- }
25331
- this._firstUpdatedRetryTimer = setTimeout(() => {
25332
- this._firstUpdatedRetryTimer = null;
25333
- this._initFromAncestors();
25334
- }, 0);
25316
+ setTimeout(() => this.firstUpdated(), 0);
25335
25317
  return;
25336
25318
  }
25337
- this._firstUpdatedRetries = 0;
25338
25319
  this.calendar = calendar;
25339
25320
  this.datepicker = calendar.datepicker;
25340
25321
  this._slotContentHandler = () => {
@@ -25362,10 +25343,6 @@ class AuroCalendarCell extends i$2 {
25362
25343
  if (this.datepicker && this._slotContentHandler) {
25363
25344
  this.datepicker.removeEventListener('auroDatePicker-newSlotContent', this._slotContentHandler);
25364
25345
  }
25365
- if (this._firstUpdatedRetryTimer) {
25366
- clearTimeout(this._firstUpdatedRetryTimer);
25367
- this._firstUpdatedRetryTimer = null;
25368
- }
25369
25346
  }
25370
25347
 
25371
25348
  /**
@@ -26737,7 +26714,7 @@ let AuroBibtemplate$3 = class AuroBibtemplate extends i$2 {
26737
26714
  }
26738
26715
  };
26739
26716
 
26740
- var formkitVersion$2$1 = '202607022225';
26717
+ var formkitVersion$2$1 = '202607022131';
26741
26718
 
26742
26719
  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}
26743
26720
  `,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}}
@@ -26876,10 +26853,7 @@ class AuroCalendar extends RangeDatepicker {
26876
26853
  * Support will be removed in a future major release.
26877
26854
  * @private
26878
26855
  */
26879
- // Initialize the backing field directly so the constructor's default
26880
- // empty array doesn't trigger the deprecation warning. Assignments from
26881
- // consumers still route through the setter below.
26882
- this._disabledDays = [];
26856
+ this.disabledDays = [];
26883
26857
 
26884
26858
  /**
26885
26859
  * @private
@@ -26912,44 +26886,6 @@ class AuroCalendar extends RangeDatepicker {
26912
26886
  this._calendarInstanceId = Date.now().toString(36);
26913
26887
  }
26914
26888
 
26915
- /**
26916
- * @deprecated See constructor JSDoc — migrate to
26917
- * `auro-datepicker.blackoutDates`. The getter/setter pair exists so the
26918
- * one-time deprecation warning fires as soon as a consumer assigns a
26919
- * non-empty array (empty assignments are ignored — an empty array is
26920
- * indistinguishable from the constructor default and would produce a
26921
- * spurious warning), rather than only when `_getBlackoutSet()` happens
26922
- * to rebuild.
26923
- * @returns {Array} The current legacy `disabledDays` array.
26924
- */
26925
- get disabledDays() {
26926
- return this._disabledDays;
26927
- }
26928
-
26929
- /**
26930
- * @param {Array} value - The legacy `disabledDays` array to set.
26931
- */
26932
- set disabledDays(value) {
26933
- const oldValue = this._disabledDays;
26934
- // Coerce non-arrays to `[]`. Consumers occasionally pass `null`
26935
- // (Lit's Array attribute converter returns null for a missing/empty
26936
- // attribute) or misuse the API; downstream code in
26937
- // `auro-calendar-cell.isEnabled` calls `.findIndex()` on this value
26938
- // without an Array.isArray guard, so a truthy non-array would throw
26939
- // at render.
26940
- const coerced = Array.isArray(value) ? value : [];
26941
- if (coerced.length > 0) {
26942
- this._warnDisabledDaysDeprecated();
26943
- }
26944
- this._disabledDays = coerced;
26945
- // `disabledDays` is a Lit `@property({ type: Array })` on the
26946
- // RangeDatepicker base class; Lit's generated setter (which we've
26947
- // overridden here to insert the warning) is what normally invalidates
26948
- // the reactive cycle. Re-invoke requestUpdate manually so consumer
26949
- // assignments still re-render the calendar.
26950
- this.requestUpdate('disabledDays', oldValue);
26951
- }
26952
-
26953
26889
  static get styles() {
26954
26890
  return [
26955
26891
  styleCss$7$1,
@@ -27495,19 +27431,8 @@ class AuroCalendar extends RangeDatepicker {
27495
27431
  /**
27496
27432
  * Returns a memoized Set of blackout timestamps (seconds) drawn from both
27497
27433
  * the legacy `disabledDays` array and the datepicker's ISO `blackoutDates`.
27498
- *
27499
- * The cache invalidates on **reference identity** only when the
27500
- * consumer reassigns the array (`el.blackoutDates = [...]`), matching
27501
- * Lit's own reactivity semantics for array properties. In-place mutations
27502
- * on the existing array (`push`, `splice`, index assignment) will NOT
27503
- * invalidate the cache and the new entries will be silently ignored.
27504
- * Consumers must reassign to update — see the JSDoc on
27505
- * `auro-datepicker.blackoutDates` for the recommended pattern.
27506
- *
27507
- * A shallow-equality tier was considered but rejected: it would run
27508
- * O(N) work on every cell render (this method is called per-cell via
27509
- * `isBlackout()`) and still wouldn't catch same-length value swaps,
27510
- * offering a false sense of safety.
27434
+ * The cache invalidates when either source array's reference changes, which
27435
+ * matches Lit's own reactive identity semantics for array properties.
27511
27436
  * @private
27512
27437
  * @returns {Set<Number>}
27513
27438
  */
@@ -27688,24 +27613,7 @@ class AuroCalendar extends RangeDatepicker {
27688
27613
  // rendered month(s) first so a single-month calendar does not pick a date
27689
27614
  // that has no DOM cell. Determine the visible range based on centralDate and
27690
27615
  // the number of rendered months.
27691
- //
27692
- // numCalendars is assigned inside renderAllCalendars(), which runs during
27693
- // render() — so by the time the visible-change handler in updated()
27694
- // calls computeActiveDate() in the same cycle, numCalendars is normally
27695
- // set. Guard against the pre-first-render path anyway (e.g. any future
27696
- // caller that reaches computeActiveDate before render() has run):
27697
- // Math.max(undefined, 1) is NaN, which would silently skip the
27698
- // visible-month scan below. Fall back to maximumRenderableMonths'
27699
- // desktop default (1 for non-range, 2 for range) so the scan window is
27700
- // correctly sized whenever numCalendars is not yet populated.
27701
- let renderedMonths = null;
27702
-
27703
- if (Number.isFinite(this.numCalendars) && this.numCalendars > 0) {
27704
- renderedMonths = this.numCalendars;
27705
- } else {
27706
- renderedMonths = this.noRange ? 1 : 2;
27707
- }
27708
-
27616
+ const renderedMonths = Math.max(this.numCalendars, 1);
27709
27617
  const visibleAnchor = this.centralDateObject ?? new Date(now * 1000);
27710
27618
  const visMonthStart = new Date(visibleAnchor.getFullYear(), visibleAnchor.getMonth(), 1);
27711
27619
  visMonthStart.setHours(0, 0, 0, 0);
@@ -27975,8 +27883,6 @@ class AuroCalendar extends RangeDatepicker {
27975
27883
  let targetIndex = -1;
27976
27884
  if (direction === 'next') {
27977
27885
  targetIndex = currentIndex + 1;
27978
- } else if (direction === 'prev') {
27979
- targetIndex = currentIndex - 1;
27980
27886
  }
27981
27887
 
27982
27888
  if (targetIndex >= 0 && targetIndex < allCells.length) {
@@ -28581,10 +28487,6 @@ class AuroCalendar extends RangeDatepicker {
28581
28487
  * originally tried aria-live="polite" here, but VoiceOver treats
28582
28488
  * polite as "wait until idle" — which never happens during active
28583
28489
  * keyboard navigation — so the announcements were silently dropped.
28584
- *
28585
- * This is a documented deviation from WCAG 2.1 SC 4.1.3, which
28586
- * prefers `polite` for status messages. See the "Documented
28587
- * Deviation" section in components/datepicker/docs/pages/accessibility.md.
28588
28490
  * @private
28589
28491
  * @param {String} dateStr - The localized date string to announce.
28590
28492
  * @returns {void}
@@ -32630,7 +32532,7 @@ let AuroHelpText$2$1 = class AuroHelpText extends i$2 {
32630
32532
  }
32631
32533
  };
32632
32534
 
32633
- var formkitVersion$1$3 = '202607022225';
32535
+ var formkitVersion$1$3 = '202607022131';
32634
32536
 
32635
32537
  let AuroElement$2$2 = class AuroElement extends i$2 {
32636
32538
  static get properties() {
@@ -45155,8 +45057,8 @@ let BaseInput$1 = class BaseInput extends AuroElement$1$3 {
45155
45057
  */
45156
45058
  set format(value) {
45157
45059
  const oldValue = this._format;
45158
- this._format = value ? value.toLowerCase() : value;
45159
- this._userSetFormat = Boolean(value);
45060
+ this._format = value;
45061
+ this._userSetFormat = true;
45160
45062
  this.requestUpdate('format', oldValue);
45161
45063
  }
45162
45064
 
@@ -45168,7 +45070,7 @@ let BaseInput$1 = class BaseInput extends AuroElement$1$3 {
45168
45070
  */
45169
45071
  _setFormatFromLocale(value) {
45170
45072
  const oldValue = this._format;
45171
- this._format = value ? value.toLowerCase() : value;
45073
+ this._format = value;
45172
45074
  this.requestUpdate('format', oldValue);
45173
45075
  }
45174
45076
 
@@ -45219,6 +45121,15 @@ let BaseInput$1 = class BaseInput extends AuroElement$1$3 {
45219
45121
 
45220
45122
  this.inputId = this.id ? `${this.id}-input` : window.crypto.randomUUID();
45221
45123
 
45124
+ // Normalize the format token to lowercase so case-mixed values supplied
45125
+ // via attribute (e.g. `format="MM/DD/YYYY"`) hit the `dateFormatMap`
45126
+ // lookup inside `setCustomHelpTextMessage`. Without this, an uppercase
45127
+ // format silently misses the map and leaves `setCustomValidityForType`
45128
+ // unset.
45129
+ if (this.format) {
45130
+ this._setFormatFromLocale(this.format.toLowerCase());
45131
+ }
45132
+
45222
45133
  // use validity message override if declared when initializing the component
45223
45134
  if (this.hasAttribute('setCustomValidity')) {
45224
45135
  this.ValidityMessageOverride = this.setCustomValidity;
@@ -46245,7 +46156,7 @@ let AuroHelpText$1$3 = class AuroHelpText extends i$2 {
46245
46156
  }
46246
46157
  };
46247
46158
 
46248
- var formkitVersion$7 = '202607022225';
46159
+ var formkitVersion$7 = '202607022131';
46249
46160
 
46250
46161
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
46251
46162
  // See LICENSE in the project root for license information.
@@ -47622,15 +47533,6 @@ const datepickerKeyboardStrategy = {
47622
47533
  evt.stopPropagation();
47623
47534
  evt.preventDefault();
47624
47535
 
47625
- // Signal to the visibility-change handler in auro-datepicker.js that
47626
- // focus should be restored to the trigger regardless of hasFocus.
47627
- // hidePopover() (desktop non-modal path) does not auto-restore focus,
47628
- // and hiding the grid's popover ancestor drops focus to <body>. That
47629
- // synchronously fires focusout on the datepicker host — clearing
47630
- // hasFocus — before updated() runs, which would otherwise skip the
47631
- // input refocus. Native <dialog>.close() (modal path) restores focus
47632
- // itself, but the flag is harmless there.
47633
- component._restoreFocusOnClose = true;
47634
47536
  component.hideBib();
47635
47537
  },
47636
47538
 
@@ -47904,14 +47806,6 @@ class AuroDatePicker extends AuroElement$5 {
47904
47806
 
47905
47807
  /**
47906
47808
  * Array of dates that cannot be selected. Dates should be in ISO format (YYYY-MM-DD).
47907
- *
47908
- * **Immutable update required.** The datepicker treats this array as
47909
- * immutable and memoizes a lookup Set keyed on the array's reference
47910
- * identity — matching Lit's own reactivity semantics for array
47911
- * properties. In-place mutations (`blackoutDates.push(...)`,
47912
- * `blackoutDates[i] = ...`, `blackoutDates.splice(...)`) will not
47913
- * invalidate the cache and the new entries will be silently ignored.
47914
- * To update, reassign the property: `el.blackoutDates = [...el.blackoutDates, '2024-12-25']`.
47915
47809
  */
47916
47810
  blackoutDates: {
47917
47811
  type: Array,
@@ -48797,13 +48691,12 @@ class AuroDatePicker extends AuroElement$5 {
48797
48691
  this.calendar.activeCellDate = null;
48798
48692
 
48799
48693
  // Show the month containing the selected date (or today) instead of
48800
- // whichever month the user last navigated to. Route through
48801
- // updateCentralDate so centralDate stays first-of-month.
48694
+ // whichever month the user last navigated to.
48802
48695
  // Respect consumer-provided centralDate/calendarStartDate if no value is set.
48803
48696
  if (this.valueObject) {
48804
- this.calendarRenderUtil.updateCentralDate(this, this.value);
48697
+ this.centralDate = this.value;
48805
48698
  } else if (!this.centralDate && !this.calendarStartDate && !this.minDate) {
48806
- this.calendarRenderUtil.updateCentralDate(this, new Date());
48699
+ this.centralDate = dateFormatter$1.toISOFormatString(new Date());
48807
48700
  }
48808
48701
  }
48809
48702
 
@@ -48861,15 +48754,8 @@ class AuroDatePicker extends AuroElement$5 {
48861
48754
  // Always clear the inert flag. Only restore focus to the input when the datepicker
48862
48755
  // still has focus (e.g. Escape, date selected) — not when the user tabbed away,
48863
48756
  // which would pull them back and require extra Tab presses to escape.
48864
- //
48865
- // `_restoreFocusOnClose` is set by the Escape handler in
48866
- // datepickerKeyboardStrategy.js to force restore even when hasFocus
48867
- // has already been cleared — hidePopover() (desktop non-modal path)
48868
- // can drop focus to <body> before this update fires.
48869
48757
  this.dropdown.trigger.inert = false;
48870
- const shouldRestoreFocus = this.hasFocus || this._restoreFocusOnClose;
48871
- this._restoreFocusOnClose = false;
48872
- if (shouldRestoreFocus) {
48758
+ if (this.hasFocus) {
48873
48759
  requestAnimationFrame(() => {
48874
48760
  if (!this.dropdown.isPopoverVisible) {
48875
48761
  this.inputList[0].focus();
@@ -49315,18 +49201,6 @@ class AuroDatePicker extends AuroElement$5 {
49315
49201
  this.calendar.requestUpdate();
49316
49202
  this.dispatchEvent(new CustomEvent('auroDatePicker-newSlotContent'));
49317
49203
  }
49318
-
49319
- // Range invariant: if a value change (from click or programmatic) has
49320
- // moved start past end, clear valueEnd here so both properties land in
49321
- // the SAME reactive cycle. Doing it in updated() would schedule a
49322
- // second cycle after cellClickActive/wasCellClick has already been
49323
- // consumed by the value branch, leaving the valueEnd branch to run
49324
- // with a stale handshake and racing with any intervening programmatic
49325
- // value assignments.
49326
- if ((changedProperties.has('value') || changedProperties.has('valueEnd')) &&
49327
- this.valueObject && this.valueEndObject && this.valueObject > this.valueEndObject) {
49328
- this.valueEnd = undefined;
49329
- }
49330
49204
  }
49331
49205
 
49332
49206
  updated(changedProperties) {
@@ -49394,12 +49268,8 @@ class AuroDatePicker extends AuroElement$5 {
49394
49268
 
49395
49269
  if (this.value && this.value.length === this.inputList[0].lengthForType && !(this.wasCellClick && this.range)) {
49396
49270
  // Skip centralDate update when user clicked a cell in range mode
49397
- // to prevent the displayed months from shifting. Route through
49398
- // updateCentralDate so centralDate stays first-of-month — direct
49399
- // assignment of the raw value briefly holds a mid-month string
49400
- // and violates the invariant that observers (e.g. calendar sync)
49401
- // rely on.
49402
- this.calendarRenderUtil.updateCentralDate(this, this.value);
49271
+ // to prevent the displayed months from shifting
49272
+ this.centralDate = this.value;
49403
49273
  }
49404
49274
 
49405
49275
  this.setHasValue();
@@ -49457,10 +49327,8 @@ class AuroDatePicker extends AuroElement$5 {
49457
49327
 
49458
49328
  if (this.valueEnd && this.valueEnd.length === this.inputList[1].lengthForType && !this.wasCellClick) {
49459
49329
  // Skip centralDate update when user clicked a cell in range mode
49460
- // to prevent the displayed months from shifting. Route through
49461
- // updateCentralDate to preserve the first-of-month invariant
49462
- // (see matching comment in the value branch above).
49463
- this.calendarRenderUtil.updateCentralDate(this, this.valueEnd);
49330
+ // to prevent the displayed months from shifting
49331
+ this.centralDate = this.valueEnd;
49464
49332
  }
49465
49333
 
49466
49334
  this.validate();
@@ -49484,6 +49352,10 @@ class AuroDatePicker extends AuroElement$5 {
49484
49352
  this.validation.validate(lastInput, true);
49485
49353
  }
49486
49354
 
49355
+ if (this.valueObject && this.valueEndObject && this.valueObject > this.valueEndObject) {
49356
+ this.valueEnd = undefined;
49357
+ }
49358
+
49487
49359
  // This resets the datepicker when the minDate is set to a new value that is
49488
49360
  // a later date than the current value date
49489
49361
  if (changedProperties.has('minDate') && this.minDate) {
@@ -51166,7 +51038,7 @@ let AuroHelpText$1$2 = class AuroHelpText extends i$2 {
51166
51038
  }
51167
51039
  };
51168
51040
 
51169
- var formkitVersion$1$2 = '202607022225';
51041
+ var formkitVersion$1$2 = '202607022131';
51170
51042
 
51171
51043
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
51172
51044
  // See LICENSE in the project root for license information.
@@ -55494,7 +55366,7 @@ let AuroHelpText$6 = class AuroHelpText extends i$2 {
55494
55366
  }
55495
55367
  };
55496
55368
 
55497
- var formkitVersion$6 = '202607022225';
55369
+ var formkitVersion$6 = '202607022131';
55498
55370
 
55499
55371
  let AuroElement$1$2 = class AuroElement extends i$2 {
55500
55372
  static get properties() {
@@ -59474,7 +59346,7 @@ let AuroHelpText$5 = class AuroHelpText extends i$2 {
59474
59346
  }
59475
59347
  };
59476
59348
 
59477
- var formkitVersion$5 = '202607022225';
59349
+ var formkitVersion$5 = '202607022131';
59478
59350
 
59479
59351
  // Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
59480
59352
  // See LICENSE in the project root for license information.
@@ -61239,7 +61111,7 @@ let AuroHelpText$4 = class AuroHelpText extends i$2 {
61239
61111
  }
61240
61112
  };
61241
61113
 
61242
- var formkitVersion$4 = '202607022225';
61114
+ var formkitVersion$4 = '202607022131';
61243
61115
 
61244
61116
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
61245
61117
  // See LICENSE in the project root for license information.
@@ -66460,7 +66332,7 @@ let AuroHelpText$2 = class AuroHelpText extends i$2 {
66460
66332
  }
66461
66333
  };
66462
66334
 
66463
- var formkitVersion$2 = '202607022225';
66335
+ var formkitVersion$2 = '202607022131';
66464
66336
 
66465
66337
  let AuroElement$2$1 = class AuroElement extends i$2 {
66466
66338
  static get properties() {
@@ -78985,8 +78857,8 @@ class BaseInput extends AuroElement$1$1 {
78985
78857
  */
78986
78858
  set format(value) {
78987
78859
  const oldValue = this._format;
78988
- this._format = value ? value.toLowerCase() : value;
78989
- this._userSetFormat = Boolean(value);
78860
+ this._format = value;
78861
+ this._userSetFormat = true;
78990
78862
  this.requestUpdate('format', oldValue);
78991
78863
  }
78992
78864
 
@@ -78998,7 +78870,7 @@ class BaseInput extends AuroElement$1$1 {
78998
78870
  */
78999
78871
  _setFormatFromLocale(value) {
79000
78872
  const oldValue = this._format;
79001
- this._format = value ? value.toLowerCase() : value;
78873
+ this._format = value;
79002
78874
  this.requestUpdate('format', oldValue);
79003
78875
  }
79004
78876
 
@@ -79049,6 +78921,15 @@ class BaseInput extends AuroElement$1$1 {
79049
78921
 
79050
78922
  this.inputId = this.id ? `${this.id}-input` : window.crypto.randomUUID();
79051
78923
 
78924
+ // Normalize the format token to lowercase so case-mixed values supplied
78925
+ // via attribute (e.g. `format="MM/DD/YYYY"`) hit the `dateFormatMap`
78926
+ // lookup inside `setCustomHelpTextMessage`. Without this, an uppercase
78927
+ // format silently misses the map and leaves `setCustomValidityForType`
78928
+ // unset.
78929
+ if (this.format) {
78930
+ this._setFormatFromLocale(this.format.toLowerCase());
78931
+ }
78932
+
79052
78933
  // use validity message override if declared when initializing the component
79053
78934
  if (this.hasAttribute('setCustomValidity')) {
79054
78935
  this.ValidityMessageOverride = this.setCustomValidity;
@@ -80075,7 +79956,7 @@ let AuroHelpText$1$1 = class AuroHelpText extends i$2 {
80075
79956
  }
80076
79957
  };
80077
79958
 
80078
- var formkitVersion$1$1 = '202607022225';
79959
+ var formkitVersion$1$1 = '202607022131';
80079
79960
 
80080
79961
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
80081
79962
  // See LICENSE in the project root for license information.
@@ -81201,7 +81082,7 @@ let AuroBibtemplate$1 = class AuroBibtemplate extends i$2 {
81201
81082
  }
81202
81083
  };
81203
81084
 
81204
- var formkitVersion$3 = '202607022225';
81085
+ var formkitVersion$3 = '202607022131';
81205
81086
 
81206
81087
  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}`;
81207
81088
 
@@ -85978,6 +85859,9 @@ function navigateArrow(component, direction, options = {}) {
85978
85859
  * @param {HTMLElement | null | undefined} menu - The auro-menu element.
85979
85860
  * @returns {Array<HTMLElement>} Non-disabled options, empty array when none.
85980
85861
  */
85862
+ function getEnabledOptions(menu) {
85863
+ return (menu?.options || []).filter((option) => !option.disabled);
85864
+ }
85981
85865
 
85982
85866
  /**
85983
85867
  * Returns the active (selectable + visible) options for type-ahead navigation.
@@ -86047,10 +85931,8 @@ const selectKeyboardStrategy = {
86047
85931
  End(component, evt, ctx) {
86048
85932
  evt.preventDefault();
86049
85933
  evt.stopPropagation();
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();
85934
+ // `pop()` is safe here: getEnabledOptions returns a fresh filtered array.
85935
+ const lastOption = getEnabledOptions(component.menu).pop();
86054
85936
  if (!lastOption) {
86055
85937
  return;
86056
85938
  }
@@ -86081,7 +85963,7 @@ const selectKeyboardStrategy = {
86081
85963
  Home(component, evt, ctx) {
86082
85964
  evt.preventDefault();
86083
85965
  evt.stopPropagation();
86084
- const [firstOption] = getActiveOptions(component.menu);
85966
+ const [firstOption] = getEnabledOptions(component.menu);
86085
85967
  if (!firstOption) {
86086
85968
  return;
86087
85969
  }
@@ -86106,15 +85988,6 @@ const selectKeyboardStrategy = {
86106
85988
  },
86107
85989
 
86108
85990
  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
-
86118
85991
  // Space resolves to either typeahead-buffer extension or bib toggle
86119
85992
  // depending on whether a type-ahead buffer is active. Mirrors native
86120
85993
  // <select> and the WAI-ARIA APG Listbox guidance: mid-typeahead space
@@ -90045,7 +89918,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$2 {
90045
89918
  }
90046
89919
  };
90047
89920
 
90048
- var formkitVersion$1 = '202607022225';
89921
+ var formkitVersion$1 = '202607022131';
90049
89922
 
90050
89923
  class AuroElement extends i$2 {
90051
89924
  static get properties() {
@@ -92084,7 +91957,7 @@ class AuroHelpText extends i$2 {
92084
91957
  }
92085
91958
  }
92086
91959
 
92087
- var formkitVersion = '202607022225';
91960
+ var formkitVersion = '202607022131';
92088
91961
 
92089
91962
  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}`;
92090
91963
 
@@ -92648,11 +92521,8 @@ class AuroSelect extends AuroElement$1 {
92648
92521
  } else if (this.multiSelect && Array.isArray(this.optionSelected) && this.optionSelected.length > 0) {
92649
92522
  this.menu.updateActiveOption(this.optionSelected[0]);
92650
92523
  } else {
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);
92524
+ // If no activeOption has yet to be set, then make the first enabled option active by default
92525
+ const [firstActive] = getEnabledOptions(this.menu);
92656
92526
  this.menu.updateActiveOption(firstActive);
92657
92527
  }
92658
92528
  }
@@ -92898,12 +92768,6 @@ class AuroSelect extends AuroElement$1 {
92898
92768
 
92899
92769
  /**
92900
92770
  * 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.
92907
92771
  * @private
92908
92772
  * @returns {void}
92909
92773
  */
@@ -92962,15 +92826,6 @@ class AuroSelect extends AuroElement$1 {
92962
92826
  if (this.menu.optionSelected !== undefined) {
92963
92827
  return;
92964
92828
  }
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
- }
92974
92829
  this.value = undefined;
92975
92830
  this.optionSelected = this.multiSelect ? [] : undefined;
92976
92831
  // The trigger label is rendered imperatively into #value, so a property
@@ -93000,15 +92855,10 @@ class AuroSelect extends AuroElement$1 {
93000
92855
  if (this.dropdown.isPopoverVisible) {
93001
92856
  announceToScreenReader(this._getAnnouncementRoot(), message);
93002
92857
  } else {
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.
92858
+ // Typeahead-on-closed fires this event before `show()` flips
92859
+ // isPopoverVisible. Defer so the announcement targets the bib's
92860
+ // live region once the fullscreen <dialog> opens otherwise it
92861
+ // lands in the host root, which is inert under the active modal.
93012
92862
  queueMicrotask(() => announceToScreenReader(this._getAnnouncementRoot(), message));
93013
92863
  }
93014
92864
  }
@@ -93402,13 +93252,6 @@ class AuroSelect extends AuroElement$1 {
93402
93252
  }
93403
93253
 
93404
93254
  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
-
93412
93255
  this.setMenuValue(this.value);
93413
93256
 
93414
93257
  this._updateNativeSelect();
@@ -93464,9 +93307,6 @@ class AuroSelect extends AuroElement$1 {
93464
93307
  * @returns {void}
93465
93308
  */
93466
93309
  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();
93470
93310
  this.menu.reset();
93471
93311
  this.validation.reset(this);
93472
93312
  }
@@ -93489,13 +93329,8 @@ class AuroSelect extends AuroElement$1 {
93489
93329
  // Hidden native <select> has no `multiple` attribute, so any change it fires
93490
93330
  // is a single raw value — applying it in multiSelect mode would collapse the
93491
93331
  // JSON-array `value` shape. Bfcache/autofill can reach this on a name-bearing
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
- }
93332
+ // form control even with aria-hidden/tabindex=-1.
93333
+ if (this.multiSelect) return;
93499
93334
 
93500
93335
  const selectedOption = event.target.options[event.target.selectedIndex];
93501
93336
  if (!selectedOption) return;