@aurodesignsystem-dev/auro-formkit 0.0.0-pr1522.3 → 0.0.0-pr1524.1

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 (46) 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 +79 -24
  7. package/components/combobox/demo/getting-started.min.js +79 -24
  8. package/components/combobox/demo/index.min.js +79 -24
  9. package/components/combobox/dist/auro-combobox.d.ts +10 -0
  10. package/components/combobox/dist/index.js +79 -24
  11. package/components/combobox/dist/registered.js +79 -24
  12. package/components/counter/demo/customize.min.js +2 -2
  13. package/components/counter/demo/index.min.js +2 -2
  14. package/components/counter/dist/index.js +2 -2
  15. package/components/counter/dist/registered.js +2 -2
  16. package/components/datepicker/demo/customize.min.js +19 -21
  17. package/components/datepicker/demo/index.min.js +19 -21
  18. package/components/datepicker/dist/index.js +19 -21
  19. package/components/datepicker/dist/registered.js +19 -21
  20. package/components/dropdown/demo/customize.min.js +1 -1
  21. package/components/dropdown/demo/getting-started.min.js +1 -1
  22. package/components/dropdown/demo/index.min.js +1 -1
  23. package/components/dropdown/dist/index.js +1 -1
  24. package/components/dropdown/dist/registered.js +1 -1
  25. package/components/form/demo/customize.min.js +179 -82
  26. package/components/form/demo/getting-started.min.js +179 -82
  27. package/components/form/demo/index.min.js +179 -82
  28. package/components/form/demo/registerDemoDeps.min.js +179 -82
  29. package/components/input/demo/customize.min.js +17 -19
  30. package/components/input/demo/getting-started.min.js +17 -19
  31. package/components/input/demo/index.min.js +17 -19
  32. package/components/input/dist/index.js +17 -19
  33. package/components/input/dist/registered.js +17 -19
  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 -16
  40. package/components/select/demo/getting-started.min.js +62 -16
  41. package/components/select/demo/index.min.js +62 -16
  42. package/components/select/dist/auro-select.d.ts +6 -0
  43. package/components/select/dist/index.js +62 -16
  44. package/components/select/dist/registered.js +62 -16
  45. package/custom-elements.json +16 -2
  46. package/package.json +1 -1
@@ -12643,14 +12643,17 @@ let BaseInput$2 = class BaseInput extends AuroElement$6 {
12643
12643
  * @returns {void}
12644
12644
  */
12645
12645
  notifyValueChanged() {
12646
- let inputEvent = null;
12647
-
12648
- inputEvent = new Event('input', {
12646
+ // This echoes Lit's reactive value update (and handleClickClear's
12647
+ // programmatic clear) — it is NOT a fresh user-input event. Mark it
12648
+ // `isProgrammatic` so consumers (e.g. auro-combobox) can distinguish
12649
+ // it from genuine user typing and skip clobbering their own
12650
+ // programmatic state during init-time renders.
12651
+ const inputEvent = new Event('input', {
12649
12652
  bubbles: true,
12650
12653
  composed: true,
12651
12654
  });
12655
+ inputEvent.isProgrammatic = true;
12652
12656
 
12653
- // Dispatched event to alert outside shadow DOM context of event firing.
12654
12657
  this.dispatchEvent(inputEvent);
12655
12658
  }
12656
12659
 
@@ -13363,7 +13366,7 @@ let AuroHelpText$8 = class AuroHelpText extends i$3 {
13363
13366
  }
13364
13367
  };
13365
13368
 
13366
- var formkitVersion$8 = '202607012103';
13369
+ var formkitVersion$8 = '202607022214';
13367
13370
 
13368
13371
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
13369
13372
  // See LICENSE in the project root for license information.
@@ -13649,20 +13652,15 @@ let AuroInput$2 = class AuroInput extends BaseInput$2 {
13649
13652
  * @returns {void}
13650
13653
  */
13651
13654
  checkDisplayValueSlotChange() {
13652
- let nodes = this.shadowRoot.querySelector('slot[name="displayValue"]').assignedNodes();
13653
-
13654
- // Handle when DisplayValue is multi-level slot content (e.g. combobox passing displayValue to input)
13655
- if (nodes && nodes[0] && nodes[0].tagName === 'SLOT') {
13656
- nodes = nodes[0].assignedNodes();
13657
- }
13658
-
13659
- let hasContent = false;
13660
-
13661
- if (nodes.length > 0) {
13662
- hasContent = true;
13663
- }
13655
+ // flatten:true resolves through auro-combobox's forwarding slot
13656
+ // (<slot name="displayValue" slot="displayValue">) so a clone appended
13657
+ // directly to auro-input's light DOM alongside the forwarder still
13658
+ // counts as content. The prior nodes[0].tagName === 'SLOT' recursion
13659
+ // discarded any siblings past the forwarder.
13660
+ const slot = this.shadowRoot.querySelector('slot[name="displayValue"]');
13661
+ const nodes = slot.assignedNodes({ flatten: true });
13664
13662
 
13665
- this.hasDisplayValueContent = hasContent;
13663
+ this.hasDisplayValueContent = nodes.length > 0;
13666
13664
  }
13667
13665
 
13668
13666
  firstUpdated() {
@@ -27733,7 +27731,7 @@ let AuroBibtemplate$3 = class AuroBibtemplate extends i$3 {
27733
27731
  }
27734
27732
  };
27735
27733
 
27736
- var formkitVersion$2$1 = '202607012103';
27734
+ var formkitVersion$2$1 = '202607022214';
27737
27735
 
27738
27736
  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}
27739
27737
  `,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}}
@@ -33551,7 +33549,7 @@ let AuroHelpText$2$1 = class AuroHelpText extends i$3 {
33551
33549
  }
33552
33550
  };
33553
33551
 
33554
- var formkitVersion$1$3 = '202607012103';
33552
+ var formkitVersion$1$3 = '202607022214';
33555
33553
 
33556
33554
  let AuroElement$2$2 = class AuroElement extends i$3 {
33557
33555
  static get properties() {
@@ -46433,14 +46431,17 @@ let BaseInput$1 = class BaseInput extends AuroElement$1$3 {
46433
46431
  * @returns {void}
46434
46432
  */
46435
46433
  notifyValueChanged() {
46436
- let inputEvent = null;
46437
-
46438
- inputEvent = new Event('input', {
46434
+ // This echoes Lit's reactive value update (and handleClickClear's
46435
+ // programmatic clear) — it is NOT a fresh user-input event. Mark it
46436
+ // `isProgrammatic` so consumers (e.g. auro-combobox) can distinguish
46437
+ // it from genuine user typing and skip clobbering their own
46438
+ // programmatic state during init-time renders.
46439
+ const inputEvent = new Event('input', {
46439
46440
  bubbles: true,
46440
46441
  composed: true,
46441
46442
  });
46443
+ inputEvent.isProgrammatic = true;
46442
46444
 
46443
- // Dispatched event to alert outside shadow DOM context of event firing.
46444
46445
  this.dispatchEvent(inputEvent);
46445
46446
  }
46446
46447
 
@@ -47153,7 +47154,7 @@ let AuroHelpText$1$3 = class AuroHelpText extends i$3 {
47153
47154
  }
47154
47155
  };
47155
47156
 
47156
- var formkitVersion$7 = '202607012103';
47157
+ var formkitVersion$7 = '202607022214';
47157
47158
 
47158
47159
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
47159
47160
  // See LICENSE in the project root for license information.
@@ -47439,20 +47440,15 @@ let AuroInput$1 = class AuroInput extends BaseInput$1 {
47439
47440
  * @returns {void}
47440
47441
  */
47441
47442
  checkDisplayValueSlotChange() {
47442
- let nodes = this.shadowRoot.querySelector('slot[name="displayValue"]').assignedNodes();
47443
-
47444
- // Handle when DisplayValue is multi-level slot content (e.g. combobox passing displayValue to input)
47445
- if (nodes && nodes[0] && nodes[0].tagName === 'SLOT') {
47446
- nodes = nodes[0].assignedNodes();
47447
- }
47448
-
47449
- let hasContent = false;
47450
-
47451
- if (nodes.length > 0) {
47452
- hasContent = true;
47453
- }
47443
+ // flatten:true resolves through auro-combobox's forwarding slot
47444
+ // (<slot name="displayValue" slot="displayValue">) so a clone appended
47445
+ // directly to auro-input's light DOM alongside the forwarder still
47446
+ // counts as content. The prior nodes[0].tagName === 'SLOT' recursion
47447
+ // discarded any siblings past the forwarder.
47448
+ const slot = this.shadowRoot.querySelector('slot[name="displayValue"]');
47449
+ const nodes = slot.assignedNodes({ flatten: true });
47454
47450
 
47455
- this.hasDisplayValueContent = hasContent;
47451
+ this.hasDisplayValueContent = nodes.length > 0;
47456
47452
  }
47457
47453
 
47458
47454
  firstUpdated() {
@@ -52035,7 +52031,7 @@ let AuroHelpText$1$2 = class AuroHelpText extends i$3 {
52035
52031
  }
52036
52032
  };
52037
52033
 
52038
- var formkitVersion$1$2 = '202607012103';
52034
+ var formkitVersion$1$2 = '202607022214';
52039
52035
 
52040
52036
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
52041
52037
  // See LICENSE in the project root for license information.
@@ -56363,7 +56359,7 @@ let AuroHelpText$6 = class AuroHelpText extends i$3 {
56363
56359
  }
56364
56360
  };
56365
56361
 
56366
- var formkitVersion$6 = '202607012103';
56362
+ var formkitVersion$6 = '202607022214';
56367
56363
 
56368
56364
  let AuroElement$1$2 = class AuroElement extends i$3 {
56369
56365
  static get properties() {
@@ -60343,7 +60339,7 @@ let AuroHelpText$5 = class AuroHelpText extends i$3 {
60343
60339
  }
60344
60340
  };
60345
60341
 
60346
- var formkitVersion$5 = '202607012103';
60342
+ var formkitVersion$5 = '202607022214';
60347
60343
 
60348
60344
  // Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
60349
60345
  // See LICENSE in the project root for license information.
@@ -62108,7 +62104,7 @@ let AuroHelpText$4 = class AuroHelpText extends i$3 {
62108
62104
  }
62109
62105
  };
62110
62106
 
62111
- var formkitVersion$4 = '202607012103';
62107
+ var formkitVersion$4 = '202607022214';
62112
62108
 
62113
62109
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
62114
62110
  // See LICENSE in the project root for license information.
@@ -67329,7 +67325,7 @@ let AuroHelpText$2 = class AuroHelpText extends i$3 {
67329
67325
  }
67330
67326
  };
67331
67327
 
67332
- var formkitVersion$2 = '202607012103';
67328
+ var formkitVersion$2 = '202607022214';
67333
67329
 
67334
67330
  let AuroElement$2$1 = class AuroElement extends i$3 {
67335
67331
  static get properties() {
@@ -80211,14 +80207,17 @@ class BaseInput extends AuroElement$1$1 {
80211
80207
  * @returns {void}
80212
80208
  */
80213
80209
  notifyValueChanged() {
80214
- let inputEvent = null;
80215
-
80216
- inputEvent = new Event('input', {
80210
+ // This echoes Lit's reactive value update (and handleClickClear's
80211
+ // programmatic clear) — it is NOT a fresh user-input event. Mark it
80212
+ // `isProgrammatic` so consumers (e.g. auro-combobox) can distinguish
80213
+ // it from genuine user typing and skip clobbering their own
80214
+ // programmatic state during init-time renders.
80215
+ const inputEvent = new Event('input', {
80217
80216
  bubbles: true,
80218
80217
  composed: true,
80219
80218
  });
80219
+ inputEvent.isProgrammatic = true;
80220
80220
 
80221
- // Dispatched event to alert outside shadow DOM context of event firing.
80222
80221
  this.dispatchEvent(inputEvent);
80223
80222
  }
80224
80223
 
@@ -80931,7 +80930,7 @@ let AuroHelpText$1$1 = class AuroHelpText extends i$3 {
80931
80930
  }
80932
80931
  };
80933
80932
 
80934
- var formkitVersion$1$1 = '202607012103';
80933
+ var formkitVersion$1$1 = '202607022214';
80935
80934
 
80936
80935
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
80937
80936
  // See LICENSE in the project root for license information.
@@ -81217,20 +81216,15 @@ class AuroInput extends BaseInput {
81217
81216
  * @returns {void}
81218
81217
  */
81219
81218
  checkDisplayValueSlotChange() {
81220
- let nodes = this.shadowRoot.querySelector('slot[name="displayValue"]').assignedNodes();
81221
-
81222
- // Handle when DisplayValue is multi-level slot content (e.g. combobox passing displayValue to input)
81223
- if (nodes && nodes[0] && nodes[0].tagName === 'SLOT') {
81224
- nodes = nodes[0].assignedNodes();
81225
- }
81226
-
81227
- let hasContent = false;
81228
-
81229
- if (nodes.length > 0) {
81230
- hasContent = true;
81231
- }
81219
+ // flatten:true resolves through auro-combobox's forwarding slot
81220
+ // (<slot name="displayValue" slot="displayValue">) so a clone appended
81221
+ // directly to auro-input's light DOM alongside the forwarder still
81222
+ // counts as content. The prior nodes[0].tagName === 'SLOT' recursion
81223
+ // discarded any siblings past the forwarder.
81224
+ const slot = this.shadowRoot.querySelector('slot[name="displayValue"]');
81225
+ const nodes = slot.assignedNodes({ flatten: true });
81232
81226
 
81233
- this.hasDisplayValueContent = hasContent;
81227
+ this.hasDisplayValueContent = nodes.length > 0;
81234
81228
  }
81235
81229
 
81236
81230
  firstUpdated() {
@@ -82057,7 +82051,7 @@ let AuroBibtemplate$1 = class AuroBibtemplate extends i$3 {
82057
82051
  }
82058
82052
  };
82059
82053
 
82060
- var formkitVersion$3 = '202607012103';
82054
+ var formkitVersion$3 = '202607022214';
82061
82055
 
82062
82056
  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}`;
82063
82057
 
@@ -83156,9 +83150,19 @@ class AuroCombobox extends AuroElement$3 {
83156
83150
  /**
83157
83151
  * Processes hidden state of all menu options and determines if there are any available options not hidden.
83158
83152
  * @private
83153
+ * @param {object} [options={}] - Optional flag bag.
83154
+ * @param {boolean} [options.preferComboboxValue=false] - When true,
83155
+ * handleMenuOptions matches the selected option against `this.value`
83156
+ * first instead of `this.input.value`. Needed on mount and re-mount
83157
+ * because under `persistInput` the consumer's typedValue prop can drift
83158
+ * from the framework value (Svelte `{#key}` re-mount after a swap, or
83159
+ * SPA preselect after route change) and the old input-first match would
83160
+ * then pick the stale text. Only handleSlotChange passes this; typing
83161
+ * and clearing paths keep the input-first match so user clears aren't
83162
+ * undone.
83159
83163
  * @returns {void}
83160
83164
  */
83161
- handleMenuOptions() {
83165
+ handleMenuOptions({ preferComboboxValue = false } = {}) {
83162
83166
  this.generateOptionsArray();
83163
83167
  this.availableOptions = [];
83164
83168
  // Single source of truth for the menu's filter/highlight token per call.
@@ -83179,7 +83183,20 @@ class AuroCombobox extends AuroElement$3 {
83179
83183
  option.setAttribute('aria-posinset', index + 1);
83180
83184
  });
83181
83185
 
83182
- if (this.input.value && this.menu.options && this.menu.options.some((opt) => opt.value === this.input.value)) {
83186
+ // On mount/re-mount (via handleSlotChange), prefer the framework-set
83187
+ // `this.value` when it matches a menu option. Covers SPA preselect and
83188
+ // consumer swap patterns (e.g. Svelte `{#key}` re-mount) where
83189
+ // `this.value` is authoritative but `this.input.value` may be empty or
83190
+ // carry stale typed text from another field. Event-driven callers do
83191
+ // not pass the flag, otherwise user clears would be undone by
83192
+ // re-syncing to the previous combobox.value.
83193
+ if (preferComboboxValue &&
83194
+ this.value &&
83195
+ this.menu.options?.some((opt) => opt.value === this.value)) {
83196
+ this.setMenuValue(this.value);
83197
+ this.syncValuesAndStates();
83198
+ } else if (this.input.value &&
83199
+ this.menu.options?.some((opt) => opt.value === this.input.value)) {
83183
83200
  this.setMenuValue(this.input.value);
83184
83201
  this.syncValuesAndStates();
83185
83202
  }
@@ -83616,7 +83633,25 @@ class AuroCombobox extends AuroElement$3 {
83616
83633
  this.optionActive = evt.detail;
83617
83634
 
83618
83635
  if (this.input) {
83619
- this.input.setActiveDescendant(this.optionActive);
83636
+ // setActiveDescendant runs after Lit's update finishes because the
83637
+ // template's `.a11yActivedescendant` binding calls setAttribute on
83638
+ // the internal <input> in auro-input.updated(), which clears the
83639
+ // reflected ariaActiveDescendantElement property. Setting the ref
83640
+ // synchronously here would get overwritten by that attribute write.
83641
+ // Awaiting updateComplete lets the attribute write finish first,
83642
+ // then the ref sticks and screen readers can cross the shadow-DOM
83643
+ // boundary to the auro-menuoption in light DOM.
83644
+ //
83645
+ // The equality check covers the async gap: this.optionActive can
83646
+ // change before the callback runs (user arrowed elsewhere, or the
83647
+ // menu closed and cleared it to null), so we bail if the target
83648
+ // no longer matches to avoid reinstating a stale ref.
83649
+ const targetOption = this.optionActive;
83650
+ this.updateComplete.then(() => {
83651
+ if (this.input && this.optionActive === targetOption) {
83652
+ this.input.setActiveDescendant(targetOption);
83653
+ }
83654
+ });
83620
83655
  }
83621
83656
 
83622
83657
  // In fullscreen mode the menu sits inside a nested <dialog> shadow root,
@@ -83753,6 +83788,18 @@ class AuroCombobox extends AuroElement$3 {
83753
83788
  }
83754
83789
  }
83755
83790
 
83791
+ // SPA preselect guard: on init render, auro-input's notifyValueChanged
83792
+ // echoes an empty value through as an isProgrammatic input event before
83793
+ // the framework-set combobox.value has propagated down to the input.
83794
+ // Without this bail, the `this.value = this.input.value` below clobbers
83795
+ // the framework value with '' and clear() wipes optionSelected. Scoped
83796
+ // to the exact shape of that echo (isProgrammatic + non-empty combobox
83797
+ // value + empty input.value) so it doesn't affect the swap/typed paths
83798
+ // where value/input already track each other through the sync helpers.
83799
+ if (event && event.isProgrammatic && this.value && !this.input.value) {
83800
+ return;
83801
+ }
83802
+
83756
83803
  this.value = this.input.value;
83757
83804
 
83758
83805
  // Ignore re-entrant input events caused by programmatic value sets.
@@ -84185,7 +84232,11 @@ class AuroCombobox extends AuroElement$3 {
84185
84232
  }
84186
84233
  });
84187
84234
 
84188
- this.handleMenuOptions();
84235
+ // Slot change (mount/re-mount): pass `preferComboboxValue` so that a
84236
+ // framework-set `this.value` wins over any stale `input.value` when
84237
+ // matching against the newly-available options. Fixes the display
84238
+ // for SPA preselect and Svelte `{#key}` re-mount swap patterns.
84239
+ this.handleMenuOptions({ preferComboboxValue: true });
84189
84240
 
84190
84241
  break;
84191
84242
 
@@ -86834,9 +86885,6 @@ function navigateArrow(component, direction, options = {}) {
86834
86885
  * @param {HTMLElement | null | undefined} menu - The auro-menu element.
86835
86886
  * @returns {Array<HTMLElement>} Non-disabled options, empty array when none.
86836
86887
  */
86837
- function getEnabledOptions(menu) {
86838
- return (menu?.options || []).filter((option) => !option.disabled);
86839
- }
86840
86888
 
86841
86889
  /**
86842
86890
  * Returns the active (selectable + visible) options for type-ahead navigation.
@@ -86906,8 +86954,10 @@ const selectKeyboardStrategy = {
86906
86954
  End(component, evt, ctx) {
86907
86955
  evt.preventDefault();
86908
86956
  evt.stopPropagation();
86909
- // `pop()` is safe here: getEnabledOptions returns a fresh filtered array.
86910
- const lastOption = getEnabledOptions(component.menu).pop();
86957
+ // `pop()` is safe here: getActiveOptions returns a fresh filtered array.
86958
+ // Uses "active" (not "enabled") so hidden and static rows — which a screen
86959
+ // reader must not announce as focused — are skipped.
86960
+ const lastOption = getActiveOptions(component.menu).pop();
86911
86961
  if (!lastOption) {
86912
86962
  return;
86913
86963
  }
@@ -86938,7 +86988,7 @@ const selectKeyboardStrategy = {
86938
86988
  Home(component, evt, ctx) {
86939
86989
  evt.preventDefault();
86940
86990
  evt.stopPropagation();
86941
- const [firstOption] = getEnabledOptions(component.menu);
86991
+ const [firstOption] = getActiveOptions(component.menu);
86942
86992
  if (!firstOption) {
86943
86993
  return;
86944
86994
  }
@@ -86963,6 +87013,15 @@ const selectKeyboardStrategy = {
86963
87013
  },
86964
87014
 
86965
87015
  default(component, evt, ctx) {
87016
+ // Ignore keys chorded with Ctrl/Meta/Alt so browser/OS shortcuts
87017
+ // (Cmd+C, Ctrl+V, Alt+X, Cmd+Space, …) don't leak into typeahead
87018
+ // or toggle the bib. Native <select> ignores modified keys.
87019
+ // ArrowUp/ArrowDown handle modifier+arrow explicitly above; this
87020
+ // guard only affects the default (printable/Space) branch.
87021
+ if (evt.ctrlKey || evt.metaKey || evt.altKey) {
87022
+ return;
87023
+ }
87024
+
86966
87025
  // Space resolves to either typeahead-buffer extension or bib toggle
86967
87026
  // depending on whether a type-ahead buffer is active. Mirrors native
86968
87027
  // <select> and the WAI-ARIA APG Listbox guidance: mid-typeahead space
@@ -90893,7 +90952,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$3 {
90893
90952
  }
90894
90953
  };
90895
90954
 
90896
- var formkitVersion$1 = '202607012103';
90955
+ var formkitVersion$1 = '202607022214';
90897
90956
 
90898
90957
  class AuroElement extends i$3 {
90899
90958
  static get properties() {
@@ -92932,7 +92991,7 @@ class AuroHelpText extends i$3 {
92932
92991
  }
92933
92992
  }
92934
92993
 
92935
- var formkitVersion = '202607012103';
92994
+ var formkitVersion = '202607022214';
92936
92995
 
92937
92996
  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}`;
92938
92997
 
@@ -93496,8 +93555,11 @@ class AuroSelect extends AuroElement$1 {
93496
93555
  } else if (this.multiSelect && Array.isArray(this.optionSelected) && this.optionSelected.length > 0) {
93497
93556
  this.menu.updateActiveOption(this.optionSelected[0]);
93498
93557
  } else {
93499
- // If no activeOption has yet to be set, then make the first enabled option active by default
93500
- const [firstActive] = getEnabledOptions(this.menu);
93558
+ // If no activeOption has yet to be set, make the first active option
93559
+ // (non-disabled, non-hidden, non-static) active by default. "Active" —
93560
+ // not just "enabled" — so hidden rows and static placeholders never
93561
+ // land in aria-activedescendant on open.
93562
+ const [firstActive] = getActiveOptions(this.menu);
93501
93563
  this.menu.updateActiveOption(firstActive);
93502
93564
  }
93503
93565
  }
@@ -93743,6 +93805,12 @@ class AuroSelect extends AuroElement$1 {
93743
93805
 
93744
93806
  /**
93745
93807
  * Binds all behavior needed to the menu after rendering.
93808
+ *
93809
+ * The `<auro-menu>` reference is captured once and not re-targeted on
93810
+ * `slotchange`. Runtime option mutations are covered via
93811
+ * `auroMenu-optionsChange`, so swap options inside the menu freely; do not
93812
+ * swap the `<auro-menu>` element itself under a live select — remount the
93813
+ * parent `<auro-select>` instead.
93746
93814
  * @private
93747
93815
  * @returns {void}
93748
93816
  */
@@ -93801,6 +93869,15 @@ class AuroSelect extends AuroElement$1 {
93801
93869
  if (this.menu.optionSelected !== undefined) {
93802
93870
  return;
93803
93871
  }
93872
+ // Skip when the select is already cleared (valueless click with no
93873
+ // prior selection): value/optionSelected are already empty and there
93874
+ // is no stale trigger text to refresh, so updateDisplayedValue would
93875
+ // just churn the DOM and request a needless dropdown re-render.
93876
+ const hasStaleState = this.value !== undefined ||
93877
+ (this.multiSelect ? this.optionSelected?.length > 0 : this.optionSelected !== undefined);
93878
+ if (!hasStaleState) {
93879
+ return;
93880
+ }
93804
93881
  this.value = undefined;
93805
93882
  this.optionSelected = this.multiSelect ? [] : undefined;
93806
93883
  // The trigger label is rendered imperatively into #value, so a property
@@ -93830,10 +93907,15 @@ class AuroSelect extends AuroElement$1 {
93830
93907
  if (this.dropdown.isPopoverVisible) {
93831
93908
  announceToScreenReader(this._getAnnouncementRoot(), message);
93832
93909
  } else {
93833
- // Typeahead-on-closed fires this event before `show()` flips
93834
- // isPopoverVisible. Defer so the announcement targets the bib's
93835
- // live region once the fullscreen <dialog> opens otherwise it
93836
- // lands in the host root, which is inert under the active modal.
93910
+ // Typeahead-on-closed calls updateActiveOption() before show(), so
93911
+ // this handler runs with isPopoverVisible still false. queueMicrotask
93912
+ // is safe because show() showBib() flips isPopoverVisible and
93913
+ // dialog.showModal() both run synchronously in the same task; the
93914
+ // microtask queue only drains once _handleTypeahead unwinds, by
93915
+ // which point _getAnnouncementRoot() resolves to the bib's shadow
93916
+ // root inside the now-open modal. Do NOT switch to auroDropdown-toggled
93917
+ // — it fires before showModal(), landing the announcement in the
93918
+ // host root while the dialog is still not-yet-modal.
93837
93919
  queueMicrotask(() => announceToScreenReader(this._getAnnouncementRoot(), message));
93838
93920
  }
93839
93921
  }
@@ -94227,6 +94309,13 @@ class AuroSelect extends AuroElement$1 {
94227
94309
  }
94228
94310
 
94229
94311
  if (changedProperties.has('value')) {
94312
+ // A value change ends the current interaction — whether it came from a
94313
+ // user commit, programmatic assignment, or reset(). Clear the buffer so
94314
+ // a stale prefix does not concatenate onto the next keystroke while the
94315
+ // host still has focus (the blur listener would otherwise be the only
94316
+ // focus-retained clear point, and hideBib() below does not blur).
94317
+ this._clearTypeaheadBuffer();
94318
+
94230
94319
  this.setMenuValue(this.value);
94231
94320
 
94232
94321
  this._updateNativeSelect();
@@ -94282,6 +94371,9 @@ class AuroSelect extends AuroElement$1 {
94282
94371
  * @returns {void}
94283
94372
  */
94284
94373
  reset() {
94374
+ // Defense-in-depth: updated()'s value-change branch also clears, but
94375
+ // reset-to-same-value (e.g. undefined → undefined) skips that path.
94376
+ this._clearTypeaheadBuffer();
94285
94377
  this.menu.reset();
94286
94378
  this.validation.reset(this);
94287
94379
  }
@@ -94304,8 +94396,13 @@ class AuroSelect extends AuroElement$1 {
94304
94396
  // Hidden native <select> has no `multiple` attribute, so any change it fires
94305
94397
  // is a single raw value — applying it in multiSelect mode would collapse the
94306
94398
  // JSON-array `value` shape. Bfcache/autofill can reach this on a name-bearing
94307
- // form control even with aria-hidden/tabindex=-1.
94308
- if (this.multiSelect) return;
94399
+ // form control even with aria-hidden/tabindex=-1, so revert to the expected
94400
+ // mirror (formattedValue[0]) rather than letting the native select drift and
94401
+ // silently submit the autofilled scalar under `name`.
94402
+ if (this.multiSelect) {
94403
+ this._updateNativeSelect();
94404
+ return;
94405
+ }
94309
94406
 
94310
94407
  const selectedOption = event.target.options[event.target.selectedIndex];
94311
94408
  if (!selectedOption) return;