@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
@@ -12286,8 +12286,8 @@ let BaseInput$2 = class BaseInput extends AuroElement$6 {
12286
12286
  */
12287
12287
  set format(value) {
12288
12288
  const oldValue = this._format;
12289
- this._format = value ? value.toLowerCase() : value;
12290
- this._userSetFormat = Boolean(value);
12289
+ this._format = value;
12290
+ this._userSetFormat = true;
12291
12291
  this.requestUpdate('format', oldValue);
12292
12292
  }
12293
12293
 
@@ -12299,7 +12299,7 @@ let BaseInput$2 = class BaseInput extends AuroElement$6 {
12299
12299
  */
12300
12300
  _setFormatFromLocale(value) {
12301
12301
  const oldValue = this._format;
12302
- this._format = value ? value.toLowerCase() : value;
12302
+ this._format = value;
12303
12303
  this.requestUpdate('format', oldValue);
12304
12304
  }
12305
12305
 
@@ -12350,6 +12350,15 @@ let BaseInput$2 = class BaseInput extends AuroElement$6 {
12350
12350
 
12351
12351
  this.inputId = this.id ? `${this.id}-input` : window.crypto.randomUUID();
12352
12352
 
12353
+ // Normalize the format token to lowercase so case-mixed values supplied
12354
+ // via attribute (e.g. `format="MM/DD/YYYY"`) hit the `dateFormatMap`
12355
+ // lookup inside `setCustomHelpTextMessage`. Without this, an uppercase
12356
+ // format silently misses the map and leaves `setCustomValidityForType`
12357
+ // unset.
12358
+ if (this.format) {
12359
+ this._setFormatFromLocale(this.format.toLowerCase());
12360
+ }
12361
+
12353
12362
  // use validity message override if declared when initializing the component
12354
12363
  if (this.hasAttribute('setCustomValidity')) {
12355
12364
  this.ValidityMessageOverride = this.setCustomValidity;
@@ -13376,7 +13385,7 @@ let AuroHelpText$8 = class AuroHelpText extends i$3 {
13376
13385
  }
13377
13386
  };
13378
13387
 
13379
- var formkitVersion$8 = '202607022225';
13388
+ var formkitVersion$8 = '202607022131';
13380
13389
 
13381
13390
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
13382
13391
  // See LICENSE in the project root for license information.
@@ -25747,28 +25756,23 @@ var popoverVersion = '6.0.1';
25747
25756
  * @returns {number|null} Local-midnight Unix timestamp (seconds), or null.
25748
25757
  */
25749
25758
  function parseIsoToTimestamp(isoStr) {
25750
- // Strict YYYY-MM-DD matcher with named groups. Rejects trailing garbage
25751
- // ("2024x-01-01"), short segments ("2024-1-1"), and any non-digit
25752
- // characters. `parseInt` alone accepted both because it stops at the
25753
- // first non-digit and doesn't require a minimum length.
25754
- const ISO_DATE_RE = /^(?<year>\d{4})-(?<month>\d{2})-(?<day>\d{2})$/u;
25755
- const MAX_MONTH = 12;
25756
- const MAX_DAY = 31;
25757
-
25758
25759
  if (typeof isoStr !== 'string') {
25759
25760
  return null;
25760
25761
  }
25761
- const match = ISO_DATE_RE.exec(isoStr);
25762
- if (!match) {
25762
+ const parts = isoStr.split('-');
25763
+ if (parts.length !== 3) {
25764
+ return null;
25765
+ }
25766
+ const year = parseInt(parts[0], 10);
25767
+ const month = parseInt(parts[1], 10);
25768
+ const day = parseInt(parts[2], 10);
25769
+ if (!Number.isFinite(year) || !Number.isFinite(month) || !Number.isFinite(day)) {
25763
25770
  return null;
25764
25771
  }
25765
- const year = Number(match.groups.year);
25766
- const month = Number(match.groups.month);
25767
- const day = Number(match.groups.day);
25768
25772
  // Reject overflow values like "2024-13-40" — JS `new Date(year, month, day)`
25769
25773
  // silently normalizes those to a different calendar day, which would
25770
25774
  // disable the wrong date if we let the result through.
25771
- if (month < 1 || month > MAX_MONTH || day < 1 || day > MAX_DAY) {
25775
+ if (month < 1 || month > 12 || day < 1 || day > 31) {
25772
25776
  return null;
25773
25777
  }
25774
25778
  const date = new Date(year, month - 1, day);
@@ -26346,36 +26350,13 @@ class AuroCalendarCell extends i$3 {
26346
26350
  }
26347
26351
 
26348
26352
  firstUpdated() {
26349
- this._initFromAncestors();
26350
- }
26351
-
26352
- /**
26353
- * Wires the cell to its ancestor calendar-month and calendar (and, via
26354
- * the calendar, to the datepicker). Extracted from firstUpdated() so the
26355
- * retry loop can re-attempt without recursively invoking a Lit lifecycle
26356
- * method (which is outside the framework's contract).
26357
- * @private
26358
- * @returns {void}
26359
- */
26360
- _initFromAncestors() {
26361
26353
  const calendarMonth = this.runtimeUtils.closestElement('auro-formkit-calendar-month', this);
26362
26354
  const calendar = this.runtimeUtils.closestElement('auro-formkit-calendar', calendarMonth);
26363
26355
 
26364
26356
  if (!calendar) {
26365
- // Retry on the next event-loop turn to give the ancestor chain a chance
26366
- // to attach — but cap attempts so a permanently detached cell doesn't
26367
- // spin forever. 10 turns is far more than any observed race needs.
26368
- this._firstUpdatedRetries = (this._firstUpdatedRetries || 0) + 1;
26369
- if (this._firstUpdatedRetries > 10) {
26370
- return;
26371
- }
26372
- this._firstUpdatedRetryTimer = setTimeout(() => {
26373
- this._firstUpdatedRetryTimer = null;
26374
- this._initFromAncestors();
26375
- }, 0);
26357
+ setTimeout(() => this.firstUpdated(), 0);
26376
26358
  return;
26377
26359
  }
26378
- this._firstUpdatedRetries = 0;
26379
26360
  this.calendar = calendar;
26380
26361
  this.datepicker = calendar.datepicker;
26381
26362
  this._slotContentHandler = () => {
@@ -26403,10 +26384,6 @@ class AuroCalendarCell extends i$3 {
26403
26384
  if (this.datepicker && this._slotContentHandler) {
26404
26385
  this.datepicker.removeEventListener('auroDatePicker-newSlotContent', this._slotContentHandler);
26405
26386
  }
26406
- if (this._firstUpdatedRetryTimer) {
26407
- clearTimeout(this._firstUpdatedRetryTimer);
26408
- this._firstUpdatedRetryTimer = null;
26409
- }
26410
26387
  }
26411
26388
 
26412
26389
  /**
@@ -27778,7 +27755,7 @@ let AuroBibtemplate$3 = class AuroBibtemplate extends i$3 {
27778
27755
  }
27779
27756
  };
27780
27757
 
27781
- var formkitVersion$2$1 = '202607022225';
27758
+ var formkitVersion$2$1 = '202607022131';
27782
27759
 
27783
27760
  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}
27784
27761
  `,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}}
@@ -27917,10 +27894,7 @@ class AuroCalendar extends RangeDatepicker {
27917
27894
  * Support will be removed in a future major release.
27918
27895
  * @private
27919
27896
  */
27920
- // Initialize the backing field directly so the constructor's default
27921
- // empty array doesn't trigger the deprecation warning. Assignments from
27922
- // consumers still route through the setter below.
27923
- this._disabledDays = [];
27897
+ this.disabledDays = [];
27924
27898
 
27925
27899
  /**
27926
27900
  * @private
@@ -27953,44 +27927,6 @@ class AuroCalendar extends RangeDatepicker {
27953
27927
  this._calendarInstanceId = Date.now().toString(36);
27954
27928
  }
27955
27929
 
27956
- /**
27957
- * @deprecated See constructor JSDoc — migrate to
27958
- * `auro-datepicker.blackoutDates`. The getter/setter pair exists so the
27959
- * one-time deprecation warning fires as soon as a consumer assigns a
27960
- * non-empty array (empty assignments are ignored — an empty array is
27961
- * indistinguishable from the constructor default and would produce a
27962
- * spurious warning), rather than only when `_getBlackoutSet()` happens
27963
- * to rebuild.
27964
- * @returns {Array} The current legacy `disabledDays` array.
27965
- */
27966
- get disabledDays() {
27967
- return this._disabledDays;
27968
- }
27969
-
27970
- /**
27971
- * @param {Array} value - The legacy `disabledDays` array to set.
27972
- */
27973
- set disabledDays(value) {
27974
- const oldValue = this._disabledDays;
27975
- // Coerce non-arrays to `[]`. Consumers occasionally pass `null`
27976
- // (Lit's Array attribute converter returns null for a missing/empty
27977
- // attribute) or misuse the API; downstream code in
27978
- // `auro-calendar-cell.isEnabled` calls `.findIndex()` on this value
27979
- // without an Array.isArray guard, so a truthy non-array would throw
27980
- // at render.
27981
- const coerced = Array.isArray(value) ? value : [];
27982
- if (coerced.length > 0) {
27983
- this._warnDisabledDaysDeprecated();
27984
- }
27985
- this._disabledDays = coerced;
27986
- // `disabledDays` is a Lit `@property({ type: Array })` on the
27987
- // RangeDatepicker base class; Lit's generated setter (which we've
27988
- // overridden here to insert the warning) is what normally invalidates
27989
- // the reactive cycle. Re-invoke requestUpdate manually so consumer
27990
- // assignments still re-render the calendar.
27991
- this.requestUpdate('disabledDays', oldValue);
27992
- }
27993
-
27994
27930
  static get styles() {
27995
27931
  return [
27996
27932
  styleCss$7$1,
@@ -28536,19 +28472,8 @@ class AuroCalendar extends RangeDatepicker {
28536
28472
  /**
28537
28473
  * Returns a memoized Set of blackout timestamps (seconds) drawn from both
28538
28474
  * the legacy `disabledDays` array and the datepicker's ISO `blackoutDates`.
28539
- *
28540
- * The cache invalidates on **reference identity** only when the
28541
- * consumer reassigns the array (`el.blackoutDates = [...]`), matching
28542
- * Lit's own reactivity semantics for array properties. In-place mutations
28543
- * on the existing array (`push`, `splice`, index assignment) will NOT
28544
- * invalidate the cache and the new entries will be silently ignored.
28545
- * Consumers must reassign to update — see the JSDoc on
28546
- * `auro-datepicker.blackoutDates` for the recommended pattern.
28547
- *
28548
- * A shallow-equality tier was considered but rejected: it would run
28549
- * O(N) work on every cell render (this method is called per-cell via
28550
- * `isBlackout()`) and still wouldn't catch same-length value swaps,
28551
- * offering a false sense of safety.
28475
+ * The cache invalidates when either source array's reference changes, which
28476
+ * matches Lit's own reactive identity semantics for array properties.
28552
28477
  * @private
28553
28478
  * @returns {Set<Number>}
28554
28479
  */
@@ -28729,24 +28654,7 @@ class AuroCalendar extends RangeDatepicker {
28729
28654
  // rendered month(s) first so a single-month calendar does not pick a date
28730
28655
  // that has no DOM cell. Determine the visible range based on centralDate and
28731
28656
  // the number of rendered months.
28732
- //
28733
- // numCalendars is assigned inside renderAllCalendars(), which runs during
28734
- // render() — so by the time the visible-change handler in updated()
28735
- // calls computeActiveDate() in the same cycle, numCalendars is normally
28736
- // set. Guard against the pre-first-render path anyway (e.g. any future
28737
- // caller that reaches computeActiveDate before render() has run):
28738
- // Math.max(undefined, 1) is NaN, which would silently skip the
28739
- // visible-month scan below. Fall back to maximumRenderableMonths'
28740
- // desktop default (1 for non-range, 2 for range) so the scan window is
28741
- // correctly sized whenever numCalendars is not yet populated.
28742
- let renderedMonths = null;
28743
-
28744
- if (Number.isFinite(this.numCalendars) && this.numCalendars > 0) {
28745
- renderedMonths = this.numCalendars;
28746
- } else {
28747
- renderedMonths = this.noRange ? 1 : 2;
28748
- }
28749
-
28657
+ const renderedMonths = Math.max(this.numCalendars, 1);
28750
28658
  const visibleAnchor = this.centralDateObject ?? new Date(now * 1000);
28751
28659
  const visMonthStart = new Date(visibleAnchor.getFullYear(), visibleAnchor.getMonth(), 1);
28752
28660
  visMonthStart.setHours(0, 0, 0, 0);
@@ -29016,8 +28924,6 @@ class AuroCalendar extends RangeDatepicker {
29016
28924
  let targetIndex = -1;
29017
28925
  if (direction === 'next') {
29018
28926
  targetIndex = currentIndex + 1;
29019
- } else if (direction === 'prev') {
29020
- targetIndex = currentIndex - 1;
29021
28927
  }
29022
28928
 
29023
28929
  if (targetIndex >= 0 && targetIndex < allCells.length) {
@@ -29622,10 +29528,6 @@ class AuroCalendar extends RangeDatepicker {
29622
29528
  * originally tried aria-live="polite" here, but VoiceOver treats
29623
29529
  * polite as "wait until idle" — which never happens during active
29624
29530
  * keyboard navigation — so the announcements were silently dropped.
29625
- *
29626
- * This is a documented deviation from WCAG 2.1 SC 4.1.3, which
29627
- * prefers `polite` for status messages. See the "Documented
29628
- * Deviation" section in components/datepicker/docs/pages/accessibility.md.
29629
29531
  * @private
29630
29532
  * @param {String} dateStr - The localized date string to announce.
29631
29533
  * @returns {void}
@@ -33671,7 +33573,7 @@ let AuroHelpText$2$1 = class AuroHelpText extends i$3 {
33671
33573
  }
33672
33574
  };
33673
33575
 
33674
- var formkitVersion$1$3 = '202607022225';
33576
+ var formkitVersion$1$3 = '202607022131';
33675
33577
 
33676
33578
  let AuroElement$2$2 = class AuroElement extends i$3 {
33677
33579
  static get properties() {
@@ -46196,8 +46098,8 @@ let BaseInput$1 = class BaseInput extends AuroElement$1$3 {
46196
46098
  */
46197
46099
  set format(value) {
46198
46100
  const oldValue = this._format;
46199
- this._format = value ? value.toLowerCase() : value;
46200
- this._userSetFormat = Boolean(value);
46101
+ this._format = value;
46102
+ this._userSetFormat = true;
46201
46103
  this.requestUpdate('format', oldValue);
46202
46104
  }
46203
46105
 
@@ -46209,7 +46111,7 @@ let BaseInput$1 = class BaseInput extends AuroElement$1$3 {
46209
46111
  */
46210
46112
  _setFormatFromLocale(value) {
46211
46113
  const oldValue = this._format;
46212
- this._format = value ? value.toLowerCase() : value;
46114
+ this._format = value;
46213
46115
  this.requestUpdate('format', oldValue);
46214
46116
  }
46215
46117
 
@@ -46260,6 +46162,15 @@ let BaseInput$1 = class BaseInput extends AuroElement$1$3 {
46260
46162
 
46261
46163
  this.inputId = this.id ? `${this.id}-input` : window.crypto.randomUUID();
46262
46164
 
46165
+ // Normalize the format token to lowercase so case-mixed values supplied
46166
+ // via attribute (e.g. `format="MM/DD/YYYY"`) hit the `dateFormatMap`
46167
+ // lookup inside `setCustomHelpTextMessage`. Without this, an uppercase
46168
+ // format silently misses the map and leaves `setCustomValidityForType`
46169
+ // unset.
46170
+ if (this.format) {
46171
+ this._setFormatFromLocale(this.format.toLowerCase());
46172
+ }
46173
+
46263
46174
  // use validity message override if declared when initializing the component
46264
46175
  if (this.hasAttribute('setCustomValidity')) {
46265
46176
  this.ValidityMessageOverride = this.setCustomValidity;
@@ -47286,7 +47197,7 @@ let AuroHelpText$1$3 = class AuroHelpText extends i$3 {
47286
47197
  }
47287
47198
  };
47288
47199
 
47289
- var formkitVersion$7 = '202607022225';
47200
+ var formkitVersion$7 = '202607022131';
47290
47201
 
47291
47202
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
47292
47203
  // See LICENSE in the project root for license information.
@@ -48663,15 +48574,6 @@ const datepickerKeyboardStrategy = {
48663
48574
  evt.stopPropagation();
48664
48575
  evt.preventDefault();
48665
48576
 
48666
- // Signal to the visibility-change handler in auro-datepicker.js that
48667
- // focus should be restored to the trigger regardless of hasFocus.
48668
- // hidePopover() (desktop non-modal path) does not auto-restore focus,
48669
- // and hiding the grid's popover ancestor drops focus to <body>. That
48670
- // synchronously fires focusout on the datepicker host — clearing
48671
- // hasFocus — before updated() runs, which would otherwise skip the
48672
- // input refocus. Native <dialog>.close() (modal path) restores focus
48673
- // itself, but the flag is harmless there.
48674
- component._restoreFocusOnClose = true;
48675
48577
  component.hideBib();
48676
48578
  },
48677
48579
 
@@ -48945,14 +48847,6 @@ class AuroDatePicker extends AuroElement$5 {
48945
48847
 
48946
48848
  /**
48947
48849
  * Array of dates that cannot be selected. Dates should be in ISO format (YYYY-MM-DD).
48948
- *
48949
- * **Immutable update required.** The datepicker treats this array as
48950
- * immutable and memoizes a lookup Set keyed on the array's reference
48951
- * identity — matching Lit's own reactivity semantics for array
48952
- * properties. In-place mutations (`blackoutDates.push(...)`,
48953
- * `blackoutDates[i] = ...`, `blackoutDates.splice(...)`) will not
48954
- * invalidate the cache and the new entries will be silently ignored.
48955
- * To update, reassign the property: `el.blackoutDates = [...el.blackoutDates, '2024-12-25']`.
48956
48850
  */
48957
48851
  blackoutDates: {
48958
48852
  type: Array,
@@ -49838,13 +49732,12 @@ class AuroDatePicker extends AuroElement$5 {
49838
49732
  this.calendar.activeCellDate = null;
49839
49733
 
49840
49734
  // Show the month containing the selected date (or today) instead of
49841
- // whichever month the user last navigated to. Route through
49842
- // updateCentralDate so centralDate stays first-of-month.
49735
+ // whichever month the user last navigated to.
49843
49736
  // Respect consumer-provided centralDate/calendarStartDate if no value is set.
49844
49737
  if (this.valueObject) {
49845
- this.calendarRenderUtil.updateCentralDate(this, this.value);
49738
+ this.centralDate = this.value;
49846
49739
  } else if (!this.centralDate && !this.calendarStartDate && !this.minDate) {
49847
- this.calendarRenderUtil.updateCentralDate(this, new Date());
49740
+ this.centralDate = dateFormatter$1.toISOFormatString(new Date());
49848
49741
  }
49849
49742
  }
49850
49743
 
@@ -49902,15 +49795,8 @@ class AuroDatePicker extends AuroElement$5 {
49902
49795
  // Always clear the inert flag. Only restore focus to the input when the datepicker
49903
49796
  // still has focus (e.g. Escape, date selected) — not when the user tabbed away,
49904
49797
  // which would pull them back and require extra Tab presses to escape.
49905
- //
49906
- // `_restoreFocusOnClose` is set by the Escape handler in
49907
- // datepickerKeyboardStrategy.js to force restore even when hasFocus
49908
- // has already been cleared — hidePopover() (desktop non-modal path)
49909
- // can drop focus to <body> before this update fires.
49910
49798
  this.dropdown.trigger.inert = false;
49911
- const shouldRestoreFocus = this.hasFocus || this._restoreFocusOnClose;
49912
- this._restoreFocusOnClose = false;
49913
- if (shouldRestoreFocus) {
49799
+ if (this.hasFocus) {
49914
49800
  requestAnimationFrame(() => {
49915
49801
  if (!this.dropdown.isPopoverVisible) {
49916
49802
  this.inputList[0].focus();
@@ -50356,18 +50242,6 @@ class AuroDatePicker extends AuroElement$5 {
50356
50242
  this.calendar.requestUpdate();
50357
50243
  this.dispatchEvent(new CustomEvent('auroDatePicker-newSlotContent'));
50358
50244
  }
50359
-
50360
- // Range invariant: if a value change (from click or programmatic) has
50361
- // moved start past end, clear valueEnd here so both properties land in
50362
- // the SAME reactive cycle. Doing it in updated() would schedule a
50363
- // second cycle after cellClickActive/wasCellClick has already been
50364
- // consumed by the value branch, leaving the valueEnd branch to run
50365
- // with a stale handshake and racing with any intervening programmatic
50366
- // value assignments.
50367
- if ((changedProperties.has('value') || changedProperties.has('valueEnd')) &&
50368
- this.valueObject && this.valueEndObject && this.valueObject > this.valueEndObject) {
50369
- this.valueEnd = undefined;
50370
- }
50371
50245
  }
50372
50246
 
50373
50247
  updated(changedProperties) {
@@ -50435,12 +50309,8 @@ class AuroDatePicker extends AuroElement$5 {
50435
50309
 
50436
50310
  if (this.value && this.value.length === this.inputList[0].lengthForType && !(this.wasCellClick && this.range)) {
50437
50311
  // Skip centralDate update when user clicked a cell in range mode
50438
- // to prevent the displayed months from shifting. Route through
50439
- // updateCentralDate so centralDate stays first-of-month — direct
50440
- // assignment of the raw value briefly holds a mid-month string
50441
- // and violates the invariant that observers (e.g. calendar sync)
50442
- // rely on.
50443
- this.calendarRenderUtil.updateCentralDate(this, this.value);
50312
+ // to prevent the displayed months from shifting
50313
+ this.centralDate = this.value;
50444
50314
  }
50445
50315
 
50446
50316
  this.setHasValue();
@@ -50498,10 +50368,8 @@ class AuroDatePicker extends AuroElement$5 {
50498
50368
 
50499
50369
  if (this.valueEnd && this.valueEnd.length === this.inputList[1].lengthForType && !this.wasCellClick) {
50500
50370
  // Skip centralDate update when user clicked a cell in range mode
50501
- // to prevent the displayed months from shifting. Route through
50502
- // updateCentralDate to preserve the first-of-month invariant
50503
- // (see matching comment in the value branch above).
50504
- this.calendarRenderUtil.updateCentralDate(this, this.valueEnd);
50371
+ // to prevent the displayed months from shifting
50372
+ this.centralDate = this.valueEnd;
50505
50373
  }
50506
50374
 
50507
50375
  this.validate();
@@ -50525,6 +50393,10 @@ class AuroDatePicker extends AuroElement$5 {
50525
50393
  this.validation.validate(lastInput, true);
50526
50394
  }
50527
50395
 
50396
+ if (this.valueObject && this.valueEndObject && this.valueObject > this.valueEndObject) {
50397
+ this.valueEnd = undefined;
50398
+ }
50399
+
50528
50400
  // This resets the datepicker when the minDate is set to a new value that is
50529
50401
  // a later date than the current value date
50530
50402
  if (changedProperties.has('minDate') && this.minDate) {
@@ -52207,7 +52079,7 @@ let AuroHelpText$1$2 = class AuroHelpText extends i$3 {
52207
52079
  }
52208
52080
  };
52209
52081
 
52210
- var formkitVersion$1$2 = '202607022225';
52082
+ var formkitVersion$1$2 = '202607022131';
52211
52083
 
52212
52084
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
52213
52085
  // See LICENSE in the project root for license information.
@@ -56535,7 +56407,7 @@ let AuroHelpText$6 = class AuroHelpText extends i$3 {
56535
56407
  }
56536
56408
  };
56537
56409
 
56538
- var formkitVersion$6 = '202607022225';
56410
+ var formkitVersion$6 = '202607022131';
56539
56411
 
56540
56412
  let AuroElement$1$2 = class AuroElement extends i$3 {
56541
56413
  static get properties() {
@@ -60515,7 +60387,7 @@ let AuroHelpText$5 = class AuroHelpText extends i$3 {
60515
60387
  }
60516
60388
  };
60517
60389
 
60518
- var formkitVersion$5 = '202607022225';
60390
+ var formkitVersion$5 = '202607022131';
60519
60391
 
60520
60392
  // Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
60521
60393
  // See LICENSE in the project root for license information.
@@ -62280,7 +62152,7 @@ let AuroHelpText$4 = class AuroHelpText extends i$3 {
62280
62152
  }
62281
62153
  };
62282
62154
 
62283
- var formkitVersion$4 = '202607022225';
62155
+ var formkitVersion$4 = '202607022131';
62284
62156
 
62285
62157
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
62286
62158
  // See LICENSE in the project root for license information.
@@ -67501,7 +67373,7 @@ let AuroHelpText$2 = class AuroHelpText extends i$3 {
67501
67373
  }
67502
67374
  };
67503
67375
 
67504
- var formkitVersion$2 = '202607022225';
67376
+ var formkitVersion$2 = '202607022131';
67505
67377
 
67506
67378
  let AuroElement$2$1 = class AuroElement extends i$3 {
67507
67379
  static get properties() {
@@ -80026,8 +79898,8 @@ class BaseInput extends AuroElement$1$1 {
80026
79898
  */
80027
79899
  set format(value) {
80028
79900
  const oldValue = this._format;
80029
- this._format = value ? value.toLowerCase() : value;
80030
- this._userSetFormat = Boolean(value);
79901
+ this._format = value;
79902
+ this._userSetFormat = true;
80031
79903
  this.requestUpdate('format', oldValue);
80032
79904
  }
80033
79905
 
@@ -80039,7 +79911,7 @@ class BaseInput extends AuroElement$1$1 {
80039
79911
  */
80040
79912
  _setFormatFromLocale(value) {
80041
79913
  const oldValue = this._format;
80042
- this._format = value ? value.toLowerCase() : value;
79914
+ this._format = value;
80043
79915
  this.requestUpdate('format', oldValue);
80044
79916
  }
80045
79917
 
@@ -80090,6 +79962,15 @@ class BaseInput extends AuroElement$1$1 {
80090
79962
 
80091
79963
  this.inputId = this.id ? `${this.id}-input` : window.crypto.randomUUID();
80092
79964
 
79965
+ // Normalize the format token to lowercase so case-mixed values supplied
79966
+ // via attribute (e.g. `format="MM/DD/YYYY"`) hit the `dateFormatMap`
79967
+ // lookup inside `setCustomHelpTextMessage`. Without this, an uppercase
79968
+ // format silently misses the map and leaves `setCustomValidityForType`
79969
+ // unset.
79970
+ if (this.format) {
79971
+ this._setFormatFromLocale(this.format.toLowerCase());
79972
+ }
79973
+
80093
79974
  // use validity message override if declared when initializing the component
80094
79975
  if (this.hasAttribute('setCustomValidity')) {
80095
79976
  this.ValidityMessageOverride = this.setCustomValidity;
@@ -81116,7 +80997,7 @@ let AuroHelpText$1$1 = class AuroHelpText extends i$3 {
81116
80997
  }
81117
80998
  };
81118
80999
 
81119
- var formkitVersion$1$1 = '202607022225';
81000
+ var formkitVersion$1$1 = '202607022131';
81120
81001
 
81121
81002
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
81122
81003
  // See LICENSE in the project root for license information.
@@ -82242,7 +82123,7 @@ let AuroBibtemplate$1 = class AuroBibtemplate extends i$3 {
82242
82123
  }
82243
82124
  };
82244
82125
 
82245
- var formkitVersion$3 = '202607022225';
82126
+ var formkitVersion$3 = '202607022131';
82246
82127
 
82247
82128
  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}`;
82248
82129
 
@@ -87019,6 +86900,9 @@ function navigateArrow(component, direction, options = {}) {
87019
86900
  * @param {HTMLElement | null | undefined} menu - The auro-menu element.
87020
86901
  * @returns {Array<HTMLElement>} Non-disabled options, empty array when none.
87021
86902
  */
86903
+ function getEnabledOptions(menu) {
86904
+ return (menu?.options || []).filter((option) => !option.disabled);
86905
+ }
87022
86906
 
87023
86907
  /**
87024
86908
  * Returns the active (selectable + visible) options for type-ahead navigation.
@@ -87088,10 +86972,8 @@ const selectKeyboardStrategy = {
87088
86972
  End(component, evt, ctx) {
87089
86973
  evt.preventDefault();
87090
86974
  evt.stopPropagation();
87091
- // `pop()` is safe here: getActiveOptions returns a fresh filtered array.
87092
- // Uses "active" (not "enabled") so hidden and static rows — which a screen
87093
- // reader must not announce as focused — are skipped.
87094
- const lastOption = getActiveOptions(component.menu).pop();
86975
+ // `pop()` is safe here: getEnabledOptions returns a fresh filtered array.
86976
+ const lastOption = getEnabledOptions(component.menu).pop();
87095
86977
  if (!lastOption) {
87096
86978
  return;
87097
86979
  }
@@ -87122,7 +87004,7 @@ const selectKeyboardStrategy = {
87122
87004
  Home(component, evt, ctx) {
87123
87005
  evt.preventDefault();
87124
87006
  evt.stopPropagation();
87125
- const [firstOption] = getActiveOptions(component.menu);
87007
+ const [firstOption] = getEnabledOptions(component.menu);
87126
87008
  if (!firstOption) {
87127
87009
  return;
87128
87010
  }
@@ -87147,15 +87029,6 @@ const selectKeyboardStrategy = {
87147
87029
  },
87148
87030
 
87149
87031
  default(component, evt, ctx) {
87150
- // Ignore keys chorded with Ctrl/Meta/Alt so browser/OS shortcuts
87151
- // (Cmd+C, Ctrl+V, Alt+X, Cmd+Space, …) don't leak into typeahead
87152
- // or toggle the bib. Native <select> ignores modified keys.
87153
- // ArrowUp/ArrowDown handle modifier+arrow explicitly above; this
87154
- // guard only affects the default (printable/Space) branch.
87155
- if (evt.ctrlKey || evt.metaKey || evt.altKey) {
87156
- return;
87157
- }
87158
-
87159
87032
  // Space resolves to either typeahead-buffer extension or bib toggle
87160
87033
  // depending on whether a type-ahead buffer is active. Mirrors native
87161
87034
  // <select> and the WAI-ARIA APG Listbox guidance: mid-typeahead space
@@ -91086,7 +90959,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$3 {
91086
90959
  }
91087
90960
  };
91088
90961
 
91089
- var formkitVersion$1 = '202607022225';
90962
+ var formkitVersion$1 = '202607022131';
91090
90963
 
91091
90964
  class AuroElement extends i$3 {
91092
90965
  static get properties() {
@@ -93125,7 +92998,7 @@ class AuroHelpText extends i$3 {
93125
92998
  }
93126
92999
  }
93127
93000
 
93128
- var formkitVersion = '202607022225';
93001
+ var formkitVersion = '202607022131';
93129
93002
 
93130
93003
  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}`;
93131
93004
 
@@ -93689,11 +93562,8 @@ class AuroSelect extends AuroElement$1 {
93689
93562
  } else if (this.multiSelect && Array.isArray(this.optionSelected) && this.optionSelected.length > 0) {
93690
93563
  this.menu.updateActiveOption(this.optionSelected[0]);
93691
93564
  } else {
93692
- // If no activeOption has yet to be set, make the first active option
93693
- // (non-disabled, non-hidden, non-static) active by default. "Active" —
93694
- // not just "enabled" — so hidden rows and static placeholders never
93695
- // land in aria-activedescendant on open.
93696
- const [firstActive] = getActiveOptions(this.menu);
93565
+ // If no activeOption has yet to be set, then make the first enabled option active by default
93566
+ const [firstActive] = getEnabledOptions(this.menu);
93697
93567
  this.menu.updateActiveOption(firstActive);
93698
93568
  }
93699
93569
  }
@@ -93939,12 +93809,6 @@ class AuroSelect extends AuroElement$1 {
93939
93809
 
93940
93810
  /**
93941
93811
  * Binds all behavior needed to the menu after rendering.
93942
- *
93943
- * The `<auro-menu>` reference is captured once and not re-targeted on
93944
- * `slotchange`. Runtime option mutations are covered via
93945
- * `auroMenu-optionsChange`, so swap options inside the menu freely; do not
93946
- * swap the `<auro-menu>` element itself under a live select — remount the
93947
- * parent `<auro-select>` instead.
93948
93812
  * @private
93949
93813
  * @returns {void}
93950
93814
  */
@@ -94003,15 +93867,6 @@ class AuroSelect extends AuroElement$1 {
94003
93867
  if (this.menu.optionSelected !== undefined) {
94004
93868
  return;
94005
93869
  }
94006
- // Skip when the select is already cleared (valueless click with no
94007
- // prior selection): value/optionSelected are already empty and there
94008
- // is no stale trigger text to refresh, so updateDisplayedValue would
94009
- // just churn the DOM and request a needless dropdown re-render.
94010
- const hasStaleState = this.value !== undefined ||
94011
- (this.multiSelect ? this.optionSelected?.length > 0 : this.optionSelected !== undefined);
94012
- if (!hasStaleState) {
94013
- return;
94014
- }
94015
93870
  this.value = undefined;
94016
93871
  this.optionSelected = this.multiSelect ? [] : undefined;
94017
93872
  // The trigger label is rendered imperatively into #value, so a property
@@ -94041,15 +93896,10 @@ class AuroSelect extends AuroElement$1 {
94041
93896
  if (this.dropdown.isPopoverVisible) {
94042
93897
  announceToScreenReader(this._getAnnouncementRoot(), message);
94043
93898
  } else {
94044
- // Typeahead-on-closed calls updateActiveOption() before show(), so
94045
- // this handler runs with isPopoverVisible still false. queueMicrotask
94046
- // is safe because show() showBib() flips isPopoverVisible and
94047
- // dialog.showModal() both run synchronously in the same task; the
94048
- // microtask queue only drains once _handleTypeahead unwinds, by
94049
- // which point _getAnnouncementRoot() resolves to the bib's shadow
94050
- // root inside the now-open modal. Do NOT switch to auroDropdown-toggled
94051
- // — it fires before showModal(), landing the announcement in the
94052
- // host root while the dialog is still not-yet-modal.
93899
+ // Typeahead-on-closed fires this event before `show()` flips
93900
+ // isPopoverVisible. Defer so the announcement targets the bib's
93901
+ // live region once the fullscreen <dialog> opens otherwise it
93902
+ // lands in the host root, which is inert under the active modal.
94053
93903
  queueMicrotask(() => announceToScreenReader(this._getAnnouncementRoot(), message));
94054
93904
  }
94055
93905
  }
@@ -94443,13 +94293,6 @@ class AuroSelect extends AuroElement$1 {
94443
94293
  }
94444
94294
 
94445
94295
  if (changedProperties.has('value')) {
94446
- // A value change ends the current interaction — whether it came from a
94447
- // user commit, programmatic assignment, or reset(). Clear the buffer so
94448
- // a stale prefix does not concatenate onto the next keystroke while the
94449
- // host still has focus (the blur listener would otherwise be the only
94450
- // focus-retained clear point, and hideBib() below does not blur).
94451
- this._clearTypeaheadBuffer();
94452
-
94453
94296
  this.setMenuValue(this.value);
94454
94297
 
94455
94298
  this._updateNativeSelect();
@@ -94505,9 +94348,6 @@ class AuroSelect extends AuroElement$1 {
94505
94348
  * @returns {void}
94506
94349
  */
94507
94350
  reset() {
94508
- // Defense-in-depth: updated()'s value-change branch also clears, but
94509
- // reset-to-same-value (e.g. undefined → undefined) skips that path.
94510
- this._clearTypeaheadBuffer();
94511
94351
  this.menu.reset();
94512
94352
  this.validation.reset(this);
94513
94353
  }
@@ -94530,13 +94370,8 @@ class AuroSelect extends AuroElement$1 {
94530
94370
  // Hidden native <select> has no `multiple` attribute, so any change it fires
94531
94371
  // is a single raw value — applying it in multiSelect mode would collapse the
94532
94372
  // JSON-array `value` shape. Bfcache/autofill can reach this on a name-bearing
94533
- // form control even with aria-hidden/tabindex=-1, so revert to the expected
94534
- // mirror (formattedValue[0]) rather than letting the native select drift and
94535
- // silently submit the autofilled scalar under `name`.
94536
- if (this.multiSelect) {
94537
- this._updateNativeSelect();
94538
- return;
94539
- }
94373
+ // form control even with aria-hidden/tabindex=-1.
94374
+ if (this.multiSelect) return;
94540
94375
 
94541
94376
  const selectedOption = event.target.options[event.target.selectedIndex];
94542
94377
  if (!selectedOption) return;