@aurodesignsystem-dev/auro-formkit 0.0.0-pr1411.3 → 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 +58 -252
  25. package/components/form/demo/index.min.js +58 -252
  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 +26 -87
  41. package/components/select/demo/index.min.js +26 -87
  42. package/components/select/demo/keyboardBehavior.md +3 -3
  43. package/components/select/dist/index.js +25 -86
  44. package/components/select/dist/registered.js +25 -86
  45. package/components/select/dist/selectKeyboardStrategy.d.ts +2 -5
  46. package/custom-elements.json +246 -265
  47. package/package.json +3 -3
  48. /package/components/datepicker/demo/{keyboardBehavior.html → keyboard-behavior.html} +0 -0
@@ -9549,7 +9549,7 @@ class AuroBibtemplate extends i$1 {
9549
9549
  }
9550
9550
  }
9551
9551
 
9552
- var formkitVersion$2 = '202604021808';
9552
+ var formkitVersion$2 = '202604021941';
9553
9553
 
9554
9554
  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}
9555
9555
  `,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}}
@@ -10003,12 +10003,12 @@ class AuroCalendar extends RangeDatepicker {
10003
10003
  </div>
10004
10004
  <div class="calendarNavButtons">
10005
10005
  ${this.showPrevMonthBtn ? u$a`
10006
- <button class="calendarNavBtn prevMonth" @click="${this.handlePrevMonth}">
10006
+ <button tabIndex="-1" class="calendarNavBtn prevMonth" @click="${this.handlePrevMonth}">
10007
10007
  ${this.util.generateIconHtml(chevronLeft)}
10008
10008
  </button>
10009
10009
  ` : undefined}
10010
10010
  ${this.showNextMonthBtn ? u$a`
10011
- <button class="calendarNavBtn nextMonth" @click="${this.handleNextMonth}">
10011
+ <button tabIndex="-1" class="calendarNavBtn nextMonth" @click="${this.handleNextMonth}">
10012
10012
  ${this.util.generateIconHtml(chevronRight)}
10013
10013
  </button>
10014
10014
  ` : undefined}
@@ -12961,7 +12961,7 @@ var iconVersion$2 = '9.1.2';
12961
12961
  * @returns {{isExpanded: boolean, isModal: boolean, isPopover: boolean, activeInput: HTMLElement|null}}
12962
12962
  * isModal and isPopover reflect the display mode (fullscreen vs not) regardless of expanded state.
12963
12963
  */
12964
- function createDisplayContext$1(component, options = {}) {
12964
+ function createDisplayContext(component, options = {}) {
12965
12965
  const dd = options.dropdown || component.dropdown;
12966
12966
  // isPopoverVisible reflects as the `open` attribute.
12967
12967
  // It reports whether the bib is open in any mode (popover or modal).
@@ -12991,11 +12991,11 @@ function createDisplayContext$1(component, options = {}) {
12991
12991
  * @param {Object} strategy - Map of key names to handler functions.
12992
12992
  * @param {Object} [options] - Optional config passed to createDisplayContext.
12993
12993
  */
12994
- function applyKeyboardStrategy$1(component, strategy, options = {}) {
12994
+ function applyKeyboardStrategy(component, strategy, options = {}) {
12995
12995
  component.addEventListener('keydown', async (evt) => {
12996
12996
  const handler = strategy[evt.key] || strategy.default;
12997
12997
  if (typeof handler === 'function') {
12998
- const ctx = createDisplayContext$1(component, options);
12998
+ const ctx = createDisplayContext(component, options);
12999
12999
  await handler(component, evt, ctx);
13000
13000
  }
13001
13001
  });
@@ -13225,7 +13225,7 @@ class AuroDropdownBib extends i$1 {
13225
13225
 
13226
13226
  const dialog = this.shadowRoot.querySelector('dialog');
13227
13227
  this._setupCancelHandler(dialog);
13228
- applyKeyboardStrategy$1(dialog, createDropdownBibKeyboardStrategy());
13228
+ applyKeyboardStrategy(dialog, createDropdownBibKeyboardStrategy());
13229
13229
 
13230
13230
  this.dispatchEvent(new CustomEvent('auro-dropdownbib-connected', {
13231
13231
  bubbles: true,
@@ -13626,7 +13626,7 @@ let AuroHelpText$2 = class AuroHelpText extends i$1 {
13626
13626
  }
13627
13627
  };
13628
13628
 
13629
- var formkitVersion$1 = '202604021808';
13629
+ var formkitVersion$1 = '202604021941';
13630
13630
 
13631
13631
  let AuroElement$2 = class AuroElement extends i$1 {
13632
13632
  static get properties() {
@@ -13807,7 +13807,6 @@ class AuroDropdown extends AuroElement$2 {
13807
13807
  this.appearance = 'default';
13808
13808
  this.chevron = false;
13809
13809
  this.disabled = false;
13810
- this.disableKeyboardHandling = false;
13811
13810
  this.error = false;
13812
13811
  this.tabIndex = 0;
13813
13812
  this.noToggle = false;
@@ -14019,14 +14018,6 @@ class AuroDropdown extends AuroElement$2 {
14019
14018
  reflect: true
14020
14019
  },
14021
14020
 
14022
- /**
14023
- * If declared, the dropdown will not handle keyboard events and will require the consumer to manage this behavior.
14024
- */
14025
- disableKeyboardHandling: {
14026
- type: Boolean,
14027
- reflect: true
14028
- },
14029
-
14030
14021
  /**
14031
14022
  * @private
14032
14023
  */
@@ -14332,7 +14323,7 @@ class AuroDropdown extends AuroElement$2 {
14332
14323
 
14333
14324
  firstUpdated() {
14334
14325
  // Configure the floater to, this will generate the ID for the bib
14335
- this.floater.configure(this, 'auroDropdown', !this.disableKeyboardHandling);
14326
+ this.floater.configure(this, 'auroDropdown');
14336
14327
 
14337
14328
  // Prevent `contain: layout` on the dropdown host. Layout containment
14338
14329
  // creates a containing block for position:fixed descendants (the bib),
@@ -14640,7 +14631,6 @@ class AuroDropdown extends AuroElement$2 {
14640
14631
  aria-expanded="${o$2(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : this.isPopoverVisible)}"
14641
14632
  aria-controls="${o$2(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : this.dropdownId)}"
14642
14633
  aria-labelledby="${o$2(this.triggerContentFocusable ? undefined : 'triggerLabel')}"
14643
- aria-disabled="${o$2(this.disabled ? 'true' : undefined)}"
14644
14634
  @focusin="${this.handleFocusin}"
14645
14635
  @blur="${this.handleFocusOut}">
14646
14636
  <div class="triggerContentWrapper" id="triggerLabel">
@@ -21390,7 +21380,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$1 {
21390
21380
  }
21391
21381
  };
21392
21382
 
21393
- var formkitVersion = '202604021808';
21383
+ var formkitVersion = '202604021941';
21394
21384
 
21395
21385
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
21396
21386
  // See LICENSE in the project root for license information.
@@ -22561,99 +22551,6 @@ function guardTouchPassthrough(element) {
22561
22551
  }, { once: true });
22562
22552
  }
22563
22553
 
22564
- /**
22565
- * Restores the dropdown trigger after a fullscreen dialog closes.
22566
- *
22567
- * Removes the `inert` attribute from the trigger so it is accessible again,
22568
- * and restores focus to the given target after one animation frame. The rAF
22569
- * delay lets Lit's microtask update cycle call `dialog.close()` first —
22570
- * without it the browser's native dialog focus restoration can conflict.
22571
- *
22572
- * The focus is only applied if the dropdown is still closed at the time the
22573
- * rAF fires, guarding against a rapid close-then-reopen race.
22574
- *
22575
- * @param {HTMLElement} dropdown - The `auro-dropdown` element.
22576
- * @param {HTMLElement} focusTarget - The element to focus (e.g. trigger or input).
22577
- */
22578
- function restoreTriggerAfterClose(dropdown, focusTarget) {
22579
- dropdown.trigger.inert = false;
22580
-
22581
- requestAnimationFrame(() => {
22582
- if (!dropdown.isPopoverVisible) {
22583
- focusTarget.focus();
22584
- }
22585
- });
22586
- }
22587
-
22588
- /**
22589
- * Computes display state once per keydown event.
22590
- * Centralizes null-safety checks and makes the shared/modal/popover branching explicit.
22591
- *
22592
- * @param {HTMLElement} component - The component with a dropdown reference.
22593
- * @param {Object} [options] - Optional config.
22594
- * @param {HTMLElement} [options.dropdown] - Explicit dropdown reference. Falls back to component.dropdown.
22595
- * @param {Function} [options.inputResolver] - Called with (component, ctx) to resolve the active input element.
22596
- * @returns {{isExpanded: boolean, isModal: boolean, isPopover: boolean, activeInput: HTMLElement|null}}
22597
- * isModal and isPopover reflect the display mode (fullscreen vs not) regardless of expanded state.
22598
- */
22599
- function createDisplayContext(component, options = {}) {
22600
- const dd = options.dropdown || component.dropdown;
22601
- // isPopoverVisible reflects as the `open` attribute.
22602
- // It reports whether the bib is open in any mode (popover or modal).
22603
- const isExpanded = Boolean(dd && dd.isPopoverVisible);
22604
- const isFullscreen = Boolean(dd && dd.isBibFullscreen);
22605
-
22606
- const ctx = {
22607
- isExpanded,
22608
- isModal: isFullscreen,
22609
- isPopover: !isFullscreen,
22610
- activeInput: null,
22611
- };
22612
-
22613
- if (options.inputResolver) {
22614
- const resolvedInput = options.inputResolver(component, ctx);
22615
- // Guard against resolvers returning undefined or non-HTMLElement values.
22616
- ctx.activeInput = resolvedInput instanceof HTMLElement ? resolvedInput : null;
22617
- }
22618
-
22619
- return ctx;
22620
- }
22621
-
22622
- /**
22623
- * Wires up a keydown listener that dispatches to strategy[evt.key] or strategy.default.
22624
- * Handles both sync and async handlers.
22625
- * @param {HTMLElement} component - The component to attach the listener to.
22626
- * @param {Object} strategy - Map of key names to handler functions.
22627
- * @param {Object} [options] - Optional config passed to createDisplayContext.
22628
- */
22629
- function applyKeyboardStrategy(component, strategy, options = {}) {
22630
- component.addEventListener('keydown', async (evt) => {
22631
- const handler = strategy[evt.key] || strategy.default;
22632
- if (typeof handler === 'function') {
22633
- const ctx = createDisplayContext(component, options);
22634
- await handler(component, evt, ctx);
22635
- }
22636
- });
22637
- }
22638
-
22639
- // Copyright (c) 2026 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
22640
- // See LICENSE in the project root for license information.
22641
-
22642
- const datepickerKeyboardStrategy = {
22643
- Enter(component, evt, ctx) {
22644
- if (!ctx.isExpanded) {
22645
- evt.preventDefault();
22646
- component.dropdown.show();
22647
- }
22648
- },
22649
-
22650
- Tab(component, _evt, ctx) {
22651
- if (ctx.isExpanded && ctx.isModal) {
22652
- component.dropdown.hide();
22653
- }
22654
- },
22655
- };
22656
-
22657
22554
  // Copyright (c) 2026 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
22658
22555
  // See LICENSE in the project root for license information.
22659
22556
 
@@ -23449,13 +23346,6 @@ class AuroDatePicker extends AuroElement {
23449
23346
  configureDropdown() {
23450
23347
  this.dropdown = this.shadowRoot.querySelector(this.dropdownTag._$litStatic$);
23451
23348
 
23452
- // Prevent dropdown from closing on focus loss during fullscreen transitions.
23453
- // When trigger.inert is set to true (to hide the trigger from assistive
23454
- // technology behind the fullscreen dialog), focus leaves the trigger, which
23455
- // fires a focusout event. The floater's handleFocusLoss() would interpret
23456
- // this as "close the bib" without this flag.
23457
- this.dropdown.noHideOnThisFocusLoss = true;
23458
-
23459
23349
  // Pass label text to the dropdown bib for accessible dialog naming.
23460
23350
  // Without this, the fullscreen <dialog> has no accessible name and
23461
23351
  // screen readers announce it as just "dialog" with no context.
@@ -23464,12 +23354,6 @@ class AuroDatePicker extends AuroElement {
23464
23354
  this.dropdown.bibDialogLabel = labelElement.textContent.trim() || undefined;
23465
23355
  }
23466
23356
 
23467
- // Tab closes the fullscreen dialog (same pattern as select).
23468
- // The dialog event bridge intercepts Tab and re-dispatches it as a
23469
- // composed keydown; this listener catches the re-dispatched event.
23470
- // Enter opens the bib when it is closed.
23471
- applyKeyboardStrategy(this, datepickerKeyboardStrategy);
23472
-
23473
23357
  this.dropdown.addEventListener('auroDropdown-triggerClick', () => {
23474
23358
  if (!this.isPopoverVisible) {
23475
23359
  this.dropdown.show();
@@ -23519,7 +23403,17 @@ class AuroDatePicker extends AuroElement {
23519
23403
  guardTouchPassthrough(this.shadowRoot.querySelector('.calendarWrapper'));
23520
23404
  }
23521
23405
  } else {
23522
- restoreTriggerAfterClose(this.dropdown, this.inputList[0]);
23406
+ // Always clear the inert flag. Only restore focus to the input when the datepicker
23407
+ // still has focus (e.g. Escape, date selected) — not when the user tabbed away,
23408
+ // which would pull them back and require extra Tab presses to escape.
23409
+ this.dropdown.trigger.inert = false;
23410
+ if (this.hasFocus) {
23411
+ requestAnimationFrame(() => {
23412
+ if (!this.dropdown.isPopoverVisible) {
23413
+ this.inputList[0].focus();
23414
+ }
23415
+ });
23416
+ }
23523
23417
  }
23524
23418
 
23525
23419
  // If on mobile, and the calendar is opened, scroll the focus date into view if the flag is set
@@ -23562,7 +23456,7 @@ class AuroDatePicker extends AuroElement {
23562
23456
  }
23563
23457
  });
23564
23458
  }
23565
-
23459
+
23566
23460
  /**
23567
23461
  * Binds all behavior needed to the input after rendering.
23568
23462
  * @private
@@ -23574,13 +23468,6 @@ class AuroDatePicker extends AuroElement {
23574
23468
  this.inputList = [...this.dropdown.querySelectorAll(this.inputTag._$litStatic$)];
23575
23469
 
23576
23470
  this.inputList.forEach((input, index) => {
23577
- // auto-show bib when manually editing the input value
23578
- input.addEventListener('keyup', (evt) => {
23579
- if (evt.key === " ") {
23580
- this.dropdown.show();
23581
- }
23582
- });
23583
-
23584
23471
  input.addEventListener('input', () => {
23585
23472
  if (index === 0) {
23586
23473
  this.value = input.value;
@@ -9290,7 +9290,7 @@ class AuroBibtemplate extends i$1 {
9290
9290
  }
9291
9291
  }
9292
9292
 
9293
- var formkitVersion$2 = '202604021808';
9293
+ var formkitVersion$2 = '202604021941';
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}}
@@ -9744,12 +9744,12 @@ class AuroCalendar extends RangeDatepicker {
9744
9744
  </div>
9745
9745
  <div class="calendarNavButtons">
9746
9746
  ${this.showPrevMonthBtn ? u$a`
9747
- <button class="calendarNavBtn prevMonth" @click="${this.handlePrevMonth}">
9747
+ <button tabIndex="-1" class="calendarNavBtn prevMonth" @click="${this.handlePrevMonth}">
9748
9748
  ${this.util.generateIconHtml(chevronLeft)}
9749
9749
  </button>
9750
9750
  ` : undefined}
9751
9751
  ${this.showNextMonthBtn ? u$a`
9752
- <button class="calendarNavBtn nextMonth" @click="${this.handleNextMonth}">
9752
+ <button tabIndex="-1" class="calendarNavBtn nextMonth" @click="${this.handleNextMonth}">
9753
9753
  ${this.util.generateIconHtml(chevronRight)}
9754
9754
  </button>
9755
9755
  ` : undefined}
@@ -12702,7 +12702,7 @@ var iconVersion$2 = '9.1.2';
12702
12702
  * @returns {{isExpanded: boolean, isModal: boolean, isPopover: boolean, activeInput: HTMLElement|null}}
12703
12703
  * isModal and isPopover reflect the display mode (fullscreen vs not) regardless of expanded state.
12704
12704
  */
12705
- function createDisplayContext$1(component, options = {}) {
12705
+ function createDisplayContext(component, options = {}) {
12706
12706
  const dd = options.dropdown || component.dropdown;
12707
12707
  // isPopoverVisible reflects as the `open` attribute.
12708
12708
  // It reports whether the bib is open in any mode (popover or modal).
@@ -12732,11 +12732,11 @@ function createDisplayContext$1(component, options = {}) {
12732
12732
  * @param {Object} strategy - Map of key names to handler functions.
12733
12733
  * @param {Object} [options] - Optional config passed to createDisplayContext.
12734
12734
  */
12735
- function applyKeyboardStrategy$1(component, strategy, options = {}) {
12735
+ function applyKeyboardStrategy(component, strategy, options = {}) {
12736
12736
  component.addEventListener('keydown', async (evt) => {
12737
12737
  const handler = strategy[evt.key] || strategy.default;
12738
12738
  if (typeof handler === 'function') {
12739
- const ctx = createDisplayContext$1(component, options);
12739
+ const ctx = createDisplayContext(component, options);
12740
12740
  await handler(component, evt, ctx);
12741
12741
  }
12742
12742
  });
@@ -12966,7 +12966,7 @@ class AuroDropdownBib extends i$1 {
12966
12966
 
12967
12967
  const dialog = this.shadowRoot.querySelector('dialog');
12968
12968
  this._setupCancelHandler(dialog);
12969
- applyKeyboardStrategy$1(dialog, createDropdownBibKeyboardStrategy());
12969
+ applyKeyboardStrategy(dialog, createDropdownBibKeyboardStrategy());
12970
12970
 
12971
12971
  this.dispatchEvent(new CustomEvent('auro-dropdownbib-connected', {
12972
12972
  bubbles: true,
@@ -13367,7 +13367,7 @@ let AuroHelpText$2 = class AuroHelpText extends i$1 {
13367
13367
  }
13368
13368
  };
13369
13369
 
13370
- var formkitVersion$1 = '202604021808';
13370
+ var formkitVersion$1 = '202604021941';
13371
13371
 
13372
13372
  let AuroElement$2 = class AuroElement extends i$1 {
13373
13373
  static get properties() {
@@ -13548,7 +13548,6 @@ class AuroDropdown extends AuroElement$2 {
13548
13548
  this.appearance = 'default';
13549
13549
  this.chevron = false;
13550
13550
  this.disabled = false;
13551
- this.disableKeyboardHandling = false;
13552
13551
  this.error = false;
13553
13552
  this.tabIndex = 0;
13554
13553
  this.noToggle = false;
@@ -13760,14 +13759,6 @@ class AuroDropdown extends AuroElement$2 {
13760
13759
  reflect: true
13761
13760
  },
13762
13761
 
13763
- /**
13764
- * If declared, the dropdown will not handle keyboard events and will require the consumer to manage this behavior.
13765
- */
13766
- disableKeyboardHandling: {
13767
- type: Boolean,
13768
- reflect: true
13769
- },
13770
-
13771
13762
  /**
13772
13763
  * @private
13773
13764
  */
@@ -14073,7 +14064,7 @@ class AuroDropdown extends AuroElement$2 {
14073
14064
 
14074
14065
  firstUpdated() {
14075
14066
  // Configure the floater to, this will generate the ID for the bib
14076
- this.floater.configure(this, 'auroDropdown', !this.disableKeyboardHandling);
14067
+ this.floater.configure(this, 'auroDropdown');
14077
14068
 
14078
14069
  // Prevent `contain: layout` on the dropdown host. Layout containment
14079
14070
  // creates a containing block for position:fixed descendants (the bib),
@@ -14381,7 +14372,6 @@ class AuroDropdown extends AuroElement$2 {
14381
14372
  aria-expanded="${o$2(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : this.isPopoverVisible)}"
14382
14373
  aria-controls="${o$2(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : this.dropdownId)}"
14383
14374
  aria-labelledby="${o$2(this.triggerContentFocusable ? undefined : 'triggerLabel')}"
14384
- aria-disabled="${o$2(this.disabled ? 'true' : undefined)}"
14385
14375
  @focusin="${this.handleFocusin}"
14386
14376
  @blur="${this.handleFocusOut}">
14387
14377
  <div class="triggerContentWrapper" id="triggerLabel">
@@ -21131,7 +21121,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$1 {
21131
21121
  }
21132
21122
  };
21133
21123
 
21134
- var formkitVersion = '202604021808';
21124
+ var formkitVersion = '202604021941';
21135
21125
 
21136
21126
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
21137
21127
  // See LICENSE in the project root for license information.
@@ -22302,99 +22292,6 @@ function guardTouchPassthrough(element) {
22302
22292
  }, { once: true });
22303
22293
  }
22304
22294
 
22305
- /**
22306
- * Restores the dropdown trigger after a fullscreen dialog closes.
22307
- *
22308
- * Removes the `inert` attribute from the trigger so it is accessible again,
22309
- * and restores focus to the given target after one animation frame. The rAF
22310
- * delay lets Lit's microtask update cycle call `dialog.close()` first —
22311
- * without it the browser's native dialog focus restoration can conflict.
22312
- *
22313
- * The focus is only applied if the dropdown is still closed at the time the
22314
- * rAF fires, guarding against a rapid close-then-reopen race.
22315
- *
22316
- * @param {HTMLElement} dropdown - The `auro-dropdown` element.
22317
- * @param {HTMLElement} focusTarget - The element to focus (e.g. trigger or input).
22318
- */
22319
- function restoreTriggerAfterClose(dropdown, focusTarget) {
22320
- dropdown.trigger.inert = false;
22321
-
22322
- requestAnimationFrame(() => {
22323
- if (!dropdown.isPopoverVisible) {
22324
- focusTarget.focus();
22325
- }
22326
- });
22327
- }
22328
-
22329
- /**
22330
- * Computes display state once per keydown event.
22331
- * Centralizes null-safety checks and makes the shared/modal/popover branching explicit.
22332
- *
22333
- * @param {HTMLElement} component - The component with a dropdown reference.
22334
- * @param {Object} [options] - Optional config.
22335
- * @param {HTMLElement} [options.dropdown] - Explicit dropdown reference. Falls back to component.dropdown.
22336
- * @param {Function} [options.inputResolver] - Called with (component, ctx) to resolve the active input element.
22337
- * @returns {{isExpanded: boolean, isModal: boolean, isPopover: boolean, activeInput: HTMLElement|null}}
22338
- * isModal and isPopover reflect the display mode (fullscreen vs not) regardless of expanded state.
22339
- */
22340
- function createDisplayContext(component, options = {}) {
22341
- const dd = options.dropdown || component.dropdown;
22342
- // isPopoverVisible reflects as the `open` attribute.
22343
- // It reports whether the bib is open in any mode (popover or modal).
22344
- const isExpanded = Boolean(dd && dd.isPopoverVisible);
22345
- const isFullscreen = Boolean(dd && dd.isBibFullscreen);
22346
-
22347
- const ctx = {
22348
- isExpanded,
22349
- isModal: isFullscreen,
22350
- isPopover: !isFullscreen,
22351
- activeInput: null,
22352
- };
22353
-
22354
- if (options.inputResolver) {
22355
- const resolvedInput = options.inputResolver(component, ctx);
22356
- // Guard against resolvers returning undefined or non-HTMLElement values.
22357
- ctx.activeInput = resolvedInput instanceof HTMLElement ? resolvedInput : null;
22358
- }
22359
-
22360
- return ctx;
22361
- }
22362
-
22363
- /**
22364
- * Wires up a keydown listener that dispatches to strategy[evt.key] or strategy.default.
22365
- * Handles both sync and async handlers.
22366
- * @param {HTMLElement} component - The component to attach the listener to.
22367
- * @param {Object} strategy - Map of key names to handler functions.
22368
- * @param {Object} [options] - Optional config passed to createDisplayContext.
22369
- */
22370
- function applyKeyboardStrategy(component, strategy, options = {}) {
22371
- component.addEventListener('keydown', async (evt) => {
22372
- const handler = strategy[evt.key] || strategy.default;
22373
- if (typeof handler === 'function') {
22374
- const ctx = createDisplayContext(component, options);
22375
- await handler(component, evt, ctx);
22376
- }
22377
- });
22378
- }
22379
-
22380
- // Copyright (c) 2026 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
22381
- // See LICENSE in the project root for license information.
22382
-
22383
- const datepickerKeyboardStrategy = {
22384
- Enter(component, evt, ctx) {
22385
- if (!ctx.isExpanded) {
22386
- evt.preventDefault();
22387
- component.dropdown.show();
22388
- }
22389
- },
22390
-
22391
- Tab(component, _evt, ctx) {
22392
- if (ctx.isExpanded && ctx.isModal) {
22393
- component.dropdown.hide();
22394
- }
22395
- },
22396
- };
22397
-
22398
22295
  // Copyright (c) 2026 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
22399
22296
  // See LICENSE in the project root for license information.
22400
22297
 
@@ -23190,13 +23087,6 @@ class AuroDatePicker extends AuroElement {
23190
23087
  configureDropdown() {
23191
23088
  this.dropdown = this.shadowRoot.querySelector(this.dropdownTag._$litStatic$);
23192
23089
 
23193
- // Prevent dropdown from closing on focus loss during fullscreen transitions.
23194
- // When trigger.inert is set to true (to hide the trigger from assistive
23195
- // technology behind the fullscreen dialog), focus leaves the trigger, which
23196
- // fires a focusout event. The floater's handleFocusLoss() would interpret
23197
- // this as "close the bib" without this flag.
23198
- this.dropdown.noHideOnThisFocusLoss = true;
23199
-
23200
23090
  // Pass label text to the dropdown bib for accessible dialog naming.
23201
23091
  // Without this, the fullscreen <dialog> has no accessible name and
23202
23092
  // screen readers announce it as just "dialog" with no context.
@@ -23205,12 +23095,6 @@ class AuroDatePicker extends AuroElement {
23205
23095
  this.dropdown.bibDialogLabel = labelElement.textContent.trim() || undefined;
23206
23096
  }
23207
23097
 
23208
- // Tab closes the fullscreen dialog (same pattern as select).
23209
- // The dialog event bridge intercepts Tab and re-dispatches it as a
23210
- // composed keydown; this listener catches the re-dispatched event.
23211
- // Enter opens the bib when it is closed.
23212
- applyKeyboardStrategy(this, datepickerKeyboardStrategy);
23213
-
23214
23098
  this.dropdown.addEventListener('auroDropdown-triggerClick', () => {
23215
23099
  if (!this.isPopoverVisible) {
23216
23100
  this.dropdown.show();
@@ -23260,7 +23144,17 @@ class AuroDatePicker extends AuroElement {
23260
23144
  guardTouchPassthrough(this.shadowRoot.querySelector('.calendarWrapper'));
23261
23145
  }
23262
23146
  } else {
23263
- restoreTriggerAfterClose(this.dropdown, this.inputList[0]);
23147
+ // Always clear the inert flag. Only restore focus to the input when the datepicker
23148
+ // still has focus (e.g. Escape, date selected) — not when the user tabbed away,
23149
+ // which would pull them back and require extra Tab presses to escape.
23150
+ this.dropdown.trigger.inert = false;
23151
+ if (this.hasFocus) {
23152
+ requestAnimationFrame(() => {
23153
+ if (!this.dropdown.isPopoverVisible) {
23154
+ this.inputList[0].focus();
23155
+ }
23156
+ });
23157
+ }
23264
23158
  }
23265
23159
 
23266
23160
  // If on mobile, and the calendar is opened, scroll the focus date into view if the flag is set
@@ -23303,7 +23197,7 @@ class AuroDatePicker extends AuroElement {
23303
23197
  }
23304
23198
  });
23305
23199
  }
23306
-
23200
+
23307
23201
  /**
23308
23202
  * Binds all behavior needed to the input after rendering.
23309
23203
  * @private
@@ -23315,13 +23209,6 @@ class AuroDatePicker extends AuroElement {
23315
23209
  this.inputList = [...this.dropdown.querySelectorAll(this.inputTag._$litStatic$)];
23316
23210
 
23317
23211
  this.inputList.forEach((input, index) => {
23318
- // auto-show bib when manually editing the input value
23319
- input.addEventListener('keyup', (evt) => {
23320
- if (evt.key === " ") {
23321
- this.dropdown.show();
23322
- }
23323
- });
23324
-
23325
23212
  input.addEventListener('input', () => {
23326
23213
  if (index === 0) {
23327
23214
  this.value = input.value;
@@ -1,4 +1 @@
1
- export namespace datepickerKeyboardStrategy {
2
- function Enter(component: any, evt: any, ctx: any): void;
3
- function Tab(component: any, _evt: any, ctx: any): void;
4
- }
1
+ export const datepickerKeyboardStrategy: {};