@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
@@ -1521,7 +1521,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$2 {
1521
1521
  }
1522
1522
  };
1523
1523
 
1524
- var formkitVersion$1 = '202604081417';
1524
+ var formkitVersion$1 = '202604081917';
1525
1525
 
1526
1526
  // Copyright (c) 2026 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
1527
1527
  // See LICENSE in the project root for license information.
@@ -5705,7 +5705,7 @@ class AuroHelpText extends i$2 {
5705
5705
  }
5706
5706
  }
5707
5707
 
5708
- var formkitVersion = '202604081417';
5708
+ var formkitVersion = '202604081917';
5709
5709
 
5710
5710
  let AuroElement$1 = class AuroElement extends i$2 {
5711
5711
  static get properties() {
@@ -7379,6 +7379,22 @@ class AuroElement extends i$2 {
7379
7379
  }
7380
7380
  }
7381
7381
 
7382
+ // Copyright (c) 2026 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
7383
+ // See LICENSE in the project root for license information.
7384
+
7385
+ const counterGroupKeyboardStrategy = {
7386
+ Escape(component, evt) {
7387
+ // Prevent the Escape key from bubbling up and closing any parent dialogs / drawers / popups.
7388
+ // Because stopPropagation prevents the document-level floatingUI keydown handler from
7389
+ // seeing this event, we must also close the dropdown explicitly.
7390
+ evt.stopPropagation();
7391
+
7392
+ if (component.dropdown && component.dropdown.isPopoverVisible) {
7393
+ component.dropdown.hide();
7394
+ }
7395
+ },
7396
+ };
7397
+
7382
7398
  /* eslint-disable lit/no-invalid-html, lit/binding-positions, max-lines, no-underscore-dangle, arrow-parens, no-confusing-arrow, curly, dot-location, no-inline-comments, line-comment-position,
7383
7399
  */
7384
7400
 
@@ -7979,6 +7995,10 @@ class AuroCounterGroup extends AuroElement {
7979
7995
  super.firstUpdated();
7980
7996
  this.updateValue();
7981
7997
  this.updateValueText();
7998
+
7999
+ if (this.isDropdown) {
8000
+ applyKeyboardStrategy$1(this, counterGroupKeyboardStrategy);
8001
+ }
7982
8002
  }
7983
8003
 
7984
8004
  /**
@@ -0,0 +1,3 @@
1
+ export namespace counterGroupKeyboardStrategy {
2
+ function Escape(component: any, evt: any): void;
3
+ }
@@ -1471,7 +1471,7 @@ let AuroHelpText$1 = class AuroHelpText extends LitElement {
1471
1471
  }
1472
1472
  };
1473
1473
 
1474
- var formkitVersion$1 = '202604081417';
1474
+ var formkitVersion$1 = '202604081917';
1475
1475
 
1476
1476
  // Copyright (c) 2026 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
1477
1477
  // See LICENSE in the project root for license information.
@@ -5637,7 +5637,7 @@ class AuroHelpText extends LitElement {
5637
5637
  }
5638
5638
  }
5639
5639
 
5640
- var formkitVersion = '202604081417';
5640
+ var formkitVersion = '202604081917';
5641
5641
 
5642
5642
  let AuroElement$1 = class AuroElement extends LitElement {
5643
5643
  static get properties() {
@@ -7311,6 +7311,22 @@ class AuroElement extends LitElement {
7311
7311
  }
7312
7312
  }
7313
7313
 
7314
+ // Copyright (c) 2026 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
7315
+ // See LICENSE in the project root for license information.
7316
+
7317
+ const counterGroupKeyboardStrategy = {
7318
+ Escape(component, evt) {
7319
+ // Prevent the Escape key from bubbling up and closing any parent dialogs / drawers / popups.
7320
+ // Because stopPropagation prevents the document-level floatingUI keydown handler from
7321
+ // seeing this event, we must also close the dropdown explicitly.
7322
+ evt.stopPropagation();
7323
+
7324
+ if (component.dropdown && component.dropdown.isPopoverVisible) {
7325
+ component.dropdown.hide();
7326
+ }
7327
+ },
7328
+ };
7329
+
7314
7330
  /* eslint-disable lit/no-invalid-html, lit/binding-positions, max-lines, no-underscore-dangle, arrow-parens, no-confusing-arrow, curly, dot-location, no-inline-comments, line-comment-position,
7315
7331
  */
7316
7332
 
@@ -7911,6 +7927,10 @@ class AuroCounterGroup extends AuroElement {
7911
7927
  super.firstUpdated();
7912
7928
  this.updateValue();
7913
7929
  this.updateValueText();
7930
+
7931
+ if (this.isDropdown) {
7932
+ applyKeyboardStrategy$1(this, counterGroupKeyboardStrategy);
7933
+ }
7914
7934
  }
7915
7935
 
7916
7936
  /**
@@ -1471,7 +1471,7 @@ let AuroHelpText$1 = class AuroHelpText extends LitElement {
1471
1471
  }
1472
1472
  };
1473
1473
 
1474
- var formkitVersion$1 = '202604081417';
1474
+ var formkitVersion$1 = '202604081917';
1475
1475
 
1476
1476
  // Copyright (c) 2026 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
1477
1477
  // See LICENSE in the project root for license information.
@@ -5637,7 +5637,7 @@ class AuroHelpText extends LitElement {
5637
5637
  }
5638
5638
  }
5639
5639
 
5640
- var formkitVersion = '202604081417';
5640
+ var formkitVersion = '202604081917';
5641
5641
 
5642
5642
  let AuroElement$1 = class AuroElement extends LitElement {
5643
5643
  static get properties() {
@@ -7311,6 +7311,22 @@ class AuroElement extends LitElement {
7311
7311
  }
7312
7312
  }
7313
7313
 
7314
+ // Copyright (c) 2026 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
7315
+ // See LICENSE in the project root for license information.
7316
+
7317
+ const counterGroupKeyboardStrategy = {
7318
+ Escape(component, evt) {
7319
+ // Prevent the Escape key from bubbling up and closing any parent dialogs / drawers / popups.
7320
+ // Because stopPropagation prevents the document-level floatingUI keydown handler from
7321
+ // seeing this event, we must also close the dropdown explicitly.
7322
+ evt.stopPropagation();
7323
+
7324
+ if (component.dropdown && component.dropdown.isPopoverVisible) {
7325
+ component.dropdown.hide();
7326
+ }
7327
+ },
7328
+ };
7329
+
7314
7330
  /* eslint-disable lit/no-invalid-html, lit/binding-positions, max-lines, no-underscore-dangle, arrow-parens, no-confusing-arrow, curly, dot-location, no-inline-comments, line-comment-position,
7315
7331
  */
7316
7332
 
@@ -7911,6 +7927,10 @@ class AuroCounterGroup extends AuroElement {
7911
7927
  super.firstUpdated();
7912
7928
  this.updateValue();
7913
7929
  this.updateValueText();
7930
+
7931
+ if (this.isDropdown) {
7932
+ applyKeyboardStrategy$1(this, counterGroupKeyboardStrategy);
7933
+ }
7914
7934
  }
7915
7935
 
7916
7936
  /**
@@ -53,6 +53,7 @@
53
53
  <script src="https://cdn.jsdelivr.net/npm/@aurodesignsystem/auro-accordion@latest/+esm" type="module"></script>
54
54
  <script src="https://cdn.jsdelivr.net/npm/@aurodesignsystem/auro-button@latest/+esm" type="module"></script>
55
55
  <script src="https://cdn.jsdelivr.net/npm/@aurodesignsystem/auro-dialog@latest/+esm" type="module"></script>
56
+ <script src="https://cdn.jsdelivr.net/npm/@aurodesignsystem/auro-drawer@latest/+esm" type="module"></script>
56
57
 
57
58
  <script type="module" data-demo-script="true">
58
59
  import { initExamples } from "./api.min.js";
@@ -6,6 +6,7 @@ import { updateMaxDateExample } from './../apiExamples/update-max-date';
6
6
  import { updateMinDateExample } from './../apiExamples/update-min-date';
7
7
  import { validityExample } from './../apiExamples/validity';
8
8
  import { inDialogExample } from '../apiExamples/in-dialog';
9
+ import { inDrawerExample } from '../apiExamples/in-drawer';
9
10
  import { localizationExample } from '../apiExamples/localization';
10
11
  import { resetStateExample } from '../apiExamples/reset-state';
11
12
  import '../src/registered.js';
@@ -22,6 +23,7 @@ export function initExamples(initCount) {
22
23
  updateMinDateExample();
23
24
  validityExample();
24
25
  inDialogExample();
26
+ inDrawerExample();
25
27
  localizationExample();
26
28
  resetStateExample();
27
29
  } catch (error) {
@@ -1759,6 +1759,61 @@ export function inDialogExample() {
1759
1759
  <!-- AURO-GENERATED-CONTENT:END -->
1760
1760
  </auro-accordion>
1761
1761
 
1762
+ ### Datepicker in Drawer
1763
+
1764
+ The following example demonstrates the use of `<auro-datepicker>` within an `<auro-drawer>` component.
1765
+
1766
+ <div class="exampleWrapper">
1767
+ <!-- AURO-GENERATED-CONTENT:START (FILE:src=./../apiExamples/in-drawer.html) -->
1768
+ <!-- The below content is automatically added from ./../apiExamples/in-drawer.html -->
1769
+ <div>
1770
+ <auro-button id="datepicker-drawer-opener">Datepicker in Drawer</auro-button>
1771
+ <auro-drawer id="datepicker-drawer">
1772
+ <span slot="bib.fullscreen.headline">inDrawer Example</span>
1773
+ <span slot="header">Datepicker in Drawer</span>
1774
+ <div slot="content">
1775
+ <auro-datepicker />
1776
+ </div>
1777
+ </auro-drawer>
1778
+ </div>
1779
+ <!-- AURO-GENERATED-CONTENT:END -->
1780
+ </div>
1781
+ <auro-accordion alignRight>
1782
+ <span slot="trigger">See code</span>
1783
+ <!-- AURO-GENERATED-CONTENT:START (CODE:src=./../apiExamples/in-drawer.html) -->
1784
+ <!-- The below code snippet is automatically added from ./../apiExamples/in-drawer.html -->
1785
+
1786
+ ```html
1787
+ <div>
1788
+ <auro-button id="datepicker-drawer-opener">Datepicker in Drawer</auro-button>
1789
+ <auro-drawer id="datepicker-drawer">
1790
+ <span slot="bib.fullscreen.headline">inDrawer Example</span>
1791
+ <span slot="header">Datepicker in Drawer</span>
1792
+ <div slot="content">
1793
+ <auro-datepicker />
1794
+ </div>
1795
+ </auro-drawer>
1796
+ </div>
1797
+ ```
1798
+ <!-- AURO-GENERATED-CONTENT:END -->
1799
+ <!-- AURO-GENERATED-CONTENT:START (CODE:src=./../apiExamples/in-drawer.js) -->
1800
+ <!-- The below code snippet is automatically added from ./../apiExamples/in-drawer.js -->
1801
+
1802
+ ```js
1803
+ export function inDrawerExample() {
1804
+ document.querySelector("#datepicker-drawer-opener").addEventListener("click", () => {
1805
+ const drawer = document.querySelector("#datepicker-drawer");
1806
+ if (drawer.hasAttribute('open')) {
1807
+ drawer.removeAttribute('open');
1808
+ } else {
1809
+ drawer.setAttribute('open', true);
1810
+ }
1811
+ });
1812
+ };
1813
+ ```
1814
+ <!-- AURO-GENERATED-CONTENT:END -->
1815
+ </auro-accordion>
1816
+
1762
1817
  ## Restyle Component with CSS Variables
1763
1818
 
1764
1819
  The component may be restyled by changing the values of the following token(s).
@@ -243,6 +243,17 @@ function inDialogExample() {
243
243
  });
244
244
  }
245
245
 
246
+ function inDrawerExample() {
247
+ document.querySelector("#datepicker-drawer-opener").addEventListener("click", () => {
248
+ const drawer = document.querySelector("#datepicker-drawer");
249
+ if (drawer.hasAttribute('open')) {
250
+ drawer.removeAttribute('open');
251
+ } else {
252
+ drawer.setAttribute('open', true);
253
+ }
254
+ });
255
+ }
256
+
246
257
  function localizationExample() {
247
258
  const localizedDatepicker = document.querySelector("#localizationExample");
248
259
 
@@ -9549,7 +9560,7 @@ class AuroBibtemplate extends i$1 {
9549
9560
  }
9550
9561
  }
9551
9562
 
9552
- var formkitVersion$2 = '202604081417';
9563
+ var formkitVersion$2 = '202604081917';
9553
9564
 
9554
9565
  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
9566
  `,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}}
@@ -13080,7 +13091,7 @@ var iconVersion$2 = '9.1.2';
13080
13091
  * @returns {{isExpanded: boolean, isModal: boolean, isPopover: boolean, activeInput: HTMLElement|null}}
13081
13092
  * isModal and isPopover reflect the display mode (fullscreen vs not) regardless of expanded state.
13082
13093
  */
13083
- function createDisplayContext(component, options = {}) {
13094
+ function createDisplayContext$1(component, options = {}) {
13084
13095
  const dd = options.dropdown || component.dropdown;
13085
13096
  // isPopoverVisible reflects as the `open` attribute.
13086
13097
  // It reports whether the bib is open in any mode (popover or modal).
@@ -13110,11 +13121,11 @@ function createDisplayContext(component, options = {}) {
13110
13121
  * @param {Object} strategy - Map of key names to handler functions.
13111
13122
  * @param {Object} [options] - Optional config passed to createDisplayContext.
13112
13123
  */
13113
- function applyKeyboardStrategy(component, strategy, options = {}) {
13124
+ function applyKeyboardStrategy$1(component, strategy, options = {}) {
13114
13125
  component.addEventListener('keydown', async (evt) => {
13115
13126
  const handler = strategy[evt.key] || strategy.default;
13116
13127
  if (typeof handler === 'function') {
13117
- const ctx = createDisplayContext(component, options);
13128
+ const ctx = createDisplayContext$1(component, options);
13118
13129
  await handler(component, evt, ctx);
13119
13130
  }
13120
13131
  });
@@ -13349,7 +13360,7 @@ class AuroDropdownBib extends i$1 {
13349
13360
 
13350
13361
  const dialog = this.shadowRoot.querySelector('dialog');
13351
13362
  this._setupCancelHandler(dialog);
13352
- applyKeyboardStrategy(dialog, createDropdownBibKeyboardStrategy());
13363
+ applyKeyboardStrategy$1(dialog, createDropdownBibKeyboardStrategy());
13353
13364
 
13354
13365
  this.dispatchEvent(new CustomEvent('auro-dropdownbib-connected', {
13355
13366
  bubbles: true,
@@ -13751,7 +13762,7 @@ let AuroHelpText$2 = class AuroHelpText extends i$1 {
13751
13762
  }
13752
13763
  };
13753
13764
 
13754
- var formkitVersion$1 = '202604081417';
13765
+ var formkitVersion$1 = '202604081917';
13755
13766
 
13756
13767
  let AuroElement$2 = class AuroElement extends i$1 {
13757
13768
  static get properties() {
@@ -21515,7 +21526,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$1 {
21515
21526
  }
21516
21527
  };
21517
21528
 
21518
- var formkitVersion = '202604081417';
21529
+ var formkitVersion = '202604081917';
21519
21530
 
21520
21531
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
21521
21532
  // See LICENSE in the project root for license information.
@@ -22712,6 +22723,85 @@ function guardTouchPassthrough(element) {
22712
22723
  }, { once: true });
22713
22724
  }
22714
22725
 
22726
+ /**
22727
+ * Computes display state once per keydown event.
22728
+ * Centralizes null-safety checks and makes the shared/modal/popover branching explicit.
22729
+ *
22730
+ * @param {HTMLElement} component - The component with a dropdown reference.
22731
+ * @param {Object} [options] - Optional config.
22732
+ * @param {HTMLElement} [options.dropdown] - Explicit dropdown reference. Falls back to component.dropdown.
22733
+ * @param {Function} [options.inputResolver] - Called with (component, ctx) to resolve the active input element.
22734
+ * @returns {{isExpanded: boolean, isModal: boolean, isPopover: boolean, activeInput: HTMLElement|null}}
22735
+ * isModal and isPopover reflect the display mode (fullscreen vs not) regardless of expanded state.
22736
+ */
22737
+ function createDisplayContext(component, options = {}) {
22738
+ const dd = options.dropdown || component.dropdown;
22739
+ // isPopoverVisible reflects as the `open` attribute.
22740
+ // It reports whether the bib is open in any mode (popover or modal).
22741
+ const isExpanded = Boolean(dd && dd.isPopoverVisible);
22742
+ const isFullscreen = Boolean(dd && dd.isBibFullscreen);
22743
+
22744
+ const ctx = {
22745
+ isExpanded,
22746
+ isModal: isFullscreen,
22747
+ isPopover: !isFullscreen,
22748
+ activeInput: null,
22749
+ };
22750
+
22751
+ if (options.inputResolver) {
22752
+ const resolvedInput = options.inputResolver(component, ctx);
22753
+ // Guard against resolvers returning undefined or non-HTMLElement values.
22754
+ ctx.activeInput = resolvedInput instanceof HTMLElement ? resolvedInput : null;
22755
+ }
22756
+
22757
+ return ctx;
22758
+ }
22759
+
22760
+ /**
22761
+ * Wires up a keydown listener that dispatches to strategy[evt.key] or strategy.default.
22762
+ * Handles both sync and async handlers.
22763
+ * @param {HTMLElement} component - The component to attach the listener to.
22764
+ * @param {Object} strategy - Map of key names to handler functions.
22765
+ * @param {Object} [options] - Optional config passed to createDisplayContext.
22766
+ */
22767
+ function applyKeyboardStrategy(component, strategy, options = {}) {
22768
+ component.addEventListener('keydown', async (evt) => {
22769
+ const handler = strategy[evt.key] || strategy.default;
22770
+ if (typeof handler === 'function') {
22771
+ const ctx = createDisplayContext(component, options);
22772
+ await handler(component, evt, ctx);
22773
+ }
22774
+ });
22775
+ }
22776
+
22777
+ // Copyright (c) 2026 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
22778
+ // See LICENSE in the project root for license information.
22779
+
22780
+ // Authoritative datepicker keyboard behavior spec:
22781
+ // components/datepicker/docs/partials/keyboardBehavior.md
22782
+ //
22783
+ // Current behavior (transitional — full bib keyboard navigation is planned for a future iteration):
22784
+ // - The bib opens and closes via pointer/touch interaction only.
22785
+ // - Escape closes the bib and prevents the event from reaching parent containers.
22786
+ // - Tab uses the browser's default tabindex sequence across trigger controls.
22787
+ // - Enter and Space do not open or close the bib.
22788
+ //
22789
+ // This file is an intentional placeholder for most keys. When datepicker bib keyboard navigation is
22790
+ // added, handlers should go here following the same strategy pattern used by
22791
+ // auro-select (selectKeyboardStrategy.js) and auro-combobox (comboboxKeyboardStrategy.js).
22792
+ const datepickerKeyboardStrategy = {
22793
+ Escape(component, evt) {
22794
+ // Prevent the Escape key from bubbling up and closing any parent dialogs / drawers / popups.
22795
+ // Because stopPropagation prevents the document-level floatingUI keydown handler from
22796
+ // seeing this event, we must also close the dropdown explicitly.
22797
+ evt.stopPropagation();
22798
+
22799
+ if (component.dropdown && component.dropdown.isPopoverVisible) {
22800
+ component.dropdown.hide();
22801
+ }
22802
+ },
22803
+ };
22804
+
22715
22805
  // Copyright (c) 2026 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
22716
22806
  // See LICENSE in the project root for license information.
22717
22807
 
@@ -24169,6 +24259,7 @@ class AuroDatePicker extends AuroElement {
24169
24259
  this.configureCalendar();
24170
24260
  this.configureDatepicker();
24171
24261
  this.configureClickHandler();
24262
+ applyKeyboardStrategy(this, datepickerKeyboardStrategy);
24172
24263
  }
24173
24264
 
24174
24265
  connectedCallback() {
@@ -24639,6 +24730,7 @@ function initExamples(initCount) {
24639
24730
  updateMinDateExample();
24640
24731
  validityExample();
24641
24732
  inDialogExample();
24733
+ inDrawerExample();
24642
24734
  localizationExample();
24643
24735
  resetStateExample();
24644
24736
  } catch (error) {
@@ -9290,7 +9290,7 @@ class AuroBibtemplate extends i$1 {
9290
9290
  }
9291
9291
  }
9292
9292
 
9293
- var formkitVersion$2 = '202604081417';
9293
+ var formkitVersion$2 = '202604081917';
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}}
@@ -12821,7 +12821,7 @@ var iconVersion$2 = '9.1.2';
12821
12821
  * @returns {{isExpanded: boolean, isModal: boolean, isPopover: boolean, activeInput: HTMLElement|null}}
12822
12822
  * isModal and isPopover reflect the display mode (fullscreen vs not) regardless of expanded state.
12823
12823
  */
12824
- function createDisplayContext(component, options = {}) {
12824
+ function createDisplayContext$1(component, options = {}) {
12825
12825
  const dd = options.dropdown || component.dropdown;
12826
12826
  // isPopoverVisible reflects as the `open` attribute.
12827
12827
  // It reports whether the bib is open in any mode (popover or modal).
@@ -12851,11 +12851,11 @@ function createDisplayContext(component, options = {}) {
12851
12851
  * @param {Object} strategy - Map of key names to handler functions.
12852
12852
  * @param {Object} [options] - Optional config passed to createDisplayContext.
12853
12853
  */
12854
- function applyKeyboardStrategy(component, strategy, options = {}) {
12854
+ function applyKeyboardStrategy$1(component, strategy, options = {}) {
12855
12855
  component.addEventListener('keydown', async (evt) => {
12856
12856
  const handler = strategy[evt.key] || strategy.default;
12857
12857
  if (typeof handler === 'function') {
12858
- const ctx = createDisplayContext(component, options);
12858
+ const ctx = createDisplayContext$1(component, options);
12859
12859
  await handler(component, evt, ctx);
12860
12860
  }
12861
12861
  });
@@ -13090,7 +13090,7 @@ class AuroDropdownBib extends i$1 {
13090
13090
 
13091
13091
  const dialog = this.shadowRoot.querySelector('dialog');
13092
13092
  this._setupCancelHandler(dialog);
13093
- applyKeyboardStrategy(dialog, createDropdownBibKeyboardStrategy());
13093
+ applyKeyboardStrategy$1(dialog, createDropdownBibKeyboardStrategy());
13094
13094
 
13095
13095
  this.dispatchEvent(new CustomEvent('auro-dropdownbib-connected', {
13096
13096
  bubbles: true,
@@ -13492,7 +13492,7 @@ let AuroHelpText$2 = class AuroHelpText extends i$1 {
13492
13492
  }
13493
13493
  };
13494
13494
 
13495
- var formkitVersion$1 = '202604081417';
13495
+ var formkitVersion$1 = '202604081917';
13496
13496
 
13497
13497
  let AuroElement$2 = class AuroElement extends i$1 {
13498
13498
  static get properties() {
@@ -21256,7 +21256,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$1 {
21256
21256
  }
21257
21257
  };
21258
21258
 
21259
- var formkitVersion = '202604081417';
21259
+ var formkitVersion = '202604081917';
21260
21260
 
21261
21261
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
21262
21262
  // See LICENSE in the project root for license information.
@@ -22453,6 +22453,85 @@ function guardTouchPassthrough(element) {
22453
22453
  }, { once: true });
22454
22454
  }
22455
22455
 
22456
+ /**
22457
+ * Computes display state once per keydown event.
22458
+ * Centralizes null-safety checks and makes the shared/modal/popover branching explicit.
22459
+ *
22460
+ * @param {HTMLElement} component - The component with a dropdown reference.
22461
+ * @param {Object} [options] - Optional config.
22462
+ * @param {HTMLElement} [options.dropdown] - Explicit dropdown reference. Falls back to component.dropdown.
22463
+ * @param {Function} [options.inputResolver] - Called with (component, ctx) to resolve the active input element.
22464
+ * @returns {{isExpanded: boolean, isModal: boolean, isPopover: boolean, activeInput: HTMLElement|null}}
22465
+ * isModal and isPopover reflect the display mode (fullscreen vs not) regardless of expanded state.
22466
+ */
22467
+ function createDisplayContext(component, options = {}) {
22468
+ const dd = options.dropdown || component.dropdown;
22469
+ // isPopoverVisible reflects as the `open` attribute.
22470
+ // It reports whether the bib is open in any mode (popover or modal).
22471
+ const isExpanded = Boolean(dd && dd.isPopoverVisible);
22472
+ const isFullscreen = Boolean(dd && dd.isBibFullscreen);
22473
+
22474
+ const ctx = {
22475
+ isExpanded,
22476
+ isModal: isFullscreen,
22477
+ isPopover: !isFullscreen,
22478
+ activeInput: null,
22479
+ };
22480
+
22481
+ if (options.inputResolver) {
22482
+ const resolvedInput = options.inputResolver(component, ctx);
22483
+ // Guard against resolvers returning undefined or non-HTMLElement values.
22484
+ ctx.activeInput = resolvedInput instanceof HTMLElement ? resolvedInput : null;
22485
+ }
22486
+
22487
+ return ctx;
22488
+ }
22489
+
22490
+ /**
22491
+ * Wires up a keydown listener that dispatches to strategy[evt.key] or strategy.default.
22492
+ * Handles both sync and async handlers.
22493
+ * @param {HTMLElement} component - The component to attach the listener to.
22494
+ * @param {Object} strategy - Map of key names to handler functions.
22495
+ * @param {Object} [options] - Optional config passed to createDisplayContext.
22496
+ */
22497
+ function applyKeyboardStrategy(component, strategy, options = {}) {
22498
+ component.addEventListener('keydown', async (evt) => {
22499
+ const handler = strategy[evt.key] || strategy.default;
22500
+ if (typeof handler === 'function') {
22501
+ const ctx = createDisplayContext(component, options);
22502
+ await handler(component, evt, ctx);
22503
+ }
22504
+ });
22505
+ }
22506
+
22507
+ // Copyright (c) 2026 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
22508
+ // See LICENSE in the project root for license information.
22509
+
22510
+ // Authoritative datepicker keyboard behavior spec:
22511
+ // components/datepicker/docs/partials/keyboardBehavior.md
22512
+ //
22513
+ // Current behavior (transitional — full bib keyboard navigation is planned for a future iteration):
22514
+ // - The bib opens and closes via pointer/touch interaction only.
22515
+ // - Escape closes the bib and prevents the event from reaching parent containers.
22516
+ // - Tab uses the browser's default tabindex sequence across trigger controls.
22517
+ // - Enter and Space do not open or close the bib.
22518
+ //
22519
+ // This file is an intentional placeholder for most keys. When datepicker bib keyboard navigation is
22520
+ // added, handlers should go here following the same strategy pattern used by
22521
+ // auro-select (selectKeyboardStrategy.js) and auro-combobox (comboboxKeyboardStrategy.js).
22522
+ const datepickerKeyboardStrategy = {
22523
+ Escape(component, evt) {
22524
+ // Prevent the Escape key from bubbling up and closing any parent dialogs / drawers / popups.
22525
+ // Because stopPropagation prevents the document-level floatingUI keydown handler from
22526
+ // seeing this event, we must also close the dropdown explicitly.
22527
+ evt.stopPropagation();
22528
+
22529
+ if (component.dropdown && component.dropdown.isPopoverVisible) {
22530
+ component.dropdown.hide();
22531
+ }
22532
+ },
22533
+ };
22534
+
22456
22535
  // Copyright (c) 2026 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
22457
22536
  // See LICENSE in the project root for license information.
22458
22537
 
@@ -23910,6 +23989,7 @@ class AuroDatePicker extends AuroElement {
23910
23989
  this.configureCalendar();
23911
23990
  this.configureDatepicker();
23912
23991
  this.configureClickHandler();
23992
+ applyKeyboardStrategy(this, datepickerKeyboardStrategy);
23913
23993
  }
23914
23994
 
23915
23995
  connectedCallback() {
@@ -1 +1,3 @@
1
- export const datepickerKeyboardStrategy: {};
1
+ export namespace datepickerKeyboardStrategy {
2
+ function Escape(component: any, evt: any): void;
3
+ }