@aurodesignsystem-dev/auro-formkit 0.0.0-pr1554.0 → 0.0.0-pr1554.10

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 +123 -43
  7. package/components/combobox/demo/getting-started.min.js +123 -43
  8. package/components/combobox/demo/index.min.js +123 -43
  9. package/components/combobox/dist/index.js +123 -43
  10. package/components/combobox/dist/registered.js +123 -43
  11. package/components/counter/demo/customize.min.js +47 -6
  12. package/components/counter/demo/index.min.js +47 -6
  13. package/components/counter/dist/index.js +47 -6
  14. package/components/counter/dist/registered.js +47 -6
  15. package/components/datepicker/demo/customize.min.js +85 -16
  16. package/components/datepicker/demo/index.min.js +85 -16
  17. package/components/datepicker/dist/index.js +85 -16
  18. package/components/datepicker/dist/registered.js +85 -16
  19. package/components/dropdown/demo/customize.min.js +46 -5
  20. package/components/dropdown/demo/getting-started.min.js +46 -5
  21. package/components/dropdown/demo/index.min.js +46 -5
  22. package/components/dropdown/dist/auro-dropdown.d.ts +8 -1
  23. package/components/dropdown/dist/index.js +46 -5
  24. package/components/dropdown/dist/registered.js +46 -5
  25. package/components/form/demo/customize.min.js +342 -83
  26. package/components/form/demo/getting-started.min.js +342 -83
  27. package/components/form/demo/index.min.js +342 -83
  28. package/components/form/demo/registerDemoDeps.min.js +342 -83
  29. package/components/input/demo/customize.min.js +38 -10
  30. package/components/input/demo/getting-started.min.js +38 -10
  31. package/components/input/demo/index.min.js +38 -10
  32. package/components/input/dist/index.js +38 -10
  33. package/components/input/dist/registered.js +38 -10
  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 +47 -6
  40. package/components/select/demo/getting-started.min.js +47 -6
  41. package/components/select/demo/index.min.js +47 -6
  42. package/components/select/dist/index.js +47 -6
  43. package/components/select/dist/registered.js +47 -6
  44. package/custom-elements.json +1783 -1777
  45. package/package.json +1 -1
@@ -13669,7 +13669,7 @@ class AuroBibtemplate extends LitElement {
13669
13669
  }
13670
13670
  }
13671
13671
 
13672
- var formkitVersion$2 = '202607152158';
13672
+ var formkitVersion$2 = '202607160655';
13673
13673
 
13674
13674
  let l$1 = 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=literal`${unsafeStatic(r)}`;return customElements.get(r)||customElements.define(r,class extends a{}),i}};let d$1 = 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 = 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=css`: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}
13675
13675
  `,u$4=css`.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}}
@@ -19397,7 +19397,7 @@ let AuroHelpText$2 = class AuroHelpText extends LitElement {
19397
19397
  }
19398
19398
  };
19399
19399
 
19400
- var formkitVersion$1 = '202607152158';
19400
+ var formkitVersion$1 = '202607160655';
19401
19401
 
19402
19402
  let AuroElement$2 = class AuroElement extends LitElement {
19403
19403
  static get properties() {
@@ -19526,7 +19526,6 @@ class AuroDropdown extends AuroElement$2 {
19526
19526
  static get shadowRootOptions() {
19527
19527
  return {
19528
19528
  ...AuroElement$2.shadowRootOptions,
19529
- delegatesFocus: true,
19530
19529
  };
19531
19530
  }
19532
19531
 
@@ -19693,7 +19692,47 @@ class AuroDropdown extends AuroElement$2 {
19693
19692
  focusables[0].focus();
19694
19693
  }
19695
19694
  } else {
19695
+ this.focusTrigger();
19696
+ }
19697
+ }
19698
+
19699
+ /**
19700
+ * Focus the trigger content. When the trigger wrapper itself is focusable
19701
+ * (has tabindex), focus it directly. Otherwise, focus the first focusable
19702
+ * element slotted into the trigger slot (e.g. the auro-input).
19703
+ * @private
19704
+ */
19705
+ focusTrigger() {
19706
+ if (this.trigger.hasAttribute('tabindex')) {
19696
19707
  this.trigger.focus();
19708
+ } else {
19709
+ // Slotted content isn't a DOM child of the trigger div, so
19710
+ // getFocusableElements can't find it. Query assigned nodes directly.
19711
+ const slot = this.trigger.querySelector('slot[name="trigger"]');
19712
+ if (slot) {
19713
+ const assigned = slot.assignedElements();
19714
+ for (const el of assigned) {
19715
+ if (el.hasAttribute('disabled')) {
19716
+ continue;
19717
+ }
19718
+ // Try finding a focusable descendant first (handles non-focusable
19719
+ // wrappers like <div> containing a <button>). If none found, try
19720
+ // focusing the element directly (works for custom elements like
19721
+ // auro-input that have delegatesFocus or a custom focus() method).
19722
+ const descendants = getFocusableElements(el);
19723
+ if (descendants.length > 0) {
19724
+ descendants[0].focus();
19725
+ return;
19726
+ }
19727
+ el.focus();
19728
+ return;
19729
+ }
19730
+ }
19731
+ // Fallback: try DOM children (non-slotted content)
19732
+ const focusables = getFocusableElements(this.trigger);
19733
+ if (focusables.length > 0) {
19734
+ focusables[0].focus();
19735
+ }
19697
19736
  }
19698
19737
  }
19699
19738
 
@@ -20147,14 +20186,16 @@ class AuroDropdown extends AuroElement$2 {
20147
20186
 
20148
20187
  const eventType = event.detail.eventType || "unknown";
20149
20188
  if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown") {
20150
- this.trigger.focus();
20189
+ this.focusTrigger();
20151
20190
  }
20152
20191
 
20153
20192
 
20154
20193
  // On Tab-driven close (eventType "focusloss"), let focus advance naturally
20155
20194
  // — restoring to the trigger would trap the user on this dropdown, forcing
20156
20195
  // an extra Tab to move on. Escape and outside-click still restore.
20157
- if (!this.isPopoverVisible && eventType !== "focusloss") {
20196
+ // When noHideOnThisFocusLoss is true, the consumer (e.g. combobox) manages
20197
+ // its own focus restoration — skip the generic trigger focus to avoid races.
20198
+ if (!this.isPopoverVisible && eventType !== "focusloss" && !this.noHideOnThisFocusLoss) {
20158
20199
  // wait til the bib gets fully closed and rendered
20159
20200
  setTimeout(() => {
20160
20201
  // Skip if the bib re-opened, or if focus moved intentionally outside the dropdown (not to body).
@@ -20166,7 +20207,7 @@ class AuroDropdown extends AuroElement$2 {
20166
20207
  return;
20167
20208
  }
20168
20209
  // Restore focus to the trigger.
20169
- this.trigger.focus();
20210
+ this.focusTrigger();
20170
20211
  });
20171
20212
  }
20172
20213
  }
@@ -31340,9 +31381,10 @@ class DomHandler {
31340
31381
  class BaseInput extends AuroElement$1 {
31341
31382
 
31342
31383
  // Delegate focus to the native <input> inside the shadow root so that
31343
- // showModal()'s dialog focusing steps reach the input element.
31344
- // This keeps the mobile virtual keyboard open when the fullscreen dialog
31345
- // opens, because the browser sees an input-to-input focus transfer.
31384
+ // clicking anywhere on the input wrapper focuses the native input, and
31385
+ // programmatic .focus() calls on elements in the shadow DOM work correctly.
31386
+ // The initial-load focus theft was caused by the static `autofocus`
31387
+ // attribute on the bib input (now conditional), not by delegatesFocus.
31346
31388
  static get shadowRootOptions() {
31347
31389
  return {
31348
31390
  ...AuroElement$1.shadowRootOptions,
@@ -33019,7 +33061,7 @@ let AuroHelpText$1 = class AuroHelpText extends LitElement {
33019
33061
  }
33020
33062
  };
33021
33063
 
33022
- var formkitVersion = '202607152158';
33064
+ var formkitVersion = '202607160655';
33023
33065
 
33024
33066
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
33025
33067
  // See LICENSE in the project root for license information.
@@ -33305,18 +33347,45 @@ class AuroInput extends BaseInput {
33305
33347
  * @returns {void}
33306
33348
  */
33307
33349
  checkDisplayValueSlotChange() {
33308
- // flatten:true resolves through auro-combobox's forwarding slot
33309
- // (<slot name="displayValue" slot="displayValue">) so a clone appended
33310
- // directly to auro-input's light DOM alongside the forwarder still
33311
- // counts as content. The prior nodes[0].tagName === 'SLOT' recursion
33312
- // discarded any siblings past the forwarder.
33313
33350
  const slot = this.shadowRoot?.querySelector('slot[name="displayValue"]');
33314
33351
  if (!slot) {
33352
+ // Shadow slot not yet rendered — fall back to checking light-DOM
33353
+ // children so hasDisplayValueContent isn't stuck false when called
33354
+ // before firstUpdated (e.g. from auro-combobox during mount).
33355
+ // Check for any element (including custom elements like <auro-icon>
33356
+ // that render via shadow DOM with no text content).
33357
+ const lightDomContent = this.querySelector('[slot="displayValue"]:not(slot)');
33358
+ this.hasDisplayValueContent = Boolean(lightDomContent && (
33359
+ lightDomContent.textContent.trim().length > 0 ||
33360
+ lightDomContent.children.length > 0 ||
33361
+ lightDomContent.shadowRoot !== null
33362
+ ));
33363
+ this.requestUpdate();
33315
33364
  return;
33316
33365
  }
33317
33366
  const nodes = slot.assignedNodes({ flatten: true });
33318
33367
 
33319
- this.hasDisplayValueContent = nodes.length > 0;
33368
+ // Check for actual visible content, not just node existence.
33369
+ // An empty <span slot="displayValue"></span> forwarded from the
33370
+ // consumer should not be treated as "has content" — it causes the
33371
+ // displayValue wrapper to render (with hasContent class) but show
33372
+ // nothing, blocking the combobox's synthetic displayValue from
33373
+ // being visible on preset/deeplink load.
33374
+ // Custom elements (e.g. <auro-icon>) that render via shadow DOM are
33375
+ // treated as content even when they have no text or light-DOM children.
33376
+ this.hasDisplayValueContent = nodes.some((node) => {
33377
+ if (node.nodeType === Node.TEXT_NODE) {
33378
+ return node.textContent.trim().length > 0;
33379
+ }
33380
+ if (node.nodeType === Node.ELEMENT_NODE) {
33381
+ return node.textContent.trim().length > 0 ||
33382
+ node.children.length > 0 ||
33383
+ node.shadowRoot !== null;
33384
+ }
33385
+ return false;
33386
+ });
33387
+
33388
+ this.requestUpdate();
33320
33389
  }
33321
33390
 
33322
33391
  firstUpdated() {
@@ -13669,7 +13669,7 @@ class AuroBibtemplate extends LitElement {
13669
13669
  }
13670
13670
  }
13671
13671
 
13672
- var formkitVersion$2 = '202607152158';
13672
+ var formkitVersion$2 = '202607160655';
13673
13673
 
13674
13674
  let l$1 = 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=literal`${unsafeStatic(r)}`;return customElements.get(r)||customElements.define(r,class extends a{}),i}};let d$1 = 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 = 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=css`: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}
13675
13675
  `,u$4=css`.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}}
@@ -19397,7 +19397,7 @@ let AuroHelpText$2 = class AuroHelpText extends LitElement {
19397
19397
  }
19398
19398
  };
19399
19399
 
19400
- var formkitVersion$1 = '202607152158';
19400
+ var formkitVersion$1 = '202607160655';
19401
19401
 
19402
19402
  let AuroElement$2 = class AuroElement extends LitElement {
19403
19403
  static get properties() {
@@ -19526,7 +19526,6 @@ class AuroDropdown extends AuroElement$2 {
19526
19526
  static get shadowRootOptions() {
19527
19527
  return {
19528
19528
  ...AuroElement$2.shadowRootOptions,
19529
- delegatesFocus: true,
19530
19529
  };
19531
19530
  }
19532
19531
 
@@ -19693,7 +19692,47 @@ class AuroDropdown extends AuroElement$2 {
19693
19692
  focusables[0].focus();
19694
19693
  }
19695
19694
  } else {
19695
+ this.focusTrigger();
19696
+ }
19697
+ }
19698
+
19699
+ /**
19700
+ * Focus the trigger content. When the trigger wrapper itself is focusable
19701
+ * (has tabindex), focus it directly. Otherwise, focus the first focusable
19702
+ * element slotted into the trigger slot (e.g. the auro-input).
19703
+ * @private
19704
+ */
19705
+ focusTrigger() {
19706
+ if (this.trigger.hasAttribute('tabindex')) {
19696
19707
  this.trigger.focus();
19708
+ } else {
19709
+ // Slotted content isn't a DOM child of the trigger div, so
19710
+ // getFocusableElements can't find it. Query assigned nodes directly.
19711
+ const slot = this.trigger.querySelector('slot[name="trigger"]');
19712
+ if (slot) {
19713
+ const assigned = slot.assignedElements();
19714
+ for (const el of assigned) {
19715
+ if (el.hasAttribute('disabled')) {
19716
+ continue;
19717
+ }
19718
+ // Try finding a focusable descendant first (handles non-focusable
19719
+ // wrappers like <div> containing a <button>). If none found, try
19720
+ // focusing the element directly (works for custom elements like
19721
+ // auro-input that have delegatesFocus or a custom focus() method).
19722
+ const descendants = getFocusableElements(el);
19723
+ if (descendants.length > 0) {
19724
+ descendants[0].focus();
19725
+ return;
19726
+ }
19727
+ el.focus();
19728
+ return;
19729
+ }
19730
+ }
19731
+ // Fallback: try DOM children (non-slotted content)
19732
+ const focusables = getFocusableElements(this.trigger);
19733
+ if (focusables.length > 0) {
19734
+ focusables[0].focus();
19735
+ }
19697
19736
  }
19698
19737
  }
19699
19738
 
@@ -20147,14 +20186,16 @@ class AuroDropdown extends AuroElement$2 {
20147
20186
 
20148
20187
  const eventType = event.detail.eventType || "unknown";
20149
20188
  if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown") {
20150
- this.trigger.focus();
20189
+ this.focusTrigger();
20151
20190
  }
20152
20191
 
20153
20192
 
20154
20193
  // On Tab-driven close (eventType "focusloss"), let focus advance naturally
20155
20194
  // — restoring to the trigger would trap the user on this dropdown, forcing
20156
20195
  // an extra Tab to move on. Escape and outside-click still restore.
20157
- if (!this.isPopoverVisible && eventType !== "focusloss") {
20196
+ // When noHideOnThisFocusLoss is true, the consumer (e.g. combobox) manages
20197
+ // its own focus restoration — skip the generic trigger focus to avoid races.
20198
+ if (!this.isPopoverVisible && eventType !== "focusloss" && !this.noHideOnThisFocusLoss) {
20158
20199
  // wait til the bib gets fully closed and rendered
20159
20200
  setTimeout(() => {
20160
20201
  // Skip if the bib re-opened, or if focus moved intentionally outside the dropdown (not to body).
@@ -20166,7 +20207,7 @@ class AuroDropdown extends AuroElement$2 {
20166
20207
  return;
20167
20208
  }
20168
20209
  // Restore focus to the trigger.
20169
- this.trigger.focus();
20210
+ this.focusTrigger();
20170
20211
  });
20171
20212
  }
20172
20213
  }
@@ -31340,9 +31381,10 @@ class DomHandler {
31340
31381
  class BaseInput extends AuroElement$1 {
31341
31382
 
31342
31383
  // Delegate focus to the native <input> inside the shadow root so that
31343
- // showModal()'s dialog focusing steps reach the input element.
31344
- // This keeps the mobile virtual keyboard open when the fullscreen dialog
31345
- // opens, because the browser sees an input-to-input focus transfer.
31384
+ // clicking anywhere on the input wrapper focuses the native input, and
31385
+ // programmatic .focus() calls on elements in the shadow DOM work correctly.
31386
+ // The initial-load focus theft was caused by the static `autofocus`
31387
+ // attribute on the bib input (now conditional), not by delegatesFocus.
31346
31388
  static get shadowRootOptions() {
31347
31389
  return {
31348
31390
  ...AuroElement$1.shadowRootOptions,
@@ -33019,7 +33061,7 @@ let AuroHelpText$1 = class AuroHelpText extends LitElement {
33019
33061
  }
33020
33062
  };
33021
33063
 
33022
- var formkitVersion = '202607152158';
33064
+ var formkitVersion = '202607160655';
33023
33065
 
33024
33066
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
33025
33067
  // See LICENSE in the project root for license information.
@@ -33305,18 +33347,45 @@ class AuroInput extends BaseInput {
33305
33347
  * @returns {void}
33306
33348
  */
33307
33349
  checkDisplayValueSlotChange() {
33308
- // flatten:true resolves through auro-combobox's forwarding slot
33309
- // (<slot name="displayValue" slot="displayValue">) so a clone appended
33310
- // directly to auro-input's light DOM alongside the forwarder still
33311
- // counts as content. The prior nodes[0].tagName === 'SLOT' recursion
33312
- // discarded any siblings past the forwarder.
33313
33350
  const slot = this.shadowRoot?.querySelector('slot[name="displayValue"]');
33314
33351
  if (!slot) {
33352
+ // Shadow slot not yet rendered — fall back to checking light-DOM
33353
+ // children so hasDisplayValueContent isn't stuck false when called
33354
+ // before firstUpdated (e.g. from auro-combobox during mount).
33355
+ // Check for any element (including custom elements like <auro-icon>
33356
+ // that render via shadow DOM with no text content).
33357
+ const lightDomContent = this.querySelector('[slot="displayValue"]:not(slot)');
33358
+ this.hasDisplayValueContent = Boolean(lightDomContent && (
33359
+ lightDomContent.textContent.trim().length > 0 ||
33360
+ lightDomContent.children.length > 0 ||
33361
+ lightDomContent.shadowRoot !== null
33362
+ ));
33363
+ this.requestUpdate();
33315
33364
  return;
33316
33365
  }
33317
33366
  const nodes = slot.assignedNodes({ flatten: true });
33318
33367
 
33319
- this.hasDisplayValueContent = nodes.length > 0;
33368
+ // Check for actual visible content, not just node existence.
33369
+ // An empty <span slot="displayValue"></span> forwarded from the
33370
+ // consumer should not be treated as "has content" — it causes the
33371
+ // displayValue wrapper to render (with hasContent class) but show
33372
+ // nothing, blocking the combobox's synthetic displayValue from
33373
+ // being visible on preset/deeplink load.
33374
+ // Custom elements (e.g. <auro-icon>) that render via shadow DOM are
33375
+ // treated as content even when they have no text or light-DOM children.
33376
+ this.hasDisplayValueContent = nodes.some((node) => {
33377
+ if (node.nodeType === Node.TEXT_NODE) {
33378
+ return node.textContent.trim().length > 0;
33379
+ }
33380
+ if (node.nodeType === Node.ELEMENT_NODE) {
33381
+ return node.textContent.trim().length > 0 ||
33382
+ node.children.length > 0 ||
33383
+ node.shadowRoot !== null;
33384
+ }
33385
+ return false;
33386
+ });
33387
+
33388
+ this.requestUpdate();
33320
33389
  }
33321
33390
 
33322
33391
  firstUpdated() {
@@ -3777,7 +3777,7 @@ class AuroHelpText extends i {
3777
3777
  }
3778
3778
  }
3779
3779
 
3780
- var formkitVersion = '202607152158';
3780
+ var formkitVersion = '202607160655';
3781
3781
 
3782
3782
  class AuroElement extends i {
3783
3783
  static get properties() {
@@ -3906,7 +3906,6 @@ class AuroDropdown extends AuroElement {
3906
3906
  static get shadowRootOptions() {
3907
3907
  return {
3908
3908
  ...AuroElement.shadowRootOptions,
3909
- delegatesFocus: true,
3910
3909
  };
3911
3910
  }
3912
3911
 
@@ -4073,7 +4072,47 @@ class AuroDropdown extends AuroElement {
4073
4072
  focusables[0].focus();
4074
4073
  }
4075
4074
  } else {
4075
+ this.focusTrigger();
4076
+ }
4077
+ }
4078
+
4079
+ /**
4080
+ * Focus the trigger content. When the trigger wrapper itself is focusable
4081
+ * (has tabindex), focus it directly. Otherwise, focus the first focusable
4082
+ * element slotted into the trigger slot (e.g. the auro-input).
4083
+ * @private
4084
+ */
4085
+ focusTrigger() {
4086
+ if (this.trigger.hasAttribute('tabindex')) {
4076
4087
  this.trigger.focus();
4088
+ } else {
4089
+ // Slotted content isn't a DOM child of the trigger div, so
4090
+ // getFocusableElements can't find it. Query assigned nodes directly.
4091
+ const slot = this.trigger.querySelector('slot[name="trigger"]');
4092
+ if (slot) {
4093
+ const assigned = slot.assignedElements();
4094
+ for (const el of assigned) {
4095
+ if (el.hasAttribute('disabled')) {
4096
+ continue;
4097
+ }
4098
+ // Try finding a focusable descendant first (handles non-focusable
4099
+ // wrappers like <div> containing a <button>). If none found, try
4100
+ // focusing the element directly (works for custom elements like
4101
+ // auro-input that have delegatesFocus or a custom focus() method).
4102
+ const descendants = getFocusableElements(el);
4103
+ if (descendants.length > 0) {
4104
+ descendants[0].focus();
4105
+ return;
4106
+ }
4107
+ el.focus();
4108
+ return;
4109
+ }
4110
+ }
4111
+ // Fallback: try DOM children (non-slotted content)
4112
+ const focusables = getFocusableElements(this.trigger);
4113
+ if (focusables.length > 0) {
4114
+ focusables[0].focus();
4115
+ }
4077
4116
  }
4078
4117
  }
4079
4118
 
@@ -4527,14 +4566,16 @@ class AuroDropdown extends AuroElement {
4527
4566
 
4528
4567
  const eventType = event.detail.eventType || "unknown";
4529
4568
  if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown") {
4530
- this.trigger.focus();
4569
+ this.focusTrigger();
4531
4570
  }
4532
4571
 
4533
4572
 
4534
4573
  // On Tab-driven close (eventType "focusloss"), let focus advance naturally
4535
4574
  // — restoring to the trigger would trap the user on this dropdown, forcing
4536
4575
  // an extra Tab to move on. Escape and outside-click still restore.
4537
- if (!this.isPopoverVisible && eventType !== "focusloss") {
4576
+ // When noHideOnThisFocusLoss is true, the consumer (e.g. combobox) manages
4577
+ // its own focus restoration — skip the generic trigger focus to avoid races.
4578
+ if (!this.isPopoverVisible && eventType !== "focusloss" && !this.noHideOnThisFocusLoss) {
4538
4579
  // wait til the bib gets fully closed and rendered
4539
4580
  setTimeout(() => {
4540
4581
  // Skip if the bib re-opened, or if focus moved intentionally outside the dropdown (not to body).
@@ -4546,7 +4587,7 @@ class AuroDropdown extends AuroElement {
4546
4587
  return;
4547
4588
  }
4548
4589
  // Restore focus to the trigger.
4549
- this.trigger.focus();
4590
+ this.focusTrigger();
4550
4591
  });
4551
4592
  }
4552
4593
  }
@@ -3777,7 +3777,7 @@ class AuroHelpText extends i {
3777
3777
  }
3778
3778
  }
3779
3779
 
3780
- var formkitVersion = '202607152158';
3780
+ var formkitVersion = '202607160655';
3781
3781
 
3782
3782
  class AuroElement extends i {
3783
3783
  static get properties() {
@@ -3906,7 +3906,6 @@ class AuroDropdown extends AuroElement {
3906
3906
  static get shadowRootOptions() {
3907
3907
  return {
3908
3908
  ...AuroElement.shadowRootOptions,
3909
- delegatesFocus: true,
3910
3909
  };
3911
3910
  }
3912
3911
 
@@ -4073,7 +4072,47 @@ class AuroDropdown extends AuroElement {
4073
4072
  focusables[0].focus();
4074
4073
  }
4075
4074
  } else {
4075
+ this.focusTrigger();
4076
+ }
4077
+ }
4078
+
4079
+ /**
4080
+ * Focus the trigger content. When the trigger wrapper itself is focusable
4081
+ * (has tabindex), focus it directly. Otherwise, focus the first focusable
4082
+ * element slotted into the trigger slot (e.g. the auro-input).
4083
+ * @private
4084
+ */
4085
+ focusTrigger() {
4086
+ if (this.trigger.hasAttribute('tabindex')) {
4076
4087
  this.trigger.focus();
4088
+ } else {
4089
+ // Slotted content isn't a DOM child of the trigger div, so
4090
+ // getFocusableElements can't find it. Query assigned nodes directly.
4091
+ const slot = this.trigger.querySelector('slot[name="trigger"]');
4092
+ if (slot) {
4093
+ const assigned = slot.assignedElements();
4094
+ for (const el of assigned) {
4095
+ if (el.hasAttribute('disabled')) {
4096
+ continue;
4097
+ }
4098
+ // Try finding a focusable descendant first (handles non-focusable
4099
+ // wrappers like <div> containing a <button>). If none found, try
4100
+ // focusing the element directly (works for custom elements like
4101
+ // auro-input that have delegatesFocus or a custom focus() method).
4102
+ const descendants = getFocusableElements(el);
4103
+ if (descendants.length > 0) {
4104
+ descendants[0].focus();
4105
+ return;
4106
+ }
4107
+ el.focus();
4108
+ return;
4109
+ }
4110
+ }
4111
+ // Fallback: try DOM children (non-slotted content)
4112
+ const focusables = getFocusableElements(this.trigger);
4113
+ if (focusables.length > 0) {
4114
+ focusables[0].focus();
4115
+ }
4077
4116
  }
4078
4117
  }
4079
4118
 
@@ -4527,14 +4566,16 @@ class AuroDropdown extends AuroElement {
4527
4566
 
4528
4567
  const eventType = event.detail.eventType || "unknown";
4529
4568
  if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown") {
4530
- this.trigger.focus();
4569
+ this.focusTrigger();
4531
4570
  }
4532
4571
 
4533
4572
 
4534
4573
  // On Tab-driven close (eventType "focusloss"), let focus advance naturally
4535
4574
  // — restoring to the trigger would trap the user on this dropdown, forcing
4536
4575
  // an extra Tab to move on. Escape and outside-click still restore.
4537
- if (!this.isPopoverVisible && eventType !== "focusloss") {
4576
+ // When noHideOnThisFocusLoss is true, the consumer (e.g. combobox) manages
4577
+ // its own focus restoration — skip the generic trigger focus to avoid races.
4578
+ if (!this.isPopoverVisible && eventType !== "focusloss" && !this.noHideOnThisFocusLoss) {
4538
4579
  // wait til the bib gets fully closed and rendered
4539
4580
  setTimeout(() => {
4540
4581
  // Skip if the bib re-opened, or if focus moved intentionally outside the dropdown (not to body).
@@ -4546,7 +4587,7 @@ class AuroDropdown extends AuroElement {
4546
4587
  return;
4547
4588
  }
4548
4589
  // Restore focus to the trigger.
4549
- this.trigger.focus();
4590
+ this.focusTrigger();
4550
4591
  });
4551
4592
  }
4552
4593
  }