@aurodesignsystem-dev/auro-formkit 0.0.0-pr1428.0 → 0.0.0-pr1429.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 (54) 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.html +1 -0
  6. package/components/combobox/demo/api.js +3 -1
  7. package/components/combobox/demo/api.md +75 -0
  8. package/components/combobox/demo/api.min.js +27 -6
  9. package/components/combobox/demo/index.min.js +14 -5
  10. package/components/combobox/dist/comboboxKeyboardStrategy.d.ts +1 -1
  11. package/components/combobox/dist/index.js +14 -5
  12. package/components/combobox/dist/registered.js +14 -5
  13. package/components/counter/demo/api.html +3 -0
  14. package/components/counter/demo/api.js +4 -0
  15. package/components/counter/demo/api.md +130 -0
  16. package/components/counter/demo/api.min.js +42 -2
  17. package/components/counter/demo/index.min.js +22 -2
  18. package/components/counter/dist/counterGroupKeyboardStrategy.d.ts +3 -0
  19. package/components/counter/dist/index.js +22 -2
  20. package/components/counter/dist/registered.js +22 -2
  21. package/components/datepicker/demo/api.html +1 -0
  22. package/components/datepicker/demo/api.js +2 -0
  23. package/components/datepicker/demo/api.md +55 -0
  24. package/components/datepicker/demo/api.min.js +99 -7
  25. package/components/datepicker/demo/index.min.js +87 -7
  26. package/components/datepicker/dist/datepickerKeyboardStrategy.d.ts +3 -1
  27. package/components/datepicker/dist/index.js +87 -7
  28. package/components/datepicker/dist/registered.js +87 -7
  29. package/components/dropdown/demo/api.html +1 -0
  30. package/components/dropdown/demo/api.js +2 -0
  31. package/components/dropdown/demo/api.md +95 -0
  32. package/components/dropdown/demo/api.min.js +21 -1
  33. package/components/dropdown/demo/index.min.js +1 -1
  34. package/components/dropdown/dist/index.js +1 -1
  35. package/components/dropdown/dist/registered.js +1 -1
  36. package/components/form/demo/api.min.js +131 -19
  37. package/components/form/demo/index.min.js +131 -19
  38. package/components/input/demo/api.min.js +1 -1
  39. package/components/input/demo/index.min.js +1 -1
  40. package/components/input/dist/index.js +1 -1
  41. package/components/input/dist/registered.js +1 -1
  42. package/components/radio/demo/api.min.js +1 -1
  43. package/components/radio/demo/index.min.js +1 -1
  44. package/components/radio/dist/index.js +1 -1
  45. package/components/radio/dist/registered.js +1 -1
  46. package/components/select/demo/api.html +1 -0
  47. package/components/select/demo/api.js +2 -0
  48. package/components/select/demo/api.md +79 -0
  49. package/components/select/demo/api.min.js +21 -2
  50. package/components/select/demo/index.min.js +5 -2
  51. package/components/select/dist/index.js +5 -2
  52. package/components/select/dist/registered.js +5 -2
  53. package/custom-elements.json +1681 -1657
  54. package/package.json +3 -1
@@ -9242,7 +9242,7 @@ class AuroBibtemplate extends LitElement {
9242
9242
  }
9243
9243
  }
9244
9244
 
9245
- var formkitVersion$2 = '202604081417';
9245
+ var formkitVersion$2 = '202604081917';
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}}
@@ -12749,7 +12749,7 @@ var iconVersion$2 = '9.1.2';
12749
12749
  * @returns {{isExpanded: boolean, isModal: boolean, isPopover: boolean, activeInput: HTMLElement|null}}
12750
12750
  * isModal and isPopover reflect the display mode (fullscreen vs not) regardless of expanded state.
12751
12751
  */
12752
- function createDisplayContext(component, options = {}) {
12752
+ function createDisplayContext$1(component, options = {}) {
12753
12753
  const dd = options.dropdown || component.dropdown;
12754
12754
  // isPopoverVisible reflects as the `open` attribute.
12755
12755
  // It reports whether the bib is open in any mode (popover or modal).
@@ -12779,11 +12779,11 @@ function createDisplayContext(component, options = {}) {
12779
12779
  * @param {Object} strategy - Map of key names to handler functions.
12780
12780
  * @param {Object} [options] - Optional config passed to createDisplayContext.
12781
12781
  */
12782
- function applyKeyboardStrategy(component, strategy, options = {}) {
12782
+ function applyKeyboardStrategy$1(component, strategy, options = {}) {
12783
12783
  component.addEventListener('keydown', async (evt) => {
12784
12784
  const handler = strategy[evt.key] || strategy.default;
12785
12785
  if (typeof handler === 'function') {
12786
- const ctx = createDisplayContext(component, options);
12786
+ const ctx = createDisplayContext$1(component, options);
12787
12787
  await handler(component, evt, ctx);
12788
12788
  }
12789
12789
  });
@@ -13018,7 +13018,7 @@ class AuroDropdownBib extends LitElement {
13018
13018
 
13019
13019
  const dialog = this.shadowRoot.querySelector('dialog');
13020
13020
  this._setupCancelHandler(dialog);
13021
- applyKeyboardStrategy(dialog, createDropdownBibKeyboardStrategy());
13021
+ applyKeyboardStrategy$1(dialog, createDropdownBibKeyboardStrategy());
13022
13022
 
13023
13023
  this.dispatchEvent(new CustomEvent('auro-dropdownbib-connected', {
13024
13024
  bubbles: true,
@@ -13420,7 +13420,7 @@ let AuroHelpText$2 = class AuroHelpText extends LitElement {
13420
13420
  }
13421
13421
  };
13422
13422
 
13423
- var formkitVersion$1 = '202604081417';
13423
+ var formkitVersion$1 = '202604081917';
13424
13424
 
13425
13425
  let AuroElement$2 = class AuroElement extends LitElement {
13426
13426
  static get properties() {
@@ -21177,7 +21177,7 @@ let AuroHelpText$1 = class AuroHelpText extends LitElement {
21177
21177
  }
21178
21178
  };
21179
21179
 
21180
- var formkitVersion = '202604081417';
21180
+ var formkitVersion = '202604081917';
21181
21181
 
21182
21182
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
21183
21183
  // See LICENSE in the project root for license information.
@@ -22374,6 +22374,85 @@ function guardTouchPassthrough(element) {
22374
22374
  }, { once: true });
22375
22375
  }
22376
22376
 
22377
+ /**
22378
+ * Computes display state once per keydown event.
22379
+ * Centralizes null-safety checks and makes the shared/modal/popover branching explicit.
22380
+ *
22381
+ * @param {HTMLElement} component - The component with a dropdown reference.
22382
+ * @param {Object} [options] - Optional config.
22383
+ * @param {HTMLElement} [options.dropdown] - Explicit dropdown reference. Falls back to component.dropdown.
22384
+ * @param {Function} [options.inputResolver] - Called with (component, ctx) to resolve the active input element.
22385
+ * @returns {{isExpanded: boolean, isModal: boolean, isPopover: boolean, activeInput: HTMLElement|null}}
22386
+ * isModal and isPopover reflect the display mode (fullscreen vs not) regardless of expanded state.
22387
+ */
22388
+ function createDisplayContext(component, options = {}) {
22389
+ const dd = options.dropdown || component.dropdown;
22390
+ // isPopoverVisible reflects as the `open` attribute.
22391
+ // It reports whether the bib is open in any mode (popover or modal).
22392
+ const isExpanded = Boolean(dd && dd.isPopoverVisible);
22393
+ const isFullscreen = Boolean(dd && dd.isBibFullscreen);
22394
+
22395
+ const ctx = {
22396
+ isExpanded,
22397
+ isModal: isFullscreen,
22398
+ isPopover: !isFullscreen,
22399
+ activeInput: null,
22400
+ };
22401
+
22402
+ if (options.inputResolver) {
22403
+ const resolvedInput = options.inputResolver(component, ctx);
22404
+ // Guard against resolvers returning undefined or non-HTMLElement values.
22405
+ ctx.activeInput = resolvedInput instanceof HTMLElement ? resolvedInput : null;
22406
+ }
22407
+
22408
+ return ctx;
22409
+ }
22410
+
22411
+ /**
22412
+ * Wires up a keydown listener that dispatches to strategy[evt.key] or strategy.default.
22413
+ * Handles both sync and async handlers.
22414
+ * @param {HTMLElement} component - The component to attach the listener to.
22415
+ * @param {Object} strategy - Map of key names to handler functions.
22416
+ * @param {Object} [options] - Optional config passed to createDisplayContext.
22417
+ */
22418
+ function applyKeyboardStrategy(component, strategy, options = {}) {
22419
+ component.addEventListener('keydown', async (evt) => {
22420
+ const handler = strategy[evt.key] || strategy.default;
22421
+ if (typeof handler === 'function') {
22422
+ const ctx = createDisplayContext(component, options);
22423
+ await handler(component, evt, ctx);
22424
+ }
22425
+ });
22426
+ }
22427
+
22428
+ // Copyright (c) 2026 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
22429
+ // See LICENSE in the project root for license information.
22430
+
22431
+ // Authoritative datepicker keyboard behavior spec:
22432
+ // components/datepicker/docs/partials/keyboardBehavior.md
22433
+ //
22434
+ // Current behavior (transitional — full bib keyboard navigation is planned for a future iteration):
22435
+ // - The bib opens and closes via pointer/touch interaction only.
22436
+ // - Escape closes the bib and prevents the event from reaching parent containers.
22437
+ // - Tab uses the browser's default tabindex sequence across trigger controls.
22438
+ // - Enter and Space do not open or close the bib.
22439
+ //
22440
+ // This file is an intentional placeholder for most keys. When datepicker bib keyboard navigation is
22441
+ // added, handlers should go here following the same strategy pattern used by
22442
+ // auro-select (selectKeyboardStrategy.js) and auro-combobox (comboboxKeyboardStrategy.js).
22443
+ const datepickerKeyboardStrategy = {
22444
+ Escape(component, evt) {
22445
+ // Prevent the Escape key from bubbling up and closing any parent dialogs / drawers / popups.
22446
+ // Because stopPropagation prevents the document-level floatingUI keydown handler from
22447
+ // seeing this event, we must also close the dropdown explicitly.
22448
+ evt.stopPropagation();
22449
+
22450
+ if (component.dropdown && component.dropdown.isPopoverVisible) {
22451
+ component.dropdown.hide();
22452
+ }
22453
+ },
22454
+ };
22455
+
22377
22456
  // Copyright (c) 2026 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
22378
22457
  // See LICENSE in the project root for license information.
22379
22458
 
@@ -23831,6 +23910,7 @@ class AuroDatePicker extends AuroElement {
23831
23910
  this.configureCalendar();
23832
23911
  this.configureDatepicker();
23833
23912
  this.configureClickHandler();
23913
+ applyKeyboardStrategy(this, datepickerKeyboardStrategy);
23834
23914
  }
23835
23915
 
23836
23916
  connectedCallback() {
@@ -9242,7 +9242,7 @@ class AuroBibtemplate extends LitElement {
9242
9242
  }
9243
9243
  }
9244
9244
 
9245
- var formkitVersion$2 = '202604081417';
9245
+ var formkitVersion$2 = '202604081917';
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}}
@@ -12749,7 +12749,7 @@ var iconVersion$2 = '9.1.2';
12749
12749
  * @returns {{isExpanded: boolean, isModal: boolean, isPopover: boolean, activeInput: HTMLElement|null}}
12750
12750
  * isModal and isPopover reflect the display mode (fullscreen vs not) regardless of expanded state.
12751
12751
  */
12752
- function createDisplayContext(component, options = {}) {
12752
+ function createDisplayContext$1(component, options = {}) {
12753
12753
  const dd = options.dropdown || component.dropdown;
12754
12754
  // isPopoverVisible reflects as the `open` attribute.
12755
12755
  // It reports whether the bib is open in any mode (popover or modal).
@@ -12779,11 +12779,11 @@ function createDisplayContext(component, options = {}) {
12779
12779
  * @param {Object} strategy - Map of key names to handler functions.
12780
12780
  * @param {Object} [options] - Optional config passed to createDisplayContext.
12781
12781
  */
12782
- function applyKeyboardStrategy(component, strategy, options = {}) {
12782
+ function applyKeyboardStrategy$1(component, strategy, options = {}) {
12783
12783
  component.addEventListener('keydown', async (evt) => {
12784
12784
  const handler = strategy[evt.key] || strategy.default;
12785
12785
  if (typeof handler === 'function') {
12786
- const ctx = createDisplayContext(component, options);
12786
+ const ctx = createDisplayContext$1(component, options);
12787
12787
  await handler(component, evt, ctx);
12788
12788
  }
12789
12789
  });
@@ -13018,7 +13018,7 @@ class AuroDropdownBib extends LitElement {
13018
13018
 
13019
13019
  const dialog = this.shadowRoot.querySelector('dialog');
13020
13020
  this._setupCancelHandler(dialog);
13021
- applyKeyboardStrategy(dialog, createDropdownBibKeyboardStrategy());
13021
+ applyKeyboardStrategy$1(dialog, createDropdownBibKeyboardStrategy());
13022
13022
 
13023
13023
  this.dispatchEvent(new CustomEvent('auro-dropdownbib-connected', {
13024
13024
  bubbles: true,
@@ -13420,7 +13420,7 @@ let AuroHelpText$2 = class AuroHelpText extends LitElement {
13420
13420
  }
13421
13421
  };
13422
13422
 
13423
- var formkitVersion$1 = '202604081417';
13423
+ var formkitVersion$1 = '202604081917';
13424
13424
 
13425
13425
  let AuroElement$2 = class AuroElement extends LitElement {
13426
13426
  static get properties() {
@@ -21177,7 +21177,7 @@ let AuroHelpText$1 = class AuroHelpText extends LitElement {
21177
21177
  }
21178
21178
  };
21179
21179
 
21180
- var formkitVersion = '202604081417';
21180
+ var formkitVersion = '202604081917';
21181
21181
 
21182
21182
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
21183
21183
  // See LICENSE in the project root for license information.
@@ -22374,6 +22374,85 @@ function guardTouchPassthrough(element) {
22374
22374
  }, { once: true });
22375
22375
  }
22376
22376
 
22377
+ /**
22378
+ * Computes display state once per keydown event.
22379
+ * Centralizes null-safety checks and makes the shared/modal/popover branching explicit.
22380
+ *
22381
+ * @param {HTMLElement} component - The component with a dropdown reference.
22382
+ * @param {Object} [options] - Optional config.
22383
+ * @param {HTMLElement} [options.dropdown] - Explicit dropdown reference. Falls back to component.dropdown.
22384
+ * @param {Function} [options.inputResolver] - Called with (component, ctx) to resolve the active input element.
22385
+ * @returns {{isExpanded: boolean, isModal: boolean, isPopover: boolean, activeInput: HTMLElement|null}}
22386
+ * isModal and isPopover reflect the display mode (fullscreen vs not) regardless of expanded state.
22387
+ */
22388
+ function createDisplayContext(component, options = {}) {
22389
+ const dd = options.dropdown || component.dropdown;
22390
+ // isPopoverVisible reflects as the `open` attribute.
22391
+ // It reports whether the bib is open in any mode (popover or modal).
22392
+ const isExpanded = Boolean(dd && dd.isPopoverVisible);
22393
+ const isFullscreen = Boolean(dd && dd.isBibFullscreen);
22394
+
22395
+ const ctx = {
22396
+ isExpanded,
22397
+ isModal: isFullscreen,
22398
+ isPopover: !isFullscreen,
22399
+ activeInput: null,
22400
+ };
22401
+
22402
+ if (options.inputResolver) {
22403
+ const resolvedInput = options.inputResolver(component, ctx);
22404
+ // Guard against resolvers returning undefined or non-HTMLElement values.
22405
+ ctx.activeInput = resolvedInput instanceof HTMLElement ? resolvedInput : null;
22406
+ }
22407
+
22408
+ return ctx;
22409
+ }
22410
+
22411
+ /**
22412
+ * Wires up a keydown listener that dispatches to strategy[evt.key] or strategy.default.
22413
+ * Handles both sync and async handlers.
22414
+ * @param {HTMLElement} component - The component to attach the listener to.
22415
+ * @param {Object} strategy - Map of key names to handler functions.
22416
+ * @param {Object} [options] - Optional config passed to createDisplayContext.
22417
+ */
22418
+ function applyKeyboardStrategy(component, strategy, options = {}) {
22419
+ component.addEventListener('keydown', async (evt) => {
22420
+ const handler = strategy[evt.key] || strategy.default;
22421
+ if (typeof handler === 'function') {
22422
+ const ctx = createDisplayContext(component, options);
22423
+ await handler(component, evt, ctx);
22424
+ }
22425
+ });
22426
+ }
22427
+
22428
+ // Copyright (c) 2026 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
22429
+ // See LICENSE in the project root for license information.
22430
+
22431
+ // Authoritative datepicker keyboard behavior spec:
22432
+ // components/datepicker/docs/partials/keyboardBehavior.md
22433
+ //
22434
+ // Current behavior (transitional — full bib keyboard navigation is planned for a future iteration):
22435
+ // - The bib opens and closes via pointer/touch interaction only.
22436
+ // - Escape closes the bib and prevents the event from reaching parent containers.
22437
+ // - Tab uses the browser's default tabindex sequence across trigger controls.
22438
+ // - Enter and Space do not open or close the bib.
22439
+ //
22440
+ // This file is an intentional placeholder for most keys. When datepicker bib keyboard navigation is
22441
+ // added, handlers should go here following the same strategy pattern used by
22442
+ // auro-select (selectKeyboardStrategy.js) and auro-combobox (comboboxKeyboardStrategy.js).
22443
+ const datepickerKeyboardStrategy = {
22444
+ Escape(component, evt) {
22445
+ // Prevent the Escape key from bubbling up and closing any parent dialogs / drawers / popups.
22446
+ // Because stopPropagation prevents the document-level floatingUI keydown handler from
22447
+ // seeing this event, we must also close the dropdown explicitly.
22448
+ evt.stopPropagation();
22449
+
22450
+ if (component.dropdown && component.dropdown.isPopoverVisible) {
22451
+ component.dropdown.hide();
22452
+ }
22453
+ },
22454
+ };
22455
+
22377
22456
  // Copyright (c) 2026 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
22378
22457
  // See LICENSE in the project root for license information.
22379
22458
 
@@ -23831,6 +23910,7 @@ class AuroDatePicker extends AuroElement {
23831
23910
  this.configureCalendar();
23832
23911
  this.configureDatepicker();
23833
23912
  this.configureClickHandler();
23913
+ applyKeyboardStrategy(this, datepickerKeyboardStrategy);
23834
23914
  }
23835
23915
 
23836
23916
  connectedCallback() {
@@ -59,6 +59,7 @@
59
59
  <script src="https://cdn.jsdelivr.net/npm/@aurodesignsystem/auro-accordion@latest/+esm" type="module"></script>
60
60
  <script src="https://cdn.jsdelivr.net/npm/@aurodesignsystem/auro-button@latest/+esm" type="module"></script>
61
61
  <script src="https://cdn.jsdelivr.net/npm/@aurodesignsystem/auro-dialog@latest/+esm" type="module"></script>
62
+ <script src="https://cdn.jsdelivr.net/npm/@aurodesignsystem/auro-drawer@latest/+esm" type="module"></script>
62
63
  <script src="https://cdn.jsdelivr.net/npm/@aurodesignsystem/auro-icon@latest/+esm" type="module"></script>
63
64
  <script src="https://cdn.jsdelivr.net/npm/@aurodesignsystem/auro-formkit@latest/auro-input/+esm" type="module"></script>
64
65
  </body>
@@ -8,6 +8,7 @@ import { matchWidthExample } from '../apiExamples/match-width.js';
8
8
  import { hideExample } from './../apiExamples/programmatically-hide';
9
9
  import { showExample } from './../apiExamples/programmatically-show';
10
10
  import { inDialogExample } from './../apiExamples/in-dialog';
11
+ import { inDrawerExample } from './../apiExamples/in-drawer';
11
12
  import '../src/registered.js';
12
13
 
13
14
  export function initExamples() {
@@ -21,4 +22,5 @@ export function initExamples() {
21
22
  hideExample();
22
23
  showExample();
23
24
  inDialogExample();
25
+ inDrawerExample();
24
26
  }
@@ -1314,6 +1314,101 @@ export function inDialogExample() {
1314
1314
  <!-- AURO-GENERATED-CONTENT:END -->
1315
1315
  </auro-accordion>
1316
1316
 
1317
+ ### Dropdown in Drawer
1318
+
1319
+ The element used within an `auro-drawer`.
1320
+
1321
+ <div class="exampleWrapper">
1322
+ <!-- AURO-GENERATED-CONTENT:START (FILE:src=./../apiExamples/in-drawer.html) -->
1323
+ <!-- The below content is automatically added from ./../apiExamples/in-drawer.html -->
1324
+ <div>
1325
+ <auro-button id="dropdown-drawer-opener">Dropdown in Drawer</auro-button>
1326
+ <auro-drawer id="dropdown-drawer">
1327
+ <span slot="header">Dropdown in Drawer</span>
1328
+ <div slot="content">
1329
+ <auro-dropdown id="in-drawer-dropdown" layout="classic" shape="classic" size="lg">
1330
+ <div style="padding: var(--ds-size-150);">
1331
+ Lorem ipsum solar
1332
+ <br />
1333
+ <auro-button id="in-drawer-dismiss-btn">
1334
+ Dismiss Dropdown
1335
+ </auro-button>
1336
+ </div>
1337
+ <span slot="helpText">
1338
+ Help text
1339
+ </span>
1340
+ <span slot="label">
1341
+ Element label (default text will be read by screen reader)
1342
+ </span>
1343
+ <div slot="trigger">
1344
+ Dropdown Trigger in Drawer
1345
+ </div>
1346
+ </auro-dropdown>
1347
+ </div>
1348
+ </auro-drawer>
1349
+ </div>
1350
+ <!-- AURO-GENERATED-CONTENT:END -->
1351
+ </div>
1352
+ <auro-accordion alignRight>
1353
+ <span slot="trigger">See code</span>
1354
+ <!-- AURO-GENERATED-CONTENT:START (CODE:src=./../apiExamples/in-drawer.html) -->
1355
+ <!-- The below code snippet is automatically added from ./../apiExamples/in-drawer.html -->
1356
+
1357
+ ```html
1358
+ <div>
1359
+ <auro-button id="dropdown-drawer-opener">Dropdown in Drawer</auro-button>
1360
+ <auro-drawer id="dropdown-drawer">
1361
+ <span slot="header">Dropdown in Drawer</span>
1362
+ <div slot="content">
1363
+ <auro-dropdown id="in-drawer-dropdown" layout="classic" shape="classic" size="lg">
1364
+ <div style="padding: var(--ds-size-150);">
1365
+ Lorem ipsum solar
1366
+ <br />
1367
+ <auro-button id="in-drawer-dismiss-btn">
1368
+ Dismiss Dropdown
1369
+ </auro-button>
1370
+ </div>
1371
+ <span slot="helpText">
1372
+ Help text
1373
+ </span>
1374
+ <span slot="label">
1375
+ Element label (default text will be read by screen reader)
1376
+ </span>
1377
+ <div slot="trigger">
1378
+ Dropdown Trigger in Drawer
1379
+ </div>
1380
+ </auro-dropdown>
1381
+ </div>
1382
+ </auro-drawer>
1383
+ </div>
1384
+ ```
1385
+ <!-- AURO-GENERATED-CONTENT:END -->
1386
+ <!-- AURO-GENERATED-CONTENT:START (CODE:src=./../apiExamples/in-drawer.js) -->
1387
+ <!-- The below code snippet is automatically added from ./../apiExamples/in-drawer.js -->
1388
+
1389
+ ```js
1390
+ export function inDrawerExample() {
1391
+ const openBtn = document.querySelector("#dropdown-drawer-opener");
1392
+ const closeBtn = document.querySelector("#in-drawer-dismiss-btn");
1393
+ const dropdown = document.querySelector("#in-drawer-dropdown");
1394
+
1395
+ openBtn?.addEventListener("click", () => {
1396
+ const drawer = document.querySelector("#dropdown-drawer");
1397
+ if (drawer.hasAttribute('open')) {
1398
+ drawer.removeAttribute('open');
1399
+ } else {
1400
+ drawer.setAttribute('open', true);
1401
+ }
1402
+ });
1403
+
1404
+ closeBtn?.addEventListener("click", () => {
1405
+ dropdown?.hide();
1406
+ });
1407
+ };
1408
+ ```
1409
+ <!-- AURO-GENERATED-CONTENT:END -->
1410
+ </auro-accordion>
1411
+
1317
1412
  ## Restyle Component with CSS Variables
1318
1413
 
1319
1414
  The component may be restyled by changing the values of the following token(s).
@@ -85,6 +85,25 @@ function inDialogExample() {
85
85
  });
86
86
  }
87
87
 
88
+ function inDrawerExample() {
89
+ const openBtn = document.querySelector("#dropdown-drawer-opener");
90
+ const closeBtn = document.querySelector("#in-drawer-dismiss-btn");
91
+ const dropdown = document.querySelector("#in-drawer-dropdown");
92
+
93
+ openBtn?.addEventListener("click", () => {
94
+ const drawer = document.querySelector("#dropdown-drawer");
95
+ if (drawer.hasAttribute('open')) {
96
+ drawer.removeAttribute('open');
97
+ } else {
98
+ drawer.setAttribute('open', true);
99
+ }
100
+ });
101
+
102
+ closeBtn?.addEventListener("click", () => {
103
+ dropdown?.hide();
104
+ });
105
+ }
106
+
88
107
  /**
89
108
  * @license
90
109
  * Copyright 2017 Google LLC
@@ -3863,7 +3882,7 @@ class AuroHelpText extends i {
3863
3882
  }
3864
3883
  }
3865
3884
 
3866
- var formkitVersion = '202604081417';
3885
+ var formkitVersion = '202604081917';
3867
3886
 
3868
3887
  class AuroElement extends i {
3869
3888
  static get properties() {
@@ -5014,6 +5033,7 @@ function initExamples() {
5014
5033
  hideExample();
5015
5034
  showExample();
5016
5035
  inDialogExample();
5036
+ inDrawerExample();
5017
5037
  }
5018
5038
 
5019
5039
  export { initExamples };
@@ -3803,7 +3803,7 @@ class AuroHelpText extends i {
3803
3803
  }
3804
3804
  }
3805
3805
 
3806
- var formkitVersion = '202604081417';
3806
+ var formkitVersion = '202604081917';
3807
3807
 
3808
3808
  class AuroElement extends i {
3809
3809
  static get properties() {
@@ -3708,7 +3708,7 @@ class AuroHelpText extends LitElement {
3708
3708
  }
3709
3709
  }
3710
3710
 
3711
- var formkitVersion = '202604081417';
3711
+ var formkitVersion = '202604081917';
3712
3712
 
3713
3713
  class AuroElement extends LitElement {
3714
3714
  static get properties() {
@@ -3708,7 +3708,7 @@ class AuroHelpText extends LitElement {
3708
3708
  }
3709
3709
  }
3710
3710
 
3711
- var formkitVersion = '202604081417';
3711
+ var formkitVersion = '202604081917';
3712
3712
 
3713
3713
  class AuroElement extends LitElement {
3714
3714
  static get properties() {