@aurodesignsystem-dev/auro-formkit 0.0.0-pr1524.1 → 0.0.0-pr1530.1
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/customize.min.js +1 -1
- package/components/checkbox/demo/getting-started.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/customize.min.js +24 -79
- package/components/combobox/demo/getting-started.min.js +24 -79
- package/components/combobox/demo/index.min.js +24 -79
- package/components/combobox/dist/auro-combobox.d.ts +0 -10
- package/components/combobox/dist/index.js +24 -79
- package/components/combobox/dist/registered.js +24 -79
- package/components/counter/demo/customize.min.js +2 -2
- package/components/counter/demo/index.min.js +2 -2
- package/components/counter/dist/index.js +2 -2
- package/components/counter/dist/registered.js +2 -2
- package/components/datepicker/demo/accessibility.md +13 -4
- package/components/datepicker/demo/api.md +1 -1
- package/components/datepicker/demo/customize.min.js +192 -44
- package/components/datepicker/demo/index.min.js +192 -44
- package/components/datepicker/demo/voiceover.md +1 -1
- package/components/datepicker/dist/auro-calendar-cell.d.ts +11 -0
- package/components/datepicker/dist/auro-calendar.d.ts +26 -2
- package/components/datepicker/dist/auro-datepicker.d.ts +9 -1
- package/components/datepicker/dist/index.js +192 -44
- package/components/datepicker/dist/registered.js +192 -44
- package/components/dropdown/demo/customize.min.js +1 -1
- package/components/dropdown/demo/getting-started.min.js +1 -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/customize.min.js +254 -205
- package/components/form/demo/getting-started.min.js +254 -205
- package/components/form/demo/index.min.js +254 -205
- package/components/form/demo/registerDemoDeps.min.js +254 -205
- package/components/input/demo/customize.min.js +19 -17
- package/components/input/demo/getting-started.min.js +19 -17
- package/components/input/demo/index.min.js +19 -17
- package/components/input/dist/index.js +19 -17
- package/components/input/dist/registered.js +19 -17
- package/components/radio/demo/customize.min.js +1 -1
- package/components/radio/demo/getting-started.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/customize.min.js +16 -62
- package/components/select/demo/getting-started.min.js +16 -62
- package/components/select/demo/index.min.js +16 -62
- package/components/select/dist/auro-select.d.ts +0 -6
- package/components/select/dist/index.js +16 -62
- package/components/select/dist/registered.js +16 -62
- package/custom-elements.json +38 -22
- package/package.json +1 -1
|
@@ -11602,17 +11602,14 @@ let BaseInput$2 = class BaseInput extends AuroElement$6 {
|
|
|
11602
11602
|
* @returns {void}
|
|
11603
11603
|
*/
|
|
11604
11604
|
notifyValueChanged() {
|
|
11605
|
-
|
|
11606
|
-
|
|
11607
|
-
|
|
11608
|
-
// it from genuine user typing and skip clobbering their own
|
|
11609
|
-
// programmatic state during init-time renders.
|
|
11610
|
-
const inputEvent = new Event('input', {
|
|
11605
|
+
let inputEvent = null;
|
|
11606
|
+
|
|
11607
|
+
inputEvent = new Event('input', {
|
|
11611
11608
|
bubbles: true,
|
|
11612
11609
|
composed: true,
|
|
11613
11610
|
});
|
|
11614
|
-
inputEvent.isProgrammatic = true;
|
|
11615
11611
|
|
|
11612
|
+
// Dispatched event to alert outside shadow DOM context of event firing.
|
|
11616
11613
|
this.dispatchEvent(inputEvent);
|
|
11617
11614
|
}
|
|
11618
11615
|
|
|
@@ -12325,7 +12322,7 @@ let AuroHelpText$8 = class AuroHelpText extends i$2 {
|
|
|
12325
12322
|
}
|
|
12326
12323
|
};
|
|
12327
12324
|
|
|
12328
|
-
var formkitVersion$8 = '
|
|
12325
|
+
var formkitVersion$8 = '202607022134';
|
|
12329
12326
|
|
|
12330
12327
|
// Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
12331
12328
|
// See LICENSE in the project root for license information.
|
|
@@ -12611,15 +12608,20 @@ let AuroInput$2 = class AuroInput extends BaseInput$2 {
|
|
|
12611
12608
|
* @returns {void}
|
|
12612
12609
|
*/
|
|
12613
12610
|
checkDisplayValueSlotChange() {
|
|
12614
|
-
|
|
12615
|
-
|
|
12616
|
-
//
|
|
12617
|
-
|
|
12618
|
-
|
|
12619
|
-
|
|
12620
|
-
|
|
12611
|
+
let nodes = this.shadowRoot.querySelector('slot[name="displayValue"]').assignedNodes();
|
|
12612
|
+
|
|
12613
|
+
// Handle when DisplayValue is multi-level slot content (e.g. combobox passing displayValue to input)
|
|
12614
|
+
if (nodes && nodes[0] && nodes[0].tagName === 'SLOT') {
|
|
12615
|
+
nodes = nodes[0].assignedNodes();
|
|
12616
|
+
}
|
|
12617
|
+
|
|
12618
|
+
let hasContent = false;
|
|
12619
|
+
|
|
12620
|
+
if (nodes.length > 0) {
|
|
12621
|
+
hasContent = true;
|
|
12622
|
+
}
|
|
12621
12623
|
|
|
12622
|
-
this.hasDisplayValueContent =
|
|
12624
|
+
this.hasDisplayValueContent = hasContent;
|
|
12623
12625
|
}
|
|
12624
12626
|
|
|
12625
12627
|
firstUpdated() {
|
|
@@ -24691,23 +24693,28 @@ var popoverVersion = '6.0.1';
|
|
|
24691
24693
|
* @returns {number|null} Local-midnight Unix timestamp (seconds), or null.
|
|
24692
24694
|
*/
|
|
24693
24695
|
function parseIsoToTimestamp(isoStr) {
|
|
24696
|
+
// Strict YYYY-MM-DD matcher with named groups. Rejects trailing garbage
|
|
24697
|
+
// ("2024x-01-01"), short segments ("2024-1-1"), and any non-digit
|
|
24698
|
+
// characters. `parseInt` alone accepted both because it stops at the
|
|
24699
|
+
// first non-digit and doesn't require a minimum length.
|
|
24700
|
+
const ISO_DATE_RE = /^(?<year>\d{4})-(?<month>\d{2})-(?<day>\d{2})$/u;
|
|
24701
|
+
const MAX_MONTH = 12;
|
|
24702
|
+
const MAX_DAY = 31;
|
|
24703
|
+
|
|
24694
24704
|
if (typeof isoStr !== 'string') {
|
|
24695
24705
|
return null;
|
|
24696
24706
|
}
|
|
24697
|
-
const
|
|
24698
|
-
if (
|
|
24699
|
-
return null;
|
|
24700
|
-
}
|
|
24701
|
-
const year = parseInt(parts[0], 10);
|
|
24702
|
-
const month = parseInt(parts[1], 10);
|
|
24703
|
-
const day = parseInt(parts[2], 10);
|
|
24704
|
-
if (!Number.isFinite(year) || !Number.isFinite(month) || !Number.isFinite(day)) {
|
|
24707
|
+
const match = ISO_DATE_RE.exec(isoStr);
|
|
24708
|
+
if (!match) {
|
|
24705
24709
|
return null;
|
|
24706
24710
|
}
|
|
24711
|
+
const year = Number(match.groups.year);
|
|
24712
|
+
const month = Number(match.groups.month);
|
|
24713
|
+
const day = Number(match.groups.day);
|
|
24707
24714
|
// Reject overflow values like "2024-13-40" — JS `new Date(year, month, day)`
|
|
24708
24715
|
// silently normalizes those to a different calendar day, which would
|
|
24709
24716
|
// disable the wrong date if we let the result through.
|
|
24710
|
-
if (month < 1 || month >
|
|
24717
|
+
if (month < 1 || month > MAX_MONTH || day < 1 || day > MAX_DAY) {
|
|
24711
24718
|
return null;
|
|
24712
24719
|
}
|
|
24713
24720
|
const date = new Date(year, month - 1, day);
|
|
@@ -25285,13 +25292,36 @@ class AuroCalendarCell extends i$2 {
|
|
|
25285
25292
|
}
|
|
25286
25293
|
|
|
25287
25294
|
firstUpdated() {
|
|
25295
|
+
this._initFromAncestors();
|
|
25296
|
+
}
|
|
25297
|
+
|
|
25298
|
+
/**
|
|
25299
|
+
* Wires the cell to its ancestor calendar-month and calendar (and, via
|
|
25300
|
+
* the calendar, to the datepicker). Extracted from firstUpdated() so the
|
|
25301
|
+
* retry loop can re-attempt without recursively invoking a Lit lifecycle
|
|
25302
|
+
* method (which is outside the framework's contract).
|
|
25303
|
+
* @private
|
|
25304
|
+
* @returns {void}
|
|
25305
|
+
*/
|
|
25306
|
+
_initFromAncestors() {
|
|
25288
25307
|
const calendarMonth = this.runtimeUtils.closestElement('auro-formkit-calendar-month', this);
|
|
25289
25308
|
const calendar = this.runtimeUtils.closestElement('auro-formkit-calendar', calendarMonth);
|
|
25290
25309
|
|
|
25291
25310
|
if (!calendar) {
|
|
25292
|
-
|
|
25311
|
+
// Retry on the next event-loop turn to give the ancestor chain a chance
|
|
25312
|
+
// to attach — but cap attempts so a permanently detached cell doesn't
|
|
25313
|
+
// spin forever. 10 turns is far more than any observed race needs.
|
|
25314
|
+
this._firstUpdatedRetries = (this._firstUpdatedRetries || 0) + 1;
|
|
25315
|
+
if (this._firstUpdatedRetries > 10) {
|
|
25316
|
+
return;
|
|
25317
|
+
}
|
|
25318
|
+
this._firstUpdatedRetryTimer = setTimeout(() => {
|
|
25319
|
+
this._firstUpdatedRetryTimer = null;
|
|
25320
|
+
this._initFromAncestors();
|
|
25321
|
+
}, 0);
|
|
25293
25322
|
return;
|
|
25294
25323
|
}
|
|
25324
|
+
this._firstUpdatedRetries = 0;
|
|
25295
25325
|
this.calendar = calendar;
|
|
25296
25326
|
this.datepicker = calendar.datepicker;
|
|
25297
25327
|
this._slotContentHandler = () => {
|
|
@@ -25319,6 +25349,10 @@ class AuroCalendarCell extends i$2 {
|
|
|
25319
25349
|
if (this.datepicker && this._slotContentHandler) {
|
|
25320
25350
|
this.datepicker.removeEventListener('auroDatePicker-newSlotContent', this._slotContentHandler);
|
|
25321
25351
|
}
|
|
25352
|
+
if (this._firstUpdatedRetryTimer) {
|
|
25353
|
+
clearTimeout(this._firstUpdatedRetryTimer);
|
|
25354
|
+
this._firstUpdatedRetryTimer = null;
|
|
25355
|
+
}
|
|
25322
25356
|
}
|
|
25323
25357
|
|
|
25324
25358
|
/**
|
|
@@ -26690,7 +26724,7 @@ let AuroBibtemplate$3 = class AuroBibtemplate extends i$2 {
|
|
|
26690
26724
|
}
|
|
26691
26725
|
};
|
|
26692
26726
|
|
|
26693
|
-
var formkitVersion$2$1 = '
|
|
26727
|
+
var formkitVersion$2$1 = '202607022134';
|
|
26694
26728
|
|
|
26695
26729
|
let l$1$2 = 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$2 = class d{registerComponent(t,e){customElements.get(t)||customElements.define(t,class extends e{});}closestElement(t,e=this,o=(e,s=e&&e.closest(t))=>e&&e!==document&&e!==window?s||o(e.getRootNode().host):null){return o(e)}handleComponentTagRename(t,e){const o=e.toLowerCase();t.tagName.toLowerCase()!==o&&t.setAttribute(o,true);}elementMatch(t,e){const o=e.toLowerCase();return t.tagName.toLowerCase()===o||t.hasAttribute(o)}getSlotText(t,e){const o=t.shadowRoot?.querySelector(`slot[name="${e}"]`),s=(o?.assignedNodes({flatten:true})||[]).map(t=>t.textContent?.trim()).join(" ").trim();return s||null}};let h$1$2 = class h{registerComponent(t,e){customElements.get(t)||customElements.define(t,class extends e{});}closestElement(t,e=this,o=(e,s=e&&e.closest(t))=>e&&e!==document&&e!==window?s||o(e.getRootNode().host):null){return o(e)}handleComponentTagRename(t,e){const o=e.toLowerCase();t.tagName.toLowerCase()!==o&&t.setAttribute(o,true);}elementMatch(t,e){const o=e.toLowerCase();return t.tagName.toLowerCase()===o||t.hasAttribute(o)}};var c$1$3=i$4`: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}
|
|
26696
26730
|
`,u$4$2=i$4`.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}}
|
|
@@ -26829,7 +26863,10 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
26829
26863
|
* Support will be removed in a future major release.
|
|
26830
26864
|
* @private
|
|
26831
26865
|
*/
|
|
26832
|
-
|
|
26866
|
+
// Initialize the backing field directly so the constructor's default
|
|
26867
|
+
// empty array doesn't trigger the deprecation warning. Assignments from
|
|
26868
|
+
// consumers still route through the setter below.
|
|
26869
|
+
this._disabledDays = [];
|
|
26833
26870
|
|
|
26834
26871
|
/**
|
|
26835
26872
|
* @private
|
|
@@ -26862,6 +26899,44 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
26862
26899
|
this._calendarInstanceId = Date.now().toString(36);
|
|
26863
26900
|
}
|
|
26864
26901
|
|
|
26902
|
+
/**
|
|
26903
|
+
* @deprecated See constructor JSDoc — migrate to
|
|
26904
|
+
* `auro-datepicker.blackoutDates`. The getter/setter pair exists so the
|
|
26905
|
+
* one-time deprecation warning fires as soon as a consumer assigns a
|
|
26906
|
+
* non-empty array (empty assignments are ignored — an empty array is
|
|
26907
|
+
* indistinguishable from the constructor default and would produce a
|
|
26908
|
+
* spurious warning), rather than only when `_getBlackoutSet()` happens
|
|
26909
|
+
* to rebuild.
|
|
26910
|
+
* @returns {Array} The current legacy `disabledDays` array.
|
|
26911
|
+
*/
|
|
26912
|
+
get disabledDays() {
|
|
26913
|
+
return this._disabledDays;
|
|
26914
|
+
}
|
|
26915
|
+
|
|
26916
|
+
/**
|
|
26917
|
+
* @param {Array} value - The legacy `disabledDays` array to set.
|
|
26918
|
+
*/
|
|
26919
|
+
set disabledDays(value) {
|
|
26920
|
+
const oldValue = this._disabledDays;
|
|
26921
|
+
// Coerce non-arrays to `[]`. Consumers occasionally pass `null`
|
|
26922
|
+
// (Lit's Array attribute converter returns null for a missing/empty
|
|
26923
|
+
// attribute) or misuse the API; downstream code in
|
|
26924
|
+
// `auro-calendar-cell.isEnabled` calls `.findIndex()` on this value
|
|
26925
|
+
// without an Array.isArray guard, so a truthy non-array would throw
|
|
26926
|
+
// at render.
|
|
26927
|
+
const coerced = Array.isArray(value) ? value : [];
|
|
26928
|
+
if (coerced.length > 0) {
|
|
26929
|
+
this._warnDisabledDaysDeprecated();
|
|
26930
|
+
}
|
|
26931
|
+
this._disabledDays = coerced;
|
|
26932
|
+
// `disabledDays` is a Lit `@property({ type: Array })` on the
|
|
26933
|
+
// RangeDatepicker base class; Lit's generated setter (which we've
|
|
26934
|
+
// overridden here to insert the warning) is what normally invalidates
|
|
26935
|
+
// the reactive cycle. Re-invoke requestUpdate manually so consumer
|
|
26936
|
+
// assignments still re-render the calendar.
|
|
26937
|
+
this.requestUpdate('disabledDays', oldValue);
|
|
26938
|
+
}
|
|
26939
|
+
|
|
26865
26940
|
static get styles() {
|
|
26866
26941
|
return [
|
|
26867
26942
|
styleCss$7$1,
|
|
@@ -27407,8 +27482,19 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
27407
27482
|
/**
|
|
27408
27483
|
* Returns a memoized Set of blackout timestamps (seconds) drawn from both
|
|
27409
27484
|
* the legacy `disabledDays` array and the datepicker's ISO `blackoutDates`.
|
|
27410
|
-
*
|
|
27411
|
-
*
|
|
27485
|
+
*
|
|
27486
|
+
* The cache invalidates on **reference identity** — only when the
|
|
27487
|
+
* consumer reassigns the array (`el.blackoutDates = [...]`), matching
|
|
27488
|
+
* Lit's own reactivity semantics for array properties. In-place mutations
|
|
27489
|
+
* on the existing array (`push`, `splice`, index assignment) will NOT
|
|
27490
|
+
* invalidate the cache and the new entries will be silently ignored.
|
|
27491
|
+
* Consumers must reassign to update — see the JSDoc on
|
|
27492
|
+
* `auro-datepicker.blackoutDates` for the recommended pattern.
|
|
27493
|
+
*
|
|
27494
|
+
* A shallow-equality tier was considered but rejected: it would run
|
|
27495
|
+
* O(N) work on every cell render (this method is called per-cell via
|
|
27496
|
+
* `isBlackout()`) and still wouldn't catch same-length value swaps,
|
|
27497
|
+
* offering a false sense of safety.
|
|
27412
27498
|
* @private
|
|
27413
27499
|
* @returns {Set<Number>}
|
|
27414
27500
|
*/
|
|
@@ -27589,7 +27675,24 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
27589
27675
|
// rendered month(s) first so a single-month calendar does not pick a date
|
|
27590
27676
|
// that has no DOM cell. Determine the visible range based on centralDate and
|
|
27591
27677
|
// the number of rendered months.
|
|
27592
|
-
|
|
27678
|
+
//
|
|
27679
|
+
// numCalendars is assigned inside renderAllCalendars(), which runs during
|
|
27680
|
+
// render() — so by the time the visible-change handler in updated()
|
|
27681
|
+
// calls computeActiveDate() in the same cycle, numCalendars is normally
|
|
27682
|
+
// set. Guard against the pre-first-render path anyway (e.g. any future
|
|
27683
|
+
// caller that reaches computeActiveDate before render() has run):
|
|
27684
|
+
// Math.max(undefined, 1) is NaN, which would silently skip the
|
|
27685
|
+
// visible-month scan below. Fall back to maximumRenderableMonths'
|
|
27686
|
+
// desktop default (1 for non-range, 2 for range) so the scan window is
|
|
27687
|
+
// correctly sized whenever numCalendars is not yet populated.
|
|
27688
|
+
let renderedMonths = null;
|
|
27689
|
+
|
|
27690
|
+
if (Number.isFinite(this.numCalendars) && this.numCalendars > 0) {
|
|
27691
|
+
renderedMonths = this.numCalendars;
|
|
27692
|
+
} else {
|
|
27693
|
+
renderedMonths = this.noRange ? 1 : 2;
|
|
27694
|
+
}
|
|
27695
|
+
|
|
27593
27696
|
const visibleAnchor = this.centralDateObject ?? new Date(now * 1000);
|
|
27594
27697
|
const visMonthStart = new Date(visibleAnchor.getFullYear(), visibleAnchor.getMonth(), 1);
|
|
27595
27698
|
visMonthStart.setHours(0, 0, 0, 0);
|
|
@@ -27859,6 +27962,8 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
27859
27962
|
let targetIndex = -1;
|
|
27860
27963
|
if (direction === 'next') {
|
|
27861
27964
|
targetIndex = currentIndex + 1;
|
|
27965
|
+
} else if (direction === 'prev') {
|
|
27966
|
+
targetIndex = currentIndex - 1;
|
|
27862
27967
|
}
|
|
27863
27968
|
|
|
27864
27969
|
if (targetIndex >= 0 && targetIndex < allCells.length) {
|
|
@@ -28463,6 +28568,10 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
28463
28568
|
* originally tried aria-live="polite" here, but VoiceOver treats
|
|
28464
28569
|
* polite as "wait until idle" — which never happens during active
|
|
28465
28570
|
* keyboard navigation — so the announcements were silently dropped.
|
|
28571
|
+
*
|
|
28572
|
+
* This is a documented deviation from WCAG 2.1 SC 4.1.3, which
|
|
28573
|
+
* prefers `polite` for status messages. See the "Documented
|
|
28574
|
+
* Deviation" section in components/datepicker/docs/pages/accessibility.md.
|
|
28466
28575
|
* @private
|
|
28467
28576
|
* @param {String} dateStr - The localized date string to announce.
|
|
28468
28577
|
* @returns {void}
|
|
@@ -32508,7 +32617,7 @@ let AuroHelpText$2$1 = class AuroHelpText extends i$2 {
|
|
|
32508
32617
|
}
|
|
32509
32618
|
};
|
|
32510
32619
|
|
|
32511
|
-
var formkitVersion$1$3 = '
|
|
32620
|
+
var formkitVersion$1$3 = '202607022134';
|
|
32512
32621
|
|
|
32513
32622
|
let AuroElement$2$2 = class AuroElement extends i$2 {
|
|
32514
32623
|
static get properties() {
|
|
@@ -45390,17 +45499,14 @@ let BaseInput$1 = class BaseInput extends AuroElement$1$3 {
|
|
|
45390
45499
|
* @returns {void}
|
|
45391
45500
|
*/
|
|
45392
45501
|
notifyValueChanged() {
|
|
45393
|
-
|
|
45394
|
-
|
|
45395
|
-
|
|
45396
|
-
// it from genuine user typing and skip clobbering their own
|
|
45397
|
-
// programmatic state during init-time renders.
|
|
45398
|
-
const inputEvent = new Event('input', {
|
|
45502
|
+
let inputEvent = null;
|
|
45503
|
+
|
|
45504
|
+
inputEvent = new Event('input', {
|
|
45399
45505
|
bubbles: true,
|
|
45400
45506
|
composed: true,
|
|
45401
45507
|
});
|
|
45402
|
-
inputEvent.isProgrammatic = true;
|
|
45403
45508
|
|
|
45509
|
+
// Dispatched event to alert outside shadow DOM context of event firing.
|
|
45404
45510
|
this.dispatchEvent(inputEvent);
|
|
45405
45511
|
}
|
|
45406
45512
|
|
|
@@ -46113,7 +46219,7 @@ let AuroHelpText$1$3 = class AuroHelpText extends i$2 {
|
|
|
46113
46219
|
}
|
|
46114
46220
|
};
|
|
46115
46221
|
|
|
46116
|
-
var formkitVersion$7 = '
|
|
46222
|
+
var formkitVersion$7 = '202607022134';
|
|
46117
46223
|
|
|
46118
46224
|
// Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
46119
46225
|
// See LICENSE in the project root for license information.
|
|
@@ -46399,15 +46505,20 @@ let AuroInput$1 = class AuroInput extends BaseInput$1 {
|
|
|
46399
46505
|
* @returns {void}
|
|
46400
46506
|
*/
|
|
46401
46507
|
checkDisplayValueSlotChange() {
|
|
46402
|
-
|
|
46403
|
-
|
|
46404
|
-
//
|
|
46405
|
-
|
|
46406
|
-
|
|
46407
|
-
|
|
46408
|
-
const nodes = slot.assignedNodes({ flatten: true });
|
|
46508
|
+
let nodes = this.shadowRoot.querySelector('slot[name="displayValue"]').assignedNodes();
|
|
46509
|
+
|
|
46510
|
+
// Handle when DisplayValue is multi-level slot content (e.g. combobox passing displayValue to input)
|
|
46511
|
+
if (nodes && nodes[0] && nodes[0].tagName === 'SLOT') {
|
|
46512
|
+
nodes = nodes[0].assignedNodes();
|
|
46513
|
+
}
|
|
46409
46514
|
|
|
46410
|
-
|
|
46515
|
+
let hasContent = false;
|
|
46516
|
+
|
|
46517
|
+
if (nodes.length > 0) {
|
|
46518
|
+
hasContent = true;
|
|
46519
|
+
}
|
|
46520
|
+
|
|
46521
|
+
this.hasDisplayValueContent = hasContent;
|
|
46411
46522
|
}
|
|
46412
46523
|
|
|
46413
46524
|
firstUpdated() {
|
|
@@ -47485,6 +47596,15 @@ const datepickerKeyboardStrategy = {
|
|
|
47485
47596
|
evt.stopPropagation();
|
|
47486
47597
|
evt.preventDefault();
|
|
47487
47598
|
|
|
47599
|
+
// Signal to the visibility-change handler in auro-datepicker.js that
|
|
47600
|
+
// focus should be restored to the trigger regardless of hasFocus.
|
|
47601
|
+
// hidePopover() (desktop non-modal path) does not auto-restore focus,
|
|
47602
|
+
// and hiding the grid's popover ancestor drops focus to <body>. That
|
|
47603
|
+
// synchronously fires focusout on the datepicker host — clearing
|
|
47604
|
+
// hasFocus — before updated() runs, which would otherwise skip the
|
|
47605
|
+
// input refocus. Native <dialog>.close() (modal path) restores focus
|
|
47606
|
+
// itself, but the flag is harmless there.
|
|
47607
|
+
component._restoreFocusOnClose = true;
|
|
47488
47608
|
component.hideBib();
|
|
47489
47609
|
},
|
|
47490
47610
|
|
|
@@ -47758,6 +47878,14 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
47758
47878
|
|
|
47759
47879
|
/**
|
|
47760
47880
|
* Array of dates that cannot be selected. Dates should be in ISO format (YYYY-MM-DD).
|
|
47881
|
+
*
|
|
47882
|
+
* **Immutable update required.** The datepicker treats this array as
|
|
47883
|
+
* immutable and memoizes a lookup Set keyed on the array's reference
|
|
47884
|
+
* identity — matching Lit's own reactivity semantics for array
|
|
47885
|
+
* properties. In-place mutations (`blackoutDates.push(...)`,
|
|
47886
|
+
* `blackoutDates[i] = ...`, `blackoutDates.splice(...)`) will not
|
|
47887
|
+
* invalidate the cache and the new entries will be silently ignored.
|
|
47888
|
+
* To update, reassign the property: `el.blackoutDates = [...el.blackoutDates, '2024-12-25']`.
|
|
47761
47889
|
*/
|
|
47762
47890
|
blackoutDates: {
|
|
47763
47891
|
type: Array,
|
|
@@ -48643,12 +48771,13 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
48643
48771
|
this.calendar.activeCellDate = null;
|
|
48644
48772
|
|
|
48645
48773
|
// Show the month containing the selected date (or today) instead of
|
|
48646
|
-
// whichever month the user last navigated to.
|
|
48774
|
+
// whichever month the user last navigated to. Route through
|
|
48775
|
+
// updateCentralDate so centralDate stays first-of-month.
|
|
48647
48776
|
// Respect consumer-provided centralDate/calendarStartDate if no value is set.
|
|
48648
48777
|
if (this.valueObject) {
|
|
48649
|
-
this.
|
|
48778
|
+
this.calendarRenderUtil.updateCentralDate(this, this.value);
|
|
48650
48779
|
} else if (!this.centralDate && !this.calendarStartDate && !this.minDate) {
|
|
48651
|
-
this.
|
|
48780
|
+
this.calendarRenderUtil.updateCentralDate(this, new Date());
|
|
48652
48781
|
}
|
|
48653
48782
|
}
|
|
48654
48783
|
|
|
@@ -48706,8 +48835,15 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
48706
48835
|
// Always clear the inert flag. Only restore focus to the input when the datepicker
|
|
48707
48836
|
// still has focus (e.g. Escape, date selected) — not when the user tabbed away,
|
|
48708
48837
|
// which would pull them back and require extra Tab presses to escape.
|
|
48838
|
+
//
|
|
48839
|
+
// `_restoreFocusOnClose` is set by the Escape handler in
|
|
48840
|
+
// datepickerKeyboardStrategy.js to force restore even when hasFocus
|
|
48841
|
+
// has already been cleared — hidePopover() (desktop non-modal path)
|
|
48842
|
+
// can drop focus to <body> before this update fires.
|
|
48709
48843
|
this.dropdown.trigger.inert = false;
|
|
48710
|
-
|
|
48844
|
+
const shouldRestoreFocus = this.hasFocus || this._restoreFocusOnClose;
|
|
48845
|
+
this._restoreFocusOnClose = false;
|
|
48846
|
+
if (shouldRestoreFocus) {
|
|
48711
48847
|
requestAnimationFrame(() => {
|
|
48712
48848
|
if (!this.dropdown.isPopoverVisible) {
|
|
48713
48849
|
this.inputList[0].focus();
|
|
@@ -49153,6 +49289,18 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
49153
49289
|
this.calendar.requestUpdate();
|
|
49154
49290
|
this.dispatchEvent(new CustomEvent('auroDatePicker-newSlotContent'));
|
|
49155
49291
|
}
|
|
49292
|
+
|
|
49293
|
+
// Range invariant: if a value change (from click or programmatic) has
|
|
49294
|
+
// moved start past end, clear valueEnd here so both properties land in
|
|
49295
|
+
// the SAME reactive cycle. Doing it in updated() would schedule a
|
|
49296
|
+
// second cycle after cellClickActive/wasCellClick has already been
|
|
49297
|
+
// consumed by the value branch, leaving the valueEnd branch to run
|
|
49298
|
+
// with a stale handshake and racing with any intervening programmatic
|
|
49299
|
+
// value assignments.
|
|
49300
|
+
if ((changedProperties.has('value') || changedProperties.has('valueEnd')) &&
|
|
49301
|
+
this.valueObject && this.valueEndObject && this.valueObject > this.valueEndObject) {
|
|
49302
|
+
this.valueEnd = undefined;
|
|
49303
|
+
}
|
|
49156
49304
|
}
|
|
49157
49305
|
|
|
49158
49306
|
updated(changedProperties) {
|
|
@@ -49220,8 +49368,12 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
49220
49368
|
|
|
49221
49369
|
if (this.value && this.value.length === this.inputList[0].lengthForType && !(this.wasCellClick && this.range)) {
|
|
49222
49370
|
// Skip centralDate update when user clicked a cell in range mode
|
|
49223
|
-
// to prevent the displayed months from shifting
|
|
49224
|
-
|
|
49371
|
+
// to prevent the displayed months from shifting. Route through
|
|
49372
|
+
// updateCentralDate so centralDate stays first-of-month — direct
|
|
49373
|
+
// assignment of the raw value briefly holds a mid-month string
|
|
49374
|
+
// and violates the invariant that observers (e.g. calendar sync)
|
|
49375
|
+
// rely on.
|
|
49376
|
+
this.calendarRenderUtil.updateCentralDate(this, this.value);
|
|
49225
49377
|
}
|
|
49226
49378
|
|
|
49227
49379
|
this.setHasValue();
|
|
@@ -49279,8 +49431,10 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
49279
49431
|
|
|
49280
49432
|
if (this.valueEnd && this.valueEnd.length === this.inputList[1].lengthForType && !this.wasCellClick) {
|
|
49281
49433
|
// Skip centralDate update when user clicked a cell in range mode
|
|
49282
|
-
// to prevent the displayed months from shifting
|
|
49283
|
-
|
|
49434
|
+
// to prevent the displayed months from shifting. Route through
|
|
49435
|
+
// updateCentralDate to preserve the first-of-month invariant
|
|
49436
|
+
// (see matching comment in the value branch above).
|
|
49437
|
+
this.calendarRenderUtil.updateCentralDate(this, this.valueEnd);
|
|
49284
49438
|
}
|
|
49285
49439
|
|
|
49286
49440
|
this.validate();
|
|
@@ -49304,10 +49458,6 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
49304
49458
|
this.validation.validate(lastInput, true);
|
|
49305
49459
|
}
|
|
49306
49460
|
|
|
49307
|
-
if (this.valueObject && this.valueEndObject && this.valueObject > this.valueEndObject) {
|
|
49308
|
-
this.valueEnd = undefined;
|
|
49309
|
-
}
|
|
49310
|
-
|
|
49311
49461
|
// This resets the datepicker when the minDate is set to a new value that is
|
|
49312
49462
|
// a later date than the current value date
|
|
49313
49463
|
if (changedProperties.has('minDate') && this.minDate) {
|
|
@@ -50990,7 +51140,7 @@ let AuroHelpText$1$2 = class AuroHelpText extends i$2 {
|
|
|
50990
51140
|
}
|
|
50991
51141
|
};
|
|
50992
51142
|
|
|
50993
|
-
var formkitVersion$1$2 = '
|
|
51143
|
+
var formkitVersion$1$2 = '202607022134';
|
|
50994
51144
|
|
|
50995
51145
|
// Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
|
|
50996
51146
|
// See LICENSE in the project root for license information.
|
|
@@ -55318,7 +55468,7 @@ let AuroHelpText$6 = class AuroHelpText extends i$2 {
|
|
|
55318
55468
|
}
|
|
55319
55469
|
};
|
|
55320
55470
|
|
|
55321
|
-
var formkitVersion$6 = '
|
|
55471
|
+
var formkitVersion$6 = '202607022134';
|
|
55322
55472
|
|
|
55323
55473
|
let AuroElement$1$2 = class AuroElement extends i$2 {
|
|
55324
55474
|
static get properties() {
|
|
@@ -59298,7 +59448,7 @@ let AuroHelpText$5 = class AuroHelpText extends i$2 {
|
|
|
59298
59448
|
}
|
|
59299
59449
|
};
|
|
59300
59450
|
|
|
59301
|
-
var formkitVersion$5 = '
|
|
59451
|
+
var formkitVersion$5 = '202607022134';
|
|
59302
59452
|
|
|
59303
59453
|
// Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
|
|
59304
59454
|
// See LICENSE in the project root for license information.
|
|
@@ -61063,7 +61213,7 @@ let AuroHelpText$4 = class AuroHelpText extends i$2 {
|
|
|
61063
61213
|
}
|
|
61064
61214
|
};
|
|
61065
61215
|
|
|
61066
|
-
var formkitVersion$4 = '
|
|
61216
|
+
var formkitVersion$4 = '202607022134';
|
|
61067
61217
|
|
|
61068
61218
|
// Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
|
|
61069
61219
|
// See LICENSE in the project root for license information.
|
|
@@ -66284,7 +66434,7 @@ let AuroHelpText$2 = class AuroHelpText extends i$2 {
|
|
|
66284
66434
|
}
|
|
66285
66435
|
};
|
|
66286
66436
|
|
|
66287
|
-
var formkitVersion$2 = '
|
|
66437
|
+
var formkitVersion$2 = '202607022134';
|
|
66288
66438
|
|
|
66289
66439
|
let AuroElement$2$1 = class AuroElement extends i$2 {
|
|
66290
66440
|
static get properties() {
|
|
@@ -79166,17 +79316,14 @@ class BaseInput extends AuroElement$1$1 {
|
|
|
79166
79316
|
* @returns {void}
|
|
79167
79317
|
*/
|
|
79168
79318
|
notifyValueChanged() {
|
|
79169
|
-
|
|
79170
|
-
|
|
79171
|
-
|
|
79172
|
-
// it from genuine user typing and skip clobbering their own
|
|
79173
|
-
// programmatic state during init-time renders.
|
|
79174
|
-
const inputEvent = new Event('input', {
|
|
79319
|
+
let inputEvent = null;
|
|
79320
|
+
|
|
79321
|
+
inputEvent = new Event('input', {
|
|
79175
79322
|
bubbles: true,
|
|
79176
79323
|
composed: true,
|
|
79177
79324
|
});
|
|
79178
|
-
inputEvent.isProgrammatic = true;
|
|
79179
79325
|
|
|
79326
|
+
// Dispatched event to alert outside shadow DOM context of event firing.
|
|
79180
79327
|
this.dispatchEvent(inputEvent);
|
|
79181
79328
|
}
|
|
79182
79329
|
|
|
@@ -79889,7 +80036,7 @@ let AuroHelpText$1$1 = class AuroHelpText extends i$2 {
|
|
|
79889
80036
|
}
|
|
79890
80037
|
};
|
|
79891
80038
|
|
|
79892
|
-
var formkitVersion$1$1 = '
|
|
80039
|
+
var formkitVersion$1$1 = '202607022134';
|
|
79893
80040
|
|
|
79894
80041
|
// Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
79895
80042
|
// See LICENSE in the project root for license information.
|
|
@@ -80175,15 +80322,20 @@ class AuroInput extends BaseInput {
|
|
|
80175
80322
|
* @returns {void}
|
|
80176
80323
|
*/
|
|
80177
80324
|
checkDisplayValueSlotChange() {
|
|
80178
|
-
|
|
80179
|
-
|
|
80180
|
-
//
|
|
80181
|
-
|
|
80182
|
-
|
|
80183
|
-
|
|
80184
|
-
|
|
80325
|
+
let nodes = this.shadowRoot.querySelector('slot[name="displayValue"]').assignedNodes();
|
|
80326
|
+
|
|
80327
|
+
// Handle when DisplayValue is multi-level slot content (e.g. combobox passing displayValue to input)
|
|
80328
|
+
if (nodes && nodes[0] && nodes[0].tagName === 'SLOT') {
|
|
80329
|
+
nodes = nodes[0].assignedNodes();
|
|
80330
|
+
}
|
|
80331
|
+
|
|
80332
|
+
let hasContent = false;
|
|
80333
|
+
|
|
80334
|
+
if (nodes.length > 0) {
|
|
80335
|
+
hasContent = true;
|
|
80336
|
+
}
|
|
80185
80337
|
|
|
80186
|
-
this.hasDisplayValueContent =
|
|
80338
|
+
this.hasDisplayValueContent = hasContent;
|
|
80187
80339
|
}
|
|
80188
80340
|
|
|
80189
80341
|
firstUpdated() {
|
|
@@ -81010,7 +81162,7 @@ let AuroBibtemplate$1 = class AuroBibtemplate extends i$2 {
|
|
|
81010
81162
|
}
|
|
81011
81163
|
};
|
|
81012
81164
|
|
|
81013
|
-
var formkitVersion$3 = '
|
|
81165
|
+
var formkitVersion$3 = '202607022134';
|
|
81014
81166
|
|
|
81015
81167
|
var styleCss$1$3 = i$4`.util_displayInline{display:inline}.util_displayInlineBlock{display:inline-block}.util_displayBlock{display:block}.util_displayFlex{display:flex}.util_displayHidden{display:none}.util_displayHiddenVisually{position:absolute;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);width:1px;height:1px;padding:0;border:0}:host{display:block;text-align:left}:host [auro-dropdown]{--ds-auro-dropdown-trigger-background-color: transparent}:host #inputInBib::part(wrapper){box-shadow:none}:host #inputInBib::part(accent-left){display:none}:host([layout*=classic]) [auro-input]{width:100%}:host([layout*=classic]) [auro-input]::part(helpText){display:none}:host([layout*=classic]) #slotHolder{display:none}`;
|
|
81016
81168
|
|
|
@@ -82109,19 +82261,9 @@ class AuroCombobox extends AuroElement$3 {
|
|
|
82109
82261
|
/**
|
|
82110
82262
|
* Processes hidden state of all menu options and determines if there are any available options not hidden.
|
|
82111
82263
|
* @private
|
|
82112
|
-
* @param {object} [options={}] - Optional flag bag.
|
|
82113
|
-
* @param {boolean} [options.preferComboboxValue=false] - When true,
|
|
82114
|
-
* handleMenuOptions matches the selected option against `this.value`
|
|
82115
|
-
* first instead of `this.input.value`. Needed on mount and re-mount
|
|
82116
|
-
* because under `persistInput` the consumer's typedValue prop can drift
|
|
82117
|
-
* from the framework value (Svelte `{#key}` re-mount after a swap, or
|
|
82118
|
-
* SPA preselect after route change) and the old input-first match would
|
|
82119
|
-
* then pick the stale text. Only handleSlotChange passes this; typing
|
|
82120
|
-
* and clearing paths keep the input-first match so user clears aren't
|
|
82121
|
-
* undone.
|
|
82122
82264
|
* @returns {void}
|
|
82123
82265
|
*/
|
|
82124
|
-
handleMenuOptions(
|
|
82266
|
+
handleMenuOptions() {
|
|
82125
82267
|
this.generateOptionsArray();
|
|
82126
82268
|
this.availableOptions = [];
|
|
82127
82269
|
// Single source of truth for the menu's filter/highlight token per call.
|
|
@@ -82142,20 +82284,7 @@ class AuroCombobox extends AuroElement$3 {
|
|
|
82142
82284
|
option.setAttribute('aria-posinset', index + 1);
|
|
82143
82285
|
});
|
|
82144
82286
|
|
|
82145
|
-
|
|
82146
|
-
// `this.value` when it matches a menu option. Covers SPA preselect and
|
|
82147
|
-
// consumer swap patterns (e.g. Svelte `{#key}` re-mount) where
|
|
82148
|
-
// `this.value` is authoritative but `this.input.value` may be empty or
|
|
82149
|
-
// carry stale typed text from another field. Event-driven callers do
|
|
82150
|
-
// not pass the flag, otherwise user clears would be undone by
|
|
82151
|
-
// re-syncing to the previous combobox.value.
|
|
82152
|
-
if (preferComboboxValue &&
|
|
82153
|
-
this.value &&
|
|
82154
|
-
this.menu.options?.some((opt) => opt.value === this.value)) {
|
|
82155
|
-
this.setMenuValue(this.value);
|
|
82156
|
-
this.syncValuesAndStates();
|
|
82157
|
-
} else if (this.input.value &&
|
|
82158
|
-
this.menu.options?.some((opt) => opt.value === this.input.value)) {
|
|
82287
|
+
if (this.input.value && this.menu.options && this.menu.options.some((opt) => opt.value === this.input.value)) {
|
|
82159
82288
|
this.setMenuValue(this.input.value);
|
|
82160
82289
|
this.syncValuesAndStates();
|
|
82161
82290
|
}
|
|
@@ -82592,25 +82721,7 @@ class AuroCombobox extends AuroElement$3 {
|
|
|
82592
82721
|
this.optionActive = evt.detail;
|
|
82593
82722
|
|
|
82594
82723
|
if (this.input) {
|
|
82595
|
-
|
|
82596
|
-
// template's `.a11yActivedescendant` binding calls setAttribute on
|
|
82597
|
-
// the internal <input> in auro-input.updated(), which clears the
|
|
82598
|
-
// reflected ariaActiveDescendantElement property. Setting the ref
|
|
82599
|
-
// synchronously here would get overwritten by that attribute write.
|
|
82600
|
-
// Awaiting updateComplete lets the attribute write finish first,
|
|
82601
|
-
// then the ref sticks and screen readers can cross the shadow-DOM
|
|
82602
|
-
// boundary to the auro-menuoption in light DOM.
|
|
82603
|
-
//
|
|
82604
|
-
// The equality check covers the async gap: this.optionActive can
|
|
82605
|
-
// change before the callback runs (user arrowed elsewhere, or the
|
|
82606
|
-
// menu closed and cleared it to null), so we bail if the target
|
|
82607
|
-
// no longer matches to avoid reinstating a stale ref.
|
|
82608
|
-
const targetOption = this.optionActive;
|
|
82609
|
-
this.updateComplete.then(() => {
|
|
82610
|
-
if (this.input && this.optionActive === targetOption) {
|
|
82611
|
-
this.input.setActiveDescendant(targetOption);
|
|
82612
|
-
}
|
|
82613
|
-
});
|
|
82724
|
+
this.input.setActiveDescendant(this.optionActive);
|
|
82614
82725
|
}
|
|
82615
82726
|
|
|
82616
82727
|
// In fullscreen mode the menu sits inside a nested <dialog> shadow root,
|
|
@@ -82747,18 +82858,6 @@ class AuroCombobox extends AuroElement$3 {
|
|
|
82747
82858
|
}
|
|
82748
82859
|
}
|
|
82749
82860
|
|
|
82750
|
-
// SPA preselect guard: on init render, auro-input's notifyValueChanged
|
|
82751
|
-
// echoes an empty value through as an isProgrammatic input event before
|
|
82752
|
-
// the framework-set combobox.value has propagated down to the input.
|
|
82753
|
-
// Without this bail, the `this.value = this.input.value` below clobbers
|
|
82754
|
-
// the framework value with '' and clear() wipes optionSelected. Scoped
|
|
82755
|
-
// to the exact shape of that echo (isProgrammatic + non-empty combobox
|
|
82756
|
-
// value + empty input.value) so it doesn't affect the swap/typed paths
|
|
82757
|
-
// where value/input already track each other through the sync helpers.
|
|
82758
|
-
if (event && event.isProgrammatic && this.value && !this.input.value) {
|
|
82759
|
-
return;
|
|
82760
|
-
}
|
|
82761
|
-
|
|
82762
82861
|
this.value = this.input.value;
|
|
82763
82862
|
|
|
82764
82863
|
// Ignore re-entrant input events caused by programmatic value sets.
|
|
@@ -83191,11 +83290,7 @@ class AuroCombobox extends AuroElement$3 {
|
|
|
83191
83290
|
}
|
|
83192
83291
|
});
|
|
83193
83292
|
|
|
83194
|
-
|
|
83195
|
-
// framework-set `this.value` wins over any stale `input.value` when
|
|
83196
|
-
// matching against the newly-available options. Fixes the display
|
|
83197
|
-
// for SPA preselect and Svelte `{#key}` re-mount swap patterns.
|
|
83198
|
-
this.handleMenuOptions({ preferComboboxValue: true });
|
|
83293
|
+
this.handleMenuOptions();
|
|
83199
83294
|
|
|
83200
83295
|
break;
|
|
83201
83296
|
|
|
@@ -85844,6 +85939,9 @@ function navigateArrow(component, direction, options = {}) {
|
|
|
85844
85939
|
* @param {HTMLElement | null | undefined} menu - The auro-menu element.
|
|
85845
85940
|
* @returns {Array<HTMLElement>} Non-disabled options, empty array when none.
|
|
85846
85941
|
*/
|
|
85942
|
+
function getEnabledOptions(menu) {
|
|
85943
|
+
return (menu?.options || []).filter((option) => !option.disabled);
|
|
85944
|
+
}
|
|
85847
85945
|
|
|
85848
85946
|
/**
|
|
85849
85947
|
* Returns the active (selectable + visible) options for type-ahead navigation.
|
|
@@ -85913,10 +86011,8 @@ const selectKeyboardStrategy = {
|
|
|
85913
86011
|
End(component, evt, ctx) {
|
|
85914
86012
|
evt.preventDefault();
|
|
85915
86013
|
evt.stopPropagation();
|
|
85916
|
-
// `pop()` is safe here:
|
|
85917
|
-
|
|
85918
|
-
// reader must not announce as focused — are skipped.
|
|
85919
|
-
const lastOption = getActiveOptions(component.menu).pop();
|
|
86014
|
+
// `pop()` is safe here: getEnabledOptions returns a fresh filtered array.
|
|
86015
|
+
const lastOption = getEnabledOptions(component.menu).pop();
|
|
85920
86016
|
if (!lastOption) {
|
|
85921
86017
|
return;
|
|
85922
86018
|
}
|
|
@@ -85947,7 +86043,7 @@ const selectKeyboardStrategy = {
|
|
|
85947
86043
|
Home(component, evt, ctx) {
|
|
85948
86044
|
evt.preventDefault();
|
|
85949
86045
|
evt.stopPropagation();
|
|
85950
|
-
const [firstOption] =
|
|
86046
|
+
const [firstOption] = getEnabledOptions(component.menu);
|
|
85951
86047
|
if (!firstOption) {
|
|
85952
86048
|
return;
|
|
85953
86049
|
}
|
|
@@ -85972,15 +86068,6 @@ const selectKeyboardStrategy = {
|
|
|
85972
86068
|
},
|
|
85973
86069
|
|
|
85974
86070
|
default(component, evt, ctx) {
|
|
85975
|
-
// Ignore keys chorded with Ctrl/Meta/Alt so browser/OS shortcuts
|
|
85976
|
-
// (Cmd+C, Ctrl+V, Alt+X, Cmd+Space, …) don't leak into typeahead
|
|
85977
|
-
// or toggle the bib. Native <select> ignores modified keys.
|
|
85978
|
-
// ArrowUp/ArrowDown handle modifier+arrow explicitly above; this
|
|
85979
|
-
// guard only affects the default (printable/Space) branch.
|
|
85980
|
-
if (evt.ctrlKey || evt.metaKey || evt.altKey) {
|
|
85981
|
-
return;
|
|
85982
|
-
}
|
|
85983
|
-
|
|
85984
86071
|
// Space resolves to either typeahead-buffer extension or bib toggle
|
|
85985
86072
|
// depending on whether a type-ahead buffer is active. Mirrors native
|
|
85986
86073
|
// <select> and the WAI-ARIA APG Listbox guidance: mid-typeahead space
|
|
@@ -89911,7 +89998,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$2 {
|
|
|
89911
89998
|
}
|
|
89912
89999
|
};
|
|
89913
90000
|
|
|
89914
|
-
var formkitVersion$1 = '
|
|
90001
|
+
var formkitVersion$1 = '202607022134';
|
|
89915
90002
|
|
|
89916
90003
|
class AuroElement extends i$2 {
|
|
89917
90004
|
static get properties() {
|
|
@@ -91950,7 +92037,7 @@ class AuroHelpText extends i$2 {
|
|
|
91950
92037
|
}
|
|
91951
92038
|
}
|
|
91952
92039
|
|
|
91953
|
-
var formkitVersion = '
|
|
92040
|
+
var formkitVersion = '202607022134';
|
|
91954
92041
|
|
|
91955
92042
|
var styleCss = i$4`.util_displayInline{display:inline}.util_displayInlineBlock{display:inline-block}.util_displayBlock{display:block}.util_displayFlex{display:flex}.util_displayHidden{display:none}.util_displayHiddenVisually{position:absolute;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);width:1px;height:1px;padding:0;border:0}.body-default{font-size:var(--wcss-body-default-font-size, 1rem);font-weight:var(--wcss-body-default-weight, );line-height:var(--wcss-body-default-line-height, 1.5rem)}.body-default,.body-default-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-default-emphasized{font-size:var(--wcss-body-default-emphasized-font-size, 1rem);font-weight:var(--wcss-body-default-emphasized-weight, );line-height:var(--wcss-body-default-emphasized-line-height, 1.5rem)}.body-lg{font-size:var(--wcss-body-lg-font-size, 1.125rem);font-weight:var(--wcss-body-lg-weight, );line-height:var(--wcss-body-lg-line-height, 1.625rem)}.body-lg,.body-lg-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-lg-emphasized{font-size:var(--wcss-body-lg-emphasized-font-size, 1.125rem);font-weight:var(--wcss-body-lg-emphasized-weight, );line-height:var(--wcss-body-lg-emphasized-line-height, 1.625rem)}.body-sm{font-size:var(--wcss-body-sm-font-size, 0.875rem);font-weight:var(--wcss-body-sm-weight, );line-height:var(--wcss-body-sm-line-height, 1.25rem)}.body-sm,.body-sm-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-sm-emphasized{font-size:var(--wcss-body-sm-emphasized-font-size, 0.875rem);font-weight:var(--wcss-body-sm-emphasized-weight, );line-height:var(--wcss-body-sm-emphasized-line-height, 1.25rem)}.body-xs{font-size:var(--wcss-body-xs-font-size, 0.75rem);font-weight:var(--wcss-body-xs-weight, );line-height:var(--wcss-body-xs-line-height, 1rem)}.body-xs,.body-xs-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-xs-emphasized{font-size:var(--wcss-body-xs-emphasized-font-size, 0.75rem);font-weight:var(--wcss-body-xs-emphasized-weight, );line-height:var(--wcss-body-xs-emphasized-line-height, 1rem)}.body-2xs{font-size:var(--wcss-body-2xs-font-size, 0.625rem);font-weight:var(--wcss-body-2xs-weight, );line-height:var(--wcss-body-2xs-line-height, 0.875rem)}.body-2xs,.body-2xs-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-2xs-emphasized{font-size:var(--wcss-body-2xs-emphasized-font-size, 0.625rem);font-weight:var(--wcss-body-2xs-emphasized-weight, );line-height:var(--wcss-body-2xs-emphasized-line-height, 0.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, 300);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, 300);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, 0.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, 0.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, 0.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, 0.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, 0.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, 0.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(0.875rem, 1.1666666667vw, 0.875rem));font-weight:var(--wcss-accent-2xs-weight, 450);letter-spacing:var(--wcss-accent-2xs-letter-spacing, 0.1em);line-height:var(--wcss-accent-2xs-line-height, 1.3);text-transform:uppercase}[auro-dropdown]{--ds-auro-dropdown-trigger-border-color: var(--ds-auro-select-border-color);--ds-auro-dropdown-trigger-background-color: var(--ds-auro-select-background-color);--ds-auro-dropdown-trigger-container-color: var(--ds-auro-select-background-color);--ds-auro-dropdown-trigger-outline-color: var(--ds-auro-select-outline-color)}:host{display:inline-block;text-align:left;vertical-align:top}:host([layout*=emphasized]) [auro-dropdown],:host([layout*=snowflake]) [auro-dropdown]{--ds-auro-select-border-color: transparent}:host([layout*=emphasized]) .mainContent,:host([layout*=snowflake]) .mainContent{text-align:center}.mainContent{position:relative;display:flex;overflow:hidden;flex:1;flex-direction:column;align-items:center;justify-content:center}.valueContainer [slot=displayValue]{display:none}.accents{display:flex;flex-direction:row;align-items:center;justify-content:center}::slotted([slot=typeIcon]){margin-right:var(--ds-size-100, 0.5rem)}.displayValue{display:block}.displayValue:not(.force){display:none}.displayValue:not(.force).hasContent:is(.withValue):not(.hasFocus){display:block}.triggerContent{display:flex;width:100%;align-items:center;justify-content:center}:host([layout*=emphasized]) .triggerContent{padding:0 var(--ds-size-100, 0.5rem) 0 var(--ds-size-300, 1.5rem)}:host([layout*=snowflake]) .triggerContent{padding:0 var(--ds-size-100, 0.5rem) 0 var(--ds-size-200, 1rem)}:host([layout*=snowflake]) label{padding-block:var(--ds-size-25, 0.125rem)}:host([layout*=classic]) .triggerContent{padding:0 var(--ds-size-100, 0.5rem)}:host([layout*=classic]) .mainContent{align-items:start}:host([layout*=classic]) label{overflow:hidden;cursor:text;text-overflow:ellipsis;white-space:nowrap}:host([layout*=classic]) .value{height:auto}label{color:var(--ds-auro-select-label-text-color)}:host(:is([validity]:not([validity=valid]))) [auro-dropdown]{--ds-auro-select-border-color: var(--ds-basic-color-status-error, #e31f26);--ds-auro-select-outline-color: var(--ds-basic-color-status-error, #e31f26);--ds-auro-dropdown-helptext-text-color: var(--ds-basic-color-texticon-default, #2a2a2a)}:host([ondark]:is([validity]:not([validity=valid]))) [auro-dropdown],:host([appearance=inverse]:is([validity]:not([validity=valid]))) [auro-dropdown]{--ds-auro-select-border-color: var(--ds-advanced-color-state-error-inverse, #f9a4a8);--ds-auro-select-outline-color: var(--ds-advanced-color-state-error-inverse, #f9a4a8);--ds-auro-dropdown-helptext-text-color: var(--ds-basic-color-texticon-inverse, #ffffff)}#slotHolder{display:none}:host([fluid]){width:100%}:host([disabled]){pointer-events:none;user-select:none}:host([disabled]:not([ondark])) [auro-dropdown],:host([disabled]:not([appearance=inverse])) [auro-dropdown]{--ds-auro-select-border-color: var(--ds-basic-color-border-subtle, #dddddd)}:host(:not([layout*=classic])[disabled][ondark]) [auro-dropdown],:host(:not([layout*=classic])[disabled][appearance=inverse]) [auro-dropdown]{--ds-auro-select-border-color: transparent}`;
|
|
91956
92043
|
|
|
@@ -92514,11 +92601,8 @@ class AuroSelect extends AuroElement$1 {
|
|
|
92514
92601
|
} else if (this.multiSelect && Array.isArray(this.optionSelected) && this.optionSelected.length > 0) {
|
|
92515
92602
|
this.menu.updateActiveOption(this.optionSelected[0]);
|
|
92516
92603
|
} else {
|
|
92517
|
-
// If no activeOption has yet to be set, make the first active
|
|
92518
|
-
|
|
92519
|
-
// not just "enabled" — so hidden rows and static placeholders never
|
|
92520
|
-
// land in aria-activedescendant on open.
|
|
92521
|
-
const [firstActive] = getActiveOptions(this.menu);
|
|
92604
|
+
// If no activeOption has yet to be set, then make the first enabled option active by default
|
|
92605
|
+
const [firstActive] = getEnabledOptions(this.menu);
|
|
92522
92606
|
this.menu.updateActiveOption(firstActive);
|
|
92523
92607
|
}
|
|
92524
92608
|
}
|
|
@@ -92764,12 +92848,6 @@ class AuroSelect extends AuroElement$1 {
|
|
|
92764
92848
|
|
|
92765
92849
|
/**
|
|
92766
92850
|
* Binds all behavior needed to the menu after rendering.
|
|
92767
|
-
*
|
|
92768
|
-
* The `<auro-menu>` reference is captured once and not re-targeted on
|
|
92769
|
-
* `slotchange`. Runtime option mutations are covered via
|
|
92770
|
-
* `auroMenu-optionsChange`, so swap options inside the menu freely; do not
|
|
92771
|
-
* swap the `<auro-menu>` element itself under a live select — remount the
|
|
92772
|
-
* parent `<auro-select>` instead.
|
|
92773
92851
|
* @private
|
|
92774
92852
|
* @returns {void}
|
|
92775
92853
|
*/
|
|
@@ -92828,15 +92906,6 @@ class AuroSelect extends AuroElement$1 {
|
|
|
92828
92906
|
if (this.menu.optionSelected !== undefined) {
|
|
92829
92907
|
return;
|
|
92830
92908
|
}
|
|
92831
|
-
// Skip when the select is already cleared (valueless click with no
|
|
92832
|
-
// prior selection): value/optionSelected are already empty and there
|
|
92833
|
-
// is no stale trigger text to refresh, so updateDisplayedValue would
|
|
92834
|
-
// just churn the DOM and request a needless dropdown re-render.
|
|
92835
|
-
const hasStaleState = this.value !== undefined ||
|
|
92836
|
-
(this.multiSelect ? this.optionSelected?.length > 0 : this.optionSelected !== undefined);
|
|
92837
|
-
if (!hasStaleState) {
|
|
92838
|
-
return;
|
|
92839
|
-
}
|
|
92840
92909
|
this.value = undefined;
|
|
92841
92910
|
this.optionSelected = this.multiSelect ? [] : undefined;
|
|
92842
92911
|
// The trigger label is rendered imperatively into #value, so a property
|
|
@@ -92866,15 +92935,10 @@ class AuroSelect extends AuroElement$1 {
|
|
|
92866
92935
|
if (this.dropdown.isPopoverVisible) {
|
|
92867
92936
|
announceToScreenReader(this._getAnnouncementRoot(), message);
|
|
92868
92937
|
} else {
|
|
92869
|
-
// Typeahead-on-closed
|
|
92870
|
-
//
|
|
92871
|
-
//
|
|
92872
|
-
//
|
|
92873
|
-
// microtask queue only drains once _handleTypeahead unwinds, by
|
|
92874
|
-
// which point _getAnnouncementRoot() resolves to the bib's shadow
|
|
92875
|
-
// root inside the now-open modal. Do NOT switch to auroDropdown-toggled
|
|
92876
|
-
// — it fires before showModal(), landing the announcement in the
|
|
92877
|
-
// host root while the dialog is still not-yet-modal.
|
|
92938
|
+
// Typeahead-on-closed fires this event before `show()` flips
|
|
92939
|
+
// isPopoverVisible. Defer so the announcement targets the bib's
|
|
92940
|
+
// live region once the fullscreen <dialog> opens — otherwise it
|
|
92941
|
+
// lands in the host root, which is inert under the active modal.
|
|
92878
92942
|
queueMicrotask(() => announceToScreenReader(this._getAnnouncementRoot(), message));
|
|
92879
92943
|
}
|
|
92880
92944
|
}
|
|
@@ -93268,13 +93332,6 @@ class AuroSelect extends AuroElement$1 {
|
|
|
93268
93332
|
}
|
|
93269
93333
|
|
|
93270
93334
|
if (changedProperties.has('value')) {
|
|
93271
|
-
// A value change ends the current interaction — whether it came from a
|
|
93272
|
-
// user commit, programmatic assignment, or reset(). Clear the buffer so
|
|
93273
|
-
// a stale prefix does not concatenate onto the next keystroke while the
|
|
93274
|
-
// host still has focus (the blur listener would otherwise be the only
|
|
93275
|
-
// focus-retained clear point, and hideBib() below does not blur).
|
|
93276
|
-
this._clearTypeaheadBuffer();
|
|
93277
|
-
|
|
93278
93335
|
this.setMenuValue(this.value);
|
|
93279
93336
|
|
|
93280
93337
|
this._updateNativeSelect();
|
|
@@ -93330,9 +93387,6 @@ class AuroSelect extends AuroElement$1 {
|
|
|
93330
93387
|
* @returns {void}
|
|
93331
93388
|
*/
|
|
93332
93389
|
reset() {
|
|
93333
|
-
// Defense-in-depth: updated()'s value-change branch also clears, but
|
|
93334
|
-
// reset-to-same-value (e.g. undefined → undefined) skips that path.
|
|
93335
|
-
this._clearTypeaheadBuffer();
|
|
93336
93390
|
this.menu.reset();
|
|
93337
93391
|
this.validation.reset(this);
|
|
93338
93392
|
}
|
|
@@ -93355,13 +93409,8 @@ class AuroSelect extends AuroElement$1 {
|
|
|
93355
93409
|
// Hidden native <select> has no `multiple` attribute, so any change it fires
|
|
93356
93410
|
// is a single raw value — applying it in multiSelect mode would collapse the
|
|
93357
93411
|
// JSON-array `value` shape. Bfcache/autofill can reach this on a name-bearing
|
|
93358
|
-
// form control even with aria-hidden/tabindex=-1
|
|
93359
|
-
|
|
93360
|
-
// silently submit the autofilled scalar under `name`.
|
|
93361
|
-
if (this.multiSelect) {
|
|
93362
|
-
this._updateNativeSelect();
|
|
93363
|
-
return;
|
|
93364
|
-
}
|
|
93412
|
+
// form control even with aria-hidden/tabindex=-1.
|
|
93413
|
+
if (this.multiSelect) return;
|
|
93365
93414
|
|
|
93366
93415
|
const selectedOption = event.target.options[event.target.selectedIndex];
|
|
93367
93416
|
if (!selectedOption) return;
|