@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
@@ -11602,14 +11602,17 @@ let BaseInput$2 = class BaseInput extends AuroElement$6 {
11602
11602
  * @returns {void}
11603
11603
  */
11604
11604
  notifyValueChanged() {
11605
- let inputEvent = null;
11606
-
11607
- inputEvent = new Event('input', {
11605
+ // This echoes Lit's reactive value update (and handleClickClear's
11606
+ // programmatic clear) — it is NOT a fresh user-input event. Mark it
11607
+ // `isProgrammatic` so consumers (e.g. auro-combobox) can distinguish
11608
+ // it from genuine user typing and skip clobbering their own
11609
+ // programmatic state during init-time renders.
11610
+ const inputEvent = new Event('input', {
11608
11611
  bubbles: true,
11609
11612
  composed: true,
11610
11613
  });
11614
+ inputEvent.isProgrammatic = true;
11611
11615
 
11612
- // Dispatched event to alert outside shadow DOM context of event firing.
11613
11616
  this.dispatchEvent(inputEvent);
11614
11617
  }
11615
11618
 
@@ -12322,7 +12325,7 @@ let AuroHelpText$8 = class AuroHelpText extends i$2 {
12322
12325
  }
12323
12326
  };
12324
12327
 
12325
- var formkitVersion$8 = '202607012103';
12328
+ var formkitVersion$8 = '202607022214';
12326
12329
 
12327
12330
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
12328
12331
  // See LICENSE in the project root for license information.
@@ -12608,20 +12611,15 @@ let AuroInput$2 = class AuroInput extends BaseInput$2 {
12608
12611
  * @returns {void}
12609
12612
  */
12610
12613
  checkDisplayValueSlotChange() {
12611
- let nodes = this.shadowRoot.querySelector('slot[name="displayValue"]').assignedNodes();
12612
-
12613
- // Handle when DisplayValue is multi-level slot content (e.g. combobox passing displayValue to input)
12614
- if (nodes && nodes[0] && nodes[0].tagName === 'SLOT') {
12615
- nodes = nodes[0].assignedNodes();
12616
- }
12617
-
12618
- let hasContent = false;
12619
-
12620
- if (nodes.length > 0) {
12621
- hasContent = true;
12622
- }
12614
+ // flatten:true resolves through auro-combobox's forwarding slot
12615
+ // (<slot name="displayValue" slot="displayValue">) so a clone appended
12616
+ // directly to auro-input's light DOM alongside the forwarder still
12617
+ // counts as content. The prior nodes[0].tagName === 'SLOT' recursion
12618
+ // discarded any siblings past the forwarder.
12619
+ const slot = this.shadowRoot.querySelector('slot[name="displayValue"]');
12620
+ const nodes = slot.assignedNodes({ flatten: true });
12623
12621
 
12624
- this.hasDisplayValueContent = hasContent;
12622
+ this.hasDisplayValueContent = nodes.length > 0;
12625
12623
  }
12626
12624
 
12627
12625
  firstUpdated() {
@@ -26692,7 +26690,7 @@ let AuroBibtemplate$3 = class AuroBibtemplate extends i$2 {
26692
26690
  }
26693
26691
  };
26694
26692
 
26695
- var formkitVersion$2$1 = '202607012103';
26693
+ var formkitVersion$2$1 = '202607022214';
26696
26694
 
26697
26695
  let l$1$2 = class l{generateElementName(t,e){let o=t;return o+="-",o+=e.replace(/[.]/g,"_"),o}generateTag(o,s,a){const r=this.generateElementName(o,s),i=i$5`${s$5(r)}`;return customElements.get(r)||customElements.define(r,class extends a{}),i}};let d$1$2 = class d{registerComponent(t,e){customElements.get(t)||customElements.define(t,class extends e{});}closestElement(t,e=this,o=(e,s=e&&e.closest(t))=>e&&e!==document&&e!==window?s||o(e.getRootNode().host):null){return o(e)}handleComponentTagRename(t,e){const o=e.toLowerCase();t.tagName.toLowerCase()!==o&&t.setAttribute(o,true);}elementMatch(t,e){const o=e.toLowerCase();return t.tagName.toLowerCase()===o||t.hasAttribute(o)}getSlotText(t,e){const o=t.shadowRoot?.querySelector(`slot[name="${e}"]`),s=(o?.assignedNodes({flatten:true})||[]).map(t=>t.textContent?.trim()).join(" ").trim();return s||null}};let h$1$2 = class h{registerComponent(t,e){customElements.get(t)||customElements.define(t,class extends e{});}closestElement(t,e=this,o=(e,s=e&&e.closest(t))=>e&&e!==document&&e!==window?s||o(e.getRootNode().host):null){return o(e)}handleComponentTagRename(t,e){const o=e.toLowerCase();t.tagName.toLowerCase()!==o&&t.setAttribute(o,true);}elementMatch(t,e){const o=e.toLowerCase();return t.tagName.toLowerCase()===o||t.hasAttribute(o)}};var c$1$3=i$4`:host{color:var(--ds-auro-loader-color)}:host>span{background-color:var(--ds-auro-loader-background-color);border-color:var(--ds-auro-loader-border-color)}:host([onlight]),:host([appearance=brand]){--ds-auro-loader-color: var(--ds-basic-color-brand-primary, #01426a)}:host([ondark]),:host([appearance=inverse]){--ds-auro-loader-color: var(--ds-basic-color-texticon-inverse, #ffffff)}:host([orbit])>span{--ds-auro-loader-background-color: transparent}:host([orbit])>span:nth-child(1){--ds-auro-loader-border-color: currentcolor;opacity:.25}:host([orbit])>span:nth-child(2){--ds-auro-loader-border-color: currentcolor;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent}
26698
26696
  `,u$4$2=i$4`.body-default{font-size:var(--wcss-body-default-font-size, 1rem);line-height:var(--wcss-body-default-line-height, 1.5rem)}.body-default,.body-lg{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-weight, 450);letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-lg{font-size:var(--wcss-body-lg-font-size, 1.125rem);line-height:var(--wcss-body-lg-line-height, 1.625rem)}.body-sm{font-size:var(--wcss-body-sm-font-size, .875rem);line-height:var(--wcss-body-sm-line-height, 1.25rem)}.body-sm,.body-xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-weight, 450);letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-xs{font-size:var(--wcss-body-xs-font-size, .75rem);line-height:var(--wcss-body-xs-line-height, 1rem)}.body-2xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:var(--wcss-body-2xs-font-size, .625rem);font-weight:var(--wcss-body-weight, 450);letter-spacing:var(--wcss-body-letter-spacing, 0);line-height:var(--wcss-body-2xs-line-height, .875rem)}.display-2xl{font-family:var(--wcss-display-2xl-family, "AS Circular"),var(--wcss-display-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-2xl-font-size, clamp(3.5rem, 6vw, 5.375rem));font-weight:var(--wcss-display-2xl-weight, 300);letter-spacing:var(--wcss-display-2xl-letter-spacing, 0);line-height:var(--wcss-display-2xl-line-height, 1.3)}.display-xl{font-family:var(--wcss-display-xl-family, "AS Circular"),var(--wcss-display-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-xl-font-size, clamp(3rem, 5.3333333333vw, 4.5rem));font-weight:var(--wcss-display-xl-weight, 300);letter-spacing:var(--wcss-display-xl-letter-spacing, 0);line-height:var(--wcss-display-xl-line-height, 1.3)}.display-lg{font-family:var(--wcss-display-lg-family, "AS Circular"),var(--wcss-display-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-lg-font-size, clamp(2.75rem, 4.6666666667vw, 4rem));font-weight:var(--wcss-display-lg-weight, 300);letter-spacing:var(--wcss-display-lg-letter-spacing, 0);line-height:var(--wcss-display-lg-line-height, 1.3)}.display-md{font-family:var(--wcss-display-md-family, "AS Circular"),var(--wcss-display-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-md-font-size, clamp(2.5rem, 4vw, 3.5rem));font-weight:var(--wcss-display-md-weight, 300);letter-spacing:var(--wcss-display-md-letter-spacing, 0);line-height:var(--wcss-display-md-line-height, 1.3)}.display-sm{font-family:var(--wcss-display-sm-family, "AS Circular"),var(--wcss-display-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-sm-font-size, clamp(2rem, 3.6666666667vw, 3rem));font-weight:var(--wcss-display-sm-weight, 300);letter-spacing:var(--wcss-display-sm-letter-spacing, 0);line-height:var(--wcss-display-sm-line-height, 1.3)}.display-xs{font-family:var(--wcss-display-xs-family, "AS Circular"),var(--wcss-display-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-xs-font-size, clamp(1.75rem, 3vw, 2.375rem));font-weight:var(--wcss-display-xs-weight, 300);letter-spacing:var(--wcss-display-xs-letter-spacing, 0);line-height:var(--wcss-display-xs-line-height, 1.3)}.heading-xl{font-family:var(--wcss-heading-xl-family, "AS Circular"),var(--wcss-heading-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-xl-font-size, clamp(2rem, 3vw, 2.5rem));font-weight:var(--wcss-heading-xl-weight, 300);letter-spacing:var(--wcss-heading-xl-letter-spacing, 0);line-height:var(--wcss-heading-xl-line-height, 1.3)}.heading-lg{font-family:var(--wcss-heading-lg-family, "AS Circular"),var(--wcss-heading-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-lg-font-size, clamp(1.75rem, 2.6666666667vw, 2.25rem));font-weight:var(--wcss-heading-lg-weight, 300);letter-spacing:var(--wcss-heading-lg-letter-spacing, 0);line-height:var(--wcss-heading-lg-line-height, 1.3)}.heading-md{font-family:var(--wcss-heading-md-family, "AS Circular"),var(--wcss-heading-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-md-font-size, clamp(1.625rem, 2.3333333333vw, 1.75rem));font-weight:var(--wcss-heading-md-weight, 300);letter-spacing:var(--wcss-heading-md-letter-spacing, 0);line-height:var(--wcss-heading-md-line-height, 1.3)}.heading-sm{font-family:var(--wcss-heading-sm-family, "AS Circular"),var(--wcss-heading-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-sm-font-size, clamp(1.375rem, 2vw, 1.5rem));font-weight:var(--wcss-heading-sm-weight, 300);letter-spacing:var(--wcss-heading-sm-letter-spacing, 0);line-height:var(--wcss-heading-sm-line-height, 1.3)}.heading-xs{font-family:var(--wcss-heading-xs-family, "AS Circular"),var(--wcss-heading-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-xs-font-size, clamp(1.25rem, 1.6666666667vw, 1.25rem));font-weight:var(--wcss-heading-xs-weight, 450);letter-spacing:var(--wcss-heading-xs-letter-spacing, 0);line-height:var(--wcss-heading-xs-line-height, 1.3)}.heading-2xs{font-family:var(--wcss-heading-2xs-family, "AS Circular"),var(--wcss-heading-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-2xs-font-size, clamp(1.125rem, 1.5vw, 1.125rem));font-weight:var(--wcss-heading-2xs-weight, 450);letter-spacing:var(--wcss-heading-2xs-letter-spacing, 0);line-height:var(--wcss-heading-2xs-line-height, 1.3)}.accent-2xl{font-family:var(--wcss-accent-2xl-family, "Good OT"),var(--wcss-accent-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-2xl-font-size, clamp(2rem, 3.1666666667vw, 2.375rem));font-weight:var(--wcss-accent-2xl-weight, 450);letter-spacing:var(--wcss-accent-2xl-letter-spacing, .05em);line-height:var(--wcss-accent-2xl-line-height, 1)}.accent-2xl,.accent-xl{text-transform:uppercase}.accent-xl{font-family:var(--wcss-accent-xl-family, "Good OT"),var(--wcss-accent-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-xl-font-size, clamp(1.625rem, 2.3333333333vw, 2rem));font-weight:var(--wcss-accent-xl-weight, 450);letter-spacing:var(--wcss-accent-xl-letter-spacing, .05em);line-height:var(--wcss-accent-xl-line-height, 1.3)}.accent-lg{font-family:var(--wcss-accent-lg-family, "Good OT"),var(--wcss-accent-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-lg-font-size, clamp(1.5rem, 2.1666666667vw, 1.75rem));font-weight:var(--wcss-accent-lg-weight, 450);letter-spacing:var(--wcss-accent-lg-letter-spacing, .05em);line-height:var(--wcss-accent-lg-line-height, 1.3)}.accent-lg,.accent-md{text-transform:uppercase}.accent-md{font-family:var(--wcss-accent-md-family, "Good OT"),var(--wcss-accent-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-md-font-size, clamp(1.375rem, 1.8333333333vw, 1.5rem));font-weight:var(--wcss-accent-md-weight, 500);letter-spacing:var(--wcss-accent-md-letter-spacing, .05em);line-height:var(--wcss-accent-md-line-height, 1.3)}.accent-sm{font-family:var(--wcss-accent-sm-family, "Good OT"),var(--wcss-accent-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-sm-font-size, clamp(1.125rem, 1.5vw, 1.25rem));font-weight:var(--wcss-accent-sm-weight, 500);letter-spacing:var(--wcss-accent-sm-letter-spacing, .05em);line-height:var(--wcss-accent-sm-line-height, 1.3)}.accent-sm,.accent-xs{text-transform:uppercase}.accent-xs{font-family:var(--wcss-accent-xs-family, "Good OT"),var(--wcss-accent-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-xs-font-size, clamp(1rem, 1.3333333333vw, 1rem));font-weight:var(--wcss-accent-xs-weight, 500);letter-spacing:var(--wcss-accent-xs-letter-spacing, .1em);line-height:var(--wcss-accent-xs-line-height, 1.3)}.accent-2xs{font-family:var(--wcss-accent-2xs-family, "Good OT"),var(--wcss-accent-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-2xs-font-size, clamp(.875rem, 1.1666666667vw, .875rem));font-weight:var(--wcss-accent-2xs-weight, 450);letter-spacing:var(--wcss-accent-2xs-letter-spacing, .1em);line-height:var(--wcss-accent-2xs-line-height, 1.3);text-transform:uppercase}:focus:not(:focus-visible){outline:3px solid transparent}:host,:host>span{position:relative}:host{width:2rem;height:2rem;display:inline-block;font-size:0}:host>span{position:absolute;display:inline-block;float:none;top:0;left:0;width:2rem;height:2rem;border-radius:100%;border-style:solid;border-width:0;box-sizing:border-box}:host([xs]),:host([xs])>span{width:1.2rem;height:1.2rem}:host([sm]),:host([sm])>span{width:3rem;height:3rem}:host([md]),:host([md])>span{width:5rem;height:5rem}:host([lg]),:host([lg])>span{width:8rem;height:8rem}:host{--margin: .375rem;--margin-xs: .2rem;--margin-sm: .5rem;--margin-md: .75rem;--margin-lg: 1rem}:host([pulse]),:host([pulse])>span{position:relative}:host([pulse]){width:calc(3rem + var(--margin) * 6);height:calc(1rem + var(--margin) * 2)}:host([pulse])>span{width:1rem;height:1rem;margin:var(--margin);animation:pulse 1.5s ease infinite}:host([pulse][xs]){width:calc(1.95rem + var(--margin-xs) * 6);height:calc(.65rem + var(--margin-xs) * 2)}:host([pulse][xs])>span{margin:var(--margin-xs);width:.65rem;height:.65rem}:host([pulse][sm]){width:calc(6rem + var(--margin-sm) * 6);height:calc(2rem + var(--margin-sm) * 2)}:host([pulse][sm])>span{margin:var(--margin-sm);width:2rem;height:2rem}:host([pulse][md]){width:calc(9rem + var(--margin-md) * 6);height:calc(3rem + var(--margin-md) * 2)}:host([pulse][md])>span{margin:var(--margin-md);width:3rem;height:3rem}:host([pulse][lg]){width:calc(15rem + var(--margin-lg) * 6);height:calc(5rem + var(--margin-lg) * 2)}:host([pulse][lg])>span{margin:var(--margin-lg);width:5rem;height:5rem}:host([pulse])>span:nth-child(1){animation-delay:-.4s}:host([pulse])>span:nth-child(2){animation-delay:-.2s}:host([pulse])>span:nth-child(3){animation-delay:0ms}@keyframes pulse{0%,to{opacity:.1;transform:scale(.9)}50%{opacity:1;transform:scale(1.1)}}:host([orbit]),:host([orbit])>span{opacity:1}:host([orbit])>span{border-width:5px}:host([orbit])>span:nth-child(2){animation:orbit 2s linear infinite}:host([orbit][sm])>span{border-width:8px}:host([orbit][md])>span{border-width:13px}:host([orbit][lg])>span{border-width:21px}@keyframes orbit{0%{transform:rotate(0)}to{transform:rotate(360deg)}}:host([ringworm])>svg{animation:rotate 2s linear infinite;height:100%;width:100%;stroke:currentcolor;stroke-width:8}:host([ringworm]) .path{stroke-dashoffset:0;animation:ringworm 1.5s ease-in-out infinite;stroke-linecap:round}@keyframes rotate{to{transform:rotate(360deg)}}@keyframes ringworm{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px}to{stroke-dasharray:89,200;stroke-dashoffset:-124px}}:host([laser]){position:static;width:100%;display:block;height:0;overflow:hidden;font-size:unset}:host([laser])>span{position:fixed;width:100%;height:.25rem;border-radius:0;z-index:100}:host([laser])>span:nth-child(1){border-color:currentcolor;opacity:.25}:host([laser])>span:nth-child(2){border-color:currentcolor;animation:laser 2s linear infinite;opacity:1;width:50%}:host([laser][sm])>span:nth-child(2){width:20%}:host([laser][md])>span:nth-child(2){width:30%}:host([laser][lg])>span:nth-child(2){width:50%;animation-duration:1.5s}:host([laser][xl])>span:nth-child(2){width:80%;animation-duration:1.5s}@keyframes laser{0%{left:-100%}to{left:110%}}:host>.no-animation{display:none}@media (prefers-reduced-motion: reduce){:host{display:flex;align-items:center;justify-content:center}:host>span{opacity:1}:host>.loader{display:none}:host>svg{display:none}:host>.no-animation{display:block}}
@@ -32510,7 +32508,7 @@ let AuroHelpText$2$1 = class AuroHelpText extends i$2 {
32510
32508
  }
32511
32509
  };
32512
32510
 
32513
- var formkitVersion$1$3 = '202607012103';
32511
+ var formkitVersion$1$3 = '202607022214';
32514
32512
 
32515
32513
  let AuroElement$2$2 = class AuroElement extends i$2 {
32516
32514
  static get properties() {
@@ -45392,14 +45390,17 @@ let BaseInput$1 = class BaseInput extends AuroElement$1$3 {
45392
45390
  * @returns {void}
45393
45391
  */
45394
45392
  notifyValueChanged() {
45395
- let inputEvent = null;
45396
-
45397
- inputEvent = new Event('input', {
45393
+ // This echoes Lit's reactive value update (and handleClickClear's
45394
+ // programmatic clear) — it is NOT a fresh user-input event. Mark it
45395
+ // `isProgrammatic` so consumers (e.g. auro-combobox) can distinguish
45396
+ // it from genuine user typing and skip clobbering their own
45397
+ // programmatic state during init-time renders.
45398
+ const inputEvent = new Event('input', {
45398
45399
  bubbles: true,
45399
45400
  composed: true,
45400
45401
  });
45402
+ inputEvent.isProgrammatic = true;
45401
45403
 
45402
- // Dispatched event to alert outside shadow DOM context of event firing.
45403
45404
  this.dispatchEvent(inputEvent);
45404
45405
  }
45405
45406
 
@@ -46112,7 +46113,7 @@ let AuroHelpText$1$3 = class AuroHelpText extends i$2 {
46112
46113
  }
46113
46114
  };
46114
46115
 
46115
- var formkitVersion$7 = '202607012103';
46116
+ var formkitVersion$7 = '202607022214';
46116
46117
 
46117
46118
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
46118
46119
  // See LICENSE in the project root for license information.
@@ -46398,20 +46399,15 @@ let AuroInput$1 = class AuroInput extends BaseInput$1 {
46398
46399
  * @returns {void}
46399
46400
  */
46400
46401
  checkDisplayValueSlotChange() {
46401
- let nodes = this.shadowRoot.querySelector('slot[name="displayValue"]').assignedNodes();
46402
-
46403
- // Handle when DisplayValue is multi-level slot content (e.g. combobox passing displayValue to input)
46404
- if (nodes && nodes[0] && nodes[0].tagName === 'SLOT') {
46405
- nodes = nodes[0].assignedNodes();
46406
- }
46407
-
46408
- let hasContent = false;
46409
-
46410
- if (nodes.length > 0) {
46411
- hasContent = true;
46412
- }
46402
+ // flatten:true resolves through auro-combobox's forwarding slot
46403
+ // (<slot name="displayValue" slot="displayValue">) so a clone appended
46404
+ // directly to auro-input's light DOM alongside the forwarder still
46405
+ // counts as content. The prior nodes[0].tagName === 'SLOT' recursion
46406
+ // discarded any siblings past the forwarder.
46407
+ const slot = this.shadowRoot.querySelector('slot[name="displayValue"]');
46408
+ const nodes = slot.assignedNodes({ flatten: true });
46413
46409
 
46414
- this.hasDisplayValueContent = hasContent;
46410
+ this.hasDisplayValueContent = nodes.length > 0;
46415
46411
  }
46416
46412
 
46417
46413
  firstUpdated() {
@@ -50994,7 +50990,7 @@ let AuroHelpText$1$2 = class AuroHelpText extends i$2 {
50994
50990
  }
50995
50991
  };
50996
50992
 
50997
- var formkitVersion$1$2 = '202607012103';
50993
+ var formkitVersion$1$2 = '202607022214';
50998
50994
 
50999
50995
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
51000
50996
  // See LICENSE in the project root for license information.
@@ -55322,7 +55318,7 @@ let AuroHelpText$6 = class AuroHelpText extends i$2 {
55322
55318
  }
55323
55319
  };
55324
55320
 
55325
- var formkitVersion$6 = '202607012103';
55321
+ var formkitVersion$6 = '202607022214';
55326
55322
 
55327
55323
  let AuroElement$1$2 = class AuroElement extends i$2 {
55328
55324
  static get properties() {
@@ -59302,7 +59298,7 @@ let AuroHelpText$5 = class AuroHelpText extends i$2 {
59302
59298
  }
59303
59299
  };
59304
59300
 
59305
- var formkitVersion$5 = '202607012103';
59301
+ var formkitVersion$5 = '202607022214';
59306
59302
 
59307
59303
  // Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
59308
59304
  // See LICENSE in the project root for license information.
@@ -61067,7 +61063,7 @@ let AuroHelpText$4 = class AuroHelpText extends i$2 {
61067
61063
  }
61068
61064
  };
61069
61065
 
61070
- var formkitVersion$4 = '202607012103';
61066
+ var formkitVersion$4 = '202607022214';
61071
61067
 
61072
61068
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
61073
61069
  // See LICENSE in the project root for license information.
@@ -66288,7 +66284,7 @@ let AuroHelpText$2 = class AuroHelpText extends i$2 {
66288
66284
  }
66289
66285
  };
66290
66286
 
66291
- var formkitVersion$2 = '202607012103';
66287
+ var formkitVersion$2 = '202607022214';
66292
66288
 
66293
66289
  let AuroElement$2$1 = class AuroElement extends i$2 {
66294
66290
  static get properties() {
@@ -79170,14 +79166,17 @@ class BaseInput extends AuroElement$1$1 {
79170
79166
  * @returns {void}
79171
79167
  */
79172
79168
  notifyValueChanged() {
79173
- let inputEvent = null;
79174
-
79175
- inputEvent = new Event('input', {
79169
+ // This echoes Lit's reactive value update (and handleClickClear's
79170
+ // programmatic clear) — it is NOT a fresh user-input event. Mark it
79171
+ // `isProgrammatic` so consumers (e.g. auro-combobox) can distinguish
79172
+ // it from genuine user typing and skip clobbering their own
79173
+ // programmatic state during init-time renders.
79174
+ const inputEvent = new Event('input', {
79176
79175
  bubbles: true,
79177
79176
  composed: true,
79178
79177
  });
79178
+ inputEvent.isProgrammatic = true;
79179
79179
 
79180
- // Dispatched event to alert outside shadow DOM context of event firing.
79181
79180
  this.dispatchEvent(inputEvent);
79182
79181
  }
79183
79182
 
@@ -79890,7 +79889,7 @@ let AuroHelpText$1$1 = class AuroHelpText extends i$2 {
79890
79889
  }
79891
79890
  };
79892
79891
 
79893
- var formkitVersion$1$1 = '202607012103';
79892
+ var formkitVersion$1$1 = '202607022214';
79894
79893
 
79895
79894
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
79896
79895
  // See LICENSE in the project root for license information.
@@ -80176,20 +80175,15 @@ class AuroInput extends BaseInput {
80176
80175
  * @returns {void}
80177
80176
  */
80178
80177
  checkDisplayValueSlotChange() {
80179
- let nodes = this.shadowRoot.querySelector('slot[name="displayValue"]').assignedNodes();
80180
-
80181
- // Handle when DisplayValue is multi-level slot content (e.g. combobox passing displayValue to input)
80182
- if (nodes && nodes[0] && nodes[0].tagName === 'SLOT') {
80183
- nodes = nodes[0].assignedNodes();
80184
- }
80185
-
80186
- let hasContent = false;
80187
-
80188
- if (nodes.length > 0) {
80189
- hasContent = true;
80190
- }
80178
+ // flatten:true resolves through auro-combobox's forwarding slot
80179
+ // (<slot name="displayValue" slot="displayValue">) so a clone appended
80180
+ // directly to auro-input's light DOM alongside the forwarder still
80181
+ // counts as content. The prior nodes[0].tagName === 'SLOT' recursion
80182
+ // discarded any siblings past the forwarder.
80183
+ const slot = this.shadowRoot.querySelector('slot[name="displayValue"]');
80184
+ const nodes = slot.assignedNodes({ flatten: true });
80191
80185
 
80192
- this.hasDisplayValueContent = hasContent;
80186
+ this.hasDisplayValueContent = nodes.length > 0;
80193
80187
  }
80194
80188
 
80195
80189
  firstUpdated() {
@@ -81016,7 +81010,7 @@ let AuroBibtemplate$1 = class AuroBibtemplate extends i$2 {
81016
81010
  }
81017
81011
  };
81018
81012
 
81019
- var formkitVersion$3 = '202607012103';
81013
+ var formkitVersion$3 = '202607022214';
81020
81014
 
81021
81015
  var styleCss$1$3 = i$4`.util_displayInline{display:inline}.util_displayInlineBlock{display:inline-block}.util_displayBlock{display:block}.util_displayFlex{display:flex}.util_displayHidden{display:none}.util_displayHiddenVisually{position:absolute;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);width:1px;height:1px;padding:0;border:0}:host{display:block;text-align:left}:host [auro-dropdown]{--ds-auro-dropdown-trigger-background-color: transparent}:host #inputInBib::part(wrapper){box-shadow:none}:host #inputInBib::part(accent-left){display:none}:host([layout*=classic]) [auro-input]{width:100%}:host([layout*=classic]) [auro-input]::part(helpText){display:none}:host([layout*=classic]) #slotHolder{display:none}`;
81022
81016
 
@@ -82115,9 +82109,19 @@ class AuroCombobox extends AuroElement$3 {
82115
82109
  /**
82116
82110
  * Processes hidden state of all menu options and determines if there are any available options not hidden.
82117
82111
  * @private
82112
+ * @param {object} [options={}] - Optional flag bag.
82113
+ * @param {boolean} [options.preferComboboxValue=false] - When true,
82114
+ * handleMenuOptions matches the selected option against `this.value`
82115
+ * first instead of `this.input.value`. Needed on mount and re-mount
82116
+ * because under `persistInput` the consumer's typedValue prop can drift
82117
+ * from the framework value (Svelte `{#key}` re-mount after a swap, or
82118
+ * SPA preselect after route change) and the old input-first match would
82119
+ * then pick the stale text. Only handleSlotChange passes this; typing
82120
+ * and clearing paths keep the input-first match so user clears aren't
82121
+ * undone.
82118
82122
  * @returns {void}
82119
82123
  */
82120
- handleMenuOptions() {
82124
+ handleMenuOptions({ preferComboboxValue = false } = {}) {
82121
82125
  this.generateOptionsArray();
82122
82126
  this.availableOptions = [];
82123
82127
  // Single source of truth for the menu's filter/highlight token per call.
@@ -82138,7 +82142,20 @@ class AuroCombobox extends AuroElement$3 {
82138
82142
  option.setAttribute('aria-posinset', index + 1);
82139
82143
  });
82140
82144
 
82141
- if (this.input.value && this.menu.options && this.menu.options.some((opt) => opt.value === this.input.value)) {
82145
+ // On mount/re-mount (via handleSlotChange), prefer the framework-set
82146
+ // `this.value` when it matches a menu option. Covers SPA preselect and
82147
+ // consumer swap patterns (e.g. Svelte `{#key}` re-mount) where
82148
+ // `this.value` is authoritative but `this.input.value` may be empty or
82149
+ // carry stale typed text from another field. Event-driven callers do
82150
+ // not pass the flag, otherwise user clears would be undone by
82151
+ // re-syncing to the previous combobox.value.
82152
+ if (preferComboboxValue &&
82153
+ this.value &&
82154
+ this.menu.options?.some((opt) => opt.value === this.value)) {
82155
+ this.setMenuValue(this.value);
82156
+ this.syncValuesAndStates();
82157
+ } else if (this.input.value &&
82158
+ this.menu.options?.some((opt) => opt.value === this.input.value)) {
82142
82159
  this.setMenuValue(this.input.value);
82143
82160
  this.syncValuesAndStates();
82144
82161
  }
@@ -82575,7 +82592,25 @@ class AuroCombobox extends AuroElement$3 {
82575
82592
  this.optionActive = evt.detail;
82576
82593
 
82577
82594
  if (this.input) {
82578
- this.input.setActiveDescendant(this.optionActive);
82595
+ // setActiveDescendant runs after Lit's update finishes because the
82596
+ // template's `.a11yActivedescendant` binding calls setAttribute on
82597
+ // the internal <input> in auro-input.updated(), which clears the
82598
+ // reflected ariaActiveDescendantElement property. Setting the ref
82599
+ // synchronously here would get overwritten by that attribute write.
82600
+ // Awaiting updateComplete lets the attribute write finish first,
82601
+ // then the ref sticks and screen readers can cross the shadow-DOM
82602
+ // boundary to the auro-menuoption in light DOM.
82603
+ //
82604
+ // The equality check covers the async gap: this.optionActive can
82605
+ // change before the callback runs (user arrowed elsewhere, or the
82606
+ // menu closed and cleared it to null), so we bail if the target
82607
+ // no longer matches to avoid reinstating a stale ref.
82608
+ const targetOption = this.optionActive;
82609
+ this.updateComplete.then(() => {
82610
+ if (this.input && this.optionActive === targetOption) {
82611
+ this.input.setActiveDescendant(targetOption);
82612
+ }
82613
+ });
82579
82614
  }
82580
82615
 
82581
82616
  // In fullscreen mode the menu sits inside a nested <dialog> shadow root,
@@ -82712,6 +82747,18 @@ class AuroCombobox extends AuroElement$3 {
82712
82747
  }
82713
82748
  }
82714
82749
 
82750
+ // SPA preselect guard: on init render, auro-input's notifyValueChanged
82751
+ // echoes an empty value through as an isProgrammatic input event before
82752
+ // the framework-set combobox.value has propagated down to the input.
82753
+ // Without this bail, the `this.value = this.input.value` below clobbers
82754
+ // the framework value with '' and clear() wipes optionSelected. Scoped
82755
+ // to the exact shape of that echo (isProgrammatic + non-empty combobox
82756
+ // value + empty input.value) so it doesn't affect the swap/typed paths
82757
+ // where value/input already track each other through the sync helpers.
82758
+ if (event && event.isProgrammatic && this.value && !this.input.value) {
82759
+ return;
82760
+ }
82761
+
82715
82762
  this.value = this.input.value;
82716
82763
 
82717
82764
  // Ignore re-entrant input events caused by programmatic value sets.
@@ -83144,7 +83191,11 @@ class AuroCombobox extends AuroElement$3 {
83144
83191
  }
83145
83192
  });
83146
83193
 
83147
- this.handleMenuOptions();
83194
+ // Slot change (mount/re-mount): pass `preferComboboxValue` so that a
83195
+ // framework-set `this.value` wins over any stale `input.value` when
83196
+ // matching against the newly-available options. Fixes the display
83197
+ // for SPA preselect and Svelte `{#key}` re-mount swap patterns.
83198
+ this.handleMenuOptions({ preferComboboxValue: true });
83148
83199
 
83149
83200
  break;
83150
83201
 
@@ -85793,9 +85844,6 @@ function navigateArrow(component, direction, options = {}) {
85793
85844
  * @param {HTMLElement | null | undefined} menu - The auro-menu element.
85794
85845
  * @returns {Array<HTMLElement>} Non-disabled options, empty array when none.
85795
85846
  */
85796
- function getEnabledOptions(menu) {
85797
- return (menu?.options || []).filter((option) => !option.disabled);
85798
- }
85799
85847
 
85800
85848
  /**
85801
85849
  * Returns the active (selectable + visible) options for type-ahead navigation.
@@ -85865,8 +85913,10 @@ const selectKeyboardStrategy = {
85865
85913
  End(component, evt, ctx) {
85866
85914
  evt.preventDefault();
85867
85915
  evt.stopPropagation();
85868
- // `pop()` is safe here: getEnabledOptions returns a fresh filtered array.
85869
- const lastOption = getEnabledOptions(component.menu).pop();
85916
+ // `pop()` is safe here: getActiveOptions returns a fresh filtered array.
85917
+ // Uses "active" (not "enabled") so hidden and static rows — which a screen
85918
+ // reader must not announce as focused — are skipped.
85919
+ const lastOption = getActiveOptions(component.menu).pop();
85870
85920
  if (!lastOption) {
85871
85921
  return;
85872
85922
  }
@@ -85897,7 +85947,7 @@ const selectKeyboardStrategy = {
85897
85947
  Home(component, evt, ctx) {
85898
85948
  evt.preventDefault();
85899
85949
  evt.stopPropagation();
85900
- const [firstOption] = getEnabledOptions(component.menu);
85950
+ const [firstOption] = getActiveOptions(component.menu);
85901
85951
  if (!firstOption) {
85902
85952
  return;
85903
85953
  }
@@ -85922,6 +85972,15 @@ const selectKeyboardStrategy = {
85922
85972
  },
85923
85973
 
85924
85974
  default(component, evt, ctx) {
85975
+ // Ignore keys chorded with Ctrl/Meta/Alt so browser/OS shortcuts
85976
+ // (Cmd+C, Ctrl+V, Alt+X, Cmd+Space, …) don't leak into typeahead
85977
+ // or toggle the bib. Native <select> ignores modified keys.
85978
+ // ArrowUp/ArrowDown handle modifier+arrow explicitly above; this
85979
+ // guard only affects the default (printable/Space) branch.
85980
+ if (evt.ctrlKey || evt.metaKey || evt.altKey) {
85981
+ return;
85982
+ }
85983
+
85925
85984
  // Space resolves to either typeahead-buffer extension or bib toggle
85926
85985
  // depending on whether a type-ahead buffer is active. Mirrors native
85927
85986
  // <select> and the WAI-ARIA APG Listbox guidance: mid-typeahead space
@@ -89852,7 +89911,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$2 {
89852
89911
  }
89853
89912
  };
89854
89913
 
89855
- var formkitVersion$1 = '202607012103';
89914
+ var formkitVersion$1 = '202607022214';
89856
89915
 
89857
89916
  class AuroElement extends i$2 {
89858
89917
  static get properties() {
@@ -91891,7 +91950,7 @@ class AuroHelpText extends i$2 {
91891
91950
  }
91892
91951
  }
91893
91952
 
91894
- var formkitVersion = '202607012103';
91953
+ var formkitVersion = '202607022214';
91895
91954
 
91896
91955
  var styleCss = i$4`.util_displayInline{display:inline}.util_displayInlineBlock{display:inline-block}.util_displayBlock{display:block}.util_displayFlex{display:flex}.util_displayHidden{display:none}.util_displayHiddenVisually{position:absolute;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);width:1px;height:1px;padding:0;border:0}.body-default{font-size:var(--wcss-body-default-font-size, 1rem);font-weight:var(--wcss-body-default-weight, );line-height:var(--wcss-body-default-line-height, 1.5rem)}.body-default,.body-default-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-default-emphasized{font-size:var(--wcss-body-default-emphasized-font-size, 1rem);font-weight:var(--wcss-body-default-emphasized-weight, );line-height:var(--wcss-body-default-emphasized-line-height, 1.5rem)}.body-lg{font-size:var(--wcss-body-lg-font-size, 1.125rem);font-weight:var(--wcss-body-lg-weight, );line-height:var(--wcss-body-lg-line-height, 1.625rem)}.body-lg,.body-lg-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-lg-emphasized{font-size:var(--wcss-body-lg-emphasized-font-size, 1.125rem);font-weight:var(--wcss-body-lg-emphasized-weight, );line-height:var(--wcss-body-lg-emphasized-line-height, 1.625rem)}.body-sm{font-size:var(--wcss-body-sm-font-size, 0.875rem);font-weight:var(--wcss-body-sm-weight, );line-height:var(--wcss-body-sm-line-height, 1.25rem)}.body-sm,.body-sm-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-sm-emphasized{font-size:var(--wcss-body-sm-emphasized-font-size, 0.875rem);font-weight:var(--wcss-body-sm-emphasized-weight, );line-height:var(--wcss-body-sm-emphasized-line-height, 1.25rem)}.body-xs{font-size:var(--wcss-body-xs-font-size, 0.75rem);font-weight:var(--wcss-body-xs-weight, );line-height:var(--wcss-body-xs-line-height, 1rem)}.body-xs,.body-xs-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-xs-emphasized{font-size:var(--wcss-body-xs-emphasized-font-size, 0.75rem);font-weight:var(--wcss-body-xs-emphasized-weight, );line-height:var(--wcss-body-xs-emphasized-line-height, 1rem)}.body-2xs{font-size:var(--wcss-body-2xs-font-size, 0.625rem);font-weight:var(--wcss-body-2xs-weight, );line-height:var(--wcss-body-2xs-line-height, 0.875rem)}.body-2xs,.body-2xs-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-2xs-emphasized{font-size:var(--wcss-body-2xs-emphasized-font-size, 0.625rem);font-weight:var(--wcss-body-2xs-emphasized-weight, );line-height:var(--wcss-body-2xs-emphasized-line-height, 0.875rem)}.display-2xl{font-family:var(--wcss-display-2xl-family, "AS Circular"),var(--wcss-display-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-2xl-font-size, clamp(3.5rem, 6vw, 5.375rem));font-weight:var(--wcss-display-2xl-weight, 300);letter-spacing:var(--wcss-display-2xl-letter-spacing, 0);line-height:var(--wcss-display-2xl-line-height, 1.3)}.display-xl{font-family:var(--wcss-display-xl-family, "AS Circular"),var(--wcss-display-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-xl-font-size, clamp(3rem, 5.3333333333vw, 4.5rem));font-weight:var(--wcss-display-xl-weight, 300);letter-spacing:var(--wcss-display-xl-letter-spacing, 0);line-height:var(--wcss-display-xl-line-height, 1.3)}.display-lg{font-family:var(--wcss-display-lg-family, "AS Circular"),var(--wcss-display-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-lg-font-size, clamp(2.75rem, 4.6666666667vw, 4rem));font-weight:var(--wcss-display-lg-weight, 300);letter-spacing:var(--wcss-display-lg-letter-spacing, 0);line-height:var(--wcss-display-lg-line-height, 1.3)}.display-md{font-family:var(--wcss-display-md-family, "AS Circular"),var(--wcss-display-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-md-font-size, clamp(2.5rem, 4vw, 3.5rem));font-weight:var(--wcss-display-md-weight, 300);letter-spacing:var(--wcss-display-md-letter-spacing, 0);line-height:var(--wcss-display-md-line-height, 1.3)}.display-sm{font-family:var(--wcss-display-sm-family, "AS Circular"),var(--wcss-display-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-sm-font-size, clamp(2rem, 3.6666666667vw, 3rem));font-weight:var(--wcss-display-sm-weight, 300);letter-spacing:var(--wcss-display-sm-letter-spacing, 0);line-height:var(--wcss-display-sm-line-height, 1.3)}.display-xs{font-family:var(--wcss-display-xs-family, "AS Circular"),var(--wcss-display-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-xs-font-size, clamp(1.75rem, 3vw, 2.375rem));font-weight:var(--wcss-display-xs-weight, 300);letter-spacing:var(--wcss-display-xs-letter-spacing, 0);line-height:var(--wcss-display-xs-line-height, 1.3)}.heading-xl{font-family:var(--wcss-heading-xl-family, "AS Circular"),var(--wcss-heading-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-xl-font-size, clamp(2rem, 3vw, 2.5rem));font-weight:var(--wcss-heading-xl-weight, 300);letter-spacing:var(--wcss-heading-xl-letter-spacing, 0);line-height:var(--wcss-heading-xl-line-height, 1.3)}.heading-lg{font-family:var(--wcss-heading-lg-family, "AS Circular"),var(--wcss-heading-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-lg-font-size, clamp(1.75rem, 2.6666666667vw, 2.25rem));font-weight:var(--wcss-heading-lg-weight, 300);letter-spacing:var(--wcss-heading-lg-letter-spacing, 0);line-height:var(--wcss-heading-lg-line-height, 1.3)}.heading-md{font-family:var(--wcss-heading-md-family, "AS Circular"),var(--wcss-heading-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-md-font-size, clamp(1.625rem, 2.3333333333vw, 1.75rem));font-weight:var(--wcss-heading-md-weight, 300);letter-spacing:var(--wcss-heading-md-letter-spacing, 0);line-height:var(--wcss-heading-md-line-height, 1.3)}.heading-sm{font-family:var(--wcss-heading-sm-family, "AS Circular"),var(--wcss-heading-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-sm-font-size, clamp(1.375rem, 2vw, 1.5rem));font-weight:var(--wcss-heading-sm-weight, 300);letter-spacing:var(--wcss-heading-sm-letter-spacing, 0);line-height:var(--wcss-heading-sm-line-height, 1.3)}.heading-xs{font-family:var(--wcss-heading-xs-family, "AS Circular"),var(--wcss-heading-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-xs-font-size, clamp(1.25rem, 1.6666666667vw, 1.25rem));font-weight:var(--wcss-heading-xs-weight, 300);letter-spacing:var(--wcss-heading-xs-letter-spacing, 0);line-height:var(--wcss-heading-xs-line-height, 1.3)}.heading-2xs{font-family:var(--wcss-heading-2xs-family, "AS Circular"),var(--wcss-heading-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-2xs-font-size, clamp(1.125rem, 1.5vw, 1.125rem));font-weight:var(--wcss-heading-2xs-weight, 300);letter-spacing:var(--wcss-heading-2xs-letter-spacing, 0);line-height:var(--wcss-heading-2xs-line-height, 1.3)}.accent-2xl{font-family:var(--wcss-accent-2xl-family, "Good OT"),var(--wcss-accent-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-2xl-font-size, clamp(2rem, 3.1666666667vw, 2.375rem));font-weight:var(--wcss-accent-2xl-weight, 450);letter-spacing:var(--wcss-accent-2xl-letter-spacing, 0.05em);line-height:var(--wcss-accent-2xl-line-height, 1)}.accent-2xl,.accent-xl{text-transform:uppercase}.accent-xl{font-family:var(--wcss-accent-xl-family, "Good OT"),var(--wcss-accent-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-xl-font-size, clamp(1.625rem, 2.3333333333vw, 2rem));font-weight:var(--wcss-accent-xl-weight, 450);letter-spacing:var(--wcss-accent-xl-letter-spacing, 0.05em);line-height:var(--wcss-accent-xl-line-height, 1.3)}.accent-lg{font-family:var(--wcss-accent-lg-family, "Good OT"),var(--wcss-accent-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-lg-font-size, clamp(1.5rem, 2.1666666667vw, 1.75rem));font-weight:var(--wcss-accent-lg-weight, 450);letter-spacing:var(--wcss-accent-lg-letter-spacing, 0.05em);line-height:var(--wcss-accent-lg-line-height, 1.3)}.accent-lg,.accent-md{text-transform:uppercase}.accent-md{font-family:var(--wcss-accent-md-family, "Good OT"),var(--wcss-accent-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-md-font-size, clamp(1.375rem, 1.8333333333vw, 1.5rem));font-weight:var(--wcss-accent-md-weight, 500);letter-spacing:var(--wcss-accent-md-letter-spacing, 0.05em);line-height:var(--wcss-accent-md-line-height, 1.3)}.accent-sm{font-family:var(--wcss-accent-sm-family, "Good OT"),var(--wcss-accent-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-sm-font-size, clamp(1.125rem, 1.5vw, 1.25rem));font-weight:var(--wcss-accent-sm-weight, 500);letter-spacing:var(--wcss-accent-sm-letter-spacing, 0.05em);line-height:var(--wcss-accent-sm-line-height, 1.3)}.accent-sm,.accent-xs{text-transform:uppercase}.accent-xs{font-family:var(--wcss-accent-xs-family, "Good OT"),var(--wcss-accent-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-xs-font-size, clamp(1rem, 1.3333333333vw, 1rem));font-weight:var(--wcss-accent-xs-weight, 500);letter-spacing:var(--wcss-accent-xs-letter-spacing, 0.1em);line-height:var(--wcss-accent-xs-line-height, 1.3)}.accent-2xs{font-family:var(--wcss-accent-2xs-family, "Good OT"),var(--wcss-accent-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-2xs-font-size, clamp(0.875rem, 1.1666666667vw, 0.875rem));font-weight:var(--wcss-accent-2xs-weight, 450);letter-spacing:var(--wcss-accent-2xs-letter-spacing, 0.1em);line-height:var(--wcss-accent-2xs-line-height, 1.3);text-transform:uppercase}[auro-dropdown]{--ds-auro-dropdown-trigger-border-color: var(--ds-auro-select-border-color);--ds-auro-dropdown-trigger-background-color: var(--ds-auro-select-background-color);--ds-auro-dropdown-trigger-container-color: var(--ds-auro-select-background-color);--ds-auro-dropdown-trigger-outline-color: var(--ds-auro-select-outline-color)}:host{display:inline-block;text-align:left;vertical-align:top}:host([layout*=emphasized]) [auro-dropdown],:host([layout*=snowflake]) [auro-dropdown]{--ds-auro-select-border-color: transparent}:host([layout*=emphasized]) .mainContent,:host([layout*=snowflake]) .mainContent{text-align:center}.mainContent{position:relative;display:flex;overflow:hidden;flex:1;flex-direction:column;align-items:center;justify-content:center}.valueContainer [slot=displayValue]{display:none}.accents{display:flex;flex-direction:row;align-items:center;justify-content:center}::slotted([slot=typeIcon]){margin-right:var(--ds-size-100, 0.5rem)}.displayValue{display:block}.displayValue:not(.force){display:none}.displayValue:not(.force).hasContent:is(.withValue):not(.hasFocus){display:block}.triggerContent{display:flex;width:100%;align-items:center;justify-content:center}:host([layout*=emphasized]) .triggerContent{padding:0 var(--ds-size-100, 0.5rem) 0 var(--ds-size-300, 1.5rem)}:host([layout*=snowflake]) .triggerContent{padding:0 var(--ds-size-100, 0.5rem) 0 var(--ds-size-200, 1rem)}:host([layout*=snowflake]) label{padding-block:var(--ds-size-25, 0.125rem)}:host([layout*=classic]) .triggerContent{padding:0 var(--ds-size-100, 0.5rem)}:host([layout*=classic]) .mainContent{align-items:start}:host([layout*=classic]) label{overflow:hidden;cursor:text;text-overflow:ellipsis;white-space:nowrap}:host([layout*=classic]) .value{height:auto}label{color:var(--ds-auro-select-label-text-color)}:host(:is([validity]:not([validity=valid]))) [auro-dropdown]{--ds-auro-select-border-color: var(--ds-basic-color-status-error, #e31f26);--ds-auro-select-outline-color: var(--ds-basic-color-status-error, #e31f26);--ds-auro-dropdown-helptext-text-color: var(--ds-basic-color-texticon-default, #2a2a2a)}:host([ondark]:is([validity]:not([validity=valid]))) [auro-dropdown],:host([appearance=inverse]:is([validity]:not([validity=valid]))) [auro-dropdown]{--ds-auro-select-border-color: var(--ds-advanced-color-state-error-inverse, #f9a4a8);--ds-auro-select-outline-color: var(--ds-advanced-color-state-error-inverse, #f9a4a8);--ds-auro-dropdown-helptext-text-color: var(--ds-basic-color-texticon-inverse, #ffffff)}#slotHolder{display:none}:host([fluid]){width:100%}:host([disabled]){pointer-events:none;user-select:none}:host([disabled]:not([ondark])) [auro-dropdown],:host([disabled]:not([appearance=inverse])) [auro-dropdown]{--ds-auro-select-border-color: var(--ds-basic-color-border-subtle, #dddddd)}:host(:not([layout*=classic])[disabled][ondark]) [auro-dropdown],:host(:not([layout*=classic])[disabled][appearance=inverse]) [auro-dropdown]{--ds-auro-select-border-color: transparent}`;
91897
91956
 
@@ -92455,8 +92514,11 @@ class AuroSelect extends AuroElement$1 {
92455
92514
  } else if (this.multiSelect && Array.isArray(this.optionSelected) && this.optionSelected.length > 0) {
92456
92515
  this.menu.updateActiveOption(this.optionSelected[0]);
92457
92516
  } else {
92458
- // If no activeOption has yet to be set, then make the first enabled option active by default
92459
- const [firstActive] = getEnabledOptions(this.menu);
92517
+ // If no activeOption has yet to be set, make the first active option
92518
+ // (non-disabled, non-hidden, non-static) active by default. "Active" —
92519
+ // not just "enabled" — so hidden rows and static placeholders never
92520
+ // land in aria-activedescendant on open.
92521
+ const [firstActive] = getActiveOptions(this.menu);
92460
92522
  this.menu.updateActiveOption(firstActive);
92461
92523
  }
92462
92524
  }
@@ -92702,6 +92764,12 @@ class AuroSelect extends AuroElement$1 {
92702
92764
 
92703
92765
  /**
92704
92766
  * Binds all behavior needed to the menu after rendering.
92767
+ *
92768
+ * The `<auro-menu>` reference is captured once and not re-targeted on
92769
+ * `slotchange`. Runtime option mutations are covered via
92770
+ * `auroMenu-optionsChange`, so swap options inside the menu freely; do not
92771
+ * swap the `<auro-menu>` element itself under a live select — remount the
92772
+ * parent `<auro-select>` instead.
92705
92773
  * @private
92706
92774
  * @returns {void}
92707
92775
  */
@@ -92760,6 +92828,15 @@ class AuroSelect extends AuroElement$1 {
92760
92828
  if (this.menu.optionSelected !== undefined) {
92761
92829
  return;
92762
92830
  }
92831
+ // Skip when the select is already cleared (valueless click with no
92832
+ // prior selection): value/optionSelected are already empty and there
92833
+ // is no stale trigger text to refresh, so updateDisplayedValue would
92834
+ // just churn the DOM and request a needless dropdown re-render.
92835
+ const hasStaleState = this.value !== undefined ||
92836
+ (this.multiSelect ? this.optionSelected?.length > 0 : this.optionSelected !== undefined);
92837
+ if (!hasStaleState) {
92838
+ return;
92839
+ }
92763
92840
  this.value = undefined;
92764
92841
  this.optionSelected = this.multiSelect ? [] : undefined;
92765
92842
  // The trigger label is rendered imperatively into #value, so a property
@@ -92789,10 +92866,15 @@ class AuroSelect extends AuroElement$1 {
92789
92866
  if (this.dropdown.isPopoverVisible) {
92790
92867
  announceToScreenReader(this._getAnnouncementRoot(), message);
92791
92868
  } else {
92792
- // Typeahead-on-closed fires this event before `show()` flips
92793
- // isPopoverVisible. Defer so the announcement targets the bib's
92794
- // live region once the fullscreen <dialog> opens otherwise it
92795
- // lands in the host root, which is inert under the active modal.
92869
+ // Typeahead-on-closed calls updateActiveOption() before show(), so
92870
+ // this handler runs with isPopoverVisible still false. queueMicrotask
92871
+ // is safe because show() showBib() flips isPopoverVisible and
92872
+ // dialog.showModal() both run synchronously in the same task; the
92873
+ // microtask queue only drains once _handleTypeahead unwinds, by
92874
+ // which point _getAnnouncementRoot() resolves to the bib's shadow
92875
+ // root inside the now-open modal. Do NOT switch to auroDropdown-toggled
92876
+ // — it fires before showModal(), landing the announcement in the
92877
+ // host root while the dialog is still not-yet-modal.
92796
92878
  queueMicrotask(() => announceToScreenReader(this._getAnnouncementRoot(), message));
92797
92879
  }
92798
92880
  }
@@ -93186,6 +93268,13 @@ class AuroSelect extends AuroElement$1 {
93186
93268
  }
93187
93269
 
93188
93270
  if (changedProperties.has('value')) {
93271
+ // A value change ends the current interaction — whether it came from a
93272
+ // user commit, programmatic assignment, or reset(). Clear the buffer so
93273
+ // a stale prefix does not concatenate onto the next keystroke while the
93274
+ // host still has focus (the blur listener would otherwise be the only
93275
+ // focus-retained clear point, and hideBib() below does not blur).
93276
+ this._clearTypeaheadBuffer();
93277
+
93189
93278
  this.setMenuValue(this.value);
93190
93279
 
93191
93280
  this._updateNativeSelect();
@@ -93241,6 +93330,9 @@ class AuroSelect extends AuroElement$1 {
93241
93330
  * @returns {void}
93242
93331
  */
93243
93332
  reset() {
93333
+ // Defense-in-depth: updated()'s value-change branch also clears, but
93334
+ // reset-to-same-value (e.g. undefined → undefined) skips that path.
93335
+ this._clearTypeaheadBuffer();
93244
93336
  this.menu.reset();
93245
93337
  this.validation.reset(this);
93246
93338
  }
@@ -93263,8 +93355,13 @@ class AuroSelect extends AuroElement$1 {
93263
93355
  // Hidden native <select> has no `multiple` attribute, so any change it fires
93264
93356
  // is a single raw value — applying it in multiSelect mode would collapse the
93265
93357
  // JSON-array `value` shape. Bfcache/autofill can reach this on a name-bearing
93266
- // form control even with aria-hidden/tabindex=-1.
93267
- if (this.multiSelect) return;
93358
+ // form control even with aria-hidden/tabindex=-1, so revert to the expected
93359
+ // mirror (formattedValue[0]) rather than letting the native select drift and
93360
+ // silently submit the autofilled scalar under `name`.
93361
+ if (this.multiSelect) {
93362
+ this._updateNativeSelect();
93363
+ return;
93364
+ }
93268
93365
 
93269
93366
  const selectedOption = event.target.options[event.target.selectedIndex];
93270
93367
  if (!selectedOption) return;
@@ -11531,14 +11531,17 @@ class BaseInput extends AuroElement {
11531
11531
  * @returns {void}
11532
11532
  */
11533
11533
  notifyValueChanged() {
11534
- let inputEvent = null;
11535
-
11536
- inputEvent = new Event('input', {
11534
+ // This echoes Lit's reactive value update (and handleClickClear's
11535
+ // programmatic clear) — it is NOT a fresh user-input event. Mark it
11536
+ // `isProgrammatic` so consumers (e.g. auro-combobox) can distinguish
11537
+ // it from genuine user typing and skip clobbering their own
11538
+ // programmatic state during init-time renders.
11539
+ const inputEvent = new Event('input', {
11537
11540
  bubbles: true,
11538
11541
  composed: true,
11539
11542
  });
11543
+ inputEvent.isProgrammatic = true;
11540
11544
 
11541
- // Dispatched event to alert outside shadow DOM context of event firing.
11542
11545
  this.dispatchEvent(inputEvent);
11543
11546
  }
11544
11547
 
@@ -12251,7 +12254,7 @@ class AuroHelpText extends i$3 {
12251
12254
  }
12252
12255
  }
12253
12256
 
12254
- var formkitVersion = '202607012103';
12257
+ var formkitVersion = '202607022214';
12255
12258
 
12256
12259
  /**
12257
12260
  * @license
@@ -12549,20 +12552,15 @@ class AuroInput extends BaseInput {
12549
12552
  * @returns {void}
12550
12553
  */
12551
12554
  checkDisplayValueSlotChange() {
12552
- let nodes = this.shadowRoot.querySelector('slot[name="displayValue"]').assignedNodes();
12553
-
12554
- // Handle when DisplayValue is multi-level slot content (e.g. combobox passing displayValue to input)
12555
- if (nodes && nodes[0] && nodes[0].tagName === 'SLOT') {
12556
- nodes = nodes[0].assignedNodes();
12557
- }
12558
-
12559
- let hasContent = false;
12560
-
12561
- if (nodes.length > 0) {
12562
- hasContent = true;
12563
- }
12564
-
12565
- this.hasDisplayValueContent = hasContent;
12555
+ // flatten:true resolves through auro-combobox's forwarding slot
12556
+ // (<slot name="displayValue" slot="displayValue">) so a clone appended
12557
+ // directly to auro-input's light DOM alongside the forwarder still
12558
+ // counts as content. The prior nodes[0].tagName === 'SLOT' recursion
12559
+ // discarded any siblings past the forwarder.
12560
+ const slot = this.shadowRoot.querySelector('slot[name="displayValue"]');
12561
+ const nodes = slot.assignedNodes({ flatten: true });
12562
+
12563
+ this.hasDisplayValueContent = nodes.length > 0;
12566
12564
  }
12567
12565
 
12568
12566
  firstUpdated() {