@aurodesignsystem-dev/auro-formkit 0.0.0-pr1428.1 → 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.
- package/components/checkbox/demo/api.min.js +1 -1
- package/components/checkbox/demo/index.min.js +1 -1
- package/components/checkbox/dist/index.js +1 -1
- package/components/checkbox/dist/registered.js +1 -1
- package/components/combobox/demo/api.html +1 -0
- package/components/combobox/demo/api.js +3 -1
- package/components/combobox/demo/api.md +75 -0
- package/components/combobox/demo/api.min.js +27 -6
- package/components/combobox/demo/index.min.js +14 -5
- package/components/combobox/dist/comboboxKeyboardStrategy.d.ts +1 -1
- package/components/combobox/dist/index.js +14 -5
- package/components/combobox/dist/registered.js +14 -5
- package/components/counter/demo/api.html +3 -0
- package/components/counter/demo/api.js +4 -0
- package/components/counter/demo/api.md +130 -0
- package/components/counter/demo/api.min.js +42 -2
- package/components/counter/demo/index.min.js +22 -2
- package/components/counter/dist/counterGroupKeyboardStrategy.d.ts +3 -0
- package/components/counter/dist/index.js +22 -2
- package/components/counter/dist/registered.js +22 -2
- package/components/datepicker/demo/api.html +1 -0
- package/components/datepicker/demo/api.js +2 -0
- package/components/datepicker/demo/api.md +55 -0
- package/components/datepicker/demo/api.min.js +99 -7
- package/components/datepicker/demo/index.min.js +87 -7
- package/components/datepicker/dist/datepickerKeyboardStrategy.d.ts +3 -1
- package/components/datepicker/dist/index.js +87 -7
- package/components/datepicker/dist/registered.js +87 -7
- package/components/dropdown/demo/api.html +1 -0
- package/components/dropdown/demo/api.js +2 -0
- package/components/dropdown/demo/api.md +95 -0
- package/components/dropdown/demo/api.min.js +21 -1
- package/components/dropdown/demo/index.min.js +1 -1
- package/components/dropdown/dist/index.js +1 -1
- package/components/dropdown/dist/registered.js +1 -1
- package/components/form/demo/api.min.js +131 -19
- package/components/form/demo/index.min.js +131 -19
- package/components/input/demo/api.min.js +1 -1
- package/components/input/demo/index.min.js +1 -1
- package/components/input/dist/index.js +1 -1
- package/components/input/dist/registered.js +1 -1
- package/components/radio/demo/api.min.js +1 -1
- package/components/radio/demo/index.min.js +1 -1
- package/components/radio/dist/index.js +1 -1
- package/components/radio/dist/registered.js +1 -1
- package/components/select/demo/api.html +1 -0
- package/components/select/demo/api.js +2 -0
- package/components/select/demo/api.md +79 -0
- package/components/select/demo/api.min.js +21 -2
- package/components/select/demo/index.min.js +5 -2
- package/components/select/dist/index.js +5 -2
- package/components/select/dist/registered.js +5 -2
- package/custom-elements.json +1459 -1435
- 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 = '
|
|
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 = '
|
|
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
|
/**
|
|
@@ -1471,7 +1471,7 @@ let AuroHelpText$1 = class AuroHelpText extends LitElement {
|
|
|
1471
1471
|
}
|
|
1472
1472
|
};
|
|
1473
1473
|
|
|
1474
|
-
var formkitVersion$1 = '
|
|
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 = '
|
|
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 = '
|
|
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 = '
|
|
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 = '
|
|
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 = '
|
|
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 = '
|
|
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 = '
|
|
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 = '
|
|
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 = '
|
|
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() {
|