@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
@@ -12331,7 +12331,7 @@ let AuroHelpText$8 = class AuroHelpText extends i$2 {
12331
12331
  }
12332
12332
  };
12333
12333
 
12334
- var formkitVersion$8 = '202606291652';
12334
+ var formkitVersion$8 = '202606291737';
12335
12335
 
12336
12336
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
12337
12337
  // See LICENSE in the project root for license information.
@@ -26573,7 +26573,7 @@ let AuroBibtemplate$3 = class AuroBibtemplate extends i$2 {
26573
26573
  }
26574
26574
  };
26575
26575
 
26576
- var formkitVersion$2$1 = '202606291652';
26576
+ var formkitVersion$2$1 = '202606291737';
26577
26577
 
26578
26578
  let l$1$2 = class l{generateElementName(t,e){let o=t;return o+="-",o+=e.replace(/[.]/g,"_"),o}generateTag(o,s,a){const r=this.generateElementName(o,s),i=i$5`${s$5(r)}`;return customElements.get(r)||customElements.define(r,class extends a{}),i}};let d$1$2 = class d{registerComponent(t,e){customElements.get(t)||customElements.define(t,class extends e{});}closestElement(t,e=this,o=(e,s=e&&e.closest(t))=>e&&e!==document&&e!==window?s||o(e.getRootNode().host):null){return o(e)}handleComponentTagRename(t,e){const o=e.toLowerCase();t.tagName.toLowerCase()!==o&&t.setAttribute(o,true);}elementMatch(t,e){const o=e.toLowerCase();return t.tagName.toLowerCase()===o||t.hasAttribute(o)}getSlotText(t,e){const o=t.shadowRoot?.querySelector(`slot[name="${e}"]`),s=(o?.assignedNodes({flatten:true})||[]).map(t=>t.textContent?.trim()).join(" ").trim();return s||null}};let h$1$2 = class h{registerComponent(t,e){customElements.get(t)||customElements.define(t,class extends e{});}closestElement(t,e=this,o=(e,s=e&&e.closest(t))=>e&&e!==document&&e!==window?s||o(e.getRootNode().host):null){return o(e)}handleComponentTagRename(t,e){const o=e.toLowerCase();t.tagName.toLowerCase()!==o&&t.setAttribute(o,true);}elementMatch(t,e){const o=e.toLowerCase();return t.tagName.toLowerCase()===o||t.hasAttribute(o)}};var c$1$3=i$4`:host{color:var(--ds-auro-loader-color)}:host>span{background-color:var(--ds-auro-loader-background-color);border-color:var(--ds-auro-loader-border-color)}:host([onlight]),:host([appearance=brand]){--ds-auro-loader-color: var(--ds-basic-color-brand-primary, #01426a)}:host([ondark]),:host([appearance=inverse]){--ds-auro-loader-color: var(--ds-basic-color-texticon-inverse, #ffffff)}:host([orbit])>span{--ds-auro-loader-background-color: transparent}:host([orbit])>span:nth-child(1){--ds-auro-loader-border-color: currentcolor;opacity:.25}:host([orbit])>span:nth-child(2){--ds-auro-loader-border-color: currentcolor;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent}
26579
26579
  `,u$4$2=i$4`.body-default{font-size:var(--wcss-body-default-font-size, 1rem);line-height:var(--wcss-body-default-line-height, 1.5rem)}.body-default,.body-lg{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-weight, 450);letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-lg{font-size:var(--wcss-body-lg-font-size, 1.125rem);line-height:var(--wcss-body-lg-line-height, 1.625rem)}.body-sm{font-size:var(--wcss-body-sm-font-size, .875rem);line-height:var(--wcss-body-sm-line-height, 1.25rem)}.body-sm,.body-xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-weight, 450);letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-xs{font-size:var(--wcss-body-xs-font-size, .75rem);line-height:var(--wcss-body-xs-line-height, 1rem)}.body-2xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:var(--wcss-body-2xs-font-size, .625rem);font-weight:var(--wcss-body-weight, 450);letter-spacing:var(--wcss-body-letter-spacing, 0);line-height:var(--wcss-body-2xs-line-height, .875rem)}.display-2xl{font-family:var(--wcss-display-2xl-family, "AS Circular"),var(--wcss-display-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-2xl-font-size, clamp(3.5rem, 6vw, 5.375rem));font-weight:var(--wcss-display-2xl-weight, 300);letter-spacing:var(--wcss-display-2xl-letter-spacing, 0);line-height:var(--wcss-display-2xl-line-height, 1.3)}.display-xl{font-family:var(--wcss-display-xl-family, "AS Circular"),var(--wcss-display-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-xl-font-size, clamp(3rem, 5.3333333333vw, 4.5rem));font-weight:var(--wcss-display-xl-weight, 300);letter-spacing:var(--wcss-display-xl-letter-spacing, 0);line-height:var(--wcss-display-xl-line-height, 1.3)}.display-lg{font-family:var(--wcss-display-lg-family, "AS Circular"),var(--wcss-display-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-lg-font-size, clamp(2.75rem, 4.6666666667vw, 4rem));font-weight:var(--wcss-display-lg-weight, 300);letter-spacing:var(--wcss-display-lg-letter-spacing, 0);line-height:var(--wcss-display-lg-line-height, 1.3)}.display-md{font-family:var(--wcss-display-md-family, "AS Circular"),var(--wcss-display-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-md-font-size, clamp(2.5rem, 4vw, 3.5rem));font-weight:var(--wcss-display-md-weight, 300);letter-spacing:var(--wcss-display-md-letter-spacing, 0);line-height:var(--wcss-display-md-line-height, 1.3)}.display-sm{font-family:var(--wcss-display-sm-family, "AS Circular"),var(--wcss-display-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-sm-font-size, clamp(2rem, 3.6666666667vw, 3rem));font-weight:var(--wcss-display-sm-weight, 300);letter-spacing:var(--wcss-display-sm-letter-spacing, 0);line-height:var(--wcss-display-sm-line-height, 1.3)}.display-xs{font-family:var(--wcss-display-xs-family, "AS Circular"),var(--wcss-display-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-xs-font-size, clamp(1.75rem, 3vw, 2.375rem));font-weight:var(--wcss-display-xs-weight, 300);letter-spacing:var(--wcss-display-xs-letter-spacing, 0);line-height:var(--wcss-display-xs-line-height, 1.3)}.heading-xl{font-family:var(--wcss-heading-xl-family, "AS Circular"),var(--wcss-heading-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-xl-font-size, clamp(2rem, 3vw, 2.5rem));font-weight:var(--wcss-heading-xl-weight, 300);letter-spacing:var(--wcss-heading-xl-letter-spacing, 0);line-height:var(--wcss-heading-xl-line-height, 1.3)}.heading-lg{font-family:var(--wcss-heading-lg-family, "AS Circular"),var(--wcss-heading-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-lg-font-size, clamp(1.75rem, 2.6666666667vw, 2.25rem));font-weight:var(--wcss-heading-lg-weight, 300);letter-spacing:var(--wcss-heading-lg-letter-spacing, 0);line-height:var(--wcss-heading-lg-line-height, 1.3)}.heading-md{font-family:var(--wcss-heading-md-family, "AS Circular"),var(--wcss-heading-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-md-font-size, clamp(1.625rem, 2.3333333333vw, 1.75rem));font-weight:var(--wcss-heading-md-weight, 300);letter-spacing:var(--wcss-heading-md-letter-spacing, 0);line-height:var(--wcss-heading-md-line-height, 1.3)}.heading-sm{font-family:var(--wcss-heading-sm-family, "AS Circular"),var(--wcss-heading-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-sm-font-size, clamp(1.375rem, 2vw, 1.5rem));font-weight:var(--wcss-heading-sm-weight, 300);letter-spacing:var(--wcss-heading-sm-letter-spacing, 0);line-height:var(--wcss-heading-sm-line-height, 1.3)}.heading-xs{font-family:var(--wcss-heading-xs-family, "AS Circular"),var(--wcss-heading-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-xs-font-size, clamp(1.25rem, 1.6666666667vw, 1.25rem));font-weight:var(--wcss-heading-xs-weight, 450);letter-spacing:var(--wcss-heading-xs-letter-spacing, 0);line-height:var(--wcss-heading-xs-line-height, 1.3)}.heading-2xs{font-family:var(--wcss-heading-2xs-family, "AS Circular"),var(--wcss-heading-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-2xs-font-size, clamp(1.125rem, 1.5vw, 1.125rem));font-weight:var(--wcss-heading-2xs-weight, 450);letter-spacing:var(--wcss-heading-2xs-letter-spacing, 0);line-height:var(--wcss-heading-2xs-line-height, 1.3)}.accent-2xl{font-family:var(--wcss-accent-2xl-family, "Good OT"),var(--wcss-accent-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-2xl-font-size, clamp(2rem, 3.1666666667vw, 2.375rem));font-weight:var(--wcss-accent-2xl-weight, 450);letter-spacing:var(--wcss-accent-2xl-letter-spacing, .05em);line-height:var(--wcss-accent-2xl-line-height, 1)}.accent-2xl,.accent-xl{text-transform:uppercase}.accent-xl{font-family:var(--wcss-accent-xl-family, "Good OT"),var(--wcss-accent-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-xl-font-size, clamp(1.625rem, 2.3333333333vw, 2rem));font-weight:var(--wcss-accent-xl-weight, 450);letter-spacing:var(--wcss-accent-xl-letter-spacing, .05em);line-height:var(--wcss-accent-xl-line-height, 1.3)}.accent-lg{font-family:var(--wcss-accent-lg-family, "Good OT"),var(--wcss-accent-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-lg-font-size, clamp(1.5rem, 2.1666666667vw, 1.75rem));font-weight:var(--wcss-accent-lg-weight, 450);letter-spacing:var(--wcss-accent-lg-letter-spacing, .05em);line-height:var(--wcss-accent-lg-line-height, 1.3)}.accent-lg,.accent-md{text-transform:uppercase}.accent-md{font-family:var(--wcss-accent-md-family, "Good OT"),var(--wcss-accent-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-md-font-size, clamp(1.375rem, 1.8333333333vw, 1.5rem));font-weight:var(--wcss-accent-md-weight, 500);letter-spacing:var(--wcss-accent-md-letter-spacing, .05em);line-height:var(--wcss-accent-md-line-height, 1.3)}.accent-sm{font-family:var(--wcss-accent-sm-family, "Good OT"),var(--wcss-accent-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-sm-font-size, clamp(1.125rem, 1.5vw, 1.25rem));font-weight:var(--wcss-accent-sm-weight, 500);letter-spacing:var(--wcss-accent-sm-letter-spacing, .05em);line-height:var(--wcss-accent-sm-line-height, 1.3)}.accent-sm,.accent-xs{text-transform:uppercase}.accent-xs{font-family:var(--wcss-accent-xs-family, "Good OT"),var(--wcss-accent-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-xs-font-size, clamp(1rem, 1.3333333333vw, 1rem));font-weight:var(--wcss-accent-xs-weight, 500);letter-spacing:var(--wcss-accent-xs-letter-spacing, .1em);line-height:var(--wcss-accent-xs-line-height, 1.3)}.accent-2xs{font-family:var(--wcss-accent-2xs-family, "Good OT"),var(--wcss-accent-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-2xs-font-size, clamp(.875rem, 1.1666666667vw, .875rem));font-weight:var(--wcss-accent-2xs-weight, 450);letter-spacing:var(--wcss-accent-2xs-letter-spacing, .1em);line-height:var(--wcss-accent-2xs-line-height, 1.3);text-transform:uppercase}:focus:not(:focus-visible){outline:3px solid transparent}:host,:host>span{position:relative}:host{width:2rem;height:2rem;display:inline-block;font-size:0}:host>span{position:absolute;display:inline-block;float:none;top:0;left:0;width:2rem;height:2rem;border-radius:100%;border-style:solid;border-width:0;box-sizing:border-box}:host([xs]),:host([xs])>span{width:1.2rem;height:1.2rem}:host([sm]),:host([sm])>span{width:3rem;height:3rem}:host([md]),:host([md])>span{width:5rem;height:5rem}:host([lg]),:host([lg])>span{width:8rem;height:8rem}:host{--margin: .375rem;--margin-xs: .2rem;--margin-sm: .5rem;--margin-md: .75rem;--margin-lg: 1rem}:host([pulse]),:host([pulse])>span{position:relative}:host([pulse]){width:calc(3rem + var(--margin) * 6);height:calc(1rem + var(--margin) * 2)}:host([pulse])>span{width:1rem;height:1rem;margin:var(--margin);animation:pulse 1.5s ease infinite}:host([pulse][xs]){width:calc(1.95rem + var(--margin-xs) * 6);height:calc(.65rem + var(--margin-xs) * 2)}:host([pulse][xs])>span{margin:var(--margin-xs);width:.65rem;height:.65rem}:host([pulse][sm]){width:calc(6rem + var(--margin-sm) * 6);height:calc(2rem + var(--margin-sm) * 2)}:host([pulse][sm])>span{margin:var(--margin-sm);width:2rem;height:2rem}:host([pulse][md]){width:calc(9rem + var(--margin-md) * 6);height:calc(3rem + var(--margin-md) * 2)}:host([pulse][md])>span{margin:var(--margin-md);width:3rem;height:3rem}:host([pulse][lg]){width:calc(15rem + var(--margin-lg) * 6);height:calc(5rem + var(--margin-lg) * 2)}:host([pulse][lg])>span{margin:var(--margin-lg);width:5rem;height:5rem}:host([pulse])>span:nth-child(1){animation-delay:-.4s}:host([pulse])>span:nth-child(2){animation-delay:-.2s}:host([pulse])>span:nth-child(3){animation-delay:0ms}@keyframes pulse{0%,to{opacity:.1;transform:scale(.9)}50%{opacity:1;transform:scale(1.1)}}:host([orbit]),:host([orbit])>span{opacity:1}:host([orbit])>span{border-width:5px}:host([orbit])>span:nth-child(2){animation:orbit 2s linear infinite}:host([orbit][sm])>span{border-width:8px}:host([orbit][md])>span{border-width:13px}:host([orbit][lg])>span{border-width:21px}@keyframes orbit{0%{transform:rotate(0)}to{transform:rotate(360deg)}}:host([ringworm])>svg{animation:rotate 2s linear infinite;height:100%;width:100%;stroke:currentcolor;stroke-width:8}:host([ringworm]) .path{stroke-dashoffset:0;animation:ringworm 1.5s ease-in-out infinite;stroke-linecap:round}@keyframes rotate{to{transform:rotate(360deg)}}@keyframes ringworm{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px}to{stroke-dasharray:89,200;stroke-dashoffset:-124px}}:host([laser]){position:static;width:100%;display:block;height:0;overflow:hidden;font-size:unset}:host([laser])>span{position:fixed;width:100%;height:.25rem;border-radius:0;z-index:100}:host([laser])>span:nth-child(1){border-color:currentcolor;opacity:.25}:host([laser])>span:nth-child(2){border-color:currentcolor;animation:laser 2s linear infinite;opacity:1;width:50%}:host([laser][sm])>span:nth-child(2){width:20%}:host([laser][md])>span:nth-child(2){width:30%}:host([laser][lg])>span:nth-child(2){width:50%;animation-duration:1.5s}:host([laser][xl])>span:nth-child(2){width:80%;animation-duration:1.5s}@keyframes laser{0%{left:-100%}to{left:110%}}:host>.no-animation{display:none}@media (prefers-reduced-motion: reduce){:host{display:flex;align-items:center;justify-content:center}:host>span{opacity:1}:host>.loader{display:none}:host>svg{display:none}:host>.no-animation{display:block}}
@@ -26679,8 +26679,10 @@ class AuroCalendar extends RangeDatepicker {
26679
26679
  this.activeCellDate = null;
26680
26680
 
26681
26681
  /**
26682
- * Cached reference to the active cell host, set by setActiveCell.
26683
- * Lets scrollToActiveCell skip a full cell scan on each arrow key.
26682
+ * Cached reference to the active cell host. Set by setActiveCell and
26683
+ * refreshed by scrollToActiveCell when its cache check misses (stale
26684
+ * or missing). Lets scrollToActiveCell skip a full cell scan on each
26685
+ * arrow key.
26684
26686
  * @private
26685
26687
  */
26686
26688
  this._activeCell = null;
@@ -28050,11 +28052,18 @@ class AuroCalendar extends RangeDatepicker {
28050
28052
  // Prefer the cell cached by setActiveCell so arrow-key navigation does
28051
28053
  // not rebuild the full cell list on every keypress. Fall back to a
28052
28054
  // lookup when the cache is stale (e.g. detached after month re-render)
28053
- // or absent (scrollToActiveCell called without a prior setActiveCell).
28055
+ // or absent (scrollToActiveCell called without a prior setActiveCell);
28056
+ // refresh the cache on the fallback path so a subsequent call reuses it.
28054
28057
  const activeDate = this.activeCellDate;
28055
28058
  const cached = this._activeCell;
28056
28059
  const cacheFresh = cached && cached.isConnected && cached.day && cached.day.date === activeDate;
28057
- const activeCell = cacheFresh ? cached : this.getAllFocusableCells().find((cell) => cell.day && cell.day.date === activeDate);
28060
+ let activeCell = null;
28061
+ if (cacheFresh) {
28062
+ activeCell = cached;
28063
+ } else {
28064
+ activeCell = this.getAllFocusableCells().find((cell) => cell.day && cell.day.date === activeDate);
28065
+ this._activeCell = activeCell || null;
28066
+ }
28058
28067
  if (!activeCell) {
28059
28068
  return;
28060
28069
  }
@@ -32251,7 +32260,7 @@ let AuroHelpText$2$1 = class AuroHelpText extends i$2 {
32251
32260
  }
32252
32261
  };
32253
32262
 
32254
- var formkitVersion$1$3 = '202606291652';
32263
+ var formkitVersion$1$3 = '202606291737';
32255
32264
 
32256
32265
  let AuroElement$2$2 = class AuroElement extends i$2 {
32257
32266
  static get properties() {
@@ -33523,6 +33532,7 @@ let AuroDropdown$3 = class AuroDropdown extends AuroElement$2$2 {
33523
33532
  role="${o$4(this.triggerContentFocusable ? undefined : this.a11yRole)}"
33524
33533
  aria-expanded="${o$4(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : this.isPopoverVisible)}"
33525
33534
  aria-controls="${o$4(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : this.dropdownId)}"
33535
+ aria-haspopup="${o$4(this.a11yRole === 'combobox' && !this.triggerContentFocusable ? 'listbox' : undefined)}"
33526
33536
  aria-labelledby="${o$4(this.triggerContentFocusable ? undefined : 'triggerLabel')}"
33527
33537
  aria-disabled="${o$4(this.disabled ? 'true' : undefined)}"
33528
33538
  @focusin="${this.handleFocusin}"
@@ -45844,7 +45854,7 @@ let AuroHelpText$1$3 = class AuroHelpText extends i$2 {
45844
45854
  }
45845
45855
  };
45846
45856
 
45847
- var formkitVersion$7 = '202606291652';
45857
+ var formkitVersion$7 = '202606291737';
45848
45858
 
45849
45859
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
45850
45860
  // See LICENSE in the project root for license information.
@@ -50699,7 +50709,7 @@ let AuroHelpText$1$2 = class AuroHelpText extends i$2 {
50699
50709
  }
50700
50710
  };
50701
50711
 
50702
- var formkitVersion$1$2 = '202606291652';
50712
+ var formkitVersion$1$2 = '202606291737';
50703
50713
 
50704
50714
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
50705
50715
  // See LICENSE in the project root for license information.
@@ -55027,7 +55037,7 @@ let AuroHelpText$6 = class AuroHelpText extends i$2 {
55027
55037
  }
55028
55038
  };
55029
55039
 
55030
- var formkitVersion$6 = '202606291652';
55040
+ var formkitVersion$6 = '202606291737';
55031
55041
 
55032
55042
  let AuroElement$1$2 = class AuroElement extends i$2 {
55033
55043
  static get properties() {
@@ -56299,6 +56309,7 @@ let AuroDropdown$2 = class AuroDropdown extends AuroElement$1$2 {
56299
56309
  role="${o$4(this.triggerContentFocusable ? undefined : this.a11yRole)}"
56300
56310
  aria-expanded="${o$4(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : this.isPopoverVisible)}"
56301
56311
  aria-controls="${o$4(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : this.dropdownId)}"
56312
+ aria-haspopup="${o$4(this.a11yRole === 'combobox' && !this.triggerContentFocusable ? 'listbox' : undefined)}"
56302
56313
  aria-labelledby="${o$4(this.triggerContentFocusable ? undefined : 'triggerLabel')}"
56303
56314
  aria-disabled="${o$4(this.disabled ? 'true' : undefined)}"
56304
56315
  @focusin="${this.handleFocusin}"
@@ -57431,6 +57442,13 @@ class AuroCounterGroup extends AuroElement$4 {
57431
57442
  */
57432
57443
  configureDropdownCounters() {
57433
57444
  this.dropdown = this.shadowRoot.querySelector(this.dropdownTag._$litStatic$);
57445
+
57446
+ // Counter rows are slotted into the bib through multiple shadow roots
57447
+ // (dropdown → bib → bibtemplate → counter-group → counter), so the floater's
57448
+ // `:focus-within` focus-loss check fails to match the dropdown host in Chromium
57449
+ // and the bib auto-closes immediately after opening. Mirrors auro-select.
57450
+ this.dropdown.noHideOnThisFocusLoss = true;
57451
+
57434
57452
  this.dropdown.requestUpdate();
57435
57453
 
57436
57454
  const counterWrapper = this.shadowRoot.querySelector('auro-counter-wrapper');
@@ -58967,7 +58985,7 @@ let AuroHelpText$5 = class AuroHelpText extends i$2 {
58967
58985
  }
58968
58986
  };
58969
58987
 
58970
- var formkitVersion$5 = '202606291652';
58988
+ var formkitVersion$5 = '202606291737';
58971
58989
 
58972
58990
  // Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
58973
58991
  // See LICENSE in the project root for license information.
@@ -60717,7 +60735,7 @@ let AuroHelpText$4 = class AuroHelpText extends i$2 {
60717
60735
  }
60718
60736
  };
60719
60737
 
60720
- var formkitVersion$4 = '202606291652';
60738
+ var formkitVersion$4 = '202606291737';
60721
60739
 
60722
60740
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
60723
60741
  // See LICENSE in the project root for license information.
@@ -65932,7 +65950,7 @@ let AuroHelpText$2 = class AuroHelpText extends i$2 {
65932
65950
  }
65933
65951
  };
65934
65952
 
65935
- var formkitVersion$2 = '202606291652';
65953
+ var formkitVersion$2 = '202606291737';
65936
65954
 
65937
65955
  let AuroElement$2$1 = class AuroElement extends i$2 {
65938
65956
  static get properties() {
@@ -67204,6 +67222,7 @@ let AuroDropdown$1 = class AuroDropdown extends AuroElement$2$1 {
67204
67222
  role="${o$4(this.triggerContentFocusable ? undefined : this.a11yRole)}"
67205
67223
  aria-expanded="${o$4(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : this.isPopoverVisible)}"
67206
67224
  aria-controls="${o$4(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : this.dropdownId)}"
67225
+ aria-haspopup="${o$4(this.a11yRole === 'combobox' && !this.triggerContentFocusable ? 'listbox' : undefined)}"
67207
67226
  aria-labelledby="${o$4(this.triggerContentFocusable ? undefined : 'triggerLabel')}"
67208
67227
  aria-disabled="${o$4(this.disabled ? 'true' : undefined)}"
67209
67228
  @focusin="${this.handleFocusin}"
@@ -79525,7 +79544,7 @@ let AuroHelpText$1$1 = class AuroHelpText extends i$2 {
79525
79544
  }
79526
79545
  };
79527
79546
 
79528
- var formkitVersion$1$1 = '202606291652';
79547
+ var formkitVersion$1$1 = '202606291737';
79529
79548
 
79530
79549
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
79531
79550
  // See LICENSE in the project root for license information.
@@ -80646,7 +80665,7 @@ let AuroBibtemplate$1 = class AuroBibtemplate extends i$2 {
80646
80665
  }
80647
80666
  };
80648
80667
 
80649
- var formkitVersion$3 = '202606291652';
80668
+ var formkitVersion$3 = '202606291737';
80650
80669
 
80651
80670
  var styleCss$1$3 = i$4`.util_displayInline{display:inline}.util_displayInlineBlock{display:inline-block}.util_displayBlock{display:block}.util_displayFlex{display:flex}.util_displayHidden{display:none}.util_displayHiddenVisually{position:absolute;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);width:1px;height:1px;padding:0;border:0}:host{display:block;text-align:left}:host [auro-dropdown]{--ds-auro-dropdown-trigger-background-color: transparent}:host #inputInBib::part(wrapper){box-shadow:none}:host #inputInBib::part(accent-left){display:none}:host([layout*=classic]) [auro-input]{width:100%}:host([layout*=classic]) [auro-input]::part(helpText){display:none}:host([layout*=classic]) #slotHolder{display:none}`;
80652
80671
 
@@ -85459,19 +85478,28 @@ const selectKeyboardStrategy = {
85459
85478
  },
85460
85479
 
85461
85480
  End(component, evt, ctx) {
85462
- if (!ctx.isExpanded) {
85463
- return;
85464
- }
85465
85481
  evt.preventDefault();
85466
85482
  evt.stopPropagation();
85467
85483
  // `pop()` is safe here: getEnabledOptions returns a fresh filtered array.
85468
85484
  const lastOption = getEnabledOptions(component.menu).pop();
85469
- if (lastOption) {
85470
- component.menu.updateActiveOption(lastOption);
85485
+ if (!lastOption) {
85486
+ return;
85487
+ }
85488
+ // Pre-stash before show() so the auroDropdown-toggled handler's
85489
+ // `!optionActive` guard short-circuits the firstActive/selected fallback —
85490
+ // otherwise show() synchronously fires the handler and writes
85491
+ // aria-activedescendant once before we overwrite it.
85492
+ component.menu.updateActiveOption(lastOption);
85493
+ if (!ctx.isExpanded) {
85494
+ component.dropdown.show();
85471
85495
  }
85472
85496
  },
85473
85497
 
85474
85498
  Enter(component, evt, ctx) {
85499
+ // Prevent the keypress from bubbling to parent containers (e.g., forms)
85500
+ // which could interpret Enter as a submit. Matches APG select-only combobox
85501
+ // and native <select> behavior: Enter opens the listbox when closed, selects
85502
+ // the active option when open — it does not submit a parent form.
85475
85503
  evt.preventDefault();
85476
85504
  evt.stopPropagation();
85477
85505
  if (!ctx.isExpanded) {
@@ -85482,14 +85510,16 @@ const selectKeyboardStrategy = {
85482
85510
  },
85483
85511
 
85484
85512
  Home(component, evt, ctx) {
85485
- if (!ctx.isExpanded) {
85486
- return;
85487
- }
85488
85513
  evt.preventDefault();
85489
85514
  evt.stopPropagation();
85490
85515
  const [firstOption] = getEnabledOptions(component.menu);
85491
- if (firstOption) {
85492
- component.menu.updateActiveOption(firstOption);
85516
+ if (!firstOption) {
85517
+ return;
85518
+ }
85519
+ // See End() for why this must run before show().
85520
+ component.menu.updateActiveOption(firstOption);
85521
+ if (!ctx.isExpanded) {
85522
+ component.dropdown.show();
85493
85523
  }
85494
85524
  },
85495
85525
 
@@ -89437,7 +89467,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$2 {
89437
89467
  }
89438
89468
  };
89439
89469
 
89440
- var formkitVersion$1 = '202606291652';
89470
+ var formkitVersion$1 = '202606291737';
89441
89471
 
89442
89472
  class AuroElement extends i$2 {
89443
89473
  static get properties() {
@@ -90709,6 +90739,7 @@ class AuroDropdown extends AuroElement {
90709
90739
  role="${o$4(this.triggerContentFocusable ? undefined : this.a11yRole)}"
90710
90740
  aria-expanded="${o$4(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : this.isPopoverVisible)}"
90711
90741
  aria-controls="${o$4(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : this.dropdownId)}"
90742
+ aria-haspopup="${o$4(this.a11yRole === 'combobox' && !this.triggerContentFocusable ? 'listbox' : undefined)}"
90712
90743
  aria-labelledby="${o$4(this.triggerContentFocusable ? undefined : 'triggerLabel')}"
90713
90744
  aria-disabled="${o$4(this.disabled ? 'true' : undefined)}"
90714
90745
  @focusin="${this.handleFocusin}"
@@ -91458,7 +91489,7 @@ class AuroHelpText extends i$2 {
91458
91489
  }
91459
91490
  }
91460
91491
 
91461
- var formkitVersion = '202606291652';
91492
+ var formkitVersion = '202606291737';
91462
91493
 
91463
91494
  var styleCss = i$4`.util_displayInline{display:inline}.util_displayInlineBlock{display:inline-block}.util_displayBlock{display:block}.util_displayFlex{display:flex}.util_displayHidden{display:none}.util_displayHiddenVisually{position:absolute;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);width:1px;height:1px;padding:0;border:0}.body-default{font-size:var(--wcss-body-default-font-size, 1rem);font-weight:var(--wcss-body-default-weight, );line-height:var(--wcss-body-default-line-height, 1.5rem)}.body-default,.body-default-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-default-emphasized{font-size:var(--wcss-body-default-emphasized-font-size, 1rem);font-weight:var(--wcss-body-default-emphasized-weight, );line-height:var(--wcss-body-default-emphasized-line-height, 1.5rem)}.body-lg{font-size:var(--wcss-body-lg-font-size, 1.125rem);font-weight:var(--wcss-body-lg-weight, );line-height:var(--wcss-body-lg-line-height, 1.625rem)}.body-lg,.body-lg-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-lg-emphasized{font-size:var(--wcss-body-lg-emphasized-font-size, 1.125rem);font-weight:var(--wcss-body-lg-emphasized-weight, );line-height:var(--wcss-body-lg-emphasized-line-height, 1.625rem)}.body-sm{font-size:var(--wcss-body-sm-font-size, 0.875rem);font-weight:var(--wcss-body-sm-weight, );line-height:var(--wcss-body-sm-line-height, 1.25rem)}.body-sm,.body-sm-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-sm-emphasized{font-size:var(--wcss-body-sm-emphasized-font-size, 0.875rem);font-weight:var(--wcss-body-sm-emphasized-weight, );line-height:var(--wcss-body-sm-emphasized-line-height, 1.25rem)}.body-xs{font-size:var(--wcss-body-xs-font-size, 0.75rem);font-weight:var(--wcss-body-xs-weight, );line-height:var(--wcss-body-xs-line-height, 1rem)}.body-xs,.body-xs-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-xs-emphasized{font-size:var(--wcss-body-xs-emphasized-font-size, 0.75rem);font-weight:var(--wcss-body-xs-emphasized-weight, );line-height:var(--wcss-body-xs-emphasized-line-height, 1rem)}.body-2xs{font-size:var(--wcss-body-2xs-font-size, 0.625rem);font-weight:var(--wcss-body-2xs-weight, );line-height:var(--wcss-body-2xs-line-height, 0.875rem)}.body-2xs,.body-2xs-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-2xs-emphasized{font-size:var(--wcss-body-2xs-emphasized-font-size, 0.625rem);font-weight:var(--wcss-body-2xs-emphasized-weight, );line-height:var(--wcss-body-2xs-emphasized-line-height, 0.875rem)}.display-2xl{font-family:var(--wcss-display-2xl-family, "AS Circular"),var(--wcss-display-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-2xl-font-size, clamp(3.5rem, 6vw, 5.375rem));font-weight:var(--wcss-display-2xl-weight, 300);letter-spacing:var(--wcss-display-2xl-letter-spacing, 0);line-height:var(--wcss-display-2xl-line-height, 1.3)}.display-xl{font-family:var(--wcss-display-xl-family, "AS Circular"),var(--wcss-display-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-xl-font-size, clamp(3rem, 5.3333333333vw, 4.5rem));font-weight:var(--wcss-display-xl-weight, 300);letter-spacing:var(--wcss-display-xl-letter-spacing, 0);line-height:var(--wcss-display-xl-line-height, 1.3)}.display-lg{font-family:var(--wcss-display-lg-family, "AS Circular"),var(--wcss-display-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-lg-font-size, clamp(2.75rem, 4.6666666667vw, 4rem));font-weight:var(--wcss-display-lg-weight, 300);letter-spacing:var(--wcss-display-lg-letter-spacing, 0);line-height:var(--wcss-display-lg-line-height, 1.3)}.display-md{font-family:var(--wcss-display-md-family, "AS Circular"),var(--wcss-display-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-md-font-size, clamp(2.5rem, 4vw, 3.5rem));font-weight:var(--wcss-display-md-weight, 300);letter-spacing:var(--wcss-display-md-letter-spacing, 0);line-height:var(--wcss-display-md-line-height, 1.3)}.display-sm{font-family:var(--wcss-display-sm-family, "AS Circular"),var(--wcss-display-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-sm-font-size, clamp(2rem, 3.6666666667vw, 3rem));font-weight:var(--wcss-display-sm-weight, 300);letter-spacing:var(--wcss-display-sm-letter-spacing, 0);line-height:var(--wcss-display-sm-line-height, 1.3)}.display-xs{font-family:var(--wcss-display-xs-family, "AS Circular"),var(--wcss-display-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-xs-font-size, clamp(1.75rem, 3vw, 2.375rem));font-weight:var(--wcss-display-xs-weight, 300);letter-spacing:var(--wcss-display-xs-letter-spacing, 0);line-height:var(--wcss-display-xs-line-height, 1.3)}.heading-xl{font-family:var(--wcss-heading-xl-family, "AS Circular"),var(--wcss-heading-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-xl-font-size, clamp(2rem, 3vw, 2.5rem));font-weight:var(--wcss-heading-xl-weight, 300);letter-spacing:var(--wcss-heading-xl-letter-spacing, 0);line-height:var(--wcss-heading-xl-line-height, 1.3)}.heading-lg{font-family:var(--wcss-heading-lg-family, "AS Circular"),var(--wcss-heading-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-lg-font-size, clamp(1.75rem, 2.6666666667vw, 2.25rem));font-weight:var(--wcss-heading-lg-weight, 300);letter-spacing:var(--wcss-heading-lg-letter-spacing, 0);line-height:var(--wcss-heading-lg-line-height, 1.3)}.heading-md{font-family:var(--wcss-heading-md-family, "AS Circular"),var(--wcss-heading-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-md-font-size, clamp(1.625rem, 2.3333333333vw, 1.75rem));font-weight:var(--wcss-heading-md-weight, 300);letter-spacing:var(--wcss-heading-md-letter-spacing, 0);line-height:var(--wcss-heading-md-line-height, 1.3)}.heading-sm{font-family:var(--wcss-heading-sm-family, "AS Circular"),var(--wcss-heading-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-sm-font-size, clamp(1.375rem, 2vw, 1.5rem));font-weight:var(--wcss-heading-sm-weight, 300);letter-spacing:var(--wcss-heading-sm-letter-spacing, 0);line-height:var(--wcss-heading-sm-line-height, 1.3)}.heading-xs{font-family:var(--wcss-heading-xs-family, "AS Circular"),var(--wcss-heading-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-xs-font-size, clamp(1.25rem, 1.6666666667vw, 1.25rem));font-weight:var(--wcss-heading-xs-weight, 300);letter-spacing:var(--wcss-heading-xs-letter-spacing, 0);line-height:var(--wcss-heading-xs-line-height, 1.3)}.heading-2xs{font-family:var(--wcss-heading-2xs-family, "AS Circular"),var(--wcss-heading-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-2xs-font-size, clamp(1.125rem, 1.5vw, 1.125rem));font-weight:var(--wcss-heading-2xs-weight, 300);letter-spacing:var(--wcss-heading-2xs-letter-spacing, 0);line-height:var(--wcss-heading-2xs-line-height, 1.3)}.accent-2xl{font-family:var(--wcss-accent-2xl-family, "Good OT"),var(--wcss-accent-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-2xl-font-size, clamp(2rem, 3.1666666667vw, 2.375rem));font-weight:var(--wcss-accent-2xl-weight, 450);letter-spacing:var(--wcss-accent-2xl-letter-spacing, 0.05em);line-height:var(--wcss-accent-2xl-line-height, 1)}.accent-2xl,.accent-xl{text-transform:uppercase}.accent-xl{font-family:var(--wcss-accent-xl-family, "Good OT"),var(--wcss-accent-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-xl-font-size, clamp(1.625rem, 2.3333333333vw, 2rem));font-weight:var(--wcss-accent-xl-weight, 450);letter-spacing:var(--wcss-accent-xl-letter-spacing, 0.05em);line-height:var(--wcss-accent-xl-line-height, 1.3)}.accent-lg{font-family:var(--wcss-accent-lg-family, "Good OT"),var(--wcss-accent-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-lg-font-size, clamp(1.5rem, 2.1666666667vw, 1.75rem));font-weight:var(--wcss-accent-lg-weight, 450);letter-spacing:var(--wcss-accent-lg-letter-spacing, 0.05em);line-height:var(--wcss-accent-lg-line-height, 1.3)}.accent-lg,.accent-md{text-transform:uppercase}.accent-md{font-family:var(--wcss-accent-md-family, "Good OT"),var(--wcss-accent-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-md-font-size, clamp(1.375rem, 1.8333333333vw, 1.5rem));font-weight:var(--wcss-accent-md-weight, 500);letter-spacing:var(--wcss-accent-md-letter-spacing, 0.05em);line-height:var(--wcss-accent-md-line-height, 1.3)}.accent-sm{font-family:var(--wcss-accent-sm-family, "Good OT"),var(--wcss-accent-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-sm-font-size, clamp(1.125rem, 1.5vw, 1.25rem));font-weight:var(--wcss-accent-sm-weight, 500);letter-spacing:var(--wcss-accent-sm-letter-spacing, 0.05em);line-height:var(--wcss-accent-sm-line-height, 1.3)}.accent-sm,.accent-xs{text-transform:uppercase}.accent-xs{font-family:var(--wcss-accent-xs-family, "Good OT"),var(--wcss-accent-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-xs-font-size, clamp(1rem, 1.3333333333vw, 1rem));font-weight:var(--wcss-accent-xs-weight, 500);letter-spacing:var(--wcss-accent-xs-letter-spacing, 0.1em);line-height:var(--wcss-accent-xs-line-height, 1.3)}.accent-2xs{font-family:var(--wcss-accent-2xs-family, "Good OT"),var(--wcss-accent-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-2xs-font-size, clamp(0.875rem, 1.1666666667vw, 0.875rem));font-weight:var(--wcss-accent-2xs-weight, 450);letter-spacing:var(--wcss-accent-2xs-letter-spacing, 0.1em);line-height:var(--wcss-accent-2xs-line-height, 1.3);text-transform:uppercase}[auro-dropdown]{--ds-auro-dropdown-trigger-border-color: var(--ds-auro-select-border-color);--ds-auro-dropdown-trigger-background-color: var(--ds-auro-select-background-color);--ds-auro-dropdown-trigger-container-color: var(--ds-auro-select-background-color);--ds-auro-dropdown-trigger-outline-color: var(--ds-auro-select-outline-color)}:host{display:inline-block;text-align:left;vertical-align:top}:host([layout*=emphasized]) [auro-dropdown],:host([layout*=snowflake]) [auro-dropdown]{--ds-auro-select-border-color: transparent}:host([layout*=emphasized]) .mainContent,:host([layout*=snowflake]) .mainContent{text-align:center}.mainContent{position:relative;display:flex;overflow:hidden;flex:1;flex-direction:column;align-items:center;justify-content:center}.valueContainer [slot=displayValue]{display:none}.accents{display:flex;flex-direction:row;align-items:center;justify-content:center}::slotted([slot=typeIcon]){margin-right:var(--ds-size-100, 0.5rem)}.displayValue{display:block}.displayValue:not(.force){display:none}.displayValue:not(.force).hasContent:is(.withValue):not(.hasFocus){display:block}.triggerContent{display:flex;width:100%;align-items:center;justify-content:center}:host([layout*=emphasized]) .triggerContent{padding:0 var(--ds-size-100, 0.5rem) 0 var(--ds-size-300, 1.5rem)}:host([layout*=snowflake]) .triggerContent{padding:0 var(--ds-size-100, 0.5rem) 0 var(--ds-size-200, 1rem)}:host([layout*=snowflake]) label{padding-block:var(--ds-size-25, 0.125rem)}:host([layout*=classic]) .triggerContent{padding:0 var(--ds-size-100, 0.5rem)}:host([layout*=classic]) .mainContent{align-items:start}:host([layout*=classic]) label{overflow:hidden;cursor:text;text-overflow:ellipsis;white-space:nowrap}:host([layout*=classic]) .value{height:auto}label{color:var(--ds-auro-select-label-text-color)}:host(:is([validity]:not([validity=valid]))) [auro-dropdown]{--ds-auro-select-border-color: var(--ds-basic-color-status-error, #e31f26);--ds-auro-select-outline-color: var(--ds-basic-color-status-error, #e31f26);--ds-auro-dropdown-helptext-text-color: var(--ds-basic-color-texticon-default, #2a2a2a)}:host([ondark]:is([validity]:not([validity=valid]))) [auro-dropdown],:host([appearance=inverse]:is([validity]:not([validity=valid]))) [auro-dropdown]{--ds-auro-select-border-color: var(--ds-advanced-color-state-error-inverse, #f9a4a8);--ds-auro-select-outline-color: var(--ds-advanced-color-state-error-inverse, #f9a4a8);--ds-auro-dropdown-helptext-text-color: var(--ds-basic-color-texticon-inverse, #ffffff)}#slotHolder{display:none}:host([fluid]){width:100%}:host([disabled]){pointer-events:none;user-select:none}:host([disabled]:not([ondark])) [auro-dropdown],:host([disabled]:not([appearance=inverse])) [auro-dropdown]{--ds-auro-select-border-color: var(--ds-basic-color-border-subtle, #dddddd)}:host(:not([layout*=classic])[disabled][ondark]) [auro-dropdown],:host(:not([layout*=classic])[disabled][appearance=inverse]) [auro-dropdown]{--ds-auro-select-border-color: transparent}`;
91464
91495
 
@@ -91790,14 +91821,6 @@ class AuroSelect extends AuroElement$1 {
91790
91821
  reflect: true
91791
91822
  },
91792
91823
 
91793
- /**
91794
- * @private
91795
- */
91796
- options: {
91797
- type: Array,
91798
- state: true
91799
- },
91800
-
91801
91824
  /**
91802
91825
  * Specifies the current selected menuOption. Default type is `HTMLElement`, changing to `Array<HTMLElement>` when `multiSelect` is true.
91803
91826
  * @type {HTMLElement|Array<HTMLElement>}
@@ -92085,16 +92108,68 @@ class AuroSelect extends AuroElement$1 {
92085
92108
  this.dropdown.dropdownWidth = this.customBibWidth;
92086
92109
  }
92087
92110
 
92088
- // Pass label text to the dropdown bib for accessible dialog naming
92089
- const labelElement = this.querySelector('span[slot="label"]');
92090
- if (labelElement) {
92091
- this.dropdown.bibDialogLabel = labelElement.textContent.trim() || undefined;
92092
- }
92111
+ this._syncLabelText();
92093
92112
 
92094
92113
  // Exposes the CSS parts from the dropdown for styling
92095
92114
  this.dropdown.exposeCssParts();
92096
92115
  }
92097
92116
 
92117
+ /**
92118
+ * Reads the current label slot text and pushes it to the dropdown bib
92119
+ * (for dialog naming) and the menu (for listbox aria-label). Safe to call
92120
+ * before either child has been wired up — each branch self-guards.
92121
+ * @private
92122
+ */
92123
+ _syncLabelText() {
92124
+ const labelElement = this.querySelector('[slot="label"]');
92125
+ const text = labelElement ? labelElement.textContent.trim() : '';
92126
+ if (this.dropdown) {
92127
+ this.dropdown.bibDialogLabel = text || undefined;
92128
+ }
92129
+ if (this.menu) {
92130
+ if (text) {
92131
+ this.menu.setAttribute('aria-label', text);
92132
+ } else {
92133
+ this.menu.removeAttribute('aria-label');
92134
+ }
92135
+ }
92136
+ }
92137
+
92138
+ /**
92139
+ * Keeps the dialog/menu accessible names in sync when consumers mutate the
92140
+ * label slot at runtime (e.g., i18n locale swap). `slotchange` alone is
92141
+ * insufficient — it doesn't fire when textContent of an already-assigned
92142
+ * slotted node changes, which is the common case. We scope the observer to
92143
+ * the label node itself (not the whole host subtree) so option-content
92144
+ * mutations don't trigger label re-syncs, and re-target on `slotchange`
92145
+ * when consumers add or replace the label element.
92146
+ * @private
92147
+ */
92148
+ _observeLabelChanges() {
92149
+ if (this._labelObserver) return;
92150
+ this._labelObserver = new MutationObserver(() => this._syncLabelText());
92151
+
92152
+ const retarget = () => {
92153
+ this._labelObserver.disconnect();
92154
+ const labelElement = this.querySelector('[slot="label"]');
92155
+ if (labelElement) {
92156
+ this._labelObserver.observe(labelElement, {
92157
+ childList: true,
92158
+ subtree: true,
92159
+ characterData: true
92160
+ });
92161
+ }
92162
+ this._syncLabelText();
92163
+ };
92164
+
92165
+ retarget();
92166
+
92167
+ this._retargetLabelObserver = retarget;
92168
+ this.shadowRoot.querySelectorAll('slot[name="label"]').forEach((slot) => {
92169
+ slot.addEventListener('slotchange', retarget);
92170
+ });
92171
+ }
92172
+
92098
92173
  /**
92099
92174
  * This will register this element with the browser.
92100
92175
  * @param {string} [name="auro-select"] - The name of element that you want to register to.
@@ -92245,11 +92320,7 @@ class AuroSelect extends AuroElement$1 {
92245
92320
  this.updateMenuShapeSize();
92246
92321
  this.setMenuValue(this.value);
92247
92322
 
92248
- // Set accessible name on the menu for screen readers based on the label slot content
92249
- const labelElement = this.querySelector('[slot="label"]');
92250
- if (labelElement) {
92251
- this.menu.setAttribute('aria-label', labelElement.textContent.trim());
92252
- }
92323
+ this._syncLabelText();
92253
92324
 
92254
92325
  if (this.multiSelect) {
92255
92326
  this.menu.multiSelect = this.multiSelect;
@@ -92261,8 +92332,21 @@ class AuroSelect extends AuroElement$1 {
92261
92332
  if (typeof this.menu.initItems === 'function') {
92262
92333
  this.menu.initItems();
92263
92334
  }
92264
- this.options = this.menu.options;
92265
92335
  this.updateOptionPositions();
92336
+ // renderNativeSelect reads this.menu.options, which the parent doesn't
92337
+ // observe — request an update so the hidden native <option> list reflects
92338
+ // the menu's options after initItems populates them.
92339
+ this.requestUpdate();
92340
+
92341
+ // Keep aria-setsize/aria-posinset (and the native <option> list) in sync
92342
+ // when the menu re-initializes its items — e.g., slotchange, async/lazy
92343
+ // loads, value-triggered re-init. Without this, stale set-size is
92344
+ // announced and the native select goes stale after dynamic mutations.
92345
+ this.menu.addEventListener('auroMenu-optionsChange', () => {
92346
+ this.updateOptionPositions();
92347
+ this.requestUpdate();
92348
+ });
92349
+
92266
92350
  this.menu.addEventListener("auroMenu-loadingChange", (event) => this.handleMenuLoadingChange(event));
92267
92351
 
92268
92352
  this.menu.addEventListener("auroMenu-selectValueFailure", () => {
@@ -92281,11 +92365,26 @@ class AuroSelect extends AuroElement$1 {
92281
92365
  this.dropdown.setActiveDescendant(this.optionActive);
92282
92366
  }
92283
92367
 
92284
- // Announce the active option for screen readers
92285
- if (this.optionActive) {
92368
+ // Live-region announce only for [not selected] options. For activations
92369
+ // on an already-selected option — auto-activation on bib open, arrow
92370
+ // navigation back to the selection, or click in multiSelect — rely on
92371
+ // aria-activedescendant + aria-selected="true" to convey state per the
92372
+ // WAI-ARIA listbox pattern. This is intentional, not limited to the
92373
+ // initial activation on open: it also prevents a duplicate "X, selected"
92374
+ // when Enter on the active+selected option re-fires
92375
+ // auroMenu-selectedOption (see 03b289e39).
92376
+ if (this.optionActive && !this.optionActive.hasAttribute('selected')) {
92286
92377
  const optionText = this.optionActive.textContent.trim();
92287
- const selectedState = this.optionActive.hasAttribute('selected') ? ', selected' : ', not selected';
92288
- announceToScreenReader(this._getAnnouncementRoot(), `${optionText}${selectedState}`);
92378
+ const message = `${optionText}, not selected`;
92379
+ if (this.dropdown.isPopoverVisible) {
92380
+ announceToScreenReader(this._getAnnouncementRoot(), message);
92381
+ } else {
92382
+ // Typeahead-on-closed fires this event before `show()` flips
92383
+ // isPopoverVisible. Defer so the announcement targets the bib's
92384
+ // live region once the fullscreen <dialog> opens — otherwise it
92385
+ // lands in the host root, which is inert under the active modal.
92386
+ queueMicrotask(() => announceToScreenReader(this._getAnnouncementRoot(), message));
92387
+ }
92289
92388
  }
92290
92389
 
92291
92390
  if (this.dropdown.isPopoverVisible) {
@@ -92294,6 +92393,7 @@ class AuroSelect extends AuroElement$1 {
92294
92393
  });
92295
92394
 
92296
92395
  this.menu.addEventListener('auroMenu-selectedOption', () => {
92396
+ const previousSelected = this.optionSelected;
92297
92397
 
92298
92398
  // Update the displayed value
92299
92399
  this.updateDisplayedValue();
@@ -92313,13 +92413,32 @@ class AuroSelect extends AuroElement$1 {
92313
92413
  this.dropdown.trigger.focus();
92314
92414
  }
92315
92415
 
92316
- // Announce the selection after the dropdown closes so it isn't
92317
- // overridden by VoiceOver's "collapsed" announcement from aria-expanded.
92318
- const selectedValue = this.menu.currentLabel;
92319
- const announcementDelay = 300;
92320
- setTimeout(() => {
92321
- announceToScreenReader(this._getAnnouncementRoot(), `${selectedValue}, selected`);
92322
- }, announcementDelay);
92416
+ // Describe the actual change. In multiSelect, currentLabel is the
92417
+ // concatenated remaining list — announcing "{list}, selected" after a
92418
+ // deselect would falsely claim every remaining label was just added.
92419
+ // Diff previous vs next to recover the toggled option.
92420
+ let announcement = '';
92421
+ if (this.multiSelect) {
92422
+ const prev = Array.isArray(previousSelected) ? previousSelected : [];
92423
+ const removed = prev.find((opt) => !nextSelected.includes(opt));
92424
+ const added = nextSelected.find((opt) => !prev.includes(opt));
92425
+ if (removed) {
92426
+ announcement = `${removed.textContent.trim()}, not selected`;
92427
+ } else if (added) {
92428
+ announcement = `${added.textContent.trim()}, selected`;
92429
+ }
92430
+ } else {
92431
+ announcement = `${this.menu.currentLabel}, selected`;
92432
+ }
92433
+
92434
+ // Delay so the utterance isn't overridden by VoiceOver's "collapsed"
92435
+ // announcement from aria-expanded when the dropdown closes.
92436
+ if (announcement) {
92437
+ const announcementDelay = 300;
92438
+ setTimeout(() => {
92439
+ announceToScreenReader(this._getAnnouncementRoot(), announcement);
92440
+ }, announcementDelay);
92441
+ }
92323
92442
  });
92324
92443
  }
92325
92444
 
@@ -92417,24 +92536,32 @@ class AuroSelect extends AuroElement$1 {
92417
92536
 
92418
92537
  this.typeaheadBuffer += key;
92419
92538
 
92420
- const isRepeatedChar = this.typeaheadBuffer.length > 1 && new Set(this.typeaheadBuffer).size === 1;
92539
+ // Prefer the literal buffer as a prefix per WAI-ARIA APG ("focus moves to the
92540
+ // next item with a name that starts with the string of characters typed").
92541
+ // Only fall back to single-char cycling when the repeated buffer has no
92542
+ // longer prefix match — e.g. "aa" cycles through ["Apple", "Apricot"] only
92543
+ // because no option starts with "aa".
92544
+ let match = options.find((option) => this._getOptionDisplayText(option).startsWith(this.typeaheadBuffer));
92421
92545
 
92422
- let match = null;
92546
+ const isRepeatedChar = !match && this.typeaheadBuffer.length > 1 && new Set(this.typeaheadBuffer).size === 1;
92423
92547
  if (isRepeatedChar) {
92424
92548
  const matches = options.filter((option) => this._getOptionDisplayText(option).startsWith(key));
92425
92549
  if (matches.length) {
92426
92550
  const cycleIndex = (this.typeaheadBuffer.length - 1) % matches.length;
92427
92551
  match = matches[cycleIndex];
92428
92552
  }
92429
- } else {
92430
- match = options.find((option) => this._getOptionDisplayText(option).startsWith(this.typeaheadBuffer));
92431
92553
  }
92432
92554
 
92555
+ // Intentional: no-match leaves the bib closed (deviates from APG / some native <select>).
92433
92556
  if (match) {
92557
+ // Pre-stash the match so the auroDropdown-toggled handler's `!optionActive`
92558
+ // guard short-circuits and skips the firstActive/selected fallback —
92559
+ // otherwise show() synchronously fires the handler, which writes
92560
+ // aria-activedescendant once before we overwrite it.
92561
+ this.menu.updateActiveOption(match);
92434
92562
  if (!this.dropdown.isPopoverVisible) {
92435
92563
  this.dropdown.show();
92436
92564
  }
92437
- this.menu.updateActiveOption(match);
92438
92565
  }
92439
92566
  }
92440
92567
 
@@ -92551,6 +92678,28 @@ class AuroSelect extends AuroElement$1 {
92551
92678
  disconnectedCallback() {
92552
92679
  super.disconnectedCallback();
92553
92680
  this._clearTypeaheadBuffer();
92681
+ if (this._labelObserver) {
92682
+ this._labelObserver.disconnect();
92683
+ this._labelObserver = null;
92684
+ }
92685
+ if (this._retargetLabelObserver && this.shadowRoot) {
92686
+ this.shadowRoot.querySelectorAll('slot[name="label"]').forEach((slot) => {
92687
+ slot.removeEventListener('slotchange', this._retargetLabelObserver);
92688
+ });
92689
+ this._retargetLabelObserver = null;
92690
+ }
92691
+ }
92692
+
92693
+ connectedCallback() {
92694
+ super.connectedCallback();
92695
+ // Regression guard: firstUpdated() fires once per instance, so the label
92696
+ // observer setup it triggers does NOT re-run on reconnect. After a
92697
+ // disconnect+reconnect (reparent, SPA route swap), runtime label mutations
92698
+ // would silently stop syncing menu aria-label / dropdown.bibDialogLabel
92699
+ // unless we re-wire the observer here.
92700
+ if (this.hasUpdated) {
92701
+ this._observeLabelChanges();
92702
+ }
92554
92703
  }
92555
92704
 
92556
92705
  // lifecycle runs only after the element's DOM has been updated the first time
@@ -92561,6 +92710,7 @@ class AuroSelect extends AuroElement$1 {
92561
92710
  this.configureDropdown();
92562
92711
  this.configureMenu();
92563
92712
  this.configureSelect();
92713
+ this._observeLabelChanges();
92564
92714
  }
92565
92715
 
92566
92716
  setMenuValue(value) {
@@ -92693,25 +92843,18 @@ class AuroSelect extends AuroElement$1 {
92693
92843
  * @private
92694
92844
  */
92695
92845
  _handleNativeSelectChange(event) {
92846
+ // Hidden native <select> has no `multiple` attribute, so any change it fires
92847
+ // is a single raw value — applying it in multiSelect mode would collapse the
92848
+ // JSON-array `value` shape. Bfcache/autofill can reach this on a name-bearing
92849
+ // form control even with aria-hidden/tabindex=-1.
92850
+ if (this.multiSelect) return;
92851
+
92696
92852
  const selectedOption = event.target.options[event.target.selectedIndex];
92697
92853
  if (!selectedOption) return;
92698
92854
  const selectedValue = selectedOption.value;
92699
92855
 
92700
- if (this.multiSelect) {
92701
- const currentArray = this.menu.value || [];
92702
-
92703
- if (!currentArray.includes(selectedValue)) {
92704
- this.value = JSON.stringify([
92705
- ...currentArray,
92706
- selectedValue
92707
- ]);
92708
- }
92709
- } else {
92710
- const currentValue = this.value;
92711
-
92712
- if (currentValue !== selectedValue) {
92713
- this.value = selectedValue;
92714
- }
92856
+ if (this.value !== selectedValue) {
92857
+ this.value = selectedValue;
92715
92858
  }
92716
92859
  }
92717
92860
 
@@ -12260,7 +12260,7 @@ class AuroHelpText extends i$3 {
12260
12260
  }
12261
12261
  }
12262
12262
 
12263
- var formkitVersion = '202606291652';
12263
+ var formkitVersion = '202606291737';
12264
12264
 
12265
12265
  /**
12266
12266
  * @license
@@ -12260,7 +12260,7 @@ class AuroHelpText extends i$3 {
12260
12260
  }
12261
12261
  }
12262
12262
 
12263
- var formkitVersion = '202606291652';
12263
+ var formkitVersion = '202606291737';
12264
12264
 
12265
12265
  /**
12266
12266
  * @license
@@ -12260,7 +12260,7 @@ class AuroHelpText extends i$3 {
12260
12260
  }
12261
12261
  }
12262
12262
 
12263
- var formkitVersion = '202606291652';
12263
+ var formkitVersion = '202606291737';
12264
12264
 
12265
12265
  /**
12266
12266
  * @license