@aurodesignsystem-dev/auro-formkit 0.0.0-pr1411.2 → 0.0.0-pr1413.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 (48) 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 +5 -15
  6. package/components/combobox/demo/index.min.js +5 -15
  7. package/components/combobox/dist/index.js +4 -14
  8. package/components/combobox/dist/registered.js +4 -14
  9. package/components/counter/demo/api.min.js +3 -13
  10. package/components/counter/demo/index.min.js +3 -13
  11. package/components/counter/dist/index.js +3 -13
  12. package/components/counter/dist/registered.js +3 -13
  13. package/components/datepicker/demo/api.min.js +22 -135
  14. package/components/datepicker/demo/index.min.js +22 -135
  15. package/components/datepicker/dist/datepickerKeyboardStrategy.d.ts +1 -4
  16. package/components/datepicker/dist/index.js +22 -135
  17. package/components/datepicker/dist/registered.js +22 -135
  18. package/components/dropdown/demo/api.md +28 -29
  19. package/components/dropdown/demo/api.min.js +2 -12
  20. package/components/dropdown/demo/index.min.js +2 -12
  21. package/components/dropdown/dist/auro-dropdown.d.ts +0 -8
  22. package/components/dropdown/dist/index.js +2 -12
  23. package/components/dropdown/dist/registered.js +2 -12
  24. package/components/form/demo/api.min.js +59 -251
  25. package/components/form/demo/index.min.js +59 -251
  26. package/components/input/demo/api.min.js +1 -1
  27. package/components/input/demo/index.min.js +1 -1
  28. package/components/input/dist/index.js +1 -1
  29. package/components/input/dist/registered.js +1 -1
  30. package/components/menu/demo/api.min.js +1 -1
  31. package/components/menu/demo/index.min.js +1 -1
  32. package/components/menu/demo/keyboardBehavior.md +0 -0
  33. package/components/menu/dist/index.js +1 -1
  34. package/components/menu/dist/registered.js +1 -1
  35. package/components/radio/demo/api.min.js +1 -1
  36. package/components/radio/demo/index.min.js +1 -1
  37. package/components/radio/demo/keyboardBehavior.md +0 -0
  38. package/components/radio/dist/index.js +1 -1
  39. package/components/radio/dist/registered.js +1 -1
  40. package/components/select/demo/api.min.js +27 -86
  41. package/components/select/demo/index.min.js +27 -86
  42. package/components/select/demo/keyboardBehavior.md +3 -3
  43. package/components/select/dist/index.js +26 -85
  44. package/components/select/dist/registered.js +26 -85
  45. package/components/select/dist/selectKeyboardStrategy.d.ts +2 -5
  46. package/custom-elements.json +1549 -1568
  47. package/package.json +3 -3
  48. /package/components/datepicker/demo/{keyboardBehavior.html → keyboard-behavior.html} +0 -0
@@ -9242,7 +9242,7 @@ class AuroBibtemplate extends LitElement {
9242
9242
  }
9243
9243
  }
9244
9244
 
9245
- var formkitVersion$2 = '202604021752';
9245
+ var formkitVersion$2 = '202604021941';
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}}
@@ -9696,12 +9696,12 @@ class AuroCalendar extends RangeDatepicker {
9696
9696
  </div>
9697
9697
  <div class="calendarNavButtons">
9698
9698
  ${this.showPrevMonthBtn ? html$1`
9699
- <button class="calendarNavBtn prevMonth" @click="${this.handlePrevMonth}">
9699
+ <button tabIndex="-1" class="calendarNavBtn prevMonth" @click="${this.handlePrevMonth}">
9700
9700
  ${this.util.generateIconHtml(chevronLeft)}
9701
9701
  </button>
9702
9702
  ` : undefined}
9703
9703
  ${this.showNextMonthBtn ? html$1`
9704
- <button class="calendarNavBtn nextMonth" @click="${this.handleNextMonth}">
9704
+ <button tabIndex="-1" class="calendarNavBtn nextMonth" @click="${this.handleNextMonth}">
9705
9705
  ${this.util.generateIconHtml(chevronRight)}
9706
9706
  </button>
9707
9707
  ` : undefined}
@@ -12630,7 +12630,7 @@ var iconVersion$2 = '9.1.2';
12630
12630
  * @returns {{isExpanded: boolean, isModal: boolean, isPopover: boolean, activeInput: HTMLElement|null}}
12631
12631
  * isModal and isPopover reflect the display mode (fullscreen vs not) regardless of expanded state.
12632
12632
  */
12633
- function createDisplayContext$1(component, options = {}) {
12633
+ function createDisplayContext(component, options = {}) {
12634
12634
  const dd = options.dropdown || component.dropdown;
12635
12635
  // isPopoverVisible reflects as the `open` attribute.
12636
12636
  // It reports whether the bib is open in any mode (popover or modal).
@@ -12660,11 +12660,11 @@ function createDisplayContext$1(component, options = {}) {
12660
12660
  * @param {Object} strategy - Map of key names to handler functions.
12661
12661
  * @param {Object} [options] - Optional config passed to createDisplayContext.
12662
12662
  */
12663
- function applyKeyboardStrategy$1(component, strategy, options = {}) {
12663
+ function applyKeyboardStrategy(component, strategy, options = {}) {
12664
12664
  component.addEventListener('keydown', async (evt) => {
12665
12665
  const handler = strategy[evt.key] || strategy.default;
12666
12666
  if (typeof handler === 'function') {
12667
- const ctx = createDisplayContext$1(component, options);
12667
+ const ctx = createDisplayContext(component, options);
12668
12668
  await handler(component, evt, ctx);
12669
12669
  }
12670
12670
  });
@@ -12894,7 +12894,7 @@ class AuroDropdownBib extends LitElement {
12894
12894
 
12895
12895
  const dialog = this.shadowRoot.querySelector('dialog');
12896
12896
  this._setupCancelHandler(dialog);
12897
- applyKeyboardStrategy$1(dialog, createDropdownBibKeyboardStrategy());
12897
+ applyKeyboardStrategy(dialog, createDropdownBibKeyboardStrategy());
12898
12898
 
12899
12899
  this.dispatchEvent(new CustomEvent('auro-dropdownbib-connected', {
12900
12900
  bubbles: true,
@@ -13295,7 +13295,7 @@ let AuroHelpText$2 = class AuroHelpText extends LitElement {
13295
13295
  }
13296
13296
  };
13297
13297
 
13298
- var formkitVersion$1 = '202604021752';
13298
+ var formkitVersion$1 = '202604021941';
13299
13299
 
13300
13300
  let AuroElement$2 = class AuroElement extends LitElement {
13301
13301
  static get properties() {
@@ -13476,7 +13476,6 @@ class AuroDropdown extends AuroElement$2 {
13476
13476
  this.appearance = 'default';
13477
13477
  this.chevron = false;
13478
13478
  this.disabled = false;
13479
- this.disableKeyboardHandling = false;
13480
13479
  this.error = false;
13481
13480
  this.tabIndex = 0;
13482
13481
  this.noToggle = false;
@@ -13688,14 +13687,6 @@ class AuroDropdown extends AuroElement$2 {
13688
13687
  reflect: true
13689
13688
  },
13690
13689
 
13691
- /**
13692
- * If declared, the dropdown will not handle keyboard events and will require the consumer to manage this behavior.
13693
- */
13694
- disableKeyboardHandling: {
13695
- type: Boolean,
13696
- reflect: true
13697
- },
13698
-
13699
13690
  /**
13700
13691
  * @private
13701
13692
  */
@@ -14001,7 +13992,7 @@ class AuroDropdown extends AuroElement$2 {
14001
13992
 
14002
13993
  firstUpdated() {
14003
13994
  // Configure the floater to, this will generate the ID for the bib
14004
- this.floater.configure(this, 'auroDropdown', !this.disableKeyboardHandling);
13995
+ this.floater.configure(this, 'auroDropdown');
14005
13996
 
14006
13997
  // Prevent `contain: layout` on the dropdown host. Layout containment
14007
13998
  // creates a containing block for position:fixed descendants (the bib),
@@ -14309,7 +14300,6 @@ class AuroDropdown extends AuroElement$2 {
14309
14300
  aria-expanded="${ifDefined(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : this.isPopoverVisible)}"
14310
14301
  aria-controls="${ifDefined(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : this.dropdownId)}"
14311
14302
  aria-labelledby="${ifDefined(this.triggerContentFocusable ? undefined : 'triggerLabel')}"
14312
- aria-disabled="${ifDefined(this.disabled ? 'true' : undefined)}"
14313
14303
  @focusin="${this.handleFocusin}"
14314
14304
  @blur="${this.handleFocusOut}">
14315
14305
  <div class="triggerContentWrapper" id="triggerLabel">
@@ -21052,7 +21042,7 @@ let AuroHelpText$1 = class AuroHelpText extends LitElement {
21052
21042
  }
21053
21043
  };
21054
21044
 
21055
- var formkitVersion = '202604021752';
21045
+ var formkitVersion = '202604021941';
21056
21046
 
21057
21047
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
21058
21048
  // See LICENSE in the project root for license information.
@@ -22223,99 +22213,6 @@ function guardTouchPassthrough(element) {
22223
22213
  }, { once: true });
22224
22214
  }
22225
22215
 
22226
- /**
22227
- * Restores the dropdown trigger after a fullscreen dialog closes.
22228
- *
22229
- * Removes the `inert` attribute from the trigger so it is accessible again,
22230
- * and restores focus to the given target after one animation frame. The rAF
22231
- * delay lets Lit's microtask update cycle call `dialog.close()` first —
22232
- * without it the browser's native dialog focus restoration can conflict.
22233
- *
22234
- * The focus is only applied if the dropdown is still closed at the time the
22235
- * rAF fires, guarding against a rapid close-then-reopen race.
22236
- *
22237
- * @param {HTMLElement} dropdown - The `auro-dropdown` element.
22238
- * @param {HTMLElement} focusTarget - The element to focus (e.g. trigger or input).
22239
- */
22240
- function restoreTriggerAfterClose(dropdown, focusTarget) {
22241
- dropdown.trigger.inert = false;
22242
-
22243
- requestAnimationFrame(() => {
22244
- if (!dropdown.isPopoverVisible) {
22245
- focusTarget.focus();
22246
- }
22247
- });
22248
- }
22249
-
22250
- /**
22251
- * Computes display state once per keydown event.
22252
- * Centralizes null-safety checks and makes the shared/modal/popover branching explicit.
22253
- *
22254
- * @param {HTMLElement} component - The component with a dropdown reference.
22255
- * @param {Object} [options] - Optional config.
22256
- * @param {HTMLElement} [options.dropdown] - Explicit dropdown reference. Falls back to component.dropdown.
22257
- * @param {Function} [options.inputResolver] - Called with (component, ctx) to resolve the active input element.
22258
- * @returns {{isExpanded: boolean, isModal: boolean, isPopover: boolean, activeInput: HTMLElement|null}}
22259
- * isModal and isPopover reflect the display mode (fullscreen vs not) regardless of expanded state.
22260
- */
22261
- function createDisplayContext(component, options = {}) {
22262
- const dd = options.dropdown || component.dropdown;
22263
- // isPopoverVisible reflects as the `open` attribute.
22264
- // It reports whether the bib is open in any mode (popover or modal).
22265
- const isExpanded = Boolean(dd && dd.isPopoverVisible);
22266
- const isFullscreen = Boolean(dd && dd.isBibFullscreen);
22267
-
22268
- const ctx = {
22269
- isExpanded,
22270
- isModal: isFullscreen,
22271
- isPopover: !isFullscreen,
22272
- activeInput: null,
22273
- };
22274
-
22275
- if (options.inputResolver) {
22276
- const resolvedInput = options.inputResolver(component, ctx);
22277
- // Guard against resolvers returning undefined or non-HTMLElement values.
22278
- ctx.activeInput = resolvedInput instanceof HTMLElement ? resolvedInput : null;
22279
- }
22280
-
22281
- return ctx;
22282
- }
22283
-
22284
- /**
22285
- * Wires up a keydown listener that dispatches to strategy[evt.key] or strategy.default.
22286
- * Handles both sync and async handlers.
22287
- * @param {HTMLElement} component - The component to attach the listener to.
22288
- * @param {Object} strategy - Map of key names to handler functions.
22289
- * @param {Object} [options] - Optional config passed to createDisplayContext.
22290
- */
22291
- function applyKeyboardStrategy(component, strategy, options = {}) {
22292
- component.addEventListener('keydown', async (evt) => {
22293
- const handler = strategy[evt.key] || strategy.default;
22294
- if (typeof handler === 'function') {
22295
- const ctx = createDisplayContext(component, options);
22296
- await handler(component, evt, ctx);
22297
- }
22298
- });
22299
- }
22300
-
22301
- // Copyright (c) 2026 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
22302
- // See LICENSE in the project root for license information.
22303
-
22304
- const datepickerKeyboardStrategy = {
22305
- Enter(component, evt, ctx) {
22306
- if (!ctx.isExpanded) {
22307
- evt.preventDefault();
22308
- component.dropdown.show();
22309
- }
22310
- },
22311
-
22312
- Tab(component, _evt, ctx) {
22313
- if (ctx.isExpanded && ctx.isModal) {
22314
- component.dropdown.hide();
22315
- }
22316
- },
22317
- };
22318
-
22319
22216
  // Copyright (c) 2026 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
22320
22217
  // See LICENSE in the project root for license information.
22321
22218
 
@@ -23111,13 +23008,6 @@ class AuroDatePicker extends AuroElement {
23111
23008
  configureDropdown() {
23112
23009
  this.dropdown = this.shadowRoot.querySelector(this.dropdownTag._$litStatic$);
23113
23010
 
23114
- // Prevent dropdown from closing on focus loss during fullscreen transitions.
23115
- // When trigger.inert is set to true (to hide the trigger from assistive
23116
- // technology behind the fullscreen dialog), focus leaves the trigger, which
23117
- // fires a focusout event. The floater's handleFocusLoss() would interpret
23118
- // this as "close the bib" without this flag.
23119
- this.dropdown.noHideOnThisFocusLoss = true;
23120
-
23121
23011
  // Pass label text to the dropdown bib for accessible dialog naming.
23122
23012
  // Without this, the fullscreen <dialog> has no accessible name and
23123
23013
  // screen readers announce it as just "dialog" with no context.
@@ -23126,12 +23016,6 @@ class AuroDatePicker extends AuroElement {
23126
23016
  this.dropdown.bibDialogLabel = labelElement.textContent.trim() || undefined;
23127
23017
  }
23128
23018
 
23129
- // Tab closes the fullscreen dialog (same pattern as select).
23130
- // The dialog event bridge intercepts Tab and re-dispatches it as a
23131
- // composed keydown; this listener catches the re-dispatched event.
23132
- // Enter opens the bib when it is closed.
23133
- applyKeyboardStrategy(this, datepickerKeyboardStrategy);
23134
-
23135
23019
  this.dropdown.addEventListener('auroDropdown-triggerClick', () => {
23136
23020
  if (!this.isPopoverVisible) {
23137
23021
  this.dropdown.show();
@@ -23181,7 +23065,17 @@ class AuroDatePicker extends AuroElement {
23181
23065
  guardTouchPassthrough(this.shadowRoot.querySelector('.calendarWrapper'));
23182
23066
  }
23183
23067
  } else {
23184
- restoreTriggerAfterClose(this.dropdown, this.inputList[0]);
23068
+ // Always clear the inert flag. Only restore focus to the input when the datepicker
23069
+ // still has focus (e.g. Escape, date selected) — not when the user tabbed away,
23070
+ // which would pull them back and require extra Tab presses to escape.
23071
+ this.dropdown.trigger.inert = false;
23072
+ if (this.hasFocus) {
23073
+ requestAnimationFrame(() => {
23074
+ if (!this.dropdown.isPopoverVisible) {
23075
+ this.inputList[0].focus();
23076
+ }
23077
+ });
23078
+ }
23185
23079
  }
23186
23080
 
23187
23081
  // If on mobile, and the calendar is opened, scroll the focus date into view if the flag is set
@@ -23224,7 +23118,7 @@ class AuroDatePicker extends AuroElement {
23224
23118
  }
23225
23119
  });
23226
23120
  }
23227
-
23121
+
23228
23122
  /**
23229
23123
  * Binds all behavior needed to the input after rendering.
23230
23124
  * @private
@@ -23236,13 +23130,6 @@ class AuroDatePicker extends AuroElement {
23236
23130
  this.inputList = [...this.dropdown.querySelectorAll(this.inputTag._$litStatic$)];
23237
23131
 
23238
23132
  this.inputList.forEach((input, index) => {
23239
- // auto-show bib when manually editing the input value
23240
- input.addEventListener('keyup', (evt) => {
23241
- if (evt.key === " ") {
23242
- this.dropdown.show();
23243
- }
23244
- });
23245
-
23246
23133
  input.addEventListener('input', () => {
23247
23134
  if (index === 0) {
23248
23135
  this.value = input.value;
@@ -9242,7 +9242,7 @@ class AuroBibtemplate extends LitElement {
9242
9242
  }
9243
9243
  }
9244
9244
 
9245
- var formkitVersion$2 = '202604021752';
9245
+ var formkitVersion$2 = '202604021941';
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}}
@@ -9696,12 +9696,12 @@ class AuroCalendar extends RangeDatepicker {
9696
9696
  </div>
9697
9697
  <div class="calendarNavButtons">
9698
9698
  ${this.showPrevMonthBtn ? html$1`
9699
- <button class="calendarNavBtn prevMonth" @click="${this.handlePrevMonth}">
9699
+ <button tabIndex="-1" class="calendarNavBtn prevMonth" @click="${this.handlePrevMonth}">
9700
9700
  ${this.util.generateIconHtml(chevronLeft)}
9701
9701
  </button>
9702
9702
  ` : undefined}
9703
9703
  ${this.showNextMonthBtn ? html$1`
9704
- <button class="calendarNavBtn nextMonth" @click="${this.handleNextMonth}">
9704
+ <button tabIndex="-1" class="calendarNavBtn nextMonth" @click="${this.handleNextMonth}">
9705
9705
  ${this.util.generateIconHtml(chevronRight)}
9706
9706
  </button>
9707
9707
  ` : undefined}
@@ -12630,7 +12630,7 @@ var iconVersion$2 = '9.1.2';
12630
12630
  * @returns {{isExpanded: boolean, isModal: boolean, isPopover: boolean, activeInput: HTMLElement|null}}
12631
12631
  * isModal and isPopover reflect the display mode (fullscreen vs not) regardless of expanded state.
12632
12632
  */
12633
- function createDisplayContext$1(component, options = {}) {
12633
+ function createDisplayContext(component, options = {}) {
12634
12634
  const dd = options.dropdown || component.dropdown;
12635
12635
  // isPopoverVisible reflects as the `open` attribute.
12636
12636
  // It reports whether the bib is open in any mode (popover or modal).
@@ -12660,11 +12660,11 @@ function createDisplayContext$1(component, options = {}) {
12660
12660
  * @param {Object} strategy - Map of key names to handler functions.
12661
12661
  * @param {Object} [options] - Optional config passed to createDisplayContext.
12662
12662
  */
12663
- function applyKeyboardStrategy$1(component, strategy, options = {}) {
12663
+ function applyKeyboardStrategy(component, strategy, options = {}) {
12664
12664
  component.addEventListener('keydown', async (evt) => {
12665
12665
  const handler = strategy[evt.key] || strategy.default;
12666
12666
  if (typeof handler === 'function') {
12667
- const ctx = createDisplayContext$1(component, options);
12667
+ const ctx = createDisplayContext(component, options);
12668
12668
  await handler(component, evt, ctx);
12669
12669
  }
12670
12670
  });
@@ -12894,7 +12894,7 @@ class AuroDropdownBib extends LitElement {
12894
12894
 
12895
12895
  const dialog = this.shadowRoot.querySelector('dialog');
12896
12896
  this._setupCancelHandler(dialog);
12897
- applyKeyboardStrategy$1(dialog, createDropdownBibKeyboardStrategy());
12897
+ applyKeyboardStrategy(dialog, createDropdownBibKeyboardStrategy());
12898
12898
 
12899
12899
  this.dispatchEvent(new CustomEvent('auro-dropdownbib-connected', {
12900
12900
  bubbles: true,
@@ -13295,7 +13295,7 @@ let AuroHelpText$2 = class AuroHelpText extends LitElement {
13295
13295
  }
13296
13296
  };
13297
13297
 
13298
- var formkitVersion$1 = '202604021752';
13298
+ var formkitVersion$1 = '202604021941';
13299
13299
 
13300
13300
  let AuroElement$2 = class AuroElement extends LitElement {
13301
13301
  static get properties() {
@@ -13476,7 +13476,6 @@ class AuroDropdown extends AuroElement$2 {
13476
13476
  this.appearance = 'default';
13477
13477
  this.chevron = false;
13478
13478
  this.disabled = false;
13479
- this.disableKeyboardHandling = false;
13480
13479
  this.error = false;
13481
13480
  this.tabIndex = 0;
13482
13481
  this.noToggle = false;
@@ -13688,14 +13687,6 @@ class AuroDropdown extends AuroElement$2 {
13688
13687
  reflect: true
13689
13688
  },
13690
13689
 
13691
- /**
13692
- * If declared, the dropdown will not handle keyboard events and will require the consumer to manage this behavior.
13693
- */
13694
- disableKeyboardHandling: {
13695
- type: Boolean,
13696
- reflect: true
13697
- },
13698
-
13699
13690
  /**
13700
13691
  * @private
13701
13692
  */
@@ -14001,7 +13992,7 @@ class AuroDropdown extends AuroElement$2 {
14001
13992
 
14002
13993
  firstUpdated() {
14003
13994
  // Configure the floater to, this will generate the ID for the bib
14004
- this.floater.configure(this, 'auroDropdown', !this.disableKeyboardHandling);
13995
+ this.floater.configure(this, 'auroDropdown');
14005
13996
 
14006
13997
  // Prevent `contain: layout` on the dropdown host. Layout containment
14007
13998
  // creates a containing block for position:fixed descendants (the bib),
@@ -14309,7 +14300,6 @@ class AuroDropdown extends AuroElement$2 {
14309
14300
  aria-expanded="${ifDefined(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : this.isPopoverVisible)}"
14310
14301
  aria-controls="${ifDefined(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : this.dropdownId)}"
14311
14302
  aria-labelledby="${ifDefined(this.triggerContentFocusable ? undefined : 'triggerLabel')}"
14312
- aria-disabled="${ifDefined(this.disabled ? 'true' : undefined)}"
14313
14303
  @focusin="${this.handleFocusin}"
14314
14304
  @blur="${this.handleFocusOut}">
14315
14305
  <div class="triggerContentWrapper" id="triggerLabel">
@@ -21052,7 +21042,7 @@ let AuroHelpText$1 = class AuroHelpText extends LitElement {
21052
21042
  }
21053
21043
  };
21054
21044
 
21055
- var formkitVersion = '202604021752';
21045
+ var formkitVersion = '202604021941';
21056
21046
 
21057
21047
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
21058
21048
  // See LICENSE in the project root for license information.
@@ -22223,99 +22213,6 @@ function guardTouchPassthrough(element) {
22223
22213
  }, { once: true });
22224
22214
  }
22225
22215
 
22226
- /**
22227
- * Restores the dropdown trigger after a fullscreen dialog closes.
22228
- *
22229
- * Removes the `inert` attribute from the trigger so it is accessible again,
22230
- * and restores focus to the given target after one animation frame. The rAF
22231
- * delay lets Lit's microtask update cycle call `dialog.close()` first —
22232
- * without it the browser's native dialog focus restoration can conflict.
22233
- *
22234
- * The focus is only applied if the dropdown is still closed at the time the
22235
- * rAF fires, guarding against a rapid close-then-reopen race.
22236
- *
22237
- * @param {HTMLElement} dropdown - The `auro-dropdown` element.
22238
- * @param {HTMLElement} focusTarget - The element to focus (e.g. trigger or input).
22239
- */
22240
- function restoreTriggerAfterClose(dropdown, focusTarget) {
22241
- dropdown.trigger.inert = false;
22242
-
22243
- requestAnimationFrame(() => {
22244
- if (!dropdown.isPopoverVisible) {
22245
- focusTarget.focus();
22246
- }
22247
- });
22248
- }
22249
-
22250
- /**
22251
- * Computes display state once per keydown event.
22252
- * Centralizes null-safety checks and makes the shared/modal/popover branching explicit.
22253
- *
22254
- * @param {HTMLElement} component - The component with a dropdown reference.
22255
- * @param {Object} [options] - Optional config.
22256
- * @param {HTMLElement} [options.dropdown] - Explicit dropdown reference. Falls back to component.dropdown.
22257
- * @param {Function} [options.inputResolver] - Called with (component, ctx) to resolve the active input element.
22258
- * @returns {{isExpanded: boolean, isModal: boolean, isPopover: boolean, activeInput: HTMLElement|null}}
22259
- * isModal and isPopover reflect the display mode (fullscreen vs not) regardless of expanded state.
22260
- */
22261
- function createDisplayContext(component, options = {}) {
22262
- const dd = options.dropdown || component.dropdown;
22263
- // isPopoverVisible reflects as the `open` attribute.
22264
- // It reports whether the bib is open in any mode (popover or modal).
22265
- const isExpanded = Boolean(dd && dd.isPopoverVisible);
22266
- const isFullscreen = Boolean(dd && dd.isBibFullscreen);
22267
-
22268
- const ctx = {
22269
- isExpanded,
22270
- isModal: isFullscreen,
22271
- isPopover: !isFullscreen,
22272
- activeInput: null,
22273
- };
22274
-
22275
- if (options.inputResolver) {
22276
- const resolvedInput = options.inputResolver(component, ctx);
22277
- // Guard against resolvers returning undefined or non-HTMLElement values.
22278
- ctx.activeInput = resolvedInput instanceof HTMLElement ? resolvedInput : null;
22279
- }
22280
-
22281
- return ctx;
22282
- }
22283
-
22284
- /**
22285
- * Wires up a keydown listener that dispatches to strategy[evt.key] or strategy.default.
22286
- * Handles both sync and async handlers.
22287
- * @param {HTMLElement} component - The component to attach the listener to.
22288
- * @param {Object} strategy - Map of key names to handler functions.
22289
- * @param {Object} [options] - Optional config passed to createDisplayContext.
22290
- */
22291
- function applyKeyboardStrategy(component, strategy, options = {}) {
22292
- component.addEventListener('keydown', async (evt) => {
22293
- const handler = strategy[evt.key] || strategy.default;
22294
- if (typeof handler === 'function') {
22295
- const ctx = createDisplayContext(component, options);
22296
- await handler(component, evt, ctx);
22297
- }
22298
- });
22299
- }
22300
-
22301
- // Copyright (c) 2026 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
22302
- // See LICENSE in the project root for license information.
22303
-
22304
- const datepickerKeyboardStrategy = {
22305
- Enter(component, evt, ctx) {
22306
- if (!ctx.isExpanded) {
22307
- evt.preventDefault();
22308
- component.dropdown.show();
22309
- }
22310
- },
22311
-
22312
- Tab(component, _evt, ctx) {
22313
- if (ctx.isExpanded && ctx.isModal) {
22314
- component.dropdown.hide();
22315
- }
22316
- },
22317
- };
22318
-
22319
22216
  // Copyright (c) 2026 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
22320
22217
  // See LICENSE in the project root for license information.
22321
22218
 
@@ -23111,13 +23008,6 @@ class AuroDatePicker extends AuroElement {
23111
23008
  configureDropdown() {
23112
23009
  this.dropdown = this.shadowRoot.querySelector(this.dropdownTag._$litStatic$);
23113
23010
 
23114
- // Prevent dropdown from closing on focus loss during fullscreen transitions.
23115
- // When trigger.inert is set to true (to hide the trigger from assistive
23116
- // technology behind the fullscreen dialog), focus leaves the trigger, which
23117
- // fires a focusout event. The floater's handleFocusLoss() would interpret
23118
- // this as "close the bib" without this flag.
23119
- this.dropdown.noHideOnThisFocusLoss = true;
23120
-
23121
23011
  // Pass label text to the dropdown bib for accessible dialog naming.
23122
23012
  // Without this, the fullscreen <dialog> has no accessible name and
23123
23013
  // screen readers announce it as just "dialog" with no context.
@@ -23126,12 +23016,6 @@ class AuroDatePicker extends AuroElement {
23126
23016
  this.dropdown.bibDialogLabel = labelElement.textContent.trim() || undefined;
23127
23017
  }
23128
23018
 
23129
- // Tab closes the fullscreen dialog (same pattern as select).
23130
- // The dialog event bridge intercepts Tab and re-dispatches it as a
23131
- // composed keydown; this listener catches the re-dispatched event.
23132
- // Enter opens the bib when it is closed.
23133
- applyKeyboardStrategy(this, datepickerKeyboardStrategy);
23134
-
23135
23019
  this.dropdown.addEventListener('auroDropdown-triggerClick', () => {
23136
23020
  if (!this.isPopoverVisible) {
23137
23021
  this.dropdown.show();
@@ -23181,7 +23065,17 @@ class AuroDatePicker extends AuroElement {
23181
23065
  guardTouchPassthrough(this.shadowRoot.querySelector('.calendarWrapper'));
23182
23066
  }
23183
23067
  } else {
23184
- restoreTriggerAfterClose(this.dropdown, this.inputList[0]);
23068
+ // Always clear the inert flag. Only restore focus to the input when the datepicker
23069
+ // still has focus (e.g. Escape, date selected) — not when the user tabbed away,
23070
+ // which would pull them back and require extra Tab presses to escape.
23071
+ this.dropdown.trigger.inert = false;
23072
+ if (this.hasFocus) {
23073
+ requestAnimationFrame(() => {
23074
+ if (!this.dropdown.isPopoverVisible) {
23075
+ this.inputList[0].focus();
23076
+ }
23077
+ });
23078
+ }
23185
23079
  }
23186
23080
 
23187
23081
  // If on mobile, and the calendar is opened, scroll the focus date into view if the flag is set
@@ -23224,7 +23118,7 @@ class AuroDatePicker extends AuroElement {
23224
23118
  }
23225
23119
  });
23226
23120
  }
23227
-
23121
+
23228
23122
  /**
23229
23123
  * Binds all behavior needed to the input after rendering.
23230
23124
  * @private
@@ -23236,13 +23130,6 @@ class AuroDatePicker extends AuroElement {
23236
23130
  this.inputList = [...this.dropdown.querySelectorAll(this.inputTag._$litStatic$)];
23237
23131
 
23238
23132
  this.inputList.forEach((input, index) => {
23239
- // auto-show bib when manually editing the input value
23240
- input.addEventListener('keyup', (evt) => {
23241
- if (evt.key === " ") {
23242
- this.dropdown.show();
23243
- }
23244
- });
23245
-
23246
23133
  input.addEventListener('input', () => {
23247
23134
  if (index === 0) {
23248
23135
  this.value = input.value;