@aurodesignsystem-dev/auro-formkit 0.0.0-pr1514.3 → 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 +8 -5
  16. package/components/datepicker/demo/index.min.js +8 -5
  17. package/components/datepicker/dist/auro-calendar.d.ts +4 -2
  18. package/components/datepicker/dist/index.js +8 -5
  19. package/components/datepicker/dist/registered.js +8 -5
  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 +211 -75
  26. package/components/form/demo/getting-started.min.js +211 -75
  27. package/components/form/demo/index.min.js +211 -75
  28. package/components/form/demo/registerDemoDeps.min.js +211 -75
  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 = '202606291727';
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 = '202606291727';
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;
@@ -33299,7 +33301,7 @@ let AuroHelpText$2$1 = class AuroHelpText extends i$3 {
33299
33301
  }
33300
33302
  };
33301
33303
 
33302
- var formkitVersion$1$3 = '202606291727';
33304
+ var formkitVersion$1$3 = '202606291737';
33303
33305
 
33304
33306
  let AuroElement$2$2 = class AuroElement extends i$3 {
33305
33307
  static get properties() {
@@ -34571,6 +34573,7 @@ let AuroDropdown$3 = class AuroDropdown extends AuroElement$2$2 {
34571
34573
  role="${o$4(this.triggerContentFocusable ? undefined : this.a11yRole)}"
34572
34574
  aria-expanded="${o$4(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : this.isPopoverVisible)}"
34573
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)}"
34574
34577
  aria-labelledby="${o$4(this.triggerContentFocusable ? undefined : 'triggerLabel')}"
34575
34578
  aria-disabled="${o$4(this.disabled ? 'true' : undefined)}"
34576
34579
  @focusin="${this.handleFocusin}"
@@ -46892,7 +46895,7 @@ let AuroHelpText$1$3 = class AuroHelpText extends i$3 {
46892
46895
  }
46893
46896
  };
46894
46897
 
46895
- var formkitVersion$7 = '202606291727';
46898
+ var formkitVersion$7 = '202606291737';
46896
46899
 
46897
46900
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
46898
46901
  // See LICENSE in the project root for license information.
@@ -51747,7 +51750,7 @@ let AuroHelpText$1$2 = class AuroHelpText extends i$3 {
51747
51750
  }
51748
51751
  };
51749
51752
 
51750
- var formkitVersion$1$2 = '202606291727';
51753
+ var formkitVersion$1$2 = '202606291737';
51751
51754
 
51752
51755
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
51753
51756
  // See LICENSE in the project root for license information.
@@ -56075,7 +56078,7 @@ let AuroHelpText$6 = class AuroHelpText extends i$3 {
56075
56078
  }
56076
56079
  };
56077
56080
 
56078
- var formkitVersion$6 = '202606291727';
56081
+ var formkitVersion$6 = '202606291737';
56079
56082
 
56080
56083
  let AuroElement$1$2 = class AuroElement extends i$3 {
56081
56084
  static get properties() {
@@ -57347,6 +57350,7 @@ let AuroDropdown$2 = class AuroDropdown extends AuroElement$1$2 {
57347
57350
  role="${o$4(this.triggerContentFocusable ? undefined : this.a11yRole)}"
57348
57351
  aria-expanded="${o$4(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : this.isPopoverVisible)}"
57349
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)}"
57350
57354
  aria-labelledby="${o$4(this.triggerContentFocusable ? undefined : 'triggerLabel')}"
57351
57355
  aria-disabled="${o$4(this.disabled ? 'true' : undefined)}"
57352
57356
  @focusin="${this.handleFocusin}"
@@ -58479,6 +58483,13 @@ class AuroCounterGroup extends AuroElement$4 {
58479
58483
  */
58480
58484
  configureDropdownCounters() {
58481
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
+
58482
58493
  this.dropdown.requestUpdate();
58483
58494
 
58484
58495
  const counterWrapper = this.shadowRoot.querySelector('auro-counter-wrapper');
@@ -60015,7 +60026,7 @@ let AuroHelpText$5 = class AuroHelpText extends i$3 {
60015
60026
  }
60016
60027
  };
60017
60028
 
60018
- var formkitVersion$5 = '202606291727';
60029
+ var formkitVersion$5 = '202606291737';
60019
60030
 
60020
60031
  // Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
60021
60032
  // See LICENSE in the project root for license information.
@@ -61765,7 +61776,7 @@ let AuroHelpText$4 = class AuroHelpText extends i$3 {
61765
61776
  }
61766
61777
  };
61767
61778
 
61768
- var formkitVersion$4 = '202606291727';
61779
+ var formkitVersion$4 = '202606291737';
61769
61780
 
61770
61781
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
61771
61782
  // See LICENSE in the project root for license information.
@@ -66980,7 +66991,7 @@ let AuroHelpText$2 = class AuroHelpText extends i$3 {
66980
66991
  }
66981
66992
  };
66982
66993
 
66983
- var formkitVersion$2 = '202606291727';
66994
+ var formkitVersion$2 = '202606291737';
66984
66995
 
66985
66996
  let AuroElement$2$1 = class AuroElement extends i$3 {
66986
66997
  static get properties() {
@@ -68252,6 +68263,7 @@ let AuroDropdown$1 = class AuroDropdown extends AuroElement$2$1 {
68252
68263
  role="${o$4(this.triggerContentFocusable ? undefined : this.a11yRole)}"
68253
68264
  aria-expanded="${o$4(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : this.isPopoverVisible)}"
68254
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)}"
68255
68267
  aria-labelledby="${o$4(this.triggerContentFocusable ? undefined : 'triggerLabel')}"
68256
68268
  aria-disabled="${o$4(this.disabled ? 'true' : undefined)}"
68257
68269
  @focusin="${this.handleFocusin}"
@@ -80573,7 +80585,7 @@ let AuroHelpText$1$1 = class AuroHelpText extends i$3 {
80573
80585
  }
80574
80586
  };
80575
80587
 
80576
- var formkitVersion$1$1 = '202606291727';
80588
+ var formkitVersion$1$1 = '202606291737';
80577
80589
 
80578
80590
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
80579
80591
  // See LICENSE in the project root for license information.
@@ -81694,7 +81706,7 @@ let AuroBibtemplate$1 = class AuroBibtemplate extends i$3 {
81694
81706
  }
81695
81707
  };
81696
81708
 
81697
- var formkitVersion$3 = '202606291727';
81709
+ var formkitVersion$3 = '202606291737';
81698
81710
 
81699
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}`;
81700
81712
 
@@ -86507,19 +86519,28 @@ const selectKeyboardStrategy = {
86507
86519
  },
86508
86520
 
86509
86521
  End(component, evt, ctx) {
86510
- if (!ctx.isExpanded) {
86511
- return;
86512
- }
86513
86522
  evt.preventDefault();
86514
86523
  evt.stopPropagation();
86515
86524
  // `pop()` is safe here: getEnabledOptions returns a fresh filtered array.
86516
86525
  const lastOption = getEnabledOptions(component.menu).pop();
86517
- if (lastOption) {
86518
- 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();
86519
86536
  }
86520
86537
  },
86521
86538
 
86522
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.
86523
86544
  evt.preventDefault();
86524
86545
  evt.stopPropagation();
86525
86546
  if (!ctx.isExpanded) {
@@ -86530,14 +86551,16 @@ const selectKeyboardStrategy = {
86530
86551
  },
86531
86552
 
86532
86553
  Home(component, evt, ctx) {
86533
- if (!ctx.isExpanded) {
86534
- return;
86535
- }
86536
86554
  evt.preventDefault();
86537
86555
  evt.stopPropagation();
86538
86556
  const [firstOption] = getEnabledOptions(component.menu);
86539
- if (firstOption) {
86540
- 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();
86541
86564
  }
86542
86565
  },
86543
86566
 
@@ -90485,7 +90508,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$3 {
90485
90508
  }
90486
90509
  };
90487
90510
 
90488
- var formkitVersion$1 = '202606291727';
90511
+ var formkitVersion$1 = '202606291737';
90489
90512
 
90490
90513
  class AuroElement extends i$3 {
90491
90514
  static get properties() {
@@ -91757,6 +91780,7 @@ class AuroDropdown extends AuroElement {
91757
91780
  role="${o$4(this.triggerContentFocusable ? undefined : this.a11yRole)}"
91758
91781
  aria-expanded="${o$4(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : this.isPopoverVisible)}"
91759
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)}"
91760
91784
  aria-labelledby="${o$4(this.triggerContentFocusable ? undefined : 'triggerLabel')}"
91761
91785
  aria-disabled="${o$4(this.disabled ? 'true' : undefined)}"
91762
91786
  @focusin="${this.handleFocusin}"
@@ -92506,7 +92530,7 @@ class AuroHelpText extends i$3 {
92506
92530
  }
92507
92531
  }
92508
92532
 
92509
- var formkitVersion = '202606291727';
92533
+ var formkitVersion = '202606291737';
92510
92534
 
92511
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}`;
92512
92536
 
@@ -92838,14 +92862,6 @@ class AuroSelect extends AuroElement$1 {
92838
92862
  reflect: true
92839
92863
  },
92840
92864
 
92841
- /**
92842
- * @private
92843
- */
92844
- options: {
92845
- type: Array,
92846
- state: true
92847
- },
92848
-
92849
92865
  /**
92850
92866
  * Specifies the current selected menuOption. Default type is `HTMLElement`, changing to `Array<HTMLElement>` when `multiSelect` is true.
92851
92867
  * @type {HTMLElement|Array<HTMLElement>}
@@ -93133,16 +93149,68 @@ class AuroSelect extends AuroElement$1 {
93133
93149
  this.dropdown.dropdownWidth = this.customBibWidth;
93134
93150
  }
93135
93151
 
93136
- // Pass label text to the dropdown bib for accessible dialog naming
93137
- const labelElement = this.querySelector('span[slot="label"]');
93138
- if (labelElement) {
93139
- this.dropdown.bibDialogLabel = labelElement.textContent.trim() || undefined;
93140
- }
93152
+ this._syncLabelText();
93141
93153
 
93142
93154
  // Exposes the CSS parts from the dropdown for styling
93143
93155
  this.dropdown.exposeCssParts();
93144
93156
  }
93145
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
+
93146
93214
  /**
93147
93215
  * This will register this element with the browser.
93148
93216
  * @param {string} [name="auro-select"] - The name of element that you want to register to.
@@ -93293,11 +93361,7 @@ class AuroSelect extends AuroElement$1 {
93293
93361
  this.updateMenuShapeSize();
93294
93362
  this.setMenuValue(this.value);
93295
93363
 
93296
- // Set accessible name on the menu for screen readers based on the label slot content
93297
- const labelElement = this.querySelector('[slot="label"]');
93298
- if (labelElement) {
93299
- this.menu.setAttribute('aria-label', labelElement.textContent.trim());
93300
- }
93364
+ this._syncLabelText();
93301
93365
 
93302
93366
  if (this.multiSelect) {
93303
93367
  this.menu.multiSelect = this.multiSelect;
@@ -93309,8 +93373,21 @@ class AuroSelect extends AuroElement$1 {
93309
93373
  if (typeof this.menu.initItems === 'function') {
93310
93374
  this.menu.initItems();
93311
93375
  }
93312
- this.options = this.menu.options;
93313
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
+
93314
93391
  this.menu.addEventListener("auroMenu-loadingChange", (event) => this.handleMenuLoadingChange(event));
93315
93392
 
93316
93393
  this.menu.addEventListener("auroMenu-selectValueFailure", () => {
@@ -93329,11 +93406,26 @@ class AuroSelect extends AuroElement$1 {
93329
93406
  this.dropdown.setActiveDescendant(this.optionActive);
93330
93407
  }
93331
93408
 
93332
- // Announce the active option for screen readers
93333
- 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')) {
93334
93418
  const optionText = this.optionActive.textContent.trim();
93335
- const selectedState = this.optionActive.hasAttribute('selected') ? ', selected' : ', not selected';
93336
- 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
+ }
93337
93429
  }
93338
93430
 
93339
93431
  if (this.dropdown.isPopoverVisible) {
@@ -93342,6 +93434,7 @@ class AuroSelect extends AuroElement$1 {
93342
93434
  });
93343
93435
 
93344
93436
  this.menu.addEventListener('auroMenu-selectedOption', () => {
93437
+ const previousSelected = this.optionSelected;
93345
93438
 
93346
93439
  // Update the displayed value
93347
93440
  this.updateDisplayedValue();
@@ -93361,13 +93454,32 @@ class AuroSelect extends AuroElement$1 {
93361
93454
  this.dropdown.trigger.focus();
93362
93455
  }
93363
93456
 
93364
- // Announce the selection after the dropdown closes so it isn't
93365
- // overridden by VoiceOver's "collapsed" announcement from aria-expanded.
93366
- const selectedValue = this.menu.currentLabel;
93367
- const announcementDelay = 300;
93368
- setTimeout(() => {
93369
- announceToScreenReader(this._getAnnouncementRoot(), `${selectedValue}, selected`);
93370
- }, 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
+ }
93371
93483
  });
93372
93484
  }
93373
93485
 
@@ -93465,24 +93577,32 @@ class AuroSelect extends AuroElement$1 {
93465
93577
 
93466
93578
  this.typeaheadBuffer += key;
93467
93579
 
93468
- 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));
93469
93586
 
93470
- let match = null;
93587
+ const isRepeatedChar = !match && this.typeaheadBuffer.length > 1 && new Set(this.typeaheadBuffer).size === 1;
93471
93588
  if (isRepeatedChar) {
93472
93589
  const matches = options.filter((option) => this._getOptionDisplayText(option).startsWith(key));
93473
93590
  if (matches.length) {
93474
93591
  const cycleIndex = (this.typeaheadBuffer.length - 1) % matches.length;
93475
93592
  match = matches[cycleIndex];
93476
93593
  }
93477
- } else {
93478
- match = options.find((option) => this._getOptionDisplayText(option).startsWith(this.typeaheadBuffer));
93479
93594
  }
93480
93595
 
93596
+ // Intentional: no-match leaves the bib closed (deviates from APG / some native <select>).
93481
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);
93482
93603
  if (!this.dropdown.isPopoverVisible) {
93483
93604
  this.dropdown.show();
93484
93605
  }
93485
- this.menu.updateActiveOption(match);
93486
93606
  }
93487
93607
  }
93488
93608
 
@@ -93599,6 +93719,28 @@ class AuroSelect extends AuroElement$1 {
93599
93719
  disconnectedCallback() {
93600
93720
  super.disconnectedCallback();
93601
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
+ }
93602
93744
  }
93603
93745
 
93604
93746
  // lifecycle runs only after the element's DOM has been updated the first time
@@ -93609,6 +93751,7 @@ class AuroSelect extends AuroElement$1 {
93609
93751
  this.configureDropdown();
93610
93752
  this.configureMenu();
93611
93753
  this.configureSelect();
93754
+ this._observeLabelChanges();
93612
93755
  }
93613
93756
 
93614
93757
  setMenuValue(value) {
@@ -93741,25 +93884,18 @@ class AuroSelect extends AuroElement$1 {
93741
93884
  * @private
93742
93885
  */
93743
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
+
93744
93893
  const selectedOption = event.target.options[event.target.selectedIndex];
93745
93894
  if (!selectedOption) return;
93746
93895
  const selectedValue = selectedOption.value;
93747
93896
 
93748
- if (this.multiSelect) {
93749
- const currentArray = this.menu.value || [];
93750
-
93751
- if (!currentArray.includes(selectedValue)) {
93752
- this.value = JSON.stringify([
93753
- ...currentArray,
93754
- selectedValue
93755
- ]);
93756
- }
93757
- } else {
93758
- const currentValue = this.value;
93759
-
93760
- if (currentValue !== selectedValue) {
93761
- this.value = selectedValue;
93762
- }
93897
+ if (this.value !== selectedValue) {
93898
+ this.value = selectedValue;
93763
93899
  }
93764
93900
  }
93765
93901