@aurodesignsystem-dev/auro-formkit 0.0.0-pr1511.1 → 0.0.0-pr1513.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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 +3 -4
  7. package/components/combobox/demo/getting-started.min.js +3 -4
  8. package/components/combobox/demo/index.min.js +3 -4
  9. package/components/combobox/dist/index.js +3 -4
  10. package/components/combobox/dist/registered.js +3 -4
  11. package/components/counter/demo/customize.min.js +2 -10
  12. package/components/counter/demo/index.min.js +2 -10
  13. package/components/counter/dist/index.js +2 -10
  14. package/components/counter/dist/registered.js +2 -10
  15. package/components/datepicker/demo/customize.min.js +17 -5
  16. package/components/datepicker/demo/index.min.js +17 -5
  17. package/components/datepicker/dist/auro-calendar.d.ts +1 -0
  18. package/components/datepicker/dist/index.js +17 -5
  19. package/components/datepicker/dist/registered.js +17 -5
  20. package/components/dropdown/demo/customize.min.js +1 -2
  21. package/components/dropdown/demo/getting-started.min.js +1 -2
  22. package/components/dropdown/demo/index.min.js +1 -2
  23. package/components/dropdown/dist/index.js +1 -2
  24. package/components/dropdown/dist/registered.js +1 -2
  25. package/components/form/demo/customize.min.js +87 -208
  26. package/components/form/demo/getting-started.min.js +87 -208
  27. package/components/form/demo/index.min.js +87 -208
  28. package/components/form/demo/registerDemoDeps.min.js +87 -208
  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 +62 -186
  40. package/components/select/demo/getting-started.min.js +62 -186
  41. package/components/select/demo/index.min.js +62 -186
  42. package/components/select/demo/keyboard-behavior.md +4 -18
  43. package/components/select/dist/auro-select.d.ts +8 -20
  44. package/components/select/dist/index.js +62 -186
  45. package/components/select/dist/registered.js +62 -186
  46. package/custom-elements.json +1503 -1489
  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 = '202606261928';
13375
+ var formkitVersion$8 = '202606291440';
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 = '202606261928';
27617
+ var formkitVersion$2$1 = '202606291440';
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}}
@@ -28261,10 +28261,23 @@ class AuroCalendar extends RangeDatepicker {
28261
28261
  /**
28262
28262
  * Shows the activeCell ring when the grid gains focus.
28263
28263
  * @private
28264
+ * @param {FocusEvent} [event] - The focusin event.
28264
28265
  * @returns {void}
28265
28266
  */
28266
- handleGridFocusIn() {
28267
+ handleGridFocusIn(event) {
28267
28268
  this._gridHasFocus = true;
28269
+
28270
+ // Only apply the activeCell ring when the grid wrapper itself receives focus
28271
+ // (Tab/programmatic). When focus moves into a cell button via mousedown,
28272
+ // event.target is the cell descendant — skip the ring here. The subsequent
28273
+ // click handler calls setActiveCell on the clicked cell, which applies the
28274
+ // ring there. Without this guard, mousedown briefly flashes the ring on the
28275
+ // previously-active cell (e.g. the 1st-of-month set by month navigation
28276
+ // when the grid was not focused).
28277
+ if (event && event.target !== event.currentTarget) {
28278
+ return;
28279
+ }
28280
+
28268
28281
  const activeCell = this.getAllFocusableCells().find((cell) => cell.active);
28269
28282
  if (activeCell) {
28270
28283
  const btn = activeCell._cachedButton || activeCell.shadowRoot.querySelector('button.day');
@@ -33259,7 +33272,7 @@ let AuroHelpText$2$1 = class AuroHelpText extends i$3 {
33259
33272
  }
33260
33273
  };
33261
33274
 
33262
- var formkitVersion$1$3 = '202606261928';
33275
+ var formkitVersion$1$3 = '202606291440';
33263
33276
 
33264
33277
  let AuroElement$2$2 = class AuroElement extends i$3 {
33265
33278
  static get properties() {
@@ -34531,7 +34544,6 @@ let AuroDropdown$3 = class AuroDropdown extends AuroElement$2$2 {
34531
34544
  role="${o$4(this.triggerContentFocusable ? undefined : this.a11yRole)}"
34532
34545
  aria-expanded="${o$4(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : this.isPopoverVisible)}"
34533
34546
  aria-controls="${o$4(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : this.dropdownId)}"
34534
- aria-haspopup="${o$4(this.a11yRole === 'combobox' && !this.triggerContentFocusable ? 'listbox' : undefined)}"
34535
34547
  aria-labelledby="${o$4(this.triggerContentFocusable ? undefined : 'triggerLabel')}"
34536
34548
  aria-disabled="${o$4(this.disabled ? 'true' : undefined)}"
34537
34549
  @focusin="${this.handleFocusin}"
@@ -46853,7 +46865,7 @@ let AuroHelpText$1$3 = class AuroHelpText extends i$3 {
46853
46865
  }
46854
46866
  };
46855
46867
 
46856
- var formkitVersion$7 = '202606261928';
46868
+ var formkitVersion$7 = '202606291440';
46857
46869
 
46858
46870
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
46859
46871
  // See LICENSE in the project root for license information.
@@ -51708,7 +51720,7 @@ let AuroHelpText$1$2 = class AuroHelpText extends i$3 {
51708
51720
  }
51709
51721
  };
51710
51722
 
51711
- var formkitVersion$1$2 = '202606261928';
51723
+ var formkitVersion$1$2 = '202606291440';
51712
51724
 
51713
51725
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
51714
51726
  // See LICENSE in the project root for license information.
@@ -56036,7 +56048,7 @@ let AuroHelpText$6 = class AuroHelpText extends i$3 {
56036
56048
  }
56037
56049
  };
56038
56050
 
56039
- var formkitVersion$6 = '202606261928';
56051
+ var formkitVersion$6 = '202606291440';
56040
56052
 
56041
56053
  let AuroElement$1$2 = class AuroElement extends i$3 {
56042
56054
  static get properties() {
@@ -57308,7 +57320,6 @@ let AuroDropdown$2 = class AuroDropdown extends AuroElement$1$2 {
57308
57320
  role="${o$4(this.triggerContentFocusable ? undefined : this.a11yRole)}"
57309
57321
  aria-expanded="${o$4(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : this.isPopoverVisible)}"
57310
57322
  aria-controls="${o$4(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : this.dropdownId)}"
57311
- aria-haspopup="${o$4(this.a11yRole === 'combobox' && !this.triggerContentFocusable ? 'listbox' : undefined)}"
57312
57323
  aria-labelledby="${o$4(this.triggerContentFocusable ? undefined : 'triggerLabel')}"
57313
57324
  aria-disabled="${o$4(this.disabled ? 'true' : undefined)}"
57314
57325
  @focusin="${this.handleFocusin}"
@@ -58441,13 +58452,6 @@ class AuroCounterGroup extends AuroElement$4 {
58441
58452
  */
58442
58453
  configureDropdownCounters() {
58443
58454
  this.dropdown = this.shadowRoot.querySelector(this.dropdownTag._$litStatic$);
58444
-
58445
- // Counter rows are slotted into the bib through multiple shadow roots
58446
- // (dropdown → bib → bibtemplate → counter-group → counter), so the floater's
58447
- // `:focus-within` focus-loss check fails to match the dropdown host in Chromium
58448
- // and the bib auto-closes immediately after opening. Mirrors auro-select.
58449
- this.dropdown.noHideOnThisFocusLoss = true;
58450
-
58451
58455
  this.dropdown.requestUpdate();
58452
58456
 
58453
58457
  const counterWrapper = this.shadowRoot.querySelector('auro-counter-wrapper');
@@ -59984,7 +59988,7 @@ let AuroHelpText$5 = class AuroHelpText extends i$3 {
59984
59988
  }
59985
59989
  };
59986
59990
 
59987
- var formkitVersion$5 = '202606261928';
59991
+ var formkitVersion$5 = '202606291440';
59988
59992
 
59989
59993
  // Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
59990
59994
  // See LICENSE in the project root for license information.
@@ -61734,7 +61738,7 @@ let AuroHelpText$4 = class AuroHelpText extends i$3 {
61734
61738
  }
61735
61739
  };
61736
61740
 
61737
- var formkitVersion$4 = '202606261928';
61741
+ var formkitVersion$4 = '202606291440';
61738
61742
 
61739
61743
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
61740
61744
  // See LICENSE in the project root for license information.
@@ -66949,7 +66953,7 @@ let AuroHelpText$2 = class AuroHelpText extends i$3 {
66949
66953
  }
66950
66954
  };
66951
66955
 
66952
- var formkitVersion$2 = '202606261928';
66956
+ var formkitVersion$2 = '202606291440';
66953
66957
 
66954
66958
  let AuroElement$2$1 = class AuroElement extends i$3 {
66955
66959
  static get properties() {
@@ -68221,7 +68225,6 @@ let AuroDropdown$1 = class AuroDropdown extends AuroElement$2$1 {
68221
68225
  role="${o$4(this.triggerContentFocusable ? undefined : this.a11yRole)}"
68222
68226
  aria-expanded="${o$4(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : this.isPopoverVisible)}"
68223
68227
  aria-controls="${o$4(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : this.dropdownId)}"
68224
- aria-haspopup="${o$4(this.a11yRole === 'combobox' && !this.triggerContentFocusable ? 'listbox' : undefined)}"
68225
68228
  aria-labelledby="${o$4(this.triggerContentFocusable ? undefined : 'triggerLabel')}"
68226
68229
  aria-disabled="${o$4(this.disabled ? 'true' : undefined)}"
68227
68230
  @focusin="${this.handleFocusin}"
@@ -80543,7 +80546,7 @@ let AuroHelpText$1$1 = class AuroHelpText extends i$3 {
80543
80546
  }
80544
80547
  };
80545
80548
 
80546
- var formkitVersion$1$1 = '202606261928';
80549
+ var formkitVersion$1$1 = '202606291440';
80547
80550
 
80548
80551
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
80549
80552
  // See LICENSE in the project root for license information.
@@ -81664,7 +81667,7 @@ let AuroBibtemplate$1 = class AuroBibtemplate extends i$3 {
81664
81667
  }
81665
81668
  };
81666
81669
 
81667
- var formkitVersion$3 = '202606261928';
81670
+ var formkitVersion$3 = '202606291440';
81668
81671
 
81669
81672
  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}`;
81670
81673
 
@@ -86477,28 +86480,19 @@ const selectKeyboardStrategy = {
86477
86480
  },
86478
86481
 
86479
86482
  End(component, evt, ctx) {
86483
+ if (!ctx.isExpanded) {
86484
+ return;
86485
+ }
86480
86486
  evt.preventDefault();
86481
86487
  evt.stopPropagation();
86482
86488
  // `pop()` is safe here: getEnabledOptions returns a fresh filtered array.
86483
86489
  const lastOption = getEnabledOptions(component.menu).pop();
86484
- if (!lastOption) {
86485
- return;
86486
- }
86487
- // Pre-stash before show() so the auroDropdown-toggled handler's
86488
- // `!optionActive` guard short-circuits the firstActive/selected fallback —
86489
- // otherwise show() synchronously fires the handler and writes
86490
- // aria-activedescendant once before we overwrite it.
86491
- component.menu.updateActiveOption(lastOption);
86492
- if (!ctx.isExpanded) {
86493
- component.dropdown.show();
86490
+ if (lastOption) {
86491
+ component.menu.updateActiveOption(lastOption);
86494
86492
  }
86495
86493
  },
86496
86494
 
86497
86495
  Enter(component, evt, ctx) {
86498
- // Prevent the keypress from bubbling to parent containers (e.g., forms)
86499
- // which could interpret Enter as a submit. Matches APG select-only combobox
86500
- // and native <select> behavior: Enter opens the listbox when closed, selects
86501
- // the active option when open — it does not submit a parent form.
86502
86496
  evt.preventDefault();
86503
86497
  evt.stopPropagation();
86504
86498
  if (!ctx.isExpanded) {
@@ -86509,16 +86503,14 @@ const selectKeyboardStrategy = {
86509
86503
  },
86510
86504
 
86511
86505
  Home(component, evt, ctx) {
86506
+ if (!ctx.isExpanded) {
86507
+ return;
86508
+ }
86512
86509
  evt.preventDefault();
86513
86510
  evt.stopPropagation();
86514
86511
  const [firstOption] = getEnabledOptions(component.menu);
86515
- if (!firstOption) {
86516
- return;
86517
- }
86518
- // See End() for why this must run before show().
86519
- component.menu.updateActiveOption(firstOption);
86520
- if (!ctx.isExpanded) {
86521
- component.dropdown.show();
86512
+ if (firstOption) {
86513
+ component.menu.updateActiveOption(firstOption);
86522
86514
  }
86523
86515
  },
86524
86516
 
@@ -90466,7 +90458,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$3 {
90466
90458
  }
90467
90459
  };
90468
90460
 
90469
- var formkitVersion$1 = '202606261928';
90461
+ var formkitVersion$1 = '202606291440';
90470
90462
 
90471
90463
  class AuroElement extends i$3 {
90472
90464
  static get properties() {
@@ -91738,7 +91730,6 @@ class AuroDropdown extends AuroElement {
91738
91730
  role="${o$4(this.triggerContentFocusable ? undefined : this.a11yRole)}"
91739
91731
  aria-expanded="${o$4(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : this.isPopoverVisible)}"
91740
91732
  aria-controls="${o$4(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : this.dropdownId)}"
91741
- aria-haspopup="${o$4(this.a11yRole === 'combobox' && !this.triggerContentFocusable ? 'listbox' : undefined)}"
91742
91733
  aria-labelledby="${o$4(this.triggerContentFocusable ? undefined : 'triggerLabel')}"
91743
91734
  aria-disabled="${o$4(this.disabled ? 'true' : undefined)}"
91744
91735
  @focusin="${this.handleFocusin}"
@@ -92488,7 +92479,7 @@ class AuroHelpText extends i$3 {
92488
92479
  }
92489
92480
  }
92490
92481
 
92491
- var formkitVersion = '202606261928';
92482
+ var formkitVersion = '202606291440';
92492
92483
 
92493
92484
  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}`;
92494
92485
 
@@ -92820,6 +92811,14 @@ class AuroSelect extends AuroElement$1 {
92820
92811
  reflect: true
92821
92812
  },
92822
92813
 
92814
+ /**
92815
+ * @private
92816
+ */
92817
+ options: {
92818
+ type: Array,
92819
+ state: true
92820
+ },
92821
+
92823
92822
  /**
92824
92823
  * Specifies the current selected menuOption. Default type is `HTMLElement`, changing to `Array<HTMLElement>` when `multiSelect` is true.
92825
92824
  * @type {HTMLElement|Array<HTMLElement>}
@@ -93107,68 +93106,16 @@ class AuroSelect extends AuroElement$1 {
93107
93106
  this.dropdown.dropdownWidth = this.customBibWidth;
93108
93107
  }
93109
93108
 
93110
- this._syncLabelText();
93109
+ // Pass label text to the dropdown bib for accessible dialog naming
93110
+ const labelElement = this.querySelector('span[slot="label"]');
93111
+ if (labelElement) {
93112
+ this.dropdown.bibDialogLabel = labelElement.textContent.trim() || undefined;
93113
+ }
93111
93114
 
93112
93115
  // Exposes the CSS parts from the dropdown for styling
93113
93116
  this.dropdown.exposeCssParts();
93114
93117
  }
93115
93118
 
93116
- /**
93117
- * Reads the current label slot text and pushes it to the dropdown bib
93118
- * (for dialog naming) and the menu (for listbox aria-label). Safe to call
93119
- * before either child has been wired up — each branch self-guards.
93120
- * @private
93121
- */
93122
- _syncLabelText() {
93123
- const labelElement = this.querySelector('[slot="label"]');
93124
- const text = labelElement ? labelElement.textContent.trim() : '';
93125
- if (this.dropdown) {
93126
- this.dropdown.bibDialogLabel = text || undefined;
93127
- }
93128
- if (this.menu) {
93129
- if (text) {
93130
- this.menu.setAttribute('aria-label', text);
93131
- } else {
93132
- this.menu.removeAttribute('aria-label');
93133
- }
93134
- }
93135
- }
93136
-
93137
- /**
93138
- * Keeps the dialog/menu accessible names in sync when consumers mutate the
93139
- * label slot at runtime (e.g., i18n locale swap). `slotchange` alone is
93140
- * insufficient — it doesn't fire when textContent of an already-assigned
93141
- * slotted node changes, which is the common case. We scope the observer to
93142
- * the label node itself (not the whole host subtree) so option-content
93143
- * mutations don't trigger label re-syncs, and re-target on `slotchange`
93144
- * when consumers add or replace the label element.
93145
- * @private
93146
- */
93147
- _observeLabelChanges() {
93148
- if (this._labelObserver) return;
93149
- this._labelObserver = new MutationObserver(() => this._syncLabelText());
93150
-
93151
- const retarget = () => {
93152
- this._labelObserver.disconnect();
93153
- const labelElement = this.querySelector('[slot="label"]');
93154
- if (labelElement) {
93155
- this._labelObserver.observe(labelElement, {
93156
- childList: true,
93157
- subtree: true,
93158
- characterData: true
93159
- });
93160
- }
93161
- this._syncLabelText();
93162
- };
93163
-
93164
- retarget();
93165
-
93166
- this._retargetLabelObserver = retarget;
93167
- this.shadowRoot.querySelectorAll('slot[name="label"]').forEach((slot) => {
93168
- slot.addEventListener('slotchange', retarget);
93169
- });
93170
- }
93171
-
93172
93119
  /**
93173
93120
  * This will register this element with the browser.
93174
93121
  * @param {string} [name="auro-select"] - The name of element that you want to register to.
@@ -93319,7 +93266,11 @@ class AuroSelect extends AuroElement$1 {
93319
93266
  this.updateMenuShapeSize();
93320
93267
  this.setMenuValue(this.value);
93321
93268
 
93322
- this._syncLabelText();
93269
+ // Set accessible name on the menu for screen readers based on the label slot content
93270
+ const labelElement = this.querySelector('[slot="label"]');
93271
+ if (labelElement) {
93272
+ this.menu.setAttribute('aria-label', labelElement.textContent.trim());
93273
+ }
93323
93274
 
93324
93275
  if (this.multiSelect) {
93325
93276
  this.menu.multiSelect = this.multiSelect;
@@ -93331,21 +93282,8 @@ class AuroSelect extends AuroElement$1 {
93331
93282
  if (typeof this.menu.initItems === 'function') {
93332
93283
  this.menu.initItems();
93333
93284
  }
93285
+ this.options = this.menu.options;
93334
93286
  this.updateOptionPositions();
93335
- // renderNativeSelect reads this.menu.options, which the parent doesn't
93336
- // observe — request an update so the hidden native <option> list reflects
93337
- // the menu's options after initItems populates them.
93338
- this.requestUpdate();
93339
-
93340
- // Keep aria-setsize/aria-posinset (and the native <option> list) in sync
93341
- // when the menu re-initializes its items — e.g., slotchange, async/lazy
93342
- // loads, value-triggered re-init. Without this, stale set-size is
93343
- // announced and the native select goes stale after dynamic mutations.
93344
- this.menu.addEventListener('auroMenu-optionsChange', () => {
93345
- this.updateOptionPositions();
93346
- this.requestUpdate();
93347
- });
93348
-
93349
93287
  this.menu.addEventListener("auroMenu-loadingChange", (event) => this.handleMenuLoadingChange(event));
93350
93288
 
93351
93289
  this.menu.addEventListener("auroMenu-selectValueFailure", () => {
@@ -93364,26 +93302,11 @@ class AuroSelect extends AuroElement$1 {
93364
93302
  this.dropdown.setActiveDescendant(this.optionActive);
93365
93303
  }
93366
93304
 
93367
- // Live-region announce only for [not selected] options. For activations
93368
- // on an already-selected option — auto-activation on bib open, arrow
93369
- // navigation back to the selection, or click in multiSelect — rely on
93370
- // aria-activedescendant + aria-selected="true" to convey state per the
93371
- // WAI-ARIA listbox pattern. This is intentional, not limited to the
93372
- // initial activation on open: it also prevents a duplicate "X, selected"
93373
- // when Enter on the active+selected option re-fires
93374
- // auroMenu-selectedOption (see 03b289e39).
93375
- if (this.optionActive && !this.optionActive.hasAttribute('selected')) {
93305
+ // Announce the active option for screen readers
93306
+ if (this.optionActive) {
93376
93307
  const optionText = this.optionActive.textContent.trim();
93377
- const message = `${optionText}, not selected`;
93378
- if (this.dropdown.isPopoverVisible) {
93379
- announceToScreenReader(this._getAnnouncementRoot(), message);
93380
- } else {
93381
- // Typeahead-on-closed fires this event before `show()` flips
93382
- // isPopoverVisible. Defer so the announcement targets the bib's
93383
- // live region once the fullscreen <dialog> opens — otherwise it
93384
- // lands in the host root, which is inert under the active modal.
93385
- queueMicrotask(() => announceToScreenReader(this._getAnnouncementRoot(), message));
93386
- }
93308
+ const selectedState = this.optionActive.hasAttribute('selected') ? ', selected' : ', not selected';
93309
+ announceToScreenReader(this._getAnnouncementRoot(), `${optionText}${selectedState}`);
93387
93310
  }
93388
93311
 
93389
93312
  if (this.dropdown.isPopoverVisible) {
@@ -93392,7 +93315,6 @@ class AuroSelect extends AuroElement$1 {
93392
93315
  });
93393
93316
 
93394
93317
  this.menu.addEventListener('auroMenu-selectedOption', () => {
93395
- const previousSelected = this.optionSelected;
93396
93318
 
93397
93319
  // Update the displayed value
93398
93320
  this.updateDisplayedValue();
@@ -93412,32 +93334,13 @@ class AuroSelect extends AuroElement$1 {
93412
93334
  this.dropdown.trigger.focus();
93413
93335
  }
93414
93336
 
93415
- // Describe the actual change. In multiSelect, currentLabel is the
93416
- // concatenated remaining list — announcing "{list}, selected" after a
93417
- // deselect would falsely claim every remaining label was just added.
93418
- // Diff previous vs next to recover the toggled option.
93419
- let announcement = '';
93420
- if (this.multiSelect) {
93421
- const prev = Array.isArray(previousSelected) ? previousSelected : [];
93422
- const removed = prev.find((opt) => !nextSelected.includes(opt));
93423
- const added = nextSelected.find((opt) => !prev.includes(opt));
93424
- if (removed) {
93425
- announcement = `${removed.textContent.trim()}, not selected`;
93426
- } else if (added) {
93427
- announcement = `${added.textContent.trim()}, selected`;
93428
- }
93429
- } else {
93430
- announcement = `${this.menu.currentLabel}, selected`;
93431
- }
93432
-
93433
- // Delay so the utterance isn't overridden by VoiceOver's "collapsed"
93434
- // announcement from aria-expanded when the dropdown closes.
93435
- if (announcement) {
93436
- const announcementDelay = 300;
93437
- setTimeout(() => {
93438
- announceToScreenReader(this._getAnnouncementRoot(), announcement);
93439
- }, announcementDelay);
93440
- }
93337
+ // Announce the selection after the dropdown closes so it isn't
93338
+ // overridden by VoiceOver's "collapsed" announcement from aria-expanded.
93339
+ const selectedValue = this.menu.currentLabel;
93340
+ const announcementDelay = 300;
93341
+ setTimeout(() => {
93342
+ announceToScreenReader(this._getAnnouncementRoot(), `${selectedValue}, selected`);
93343
+ }, announcementDelay);
93441
93344
  });
93442
93345
  }
93443
93346
 
@@ -93535,32 +93438,24 @@ class AuroSelect extends AuroElement$1 {
93535
93438
 
93536
93439
  this.typeaheadBuffer += key;
93537
93440
 
93538
- // Prefer the literal buffer as a prefix per WAI-ARIA APG ("focus moves to the
93539
- // next item with a name that starts with the string of characters typed").
93540
- // Only fall back to single-char cycling when the repeated buffer has no
93541
- // longer prefix match — e.g. "aa" cycles through ["Apple", "Apricot"] only
93542
- // because no option starts with "aa".
93543
- let match = options.find((option) => this._getOptionDisplayText(option).startsWith(this.typeaheadBuffer));
93441
+ const isRepeatedChar = this.typeaheadBuffer.length > 1 && new Set(this.typeaheadBuffer).size === 1;
93544
93442
 
93545
- const isRepeatedChar = !match && this.typeaheadBuffer.length > 1 && new Set(this.typeaheadBuffer).size === 1;
93443
+ let match = null;
93546
93444
  if (isRepeatedChar) {
93547
93445
  const matches = options.filter((option) => this._getOptionDisplayText(option).startsWith(key));
93548
93446
  if (matches.length) {
93549
93447
  const cycleIndex = (this.typeaheadBuffer.length - 1) % matches.length;
93550
93448
  match = matches[cycleIndex];
93551
93449
  }
93450
+ } else {
93451
+ match = options.find((option) => this._getOptionDisplayText(option).startsWith(this.typeaheadBuffer));
93552
93452
  }
93553
93453
 
93554
- // Intentional: no-match leaves the bib closed (deviates from APG / some native <select>).
93555
93454
  if (match) {
93556
- // Pre-stash the match so the auroDropdown-toggled handler's `!optionActive`
93557
- // guard short-circuits and skips the firstActive/selected fallback —
93558
- // otherwise show() synchronously fires the handler, which writes
93559
- // aria-activedescendant once before we overwrite it.
93560
- this.menu.updateActiveOption(match);
93561
93455
  if (!this.dropdown.isPopoverVisible) {
93562
93456
  this.dropdown.show();
93563
93457
  }
93458
+ this.menu.updateActiveOption(match);
93564
93459
  }
93565
93460
  }
93566
93461
 
@@ -93677,28 +93572,6 @@ class AuroSelect extends AuroElement$1 {
93677
93572
  disconnectedCallback() {
93678
93573
  super.disconnectedCallback();
93679
93574
  this._clearTypeaheadBuffer();
93680
- if (this._labelObserver) {
93681
- this._labelObserver.disconnect();
93682
- this._labelObserver = null;
93683
- }
93684
- if (this._retargetLabelObserver && this.shadowRoot) {
93685
- this.shadowRoot.querySelectorAll('slot[name="label"]').forEach((slot) => {
93686
- slot.removeEventListener('slotchange', this._retargetLabelObserver);
93687
- });
93688
- this._retargetLabelObserver = null;
93689
- }
93690
- }
93691
-
93692
- connectedCallback() {
93693
- super.connectedCallback();
93694
- // Regression guard: firstUpdated() fires once per instance, so the label
93695
- // observer setup it triggers does NOT re-run on reconnect. After a
93696
- // disconnect+reconnect (reparent, SPA route swap), runtime label mutations
93697
- // would silently stop syncing menu aria-label / dropdown.bibDialogLabel
93698
- // unless we re-wire the observer here.
93699
- if (this.hasUpdated) {
93700
- this._observeLabelChanges();
93701
- }
93702
93575
  }
93703
93576
 
93704
93577
  // lifecycle runs only after the element's DOM has been updated the first time
@@ -93709,7 +93582,6 @@ class AuroSelect extends AuroElement$1 {
93709
93582
  this.configureDropdown();
93710
93583
  this.configureMenu();
93711
93584
  this.configureSelect();
93712
- this._observeLabelChanges();
93713
93585
  }
93714
93586
 
93715
93587
  setMenuValue(value) {
@@ -93842,18 +93714,25 @@ class AuroSelect extends AuroElement$1 {
93842
93714
  * @private
93843
93715
  */
93844
93716
  _handleNativeSelectChange(event) {
93845
- // Hidden native <select> has no `multiple` attribute, so any change it fires
93846
- // is a single raw value — applying it in multiSelect mode would collapse the
93847
- // JSON-array `value` shape. Bfcache/autofill can reach this on a name-bearing
93848
- // form control even with aria-hidden/tabindex=-1.
93849
- if (this.multiSelect) return;
93850
-
93851
93717
  const selectedOption = event.target.options[event.target.selectedIndex];
93852
93718
  if (!selectedOption) return;
93853
93719
  const selectedValue = selectedOption.value;
93854
93720
 
93855
- if (this.value !== selectedValue) {
93856
- this.value = selectedValue;
93721
+ if (this.multiSelect) {
93722
+ const currentArray = this.menu.value || [];
93723
+
93724
+ if (!currentArray.includes(selectedValue)) {
93725
+ this.value = JSON.stringify([
93726
+ ...currentArray,
93727
+ selectedValue
93728
+ ]);
93729
+ }
93730
+ } else {
93731
+ const currentValue = this.value;
93732
+
93733
+ if (currentValue !== selectedValue) {
93734
+ this.value = selectedValue;
93735
+ }
93857
93736
  }
93858
93737
  }
93859
93738