@aurodesignsystem-dev/auro-formkit 0.0.0-pr1395.2 → 0.0.0-pr1396.0

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 (38) hide show
  1. package/components/checkbox/demo/api.min.js +1 -1
  2. package/components/checkbox/demo/index.min.js +1 -1
  3. package/components/checkbox/dist/index.js +1 -1
  4. package/components/checkbox/dist/registered.js +1 -1
  5. package/components/combobox/demo/api.min.js +45 -13
  6. package/components/combobox/demo/index.min.js +45 -13
  7. package/components/combobox/dist/index.js +45 -13
  8. package/components/combobox/dist/registered.js +45 -13
  9. package/components/counter/demo/api.min.js +44 -12
  10. package/components/counter/demo/index.min.js +44 -12
  11. package/components/counter/dist/index.js +44 -12
  12. package/components/counter/dist/registered.js +44 -12
  13. package/components/datepicker/demo/api.min.js +51 -85
  14. package/components/datepicker/demo/index.min.js +51 -85
  15. package/components/datepicker/dist/index.js +51 -85
  16. package/components/datepicker/dist/registered.js +51 -85
  17. package/components/dropdown/demo/api.min.js +43 -11
  18. package/components/dropdown/demo/index.min.js +43 -11
  19. package/components/dropdown/dist/auro-dropdownBib.d.ts +14 -2
  20. package/components/dropdown/dist/index.js +43 -11
  21. package/components/dropdown/dist/registered.js +43 -11
  22. package/components/form/demo/api.min.js +187 -125
  23. package/components/form/demo/index.min.js +187 -125
  24. package/components/input/demo/api.min.js +1 -1
  25. package/components/input/demo/index.min.js +1 -1
  26. package/components/input/dist/index.js +1 -1
  27. package/components/input/dist/registered.js +1 -1
  28. package/components/radio/demo/api.min.js +1 -1
  29. package/components/radio/demo/index.min.js +1 -1
  30. package/components/radio/dist/index.js +1 -1
  31. package/components/radio/dist/registered.js +1 -1
  32. package/components/select/demo/api.min.js +44 -12
  33. package/components/select/demo/index.min.js +44 -12
  34. package/components/select/dist/index.js +44 -12
  35. package/components/select/dist/registered.js +44 -12
  36. package/custom-elements.json +1418 -1420
  37. package/package.json +2 -1
  38. package/components/datepicker/dist/datepickerKeyboardStrategy.d.ts +0 -4
@@ -9290,7 +9290,7 @@ class AuroBibtemplate extends i$1 {
9290
9290
  }
9291
9291
  }
9292
9292
 
9293
- var formkitVersion$2 = '202603241855';
9293
+ var formkitVersion$2 = '202603242359';
9294
9294
 
9295
9295
  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}
9296
9296
  `,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}}
@@ -12716,6 +12716,7 @@ class AuroDropdownBib extends i$1 {
12716
12716
 
12717
12717
  this.shape = "rounded";
12718
12718
  this.matchWidth = false;
12719
+ this.hasActiveDescendant = false;
12719
12720
  }
12720
12721
 
12721
12722
  static get styles() {
@@ -12802,6 +12803,18 @@ class AuroDropdownBib extends i$1 {
12802
12803
  */
12803
12804
  dialogRole: {
12804
12805
  type: String
12806
+ },
12807
+
12808
+ /**
12809
+ * Set by auro-dropdown when a menu option is highlighted via
12810
+ * aria-activedescendant. The dialog keyboard bridge checks this
12811
+ * flag so that Enter selects the highlighted option instead of
12812
+ * activating the focused interactive element (e.g. the trigger
12813
+ * button, or the bibtemplate close button in fullscreen).
12814
+ * @private
12815
+ */
12816
+ hasActiveDescendant: {
12817
+ type: Boolean
12805
12818
  }
12806
12819
  };
12807
12820
  }
@@ -12885,7 +12898,7 @@ class AuroDropdownBib extends i$1 {
12885
12898
  /**
12886
12899
  * Forwards the dialog's native `cancel` event (fired on ESC) as
12887
12900
  * an `auro-bib-cancel` custom event so parent components can close.
12888
- * @param {HTMLDialogElement} dialog
12901
+ * @param {HTMLDialogElement} dialog - The dialog element to attach the cancel listener to.
12889
12902
  * @private
12890
12903
  */
12891
12904
  _setupCancelHandler(dialog) {
@@ -12929,7 +12942,7 @@ class AuroDropdownBib extends i$1 {
12929
12942
  * is a secondary path for parent components that also listen for
12930
12943
  * Escape keydown.
12931
12944
  *
12932
- * @param {HTMLDialogElement} dialog
12945
+ * @param {HTMLDialogElement} dialog - The dialog element to attach the keyboard bridge to.
12933
12946
  * @private
12934
12947
  */
12935
12948
  _setupKeyboardBridge(dialog) {
@@ -12948,15 +12961,23 @@ class AuroDropdownBib extends i$1 {
12948
12961
 
12949
12962
  // Custom elements (auro-button) don't get the native Enter→click
12950
12963
  // behavior that <button> has. Find the button in the composed path
12951
- // and click it directly.
12964
+ // and click it directly — but only when no menu option is
12965
+ // highlighted. In fullscreen mode focus stays on the close button
12966
+ // while arrow keys move the active-descendant highlight through
12967
+ // the listbox. If the user presses Enter with an option
12968
+ // highlighted, the intent is to select that option, not to click
12969
+ // the close button. In that case we fall through and bridge the
12970
+ // Enter key to the parent component's keyboard strategy.
12952
12971
  if (event.key === 'Enter') {
12953
- const buttonSelector = 'button, [role="button"], auro-button, [auro-button]';
12954
- const btn = event.composedPath().find((el) => el.matches && el.matches(buttonSelector));
12955
- if (btn) {
12956
- event.preventDefault();
12957
- event.stopPropagation();
12958
- btn.click();
12959
- return;
12972
+ if (!this.hasActiveDescendant) {
12973
+ const buttonSelector = 'button, [role="button"], auro-button, [auro-button]';
12974
+ const btn = event.composedPath().find((el) => el.matches && el.matches(buttonSelector));
12975
+ if (btn) {
12976
+ event.preventDefault();
12977
+ event.stopPropagation();
12978
+ btn.click();
12979
+ return;
12980
+ }
12960
12981
  }
12961
12982
  }
12962
12983
 
@@ -13071,6 +13092,8 @@ class AuroDropdownBib extends i$1 {
13071
13092
  * Closes the dialog.
13072
13093
  */
13073
13094
  close() {
13095
+ this.hasActiveDescendant = false;
13096
+
13074
13097
  const dialog = this.shadowRoot.querySelector('dialog');
13075
13098
 
13076
13099
  if (dialog && dialog.open) {
@@ -13348,7 +13371,7 @@ let AuroHelpText$2 = class AuroHelpText extends i$1 {
13348
13371
  }
13349
13372
  };
13350
13373
 
13351
- var formkitVersion$1 = '202603241855';
13374
+ var formkitVersion$1 = '202603242359';
13352
13375
 
13353
13376
  let AuroElement$2 = class AuroElement extends i$1 {
13354
13377
  static get properties() {
@@ -13667,6 +13690,15 @@ class AuroDropdown extends AuroElement$2 {
13667
13690
  this.trigger.ariaActiveDescendantElement = null;
13668
13691
  this.trigger.removeAttribute('aria-activedescendant');
13669
13692
  }
13693
+
13694
+ // In fullscreen, focus stays on the close button while arrow keys
13695
+ // highlight options via active-descendant. Without this flag the
13696
+ // keyboard bridge clicks the close button on Enter (closing the
13697
+ // bib without selecting). When true, the bridge skips the button
13698
+ // click and forwards Enter to the parent to make the selection.
13699
+ if (this.bibContent) {
13700
+ this.bibContent.hasActiveDescendant = this.isBibFullscreen && Boolean(element);
13701
+ }
13670
13702
  }
13671
13703
 
13672
13704
  // function to define props used within the scope of this component
@@ -21103,7 +21135,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$1 {
21103
21135
  }
21104
21136
  };
21105
21137
 
21106
- var formkitVersion = '202603241855';
21138
+ var formkitVersion = '202603242359';
21107
21139
 
21108
21140
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
21109
21141
  // See LICENSE in the project root for license information.
@@ -22304,75 +22336,6 @@ function restoreTriggerAfterClose(dropdown, focusTarget) {
22304
22336
  * SPDX-License-Identifier: BSD-3-Clause
22305
22337
  */class e extends i$4{constructor(i){if(super(i),this.it=A$4,i.type!==t$2.CHILD)throw Error(this.constructor.directiveName+"() can only be used in child bindings")}render(r){if(r===A$4||null==r)return this._t=void 0,this.it=r;if(r===E$1)return r;if("string"!=typeof r)throw Error(this.constructor.directiveName+"() called with a non-string value");if(r===this.it)return this._t;this.it=r;const s=[r];return s.raw=s,this._t={_$litType$:this.constructor.resultType,strings:s,values:[]}}}e.directiveName="unsafeHTML",e.resultType=1;
22306
22338
 
22307
- /**
22308
- * Computes display state once per keydown event.
22309
- * Centralizes null-safety checks and makes the shared/modal/popover branching explicit.
22310
- *
22311
- * @param {HTMLElement} component - The component with a dropdown reference.
22312
- * @param {Object} [options] - Optional config.
22313
- * @param {HTMLElement} [options.dropdown] - Explicit dropdown reference. Falls back to component.dropdown.
22314
- * @param {Function} [options.inputResolver] - Called with (component, ctx) to resolve the active input element.
22315
- * @returns {{isExpanded: boolean, isModal: boolean, isPopover: boolean, activeInput: HTMLElement|null}}
22316
- * isModal and isPopover reflect the display mode (fullscreen vs not) regardless of expanded state.
22317
- */
22318
- function createDisplayContext(component, options = {}) {
22319
- const dd = options.dropdown || component.dropdown;
22320
- // isPopoverVisible reflects as the `open` attribute.
22321
- // It reports whether the bib is open in any mode (popover or modal).
22322
- const isExpanded = Boolean(dd && dd.isPopoverVisible);
22323
- const isFullscreen = Boolean(dd && dd.isBibFullscreen);
22324
-
22325
- const ctx = {
22326
- isExpanded,
22327
- isModal: isFullscreen,
22328
- isPopover: !isFullscreen,
22329
- activeInput: null,
22330
- };
22331
-
22332
- if (options.inputResolver) {
22333
- const resolvedInput = options.inputResolver(component, ctx);
22334
- // Guard against resolvers returning undefined or non-HTMLElement values.
22335
- ctx.activeInput = resolvedInput instanceof HTMLElement ? resolvedInput : null;
22336
- }
22337
-
22338
- return ctx;
22339
- }
22340
-
22341
- /**
22342
- * Wires up a keydown listener that dispatches to strategy[evt.key] or strategy.default.
22343
- * Handles both sync and async handlers.
22344
- * @param {HTMLElement} component - The component to attach the listener to.
22345
- * @param {Object} strategy - Map of key names to handler functions.
22346
- * @param {Object} [options] - Optional config passed to createDisplayContext.
22347
- */
22348
- function applyKeyboardStrategy(component, strategy, options = {}) {
22349
- component.addEventListener('keydown', async (evt) => {
22350
- const handler = strategy[evt.key] || strategy.default;
22351
- if (typeof handler === 'function') {
22352
- const ctx = createDisplayContext(component, options);
22353
- await handler(component, evt, ctx);
22354
- }
22355
- });
22356
- }
22357
-
22358
- // Copyright (c) 2026 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
22359
- // See LICENSE in the project root for license information.
22360
-
22361
- const datepickerKeyboardStrategy = {
22362
- Enter(component, evt, ctx) {
22363
- if (!ctx.isExpanded) {
22364
- evt.preventDefault();
22365
- component.dropdown.show();
22366
- }
22367
- },
22368
-
22369
- Tab(component, _evt, ctx) {
22370
- if (ctx.isExpanded && ctx.isModal) {
22371
- component.dropdown.hide();
22372
- }
22373
- },
22374
- };
22375
-
22376
22339
  // Copyright (c) 2026 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
22377
22340
  // See LICENSE in the project root for license information.
22378
22341
 
@@ -22382,7 +22345,7 @@ const datepickerKeyboardStrategy = {
22382
22345
  /**
22383
22346
  * The `auro-datepicker` component provides users with a way to select a date or date range from a calendar popup or fullscreen calendar on mobile.
22384
22347
  * @customElement auro-datepicker
22385
- *
22348
+ *
22386
22349
  * @slot helpText - Defines the content of the helpText.
22387
22350
  * @slot ariaLabel.bib.close - Sets aria-label on close button in fullscreen bib
22388
22351
  * @slot ariaLabel.input.clear - Sets aria-label on clear button
@@ -23186,8 +23149,11 @@ class AuroDatePicker extends AuroElement {
23186
23149
  // Tab closes the fullscreen dialog (same pattern as select).
23187
23150
  // The dialog event bridge intercepts Tab and re-dispatches it as a
23188
23151
  // composed keydown; this listener catches the re-dispatched event.
23189
- // Enter opens the bib when it is closed.
23190
- applyKeyboardStrategy(this, datepickerKeyboardStrategy);
23152
+ this.addEventListener('keydown', (evt) => {
23153
+ if (evt.key === 'Tab' && this.dropdown.isPopoverVisible && this.dropdown.isBibFullscreen) {
23154
+ this.dropdown.hide();
23155
+ }
23156
+ });
23191
23157
 
23192
23158
  this.dropdown.addEventListener('auroDropdown-triggerClick', () => {
23193
23159
  if (!this.isPopoverVisible) {
@@ -9242,7 +9242,7 @@ class AuroBibtemplate extends LitElement {
9242
9242
  }
9243
9243
  }
9244
9244
 
9245
- var formkitVersion$2 = '202603241855';
9245
+ var formkitVersion$2 = '202603242359';
9246
9246
 
9247
9247
  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}
9248
9248
  `,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}}
@@ -12650,6 +12650,7 @@ class AuroDropdownBib extends LitElement {
12650
12650
 
12651
12651
  this.shape = "rounded";
12652
12652
  this.matchWidth = false;
12653
+ this.hasActiveDescendant = false;
12653
12654
  }
12654
12655
 
12655
12656
  static get styles() {
@@ -12736,6 +12737,18 @@ class AuroDropdownBib extends LitElement {
12736
12737
  */
12737
12738
  dialogRole: {
12738
12739
  type: String
12740
+ },
12741
+
12742
+ /**
12743
+ * Set by auro-dropdown when a menu option is highlighted via
12744
+ * aria-activedescendant. The dialog keyboard bridge checks this
12745
+ * flag so that Enter selects the highlighted option instead of
12746
+ * activating the focused interactive element (e.g. the trigger
12747
+ * button, or the bibtemplate close button in fullscreen).
12748
+ * @private
12749
+ */
12750
+ hasActiveDescendant: {
12751
+ type: Boolean
12739
12752
  }
12740
12753
  };
12741
12754
  }
@@ -12819,7 +12832,7 @@ class AuroDropdownBib extends LitElement {
12819
12832
  /**
12820
12833
  * Forwards the dialog's native `cancel` event (fired on ESC) as
12821
12834
  * an `auro-bib-cancel` custom event so parent components can close.
12822
- * @param {HTMLDialogElement} dialog
12835
+ * @param {HTMLDialogElement} dialog - The dialog element to attach the cancel listener to.
12823
12836
  * @private
12824
12837
  */
12825
12838
  _setupCancelHandler(dialog) {
@@ -12863,7 +12876,7 @@ class AuroDropdownBib extends LitElement {
12863
12876
  * is a secondary path for parent components that also listen for
12864
12877
  * Escape keydown.
12865
12878
  *
12866
- * @param {HTMLDialogElement} dialog
12879
+ * @param {HTMLDialogElement} dialog - The dialog element to attach the keyboard bridge to.
12867
12880
  * @private
12868
12881
  */
12869
12882
  _setupKeyboardBridge(dialog) {
@@ -12882,15 +12895,23 @@ class AuroDropdownBib extends LitElement {
12882
12895
 
12883
12896
  // Custom elements (auro-button) don't get the native Enter→click
12884
12897
  // behavior that <button> has. Find the button in the composed path
12885
- // and click it directly.
12898
+ // and click it directly — but only when no menu option is
12899
+ // highlighted. In fullscreen mode focus stays on the close button
12900
+ // while arrow keys move the active-descendant highlight through
12901
+ // the listbox. If the user presses Enter with an option
12902
+ // highlighted, the intent is to select that option, not to click
12903
+ // the close button. In that case we fall through and bridge the
12904
+ // Enter key to the parent component's keyboard strategy.
12886
12905
  if (event.key === 'Enter') {
12887
- const buttonSelector = 'button, [role="button"], auro-button, [auro-button]';
12888
- const btn = event.composedPath().find((el) => el.matches && el.matches(buttonSelector));
12889
- if (btn) {
12890
- event.preventDefault();
12891
- event.stopPropagation();
12892
- btn.click();
12893
- return;
12906
+ if (!this.hasActiveDescendant) {
12907
+ const buttonSelector = 'button, [role="button"], auro-button, [auro-button]';
12908
+ const btn = event.composedPath().find((el) => el.matches && el.matches(buttonSelector));
12909
+ if (btn) {
12910
+ event.preventDefault();
12911
+ event.stopPropagation();
12912
+ btn.click();
12913
+ return;
12914
+ }
12894
12915
  }
12895
12916
  }
12896
12917
 
@@ -13005,6 +13026,8 @@ class AuroDropdownBib extends LitElement {
13005
13026
  * Closes the dialog.
13006
13027
  */
13007
13028
  close() {
13029
+ this.hasActiveDescendant = false;
13030
+
13008
13031
  const dialog = this.shadowRoot.querySelector('dialog');
13009
13032
 
13010
13033
  if (dialog && dialog.open) {
@@ -13282,7 +13305,7 @@ let AuroHelpText$2 = class AuroHelpText extends LitElement {
13282
13305
  }
13283
13306
  };
13284
13307
 
13285
- var formkitVersion$1 = '202603241855';
13308
+ var formkitVersion$1 = '202603242359';
13286
13309
 
13287
13310
  let AuroElement$2 = class AuroElement extends LitElement {
13288
13311
  static get properties() {
@@ -13601,6 +13624,15 @@ class AuroDropdown extends AuroElement$2 {
13601
13624
  this.trigger.ariaActiveDescendantElement = null;
13602
13625
  this.trigger.removeAttribute('aria-activedescendant');
13603
13626
  }
13627
+
13628
+ // In fullscreen, focus stays on the close button while arrow keys
13629
+ // highlight options via active-descendant. Without this flag the
13630
+ // keyboard bridge clicks the close button on Enter (closing the
13631
+ // bib without selecting). When true, the bridge skips the button
13632
+ // click and forwards Enter to the parent to make the selection.
13633
+ if (this.bibContent) {
13634
+ this.bibContent.hasActiveDescendant = this.isBibFullscreen && Boolean(element);
13635
+ }
13604
13636
  }
13605
13637
 
13606
13638
  // function to define props used within the scope of this component
@@ -21030,7 +21062,7 @@ let AuroHelpText$1 = class AuroHelpText extends LitElement {
21030
21062
  }
21031
21063
  };
21032
21064
 
21033
- var formkitVersion = '202603241855';
21065
+ var formkitVersion = '202603242359';
21034
21066
 
21035
21067
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
21036
21068
  // See LICENSE in the project root for license information.
@@ -22225,75 +22257,6 @@ function restoreTriggerAfterClose(dropdown, focusTarget) {
22225
22257
  });
22226
22258
  }
22227
22259
 
22228
- /**
22229
- * Computes display state once per keydown event.
22230
- * Centralizes null-safety checks and makes the shared/modal/popover branching explicit.
22231
- *
22232
- * @param {HTMLElement} component - The component with a dropdown reference.
22233
- * @param {Object} [options] - Optional config.
22234
- * @param {HTMLElement} [options.dropdown] - Explicit dropdown reference. Falls back to component.dropdown.
22235
- * @param {Function} [options.inputResolver] - Called with (component, ctx) to resolve the active input element.
22236
- * @returns {{isExpanded: boolean, isModal: boolean, isPopover: boolean, activeInput: HTMLElement|null}}
22237
- * isModal and isPopover reflect the display mode (fullscreen vs not) regardless of expanded state.
22238
- */
22239
- function createDisplayContext(component, options = {}) {
22240
- const dd = options.dropdown || component.dropdown;
22241
- // isPopoverVisible reflects as the `open` attribute.
22242
- // It reports whether the bib is open in any mode (popover or modal).
22243
- const isExpanded = Boolean(dd && dd.isPopoverVisible);
22244
- const isFullscreen = Boolean(dd && dd.isBibFullscreen);
22245
-
22246
- const ctx = {
22247
- isExpanded,
22248
- isModal: isFullscreen,
22249
- isPopover: !isFullscreen,
22250
- activeInput: null,
22251
- };
22252
-
22253
- if (options.inputResolver) {
22254
- const resolvedInput = options.inputResolver(component, ctx);
22255
- // Guard against resolvers returning undefined or non-HTMLElement values.
22256
- ctx.activeInput = resolvedInput instanceof HTMLElement ? resolvedInput : null;
22257
- }
22258
-
22259
- return ctx;
22260
- }
22261
-
22262
- /**
22263
- * Wires up a keydown listener that dispatches to strategy[evt.key] or strategy.default.
22264
- * Handles both sync and async handlers.
22265
- * @param {HTMLElement} component - The component to attach the listener to.
22266
- * @param {Object} strategy - Map of key names to handler functions.
22267
- * @param {Object} [options] - Optional config passed to createDisplayContext.
22268
- */
22269
- function applyKeyboardStrategy(component, strategy, options = {}) {
22270
- component.addEventListener('keydown', async (evt) => {
22271
- const handler = strategy[evt.key] || strategy.default;
22272
- if (typeof handler === 'function') {
22273
- const ctx = createDisplayContext(component, options);
22274
- await handler(component, evt, ctx);
22275
- }
22276
- });
22277
- }
22278
-
22279
- // Copyright (c) 2026 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
22280
- // See LICENSE in the project root for license information.
22281
-
22282
- const datepickerKeyboardStrategy = {
22283
- Enter(component, evt, ctx) {
22284
- if (!ctx.isExpanded) {
22285
- evt.preventDefault();
22286
- component.dropdown.show();
22287
- }
22288
- },
22289
-
22290
- Tab(component, _evt, ctx) {
22291
- if (ctx.isExpanded && ctx.isModal) {
22292
- component.dropdown.hide();
22293
- }
22294
- },
22295
- };
22296
-
22297
22260
  // Copyright (c) 2026 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
22298
22261
  // See LICENSE in the project root for license information.
22299
22262
 
@@ -22303,7 +22266,7 @@ const datepickerKeyboardStrategy = {
22303
22266
  /**
22304
22267
  * The `auro-datepicker` component provides users with a way to select a date or date range from a calendar popup or fullscreen calendar on mobile.
22305
22268
  * @customElement auro-datepicker
22306
- *
22269
+ *
22307
22270
  * @slot helpText - Defines the content of the helpText.
22308
22271
  * @slot ariaLabel.bib.close - Sets aria-label on close button in fullscreen bib
22309
22272
  * @slot ariaLabel.input.clear - Sets aria-label on clear button
@@ -23107,8 +23070,11 @@ class AuroDatePicker extends AuroElement {
23107
23070
  // Tab closes the fullscreen dialog (same pattern as select).
23108
23071
  // The dialog event bridge intercepts Tab and re-dispatches it as a
23109
23072
  // composed keydown; this listener catches the re-dispatched event.
23110
- // Enter opens the bib when it is closed.
23111
- applyKeyboardStrategy(this, datepickerKeyboardStrategy);
23073
+ this.addEventListener('keydown', (evt) => {
23074
+ if (evt.key === 'Tab' && this.dropdown.isPopoverVisible && this.dropdown.isBibFullscreen) {
23075
+ this.dropdown.hide();
23076
+ }
23077
+ });
23112
23078
 
23113
23079
  this.dropdown.addEventListener('auroDropdown-triggerClick', () => {
23114
23080
  if (!this.isPopoverVisible) {