@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
|
@@ -12643,17 +12643,14 @@ let BaseInput$2 = class BaseInput extends AuroElement$6 {
|
|
|
12643
12643
|
* @returns {void}
|
|
12644
12644
|
*/
|
|
12645
12645
|
notifyValueChanged() {
|
|
12646
|
-
|
|
12647
|
-
|
|
12648
|
-
|
|
12649
|
-
// it from genuine user typing and skip clobbering their own
|
|
12650
|
-
// programmatic state during init-time renders.
|
|
12651
|
-
const inputEvent = new Event('input', {
|
|
12646
|
+
let inputEvent = null;
|
|
12647
|
+
|
|
12648
|
+
inputEvent = new Event('input', {
|
|
12652
12649
|
bubbles: true,
|
|
12653
12650
|
composed: true,
|
|
12654
12651
|
});
|
|
12655
|
-
inputEvent.isProgrammatic = true;
|
|
12656
12652
|
|
|
12653
|
+
// Dispatched event to alert outside shadow DOM context of event firing.
|
|
12657
12654
|
this.dispatchEvent(inputEvent);
|
|
12658
12655
|
}
|
|
12659
12656
|
|
|
@@ -13366,7 +13363,7 @@ let AuroHelpText$8 = class AuroHelpText extends i$3 {
|
|
|
13366
13363
|
}
|
|
13367
13364
|
};
|
|
13368
13365
|
|
|
13369
|
-
var formkitVersion$8 = '
|
|
13366
|
+
var formkitVersion$8 = '202607022134';
|
|
13370
13367
|
|
|
13371
13368
|
// Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
13372
13369
|
// See LICENSE in the project root for license information.
|
|
@@ -13652,15 +13649,20 @@ let AuroInput$2 = class AuroInput extends BaseInput$2 {
|
|
|
13652
13649
|
* @returns {void}
|
|
13653
13650
|
*/
|
|
13654
13651
|
checkDisplayValueSlotChange() {
|
|
13655
|
-
|
|
13656
|
-
|
|
13657
|
-
//
|
|
13658
|
-
|
|
13659
|
-
|
|
13660
|
-
|
|
13661
|
-
|
|
13652
|
+
let nodes = this.shadowRoot.querySelector('slot[name="displayValue"]').assignedNodes();
|
|
13653
|
+
|
|
13654
|
+
// Handle when DisplayValue is multi-level slot content (e.g. combobox passing displayValue to input)
|
|
13655
|
+
if (nodes && nodes[0] && nodes[0].tagName === 'SLOT') {
|
|
13656
|
+
nodes = nodes[0].assignedNodes();
|
|
13657
|
+
}
|
|
13658
|
+
|
|
13659
|
+
let hasContent = false;
|
|
13660
|
+
|
|
13661
|
+
if (nodes.length > 0) {
|
|
13662
|
+
hasContent = true;
|
|
13663
|
+
}
|
|
13662
13664
|
|
|
13663
|
-
this.hasDisplayValueContent =
|
|
13665
|
+
this.hasDisplayValueContent = hasContent;
|
|
13664
13666
|
}
|
|
13665
13667
|
|
|
13666
13668
|
firstUpdated() {
|
|
@@ -25732,23 +25734,28 @@ var popoverVersion = '6.0.1';
|
|
|
25732
25734
|
* @returns {number|null} Local-midnight Unix timestamp (seconds), or null.
|
|
25733
25735
|
*/
|
|
25734
25736
|
function parseIsoToTimestamp(isoStr) {
|
|
25737
|
+
// Strict YYYY-MM-DD matcher with named groups. Rejects trailing garbage
|
|
25738
|
+
// ("2024x-01-01"), short segments ("2024-1-1"), and any non-digit
|
|
25739
|
+
// characters. `parseInt` alone accepted both because it stops at the
|
|
25740
|
+
// first non-digit and doesn't require a minimum length.
|
|
25741
|
+
const ISO_DATE_RE = /^(?<year>\d{4})-(?<month>\d{2})-(?<day>\d{2})$/u;
|
|
25742
|
+
const MAX_MONTH = 12;
|
|
25743
|
+
const MAX_DAY = 31;
|
|
25744
|
+
|
|
25735
25745
|
if (typeof isoStr !== 'string') {
|
|
25736
25746
|
return null;
|
|
25737
25747
|
}
|
|
25738
|
-
const
|
|
25739
|
-
if (
|
|
25740
|
-
return null;
|
|
25741
|
-
}
|
|
25742
|
-
const year = parseInt(parts[0], 10);
|
|
25743
|
-
const month = parseInt(parts[1], 10);
|
|
25744
|
-
const day = parseInt(parts[2], 10);
|
|
25745
|
-
if (!Number.isFinite(year) || !Number.isFinite(month) || !Number.isFinite(day)) {
|
|
25748
|
+
const match = ISO_DATE_RE.exec(isoStr);
|
|
25749
|
+
if (!match) {
|
|
25746
25750
|
return null;
|
|
25747
25751
|
}
|
|
25752
|
+
const year = Number(match.groups.year);
|
|
25753
|
+
const month = Number(match.groups.month);
|
|
25754
|
+
const day = Number(match.groups.day);
|
|
25748
25755
|
// Reject overflow values like "2024-13-40" — JS `new Date(year, month, day)`
|
|
25749
25756
|
// silently normalizes those to a different calendar day, which would
|
|
25750
25757
|
// disable the wrong date if we let the result through.
|
|
25751
|
-
if (month < 1 || month >
|
|
25758
|
+
if (month < 1 || month > MAX_MONTH || day < 1 || day > MAX_DAY) {
|
|
25752
25759
|
return null;
|
|
25753
25760
|
}
|
|
25754
25761
|
const date = new Date(year, month - 1, day);
|
|
@@ -26326,13 +26333,36 @@ class AuroCalendarCell extends i$3 {
|
|
|
26326
26333
|
}
|
|
26327
26334
|
|
|
26328
26335
|
firstUpdated() {
|
|
26336
|
+
this._initFromAncestors();
|
|
26337
|
+
}
|
|
26338
|
+
|
|
26339
|
+
/**
|
|
26340
|
+
* Wires the cell to its ancestor calendar-month and calendar (and, via
|
|
26341
|
+
* the calendar, to the datepicker). Extracted from firstUpdated() so the
|
|
26342
|
+
* retry loop can re-attempt without recursively invoking a Lit lifecycle
|
|
26343
|
+
* method (which is outside the framework's contract).
|
|
26344
|
+
* @private
|
|
26345
|
+
* @returns {void}
|
|
26346
|
+
*/
|
|
26347
|
+
_initFromAncestors() {
|
|
26329
26348
|
const calendarMonth = this.runtimeUtils.closestElement('auro-formkit-calendar-month', this);
|
|
26330
26349
|
const calendar = this.runtimeUtils.closestElement('auro-formkit-calendar', calendarMonth);
|
|
26331
26350
|
|
|
26332
26351
|
if (!calendar) {
|
|
26333
|
-
|
|
26352
|
+
// Retry on the next event-loop turn to give the ancestor chain a chance
|
|
26353
|
+
// to attach — but cap attempts so a permanently detached cell doesn't
|
|
26354
|
+
// spin forever. 10 turns is far more than any observed race needs.
|
|
26355
|
+
this._firstUpdatedRetries = (this._firstUpdatedRetries || 0) + 1;
|
|
26356
|
+
if (this._firstUpdatedRetries > 10) {
|
|
26357
|
+
return;
|
|
26358
|
+
}
|
|
26359
|
+
this._firstUpdatedRetryTimer = setTimeout(() => {
|
|
26360
|
+
this._firstUpdatedRetryTimer = null;
|
|
26361
|
+
this._initFromAncestors();
|
|
26362
|
+
}, 0);
|
|
26334
26363
|
return;
|
|
26335
26364
|
}
|
|
26365
|
+
this._firstUpdatedRetries = 0;
|
|
26336
26366
|
this.calendar = calendar;
|
|
26337
26367
|
this.datepicker = calendar.datepicker;
|
|
26338
26368
|
this._slotContentHandler = () => {
|
|
@@ -26360,6 +26390,10 @@ class AuroCalendarCell extends i$3 {
|
|
|
26360
26390
|
if (this.datepicker && this._slotContentHandler) {
|
|
26361
26391
|
this.datepicker.removeEventListener('auroDatePicker-newSlotContent', this._slotContentHandler);
|
|
26362
26392
|
}
|
|
26393
|
+
if (this._firstUpdatedRetryTimer) {
|
|
26394
|
+
clearTimeout(this._firstUpdatedRetryTimer);
|
|
26395
|
+
this._firstUpdatedRetryTimer = null;
|
|
26396
|
+
}
|
|
26363
26397
|
}
|
|
26364
26398
|
|
|
26365
26399
|
/**
|
|
@@ -27731,7 +27765,7 @@ let AuroBibtemplate$3 = class AuroBibtemplate extends i$3 {
|
|
|
27731
27765
|
}
|
|
27732
27766
|
};
|
|
27733
27767
|
|
|
27734
|
-
var formkitVersion$2$1 = '
|
|
27768
|
+
var formkitVersion$2$1 = '202607022134';
|
|
27735
27769
|
|
|
27736
27770
|
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$2`${s$3(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$6`: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}
|
|
27737
27771
|
`,u$4$2=i$6`.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}}
|
|
@@ -27870,7 +27904,10 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
27870
27904
|
* Support will be removed in a future major release.
|
|
27871
27905
|
* @private
|
|
27872
27906
|
*/
|
|
27873
|
-
|
|
27907
|
+
// Initialize the backing field directly so the constructor's default
|
|
27908
|
+
// empty array doesn't trigger the deprecation warning. Assignments from
|
|
27909
|
+
// consumers still route through the setter below.
|
|
27910
|
+
this._disabledDays = [];
|
|
27874
27911
|
|
|
27875
27912
|
/**
|
|
27876
27913
|
* @private
|
|
@@ -27903,6 +27940,44 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
27903
27940
|
this._calendarInstanceId = Date.now().toString(36);
|
|
27904
27941
|
}
|
|
27905
27942
|
|
|
27943
|
+
/**
|
|
27944
|
+
* @deprecated See constructor JSDoc — migrate to
|
|
27945
|
+
* `auro-datepicker.blackoutDates`. The getter/setter pair exists so the
|
|
27946
|
+
* one-time deprecation warning fires as soon as a consumer assigns a
|
|
27947
|
+
* non-empty array (empty assignments are ignored — an empty array is
|
|
27948
|
+
* indistinguishable from the constructor default and would produce a
|
|
27949
|
+
* spurious warning), rather than only when `_getBlackoutSet()` happens
|
|
27950
|
+
* to rebuild.
|
|
27951
|
+
* @returns {Array} The current legacy `disabledDays` array.
|
|
27952
|
+
*/
|
|
27953
|
+
get disabledDays() {
|
|
27954
|
+
return this._disabledDays;
|
|
27955
|
+
}
|
|
27956
|
+
|
|
27957
|
+
/**
|
|
27958
|
+
* @param {Array} value - The legacy `disabledDays` array to set.
|
|
27959
|
+
*/
|
|
27960
|
+
set disabledDays(value) {
|
|
27961
|
+
const oldValue = this._disabledDays;
|
|
27962
|
+
// Coerce non-arrays to `[]`. Consumers occasionally pass `null`
|
|
27963
|
+
// (Lit's Array attribute converter returns null for a missing/empty
|
|
27964
|
+
// attribute) or misuse the API; downstream code in
|
|
27965
|
+
// `auro-calendar-cell.isEnabled` calls `.findIndex()` on this value
|
|
27966
|
+
// without an Array.isArray guard, so a truthy non-array would throw
|
|
27967
|
+
// at render.
|
|
27968
|
+
const coerced = Array.isArray(value) ? value : [];
|
|
27969
|
+
if (coerced.length > 0) {
|
|
27970
|
+
this._warnDisabledDaysDeprecated();
|
|
27971
|
+
}
|
|
27972
|
+
this._disabledDays = coerced;
|
|
27973
|
+
// `disabledDays` is a Lit `@property({ type: Array })` on the
|
|
27974
|
+
// RangeDatepicker base class; Lit's generated setter (which we've
|
|
27975
|
+
// overridden here to insert the warning) is what normally invalidates
|
|
27976
|
+
// the reactive cycle. Re-invoke requestUpdate manually so consumer
|
|
27977
|
+
// assignments still re-render the calendar.
|
|
27978
|
+
this.requestUpdate('disabledDays', oldValue);
|
|
27979
|
+
}
|
|
27980
|
+
|
|
27906
27981
|
static get styles() {
|
|
27907
27982
|
return [
|
|
27908
27983
|
styleCss$7$1,
|
|
@@ -28448,8 +28523,19 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
28448
28523
|
/**
|
|
28449
28524
|
* Returns a memoized Set of blackout timestamps (seconds) drawn from both
|
|
28450
28525
|
* the legacy `disabledDays` array and the datepicker's ISO `blackoutDates`.
|
|
28451
|
-
*
|
|
28452
|
-
*
|
|
28526
|
+
*
|
|
28527
|
+
* The cache invalidates on **reference identity** — only when the
|
|
28528
|
+
* consumer reassigns the array (`el.blackoutDates = [...]`), matching
|
|
28529
|
+
* Lit's own reactivity semantics for array properties. In-place mutations
|
|
28530
|
+
* on the existing array (`push`, `splice`, index assignment) will NOT
|
|
28531
|
+
* invalidate the cache and the new entries will be silently ignored.
|
|
28532
|
+
* Consumers must reassign to update — see the JSDoc on
|
|
28533
|
+
* `auro-datepicker.blackoutDates` for the recommended pattern.
|
|
28534
|
+
*
|
|
28535
|
+
* A shallow-equality tier was considered but rejected: it would run
|
|
28536
|
+
* O(N) work on every cell render (this method is called per-cell via
|
|
28537
|
+
* `isBlackout()`) and still wouldn't catch same-length value swaps,
|
|
28538
|
+
* offering a false sense of safety.
|
|
28453
28539
|
* @private
|
|
28454
28540
|
* @returns {Set<Number>}
|
|
28455
28541
|
*/
|
|
@@ -28630,7 +28716,24 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
28630
28716
|
// rendered month(s) first so a single-month calendar does not pick a date
|
|
28631
28717
|
// that has no DOM cell. Determine the visible range based on centralDate and
|
|
28632
28718
|
// the number of rendered months.
|
|
28633
|
-
|
|
28719
|
+
//
|
|
28720
|
+
// numCalendars is assigned inside renderAllCalendars(), which runs during
|
|
28721
|
+
// render() — so by the time the visible-change handler in updated()
|
|
28722
|
+
// calls computeActiveDate() in the same cycle, numCalendars is normally
|
|
28723
|
+
// set. Guard against the pre-first-render path anyway (e.g. any future
|
|
28724
|
+
// caller that reaches computeActiveDate before render() has run):
|
|
28725
|
+
// Math.max(undefined, 1) is NaN, which would silently skip the
|
|
28726
|
+
// visible-month scan below. Fall back to maximumRenderableMonths'
|
|
28727
|
+
// desktop default (1 for non-range, 2 for range) so the scan window is
|
|
28728
|
+
// correctly sized whenever numCalendars is not yet populated.
|
|
28729
|
+
let renderedMonths = null;
|
|
28730
|
+
|
|
28731
|
+
if (Number.isFinite(this.numCalendars) && this.numCalendars > 0) {
|
|
28732
|
+
renderedMonths = this.numCalendars;
|
|
28733
|
+
} else {
|
|
28734
|
+
renderedMonths = this.noRange ? 1 : 2;
|
|
28735
|
+
}
|
|
28736
|
+
|
|
28634
28737
|
const visibleAnchor = this.centralDateObject ?? new Date(now * 1000);
|
|
28635
28738
|
const visMonthStart = new Date(visibleAnchor.getFullYear(), visibleAnchor.getMonth(), 1);
|
|
28636
28739
|
visMonthStart.setHours(0, 0, 0, 0);
|
|
@@ -28900,6 +29003,8 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
28900
29003
|
let targetIndex = -1;
|
|
28901
29004
|
if (direction === 'next') {
|
|
28902
29005
|
targetIndex = currentIndex + 1;
|
|
29006
|
+
} else if (direction === 'prev') {
|
|
29007
|
+
targetIndex = currentIndex - 1;
|
|
28903
29008
|
}
|
|
28904
29009
|
|
|
28905
29010
|
if (targetIndex >= 0 && targetIndex < allCells.length) {
|
|
@@ -29504,6 +29609,10 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
29504
29609
|
* originally tried aria-live="polite" here, but VoiceOver treats
|
|
29505
29610
|
* polite as "wait until idle" — which never happens during active
|
|
29506
29611
|
* keyboard navigation — so the announcements were silently dropped.
|
|
29612
|
+
*
|
|
29613
|
+
* This is a documented deviation from WCAG 2.1 SC 4.1.3, which
|
|
29614
|
+
* prefers `polite` for status messages. See the "Documented
|
|
29615
|
+
* Deviation" section in components/datepicker/docs/pages/accessibility.md.
|
|
29507
29616
|
* @private
|
|
29508
29617
|
* @param {String} dateStr - The localized date string to announce.
|
|
29509
29618
|
* @returns {void}
|
|
@@ -33549,7 +33658,7 @@ let AuroHelpText$2$1 = class AuroHelpText extends i$3 {
|
|
|
33549
33658
|
}
|
|
33550
33659
|
};
|
|
33551
33660
|
|
|
33552
|
-
var formkitVersion$1$3 = '
|
|
33661
|
+
var formkitVersion$1$3 = '202607022134';
|
|
33553
33662
|
|
|
33554
33663
|
let AuroElement$2$2 = class AuroElement extends i$3 {
|
|
33555
33664
|
static get properties() {
|
|
@@ -46431,17 +46540,14 @@ let BaseInput$1 = class BaseInput extends AuroElement$1$3 {
|
|
|
46431
46540
|
* @returns {void}
|
|
46432
46541
|
*/
|
|
46433
46542
|
notifyValueChanged() {
|
|
46434
|
-
|
|
46435
|
-
|
|
46436
|
-
|
|
46437
|
-
// it from genuine user typing and skip clobbering their own
|
|
46438
|
-
// programmatic state during init-time renders.
|
|
46439
|
-
const inputEvent = new Event('input', {
|
|
46543
|
+
let inputEvent = null;
|
|
46544
|
+
|
|
46545
|
+
inputEvent = new Event('input', {
|
|
46440
46546
|
bubbles: true,
|
|
46441
46547
|
composed: true,
|
|
46442
46548
|
});
|
|
46443
|
-
inputEvent.isProgrammatic = true;
|
|
46444
46549
|
|
|
46550
|
+
// Dispatched event to alert outside shadow DOM context of event firing.
|
|
46445
46551
|
this.dispatchEvent(inputEvent);
|
|
46446
46552
|
}
|
|
46447
46553
|
|
|
@@ -47154,7 +47260,7 @@ let AuroHelpText$1$3 = class AuroHelpText extends i$3 {
|
|
|
47154
47260
|
}
|
|
47155
47261
|
};
|
|
47156
47262
|
|
|
47157
|
-
var formkitVersion$7 = '
|
|
47263
|
+
var formkitVersion$7 = '202607022134';
|
|
47158
47264
|
|
|
47159
47265
|
// Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
47160
47266
|
// See LICENSE in the project root for license information.
|
|
@@ -47440,15 +47546,20 @@ let AuroInput$1 = class AuroInput extends BaseInput$1 {
|
|
|
47440
47546
|
* @returns {void}
|
|
47441
47547
|
*/
|
|
47442
47548
|
checkDisplayValueSlotChange() {
|
|
47443
|
-
|
|
47444
|
-
|
|
47445
|
-
//
|
|
47446
|
-
|
|
47447
|
-
|
|
47448
|
-
|
|
47449
|
-
const nodes = slot.assignedNodes({ flatten: true });
|
|
47549
|
+
let nodes = this.shadowRoot.querySelector('slot[name="displayValue"]').assignedNodes();
|
|
47550
|
+
|
|
47551
|
+
// Handle when DisplayValue is multi-level slot content (e.g. combobox passing displayValue to input)
|
|
47552
|
+
if (nodes && nodes[0] && nodes[0].tagName === 'SLOT') {
|
|
47553
|
+
nodes = nodes[0].assignedNodes();
|
|
47554
|
+
}
|
|
47450
47555
|
|
|
47451
|
-
|
|
47556
|
+
let hasContent = false;
|
|
47557
|
+
|
|
47558
|
+
if (nodes.length > 0) {
|
|
47559
|
+
hasContent = true;
|
|
47560
|
+
}
|
|
47561
|
+
|
|
47562
|
+
this.hasDisplayValueContent = hasContent;
|
|
47452
47563
|
}
|
|
47453
47564
|
|
|
47454
47565
|
firstUpdated() {
|
|
@@ -48526,6 +48637,15 @@ const datepickerKeyboardStrategy = {
|
|
|
48526
48637
|
evt.stopPropagation();
|
|
48527
48638
|
evt.preventDefault();
|
|
48528
48639
|
|
|
48640
|
+
// Signal to the visibility-change handler in auro-datepicker.js that
|
|
48641
|
+
// focus should be restored to the trigger regardless of hasFocus.
|
|
48642
|
+
// hidePopover() (desktop non-modal path) does not auto-restore focus,
|
|
48643
|
+
// and hiding the grid's popover ancestor drops focus to <body>. That
|
|
48644
|
+
// synchronously fires focusout on the datepicker host — clearing
|
|
48645
|
+
// hasFocus — before updated() runs, which would otherwise skip the
|
|
48646
|
+
// input refocus. Native <dialog>.close() (modal path) restores focus
|
|
48647
|
+
// itself, but the flag is harmless there.
|
|
48648
|
+
component._restoreFocusOnClose = true;
|
|
48529
48649
|
component.hideBib();
|
|
48530
48650
|
},
|
|
48531
48651
|
|
|
@@ -48799,6 +48919,14 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
48799
48919
|
|
|
48800
48920
|
/**
|
|
48801
48921
|
* Array of dates that cannot be selected. Dates should be in ISO format (YYYY-MM-DD).
|
|
48922
|
+
*
|
|
48923
|
+
* **Immutable update required.** The datepicker treats this array as
|
|
48924
|
+
* immutable and memoizes a lookup Set keyed on the array's reference
|
|
48925
|
+
* identity — matching Lit's own reactivity semantics for array
|
|
48926
|
+
* properties. In-place mutations (`blackoutDates.push(...)`,
|
|
48927
|
+
* `blackoutDates[i] = ...`, `blackoutDates.splice(...)`) will not
|
|
48928
|
+
* invalidate the cache and the new entries will be silently ignored.
|
|
48929
|
+
* To update, reassign the property: `el.blackoutDates = [...el.blackoutDates, '2024-12-25']`.
|
|
48802
48930
|
*/
|
|
48803
48931
|
blackoutDates: {
|
|
48804
48932
|
type: Array,
|
|
@@ -49684,12 +49812,13 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
49684
49812
|
this.calendar.activeCellDate = null;
|
|
49685
49813
|
|
|
49686
49814
|
// Show the month containing the selected date (or today) instead of
|
|
49687
|
-
// whichever month the user last navigated to.
|
|
49815
|
+
// whichever month the user last navigated to. Route through
|
|
49816
|
+
// updateCentralDate so centralDate stays first-of-month.
|
|
49688
49817
|
// Respect consumer-provided centralDate/calendarStartDate if no value is set.
|
|
49689
49818
|
if (this.valueObject) {
|
|
49690
|
-
this.
|
|
49819
|
+
this.calendarRenderUtil.updateCentralDate(this, this.value);
|
|
49691
49820
|
} else if (!this.centralDate && !this.calendarStartDate && !this.minDate) {
|
|
49692
|
-
this.
|
|
49821
|
+
this.calendarRenderUtil.updateCentralDate(this, new Date());
|
|
49693
49822
|
}
|
|
49694
49823
|
}
|
|
49695
49824
|
|
|
@@ -49747,8 +49876,15 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
49747
49876
|
// Always clear the inert flag. Only restore focus to the input when the datepicker
|
|
49748
49877
|
// still has focus (e.g. Escape, date selected) — not when the user tabbed away,
|
|
49749
49878
|
// which would pull them back and require extra Tab presses to escape.
|
|
49879
|
+
//
|
|
49880
|
+
// `_restoreFocusOnClose` is set by the Escape handler in
|
|
49881
|
+
// datepickerKeyboardStrategy.js to force restore even when hasFocus
|
|
49882
|
+
// has already been cleared — hidePopover() (desktop non-modal path)
|
|
49883
|
+
// can drop focus to <body> before this update fires.
|
|
49750
49884
|
this.dropdown.trigger.inert = false;
|
|
49751
|
-
|
|
49885
|
+
const shouldRestoreFocus = this.hasFocus || this._restoreFocusOnClose;
|
|
49886
|
+
this._restoreFocusOnClose = false;
|
|
49887
|
+
if (shouldRestoreFocus) {
|
|
49752
49888
|
requestAnimationFrame(() => {
|
|
49753
49889
|
if (!this.dropdown.isPopoverVisible) {
|
|
49754
49890
|
this.inputList[0].focus();
|
|
@@ -50194,6 +50330,18 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
50194
50330
|
this.calendar.requestUpdate();
|
|
50195
50331
|
this.dispatchEvent(new CustomEvent('auroDatePicker-newSlotContent'));
|
|
50196
50332
|
}
|
|
50333
|
+
|
|
50334
|
+
// Range invariant: if a value change (from click or programmatic) has
|
|
50335
|
+
// moved start past end, clear valueEnd here so both properties land in
|
|
50336
|
+
// the SAME reactive cycle. Doing it in updated() would schedule a
|
|
50337
|
+
// second cycle after cellClickActive/wasCellClick has already been
|
|
50338
|
+
// consumed by the value branch, leaving the valueEnd branch to run
|
|
50339
|
+
// with a stale handshake and racing with any intervening programmatic
|
|
50340
|
+
// value assignments.
|
|
50341
|
+
if ((changedProperties.has('value') || changedProperties.has('valueEnd')) &&
|
|
50342
|
+
this.valueObject && this.valueEndObject && this.valueObject > this.valueEndObject) {
|
|
50343
|
+
this.valueEnd = undefined;
|
|
50344
|
+
}
|
|
50197
50345
|
}
|
|
50198
50346
|
|
|
50199
50347
|
updated(changedProperties) {
|
|
@@ -50261,8 +50409,12 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
50261
50409
|
|
|
50262
50410
|
if (this.value && this.value.length === this.inputList[0].lengthForType && !(this.wasCellClick && this.range)) {
|
|
50263
50411
|
// Skip centralDate update when user clicked a cell in range mode
|
|
50264
|
-
// to prevent the displayed months from shifting
|
|
50265
|
-
|
|
50412
|
+
// to prevent the displayed months from shifting. Route through
|
|
50413
|
+
// updateCentralDate so centralDate stays first-of-month — direct
|
|
50414
|
+
// assignment of the raw value briefly holds a mid-month string
|
|
50415
|
+
// and violates the invariant that observers (e.g. calendar sync)
|
|
50416
|
+
// rely on.
|
|
50417
|
+
this.calendarRenderUtil.updateCentralDate(this, this.value);
|
|
50266
50418
|
}
|
|
50267
50419
|
|
|
50268
50420
|
this.setHasValue();
|
|
@@ -50320,8 +50472,10 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
50320
50472
|
|
|
50321
50473
|
if (this.valueEnd && this.valueEnd.length === this.inputList[1].lengthForType && !this.wasCellClick) {
|
|
50322
50474
|
// Skip centralDate update when user clicked a cell in range mode
|
|
50323
|
-
// to prevent the displayed months from shifting
|
|
50324
|
-
|
|
50475
|
+
// to prevent the displayed months from shifting. Route through
|
|
50476
|
+
// updateCentralDate to preserve the first-of-month invariant
|
|
50477
|
+
// (see matching comment in the value branch above).
|
|
50478
|
+
this.calendarRenderUtil.updateCentralDate(this, this.valueEnd);
|
|
50325
50479
|
}
|
|
50326
50480
|
|
|
50327
50481
|
this.validate();
|
|
@@ -50345,10 +50499,6 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
50345
50499
|
this.validation.validate(lastInput, true);
|
|
50346
50500
|
}
|
|
50347
50501
|
|
|
50348
|
-
if (this.valueObject && this.valueEndObject && this.valueObject > this.valueEndObject) {
|
|
50349
|
-
this.valueEnd = undefined;
|
|
50350
|
-
}
|
|
50351
|
-
|
|
50352
50502
|
// This resets the datepicker when the minDate is set to a new value that is
|
|
50353
50503
|
// a later date than the current value date
|
|
50354
50504
|
if (changedProperties.has('minDate') && this.minDate) {
|
|
@@ -52031,7 +52181,7 @@ let AuroHelpText$1$2 = class AuroHelpText extends i$3 {
|
|
|
52031
52181
|
}
|
|
52032
52182
|
};
|
|
52033
52183
|
|
|
52034
|
-
var formkitVersion$1$2 = '
|
|
52184
|
+
var formkitVersion$1$2 = '202607022134';
|
|
52035
52185
|
|
|
52036
52186
|
// Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
|
|
52037
52187
|
// See LICENSE in the project root for license information.
|
|
@@ -56359,7 +56509,7 @@ let AuroHelpText$6 = class AuroHelpText extends i$3 {
|
|
|
56359
56509
|
}
|
|
56360
56510
|
};
|
|
56361
56511
|
|
|
56362
|
-
var formkitVersion$6 = '
|
|
56512
|
+
var formkitVersion$6 = '202607022134';
|
|
56363
56513
|
|
|
56364
56514
|
let AuroElement$1$2 = class AuroElement extends i$3 {
|
|
56365
56515
|
static get properties() {
|
|
@@ -60339,7 +60489,7 @@ let AuroHelpText$5 = class AuroHelpText extends i$3 {
|
|
|
60339
60489
|
}
|
|
60340
60490
|
};
|
|
60341
60491
|
|
|
60342
|
-
var formkitVersion$5 = '
|
|
60492
|
+
var formkitVersion$5 = '202607022134';
|
|
60343
60493
|
|
|
60344
60494
|
// Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
|
|
60345
60495
|
// See LICENSE in the project root for license information.
|
|
@@ -62104,7 +62254,7 @@ let AuroHelpText$4 = class AuroHelpText extends i$3 {
|
|
|
62104
62254
|
}
|
|
62105
62255
|
};
|
|
62106
62256
|
|
|
62107
|
-
var formkitVersion$4 = '
|
|
62257
|
+
var formkitVersion$4 = '202607022134';
|
|
62108
62258
|
|
|
62109
62259
|
// Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
|
|
62110
62260
|
// See LICENSE in the project root for license information.
|
|
@@ -67325,7 +67475,7 @@ let AuroHelpText$2 = class AuroHelpText extends i$3 {
|
|
|
67325
67475
|
}
|
|
67326
67476
|
};
|
|
67327
67477
|
|
|
67328
|
-
var formkitVersion$2 = '
|
|
67478
|
+
var formkitVersion$2 = '202607022134';
|
|
67329
67479
|
|
|
67330
67480
|
let AuroElement$2$1 = class AuroElement extends i$3 {
|
|
67331
67481
|
static get properties() {
|
|
@@ -80207,17 +80357,14 @@ class BaseInput extends AuroElement$1$1 {
|
|
|
80207
80357
|
* @returns {void}
|
|
80208
80358
|
*/
|
|
80209
80359
|
notifyValueChanged() {
|
|
80210
|
-
|
|
80211
|
-
|
|
80212
|
-
|
|
80213
|
-
// it from genuine user typing and skip clobbering their own
|
|
80214
|
-
// programmatic state during init-time renders.
|
|
80215
|
-
const inputEvent = new Event('input', {
|
|
80360
|
+
let inputEvent = null;
|
|
80361
|
+
|
|
80362
|
+
inputEvent = new Event('input', {
|
|
80216
80363
|
bubbles: true,
|
|
80217
80364
|
composed: true,
|
|
80218
80365
|
});
|
|
80219
|
-
inputEvent.isProgrammatic = true;
|
|
80220
80366
|
|
|
80367
|
+
// Dispatched event to alert outside shadow DOM context of event firing.
|
|
80221
80368
|
this.dispatchEvent(inputEvent);
|
|
80222
80369
|
}
|
|
80223
80370
|
|
|
@@ -80930,7 +81077,7 @@ let AuroHelpText$1$1 = class AuroHelpText extends i$3 {
|
|
|
80930
81077
|
}
|
|
80931
81078
|
};
|
|
80932
81079
|
|
|
80933
|
-
var formkitVersion$1$1 = '
|
|
81080
|
+
var formkitVersion$1$1 = '202607022134';
|
|
80934
81081
|
|
|
80935
81082
|
// Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
80936
81083
|
// See LICENSE in the project root for license information.
|
|
@@ -81216,15 +81363,20 @@ class AuroInput extends BaseInput {
|
|
|
81216
81363
|
* @returns {void}
|
|
81217
81364
|
*/
|
|
81218
81365
|
checkDisplayValueSlotChange() {
|
|
81219
|
-
|
|
81220
|
-
|
|
81221
|
-
//
|
|
81222
|
-
|
|
81223
|
-
|
|
81224
|
-
|
|
81225
|
-
|
|
81366
|
+
let nodes = this.shadowRoot.querySelector('slot[name="displayValue"]').assignedNodes();
|
|
81367
|
+
|
|
81368
|
+
// Handle when DisplayValue is multi-level slot content (e.g. combobox passing displayValue to input)
|
|
81369
|
+
if (nodes && nodes[0] && nodes[0].tagName === 'SLOT') {
|
|
81370
|
+
nodes = nodes[0].assignedNodes();
|
|
81371
|
+
}
|
|
81372
|
+
|
|
81373
|
+
let hasContent = false;
|
|
81374
|
+
|
|
81375
|
+
if (nodes.length > 0) {
|
|
81376
|
+
hasContent = true;
|
|
81377
|
+
}
|
|
81226
81378
|
|
|
81227
|
-
this.hasDisplayValueContent =
|
|
81379
|
+
this.hasDisplayValueContent = hasContent;
|
|
81228
81380
|
}
|
|
81229
81381
|
|
|
81230
81382
|
firstUpdated() {
|
|
@@ -82051,7 +82203,7 @@ let AuroBibtemplate$1 = class AuroBibtemplate extends i$3 {
|
|
|
82051
82203
|
}
|
|
82052
82204
|
};
|
|
82053
82205
|
|
|
82054
|
-
var formkitVersion$3 = '
|
|
82206
|
+
var formkitVersion$3 = '202607022134';
|
|
82055
82207
|
|
|
82056
82208
|
var styleCss$1$3 = i$6`.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}`;
|
|
82057
82209
|
|
|
@@ -83150,19 +83302,9 @@ class AuroCombobox extends AuroElement$3 {
|
|
|
83150
83302
|
/**
|
|
83151
83303
|
* Processes hidden state of all menu options and determines if there are any available options not hidden.
|
|
83152
83304
|
* @private
|
|
83153
|
-
* @param {object} [options={}] - Optional flag bag.
|
|
83154
|
-
* @param {boolean} [options.preferComboboxValue=false] - When true,
|
|
83155
|
-
* handleMenuOptions matches the selected option against `this.value`
|
|
83156
|
-
* first instead of `this.input.value`. Needed on mount and re-mount
|
|
83157
|
-
* because under `persistInput` the consumer's typedValue prop can drift
|
|
83158
|
-
* from the framework value (Svelte `{#key}` re-mount after a swap, or
|
|
83159
|
-
* SPA preselect after route change) and the old input-first match would
|
|
83160
|
-
* then pick the stale text. Only handleSlotChange passes this; typing
|
|
83161
|
-
* and clearing paths keep the input-first match so user clears aren't
|
|
83162
|
-
* undone.
|
|
83163
83305
|
* @returns {void}
|
|
83164
83306
|
*/
|
|
83165
|
-
handleMenuOptions(
|
|
83307
|
+
handleMenuOptions() {
|
|
83166
83308
|
this.generateOptionsArray();
|
|
83167
83309
|
this.availableOptions = [];
|
|
83168
83310
|
// Single source of truth for the menu's filter/highlight token per call.
|
|
@@ -83183,20 +83325,7 @@ class AuroCombobox extends AuroElement$3 {
|
|
|
83183
83325
|
option.setAttribute('aria-posinset', index + 1);
|
|
83184
83326
|
});
|
|
83185
83327
|
|
|
83186
|
-
|
|
83187
|
-
// `this.value` when it matches a menu option. Covers SPA preselect and
|
|
83188
|
-
// consumer swap patterns (e.g. Svelte `{#key}` re-mount) where
|
|
83189
|
-
// `this.value` is authoritative but `this.input.value` may be empty or
|
|
83190
|
-
// carry stale typed text from another field. Event-driven callers do
|
|
83191
|
-
// not pass the flag, otherwise user clears would be undone by
|
|
83192
|
-
// re-syncing to the previous combobox.value.
|
|
83193
|
-
if (preferComboboxValue &&
|
|
83194
|
-
this.value &&
|
|
83195
|
-
this.menu.options?.some((opt) => opt.value === this.value)) {
|
|
83196
|
-
this.setMenuValue(this.value);
|
|
83197
|
-
this.syncValuesAndStates();
|
|
83198
|
-
} else if (this.input.value &&
|
|
83199
|
-
this.menu.options?.some((opt) => opt.value === this.input.value)) {
|
|
83328
|
+
if (this.input.value && this.menu.options && this.menu.options.some((opt) => opt.value === this.input.value)) {
|
|
83200
83329
|
this.setMenuValue(this.input.value);
|
|
83201
83330
|
this.syncValuesAndStates();
|
|
83202
83331
|
}
|
|
@@ -83633,25 +83762,7 @@ class AuroCombobox extends AuroElement$3 {
|
|
|
83633
83762
|
this.optionActive = evt.detail;
|
|
83634
83763
|
|
|
83635
83764
|
if (this.input) {
|
|
83636
|
-
|
|
83637
|
-
// template's `.a11yActivedescendant` binding calls setAttribute on
|
|
83638
|
-
// the internal <input> in auro-input.updated(), which clears the
|
|
83639
|
-
// reflected ariaActiveDescendantElement property. Setting the ref
|
|
83640
|
-
// synchronously here would get overwritten by that attribute write.
|
|
83641
|
-
// Awaiting updateComplete lets the attribute write finish first,
|
|
83642
|
-
// then the ref sticks and screen readers can cross the shadow-DOM
|
|
83643
|
-
// boundary to the auro-menuoption in light DOM.
|
|
83644
|
-
//
|
|
83645
|
-
// The equality check covers the async gap: this.optionActive can
|
|
83646
|
-
// change before the callback runs (user arrowed elsewhere, or the
|
|
83647
|
-
// menu closed and cleared it to null), so we bail if the target
|
|
83648
|
-
// no longer matches to avoid reinstating a stale ref.
|
|
83649
|
-
const targetOption = this.optionActive;
|
|
83650
|
-
this.updateComplete.then(() => {
|
|
83651
|
-
if (this.input && this.optionActive === targetOption) {
|
|
83652
|
-
this.input.setActiveDescendant(targetOption);
|
|
83653
|
-
}
|
|
83654
|
-
});
|
|
83765
|
+
this.input.setActiveDescendant(this.optionActive);
|
|
83655
83766
|
}
|
|
83656
83767
|
|
|
83657
83768
|
// In fullscreen mode the menu sits inside a nested <dialog> shadow root,
|
|
@@ -83788,18 +83899,6 @@ class AuroCombobox extends AuroElement$3 {
|
|
|
83788
83899
|
}
|
|
83789
83900
|
}
|
|
83790
83901
|
|
|
83791
|
-
// SPA preselect guard: on init render, auro-input's notifyValueChanged
|
|
83792
|
-
// echoes an empty value through as an isProgrammatic input event before
|
|
83793
|
-
// the framework-set combobox.value has propagated down to the input.
|
|
83794
|
-
// Without this bail, the `this.value = this.input.value` below clobbers
|
|
83795
|
-
// the framework value with '' and clear() wipes optionSelected. Scoped
|
|
83796
|
-
// to the exact shape of that echo (isProgrammatic + non-empty combobox
|
|
83797
|
-
// value + empty input.value) so it doesn't affect the swap/typed paths
|
|
83798
|
-
// where value/input already track each other through the sync helpers.
|
|
83799
|
-
if (event && event.isProgrammatic && this.value && !this.input.value) {
|
|
83800
|
-
return;
|
|
83801
|
-
}
|
|
83802
|
-
|
|
83803
83902
|
this.value = this.input.value;
|
|
83804
83903
|
|
|
83805
83904
|
// Ignore re-entrant input events caused by programmatic value sets.
|
|
@@ -84232,11 +84331,7 @@ class AuroCombobox extends AuroElement$3 {
|
|
|
84232
84331
|
}
|
|
84233
84332
|
});
|
|
84234
84333
|
|
|
84235
|
-
|
|
84236
|
-
// framework-set `this.value` wins over any stale `input.value` when
|
|
84237
|
-
// matching against the newly-available options. Fixes the display
|
|
84238
|
-
// for SPA preselect and Svelte `{#key}` re-mount swap patterns.
|
|
84239
|
-
this.handleMenuOptions({ preferComboboxValue: true });
|
|
84334
|
+
this.handleMenuOptions();
|
|
84240
84335
|
|
|
84241
84336
|
break;
|
|
84242
84337
|
|
|
@@ -86885,6 +86980,9 @@ function navigateArrow(component, direction, options = {}) {
|
|
|
86885
86980
|
* @param {HTMLElement | null | undefined} menu - The auro-menu element.
|
|
86886
86981
|
* @returns {Array<HTMLElement>} Non-disabled options, empty array when none.
|
|
86887
86982
|
*/
|
|
86983
|
+
function getEnabledOptions(menu) {
|
|
86984
|
+
return (menu?.options || []).filter((option) => !option.disabled);
|
|
86985
|
+
}
|
|
86888
86986
|
|
|
86889
86987
|
/**
|
|
86890
86988
|
* Returns the active (selectable + visible) options for type-ahead navigation.
|
|
@@ -86954,10 +87052,8 @@ const selectKeyboardStrategy = {
|
|
|
86954
87052
|
End(component, evt, ctx) {
|
|
86955
87053
|
evt.preventDefault();
|
|
86956
87054
|
evt.stopPropagation();
|
|
86957
|
-
// `pop()` is safe here:
|
|
86958
|
-
|
|
86959
|
-
// reader must not announce as focused — are skipped.
|
|
86960
|
-
const lastOption = getActiveOptions(component.menu).pop();
|
|
87055
|
+
// `pop()` is safe here: getEnabledOptions returns a fresh filtered array.
|
|
87056
|
+
const lastOption = getEnabledOptions(component.menu).pop();
|
|
86961
87057
|
if (!lastOption) {
|
|
86962
87058
|
return;
|
|
86963
87059
|
}
|
|
@@ -86988,7 +87084,7 @@ const selectKeyboardStrategy = {
|
|
|
86988
87084
|
Home(component, evt, ctx) {
|
|
86989
87085
|
evt.preventDefault();
|
|
86990
87086
|
evt.stopPropagation();
|
|
86991
|
-
const [firstOption] =
|
|
87087
|
+
const [firstOption] = getEnabledOptions(component.menu);
|
|
86992
87088
|
if (!firstOption) {
|
|
86993
87089
|
return;
|
|
86994
87090
|
}
|
|
@@ -87013,15 +87109,6 @@ const selectKeyboardStrategy = {
|
|
|
87013
87109
|
},
|
|
87014
87110
|
|
|
87015
87111
|
default(component, evt, ctx) {
|
|
87016
|
-
// Ignore keys chorded with Ctrl/Meta/Alt so browser/OS shortcuts
|
|
87017
|
-
// (Cmd+C, Ctrl+V, Alt+X, Cmd+Space, …) don't leak into typeahead
|
|
87018
|
-
// or toggle the bib. Native <select> ignores modified keys.
|
|
87019
|
-
// ArrowUp/ArrowDown handle modifier+arrow explicitly above; this
|
|
87020
|
-
// guard only affects the default (printable/Space) branch.
|
|
87021
|
-
if (evt.ctrlKey || evt.metaKey || evt.altKey) {
|
|
87022
|
-
return;
|
|
87023
|
-
}
|
|
87024
|
-
|
|
87025
87112
|
// Space resolves to either typeahead-buffer extension or bib toggle
|
|
87026
87113
|
// depending on whether a type-ahead buffer is active. Mirrors native
|
|
87027
87114
|
// <select> and the WAI-ARIA APG Listbox guidance: mid-typeahead space
|
|
@@ -90952,7 +91039,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$3 {
|
|
|
90952
91039
|
}
|
|
90953
91040
|
};
|
|
90954
91041
|
|
|
90955
|
-
var formkitVersion$1 = '
|
|
91042
|
+
var formkitVersion$1 = '202607022134';
|
|
90956
91043
|
|
|
90957
91044
|
class AuroElement extends i$3 {
|
|
90958
91045
|
static get properties() {
|
|
@@ -92991,7 +93078,7 @@ class AuroHelpText extends i$3 {
|
|
|
92991
93078
|
}
|
|
92992
93079
|
}
|
|
92993
93080
|
|
|
92994
|
-
var formkitVersion = '
|
|
93081
|
+
var formkitVersion = '202607022134';
|
|
92995
93082
|
|
|
92996
93083
|
var styleCss = i$6`.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}`;
|
|
92997
93084
|
|
|
@@ -93555,11 +93642,8 @@ class AuroSelect extends AuroElement$1 {
|
|
|
93555
93642
|
} else if (this.multiSelect && Array.isArray(this.optionSelected) && this.optionSelected.length > 0) {
|
|
93556
93643
|
this.menu.updateActiveOption(this.optionSelected[0]);
|
|
93557
93644
|
} else {
|
|
93558
|
-
// If no activeOption has yet to be set, make the first active
|
|
93559
|
-
|
|
93560
|
-
// not just "enabled" — so hidden rows and static placeholders never
|
|
93561
|
-
// land in aria-activedescendant on open.
|
|
93562
|
-
const [firstActive] = getActiveOptions(this.menu);
|
|
93645
|
+
// If no activeOption has yet to be set, then make the first enabled option active by default
|
|
93646
|
+
const [firstActive] = getEnabledOptions(this.menu);
|
|
93563
93647
|
this.menu.updateActiveOption(firstActive);
|
|
93564
93648
|
}
|
|
93565
93649
|
}
|
|
@@ -93805,12 +93889,6 @@ class AuroSelect extends AuroElement$1 {
|
|
|
93805
93889
|
|
|
93806
93890
|
/**
|
|
93807
93891
|
* Binds all behavior needed to the menu after rendering.
|
|
93808
|
-
*
|
|
93809
|
-
* The `<auro-menu>` reference is captured once and not re-targeted on
|
|
93810
|
-
* `slotchange`. Runtime option mutations are covered via
|
|
93811
|
-
* `auroMenu-optionsChange`, so swap options inside the menu freely; do not
|
|
93812
|
-
* swap the `<auro-menu>` element itself under a live select — remount the
|
|
93813
|
-
* parent `<auro-select>` instead.
|
|
93814
93892
|
* @private
|
|
93815
93893
|
* @returns {void}
|
|
93816
93894
|
*/
|
|
@@ -93869,15 +93947,6 @@ class AuroSelect extends AuroElement$1 {
|
|
|
93869
93947
|
if (this.menu.optionSelected !== undefined) {
|
|
93870
93948
|
return;
|
|
93871
93949
|
}
|
|
93872
|
-
// Skip when the select is already cleared (valueless click with no
|
|
93873
|
-
// prior selection): value/optionSelected are already empty and there
|
|
93874
|
-
// is no stale trigger text to refresh, so updateDisplayedValue would
|
|
93875
|
-
// just churn the DOM and request a needless dropdown re-render.
|
|
93876
|
-
const hasStaleState = this.value !== undefined ||
|
|
93877
|
-
(this.multiSelect ? this.optionSelected?.length > 0 : this.optionSelected !== undefined);
|
|
93878
|
-
if (!hasStaleState) {
|
|
93879
|
-
return;
|
|
93880
|
-
}
|
|
93881
93950
|
this.value = undefined;
|
|
93882
93951
|
this.optionSelected = this.multiSelect ? [] : undefined;
|
|
93883
93952
|
// The trigger label is rendered imperatively into #value, so a property
|
|
@@ -93907,15 +93976,10 @@ class AuroSelect extends AuroElement$1 {
|
|
|
93907
93976
|
if (this.dropdown.isPopoverVisible) {
|
|
93908
93977
|
announceToScreenReader(this._getAnnouncementRoot(), message);
|
|
93909
93978
|
} else {
|
|
93910
|
-
// Typeahead-on-closed
|
|
93911
|
-
//
|
|
93912
|
-
//
|
|
93913
|
-
//
|
|
93914
|
-
// microtask queue only drains once _handleTypeahead unwinds, by
|
|
93915
|
-
// which point _getAnnouncementRoot() resolves to the bib's shadow
|
|
93916
|
-
// root inside the now-open modal. Do NOT switch to auroDropdown-toggled
|
|
93917
|
-
// — it fires before showModal(), landing the announcement in the
|
|
93918
|
-
// host root while the dialog is still not-yet-modal.
|
|
93979
|
+
// Typeahead-on-closed fires this event before `show()` flips
|
|
93980
|
+
// isPopoverVisible. Defer so the announcement targets the bib's
|
|
93981
|
+
// live region once the fullscreen <dialog> opens — otherwise it
|
|
93982
|
+
// lands in the host root, which is inert under the active modal.
|
|
93919
93983
|
queueMicrotask(() => announceToScreenReader(this._getAnnouncementRoot(), message));
|
|
93920
93984
|
}
|
|
93921
93985
|
}
|
|
@@ -94309,13 +94373,6 @@ class AuroSelect extends AuroElement$1 {
|
|
|
94309
94373
|
}
|
|
94310
94374
|
|
|
94311
94375
|
if (changedProperties.has('value')) {
|
|
94312
|
-
// A value change ends the current interaction — whether it came from a
|
|
94313
|
-
// user commit, programmatic assignment, or reset(). Clear the buffer so
|
|
94314
|
-
// a stale prefix does not concatenate onto the next keystroke while the
|
|
94315
|
-
// host still has focus (the blur listener would otherwise be the only
|
|
94316
|
-
// focus-retained clear point, and hideBib() below does not blur).
|
|
94317
|
-
this._clearTypeaheadBuffer();
|
|
94318
|
-
|
|
94319
94376
|
this.setMenuValue(this.value);
|
|
94320
94377
|
|
|
94321
94378
|
this._updateNativeSelect();
|
|
@@ -94371,9 +94428,6 @@ class AuroSelect extends AuroElement$1 {
|
|
|
94371
94428
|
* @returns {void}
|
|
94372
94429
|
*/
|
|
94373
94430
|
reset() {
|
|
94374
|
-
// Defense-in-depth: updated()'s value-change branch also clears, but
|
|
94375
|
-
// reset-to-same-value (e.g. undefined → undefined) skips that path.
|
|
94376
|
-
this._clearTypeaheadBuffer();
|
|
94377
94431
|
this.menu.reset();
|
|
94378
94432
|
this.validation.reset(this);
|
|
94379
94433
|
}
|
|
@@ -94396,13 +94450,8 @@ class AuroSelect extends AuroElement$1 {
|
|
|
94396
94450
|
// Hidden native <select> has no `multiple` attribute, so any change it fires
|
|
94397
94451
|
// is a single raw value — applying it in multiSelect mode would collapse the
|
|
94398
94452
|
// JSON-array `value` shape. Bfcache/autofill can reach this on a name-bearing
|
|
94399
|
-
// form control even with aria-hidden/tabindex=-1
|
|
94400
|
-
|
|
94401
|
-
// silently submit the autofilled scalar under `name`.
|
|
94402
|
-
if (this.multiSelect) {
|
|
94403
|
-
this._updateNativeSelect();
|
|
94404
|
-
return;
|
|
94405
|
-
}
|
|
94453
|
+
// form control even with aria-hidden/tabindex=-1.
|
|
94454
|
+
if (this.multiSelect) return;
|
|
94406
94455
|
|
|
94407
94456
|
const selectedOption = event.target.options[event.target.selectedIndex];
|
|
94408
94457
|
if (!selectedOption) return;
|