@aurodesignsystem-dev/auro-formkit 0.0.0-pr1518.0 → 0.0.0-pr1519.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 +15 -2
- package/components/checkbox/demo/getting-started.min.js +15 -2
- package/components/checkbox/demo/index.min.js +15 -2
- package/components/checkbox/dist/index.js +15 -2
- package/components/checkbox/dist/registered.js +15 -2
- package/components/combobox/demo/customize.min.js +105 -10
- package/components/combobox/demo/getting-started.min.js +105 -10
- package/components/combobox/demo/index.min.js +105 -10
- package/components/combobox/dist/index.js +105 -10
- package/components/combobox/dist/registered.js +105 -10
- package/components/counter/demo/customize.min.js +33 -3
- package/components/counter/demo/index.min.js +33 -3
- package/components/counter/dist/index.js +33 -3
- package/components/counter/dist/registered.js +33 -3
- package/components/datepicker/demo/customize.min.js +153 -13
- package/components/datepicker/demo/index.min.js +153 -13
- package/components/datepicker/dist/index.js +153 -13
- package/components/datepicker/dist/registered.js +153 -13
- package/components/dropdown/demo/customize.min.js +18 -1
- package/components/dropdown/demo/getting-started.min.js +18 -1
- package/components/dropdown/demo/index.min.js +18 -1
- package/components/dropdown/dist/index.js +18 -1
- package/components/dropdown/dist/registered.js +18 -1
- package/components/form/demo/customize.min.js +441 -40
- package/components/form/demo/getting-started.min.js +441 -40
- package/components/form/demo/index.min.js +441 -40
- package/components/form/demo/registerDemoDeps.min.js +441 -40
- package/components/input/demo/api.md +58 -57
- package/components/input/demo/customize.min.js +72 -7
- package/components/input/demo/getting-started.min.js +72 -7
- package/components/input/demo/index.min.js +72 -7
- package/components/input/dist/base-input.d.ts +9 -3
- package/components/input/dist/index.js +72 -7
- package/components/input/dist/registered.js +72 -7
- package/components/input/dist/utilities.d.ts +9 -0
- package/components/radio/demo/customize.min.js +15 -2
- package/components/radio/demo/getting-started.min.js +15 -2
- package/components/radio/demo/index.min.js +15 -2
- package/components/radio/dist/index.js +15 -2
- package/components/radio/dist/registered.js +15 -2
- package/components/select/demo/customize.min.js +48 -3
- package/components/select/demo/getting-started.min.js +48 -3
- package/components/select/demo/index.min.js +48 -3
- package/components/select/dist/index.js +48 -3
- package/components/select/dist/registered.js +48 -3
- package/custom-elements.json +78 -8
- package/package.json +1 -1
|
@@ -5455,8 +5455,21 @@ let AuroFormValidation$7 = class AuroFormValidation {
|
|
|
5455
5455
|
return;
|
|
5456
5456
|
}
|
|
5457
5457
|
|
|
5458
|
-
// Validate that the date passed was the correct format and is a valid date
|
|
5458
|
+
// Validate that the date passed was the correct format and is a valid date.
|
|
5459
|
+
// For partial date formats, valueObject is never populated; validate them directly.
|
|
5459
5460
|
if (elem.value && !elem.valueObject) {
|
|
5461
|
+
const isPartialDateFormat = elem.util && !elem.util.isFullDateFormat(elem.type, elem.format);
|
|
5462
|
+
|
|
5463
|
+
if (isPartialDateFormat) {
|
|
5464
|
+
if (!elem.util.isValidPartialDate(elem.value, elem.format)) {
|
|
5465
|
+
elem.validity = 'patternMismatch';
|
|
5466
|
+
elem.errorMessage = elem.setCustomValidityPatternMismatch || elem.setCustomValidity || 'Invalid Date Format Entered';
|
|
5467
|
+
}
|
|
5468
|
+
// Partial date format — validate directly and skip max/min checks since valueObject is undefined.
|
|
5469
|
+
return;
|
|
5470
|
+
}
|
|
5471
|
+
|
|
5472
|
+
// Full date format with no valueObject means the value is not a valid calendar date.
|
|
5460
5473
|
elem.validity = 'patternMismatch';
|
|
5461
5474
|
elem.errorMessage = elem.setCustomValidityPatternMismatch || elem.setCustomValidity || 'Invalid Date Format Entered';
|
|
5462
5475
|
return;
|
|
@@ -11386,10 +11399,11 @@ let AuroInputUtilities$3 = class AuroInputUtilities {
|
|
|
11386
11399
|
const dateFormat = format$1 || this.overrideFormat || pattern || 'mm/dd/yyyy';
|
|
11387
11400
|
|
|
11388
11401
|
if (dateFormat === 'dd' || dateFormat === 'yy' || dateFormat === 'yyyy') {
|
|
11389
|
-
const
|
|
11402
|
+
const fromValue = dateFormat === 'yyyy' ? 1900 : (dateFormat === 'yy' ? 0 : 1);
|
|
11403
|
+
const maxValue = dateFormat === 'dd' ? 31 : (dateFormat === 'yy' ? 99 : 2100);
|
|
11390
11404
|
return {
|
|
11391
11405
|
mask: IMask$3.MaskedRange,
|
|
11392
|
-
from:
|
|
11406
|
+
from: fromValue,
|
|
11393
11407
|
to: maxValue,
|
|
11394
11408
|
lazy: true,
|
|
11395
11409
|
placeholderChar: '',
|
|
@@ -11397,7 +11411,8 @@ let AuroInputUtilities$3 = class AuroInputUtilities {
|
|
|
11397
11411
|
return value.toString().padStart(dateFormat.length, '0');
|
|
11398
11412
|
},
|
|
11399
11413
|
parse(str) {
|
|
11400
|
-
|
|
11414
|
+
const num = parseInt(str, 10);
|
|
11415
|
+
return isNaN(num) ? null : num;
|
|
11401
11416
|
}
|
|
11402
11417
|
};
|
|
11403
11418
|
}
|
|
@@ -11461,6 +11476,49 @@ let AuroInputUtilities$3 = class AuroInputUtilities {
|
|
|
11461
11476
|
return type === 'date' && normalizedFormat.includes('yy') && normalizedFormat.includes('mm') && normalizedFormat.includes('dd');
|
|
11462
11477
|
}
|
|
11463
11478
|
|
|
11479
|
+
/**
|
|
11480
|
+
* Validates a value against a partial date format (one that lacks yy/mm/dd all three).
|
|
11481
|
+
* Day- and year-only formats (dd/yy/yyyy) are checked as integer ranges; other partial formats use
|
|
11482
|
+
* a date-fns parse + round-trip to confirm both validity and exact formatting.
|
|
11483
|
+
* @param {string} value - The user-facing display value.
|
|
11484
|
+
* @param {string} format - The partial date format string (e.g. "mm/yyyy", "yyyy", "dd").
|
|
11485
|
+
* @returns {boolean}
|
|
11486
|
+
*/
|
|
11487
|
+
isValidPartialDate(value, format$1) {
|
|
11488
|
+
if (!value || !format$1) {
|
|
11489
|
+
return false;
|
|
11490
|
+
}
|
|
11491
|
+
const normalizedFormat = format$1.toLowerCase();
|
|
11492
|
+
|
|
11493
|
+
if (normalizedFormat === 'dd') {
|
|
11494
|
+
const num = Number(value);
|
|
11495
|
+
return (/^\d{2}$/u).test(value) && num >= 1 && num <= 31;
|
|
11496
|
+
}
|
|
11497
|
+
if (normalizedFormat === 'yy') {
|
|
11498
|
+
const num = Number(value);
|
|
11499
|
+
return (/^\d{2}$/u).test(value) && num >= 0 && num <= 99;
|
|
11500
|
+
}
|
|
11501
|
+
if (normalizedFormat === 'yyyy') {
|
|
11502
|
+
const num = Number(value);
|
|
11503
|
+
return (/^\d{4}$/u).test(value) && num >= 1900 && num <= 2100;
|
|
11504
|
+
}
|
|
11505
|
+
|
|
11506
|
+
const dateFnsMask = this.toDateFnsMask(normalizedFormat);
|
|
11507
|
+
// Use the 1st of the current month as the reference so that formats
|
|
11508
|
+
// omitting a day (e.g. MM/yyyy) never roll over on days 29–31.
|
|
11509
|
+
const referenceDate = new Date();
|
|
11510
|
+
referenceDate.setDate(1);
|
|
11511
|
+
const parsed = parse$3(value, dateFnsMask, referenceDate);
|
|
11512
|
+
if (!isValid$3(parsed) || format$3(parsed, dateFnsMask) !== value) {
|
|
11513
|
+
return false;
|
|
11514
|
+
}
|
|
11515
|
+
if (normalizedFormat.includes('yyyy')) {
|
|
11516
|
+
const year = parsed.getFullYear();
|
|
11517
|
+
return year >= 1900 && year <= 2100;
|
|
11518
|
+
}
|
|
11519
|
+
return true;
|
|
11520
|
+
}
|
|
11521
|
+
|
|
11464
11522
|
/**
|
|
11465
11523
|
* Converts a display string to its model value.
|
|
11466
11524
|
* For full date formats, converts the display string to an ISO date string.
|
|
@@ -12080,6 +12138,13 @@ let BaseInput$2 = class BaseInput extends AuroElement$6 {
|
|
|
12080
12138
|
type: String
|
|
12081
12139
|
},
|
|
12082
12140
|
|
|
12141
|
+
/**
|
|
12142
|
+
* Custom help text message to display when validity = `patternMismatch`.
|
|
12143
|
+
*/
|
|
12144
|
+
setCustomValidityPatternMismatch: {
|
|
12145
|
+
type: String
|
|
12146
|
+
},
|
|
12147
|
+
|
|
12083
12148
|
/**
|
|
12084
12149
|
* Custom help text message to display when validity = `rangeOverflow`.
|
|
12085
12150
|
*/
|
|
@@ -12150,7 +12215,7 @@ let BaseInput$2 = class BaseInput extends AuroElement$6 {
|
|
|
12150
12215
|
|
|
12151
12216
|
/**
|
|
12152
12217
|
* Populates the `type` attribute on the input.
|
|
12153
|
-
* @type {'text' | 'password' | 'email' | 'credit-card' | 'tel' | 'number'}
|
|
12218
|
+
* @type {'text' | 'password' | 'email' | 'credit-card' | 'tel' | 'number' | 'date'}
|
|
12154
12219
|
* @default 'text'
|
|
12155
12220
|
*/
|
|
12156
12221
|
type: {
|
|
@@ -12175,7 +12240,7 @@ let BaseInput$2 = class BaseInput extends AuroElement$6 {
|
|
|
12175
12240
|
|
|
12176
12241
|
/**
|
|
12177
12242
|
* Populates the `value` attribute on the input. Can also be read to retrieve the current value of the input.
|
|
12178
|
-
*
|
|
12243
|
+
* For `date` type inputs using a full date format (year/month/day), the `value` should be ISO (YYYY-MM-DD). Partial date formats use the display format.
|
|
12179
12244
|
*/
|
|
12180
12245
|
value: {
|
|
12181
12246
|
type: String
|
|
@@ -13298,7 +13363,7 @@ let AuroHelpText$8 = class AuroHelpText extends i$3 {
|
|
|
13298
13363
|
}
|
|
13299
13364
|
};
|
|
13300
13365
|
|
|
13301
|
-
var formkitVersion$8 = '
|
|
13366
|
+
var formkitVersion$8 = '202607011914';
|
|
13302
13367
|
|
|
13303
13368
|
// Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
13304
13369
|
// See LICENSE in the project root for license information.
|
|
@@ -14573,8 +14638,21 @@ let AuroFormValidation$1$1 = class AuroFormValidation {
|
|
|
14573
14638
|
return;
|
|
14574
14639
|
}
|
|
14575
14640
|
|
|
14576
|
-
// Validate that the date passed was the correct format and is a valid date
|
|
14641
|
+
// Validate that the date passed was the correct format and is a valid date.
|
|
14642
|
+
// For partial date formats, valueObject is never populated; validate them directly.
|
|
14577
14643
|
if (elem.value && !elem.valueObject) {
|
|
14644
|
+
const isPartialDateFormat = elem.util && !elem.util.isFullDateFormat(elem.type, elem.format);
|
|
14645
|
+
|
|
14646
|
+
if (isPartialDateFormat) {
|
|
14647
|
+
if (!elem.util.isValidPartialDate(elem.value, elem.format)) {
|
|
14648
|
+
elem.validity = 'patternMismatch';
|
|
14649
|
+
elem.errorMessage = elem.setCustomValidityPatternMismatch || elem.setCustomValidity || 'Invalid Date Format Entered';
|
|
14650
|
+
}
|
|
14651
|
+
// Partial date format — validate directly and skip max/min checks since valueObject is undefined.
|
|
14652
|
+
return;
|
|
14653
|
+
}
|
|
14654
|
+
|
|
14655
|
+
// Full date format with no valueObject means the value is not a valid calendar date.
|
|
14578
14656
|
elem.validity = 'patternMismatch';
|
|
14579
14657
|
elem.errorMessage = elem.setCustomValidityPatternMismatch || elem.setCustomValidity || 'Invalid Date Format Entered';
|
|
14580
14658
|
return;
|
|
@@ -24427,10 +24505,11 @@ let AuroInputUtilities$1 = class AuroInputUtilities {
|
|
|
24427
24505
|
const dateFormat = format || this.overrideFormat || pattern || 'mm/dd/yyyy';
|
|
24428
24506
|
|
|
24429
24507
|
if (dateFormat === 'dd' || dateFormat === 'yy' || dateFormat === 'yyyy') {
|
|
24430
|
-
const
|
|
24508
|
+
const fromValue = dateFormat === 'yyyy' ? 1900 : (dateFormat === 'yy' ? 0 : 1);
|
|
24509
|
+
const maxValue = dateFormat === 'dd' ? 31 : (dateFormat === 'yy' ? 99 : 2100);
|
|
24431
24510
|
return {
|
|
24432
24511
|
mask: IMask$1.MaskedRange,
|
|
24433
|
-
from:
|
|
24512
|
+
from: fromValue,
|
|
24434
24513
|
to: maxValue,
|
|
24435
24514
|
lazy: true,
|
|
24436
24515
|
placeholderChar: '',
|
|
@@ -24438,7 +24517,8 @@ let AuroInputUtilities$1 = class AuroInputUtilities {
|
|
|
24438
24517
|
return value.toString().padStart(dateFormat.length, '0');
|
|
24439
24518
|
},
|
|
24440
24519
|
parse(str) {
|
|
24441
|
-
|
|
24520
|
+
const num = parseInt(str, 10);
|
|
24521
|
+
return isNaN(num) ? null : num;
|
|
24442
24522
|
}
|
|
24443
24523
|
};
|
|
24444
24524
|
}
|
|
@@ -24502,6 +24582,49 @@ let AuroInputUtilities$1 = class AuroInputUtilities {
|
|
|
24502
24582
|
return type === 'date' && normalizedFormat.includes('yy') && normalizedFormat.includes('mm') && normalizedFormat.includes('dd');
|
|
24503
24583
|
}
|
|
24504
24584
|
|
|
24585
|
+
/**
|
|
24586
|
+
* Validates a value against a partial date format (one that lacks yy/mm/dd all three).
|
|
24587
|
+
* Day- and year-only formats (dd/yy/yyyy) are checked as integer ranges; other partial formats use
|
|
24588
|
+
* a date-fns parse + round-trip to confirm both validity and exact formatting.
|
|
24589
|
+
* @param {string} value - The user-facing display value.
|
|
24590
|
+
* @param {string} format - The partial date format string (e.g. "mm/yyyy", "yyyy", "dd").
|
|
24591
|
+
* @returns {boolean}
|
|
24592
|
+
*/
|
|
24593
|
+
isValidPartialDate(value, format) {
|
|
24594
|
+
if (!value || !format) {
|
|
24595
|
+
return false;
|
|
24596
|
+
}
|
|
24597
|
+
const normalizedFormat = format.toLowerCase();
|
|
24598
|
+
|
|
24599
|
+
if (normalizedFormat === 'dd') {
|
|
24600
|
+
const num = Number(value);
|
|
24601
|
+
return (/^\d{2}$/u).test(value) && num >= 1 && num <= 31;
|
|
24602
|
+
}
|
|
24603
|
+
if (normalizedFormat === 'yy') {
|
|
24604
|
+
const num = Number(value);
|
|
24605
|
+
return (/^\d{2}$/u).test(value) && num >= 0 && num <= 99;
|
|
24606
|
+
}
|
|
24607
|
+
if (normalizedFormat === 'yyyy') {
|
|
24608
|
+
const num = Number(value);
|
|
24609
|
+
return (/^\d{4}$/u).test(value) && num >= 1900 && num <= 2100;
|
|
24610
|
+
}
|
|
24611
|
+
|
|
24612
|
+
const dateFnsMask = this.toDateFnsMask(normalizedFormat);
|
|
24613
|
+
// Use the 1st of the current month as the reference so that formats
|
|
24614
|
+
// omitting a day (e.g. MM/yyyy) never roll over on days 29–31.
|
|
24615
|
+
const referenceDate = new Date();
|
|
24616
|
+
referenceDate.setDate(1);
|
|
24617
|
+
const parsed = parse$1(value, dateFnsMask, referenceDate);
|
|
24618
|
+
if (!isValid$1(parsed) || format$1(parsed, dateFnsMask) !== value) {
|
|
24619
|
+
return false;
|
|
24620
|
+
}
|
|
24621
|
+
if (normalizedFormat.includes('yyyy')) {
|
|
24622
|
+
const year = parsed.getFullYear();
|
|
24623
|
+
return year >= 1900 && year <= 2100;
|
|
24624
|
+
}
|
|
24625
|
+
return true;
|
|
24626
|
+
}
|
|
24627
|
+
|
|
24505
24628
|
/**
|
|
24506
24629
|
* Converts a display string to its model value.
|
|
24507
24630
|
* For full date formats, converts the display string to an ISO date string.
|
|
@@ -27575,7 +27698,7 @@ let AuroBibtemplate$3 = class AuroBibtemplate extends i$3 {
|
|
|
27575
27698
|
}
|
|
27576
27699
|
};
|
|
27577
27700
|
|
|
27578
|
-
var formkitVersion$2$1 = '
|
|
27701
|
+
var formkitVersion$2$1 = '202607011914';
|
|
27579
27702
|
|
|
27580
27703
|
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}
|
|
27581
27704
|
`,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}}
|
|
@@ -33327,7 +33450,7 @@ let AuroHelpText$2$1 = class AuroHelpText extends i$3 {
|
|
|
33327
33450
|
}
|
|
33328
33451
|
};
|
|
33329
33452
|
|
|
33330
|
-
var formkitVersion$1$3 = '
|
|
33453
|
+
var formkitVersion$1$3 = '202607011914';
|
|
33331
33454
|
|
|
33332
33455
|
let AuroElement$2$2 = class AuroElement extends i$3 {
|
|
33333
33456
|
static get properties() {
|
|
@@ -34079,6 +34202,23 @@ let AuroDropdown$3 = class AuroDropdown extends AuroElement$2$2 {
|
|
|
34079
34202
|
if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown") {
|
|
34080
34203
|
this.trigger.focus();
|
|
34081
34204
|
}
|
|
34205
|
+
|
|
34206
|
+
|
|
34207
|
+
if (!this.isPopoverVisible) {
|
|
34208
|
+
// wait til the bib gets fully closed and rendered
|
|
34209
|
+
setTimeout(() => {
|
|
34210
|
+
// Skip if the bib re-opened, or if focus moved intentionally outside the dropdown (not to body).
|
|
34211
|
+
// Restore focus to trigger when focus is still inside the bib (:focus-within) or fell to body.
|
|
34212
|
+
if (this.isPopoverVisible ||
|
|
34213
|
+
// eslint-disable-next-line no-extra-parens
|
|
34214
|
+
(!this.bibContent?.matches(':focus-within') &&
|
|
34215
|
+
document.activeElement !== document.body)) {
|
|
34216
|
+
return;
|
|
34217
|
+
}
|
|
34218
|
+
// Restore focus to the trigger.
|
|
34219
|
+
this.trigger.focus();
|
|
34220
|
+
});
|
|
34221
|
+
}
|
|
34082
34222
|
}
|
|
34083
34223
|
|
|
34084
34224
|
firstUpdated() {
|
|
@@ -39004,8 +39144,21 @@ let AuroFormValidation$6 = class AuroFormValidation {
|
|
|
39004
39144
|
return;
|
|
39005
39145
|
}
|
|
39006
39146
|
|
|
39007
|
-
// Validate that the date passed was the correct format and is a valid date
|
|
39147
|
+
// Validate that the date passed was the correct format and is a valid date.
|
|
39148
|
+
// For partial date formats, valueObject is never populated; validate them directly.
|
|
39008
39149
|
if (elem.value && !elem.valueObject) {
|
|
39150
|
+
const isPartialDateFormat = elem.util && !elem.util.isFullDateFormat(elem.type, elem.format);
|
|
39151
|
+
|
|
39152
|
+
if (isPartialDateFormat) {
|
|
39153
|
+
if (!elem.util.isValidPartialDate(elem.value, elem.format)) {
|
|
39154
|
+
elem.validity = 'patternMismatch';
|
|
39155
|
+
elem.errorMessage = elem.setCustomValidityPatternMismatch || elem.setCustomValidity || 'Invalid Date Format Entered';
|
|
39156
|
+
}
|
|
39157
|
+
// Partial date format — validate directly and skip max/min checks since valueObject is undefined.
|
|
39158
|
+
return;
|
|
39159
|
+
}
|
|
39160
|
+
|
|
39161
|
+
// Full date format with no valueObject means the value is not a valid calendar date.
|
|
39009
39162
|
elem.validity = 'patternMismatch';
|
|
39010
39163
|
elem.errorMessage = elem.setCustomValidityPatternMismatch || elem.setCustomValidity || 'Invalid Date Format Entered';
|
|
39011
39164
|
return;
|
|
@@ -44935,10 +45088,11 @@ let AuroInputUtilities$2 = class AuroInputUtilities {
|
|
|
44935
45088
|
const dateFormat = format$1 || this.overrideFormat || pattern || 'mm/dd/yyyy';
|
|
44936
45089
|
|
|
44937
45090
|
if (dateFormat === 'dd' || dateFormat === 'yy' || dateFormat === 'yyyy') {
|
|
44938
|
-
const
|
|
45091
|
+
const fromValue = dateFormat === 'yyyy' ? 1900 : (dateFormat === 'yy' ? 0 : 1);
|
|
45092
|
+
const maxValue = dateFormat === 'dd' ? 31 : (dateFormat === 'yy' ? 99 : 2100);
|
|
44939
45093
|
return {
|
|
44940
45094
|
mask: IMask$2.MaskedRange,
|
|
44941
|
-
from:
|
|
45095
|
+
from: fromValue,
|
|
44942
45096
|
to: maxValue,
|
|
44943
45097
|
lazy: true,
|
|
44944
45098
|
placeholderChar: '',
|
|
@@ -44946,7 +45100,8 @@ let AuroInputUtilities$2 = class AuroInputUtilities {
|
|
|
44946
45100
|
return value.toString().padStart(dateFormat.length, '0');
|
|
44947
45101
|
},
|
|
44948
45102
|
parse(str) {
|
|
44949
|
-
|
|
45103
|
+
const num = parseInt(str, 10);
|
|
45104
|
+
return isNaN(num) ? null : num;
|
|
44950
45105
|
}
|
|
44951
45106
|
};
|
|
44952
45107
|
}
|
|
@@ -45010,6 +45165,49 @@ let AuroInputUtilities$2 = class AuroInputUtilities {
|
|
|
45010
45165
|
return type === 'date' && normalizedFormat.includes('yy') && normalizedFormat.includes('mm') && normalizedFormat.includes('dd');
|
|
45011
45166
|
}
|
|
45012
45167
|
|
|
45168
|
+
/**
|
|
45169
|
+
* Validates a value against a partial date format (one that lacks yy/mm/dd all three).
|
|
45170
|
+
* Day- and year-only formats (dd/yy/yyyy) are checked as integer ranges; other partial formats use
|
|
45171
|
+
* a date-fns parse + round-trip to confirm both validity and exact formatting.
|
|
45172
|
+
* @param {string} value - The user-facing display value.
|
|
45173
|
+
* @param {string} format - The partial date format string (e.g. "mm/yyyy", "yyyy", "dd").
|
|
45174
|
+
* @returns {boolean}
|
|
45175
|
+
*/
|
|
45176
|
+
isValidPartialDate(value, format$1) {
|
|
45177
|
+
if (!value || !format$1) {
|
|
45178
|
+
return false;
|
|
45179
|
+
}
|
|
45180
|
+
const normalizedFormat = format$1.toLowerCase();
|
|
45181
|
+
|
|
45182
|
+
if (normalizedFormat === 'dd') {
|
|
45183
|
+
const num = Number(value);
|
|
45184
|
+
return (/^\d{2}$/u).test(value) && num >= 1 && num <= 31;
|
|
45185
|
+
}
|
|
45186
|
+
if (normalizedFormat === 'yy') {
|
|
45187
|
+
const num = Number(value);
|
|
45188
|
+
return (/^\d{2}$/u).test(value) && num >= 0 && num <= 99;
|
|
45189
|
+
}
|
|
45190
|
+
if (normalizedFormat === 'yyyy') {
|
|
45191
|
+
const num = Number(value);
|
|
45192
|
+
return (/^\d{4}$/u).test(value) && num >= 1900 && num <= 2100;
|
|
45193
|
+
}
|
|
45194
|
+
|
|
45195
|
+
const dateFnsMask = this.toDateFnsMask(normalizedFormat);
|
|
45196
|
+
// Use the 1st of the current month as the reference so that formats
|
|
45197
|
+
// omitting a day (e.g. MM/yyyy) never roll over on days 29–31.
|
|
45198
|
+
const referenceDate = new Date();
|
|
45199
|
+
referenceDate.setDate(1);
|
|
45200
|
+
const parsed = parse$2(value, dateFnsMask, referenceDate);
|
|
45201
|
+
if (!isValid$2(parsed) || format$2(parsed, dateFnsMask) !== value) {
|
|
45202
|
+
return false;
|
|
45203
|
+
}
|
|
45204
|
+
if (normalizedFormat.includes('yyyy')) {
|
|
45205
|
+
const year = parsed.getFullYear();
|
|
45206
|
+
return year >= 1900 && year <= 2100;
|
|
45207
|
+
}
|
|
45208
|
+
return true;
|
|
45209
|
+
}
|
|
45210
|
+
|
|
45013
45211
|
/**
|
|
45014
45212
|
* Converts a display string to its model value.
|
|
45015
45213
|
* For full date formats, converts the display string to an ISO date string.
|
|
@@ -45629,6 +45827,13 @@ let BaseInput$1 = class BaseInput extends AuroElement$1$3 {
|
|
|
45629
45827
|
type: String
|
|
45630
45828
|
},
|
|
45631
45829
|
|
|
45830
|
+
/**
|
|
45831
|
+
* Custom help text message to display when validity = `patternMismatch`.
|
|
45832
|
+
*/
|
|
45833
|
+
setCustomValidityPatternMismatch: {
|
|
45834
|
+
type: String
|
|
45835
|
+
},
|
|
45836
|
+
|
|
45632
45837
|
/**
|
|
45633
45838
|
* Custom help text message to display when validity = `rangeOverflow`.
|
|
45634
45839
|
*/
|
|
@@ -45699,7 +45904,7 @@ let BaseInput$1 = class BaseInput extends AuroElement$1$3 {
|
|
|
45699
45904
|
|
|
45700
45905
|
/**
|
|
45701
45906
|
* Populates the `type` attribute on the input.
|
|
45702
|
-
* @type {'text' | 'password' | 'email' | 'credit-card' | 'tel' | 'number'}
|
|
45907
|
+
* @type {'text' | 'password' | 'email' | 'credit-card' | 'tel' | 'number' | 'date'}
|
|
45703
45908
|
* @default 'text'
|
|
45704
45909
|
*/
|
|
45705
45910
|
type: {
|
|
@@ -45724,7 +45929,7 @@ let BaseInput$1 = class BaseInput extends AuroElement$1$3 {
|
|
|
45724
45929
|
|
|
45725
45930
|
/**
|
|
45726
45931
|
* Populates the `value` attribute on the input. Can also be read to retrieve the current value of the input.
|
|
45727
|
-
*
|
|
45932
|
+
* For `date` type inputs using a full date format (year/month/day), the `value` should be ISO (YYYY-MM-DD). Partial date formats use the display format.
|
|
45728
45933
|
*/
|
|
45729
45934
|
value: {
|
|
45730
45935
|
type: String
|
|
@@ -46847,7 +47052,7 @@ let AuroHelpText$1$3 = class AuroHelpText extends i$3 {
|
|
|
46847
47052
|
}
|
|
46848
47053
|
};
|
|
46849
47054
|
|
|
46850
|
-
var formkitVersion$7 = '
|
|
47055
|
+
var formkitVersion$7 = '202607011914';
|
|
46851
47056
|
|
|
46852
47057
|
// Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
46853
47058
|
// See LICENSE in the project root for license information.
|
|
@@ -51143,8 +51348,21 @@ let AuroFormValidation$5 = class AuroFormValidation {
|
|
|
51143
51348
|
return;
|
|
51144
51349
|
}
|
|
51145
51350
|
|
|
51146
|
-
// Validate that the date passed was the correct format and is a valid date
|
|
51351
|
+
// Validate that the date passed was the correct format and is a valid date.
|
|
51352
|
+
// For partial date formats, valueObject is never populated; validate them directly.
|
|
51147
51353
|
if (elem.value && !elem.valueObject) {
|
|
51354
|
+
const isPartialDateFormat = elem.util && !elem.util.isFullDateFormat(elem.type, elem.format);
|
|
51355
|
+
|
|
51356
|
+
if (isPartialDateFormat) {
|
|
51357
|
+
if (!elem.util.isValidPartialDate(elem.value, elem.format)) {
|
|
51358
|
+
elem.validity = 'patternMismatch';
|
|
51359
|
+
elem.errorMessage = elem.setCustomValidityPatternMismatch || elem.setCustomValidity || 'Invalid Date Format Entered';
|
|
51360
|
+
}
|
|
51361
|
+
// Partial date format — validate directly and skip max/min checks since valueObject is undefined.
|
|
51362
|
+
return;
|
|
51363
|
+
}
|
|
51364
|
+
|
|
51365
|
+
// Full date format with no valueObject means the value is not a valid calendar date.
|
|
51148
51366
|
elem.validity = 'patternMismatch';
|
|
51149
51367
|
elem.errorMessage = elem.setCustomValidityPatternMismatch || elem.setCustomValidity || 'Invalid Date Format Entered';
|
|
51150
51368
|
return;
|
|
@@ -51716,7 +51934,7 @@ let AuroHelpText$1$2 = class AuroHelpText extends i$3 {
|
|
|
51716
51934
|
}
|
|
51717
51935
|
};
|
|
51718
51936
|
|
|
51719
|
-
var formkitVersion$1$2 = '
|
|
51937
|
+
var formkitVersion$1$2 = '202607011914';
|
|
51720
51938
|
|
|
51721
51939
|
// Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
|
|
51722
51940
|
// See LICENSE in the project root for license information.
|
|
@@ -56044,7 +56262,7 @@ let AuroHelpText$6 = class AuroHelpText extends i$3 {
|
|
|
56044
56262
|
}
|
|
56045
56263
|
};
|
|
56046
56264
|
|
|
56047
|
-
var formkitVersion$6 = '
|
|
56265
|
+
var formkitVersion$6 = '202607011914';
|
|
56048
56266
|
|
|
56049
56267
|
let AuroElement$1$2 = class AuroElement extends i$3 {
|
|
56050
56268
|
static get properties() {
|
|
@@ -56796,6 +57014,23 @@ let AuroDropdown$2 = class AuroDropdown extends AuroElement$1$2 {
|
|
|
56796
57014
|
if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown") {
|
|
56797
57015
|
this.trigger.focus();
|
|
56798
57016
|
}
|
|
57017
|
+
|
|
57018
|
+
|
|
57019
|
+
if (!this.isPopoverVisible) {
|
|
57020
|
+
// wait til the bib gets fully closed and rendered
|
|
57021
|
+
setTimeout(() => {
|
|
57022
|
+
// Skip if the bib re-opened, or if focus moved intentionally outside the dropdown (not to body).
|
|
57023
|
+
// Restore focus to trigger when focus is still inside the bib (:focus-within) or fell to body.
|
|
57024
|
+
if (this.isPopoverVisible ||
|
|
57025
|
+
// eslint-disable-next-line no-extra-parens
|
|
57026
|
+
(!this.bibContent?.matches(':focus-within') &&
|
|
57027
|
+
document.activeElement !== document.body)) {
|
|
57028
|
+
return;
|
|
57029
|
+
}
|
|
57030
|
+
// Restore focus to the trigger.
|
|
57031
|
+
this.trigger.focus();
|
|
57032
|
+
});
|
|
57033
|
+
}
|
|
56799
57034
|
}
|
|
56800
57035
|
|
|
56801
57036
|
firstUpdated() {
|
|
@@ -59495,8 +59730,21 @@ let AuroFormValidation$4 = class AuroFormValidation {
|
|
|
59495
59730
|
return;
|
|
59496
59731
|
}
|
|
59497
59732
|
|
|
59498
|
-
// Validate that the date passed was the correct format and is a valid date
|
|
59733
|
+
// Validate that the date passed was the correct format and is a valid date.
|
|
59734
|
+
// For partial date formats, valueObject is never populated; validate them directly.
|
|
59499
59735
|
if (elem.value && !elem.valueObject) {
|
|
59736
|
+
const isPartialDateFormat = elem.util && !elem.util.isFullDateFormat(elem.type, elem.format);
|
|
59737
|
+
|
|
59738
|
+
if (isPartialDateFormat) {
|
|
59739
|
+
if (!elem.util.isValidPartialDate(elem.value, elem.format)) {
|
|
59740
|
+
elem.validity = 'patternMismatch';
|
|
59741
|
+
elem.errorMessage = elem.setCustomValidityPatternMismatch || elem.setCustomValidity || 'Invalid Date Format Entered';
|
|
59742
|
+
}
|
|
59743
|
+
// Partial date format — validate directly and skip max/min checks since valueObject is undefined.
|
|
59744
|
+
return;
|
|
59745
|
+
}
|
|
59746
|
+
|
|
59747
|
+
// Full date format with no valueObject means the value is not a valid calendar date.
|
|
59500
59748
|
elem.validity = 'patternMismatch';
|
|
59501
59749
|
elem.errorMessage = elem.setCustomValidityPatternMismatch || elem.setCustomValidity || 'Invalid Date Format Entered';
|
|
59502
59750
|
return;
|
|
@@ -59994,7 +60242,7 @@ let AuroHelpText$5 = class AuroHelpText extends i$3 {
|
|
|
59994
60242
|
}
|
|
59995
60243
|
};
|
|
59996
60244
|
|
|
59997
|
-
var formkitVersion$5 = '
|
|
60245
|
+
var formkitVersion$5 = '202607011914';
|
|
59998
60246
|
|
|
59999
60247
|
// Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
|
|
60000
60248
|
// See LICENSE in the project root for license information.
|
|
@@ -61243,8 +61491,21 @@ let AuroFormValidation$3 = class AuroFormValidation {
|
|
|
61243
61491
|
return;
|
|
61244
61492
|
}
|
|
61245
61493
|
|
|
61246
|
-
// Validate that the date passed was the correct format and is a valid date
|
|
61494
|
+
// Validate that the date passed was the correct format and is a valid date.
|
|
61495
|
+
// For partial date formats, valueObject is never populated; validate them directly.
|
|
61247
61496
|
if (elem.value && !elem.valueObject) {
|
|
61497
|
+
const isPartialDateFormat = elem.util && !elem.util.isFullDateFormat(elem.type, elem.format);
|
|
61498
|
+
|
|
61499
|
+
if (isPartialDateFormat) {
|
|
61500
|
+
if (!elem.util.isValidPartialDate(elem.value, elem.format)) {
|
|
61501
|
+
elem.validity = 'patternMismatch';
|
|
61502
|
+
elem.errorMessage = elem.setCustomValidityPatternMismatch || elem.setCustomValidity || 'Invalid Date Format Entered';
|
|
61503
|
+
}
|
|
61504
|
+
// Partial date format — validate directly and skip max/min checks since valueObject is undefined.
|
|
61505
|
+
return;
|
|
61506
|
+
}
|
|
61507
|
+
|
|
61508
|
+
// Full date format with no valueObject means the value is not a valid calendar date.
|
|
61248
61509
|
elem.validity = 'patternMismatch';
|
|
61249
61510
|
elem.errorMessage = elem.setCustomValidityPatternMismatch || elem.setCustomValidity || 'Invalid Date Format Entered';
|
|
61250
61511
|
return;
|
|
@@ -61746,7 +62007,7 @@ let AuroHelpText$4 = class AuroHelpText extends i$3 {
|
|
|
61746
62007
|
}
|
|
61747
62008
|
};
|
|
61748
62009
|
|
|
61749
|
-
var formkitVersion$4 = '
|
|
62010
|
+
var formkitVersion$4 = '202607011914';
|
|
61750
62011
|
|
|
61751
62012
|
// Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
|
|
61752
62013
|
// See LICENSE in the project root for license information.
|
|
@@ -62505,8 +62766,21 @@ let AuroFormValidation$1 = class AuroFormValidation {
|
|
|
62505
62766
|
return;
|
|
62506
62767
|
}
|
|
62507
62768
|
|
|
62508
|
-
// Validate that the date passed was the correct format and is a valid date
|
|
62769
|
+
// Validate that the date passed was the correct format and is a valid date.
|
|
62770
|
+
// For partial date formats, valueObject is never populated; validate them directly.
|
|
62509
62771
|
if (elem.value && !elem.valueObject) {
|
|
62772
|
+
const isPartialDateFormat = elem.util && !elem.util.isFullDateFormat(elem.type, elem.format);
|
|
62773
|
+
|
|
62774
|
+
if (isPartialDateFormat) {
|
|
62775
|
+
if (!elem.util.isValidPartialDate(elem.value, elem.format)) {
|
|
62776
|
+
elem.validity = 'patternMismatch';
|
|
62777
|
+
elem.errorMessage = elem.setCustomValidityPatternMismatch || elem.setCustomValidity || 'Invalid Date Format Entered';
|
|
62778
|
+
}
|
|
62779
|
+
// Partial date format — validate directly and skip max/min checks since valueObject is undefined.
|
|
62780
|
+
return;
|
|
62781
|
+
}
|
|
62782
|
+
|
|
62783
|
+
// Full date format with no valueObject means the value is not a valid calendar date.
|
|
62510
62784
|
elem.validity = 'patternMismatch';
|
|
62511
62785
|
elem.errorMessage = elem.setCustomValidityPatternMismatch || elem.setCustomValidity || 'Invalid Date Format Entered';
|
|
62512
62786
|
return;
|
|
@@ -66954,7 +67228,7 @@ let AuroHelpText$2 = class AuroHelpText extends i$3 {
|
|
|
66954
67228
|
}
|
|
66955
67229
|
};
|
|
66956
67230
|
|
|
66957
|
-
var formkitVersion$2 = '
|
|
67231
|
+
var formkitVersion$2 = '202607011914';
|
|
66958
67232
|
|
|
66959
67233
|
let AuroElement$2$1 = class AuroElement extends i$3 {
|
|
66960
67234
|
static get properties() {
|
|
@@ -67706,6 +67980,23 @@ let AuroDropdown$1 = class AuroDropdown extends AuroElement$2$1 {
|
|
|
67706
67980
|
if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown") {
|
|
67707
67981
|
this.trigger.focus();
|
|
67708
67982
|
}
|
|
67983
|
+
|
|
67984
|
+
|
|
67985
|
+
if (!this.isPopoverVisible) {
|
|
67986
|
+
// wait til the bib gets fully closed and rendered
|
|
67987
|
+
setTimeout(() => {
|
|
67988
|
+
// Skip if the bib re-opened, or if focus moved intentionally outside the dropdown (not to body).
|
|
67989
|
+
// Restore focus to trigger when focus is still inside the bib (:focus-within) or fell to body.
|
|
67990
|
+
if (this.isPopoverVisible ||
|
|
67991
|
+
// eslint-disable-next-line no-extra-parens
|
|
67992
|
+
(!this.bibContent?.matches(':focus-within') &&
|
|
67993
|
+
document.activeElement !== document.body)) {
|
|
67994
|
+
return;
|
|
67995
|
+
}
|
|
67996
|
+
// Restore focus to the trigger.
|
|
67997
|
+
this.trigger.focus();
|
|
67998
|
+
});
|
|
67999
|
+
}
|
|
67709
68000
|
}
|
|
67710
68001
|
|
|
67711
68002
|
firstUpdated() {
|
|
@@ -72631,8 +72922,21 @@ let AuroFormValidation$2 = class AuroFormValidation {
|
|
|
72631
72922
|
return;
|
|
72632
72923
|
}
|
|
72633
72924
|
|
|
72634
|
-
// Validate that the date passed was the correct format and is a valid date
|
|
72925
|
+
// Validate that the date passed was the correct format and is a valid date.
|
|
72926
|
+
// For partial date formats, valueObject is never populated; validate them directly.
|
|
72635
72927
|
if (elem.value && !elem.valueObject) {
|
|
72928
|
+
const isPartialDateFormat = elem.util && !elem.util.isFullDateFormat(elem.type, elem.format);
|
|
72929
|
+
|
|
72930
|
+
if (isPartialDateFormat) {
|
|
72931
|
+
if (!elem.util.isValidPartialDate(elem.value, elem.format)) {
|
|
72932
|
+
elem.validity = 'patternMismatch';
|
|
72933
|
+
elem.errorMessage = elem.setCustomValidityPatternMismatch || elem.setCustomValidity || 'Invalid Date Format Entered';
|
|
72934
|
+
}
|
|
72935
|
+
// Partial date format — validate directly and skip max/min checks since valueObject is undefined.
|
|
72936
|
+
return;
|
|
72937
|
+
}
|
|
72938
|
+
|
|
72939
|
+
// Full date format with no valueObject means the value is not a valid calendar date.
|
|
72636
72940
|
elem.validity = 'patternMismatch';
|
|
72637
72941
|
elem.errorMessage = elem.setCustomValidityPatternMismatch || elem.setCustomValidity || 'Invalid Date Format Entered';
|
|
72638
72942
|
return;
|
|
@@ -78562,10 +78866,11 @@ class AuroInputUtilities {
|
|
|
78562
78866
|
const dateFormat = format$1 || this.overrideFormat || pattern || 'mm/dd/yyyy';
|
|
78563
78867
|
|
|
78564
78868
|
if (dateFormat === 'dd' || dateFormat === 'yy' || dateFormat === 'yyyy') {
|
|
78565
|
-
const
|
|
78869
|
+
const fromValue = dateFormat === 'yyyy' ? 1900 : (dateFormat === 'yy' ? 0 : 1);
|
|
78870
|
+
const maxValue = dateFormat === 'dd' ? 31 : (dateFormat === 'yy' ? 99 : 2100);
|
|
78566
78871
|
return {
|
|
78567
78872
|
mask: IMask.MaskedRange,
|
|
78568
|
-
from:
|
|
78873
|
+
from: fromValue,
|
|
78569
78874
|
to: maxValue,
|
|
78570
78875
|
lazy: true,
|
|
78571
78876
|
placeholderChar: '',
|
|
@@ -78573,7 +78878,8 @@ class AuroInputUtilities {
|
|
|
78573
78878
|
return value.toString().padStart(dateFormat.length, '0');
|
|
78574
78879
|
},
|
|
78575
78880
|
parse(str) {
|
|
78576
|
-
|
|
78881
|
+
const num = parseInt(str, 10);
|
|
78882
|
+
return isNaN(num) ? null : num;
|
|
78577
78883
|
}
|
|
78578
78884
|
};
|
|
78579
78885
|
}
|
|
@@ -78637,6 +78943,49 @@ class AuroInputUtilities {
|
|
|
78637
78943
|
return type === 'date' && normalizedFormat.includes('yy') && normalizedFormat.includes('mm') && normalizedFormat.includes('dd');
|
|
78638
78944
|
}
|
|
78639
78945
|
|
|
78946
|
+
/**
|
|
78947
|
+
* Validates a value against a partial date format (one that lacks yy/mm/dd all three).
|
|
78948
|
+
* Day- and year-only formats (dd/yy/yyyy) are checked as integer ranges; other partial formats use
|
|
78949
|
+
* a date-fns parse + round-trip to confirm both validity and exact formatting.
|
|
78950
|
+
* @param {string} value - The user-facing display value.
|
|
78951
|
+
* @param {string} format - The partial date format string (e.g. "mm/yyyy", "yyyy", "dd").
|
|
78952
|
+
* @returns {boolean}
|
|
78953
|
+
*/
|
|
78954
|
+
isValidPartialDate(value, format$1) {
|
|
78955
|
+
if (!value || !format$1) {
|
|
78956
|
+
return false;
|
|
78957
|
+
}
|
|
78958
|
+
const normalizedFormat = format$1.toLowerCase();
|
|
78959
|
+
|
|
78960
|
+
if (normalizedFormat === 'dd') {
|
|
78961
|
+
const num = Number(value);
|
|
78962
|
+
return (/^\d{2}$/u).test(value) && num >= 1 && num <= 31;
|
|
78963
|
+
}
|
|
78964
|
+
if (normalizedFormat === 'yy') {
|
|
78965
|
+
const num = Number(value);
|
|
78966
|
+
return (/^\d{2}$/u).test(value) && num >= 0 && num <= 99;
|
|
78967
|
+
}
|
|
78968
|
+
if (normalizedFormat === 'yyyy') {
|
|
78969
|
+
const num = Number(value);
|
|
78970
|
+
return (/^\d{4}$/u).test(value) && num >= 1900 && num <= 2100;
|
|
78971
|
+
}
|
|
78972
|
+
|
|
78973
|
+
const dateFnsMask = this.toDateFnsMask(normalizedFormat);
|
|
78974
|
+
// Use the 1st of the current month as the reference so that formats
|
|
78975
|
+
// omitting a day (e.g. MM/yyyy) never roll over on days 29–31.
|
|
78976
|
+
const referenceDate = new Date();
|
|
78977
|
+
referenceDate.setDate(1);
|
|
78978
|
+
const parsed = parse(value, dateFnsMask, referenceDate);
|
|
78979
|
+
if (!isValid(parsed) || format(parsed, dateFnsMask) !== value) {
|
|
78980
|
+
return false;
|
|
78981
|
+
}
|
|
78982
|
+
if (normalizedFormat.includes('yyyy')) {
|
|
78983
|
+
const year = parsed.getFullYear();
|
|
78984
|
+
return year >= 1900 && year <= 2100;
|
|
78985
|
+
}
|
|
78986
|
+
return true;
|
|
78987
|
+
}
|
|
78988
|
+
|
|
78640
78989
|
/**
|
|
78641
78990
|
* Converts a display string to its model value.
|
|
78642
78991
|
* For full date formats, converts the display string to an ISO date string.
|
|
@@ -79256,6 +79605,13 @@ class BaseInput extends AuroElement$1$1 {
|
|
|
79256
79605
|
type: String
|
|
79257
79606
|
},
|
|
79258
79607
|
|
|
79608
|
+
/**
|
|
79609
|
+
* Custom help text message to display when validity = `patternMismatch`.
|
|
79610
|
+
*/
|
|
79611
|
+
setCustomValidityPatternMismatch: {
|
|
79612
|
+
type: String
|
|
79613
|
+
},
|
|
79614
|
+
|
|
79259
79615
|
/**
|
|
79260
79616
|
* Custom help text message to display when validity = `rangeOverflow`.
|
|
79261
79617
|
*/
|
|
@@ -79326,7 +79682,7 @@ class BaseInput extends AuroElement$1$1 {
|
|
|
79326
79682
|
|
|
79327
79683
|
/**
|
|
79328
79684
|
* Populates the `type` attribute on the input.
|
|
79329
|
-
* @type {'text' | 'password' | 'email' | 'credit-card' | 'tel' | 'number'}
|
|
79685
|
+
* @type {'text' | 'password' | 'email' | 'credit-card' | 'tel' | 'number' | 'date'}
|
|
79330
79686
|
* @default 'text'
|
|
79331
79687
|
*/
|
|
79332
79688
|
type: {
|
|
@@ -79351,7 +79707,7 @@ class BaseInput extends AuroElement$1$1 {
|
|
|
79351
79707
|
|
|
79352
79708
|
/**
|
|
79353
79709
|
* Populates the `value` attribute on the input. Can also be read to retrieve the current value of the input.
|
|
79354
|
-
*
|
|
79710
|
+
* For `date` type inputs using a full date format (year/month/day), the `value` should be ISO (YYYY-MM-DD). Partial date formats use the display format.
|
|
79355
79711
|
*/
|
|
79356
79712
|
value: {
|
|
79357
79713
|
type: String
|
|
@@ -80474,7 +80830,7 @@ let AuroHelpText$1$1 = class AuroHelpText extends i$3 {
|
|
|
80474
80830
|
}
|
|
80475
80831
|
};
|
|
80476
80832
|
|
|
80477
|
-
var formkitVersion$1$1 = '
|
|
80833
|
+
var formkitVersion$1$1 = '202607011914';
|
|
80478
80834
|
|
|
80479
80835
|
// Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
80480
80836
|
// See LICENSE in the project root for license information.
|
|
@@ -81600,7 +81956,7 @@ let AuroBibtemplate$1 = class AuroBibtemplate extends i$3 {
|
|
|
81600
81956
|
}
|
|
81601
81957
|
};
|
|
81602
81958
|
|
|
81603
|
-
var formkitVersion$3 = '
|
|
81959
|
+
var formkitVersion$3 = '202607011914';
|
|
81604
81960
|
|
|
81605
81961
|
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}`;
|
|
81606
81962
|
|
|
@@ -85934,8 +86290,21 @@ class AuroFormValidation {
|
|
|
85934
86290
|
return;
|
|
85935
86291
|
}
|
|
85936
86292
|
|
|
85937
|
-
// Validate that the date passed was the correct format and is a valid date
|
|
86293
|
+
// Validate that the date passed was the correct format and is a valid date.
|
|
86294
|
+
// For partial date formats, valueObject is never populated; validate them directly.
|
|
85938
86295
|
if (elem.value && !elem.valueObject) {
|
|
86296
|
+
const isPartialDateFormat = elem.util && !elem.util.isFullDateFormat(elem.type, elem.format);
|
|
86297
|
+
|
|
86298
|
+
if (isPartialDateFormat) {
|
|
86299
|
+
if (!elem.util.isValidPartialDate(elem.value, elem.format)) {
|
|
86300
|
+
elem.validity = 'patternMismatch';
|
|
86301
|
+
elem.errorMessage = elem.setCustomValidityPatternMismatch || elem.setCustomValidity || 'Invalid Date Format Entered';
|
|
86302
|
+
}
|
|
86303
|
+
// Partial date format — validate directly and skip max/min checks since valueObject is undefined.
|
|
86304
|
+
return;
|
|
86305
|
+
}
|
|
86306
|
+
|
|
86307
|
+
// Full date format with no valueObject means the value is not a valid calendar date.
|
|
85939
86308
|
elem.validity = 'patternMismatch';
|
|
85940
86309
|
elem.errorMessage = elem.setCustomValidityPatternMismatch || elem.setCustomValidity || 'Invalid Date Format Entered';
|
|
85941
86310
|
return;
|
|
@@ -90423,7 +90792,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$3 {
|
|
|
90423
90792
|
}
|
|
90424
90793
|
};
|
|
90425
90794
|
|
|
90426
|
-
var formkitVersion$1 = '
|
|
90795
|
+
var formkitVersion$1 = '202607011914';
|
|
90427
90796
|
|
|
90428
90797
|
class AuroElement extends i$3 {
|
|
90429
90798
|
static get properties() {
|
|
@@ -91175,6 +91544,23 @@ class AuroDropdown extends AuroElement {
|
|
|
91175
91544
|
if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown") {
|
|
91176
91545
|
this.trigger.focus();
|
|
91177
91546
|
}
|
|
91547
|
+
|
|
91548
|
+
|
|
91549
|
+
if (!this.isPopoverVisible) {
|
|
91550
|
+
// wait til the bib gets fully closed and rendered
|
|
91551
|
+
setTimeout(() => {
|
|
91552
|
+
// Skip if the bib re-opened, or if focus moved intentionally outside the dropdown (not to body).
|
|
91553
|
+
// Restore focus to trigger when focus is still inside the bib (:focus-within) or fell to body.
|
|
91554
|
+
if (this.isPopoverVisible ||
|
|
91555
|
+
// eslint-disable-next-line no-extra-parens
|
|
91556
|
+
(!this.bibContent?.matches(':focus-within') &&
|
|
91557
|
+
document.activeElement !== document.body)) {
|
|
91558
|
+
return;
|
|
91559
|
+
}
|
|
91560
|
+
// Restore focus to the trigger.
|
|
91561
|
+
this.trigger.focus();
|
|
91562
|
+
});
|
|
91563
|
+
}
|
|
91178
91564
|
}
|
|
91179
91565
|
|
|
91180
91566
|
firstUpdated() {
|
|
@@ -92445,7 +92831,7 @@ class AuroHelpText extends i$3 {
|
|
|
92445
92831
|
}
|
|
92446
92832
|
}
|
|
92447
92833
|
|
|
92448
|
-
var formkitVersion = '
|
|
92834
|
+
var formkitVersion = '202607011914';
|
|
92449
92835
|
|
|
92450
92836
|
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}`;
|
|
92451
92837
|
|
|
@@ -93306,6 +93692,14 @@ class AuroSelect extends AuroElement$1 {
|
|
|
93306
93692
|
this.menu.addEventListener("auroMenu-loadingChange", (event) => this.handleMenuLoadingChange(event));
|
|
93307
93693
|
|
|
93308
93694
|
this.menu.addEventListener("auroMenu-selectValueFailure", () => {
|
|
93695
|
+
// Menu dispatches this from two paths: a programmatic value mismatch
|
|
93696
|
+
// (menu pre-clears its own optionSelected to undefined before firing)
|
|
93697
|
+
// and a click on an unselected valueless option (menu leaves state
|
|
93698
|
+
// untouched). Only mirror the clear in the first case — otherwise a
|
|
93699
|
+
// valueless click in multiSelect would wipe every prior pick.
|
|
93700
|
+
if (this.menu.optionSelected !== undefined) {
|
|
93701
|
+
return;
|
|
93702
|
+
}
|
|
93309
93703
|
this.value = undefined;
|
|
93310
93704
|
this.optionSelected = this.multiSelect ? [] : undefined;
|
|
93311
93705
|
// The trigger label is rendered imperatively into #value, so a property
|
|
@@ -93506,6 +93900,13 @@ class AuroSelect extends AuroElement$1 {
|
|
|
93506
93900
|
const cycleIndex = (this.typeaheadBuffer.length - 1) % matches.length;
|
|
93507
93901
|
match = matches[cycleIndex];
|
|
93508
93902
|
}
|
|
93903
|
+
} else if (!match && this.typeaheadBuffer.length > 1) {
|
|
93904
|
+
// Buffer has no prefix match and isn't a repeat-char cycle (e.g. "a" then
|
|
93905
|
+
// "b" against [Apple, Banana]). Reset to just the new key and retry —
|
|
93906
|
+
// mirrors native <select>, which falls back to a single-char search when
|
|
93907
|
+
// accumulated input matches nothing, rather than swallowing the keystroke.
|
|
93908
|
+
this.typeaheadBuffer = key;
|
|
93909
|
+
match = options.find((option) => this._getOptionDisplayText(option).startsWith(key));
|
|
93509
93910
|
}
|
|
93510
93911
|
|
|
93511
93912
|
// Intentional: no-match leaves the bib closed (deviates from APG / some native <select>).
|