@aurodesignsystem-dev/auro-formkit 0.0.0-pr1514.2 → 0.0.0-pr1514.4

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 (47) 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 +4 -3
  7. package/components/combobox/demo/getting-started.min.js +4 -3
  8. package/components/combobox/demo/index.min.js +4 -3
  9. package/components/combobox/dist/index.js +4 -3
  10. package/components/combobox/dist/registered.js +4 -3
  11. package/components/counter/demo/customize.min.js +10 -2
  12. package/components/counter/demo/index.min.js +10 -2
  13. package/components/counter/dist/index.js +10 -2
  14. package/components/counter/dist/registered.js +10 -2
  15. package/components/datepicker/demo/customize.min.js +17 -7
  16. package/components/datepicker/demo/index.min.js +17 -7
  17. package/components/datepicker/dist/auro-calendar.d.ts +4 -2
  18. package/components/datepicker/dist/index.js +17 -7
  19. package/components/datepicker/dist/registered.js +17 -7
  20. package/components/dropdown/demo/customize.min.js +2 -1
  21. package/components/dropdown/demo/getting-started.min.js +2 -1
  22. package/components/dropdown/demo/index.min.js +2 -1
  23. package/components/dropdown/dist/index.js +2 -1
  24. package/components/dropdown/dist/registered.js +2 -1
  25. package/components/form/demo/customize.min.js +220 -77
  26. package/components/form/demo/getting-started.min.js +220 -77
  27. package/components/form/demo/index.min.js +220 -77
  28. package/components/form/demo/registerDemoDeps.min.js +220 -77
  29. package/components/input/demo/customize.min.js +1 -1
  30. package/components/input/demo/getting-started.min.js +1 -1
  31. package/components/input/demo/index.min.js +1 -1
  32. package/components/input/dist/index.js +1 -1
  33. package/components/input/dist/registered.js +1 -1
  34. package/components/radio/demo/customize.min.js +1 -1
  35. package/components/radio/demo/getting-started.min.js +1 -1
  36. package/components/radio/demo/index.min.js +1 -1
  37. package/components/radio/dist/index.js +1 -1
  38. package/components/radio/dist/registered.js +1 -1
  39. package/components/select/demo/customize.min.js +186 -62
  40. package/components/select/demo/getting-started.min.js +186 -62
  41. package/components/select/demo/index.min.js +186 -62
  42. package/components/select/demo/keyboard-behavior.md +18 -4
  43. package/components/select/dist/auro-select.d.ts +20 -8
  44. package/components/select/dist/index.js +186 -62
  45. package/components/select/dist/registered.js +186 -62
  46. package/custom-elements.json +14 -18
  47. package/package.json +1 -1
@@ -13372,7 +13372,7 @@ let AuroHelpText$8 = class AuroHelpText extends i$3 {
13372
13372
  }
13373
13373
  };
13374
13374
 
13375
- var formkitVersion$8 = '202606291652';
13375
+ var formkitVersion$8 = '202606291737';
13376
13376
 
13377
13377
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
13378
13378
  // See LICENSE in the project root for license information.
@@ -27614,7 +27614,7 @@ let AuroBibtemplate$3 = class AuroBibtemplate extends i$3 {
27614
27614
  }
27615
27615
  };
27616
27616
 
27617
- var formkitVersion$2$1 = '202606291652';
27617
+ var formkitVersion$2$1 = '202606291737';
27618
27618
 
27619
27619
  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}
27620
27620
  `,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}}
@@ -27720,8 +27720,10 @@ class AuroCalendar extends RangeDatepicker {
27720
27720
  this.activeCellDate = null;
27721
27721
 
27722
27722
  /**
27723
- * Cached reference to the active cell host, set by setActiveCell.
27724
- * Lets scrollToActiveCell skip a full cell scan on each arrow key.
27723
+ * Cached reference to the active cell host. Set by setActiveCell and
27724
+ * refreshed by scrollToActiveCell when its cache check misses (stale
27725
+ * or missing). Lets scrollToActiveCell skip a full cell scan on each
27726
+ * arrow key.
27725
27727
  * @private
27726
27728
  */
27727
27729
  this._activeCell = null;
@@ -29091,11 +29093,18 @@ class AuroCalendar extends RangeDatepicker {
29091
29093
  // Prefer the cell cached by setActiveCell so arrow-key navigation does
29092
29094
  // not rebuild the full cell list on every keypress. Fall back to a
29093
29095
  // lookup when the cache is stale (e.g. detached after month re-render)
29094
- // or absent (scrollToActiveCell called without a prior setActiveCell).
29096
+ // or absent (scrollToActiveCell called without a prior setActiveCell);
29097
+ // refresh the cache on the fallback path so a subsequent call reuses it.
29095
29098
  const activeDate = this.activeCellDate;
29096
29099
  const cached = this._activeCell;
29097
29100
  const cacheFresh = cached && cached.isConnected && cached.day && cached.day.date === activeDate;
29098
- const activeCell = cacheFresh ? cached : this.getAllFocusableCells().find((cell) => cell.day && cell.day.date === activeDate);
29101
+ let activeCell = null;
29102
+ if (cacheFresh) {
29103
+ activeCell = cached;
29104
+ } else {
29105
+ activeCell = this.getAllFocusableCells().find((cell) => cell.day && cell.day.date === activeDate);
29106
+ this._activeCell = activeCell || null;
29107
+ }
29099
29108
  if (!activeCell) {
29100
29109
  return;
29101
29110
  }
@@ -33292,7 +33301,7 @@ let AuroHelpText$2$1 = class AuroHelpText extends i$3 {
33292
33301
  }
33293
33302
  };
33294
33303
 
33295
- var formkitVersion$1$3 = '202606291652';
33304
+ var formkitVersion$1$3 = '202606291737';
33296
33305
 
33297
33306
  let AuroElement$2$2 = class AuroElement extends i$3 {
33298
33307
  static get properties() {
@@ -34564,6 +34573,7 @@ let AuroDropdown$3 = class AuroDropdown extends AuroElement$2$2 {
34564
34573
  role="${o$4(this.triggerContentFocusable ? undefined : this.a11yRole)}"
34565
34574
  aria-expanded="${o$4(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : this.isPopoverVisible)}"
34566
34575
  aria-controls="${o$4(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : this.dropdownId)}"
34576
+ aria-haspopup="${o$4(this.a11yRole === 'combobox' && !this.triggerContentFocusable ? 'listbox' : undefined)}"
34567
34577
  aria-labelledby="${o$4(this.triggerContentFocusable ? undefined : 'triggerLabel')}"
34568
34578
  aria-disabled="${o$4(this.disabled ? 'true' : undefined)}"
34569
34579
  @focusin="${this.handleFocusin}"
@@ -46885,7 +46895,7 @@ let AuroHelpText$1$3 = class AuroHelpText extends i$3 {
46885
46895
  }
46886
46896
  };
46887
46897
 
46888
- var formkitVersion$7 = '202606291652';
46898
+ var formkitVersion$7 = '202606291737';
46889
46899
 
46890
46900
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
46891
46901
  // See LICENSE in the project root for license information.
@@ -51740,7 +51750,7 @@ let AuroHelpText$1$2 = class AuroHelpText extends i$3 {
51740
51750
  }
51741
51751
  };
51742
51752
 
51743
- var formkitVersion$1$2 = '202606291652';
51753
+ var formkitVersion$1$2 = '202606291737';
51744
51754
 
51745
51755
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
51746
51756
  // See LICENSE in the project root for license information.
@@ -56068,7 +56078,7 @@ let AuroHelpText$6 = class AuroHelpText extends i$3 {
56068
56078
  }
56069
56079
  };
56070
56080
 
56071
- var formkitVersion$6 = '202606291652';
56081
+ var formkitVersion$6 = '202606291737';
56072
56082
 
56073
56083
  let AuroElement$1$2 = class AuroElement extends i$3 {
56074
56084
  static get properties() {
@@ -57340,6 +57350,7 @@ let AuroDropdown$2 = class AuroDropdown extends AuroElement$1$2 {
57340
57350
  role="${o$4(this.triggerContentFocusable ? undefined : this.a11yRole)}"
57341
57351
  aria-expanded="${o$4(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : this.isPopoverVisible)}"
57342
57352
  aria-controls="${o$4(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : this.dropdownId)}"
57353
+ aria-haspopup="${o$4(this.a11yRole === 'combobox' && !this.triggerContentFocusable ? 'listbox' : undefined)}"
57343
57354
  aria-labelledby="${o$4(this.triggerContentFocusable ? undefined : 'triggerLabel')}"
57344
57355
  aria-disabled="${o$4(this.disabled ? 'true' : undefined)}"
57345
57356
  @focusin="${this.handleFocusin}"
@@ -58472,6 +58483,13 @@ class AuroCounterGroup extends AuroElement$4 {
58472
58483
  */
58473
58484
  configureDropdownCounters() {
58474
58485
  this.dropdown = this.shadowRoot.querySelector(this.dropdownTag._$litStatic$);
58486
+
58487
+ // Counter rows are slotted into the bib through multiple shadow roots
58488
+ // (dropdown → bib → bibtemplate → counter-group → counter), so the floater's
58489
+ // `:focus-within` focus-loss check fails to match the dropdown host in Chromium
58490
+ // and the bib auto-closes immediately after opening. Mirrors auro-select.
58491
+ this.dropdown.noHideOnThisFocusLoss = true;
58492
+
58475
58493
  this.dropdown.requestUpdate();
58476
58494
 
58477
58495
  const counterWrapper = this.shadowRoot.querySelector('auro-counter-wrapper');
@@ -60008,7 +60026,7 @@ let AuroHelpText$5 = class AuroHelpText extends i$3 {
60008
60026
  }
60009
60027
  };
60010
60028
 
60011
- var formkitVersion$5 = '202606291652';
60029
+ var formkitVersion$5 = '202606291737';
60012
60030
 
60013
60031
  // Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
60014
60032
  // See LICENSE in the project root for license information.
@@ -61758,7 +61776,7 @@ let AuroHelpText$4 = class AuroHelpText extends i$3 {
61758
61776
  }
61759
61777
  };
61760
61778
 
61761
- var formkitVersion$4 = '202606291652';
61779
+ var formkitVersion$4 = '202606291737';
61762
61780
 
61763
61781
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
61764
61782
  // See LICENSE in the project root for license information.
@@ -66973,7 +66991,7 @@ let AuroHelpText$2 = class AuroHelpText extends i$3 {
66973
66991
  }
66974
66992
  };
66975
66993
 
66976
- var formkitVersion$2 = '202606291652';
66994
+ var formkitVersion$2 = '202606291737';
66977
66995
 
66978
66996
  let AuroElement$2$1 = class AuroElement extends i$3 {
66979
66997
  static get properties() {
@@ -68245,6 +68263,7 @@ let AuroDropdown$1 = class AuroDropdown extends AuroElement$2$1 {
68245
68263
  role="${o$4(this.triggerContentFocusable ? undefined : this.a11yRole)}"
68246
68264
  aria-expanded="${o$4(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : this.isPopoverVisible)}"
68247
68265
  aria-controls="${o$4(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : this.dropdownId)}"
68266
+ aria-haspopup="${o$4(this.a11yRole === 'combobox' && !this.triggerContentFocusable ? 'listbox' : undefined)}"
68248
68267
  aria-labelledby="${o$4(this.triggerContentFocusable ? undefined : 'triggerLabel')}"
68249
68268
  aria-disabled="${o$4(this.disabled ? 'true' : undefined)}"
68250
68269
  @focusin="${this.handleFocusin}"
@@ -80566,7 +80585,7 @@ let AuroHelpText$1$1 = class AuroHelpText extends i$3 {
80566
80585
  }
80567
80586
  };
80568
80587
 
80569
- var formkitVersion$1$1 = '202606291652';
80588
+ var formkitVersion$1$1 = '202606291737';
80570
80589
 
80571
80590
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
80572
80591
  // See LICENSE in the project root for license information.
@@ -81687,7 +81706,7 @@ let AuroBibtemplate$1 = class AuroBibtemplate extends i$3 {
81687
81706
  }
81688
81707
  };
81689
81708
 
81690
- var formkitVersion$3 = '202606291652';
81709
+ var formkitVersion$3 = '202606291737';
81691
81710
 
81692
81711
  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}`;
81693
81712
 
@@ -86500,19 +86519,28 @@ const selectKeyboardStrategy = {
86500
86519
  },
86501
86520
 
86502
86521
  End(component, evt, ctx) {
86503
- if (!ctx.isExpanded) {
86504
- return;
86505
- }
86506
86522
  evt.preventDefault();
86507
86523
  evt.stopPropagation();
86508
86524
  // `pop()` is safe here: getEnabledOptions returns a fresh filtered array.
86509
86525
  const lastOption = getEnabledOptions(component.menu).pop();
86510
- if (lastOption) {
86511
- component.menu.updateActiveOption(lastOption);
86526
+ if (!lastOption) {
86527
+ return;
86528
+ }
86529
+ // Pre-stash before show() so the auroDropdown-toggled handler's
86530
+ // `!optionActive` guard short-circuits the firstActive/selected fallback —
86531
+ // otherwise show() synchronously fires the handler and writes
86532
+ // aria-activedescendant once before we overwrite it.
86533
+ component.menu.updateActiveOption(lastOption);
86534
+ if (!ctx.isExpanded) {
86535
+ component.dropdown.show();
86512
86536
  }
86513
86537
  },
86514
86538
 
86515
86539
  Enter(component, evt, ctx) {
86540
+ // Prevent the keypress from bubbling to parent containers (e.g., forms)
86541
+ // which could interpret Enter as a submit. Matches APG select-only combobox
86542
+ // and native <select> behavior: Enter opens the listbox when closed, selects
86543
+ // the active option when open — it does not submit a parent form.
86516
86544
  evt.preventDefault();
86517
86545
  evt.stopPropagation();
86518
86546
  if (!ctx.isExpanded) {
@@ -86523,14 +86551,16 @@ const selectKeyboardStrategy = {
86523
86551
  },
86524
86552
 
86525
86553
  Home(component, evt, ctx) {
86526
- if (!ctx.isExpanded) {
86527
- return;
86528
- }
86529
86554
  evt.preventDefault();
86530
86555
  evt.stopPropagation();
86531
86556
  const [firstOption] = getEnabledOptions(component.menu);
86532
- if (firstOption) {
86533
- component.menu.updateActiveOption(firstOption);
86557
+ if (!firstOption) {
86558
+ return;
86559
+ }
86560
+ // See End() for why this must run before show().
86561
+ component.menu.updateActiveOption(firstOption);
86562
+ if (!ctx.isExpanded) {
86563
+ component.dropdown.show();
86534
86564
  }
86535
86565
  },
86536
86566
 
@@ -90478,7 +90508,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$3 {
90478
90508
  }
90479
90509
  };
90480
90510
 
90481
- var formkitVersion$1 = '202606291652';
90511
+ var formkitVersion$1 = '202606291737';
90482
90512
 
90483
90513
  class AuroElement extends i$3 {
90484
90514
  static get properties() {
@@ -91750,6 +91780,7 @@ class AuroDropdown extends AuroElement {
91750
91780
  role="${o$4(this.triggerContentFocusable ? undefined : this.a11yRole)}"
91751
91781
  aria-expanded="${o$4(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : this.isPopoverVisible)}"
91752
91782
  aria-controls="${o$4(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : this.dropdownId)}"
91783
+ aria-haspopup="${o$4(this.a11yRole === 'combobox' && !this.triggerContentFocusable ? 'listbox' : undefined)}"
91753
91784
  aria-labelledby="${o$4(this.triggerContentFocusable ? undefined : 'triggerLabel')}"
91754
91785
  aria-disabled="${o$4(this.disabled ? 'true' : undefined)}"
91755
91786
  @focusin="${this.handleFocusin}"
@@ -92499,7 +92530,7 @@ class AuroHelpText extends i$3 {
92499
92530
  }
92500
92531
  }
92501
92532
 
92502
- var formkitVersion = '202606291652';
92533
+ var formkitVersion = '202606291737';
92503
92534
 
92504
92535
  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}`;
92505
92536
 
@@ -92831,14 +92862,6 @@ class AuroSelect extends AuroElement$1 {
92831
92862
  reflect: true
92832
92863
  },
92833
92864
 
92834
- /**
92835
- * @private
92836
- */
92837
- options: {
92838
- type: Array,
92839
- state: true
92840
- },
92841
-
92842
92865
  /**
92843
92866
  * Specifies the current selected menuOption. Default type is `HTMLElement`, changing to `Array<HTMLElement>` when `multiSelect` is true.
92844
92867
  * @type {HTMLElement|Array<HTMLElement>}
@@ -93126,16 +93149,68 @@ class AuroSelect extends AuroElement$1 {
93126
93149
  this.dropdown.dropdownWidth = this.customBibWidth;
93127
93150
  }
93128
93151
 
93129
- // Pass label text to the dropdown bib for accessible dialog naming
93130
- const labelElement = this.querySelector('span[slot="label"]');
93131
- if (labelElement) {
93132
- this.dropdown.bibDialogLabel = labelElement.textContent.trim() || undefined;
93133
- }
93152
+ this._syncLabelText();
93134
93153
 
93135
93154
  // Exposes the CSS parts from the dropdown for styling
93136
93155
  this.dropdown.exposeCssParts();
93137
93156
  }
93138
93157
 
93158
+ /**
93159
+ * Reads the current label slot text and pushes it to the dropdown bib
93160
+ * (for dialog naming) and the menu (for listbox aria-label). Safe to call
93161
+ * before either child has been wired up — each branch self-guards.
93162
+ * @private
93163
+ */
93164
+ _syncLabelText() {
93165
+ const labelElement = this.querySelector('[slot="label"]');
93166
+ const text = labelElement ? labelElement.textContent.trim() : '';
93167
+ if (this.dropdown) {
93168
+ this.dropdown.bibDialogLabel = text || undefined;
93169
+ }
93170
+ if (this.menu) {
93171
+ if (text) {
93172
+ this.menu.setAttribute('aria-label', text);
93173
+ } else {
93174
+ this.menu.removeAttribute('aria-label');
93175
+ }
93176
+ }
93177
+ }
93178
+
93179
+ /**
93180
+ * Keeps the dialog/menu accessible names in sync when consumers mutate the
93181
+ * label slot at runtime (e.g., i18n locale swap). `slotchange` alone is
93182
+ * insufficient — it doesn't fire when textContent of an already-assigned
93183
+ * slotted node changes, which is the common case. We scope the observer to
93184
+ * the label node itself (not the whole host subtree) so option-content
93185
+ * mutations don't trigger label re-syncs, and re-target on `slotchange`
93186
+ * when consumers add or replace the label element.
93187
+ * @private
93188
+ */
93189
+ _observeLabelChanges() {
93190
+ if (this._labelObserver) return;
93191
+ this._labelObserver = new MutationObserver(() => this._syncLabelText());
93192
+
93193
+ const retarget = () => {
93194
+ this._labelObserver.disconnect();
93195
+ const labelElement = this.querySelector('[slot="label"]');
93196
+ if (labelElement) {
93197
+ this._labelObserver.observe(labelElement, {
93198
+ childList: true,
93199
+ subtree: true,
93200
+ characterData: true
93201
+ });
93202
+ }
93203
+ this._syncLabelText();
93204
+ };
93205
+
93206
+ retarget();
93207
+
93208
+ this._retargetLabelObserver = retarget;
93209
+ this.shadowRoot.querySelectorAll('slot[name="label"]').forEach((slot) => {
93210
+ slot.addEventListener('slotchange', retarget);
93211
+ });
93212
+ }
93213
+
93139
93214
  /**
93140
93215
  * This will register this element with the browser.
93141
93216
  * @param {string} [name="auro-select"] - The name of element that you want to register to.
@@ -93286,11 +93361,7 @@ class AuroSelect extends AuroElement$1 {
93286
93361
  this.updateMenuShapeSize();
93287
93362
  this.setMenuValue(this.value);
93288
93363
 
93289
- // Set accessible name on the menu for screen readers based on the label slot content
93290
- const labelElement = this.querySelector('[slot="label"]');
93291
- if (labelElement) {
93292
- this.menu.setAttribute('aria-label', labelElement.textContent.trim());
93293
- }
93364
+ this._syncLabelText();
93294
93365
 
93295
93366
  if (this.multiSelect) {
93296
93367
  this.menu.multiSelect = this.multiSelect;
@@ -93302,8 +93373,21 @@ class AuroSelect extends AuroElement$1 {
93302
93373
  if (typeof this.menu.initItems === 'function') {
93303
93374
  this.menu.initItems();
93304
93375
  }
93305
- this.options = this.menu.options;
93306
93376
  this.updateOptionPositions();
93377
+ // renderNativeSelect reads this.menu.options, which the parent doesn't
93378
+ // observe — request an update so the hidden native <option> list reflects
93379
+ // the menu's options after initItems populates them.
93380
+ this.requestUpdate();
93381
+
93382
+ // Keep aria-setsize/aria-posinset (and the native <option> list) in sync
93383
+ // when the menu re-initializes its items — e.g., slotchange, async/lazy
93384
+ // loads, value-triggered re-init. Without this, stale set-size is
93385
+ // announced and the native select goes stale after dynamic mutations.
93386
+ this.menu.addEventListener('auroMenu-optionsChange', () => {
93387
+ this.updateOptionPositions();
93388
+ this.requestUpdate();
93389
+ });
93390
+
93307
93391
  this.menu.addEventListener("auroMenu-loadingChange", (event) => this.handleMenuLoadingChange(event));
93308
93392
 
93309
93393
  this.menu.addEventListener("auroMenu-selectValueFailure", () => {
@@ -93322,11 +93406,26 @@ class AuroSelect extends AuroElement$1 {
93322
93406
  this.dropdown.setActiveDescendant(this.optionActive);
93323
93407
  }
93324
93408
 
93325
- // Announce the active option for screen readers
93326
- if (this.optionActive) {
93409
+ // Live-region announce only for [not selected] options. For activations
93410
+ // on an already-selected option — auto-activation on bib open, arrow
93411
+ // navigation back to the selection, or click in multiSelect — rely on
93412
+ // aria-activedescendant + aria-selected="true" to convey state per the
93413
+ // WAI-ARIA listbox pattern. This is intentional, not limited to the
93414
+ // initial activation on open: it also prevents a duplicate "X, selected"
93415
+ // when Enter on the active+selected option re-fires
93416
+ // auroMenu-selectedOption (see 03b289e39).
93417
+ if (this.optionActive && !this.optionActive.hasAttribute('selected')) {
93327
93418
  const optionText = this.optionActive.textContent.trim();
93328
- const selectedState = this.optionActive.hasAttribute('selected') ? ', selected' : ', not selected';
93329
- announceToScreenReader(this._getAnnouncementRoot(), `${optionText}${selectedState}`);
93419
+ const message = `${optionText}, not selected`;
93420
+ if (this.dropdown.isPopoverVisible) {
93421
+ announceToScreenReader(this._getAnnouncementRoot(), message);
93422
+ } else {
93423
+ // Typeahead-on-closed fires this event before `show()` flips
93424
+ // isPopoverVisible. Defer so the announcement targets the bib's
93425
+ // live region once the fullscreen <dialog> opens — otherwise it
93426
+ // lands in the host root, which is inert under the active modal.
93427
+ queueMicrotask(() => announceToScreenReader(this._getAnnouncementRoot(), message));
93428
+ }
93330
93429
  }
93331
93430
 
93332
93431
  if (this.dropdown.isPopoverVisible) {
@@ -93335,6 +93434,7 @@ class AuroSelect extends AuroElement$1 {
93335
93434
  });
93336
93435
 
93337
93436
  this.menu.addEventListener('auroMenu-selectedOption', () => {
93437
+ const previousSelected = this.optionSelected;
93338
93438
 
93339
93439
  // Update the displayed value
93340
93440
  this.updateDisplayedValue();
@@ -93354,13 +93454,32 @@ class AuroSelect extends AuroElement$1 {
93354
93454
  this.dropdown.trigger.focus();
93355
93455
  }
93356
93456
 
93357
- // Announce the selection after the dropdown closes so it isn't
93358
- // overridden by VoiceOver's "collapsed" announcement from aria-expanded.
93359
- const selectedValue = this.menu.currentLabel;
93360
- const announcementDelay = 300;
93361
- setTimeout(() => {
93362
- announceToScreenReader(this._getAnnouncementRoot(), `${selectedValue}, selected`);
93363
- }, announcementDelay);
93457
+ // Describe the actual change. In multiSelect, currentLabel is the
93458
+ // concatenated remaining list — announcing "{list}, selected" after a
93459
+ // deselect would falsely claim every remaining label was just added.
93460
+ // Diff previous vs next to recover the toggled option.
93461
+ let announcement = '';
93462
+ if (this.multiSelect) {
93463
+ const prev = Array.isArray(previousSelected) ? previousSelected : [];
93464
+ const removed = prev.find((opt) => !nextSelected.includes(opt));
93465
+ const added = nextSelected.find((opt) => !prev.includes(opt));
93466
+ if (removed) {
93467
+ announcement = `${removed.textContent.trim()}, not selected`;
93468
+ } else if (added) {
93469
+ announcement = `${added.textContent.trim()}, selected`;
93470
+ }
93471
+ } else {
93472
+ announcement = `${this.menu.currentLabel}, selected`;
93473
+ }
93474
+
93475
+ // Delay so the utterance isn't overridden by VoiceOver's "collapsed"
93476
+ // announcement from aria-expanded when the dropdown closes.
93477
+ if (announcement) {
93478
+ const announcementDelay = 300;
93479
+ setTimeout(() => {
93480
+ announceToScreenReader(this._getAnnouncementRoot(), announcement);
93481
+ }, announcementDelay);
93482
+ }
93364
93483
  });
93365
93484
  }
93366
93485
 
@@ -93458,24 +93577,32 @@ class AuroSelect extends AuroElement$1 {
93458
93577
 
93459
93578
  this.typeaheadBuffer += key;
93460
93579
 
93461
- const isRepeatedChar = this.typeaheadBuffer.length > 1 && new Set(this.typeaheadBuffer).size === 1;
93580
+ // Prefer the literal buffer as a prefix per WAI-ARIA APG ("focus moves to the
93581
+ // next item with a name that starts with the string of characters typed").
93582
+ // Only fall back to single-char cycling when the repeated buffer has no
93583
+ // longer prefix match — e.g. "aa" cycles through ["Apple", "Apricot"] only
93584
+ // because no option starts with "aa".
93585
+ let match = options.find((option) => this._getOptionDisplayText(option).startsWith(this.typeaheadBuffer));
93462
93586
 
93463
- let match = null;
93587
+ const isRepeatedChar = !match && this.typeaheadBuffer.length > 1 && new Set(this.typeaheadBuffer).size === 1;
93464
93588
  if (isRepeatedChar) {
93465
93589
  const matches = options.filter((option) => this._getOptionDisplayText(option).startsWith(key));
93466
93590
  if (matches.length) {
93467
93591
  const cycleIndex = (this.typeaheadBuffer.length - 1) % matches.length;
93468
93592
  match = matches[cycleIndex];
93469
93593
  }
93470
- } else {
93471
- match = options.find((option) => this._getOptionDisplayText(option).startsWith(this.typeaheadBuffer));
93472
93594
  }
93473
93595
 
93596
+ // Intentional: no-match leaves the bib closed (deviates from APG / some native <select>).
93474
93597
  if (match) {
93598
+ // Pre-stash the match so the auroDropdown-toggled handler's `!optionActive`
93599
+ // guard short-circuits and skips the firstActive/selected fallback —
93600
+ // otherwise show() synchronously fires the handler, which writes
93601
+ // aria-activedescendant once before we overwrite it.
93602
+ this.menu.updateActiveOption(match);
93475
93603
  if (!this.dropdown.isPopoverVisible) {
93476
93604
  this.dropdown.show();
93477
93605
  }
93478
- this.menu.updateActiveOption(match);
93479
93606
  }
93480
93607
  }
93481
93608
 
@@ -93592,6 +93719,28 @@ class AuroSelect extends AuroElement$1 {
93592
93719
  disconnectedCallback() {
93593
93720
  super.disconnectedCallback();
93594
93721
  this._clearTypeaheadBuffer();
93722
+ if (this._labelObserver) {
93723
+ this._labelObserver.disconnect();
93724
+ this._labelObserver = null;
93725
+ }
93726
+ if (this._retargetLabelObserver && this.shadowRoot) {
93727
+ this.shadowRoot.querySelectorAll('slot[name="label"]').forEach((slot) => {
93728
+ slot.removeEventListener('slotchange', this._retargetLabelObserver);
93729
+ });
93730
+ this._retargetLabelObserver = null;
93731
+ }
93732
+ }
93733
+
93734
+ connectedCallback() {
93735
+ super.connectedCallback();
93736
+ // Regression guard: firstUpdated() fires once per instance, so the label
93737
+ // observer setup it triggers does NOT re-run on reconnect. After a
93738
+ // disconnect+reconnect (reparent, SPA route swap), runtime label mutations
93739
+ // would silently stop syncing menu aria-label / dropdown.bibDialogLabel
93740
+ // unless we re-wire the observer here.
93741
+ if (this.hasUpdated) {
93742
+ this._observeLabelChanges();
93743
+ }
93595
93744
  }
93596
93745
 
93597
93746
  // lifecycle runs only after the element's DOM has been updated the first time
@@ -93602,6 +93751,7 @@ class AuroSelect extends AuroElement$1 {
93602
93751
  this.configureDropdown();
93603
93752
  this.configureMenu();
93604
93753
  this.configureSelect();
93754
+ this._observeLabelChanges();
93605
93755
  }
93606
93756
 
93607
93757
  setMenuValue(value) {
@@ -93734,25 +93884,18 @@ class AuroSelect extends AuroElement$1 {
93734
93884
  * @private
93735
93885
  */
93736
93886
  _handleNativeSelectChange(event) {
93887
+ // Hidden native <select> has no `multiple` attribute, so any change it fires
93888
+ // is a single raw value — applying it in multiSelect mode would collapse the
93889
+ // JSON-array `value` shape. Bfcache/autofill can reach this on a name-bearing
93890
+ // form control even with aria-hidden/tabindex=-1.
93891
+ if (this.multiSelect) return;
93892
+
93737
93893
  const selectedOption = event.target.options[event.target.selectedIndex];
93738
93894
  if (!selectedOption) return;
93739
93895
  const selectedValue = selectedOption.value;
93740
93896
 
93741
- if (this.multiSelect) {
93742
- const currentArray = this.menu.value || [];
93743
-
93744
- if (!currentArray.includes(selectedValue)) {
93745
- this.value = JSON.stringify([
93746
- ...currentArray,
93747
- selectedValue
93748
- ]);
93749
- }
93750
- } else {
93751
- const currentValue = this.value;
93752
-
93753
- if (currentValue !== selectedValue) {
93754
- this.value = selectedValue;
93755
- }
93897
+ if (this.value !== selectedValue) {
93898
+ this.value = selectedValue;
93756
93899
  }
93757
93900
  }
93758
93901