@aurodesignsystem-dev/auro-formkit 0.0.0-pr1554.2 → 0.0.0-pr1554.21

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 (45) 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 +54 -13
  7. package/components/combobox/demo/getting-started.min.js +54 -13
  8. package/components/combobox/demo/index.min.js +54 -13
  9. package/components/combobox/dist/index.js +54 -13
  10. package/components/combobox/dist/registered.js +54 -13
  11. package/components/counter/demo/customize.min.js +31 -9
  12. package/components/counter/demo/index.min.js +31 -9
  13. package/components/counter/dist/index.js +31 -9
  14. package/components/counter/dist/registered.js +31 -9
  15. package/components/datepicker/demo/customize.min.js +50 -11
  16. package/components/datepicker/demo/index.min.js +50 -11
  17. package/components/datepicker/dist/index.js +50 -11
  18. package/components/datepicker/dist/registered.js +50 -11
  19. package/components/dropdown/demo/customize.min.js +30 -8
  20. package/components/dropdown/demo/getting-started.min.js +30 -8
  21. package/components/dropdown/demo/index.min.js +30 -8
  22. package/components/dropdown/dist/auro-dropdown.d.ts +8 -0
  23. package/components/dropdown/dist/index.js +30 -8
  24. package/components/dropdown/dist/registered.js +30 -8
  25. package/components/form/demo/customize.min.js +187 -46
  26. package/components/form/demo/getting-started.min.js +187 -46
  27. package/components/form/demo/index.min.js +187 -46
  28. package/components/form/demo/registerDemoDeps.min.js +187 -46
  29. package/components/input/demo/customize.min.js +19 -2
  30. package/components/input/demo/getting-started.min.js +19 -2
  31. package/components/input/demo/index.min.js +19 -2
  32. package/components/input/dist/index.js +19 -2
  33. package/components/input/dist/registered.js +19 -2
  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 +31 -9
  40. package/components/select/demo/getting-started.min.js +31 -9
  41. package/components/select/demo/index.min.js +31 -9
  42. package/components/select/dist/index.js +31 -9
  43. package/components/select/dist/registered.js +31 -9
  44. package/custom-elements.json +10 -0
  45. package/package.json +1 -1
@@ -12339,7 +12339,7 @@ let AuroHelpText$8 = class AuroHelpText extends i$2 {
12339
12339
  }
12340
12340
  };
12341
12341
 
12342
- var formkitVersion$8 = '202607160501';
12342
+ var formkitVersion$8 = '202607160836';
12343
12343
 
12344
12344
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
12345
12345
  // See LICENSE in the project root for license information.
@@ -12627,6 +12627,18 @@ let AuroInput$2 = class AuroInput extends BaseInput$2 {
12627
12627
  checkDisplayValueSlotChange() {
12628
12628
  const slot = this.shadowRoot?.querySelector('slot[name="displayValue"]');
12629
12629
  if (!slot) {
12630
+ // Shadow slot not yet rendered — fall back to checking light-DOM
12631
+ // children so hasDisplayValueContent isn't stuck false when called
12632
+ // before firstUpdated (e.g. from auro-combobox during mount).
12633
+ // Check for any element (including custom elements like <auro-icon>
12634
+ // that render via shadow DOM with no text content).
12635
+ const lightDomNodes = Array.from(this.querySelectorAll('[slot="displayValue"]:not(slot)'));
12636
+ this.hasDisplayValueContent = lightDomNodes.some((node) => (
12637
+ node.textContent.trim().length > 0 ||
12638
+ node.children.length > 0 ||
12639
+ node.shadowRoot !== null
12640
+ ));
12641
+ this.requestUpdate();
12630
12642
  return;
12631
12643
  }
12632
12644
  const nodes = slot.assignedNodes({ flatten: true });
@@ -12637,15 +12649,20 @@ let AuroInput$2 = class AuroInput extends BaseInput$2 {
12637
12649
  // displayValue wrapper to render (with hasContent class) but show
12638
12650
  // nothing, blocking the combobox's synthetic displayValue from
12639
12651
  // being visible on preset/deeplink load.
12652
+ // Custom elements (e.g. <auro-icon>) that render via shadow DOM are
12653
+ // treated as content even when they have no text or light-DOM children.
12640
12654
  this.hasDisplayValueContent = nodes.some((node) => {
12641
12655
  if (node.nodeType === Node.TEXT_NODE) {
12642
12656
  return node.textContent.trim().length > 0;
12643
12657
  }
12644
12658
  if (node.nodeType === Node.ELEMENT_NODE) {
12645
- return node.textContent.trim().length > 0 || node.children.length > 0;
12659
+ return node.textContent.trim().length > 0 ||
12660
+ node.children.length > 0 ||
12661
+ node.shadowRoot !== null;
12646
12662
  }
12647
12663
  return false;
12648
12664
  });
12665
+ this.requestUpdate();
12649
12666
  }
12650
12667
 
12651
12668
  firstUpdated() {
@@ -26748,7 +26765,7 @@ let AuroBibtemplate$3 = class AuroBibtemplate extends i$2 {
26748
26765
  }
26749
26766
  };
26750
26767
 
26751
- var formkitVersion$2$1 = '202607160501';
26768
+ var formkitVersion$2$1 = '202607160836';
26752
26769
 
26753
26770
  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}
26754
26771
  `,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}}
@@ -32476,7 +32493,7 @@ let AuroHelpText$2$1 = class AuroHelpText extends i$2 {
32476
32493
  }
32477
32494
  };
32478
32495
 
32479
- var formkitVersion$1$3 = '202607160501';
32496
+ var formkitVersion$1$3 = '202607160836';
32480
32497
 
32481
32498
  let AuroElement$2$2 = class AuroElement extends i$2 {
32482
32499
  static get properties() {
@@ -32616,6 +32633,15 @@ let AuroDropdown$3 = class AuroDropdown extends AuroElement$2$2 {
32616
32633
  this.matchWidth = false;
32617
32634
  this.noHideOnThisFocusLoss = false;
32618
32635
 
32636
+ /**
32637
+ * When true, the dropdown skips its generic focus restoration on close.
32638
+ * Intended for internal consumer coordination (e.g. auro-combobox), not as a
32639
+ * declarative attribute.
32640
+ * Separate from noHideOnThisFocusLoss (which controls auto-close behavior).
32641
+ * @private
32642
+ */
32643
+ this.noFocusRestoreOnClose = false;
32644
+
32619
32645
  this.errorMessage = undefined; // TODO - check with Doug if there is still more to do here
32620
32646
 
32621
32647
  // Layout Config
@@ -32790,10 +32816,23 @@ let AuroDropdown$3 = class AuroDropdown extends AuroElement$2$2 {
32790
32816
  const slot = this.trigger.querySelector('slot[name="trigger"]');
32791
32817
  if (slot) {
32792
32818
  const assigned = slot.assignedElements();
32793
- const focusable = assigned.find((el) => !el.hasAttribute('disabled'));
32794
- if (focusable) {
32795
- focusable.focus();
32796
- return;
32819
+ for (const el of assigned) {
32820
+ if (el.hasAttribute('disabled')) {
32821
+ continue;
32822
+ }
32823
+ // Try finding a focusable descendant first (handles non-focusable
32824
+ // wrappers like <div> containing a <button>). If none found, try
32825
+ // focusing the element directly (works for custom elements like
32826
+ // auro-input that have delegatesFocus or a custom focus() method).
32827
+ const descendants = getFocusableElements$4(el);
32828
+ if (descendants.length > 0) {
32829
+ descendants[0].focus();
32830
+ return;
32831
+ }
32832
+ el.focus();
32833
+ if (document.activeElement === el) {
32834
+ return;
32835
+ }
32797
32836
  }
32798
32837
  }
32799
32838
  // Fallback: try DOM children (non-slotted content)
@@ -33253,7 +33292,7 @@ let AuroDropdown$3 = class AuroDropdown extends AuroElement$2$2 {
33253
33292
  }
33254
33293
 
33255
33294
  const eventType = event.detail.eventType || "unknown";
33256
- if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown") {
33295
+ if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown" && !this.noFocusRestoreOnClose) {
33257
33296
  this.focusTrigger();
33258
33297
  }
33259
33298
 
@@ -33261,9 +33300,9 @@ let AuroDropdown$3 = class AuroDropdown extends AuroElement$2$2 {
33261
33300
  // On Tab-driven close (eventType "focusloss"), let focus advance naturally
33262
33301
  // — restoring to the trigger would trap the user on this dropdown, forcing
33263
33302
  // an extra Tab to move on. Escape and outside-click still restore.
33264
- // When noHideOnThisFocusLoss is true, the consumer (e.g. combobox) manages
33303
+ // When noFocusRestoreOnClose is true, the consumer (e.g. combobox) manages
33265
33304
  // its own focus restoration — skip the generic trigger focus to avoid races.
33266
- if (!this.isPopoverVisible && eventType !== "focusloss" && !this.noHideOnThisFocusLoss) {
33305
+ if (!this.isPopoverVisible && eventType !== "focusloss" && !this.noFocusRestoreOnClose) {
33267
33306
  // wait til the bib gets fully closed and rendered
33268
33307
  setTimeout(() => {
33269
33308
  // Skip if the bib re-opened, or if focus moved intentionally outside the dropdown (not to body).
@@ -46129,7 +46168,7 @@ let AuroHelpText$1$3 = class AuroHelpText extends i$2 {
46129
46168
  }
46130
46169
  };
46131
46170
 
46132
- var formkitVersion$7 = '202607160501';
46171
+ var formkitVersion$7 = '202607160836';
46133
46172
 
46134
46173
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
46135
46174
  // See LICENSE in the project root for license information.
@@ -46417,6 +46456,18 @@ let AuroInput$1 = class AuroInput extends BaseInput$1 {
46417
46456
  checkDisplayValueSlotChange() {
46418
46457
  const slot = this.shadowRoot?.querySelector('slot[name="displayValue"]');
46419
46458
  if (!slot) {
46459
+ // Shadow slot not yet rendered — fall back to checking light-DOM
46460
+ // children so hasDisplayValueContent isn't stuck false when called
46461
+ // before firstUpdated (e.g. from auro-combobox during mount).
46462
+ // Check for any element (including custom elements like <auro-icon>
46463
+ // that render via shadow DOM with no text content).
46464
+ const lightDomNodes = Array.from(this.querySelectorAll('[slot="displayValue"]:not(slot)'));
46465
+ this.hasDisplayValueContent = lightDomNodes.some((node) => (
46466
+ node.textContent.trim().length > 0 ||
46467
+ node.children.length > 0 ||
46468
+ node.shadowRoot !== null
46469
+ ));
46470
+ this.requestUpdate();
46420
46471
  return;
46421
46472
  }
46422
46473
  const nodes = slot.assignedNodes({ flatten: true });
@@ -46427,15 +46478,20 @@ let AuroInput$1 = class AuroInput extends BaseInput$1 {
46427
46478
  // displayValue wrapper to render (with hasContent class) but show
46428
46479
  // nothing, blocking the combobox's synthetic displayValue from
46429
46480
  // being visible on preset/deeplink load.
46481
+ // Custom elements (e.g. <auro-icon>) that render via shadow DOM are
46482
+ // treated as content even when they have no text or light-DOM children.
46430
46483
  this.hasDisplayValueContent = nodes.some((node) => {
46431
46484
  if (node.nodeType === Node.TEXT_NODE) {
46432
46485
  return node.textContent.trim().length > 0;
46433
46486
  }
46434
46487
  if (node.nodeType === Node.ELEMENT_NODE) {
46435
- return node.textContent.trim().length > 0 || node.children.length > 0;
46488
+ return node.textContent.trim().length > 0 ||
46489
+ node.children.length > 0 ||
46490
+ node.shadowRoot !== null;
46436
46491
  }
46437
46492
  return false;
46438
46493
  });
46494
+ this.requestUpdate();
46439
46495
  }
46440
46496
 
46441
46497
  firstUpdated() {
@@ -51082,7 +51138,7 @@ let AuroHelpText$1$2 = class AuroHelpText extends i$2 {
51082
51138
  }
51083
51139
  };
51084
51140
 
51085
- var formkitVersion$1$2 = '202607160501';
51141
+ var formkitVersion$1$2 = '202607160836';
51086
51142
 
51087
51143
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
51088
51144
  // See LICENSE in the project root for license information.
@@ -55230,7 +55286,7 @@ let AuroHelpText$6 = class AuroHelpText extends i$2 {
55230
55286
  }
55231
55287
  };
55232
55288
 
55233
- var formkitVersion$6 = '202607160501';
55289
+ var formkitVersion$6 = '202607160836';
55234
55290
 
55235
55291
  let AuroElement$1$2 = class AuroElement extends i$2 {
55236
55292
  static get properties() {
@@ -55370,6 +55426,15 @@ let AuroDropdown$2 = class AuroDropdown extends AuroElement$1$2 {
55370
55426
  this.matchWidth = false;
55371
55427
  this.noHideOnThisFocusLoss = false;
55372
55428
 
55429
+ /**
55430
+ * When true, the dropdown skips its generic focus restoration on close.
55431
+ * Intended for internal consumer coordination (e.g. auro-combobox), not as a
55432
+ * declarative attribute.
55433
+ * Separate from noHideOnThisFocusLoss (which controls auto-close behavior).
55434
+ * @private
55435
+ */
55436
+ this.noFocusRestoreOnClose = false;
55437
+
55373
55438
  this.errorMessage = undefined; // TODO - check with Doug if there is still more to do here
55374
55439
 
55375
55440
  // Layout Config
@@ -55544,10 +55609,23 @@ let AuroDropdown$2 = class AuroDropdown extends AuroElement$1$2 {
55544
55609
  const slot = this.trigger.querySelector('slot[name="trigger"]');
55545
55610
  if (slot) {
55546
55611
  const assigned = slot.assignedElements();
55547
- const focusable = assigned.find((el) => !el.hasAttribute('disabled'));
55548
- if (focusable) {
55549
- focusable.focus();
55550
- return;
55612
+ for (const el of assigned) {
55613
+ if (el.hasAttribute('disabled')) {
55614
+ continue;
55615
+ }
55616
+ // Try finding a focusable descendant first (handles non-focusable
55617
+ // wrappers like <div> containing a <button>). If none found, try
55618
+ // focusing the element directly (works for custom elements like
55619
+ // auro-input that have delegatesFocus or a custom focus() method).
55620
+ const descendants = getFocusableElements$3(el);
55621
+ if (descendants.length > 0) {
55622
+ descendants[0].focus();
55623
+ return;
55624
+ }
55625
+ el.focus();
55626
+ if (document.activeElement === el) {
55627
+ return;
55628
+ }
55551
55629
  }
55552
55630
  }
55553
55631
  // Fallback: try DOM children (non-slotted content)
@@ -56007,7 +56085,7 @@ let AuroDropdown$2 = class AuroDropdown extends AuroElement$1$2 {
56007
56085
  }
56008
56086
 
56009
56087
  const eventType = event.detail.eventType || "unknown";
56010
- if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown") {
56088
+ if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown" && !this.noFocusRestoreOnClose) {
56011
56089
  this.focusTrigger();
56012
56090
  }
56013
56091
 
@@ -56015,9 +56093,9 @@ let AuroDropdown$2 = class AuroDropdown extends AuroElement$1$2 {
56015
56093
  // On Tab-driven close (eventType "focusloss"), let focus advance naturally
56016
56094
  // — restoring to the trigger would trap the user on this dropdown, forcing
56017
56095
  // an extra Tab to move on. Escape and outside-click still restore.
56018
- // When noHideOnThisFocusLoss is true, the consumer (e.g. combobox) manages
56096
+ // When noFocusRestoreOnClose is true, the consumer (e.g. combobox) manages
56019
56097
  // its own focus restoration — skip the generic trigger focus to avoid races.
56020
- if (!this.isPopoverVisible && eventType !== "focusloss" && !this.noHideOnThisFocusLoss) {
56098
+ if (!this.isPopoverVisible && eventType !== "focusloss" && !this.noFocusRestoreOnClose) {
56021
56099
  // wait til the bib gets fully closed and rendered
56022
56100
  setTimeout(() => {
56023
56101
  // Skip if the bib re-opened, or if focus moved intentionally outside the dropdown (not to body).
@@ -59257,7 +59335,7 @@ let AuroHelpText$5 = class AuroHelpText extends i$2 {
59257
59335
  }
59258
59336
  };
59259
59337
 
59260
- var formkitVersion$5 = '202607160501';
59338
+ var formkitVersion$5 = '202607160836';
59261
59339
 
59262
59340
  // Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
59263
59341
  // See LICENSE in the project root for license information.
@@ -61022,7 +61100,7 @@ let AuroHelpText$4 = class AuroHelpText extends i$2 {
61022
61100
  }
61023
61101
  };
61024
61102
 
61025
- var formkitVersion$4 = '202607160501';
61103
+ var formkitVersion$4 = '202607160836';
61026
61104
 
61027
61105
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
61028
61106
  // See LICENSE in the project root for license information.
@@ -66335,7 +66413,7 @@ let AuroHelpText$2 = class AuroHelpText extends i$2 {
66335
66413
  }
66336
66414
  };
66337
66415
 
66338
- var formkitVersion$2 = '202607160501';
66416
+ var formkitVersion$2 = '202607160836';
66339
66417
 
66340
66418
  let AuroElement$2$1 = class AuroElement extends i$2 {
66341
66419
  static get properties() {
@@ -66475,6 +66553,15 @@ let AuroDropdown$1 = class AuroDropdown extends AuroElement$2$1 {
66475
66553
  this.matchWidth = false;
66476
66554
  this.noHideOnThisFocusLoss = false;
66477
66555
 
66556
+ /**
66557
+ * When true, the dropdown skips its generic focus restoration on close.
66558
+ * Intended for internal consumer coordination (e.g. auro-combobox), not as a
66559
+ * declarative attribute.
66560
+ * Separate from noHideOnThisFocusLoss (which controls auto-close behavior).
66561
+ * @private
66562
+ */
66563
+ this.noFocusRestoreOnClose = false;
66564
+
66478
66565
  this.errorMessage = undefined; // TODO - check with Doug if there is still more to do here
66479
66566
 
66480
66567
  // Layout Config
@@ -66649,10 +66736,23 @@ let AuroDropdown$1 = class AuroDropdown extends AuroElement$2$1 {
66649
66736
  const slot = this.trigger.querySelector('slot[name="trigger"]');
66650
66737
  if (slot) {
66651
66738
  const assigned = slot.assignedElements();
66652
- const focusable = assigned.find((el) => !el.hasAttribute('disabled'));
66653
- if (focusable) {
66654
- focusable.focus();
66655
- return;
66739
+ for (const el of assigned) {
66740
+ if (el.hasAttribute('disabled')) {
66741
+ continue;
66742
+ }
66743
+ // Try finding a focusable descendant first (handles non-focusable
66744
+ // wrappers like <div> containing a <button>). If none found, try
66745
+ // focusing the element directly (works for custom elements like
66746
+ // auro-input that have delegatesFocus or a custom focus() method).
66747
+ const descendants = getFocusableElements$2(el);
66748
+ if (descendants.length > 0) {
66749
+ descendants[0].focus();
66750
+ return;
66751
+ }
66752
+ el.focus();
66753
+ if (document.activeElement === el) {
66754
+ return;
66755
+ }
66656
66756
  }
66657
66757
  }
66658
66758
  // Fallback: try DOM children (non-slotted content)
@@ -67112,7 +67212,7 @@ let AuroDropdown$1 = class AuroDropdown extends AuroElement$2$1 {
67112
67212
  }
67113
67213
 
67114
67214
  const eventType = event.detail.eventType || "unknown";
67115
- if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown") {
67215
+ if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown" && !this.noFocusRestoreOnClose) {
67116
67216
  this.focusTrigger();
67117
67217
  }
67118
67218
 
@@ -67120,9 +67220,9 @@ let AuroDropdown$1 = class AuroDropdown extends AuroElement$2$1 {
67120
67220
  // On Tab-driven close (eventType "focusloss"), let focus advance naturally
67121
67221
  // — restoring to the trigger would trap the user on this dropdown, forcing
67122
67222
  // an extra Tab to move on. Escape and outside-click still restore.
67123
- // When noHideOnThisFocusLoss is true, the consumer (e.g. combobox) manages
67223
+ // When noFocusRestoreOnClose is true, the consumer (e.g. combobox) manages
67124
67224
  // its own focus restoration — skip the generic trigger focus to avoid races.
67125
- if (!this.isPopoverVisible && eventType !== "focusloss" && !this.noHideOnThisFocusLoss) {
67225
+ if (!this.isPopoverVisible && eventType !== "focusloss" && !this.noFocusRestoreOnClose) {
67126
67226
  // wait til the bib gets fully closed and rendered
67127
67227
  setTimeout(() => {
67128
67228
  // Skip if the bib re-opened, or if focus moved intentionally outside the dropdown (not to body).
@@ -79988,7 +80088,7 @@ let AuroHelpText$1$1 = class AuroHelpText extends i$2 {
79988
80088
  }
79989
80089
  };
79990
80090
 
79991
- var formkitVersion$1$1 = '202607160501';
80091
+ var formkitVersion$1$1 = '202607160836';
79992
80092
 
79993
80093
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
79994
80094
  // See LICENSE in the project root for license information.
@@ -80276,6 +80376,18 @@ class AuroInput extends BaseInput {
80276
80376
  checkDisplayValueSlotChange() {
80277
80377
  const slot = this.shadowRoot?.querySelector('slot[name="displayValue"]');
80278
80378
  if (!slot) {
80379
+ // Shadow slot not yet rendered — fall back to checking light-DOM
80380
+ // children so hasDisplayValueContent isn't stuck false when called
80381
+ // before firstUpdated (e.g. from auro-combobox during mount).
80382
+ // Check for any element (including custom elements like <auro-icon>
80383
+ // that render via shadow DOM with no text content).
80384
+ const lightDomNodes = Array.from(this.querySelectorAll('[slot="displayValue"]:not(slot)'));
80385
+ this.hasDisplayValueContent = lightDomNodes.some((node) => (
80386
+ node.textContent.trim().length > 0 ||
80387
+ node.children.length > 0 ||
80388
+ node.shadowRoot !== null
80389
+ ));
80390
+ this.requestUpdate();
80279
80391
  return;
80280
80392
  }
80281
80393
  const nodes = slot.assignedNodes({ flatten: true });
@@ -80286,15 +80398,20 @@ class AuroInput extends BaseInput {
80286
80398
  // displayValue wrapper to render (with hasContent class) but show
80287
80399
  // nothing, blocking the combobox's synthetic displayValue from
80288
80400
  // being visible on preset/deeplink load.
80401
+ // Custom elements (e.g. <auro-icon>) that render via shadow DOM are
80402
+ // treated as content even when they have no text or light-DOM children.
80289
80403
  this.hasDisplayValueContent = nodes.some((node) => {
80290
80404
  if (node.nodeType === Node.TEXT_NODE) {
80291
80405
  return node.textContent.trim().length > 0;
80292
80406
  }
80293
80407
  if (node.nodeType === Node.ELEMENT_NODE) {
80294
- return node.textContent.trim().length > 0 || node.children.length > 0;
80408
+ return node.textContent.trim().length > 0 ||
80409
+ node.children.length > 0 ||
80410
+ node.shadowRoot !== null;
80295
80411
  }
80296
80412
  return false;
80297
80413
  });
80414
+ this.requestUpdate();
80298
80415
  }
80299
80416
 
80300
80417
  firstUpdated() {
@@ -81121,7 +81238,7 @@ let AuroBibtemplate$1 = class AuroBibtemplate extends i$2 {
81121
81238
  }
81122
81239
  };
81123
81240
 
81124
- var formkitVersion$3 = '202607160501';
81241
+ var formkitVersion$3 = '202607160836';
81125
81242
 
81126
81243
  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}`;
81127
81244
 
@@ -82166,7 +82283,6 @@ class AuroCombobox extends AuroElement$3 {
82166
82283
  // hidden when input.value is set in the same tick as the append.
82167
82284
  if (typeof this.input.checkDisplayValueSlotChange === 'function') {
82168
82285
  this.input.checkDisplayValueSlotChange();
82169
- this.input.requestUpdate();
82170
82286
  }
82171
82287
  } else if (this.value) {
82172
82288
  // No optionSelected yet (e.g. setMenuValue was called but the menu's
@@ -82187,7 +82303,6 @@ class AuroCombobox extends AuroElement$3 {
82187
82303
  this.input.appendChild(syntheticDV);
82188
82304
  if (typeof this.input.checkDisplayValueSlotChange === 'function') {
82189
82305
  this.input.checkDisplayValueSlotChange();
82190
- this.input.requestUpdate();
82191
82306
  }
82192
82307
  }
82193
82308
 
@@ -82360,6 +82475,10 @@ class AuroCombobox extends AuroElement$3 {
82360
82475
  // from combobox's light DOM and won't be detected by dropdown's contains() check.
82361
82476
  this.dropdown.noHideOnThisFocusLoss = true;
82362
82477
 
82478
+ // Suppress the dropdown's generic focus restoration on close — the combobox
82479
+ // manages its own focus via setClearBtnFocus / setInputFocus / keyboard strategy.
82480
+ this.dropdown.noFocusRestoreOnClose = true;
82481
+
82363
82482
  // Listen for the ID to be added to the dropdown so we can capture it and use it for accessibility.
82364
82483
  this.dropdown.addEventListener('auroDropdown-idAdded', (event) => {
82365
82484
  this.dropdownId = event.detail.id;
@@ -89978,7 +90097,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$2 {
89978
90097
  }
89979
90098
  };
89980
90099
 
89981
- var formkitVersion$1 = '202607160501';
90100
+ var formkitVersion$1 = '202607160836';
89982
90101
 
89983
90102
  class AuroElement extends i$2 {
89984
90103
  static get properties() {
@@ -90118,6 +90237,15 @@ class AuroDropdown extends AuroElement {
90118
90237
  this.matchWidth = false;
90119
90238
  this.noHideOnThisFocusLoss = false;
90120
90239
 
90240
+ /**
90241
+ * When true, the dropdown skips its generic focus restoration on close.
90242
+ * Intended for internal consumer coordination (e.g. auro-combobox), not as a
90243
+ * declarative attribute.
90244
+ * Separate from noHideOnThisFocusLoss (which controls auto-close behavior).
90245
+ * @private
90246
+ */
90247
+ this.noFocusRestoreOnClose = false;
90248
+
90121
90249
  this.errorMessage = undefined; // TODO - check with Doug if there is still more to do here
90122
90250
 
90123
90251
  // Layout Config
@@ -90292,10 +90420,23 @@ class AuroDropdown extends AuroElement {
90292
90420
  const slot = this.trigger.querySelector('slot[name="trigger"]');
90293
90421
  if (slot) {
90294
90422
  const assigned = slot.assignedElements();
90295
- const focusable = assigned.find((el) => !el.hasAttribute('disabled'));
90296
- if (focusable) {
90297
- focusable.focus();
90298
- return;
90423
+ for (const el of assigned) {
90424
+ if (el.hasAttribute('disabled')) {
90425
+ continue;
90426
+ }
90427
+ // Try finding a focusable descendant first (handles non-focusable
90428
+ // wrappers like <div> containing a <button>). If none found, try
90429
+ // focusing the element directly (works for custom elements like
90430
+ // auro-input that have delegatesFocus or a custom focus() method).
90431
+ const descendants = getFocusableElements(el);
90432
+ if (descendants.length > 0) {
90433
+ descendants[0].focus();
90434
+ return;
90435
+ }
90436
+ el.focus();
90437
+ if (document.activeElement === el) {
90438
+ return;
90439
+ }
90299
90440
  }
90300
90441
  }
90301
90442
  // Fallback: try DOM children (non-slotted content)
@@ -90755,7 +90896,7 @@ class AuroDropdown extends AuroElement {
90755
90896
  }
90756
90897
 
90757
90898
  const eventType = event.detail.eventType || "unknown";
90758
- if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown") {
90899
+ if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown" && !this.noFocusRestoreOnClose) {
90759
90900
  this.focusTrigger();
90760
90901
  }
90761
90902
 
@@ -90763,9 +90904,9 @@ class AuroDropdown extends AuroElement {
90763
90904
  // On Tab-driven close (eventType "focusloss"), let focus advance naturally
90764
90905
  // — restoring to the trigger would trap the user on this dropdown, forcing
90765
90906
  // an extra Tab to move on. Escape and outside-click still restore.
90766
- // When noHideOnThisFocusLoss is true, the consumer (e.g. combobox) manages
90907
+ // When noFocusRestoreOnClose is true, the consumer (e.g. combobox) manages
90767
90908
  // its own focus restoration — skip the generic trigger focus to avoid races.
90768
- if (!this.isPopoverVisible && eventType !== "focusloss" && !this.noHideOnThisFocusLoss) {
90909
+ if (!this.isPopoverVisible && eventType !== "focusloss" && !this.noFocusRestoreOnClose) {
90769
90910
  // wait til the bib gets fully closed and rendered
90770
90911
  setTimeout(() => {
90771
90912
  // Skip if the bib re-opened, or if focus moved intentionally outside the dropdown (not to body).
@@ -92051,7 +92192,7 @@ class AuroHelpText extends i$2 {
92051
92192
  }
92052
92193
  }
92053
92194
 
92054
- var formkitVersion = '202607160501';
92195
+ var formkitVersion = '202607160836';
92055
92196
 
92056
92197
  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}`;
92057
92198
 
@@ -12268,7 +12268,7 @@ class AuroHelpText extends i$3 {
12268
12268
  }
12269
12269
  }
12270
12270
 
12271
- var formkitVersion = '202607160501';
12271
+ var formkitVersion = '202607160836';
12272
12272
 
12273
12273
  /**
12274
12274
  * @license
@@ -12568,6 +12568,18 @@ class AuroInput extends BaseInput {
12568
12568
  checkDisplayValueSlotChange() {
12569
12569
  const slot = this.shadowRoot?.querySelector('slot[name="displayValue"]');
12570
12570
  if (!slot) {
12571
+ // Shadow slot not yet rendered — fall back to checking light-DOM
12572
+ // children so hasDisplayValueContent isn't stuck false when called
12573
+ // before firstUpdated (e.g. from auro-combobox during mount).
12574
+ // Check for any element (including custom elements like <auro-icon>
12575
+ // that render via shadow DOM with no text content).
12576
+ const lightDomNodes = Array.from(this.querySelectorAll('[slot="displayValue"]:not(slot)'));
12577
+ this.hasDisplayValueContent = lightDomNodes.some((node) => (
12578
+ node.textContent.trim().length > 0 ||
12579
+ node.children.length > 0 ||
12580
+ node.shadowRoot !== null
12581
+ ));
12582
+ this.requestUpdate();
12571
12583
  return;
12572
12584
  }
12573
12585
  const nodes = slot.assignedNodes({ flatten: true });
@@ -12578,15 +12590,20 @@ class AuroInput extends BaseInput {
12578
12590
  // displayValue wrapper to render (with hasContent class) but show
12579
12591
  // nothing, blocking the combobox's synthetic displayValue from
12580
12592
  // being visible on preset/deeplink load.
12593
+ // Custom elements (e.g. <auro-icon>) that render via shadow DOM are
12594
+ // treated as content even when they have no text or light-DOM children.
12581
12595
  this.hasDisplayValueContent = nodes.some((node) => {
12582
12596
  if (node.nodeType === Node.TEXT_NODE) {
12583
12597
  return node.textContent.trim().length > 0;
12584
12598
  }
12585
12599
  if (node.nodeType === Node.ELEMENT_NODE) {
12586
- return node.textContent.trim().length > 0 || node.children.length > 0;
12600
+ return node.textContent.trim().length > 0 ||
12601
+ node.children.length > 0 ||
12602
+ node.shadowRoot !== null;
12587
12603
  }
12588
12604
  return false;
12589
12605
  });
12606
+ this.requestUpdate();
12590
12607
  }
12591
12608
 
12592
12609
  firstUpdated() {