@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
@@ -1064,7 +1064,7 @@ let AuroHelpText$1 = class AuroHelpText extends LitElement {
1064
1064
  }
1065
1065
  };
1066
1066
 
1067
- var formkitVersion$1 = '202607152158';
1067
+ var formkitVersion$1 = '202607160655';
1068
1068
 
1069
1069
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
1070
1070
  // See LICENSE in the project root for license information.
@@ -5212,7 +5212,7 @@ class AuroHelpText extends LitElement {
5212
5212
  }
5213
5213
  }
5214
5214
 
5215
- var formkitVersion = '202607152158';
5215
+ var formkitVersion = '202607160655';
5216
5216
 
5217
5217
  let AuroElement$1 = class AuroElement extends LitElement {
5218
5218
  static get properties() {
@@ -5341,7 +5341,6 @@ class AuroDropdown extends AuroElement$1 {
5341
5341
  static get shadowRootOptions() {
5342
5342
  return {
5343
5343
  ...AuroElement$1.shadowRootOptions,
5344
- delegatesFocus: true,
5345
5344
  };
5346
5345
  }
5347
5346
 
@@ -5508,7 +5507,47 @@ class AuroDropdown extends AuroElement$1 {
5508
5507
  focusables[0].focus();
5509
5508
  }
5510
5509
  } else {
5510
+ this.focusTrigger();
5511
+ }
5512
+ }
5513
+
5514
+ /**
5515
+ * Focus the trigger content. When the trigger wrapper itself is focusable
5516
+ * (has tabindex), focus it directly. Otherwise, focus the first focusable
5517
+ * element slotted into the trigger slot (e.g. the auro-input).
5518
+ * @private
5519
+ */
5520
+ focusTrigger() {
5521
+ if (this.trigger.hasAttribute('tabindex')) {
5511
5522
  this.trigger.focus();
5523
+ } else {
5524
+ // Slotted content isn't a DOM child of the trigger div, so
5525
+ // getFocusableElements can't find it. Query assigned nodes directly.
5526
+ const slot = this.trigger.querySelector('slot[name="trigger"]');
5527
+ if (slot) {
5528
+ const assigned = slot.assignedElements();
5529
+ for (const el of assigned) {
5530
+ if (el.hasAttribute('disabled')) {
5531
+ continue;
5532
+ }
5533
+ // Try finding a focusable descendant first (handles non-focusable
5534
+ // wrappers like <div> containing a <button>). If none found, try
5535
+ // focusing the element directly (works for custom elements like
5536
+ // auro-input that have delegatesFocus or a custom focus() method).
5537
+ const descendants = getFocusableElements(el);
5538
+ if (descendants.length > 0) {
5539
+ descendants[0].focus();
5540
+ return;
5541
+ }
5542
+ el.focus();
5543
+ return;
5544
+ }
5545
+ }
5546
+ // Fallback: try DOM children (non-slotted content)
5547
+ const focusables = getFocusableElements(this.trigger);
5548
+ if (focusables.length > 0) {
5549
+ focusables[0].focus();
5550
+ }
5512
5551
  }
5513
5552
  }
5514
5553
 
@@ -5962,14 +6001,16 @@ class AuroDropdown extends AuroElement$1 {
5962
6001
 
5963
6002
  const eventType = event.detail.eventType || "unknown";
5964
6003
  if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown") {
5965
- this.trigger.focus();
6004
+ this.focusTrigger();
5966
6005
  }
5967
6006
 
5968
6007
 
5969
6008
  // On Tab-driven close (eventType "focusloss"), let focus advance naturally
5970
6009
  // — restoring to the trigger would trap the user on this dropdown, forcing
5971
6010
  // an extra Tab to move on. Escape and outside-click still restore.
5972
- if (!this.isPopoverVisible && eventType !== "focusloss") {
6011
+ // When noHideOnThisFocusLoss is true, the consumer (e.g. combobox) manages
6012
+ // its own focus restoration — skip the generic trigger focus to avoid races.
6013
+ if (!this.isPopoverVisible && eventType !== "focusloss" && !this.noHideOnThisFocusLoss) {
5973
6014
  // wait til the bib gets fully closed and rendered
5974
6015
  setTimeout(() => {
5975
6016
  // Skip if the bib re-opened, or if focus moved intentionally outside the dropdown (not to body).
@@ -5981,7 +6022,7 @@ class AuroDropdown extends AuroElement$1 {
5981
6022
  return;
5982
6023
  }
5983
6024
  // Restore focus to the trigger.
5984
- this.trigger.focus();
6025
+ this.focusTrigger();
5985
6026
  });
5986
6027
  }
5987
6028
  }
@@ -13717,7 +13717,7 @@ class AuroBibtemplate extends i$1 {
13717
13717
  }
13718
13718
  }
13719
13719
 
13720
- var formkitVersion$2 = '202607152158';
13720
+ var formkitVersion$2 = '202607160655';
13721
13721
 
13722
13722
  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=i$5`${s$5(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$4 = 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$3=i$3`: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}
13723
13723
  `,u$6=i$3`.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}}
@@ -19469,7 +19469,7 @@ let AuroHelpText$2 = class AuroHelpText extends i$1 {
19469
19469
  }
19470
19470
  };
19471
19471
 
19472
- var formkitVersion$1 = '202607152158';
19472
+ var formkitVersion$1 = '202607160655';
19473
19473
 
19474
19474
  let AuroElement$2 = class AuroElement extends i$1 {
19475
19475
  static get properties() {
@@ -19598,7 +19598,6 @@ class AuroDropdown extends AuroElement$2 {
19598
19598
  static get shadowRootOptions() {
19599
19599
  return {
19600
19600
  ...AuroElement$2.shadowRootOptions,
19601
- delegatesFocus: true,
19602
19601
  };
19603
19602
  }
19604
19603
 
@@ -19765,7 +19764,47 @@ class AuroDropdown extends AuroElement$2 {
19765
19764
  focusables[0].focus();
19766
19765
  }
19767
19766
  } else {
19767
+ this.focusTrigger();
19768
+ }
19769
+ }
19770
+
19771
+ /**
19772
+ * Focus the trigger content. When the trigger wrapper itself is focusable
19773
+ * (has tabindex), focus it directly. Otherwise, focus the first focusable
19774
+ * element slotted into the trigger slot (e.g. the auro-input).
19775
+ * @private
19776
+ */
19777
+ focusTrigger() {
19778
+ if (this.trigger.hasAttribute('tabindex')) {
19768
19779
  this.trigger.focus();
19780
+ } else {
19781
+ // Slotted content isn't a DOM child of the trigger div, so
19782
+ // getFocusableElements can't find it. Query assigned nodes directly.
19783
+ const slot = this.trigger.querySelector('slot[name="trigger"]');
19784
+ if (slot) {
19785
+ const assigned = slot.assignedElements();
19786
+ for (const el of assigned) {
19787
+ if (el.hasAttribute('disabled')) {
19788
+ continue;
19789
+ }
19790
+ // Try finding a focusable descendant first (handles non-focusable
19791
+ // wrappers like <div> containing a <button>). If none found, try
19792
+ // focusing the element directly (works for custom elements like
19793
+ // auro-input that have delegatesFocus or a custom focus() method).
19794
+ const descendants = getFocusableElements(el);
19795
+ if (descendants.length > 0) {
19796
+ descendants[0].focus();
19797
+ return;
19798
+ }
19799
+ el.focus();
19800
+ return;
19801
+ }
19802
+ }
19803
+ // Fallback: try DOM children (non-slotted content)
19804
+ const focusables = getFocusableElements(this.trigger);
19805
+ if (focusables.length > 0) {
19806
+ focusables[0].focus();
19807
+ }
19769
19808
  }
19770
19809
  }
19771
19810
 
@@ -20219,14 +20258,16 @@ class AuroDropdown extends AuroElement$2 {
20219
20258
 
20220
20259
  const eventType = event.detail.eventType || "unknown";
20221
20260
  if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown") {
20222
- this.trigger.focus();
20261
+ this.focusTrigger();
20223
20262
  }
20224
20263
 
20225
20264
 
20226
20265
  // On Tab-driven close (eventType "focusloss"), let focus advance naturally
20227
20266
  // — restoring to the trigger would trap the user on this dropdown, forcing
20228
20267
  // an extra Tab to move on. Escape and outside-click still restore.
20229
- if (!this.isPopoverVisible && eventType !== "focusloss") {
20268
+ // When noHideOnThisFocusLoss is true, the consumer (e.g. combobox) manages
20269
+ // its own focus restoration — skip the generic trigger focus to avoid races.
20270
+ if (!this.isPopoverVisible && eventType !== "focusloss" && !this.noHideOnThisFocusLoss) {
20230
20271
  // wait til the bib gets fully closed and rendered
20231
20272
  setTimeout(() => {
20232
20273
  // Skip if the bib re-opened, or if focus moved intentionally outside the dropdown (not to body).
@@ -20238,7 +20279,7 @@ class AuroDropdown extends AuroElement$2 {
20238
20279
  return;
20239
20280
  }
20240
20281
  // Restore focus to the trigger.
20241
- this.trigger.focus();
20282
+ this.focusTrigger();
20242
20283
  });
20243
20284
  }
20244
20285
  }
@@ -31419,9 +31460,10 @@ class DomHandler {
31419
31460
  class BaseInput extends AuroElement$1 {
31420
31461
 
31421
31462
  // Delegate focus to the native <input> inside the shadow root so that
31422
- // showModal()'s dialog focusing steps reach the input element.
31423
- // This keeps the mobile virtual keyboard open when the fullscreen dialog
31424
- // opens, because the browser sees an input-to-input focus transfer.
31463
+ // clicking anywhere on the input wrapper focuses the native input, and
31464
+ // programmatic .focus() calls on elements in the shadow DOM work correctly.
31465
+ // The initial-load focus theft was caused by the static `autofocus`
31466
+ // attribute on the bib input (now conditional), not by delegatesFocus.
31425
31467
  static get shadowRootOptions() {
31426
31468
  return {
31427
31469
  ...AuroElement$1.shadowRootOptions,
@@ -33098,7 +33140,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$1 {
33098
33140
  }
33099
33141
  };
33100
33142
 
33101
- var formkitVersion = '202607152158';
33143
+ var formkitVersion = '202607160655';
33102
33144
 
33103
33145
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
33104
33146
  // See LICENSE in the project root for license information.
@@ -33384,18 +33426,45 @@ class AuroInput extends BaseInput {
33384
33426
  * @returns {void}
33385
33427
  */
33386
33428
  checkDisplayValueSlotChange() {
33387
- // flatten:true resolves through auro-combobox's forwarding slot
33388
- // (<slot name="displayValue" slot="displayValue">) so a clone appended
33389
- // directly to auro-input's light DOM alongside the forwarder still
33390
- // counts as content. The prior nodes[0].tagName === 'SLOT' recursion
33391
- // discarded any siblings past the forwarder.
33392
33429
  const slot = this.shadowRoot?.querySelector('slot[name="displayValue"]');
33393
33430
  if (!slot) {
33431
+ // Shadow slot not yet rendered — fall back to checking light-DOM
33432
+ // children so hasDisplayValueContent isn't stuck false when called
33433
+ // before firstUpdated (e.g. from auro-combobox during mount).
33434
+ // Check for any element (including custom elements like <auro-icon>
33435
+ // that render via shadow DOM with no text content).
33436
+ const lightDomContent = this.querySelector('[slot="displayValue"]:not(slot)');
33437
+ this.hasDisplayValueContent = Boolean(lightDomContent && (
33438
+ lightDomContent.textContent.trim().length > 0 ||
33439
+ lightDomContent.children.length > 0 ||
33440
+ lightDomContent.shadowRoot !== null
33441
+ ));
33442
+ this.requestUpdate();
33394
33443
  return;
33395
33444
  }
33396
33445
  const nodes = slot.assignedNodes({ flatten: true });
33397
33446
 
33398
- this.hasDisplayValueContent = nodes.length > 0;
33447
+ // Check for actual visible content, not just node existence.
33448
+ // An empty <span slot="displayValue"></span> forwarded from the
33449
+ // consumer should not be treated as "has content" — it causes the
33450
+ // displayValue wrapper to render (with hasContent class) but show
33451
+ // nothing, blocking the combobox's synthetic displayValue from
33452
+ // being visible on preset/deeplink load.
33453
+ // Custom elements (e.g. <auro-icon>) that render via shadow DOM are
33454
+ // treated as content even when they have no text or light-DOM children.
33455
+ this.hasDisplayValueContent = nodes.some((node) => {
33456
+ if (node.nodeType === Node.TEXT_NODE) {
33457
+ return node.textContent.trim().length > 0;
33458
+ }
33459
+ if (node.nodeType === Node.ELEMENT_NODE) {
33460
+ return node.textContent.trim().length > 0 ||
33461
+ node.children.length > 0 ||
33462
+ node.shadowRoot !== null;
33463
+ }
33464
+ return false;
33465
+ });
33466
+
33467
+ this.requestUpdate();
33399
33468
  }
33400
33469
 
33401
33470
  firstUpdated() {
@@ -13717,7 +13717,7 @@ class AuroBibtemplate extends i$1 {
13717
13717
  }
13718
13718
  }
13719
13719
 
13720
- var formkitVersion$2 = '202607152158';
13720
+ var formkitVersion$2 = '202607160655';
13721
13721
 
13722
13722
  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=i$5`${s$5(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$4 = 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$3=i$3`: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}
13723
13723
  `,u$6=i$3`.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}}
@@ -19469,7 +19469,7 @@ let AuroHelpText$2 = class AuroHelpText extends i$1 {
19469
19469
  }
19470
19470
  };
19471
19471
 
19472
- var formkitVersion$1 = '202607152158';
19472
+ var formkitVersion$1 = '202607160655';
19473
19473
 
19474
19474
  let AuroElement$2 = class AuroElement extends i$1 {
19475
19475
  static get properties() {
@@ -19598,7 +19598,6 @@ class AuroDropdown extends AuroElement$2 {
19598
19598
  static get shadowRootOptions() {
19599
19599
  return {
19600
19600
  ...AuroElement$2.shadowRootOptions,
19601
- delegatesFocus: true,
19602
19601
  };
19603
19602
  }
19604
19603
 
@@ -19765,7 +19764,47 @@ class AuroDropdown extends AuroElement$2 {
19765
19764
  focusables[0].focus();
19766
19765
  }
19767
19766
  } else {
19767
+ this.focusTrigger();
19768
+ }
19769
+ }
19770
+
19771
+ /**
19772
+ * Focus the trigger content. When the trigger wrapper itself is focusable
19773
+ * (has tabindex), focus it directly. Otherwise, focus the first focusable
19774
+ * element slotted into the trigger slot (e.g. the auro-input).
19775
+ * @private
19776
+ */
19777
+ focusTrigger() {
19778
+ if (this.trigger.hasAttribute('tabindex')) {
19768
19779
  this.trigger.focus();
19780
+ } else {
19781
+ // Slotted content isn't a DOM child of the trigger div, so
19782
+ // getFocusableElements can't find it. Query assigned nodes directly.
19783
+ const slot = this.trigger.querySelector('slot[name="trigger"]');
19784
+ if (slot) {
19785
+ const assigned = slot.assignedElements();
19786
+ for (const el of assigned) {
19787
+ if (el.hasAttribute('disabled')) {
19788
+ continue;
19789
+ }
19790
+ // Try finding a focusable descendant first (handles non-focusable
19791
+ // wrappers like <div> containing a <button>). If none found, try
19792
+ // focusing the element directly (works for custom elements like
19793
+ // auro-input that have delegatesFocus or a custom focus() method).
19794
+ const descendants = getFocusableElements(el);
19795
+ if (descendants.length > 0) {
19796
+ descendants[0].focus();
19797
+ return;
19798
+ }
19799
+ el.focus();
19800
+ return;
19801
+ }
19802
+ }
19803
+ // Fallback: try DOM children (non-slotted content)
19804
+ const focusables = getFocusableElements(this.trigger);
19805
+ if (focusables.length > 0) {
19806
+ focusables[0].focus();
19807
+ }
19769
19808
  }
19770
19809
  }
19771
19810
 
@@ -20219,14 +20258,16 @@ class AuroDropdown extends AuroElement$2 {
20219
20258
 
20220
20259
  const eventType = event.detail.eventType || "unknown";
20221
20260
  if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown") {
20222
- this.trigger.focus();
20261
+ this.focusTrigger();
20223
20262
  }
20224
20263
 
20225
20264
 
20226
20265
  // On Tab-driven close (eventType "focusloss"), let focus advance naturally
20227
20266
  // — restoring to the trigger would trap the user on this dropdown, forcing
20228
20267
  // an extra Tab to move on. Escape and outside-click still restore.
20229
- if (!this.isPopoverVisible && eventType !== "focusloss") {
20268
+ // When noHideOnThisFocusLoss is true, the consumer (e.g. combobox) manages
20269
+ // its own focus restoration — skip the generic trigger focus to avoid races.
20270
+ if (!this.isPopoverVisible && eventType !== "focusloss" && !this.noHideOnThisFocusLoss) {
20230
20271
  // wait til the bib gets fully closed and rendered
20231
20272
  setTimeout(() => {
20232
20273
  // Skip if the bib re-opened, or if focus moved intentionally outside the dropdown (not to body).
@@ -20238,7 +20279,7 @@ class AuroDropdown extends AuroElement$2 {
20238
20279
  return;
20239
20280
  }
20240
20281
  // Restore focus to the trigger.
20241
- this.trigger.focus();
20282
+ this.focusTrigger();
20242
20283
  });
20243
20284
  }
20244
20285
  }
@@ -31419,9 +31460,10 @@ class DomHandler {
31419
31460
  class BaseInput extends AuroElement$1 {
31420
31461
 
31421
31462
  // Delegate focus to the native <input> inside the shadow root so that
31422
- // showModal()'s dialog focusing steps reach the input element.
31423
- // This keeps the mobile virtual keyboard open when the fullscreen dialog
31424
- // opens, because the browser sees an input-to-input focus transfer.
31463
+ // clicking anywhere on the input wrapper focuses the native input, and
31464
+ // programmatic .focus() calls on elements in the shadow DOM work correctly.
31465
+ // The initial-load focus theft was caused by the static `autofocus`
31466
+ // attribute on the bib input (now conditional), not by delegatesFocus.
31425
31467
  static get shadowRootOptions() {
31426
31468
  return {
31427
31469
  ...AuroElement$1.shadowRootOptions,
@@ -33098,7 +33140,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$1 {
33098
33140
  }
33099
33141
  };
33100
33142
 
33101
- var formkitVersion = '202607152158';
33143
+ var formkitVersion = '202607160655';
33102
33144
 
33103
33145
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
33104
33146
  // See LICENSE in the project root for license information.
@@ -33384,18 +33426,45 @@ class AuroInput extends BaseInput {
33384
33426
  * @returns {void}
33385
33427
  */
33386
33428
  checkDisplayValueSlotChange() {
33387
- // flatten:true resolves through auro-combobox's forwarding slot
33388
- // (<slot name="displayValue" slot="displayValue">) so a clone appended
33389
- // directly to auro-input's light DOM alongside the forwarder still
33390
- // counts as content. The prior nodes[0].tagName === 'SLOT' recursion
33391
- // discarded any siblings past the forwarder.
33392
33429
  const slot = this.shadowRoot?.querySelector('slot[name="displayValue"]');
33393
33430
  if (!slot) {
33431
+ // Shadow slot not yet rendered — fall back to checking light-DOM
33432
+ // children so hasDisplayValueContent isn't stuck false when called
33433
+ // before firstUpdated (e.g. from auro-combobox during mount).
33434
+ // Check for any element (including custom elements like <auro-icon>
33435
+ // that render via shadow DOM with no text content).
33436
+ const lightDomContent = this.querySelector('[slot="displayValue"]:not(slot)');
33437
+ this.hasDisplayValueContent = Boolean(lightDomContent && (
33438
+ lightDomContent.textContent.trim().length > 0 ||
33439
+ lightDomContent.children.length > 0 ||
33440
+ lightDomContent.shadowRoot !== null
33441
+ ));
33442
+ this.requestUpdate();
33394
33443
  return;
33395
33444
  }
33396
33445
  const nodes = slot.assignedNodes({ flatten: true });
33397
33446
 
33398
- this.hasDisplayValueContent = nodes.length > 0;
33447
+ // Check for actual visible content, not just node existence.
33448
+ // An empty <span slot="displayValue"></span> forwarded from the
33449
+ // consumer should not be treated as "has content" — it causes the
33450
+ // displayValue wrapper to render (with hasContent class) but show
33451
+ // nothing, blocking the combobox's synthetic displayValue from
33452
+ // being visible on preset/deeplink load.
33453
+ // Custom elements (e.g. <auro-icon>) that render via shadow DOM are
33454
+ // treated as content even when they have no text or light-DOM children.
33455
+ this.hasDisplayValueContent = nodes.some((node) => {
33456
+ if (node.nodeType === Node.TEXT_NODE) {
33457
+ return node.textContent.trim().length > 0;
33458
+ }
33459
+ if (node.nodeType === Node.ELEMENT_NODE) {
33460
+ return node.textContent.trim().length > 0 ||
33461
+ node.children.length > 0 ||
33462
+ node.shadowRoot !== null;
33463
+ }
33464
+ return false;
33465
+ });
33466
+
33467
+ this.requestUpdate();
33399
33468
  }
33400
33469
 
33401
33470
  firstUpdated() {