@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
|
@@ -4414,8 +4414,21 @@ let AuroFormValidation$7 = class AuroFormValidation {
|
|
|
4414
4414
|
return;
|
|
4415
4415
|
}
|
|
4416
4416
|
|
|
4417
|
-
// Validate that the date passed was the correct format and is a valid date
|
|
4417
|
+
// Validate that the date passed was the correct format and is a valid date.
|
|
4418
|
+
// For partial date formats, valueObject is never populated; validate them directly.
|
|
4418
4419
|
if (elem.value && !elem.valueObject) {
|
|
4420
|
+
const isPartialDateFormat = elem.util && !elem.util.isFullDateFormat(elem.type, elem.format);
|
|
4421
|
+
|
|
4422
|
+
if (isPartialDateFormat) {
|
|
4423
|
+
if (!elem.util.isValidPartialDate(elem.value, elem.format)) {
|
|
4424
|
+
elem.validity = 'patternMismatch';
|
|
4425
|
+
elem.errorMessage = elem.setCustomValidityPatternMismatch || elem.setCustomValidity || 'Invalid Date Format Entered';
|
|
4426
|
+
}
|
|
4427
|
+
// Partial date format — validate directly and skip max/min checks since valueObject is undefined.
|
|
4428
|
+
return;
|
|
4429
|
+
}
|
|
4430
|
+
|
|
4431
|
+
// Full date format with no valueObject means the value is not a valid calendar date.
|
|
4419
4432
|
elem.validity = 'patternMismatch';
|
|
4420
4433
|
elem.errorMessage = elem.setCustomValidityPatternMismatch || elem.setCustomValidity || 'Invalid Date Format Entered';
|
|
4421
4434
|
return;
|
|
@@ -10345,10 +10358,11 @@ let AuroInputUtilities$3 = class AuroInputUtilities {
|
|
|
10345
10358
|
const dateFormat = format$1 || this.overrideFormat || pattern || 'mm/dd/yyyy';
|
|
10346
10359
|
|
|
10347
10360
|
if (dateFormat === 'dd' || dateFormat === 'yy' || dateFormat === 'yyyy') {
|
|
10348
|
-
const
|
|
10361
|
+
const fromValue = dateFormat === 'yyyy' ? 1900 : (dateFormat === 'yy' ? 0 : 1);
|
|
10362
|
+
const maxValue = dateFormat === 'dd' ? 31 : (dateFormat === 'yy' ? 99 : 2100);
|
|
10349
10363
|
return {
|
|
10350
10364
|
mask: IMask$3.MaskedRange,
|
|
10351
|
-
from:
|
|
10365
|
+
from: fromValue,
|
|
10352
10366
|
to: maxValue,
|
|
10353
10367
|
lazy: true,
|
|
10354
10368
|
placeholderChar: '',
|
|
@@ -10356,7 +10370,8 @@ let AuroInputUtilities$3 = class AuroInputUtilities {
|
|
|
10356
10370
|
return value.toString().padStart(dateFormat.length, '0');
|
|
10357
10371
|
},
|
|
10358
10372
|
parse(str) {
|
|
10359
|
-
|
|
10373
|
+
const num = parseInt(str, 10);
|
|
10374
|
+
return isNaN(num) ? null : num;
|
|
10360
10375
|
}
|
|
10361
10376
|
};
|
|
10362
10377
|
}
|
|
@@ -10420,6 +10435,49 @@ let AuroInputUtilities$3 = class AuroInputUtilities {
|
|
|
10420
10435
|
return type === 'date' && normalizedFormat.includes('yy') && normalizedFormat.includes('mm') && normalizedFormat.includes('dd');
|
|
10421
10436
|
}
|
|
10422
10437
|
|
|
10438
|
+
/**
|
|
10439
|
+
* Validates a value against a partial date format (one that lacks yy/mm/dd all three).
|
|
10440
|
+
* Day- and year-only formats (dd/yy/yyyy) are checked as integer ranges; other partial formats use
|
|
10441
|
+
* a date-fns parse + round-trip to confirm both validity and exact formatting.
|
|
10442
|
+
* @param {string} value - The user-facing display value.
|
|
10443
|
+
* @param {string} format - The partial date format string (e.g. "mm/yyyy", "yyyy", "dd").
|
|
10444
|
+
* @returns {boolean}
|
|
10445
|
+
*/
|
|
10446
|
+
isValidPartialDate(value, format$1) {
|
|
10447
|
+
if (!value || !format$1) {
|
|
10448
|
+
return false;
|
|
10449
|
+
}
|
|
10450
|
+
const normalizedFormat = format$1.toLowerCase();
|
|
10451
|
+
|
|
10452
|
+
if (normalizedFormat === 'dd') {
|
|
10453
|
+
const num = Number(value);
|
|
10454
|
+
return (/^\d{2}$/u).test(value) && num >= 1 && num <= 31;
|
|
10455
|
+
}
|
|
10456
|
+
if (normalizedFormat === 'yy') {
|
|
10457
|
+
const num = Number(value);
|
|
10458
|
+
return (/^\d{2}$/u).test(value) && num >= 0 && num <= 99;
|
|
10459
|
+
}
|
|
10460
|
+
if (normalizedFormat === 'yyyy') {
|
|
10461
|
+
const num = Number(value);
|
|
10462
|
+
return (/^\d{4}$/u).test(value) && num >= 1900 && num <= 2100;
|
|
10463
|
+
}
|
|
10464
|
+
|
|
10465
|
+
const dateFnsMask = this.toDateFnsMask(normalizedFormat);
|
|
10466
|
+
// Use the 1st of the current month as the reference so that formats
|
|
10467
|
+
// omitting a day (e.g. MM/yyyy) never roll over on days 29–31.
|
|
10468
|
+
const referenceDate = new Date();
|
|
10469
|
+
referenceDate.setDate(1);
|
|
10470
|
+
const parsed = parse$3(value, dateFnsMask, referenceDate);
|
|
10471
|
+
if (!isValid$3(parsed) || format$3(parsed, dateFnsMask) !== value) {
|
|
10472
|
+
return false;
|
|
10473
|
+
}
|
|
10474
|
+
if (normalizedFormat.includes('yyyy')) {
|
|
10475
|
+
const year = parsed.getFullYear();
|
|
10476
|
+
return year >= 1900 && year <= 2100;
|
|
10477
|
+
}
|
|
10478
|
+
return true;
|
|
10479
|
+
}
|
|
10480
|
+
|
|
10423
10481
|
/**
|
|
10424
10482
|
* Converts a display string to its model value.
|
|
10425
10483
|
* For full date formats, converts the display string to an ISO date string.
|
|
@@ -11039,6 +11097,13 @@ let BaseInput$2 = class BaseInput extends AuroElement$6 {
|
|
|
11039
11097
|
type: String
|
|
11040
11098
|
},
|
|
11041
11099
|
|
|
11100
|
+
/**
|
|
11101
|
+
* Custom help text message to display when validity = `patternMismatch`.
|
|
11102
|
+
*/
|
|
11103
|
+
setCustomValidityPatternMismatch: {
|
|
11104
|
+
type: String
|
|
11105
|
+
},
|
|
11106
|
+
|
|
11042
11107
|
/**
|
|
11043
11108
|
* Custom help text message to display when validity = `rangeOverflow`.
|
|
11044
11109
|
*/
|
|
@@ -11109,7 +11174,7 @@ let BaseInput$2 = class BaseInput extends AuroElement$6 {
|
|
|
11109
11174
|
|
|
11110
11175
|
/**
|
|
11111
11176
|
* Populates the `type` attribute on the input.
|
|
11112
|
-
* @type {'text' | 'password' | 'email' | 'credit-card' | 'tel' | 'number'}
|
|
11177
|
+
* @type {'text' | 'password' | 'email' | 'credit-card' | 'tel' | 'number' | 'date'}
|
|
11113
11178
|
* @default 'text'
|
|
11114
11179
|
*/
|
|
11115
11180
|
type: {
|
|
@@ -11134,7 +11199,7 @@ let BaseInput$2 = class BaseInput extends AuroElement$6 {
|
|
|
11134
11199
|
|
|
11135
11200
|
/**
|
|
11136
11201
|
* Populates the `value` attribute on the input. Can also be read to retrieve the current value of the input.
|
|
11137
|
-
*
|
|
11202
|
+
* 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.
|
|
11138
11203
|
*/
|
|
11139
11204
|
value: {
|
|
11140
11205
|
type: String
|
|
@@ -12257,7 +12322,7 @@ let AuroHelpText$8 = class AuroHelpText extends i$2 {
|
|
|
12257
12322
|
}
|
|
12258
12323
|
};
|
|
12259
12324
|
|
|
12260
|
-
var formkitVersion$8 = '
|
|
12325
|
+
var formkitVersion$8 = '202607011914';
|
|
12261
12326
|
|
|
12262
12327
|
// Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
12263
12328
|
// See LICENSE in the project root for license information.
|
|
@@ -13532,8 +13597,21 @@ let AuroFormValidation$1$1 = class AuroFormValidation {
|
|
|
13532
13597
|
return;
|
|
13533
13598
|
}
|
|
13534
13599
|
|
|
13535
|
-
// Validate that the date passed was the correct format and is a valid date
|
|
13600
|
+
// Validate that the date passed was the correct format and is a valid date.
|
|
13601
|
+
// For partial date formats, valueObject is never populated; validate them directly.
|
|
13536
13602
|
if (elem.value && !elem.valueObject) {
|
|
13603
|
+
const isPartialDateFormat = elem.util && !elem.util.isFullDateFormat(elem.type, elem.format);
|
|
13604
|
+
|
|
13605
|
+
if (isPartialDateFormat) {
|
|
13606
|
+
if (!elem.util.isValidPartialDate(elem.value, elem.format)) {
|
|
13607
|
+
elem.validity = 'patternMismatch';
|
|
13608
|
+
elem.errorMessage = elem.setCustomValidityPatternMismatch || elem.setCustomValidity || 'Invalid Date Format Entered';
|
|
13609
|
+
}
|
|
13610
|
+
// Partial date format — validate directly and skip max/min checks since valueObject is undefined.
|
|
13611
|
+
return;
|
|
13612
|
+
}
|
|
13613
|
+
|
|
13614
|
+
// Full date format with no valueObject means the value is not a valid calendar date.
|
|
13537
13615
|
elem.validity = 'patternMismatch';
|
|
13538
13616
|
elem.errorMessage = elem.setCustomValidityPatternMismatch || elem.setCustomValidity || 'Invalid Date Format Entered';
|
|
13539
13617
|
return;
|
|
@@ -23386,10 +23464,11 @@ let AuroInputUtilities$1 = class AuroInputUtilities {
|
|
|
23386
23464
|
const dateFormat = format || this.overrideFormat || pattern || 'mm/dd/yyyy';
|
|
23387
23465
|
|
|
23388
23466
|
if (dateFormat === 'dd' || dateFormat === 'yy' || dateFormat === 'yyyy') {
|
|
23389
|
-
const
|
|
23467
|
+
const fromValue = dateFormat === 'yyyy' ? 1900 : (dateFormat === 'yy' ? 0 : 1);
|
|
23468
|
+
const maxValue = dateFormat === 'dd' ? 31 : (dateFormat === 'yy' ? 99 : 2100);
|
|
23390
23469
|
return {
|
|
23391
23470
|
mask: IMask$1.MaskedRange,
|
|
23392
|
-
from:
|
|
23471
|
+
from: fromValue,
|
|
23393
23472
|
to: maxValue,
|
|
23394
23473
|
lazy: true,
|
|
23395
23474
|
placeholderChar: '',
|
|
@@ -23397,7 +23476,8 @@ let AuroInputUtilities$1 = class AuroInputUtilities {
|
|
|
23397
23476
|
return value.toString().padStart(dateFormat.length, '0');
|
|
23398
23477
|
},
|
|
23399
23478
|
parse(str) {
|
|
23400
|
-
|
|
23479
|
+
const num = parseInt(str, 10);
|
|
23480
|
+
return isNaN(num) ? null : num;
|
|
23401
23481
|
}
|
|
23402
23482
|
};
|
|
23403
23483
|
}
|
|
@@ -23461,6 +23541,49 @@ let AuroInputUtilities$1 = class AuroInputUtilities {
|
|
|
23461
23541
|
return type === 'date' && normalizedFormat.includes('yy') && normalizedFormat.includes('mm') && normalizedFormat.includes('dd');
|
|
23462
23542
|
}
|
|
23463
23543
|
|
|
23544
|
+
/**
|
|
23545
|
+
* Validates a value against a partial date format (one that lacks yy/mm/dd all three).
|
|
23546
|
+
* Day- and year-only formats (dd/yy/yyyy) are checked as integer ranges; other partial formats use
|
|
23547
|
+
* a date-fns parse + round-trip to confirm both validity and exact formatting.
|
|
23548
|
+
* @param {string} value - The user-facing display value.
|
|
23549
|
+
* @param {string} format - The partial date format string (e.g. "mm/yyyy", "yyyy", "dd").
|
|
23550
|
+
* @returns {boolean}
|
|
23551
|
+
*/
|
|
23552
|
+
isValidPartialDate(value, format) {
|
|
23553
|
+
if (!value || !format) {
|
|
23554
|
+
return false;
|
|
23555
|
+
}
|
|
23556
|
+
const normalizedFormat = format.toLowerCase();
|
|
23557
|
+
|
|
23558
|
+
if (normalizedFormat === 'dd') {
|
|
23559
|
+
const num = Number(value);
|
|
23560
|
+
return (/^\d{2}$/u).test(value) && num >= 1 && num <= 31;
|
|
23561
|
+
}
|
|
23562
|
+
if (normalizedFormat === 'yy') {
|
|
23563
|
+
const num = Number(value);
|
|
23564
|
+
return (/^\d{2}$/u).test(value) && num >= 0 && num <= 99;
|
|
23565
|
+
}
|
|
23566
|
+
if (normalizedFormat === 'yyyy') {
|
|
23567
|
+
const num = Number(value);
|
|
23568
|
+
return (/^\d{4}$/u).test(value) && num >= 1900 && num <= 2100;
|
|
23569
|
+
}
|
|
23570
|
+
|
|
23571
|
+
const dateFnsMask = this.toDateFnsMask(normalizedFormat);
|
|
23572
|
+
// Use the 1st of the current month as the reference so that formats
|
|
23573
|
+
// omitting a day (e.g. MM/yyyy) never roll over on days 29–31.
|
|
23574
|
+
const referenceDate = new Date();
|
|
23575
|
+
referenceDate.setDate(1);
|
|
23576
|
+
const parsed = parse$1(value, dateFnsMask, referenceDate);
|
|
23577
|
+
if (!isValid$1(parsed) || format$1(parsed, dateFnsMask) !== value) {
|
|
23578
|
+
return false;
|
|
23579
|
+
}
|
|
23580
|
+
if (normalizedFormat.includes('yyyy')) {
|
|
23581
|
+
const year = parsed.getFullYear();
|
|
23582
|
+
return year >= 1900 && year <= 2100;
|
|
23583
|
+
}
|
|
23584
|
+
return true;
|
|
23585
|
+
}
|
|
23586
|
+
|
|
23464
23587
|
/**
|
|
23465
23588
|
* Converts a display string to its model value.
|
|
23466
23589
|
* For full date formats, converts the display string to an ISO date string.
|
|
@@ -26534,7 +26657,7 @@ let AuroBibtemplate$3 = class AuroBibtemplate extends i$2 {
|
|
|
26534
26657
|
}
|
|
26535
26658
|
};
|
|
26536
26659
|
|
|
26537
|
-
var formkitVersion$2$1 = '
|
|
26660
|
+
var formkitVersion$2$1 = '202607011914';
|
|
26538
26661
|
|
|
26539
26662
|
let l$1$2 = class l{generateElementName(t,e){let o=t;return o+="-",o+=e.replace(/[.]/g,"_"),o}generateTag(o,s,a){const r=this.generateElementName(o,s),i=i$5`${s$5(r)}`;return customElements.get(r)||customElements.define(r,class extends a{}),i}};let d$1$2 = class d{registerComponent(t,e){customElements.get(t)||customElements.define(t,class extends e{});}closestElement(t,e=this,o=(e,s=e&&e.closest(t))=>e&&e!==document&&e!==window?s||o(e.getRootNode().host):null){return o(e)}handleComponentTagRename(t,e){const o=e.toLowerCase();t.tagName.toLowerCase()!==o&&t.setAttribute(o,true);}elementMatch(t,e){const o=e.toLowerCase();return t.tagName.toLowerCase()===o||t.hasAttribute(o)}getSlotText(t,e){const o=t.shadowRoot?.querySelector(`slot[name="${e}"]`),s=(o?.assignedNodes({flatten:true})||[]).map(t=>t.textContent?.trim()).join(" ").trim();return s||null}};let h$1$2 = class h{registerComponent(t,e){customElements.get(t)||customElements.define(t,class extends e{});}closestElement(t,e=this,o=(e,s=e&&e.closest(t))=>e&&e!==document&&e!==window?s||o(e.getRootNode().host):null){return o(e)}handleComponentTagRename(t,e){const o=e.toLowerCase();t.tagName.toLowerCase()!==o&&t.setAttribute(o,true);}elementMatch(t,e){const o=e.toLowerCase();return t.tagName.toLowerCase()===o||t.hasAttribute(o)}};var c$1$3=i$4`:host{color:var(--ds-auro-loader-color)}:host>span{background-color:var(--ds-auro-loader-background-color);border-color:var(--ds-auro-loader-border-color)}:host([onlight]),:host([appearance=brand]){--ds-auro-loader-color: var(--ds-basic-color-brand-primary, #01426a)}:host([ondark]),:host([appearance=inverse]){--ds-auro-loader-color: var(--ds-basic-color-texticon-inverse, #ffffff)}:host([orbit])>span{--ds-auro-loader-background-color: transparent}:host([orbit])>span:nth-child(1){--ds-auro-loader-border-color: currentcolor;opacity:.25}:host([orbit])>span:nth-child(2){--ds-auro-loader-border-color: currentcolor;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent}
|
|
26540
26663
|
`,u$4$2=i$4`.body-default{font-size:var(--wcss-body-default-font-size, 1rem);line-height:var(--wcss-body-default-line-height, 1.5rem)}.body-default,.body-lg{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-weight, 450);letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-lg{font-size:var(--wcss-body-lg-font-size, 1.125rem);line-height:var(--wcss-body-lg-line-height, 1.625rem)}.body-sm{font-size:var(--wcss-body-sm-font-size, .875rem);line-height:var(--wcss-body-sm-line-height, 1.25rem)}.body-sm,.body-xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-weight, 450);letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-xs{font-size:var(--wcss-body-xs-font-size, .75rem);line-height:var(--wcss-body-xs-line-height, 1rem)}.body-2xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:var(--wcss-body-2xs-font-size, .625rem);font-weight:var(--wcss-body-weight, 450);letter-spacing:var(--wcss-body-letter-spacing, 0);line-height:var(--wcss-body-2xs-line-height, .875rem)}.display-2xl{font-family:var(--wcss-display-2xl-family, "AS Circular"),var(--wcss-display-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-2xl-font-size, clamp(3.5rem, 6vw, 5.375rem));font-weight:var(--wcss-display-2xl-weight, 300);letter-spacing:var(--wcss-display-2xl-letter-spacing, 0);line-height:var(--wcss-display-2xl-line-height, 1.3)}.display-xl{font-family:var(--wcss-display-xl-family, "AS Circular"),var(--wcss-display-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-xl-font-size, clamp(3rem, 5.3333333333vw, 4.5rem));font-weight:var(--wcss-display-xl-weight, 300);letter-spacing:var(--wcss-display-xl-letter-spacing, 0);line-height:var(--wcss-display-xl-line-height, 1.3)}.display-lg{font-family:var(--wcss-display-lg-family, "AS Circular"),var(--wcss-display-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-lg-font-size, clamp(2.75rem, 4.6666666667vw, 4rem));font-weight:var(--wcss-display-lg-weight, 300);letter-spacing:var(--wcss-display-lg-letter-spacing, 0);line-height:var(--wcss-display-lg-line-height, 1.3)}.display-md{font-family:var(--wcss-display-md-family, "AS Circular"),var(--wcss-display-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-md-font-size, clamp(2.5rem, 4vw, 3.5rem));font-weight:var(--wcss-display-md-weight, 300);letter-spacing:var(--wcss-display-md-letter-spacing, 0);line-height:var(--wcss-display-md-line-height, 1.3)}.display-sm{font-family:var(--wcss-display-sm-family, "AS Circular"),var(--wcss-display-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-sm-font-size, clamp(2rem, 3.6666666667vw, 3rem));font-weight:var(--wcss-display-sm-weight, 300);letter-spacing:var(--wcss-display-sm-letter-spacing, 0);line-height:var(--wcss-display-sm-line-height, 1.3)}.display-xs{font-family:var(--wcss-display-xs-family, "AS Circular"),var(--wcss-display-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-xs-font-size, clamp(1.75rem, 3vw, 2.375rem));font-weight:var(--wcss-display-xs-weight, 300);letter-spacing:var(--wcss-display-xs-letter-spacing, 0);line-height:var(--wcss-display-xs-line-height, 1.3)}.heading-xl{font-family:var(--wcss-heading-xl-family, "AS Circular"),var(--wcss-heading-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-xl-font-size, clamp(2rem, 3vw, 2.5rem));font-weight:var(--wcss-heading-xl-weight, 300);letter-spacing:var(--wcss-heading-xl-letter-spacing, 0);line-height:var(--wcss-heading-xl-line-height, 1.3)}.heading-lg{font-family:var(--wcss-heading-lg-family, "AS Circular"),var(--wcss-heading-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-lg-font-size, clamp(1.75rem, 2.6666666667vw, 2.25rem));font-weight:var(--wcss-heading-lg-weight, 300);letter-spacing:var(--wcss-heading-lg-letter-spacing, 0);line-height:var(--wcss-heading-lg-line-height, 1.3)}.heading-md{font-family:var(--wcss-heading-md-family, "AS Circular"),var(--wcss-heading-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-md-font-size, clamp(1.625rem, 2.3333333333vw, 1.75rem));font-weight:var(--wcss-heading-md-weight, 300);letter-spacing:var(--wcss-heading-md-letter-spacing, 0);line-height:var(--wcss-heading-md-line-height, 1.3)}.heading-sm{font-family:var(--wcss-heading-sm-family, "AS Circular"),var(--wcss-heading-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-sm-font-size, clamp(1.375rem, 2vw, 1.5rem));font-weight:var(--wcss-heading-sm-weight, 300);letter-spacing:var(--wcss-heading-sm-letter-spacing, 0);line-height:var(--wcss-heading-sm-line-height, 1.3)}.heading-xs{font-family:var(--wcss-heading-xs-family, "AS Circular"),var(--wcss-heading-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-xs-font-size, clamp(1.25rem, 1.6666666667vw, 1.25rem));font-weight:var(--wcss-heading-xs-weight, 450);letter-spacing:var(--wcss-heading-xs-letter-spacing, 0);line-height:var(--wcss-heading-xs-line-height, 1.3)}.heading-2xs{font-family:var(--wcss-heading-2xs-family, "AS Circular"),var(--wcss-heading-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-2xs-font-size, clamp(1.125rem, 1.5vw, 1.125rem));font-weight:var(--wcss-heading-2xs-weight, 450);letter-spacing:var(--wcss-heading-2xs-letter-spacing, 0);line-height:var(--wcss-heading-2xs-line-height, 1.3)}.accent-2xl{font-family:var(--wcss-accent-2xl-family, "Good OT"),var(--wcss-accent-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-2xl-font-size, clamp(2rem, 3.1666666667vw, 2.375rem));font-weight:var(--wcss-accent-2xl-weight, 450);letter-spacing:var(--wcss-accent-2xl-letter-spacing, .05em);line-height:var(--wcss-accent-2xl-line-height, 1)}.accent-2xl,.accent-xl{text-transform:uppercase}.accent-xl{font-family:var(--wcss-accent-xl-family, "Good OT"),var(--wcss-accent-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-xl-font-size, clamp(1.625rem, 2.3333333333vw, 2rem));font-weight:var(--wcss-accent-xl-weight, 450);letter-spacing:var(--wcss-accent-xl-letter-spacing, .05em);line-height:var(--wcss-accent-xl-line-height, 1.3)}.accent-lg{font-family:var(--wcss-accent-lg-family, "Good OT"),var(--wcss-accent-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-lg-font-size, clamp(1.5rem, 2.1666666667vw, 1.75rem));font-weight:var(--wcss-accent-lg-weight, 450);letter-spacing:var(--wcss-accent-lg-letter-spacing, .05em);line-height:var(--wcss-accent-lg-line-height, 1.3)}.accent-lg,.accent-md{text-transform:uppercase}.accent-md{font-family:var(--wcss-accent-md-family, "Good OT"),var(--wcss-accent-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-md-font-size, clamp(1.375rem, 1.8333333333vw, 1.5rem));font-weight:var(--wcss-accent-md-weight, 500);letter-spacing:var(--wcss-accent-md-letter-spacing, .05em);line-height:var(--wcss-accent-md-line-height, 1.3)}.accent-sm{font-family:var(--wcss-accent-sm-family, "Good OT"),var(--wcss-accent-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-sm-font-size, clamp(1.125rem, 1.5vw, 1.25rem));font-weight:var(--wcss-accent-sm-weight, 500);letter-spacing:var(--wcss-accent-sm-letter-spacing, .05em);line-height:var(--wcss-accent-sm-line-height, 1.3)}.accent-sm,.accent-xs{text-transform:uppercase}.accent-xs{font-family:var(--wcss-accent-xs-family, "Good OT"),var(--wcss-accent-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-xs-font-size, clamp(1rem, 1.3333333333vw, 1rem));font-weight:var(--wcss-accent-xs-weight, 500);letter-spacing:var(--wcss-accent-xs-letter-spacing, .1em);line-height:var(--wcss-accent-xs-line-height, 1.3)}.accent-2xs{font-family:var(--wcss-accent-2xs-family, "Good OT"),var(--wcss-accent-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-2xs-font-size, clamp(.875rem, 1.1666666667vw, .875rem));font-weight:var(--wcss-accent-2xs-weight, 450);letter-spacing:var(--wcss-accent-2xs-letter-spacing, .1em);line-height:var(--wcss-accent-2xs-line-height, 1.3);text-transform:uppercase}:focus:not(:focus-visible){outline:3px solid transparent}:host,:host>span{position:relative}:host{width:2rem;height:2rem;display:inline-block;font-size:0}:host>span{position:absolute;display:inline-block;float:none;top:0;left:0;width:2rem;height:2rem;border-radius:100%;border-style:solid;border-width:0;box-sizing:border-box}:host([xs]),:host([xs])>span{width:1.2rem;height:1.2rem}:host([sm]),:host([sm])>span{width:3rem;height:3rem}:host([md]),:host([md])>span{width:5rem;height:5rem}:host([lg]),:host([lg])>span{width:8rem;height:8rem}:host{--margin: .375rem;--margin-xs: .2rem;--margin-sm: .5rem;--margin-md: .75rem;--margin-lg: 1rem}:host([pulse]),:host([pulse])>span{position:relative}:host([pulse]){width:calc(3rem + var(--margin) * 6);height:calc(1rem + var(--margin) * 2)}:host([pulse])>span{width:1rem;height:1rem;margin:var(--margin);animation:pulse 1.5s ease infinite}:host([pulse][xs]){width:calc(1.95rem + var(--margin-xs) * 6);height:calc(.65rem + var(--margin-xs) * 2)}:host([pulse][xs])>span{margin:var(--margin-xs);width:.65rem;height:.65rem}:host([pulse][sm]){width:calc(6rem + var(--margin-sm) * 6);height:calc(2rem + var(--margin-sm) * 2)}:host([pulse][sm])>span{margin:var(--margin-sm);width:2rem;height:2rem}:host([pulse][md]){width:calc(9rem + var(--margin-md) * 6);height:calc(3rem + var(--margin-md) * 2)}:host([pulse][md])>span{margin:var(--margin-md);width:3rem;height:3rem}:host([pulse][lg]){width:calc(15rem + var(--margin-lg) * 6);height:calc(5rem + var(--margin-lg) * 2)}:host([pulse][lg])>span{margin:var(--margin-lg);width:5rem;height:5rem}:host([pulse])>span:nth-child(1){animation-delay:-.4s}:host([pulse])>span:nth-child(2){animation-delay:-.2s}:host([pulse])>span:nth-child(3){animation-delay:0ms}@keyframes pulse{0%,to{opacity:.1;transform:scale(.9)}50%{opacity:1;transform:scale(1.1)}}:host([orbit]),:host([orbit])>span{opacity:1}:host([orbit])>span{border-width:5px}:host([orbit])>span:nth-child(2){animation:orbit 2s linear infinite}:host([orbit][sm])>span{border-width:8px}:host([orbit][md])>span{border-width:13px}:host([orbit][lg])>span{border-width:21px}@keyframes orbit{0%{transform:rotate(0)}to{transform:rotate(360deg)}}:host([ringworm])>svg{animation:rotate 2s linear infinite;height:100%;width:100%;stroke:currentcolor;stroke-width:8}:host([ringworm]) .path{stroke-dashoffset:0;animation:ringworm 1.5s ease-in-out infinite;stroke-linecap:round}@keyframes rotate{to{transform:rotate(360deg)}}@keyframes ringworm{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px}to{stroke-dasharray:89,200;stroke-dashoffset:-124px}}:host([laser]){position:static;width:100%;display:block;height:0;overflow:hidden;font-size:unset}:host([laser])>span{position:fixed;width:100%;height:.25rem;border-radius:0;z-index:100}:host([laser])>span:nth-child(1){border-color:currentcolor;opacity:.25}:host([laser])>span:nth-child(2){border-color:currentcolor;animation:laser 2s linear infinite;opacity:1;width:50%}:host([laser][sm])>span:nth-child(2){width:20%}:host([laser][md])>span:nth-child(2){width:30%}:host([laser][lg])>span:nth-child(2){width:50%;animation-duration:1.5s}:host([laser][xl])>span:nth-child(2){width:80%;animation-duration:1.5s}@keyframes laser{0%{left:-100%}to{left:110%}}:host>.no-animation{display:none}@media (prefers-reduced-motion: reduce){:host{display:flex;align-items:center;justify-content:center}:host>span{opacity:1}:host>.loader{display:none}:host>svg{display:none}:host>.no-animation{display:block}}
|
|
@@ -32286,7 +32409,7 @@ let AuroHelpText$2$1 = class AuroHelpText extends i$2 {
|
|
|
32286
32409
|
}
|
|
32287
32410
|
};
|
|
32288
32411
|
|
|
32289
|
-
var formkitVersion$1$3 = '
|
|
32412
|
+
var formkitVersion$1$3 = '202607011914';
|
|
32290
32413
|
|
|
32291
32414
|
let AuroElement$2$2 = class AuroElement extends i$2 {
|
|
32292
32415
|
static get properties() {
|
|
@@ -33038,6 +33161,23 @@ let AuroDropdown$3 = class AuroDropdown extends AuroElement$2$2 {
|
|
|
33038
33161
|
if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown") {
|
|
33039
33162
|
this.trigger.focus();
|
|
33040
33163
|
}
|
|
33164
|
+
|
|
33165
|
+
|
|
33166
|
+
if (!this.isPopoverVisible) {
|
|
33167
|
+
// wait til the bib gets fully closed and rendered
|
|
33168
|
+
setTimeout(() => {
|
|
33169
|
+
// Skip if the bib re-opened, or if focus moved intentionally outside the dropdown (not to body).
|
|
33170
|
+
// Restore focus to trigger when focus is still inside the bib (:focus-within) or fell to body.
|
|
33171
|
+
if (this.isPopoverVisible ||
|
|
33172
|
+
// eslint-disable-next-line no-extra-parens
|
|
33173
|
+
(!this.bibContent?.matches(':focus-within') &&
|
|
33174
|
+
document.activeElement !== document.body)) {
|
|
33175
|
+
return;
|
|
33176
|
+
}
|
|
33177
|
+
// Restore focus to the trigger.
|
|
33178
|
+
this.trigger.focus();
|
|
33179
|
+
});
|
|
33180
|
+
}
|
|
33041
33181
|
}
|
|
33042
33182
|
|
|
33043
33183
|
firstUpdated() {
|
|
@@ -37963,8 +38103,21 @@ let AuroFormValidation$6 = class AuroFormValidation {
|
|
|
37963
38103
|
return;
|
|
37964
38104
|
}
|
|
37965
38105
|
|
|
37966
|
-
// Validate that the date passed was the correct format and is a valid date
|
|
38106
|
+
// Validate that the date passed was the correct format and is a valid date.
|
|
38107
|
+
// For partial date formats, valueObject is never populated; validate them directly.
|
|
37967
38108
|
if (elem.value && !elem.valueObject) {
|
|
38109
|
+
const isPartialDateFormat = elem.util && !elem.util.isFullDateFormat(elem.type, elem.format);
|
|
38110
|
+
|
|
38111
|
+
if (isPartialDateFormat) {
|
|
38112
|
+
if (!elem.util.isValidPartialDate(elem.value, elem.format)) {
|
|
38113
|
+
elem.validity = 'patternMismatch';
|
|
38114
|
+
elem.errorMessage = elem.setCustomValidityPatternMismatch || elem.setCustomValidity || 'Invalid Date Format Entered';
|
|
38115
|
+
}
|
|
38116
|
+
// Partial date format — validate directly and skip max/min checks since valueObject is undefined.
|
|
38117
|
+
return;
|
|
38118
|
+
}
|
|
38119
|
+
|
|
38120
|
+
// Full date format with no valueObject means the value is not a valid calendar date.
|
|
37968
38121
|
elem.validity = 'patternMismatch';
|
|
37969
38122
|
elem.errorMessage = elem.setCustomValidityPatternMismatch || elem.setCustomValidity || 'Invalid Date Format Entered';
|
|
37970
38123
|
return;
|
|
@@ -43894,10 +44047,11 @@ let AuroInputUtilities$2 = class AuroInputUtilities {
|
|
|
43894
44047
|
const dateFormat = format$1 || this.overrideFormat || pattern || 'mm/dd/yyyy';
|
|
43895
44048
|
|
|
43896
44049
|
if (dateFormat === 'dd' || dateFormat === 'yy' || dateFormat === 'yyyy') {
|
|
43897
|
-
const
|
|
44050
|
+
const fromValue = dateFormat === 'yyyy' ? 1900 : (dateFormat === 'yy' ? 0 : 1);
|
|
44051
|
+
const maxValue = dateFormat === 'dd' ? 31 : (dateFormat === 'yy' ? 99 : 2100);
|
|
43898
44052
|
return {
|
|
43899
44053
|
mask: IMask$2.MaskedRange,
|
|
43900
|
-
from:
|
|
44054
|
+
from: fromValue,
|
|
43901
44055
|
to: maxValue,
|
|
43902
44056
|
lazy: true,
|
|
43903
44057
|
placeholderChar: '',
|
|
@@ -43905,7 +44059,8 @@ let AuroInputUtilities$2 = class AuroInputUtilities {
|
|
|
43905
44059
|
return value.toString().padStart(dateFormat.length, '0');
|
|
43906
44060
|
},
|
|
43907
44061
|
parse(str) {
|
|
43908
|
-
|
|
44062
|
+
const num = parseInt(str, 10);
|
|
44063
|
+
return isNaN(num) ? null : num;
|
|
43909
44064
|
}
|
|
43910
44065
|
};
|
|
43911
44066
|
}
|
|
@@ -43969,6 +44124,49 @@ let AuroInputUtilities$2 = class AuroInputUtilities {
|
|
|
43969
44124
|
return type === 'date' && normalizedFormat.includes('yy') && normalizedFormat.includes('mm') && normalizedFormat.includes('dd');
|
|
43970
44125
|
}
|
|
43971
44126
|
|
|
44127
|
+
/**
|
|
44128
|
+
* Validates a value against a partial date format (one that lacks yy/mm/dd all three).
|
|
44129
|
+
* Day- and year-only formats (dd/yy/yyyy) are checked as integer ranges; other partial formats use
|
|
44130
|
+
* a date-fns parse + round-trip to confirm both validity and exact formatting.
|
|
44131
|
+
* @param {string} value - The user-facing display value.
|
|
44132
|
+
* @param {string} format - The partial date format string (e.g. "mm/yyyy", "yyyy", "dd").
|
|
44133
|
+
* @returns {boolean}
|
|
44134
|
+
*/
|
|
44135
|
+
isValidPartialDate(value, format$1) {
|
|
44136
|
+
if (!value || !format$1) {
|
|
44137
|
+
return false;
|
|
44138
|
+
}
|
|
44139
|
+
const normalizedFormat = format$1.toLowerCase();
|
|
44140
|
+
|
|
44141
|
+
if (normalizedFormat === 'dd') {
|
|
44142
|
+
const num = Number(value);
|
|
44143
|
+
return (/^\d{2}$/u).test(value) && num >= 1 && num <= 31;
|
|
44144
|
+
}
|
|
44145
|
+
if (normalizedFormat === 'yy') {
|
|
44146
|
+
const num = Number(value);
|
|
44147
|
+
return (/^\d{2}$/u).test(value) && num >= 0 && num <= 99;
|
|
44148
|
+
}
|
|
44149
|
+
if (normalizedFormat === 'yyyy') {
|
|
44150
|
+
const num = Number(value);
|
|
44151
|
+
return (/^\d{4}$/u).test(value) && num >= 1900 && num <= 2100;
|
|
44152
|
+
}
|
|
44153
|
+
|
|
44154
|
+
const dateFnsMask = this.toDateFnsMask(normalizedFormat);
|
|
44155
|
+
// Use the 1st of the current month as the reference so that formats
|
|
44156
|
+
// omitting a day (e.g. MM/yyyy) never roll over on days 29–31.
|
|
44157
|
+
const referenceDate = new Date();
|
|
44158
|
+
referenceDate.setDate(1);
|
|
44159
|
+
const parsed = parse$2(value, dateFnsMask, referenceDate);
|
|
44160
|
+
if (!isValid$2(parsed) || format$2(parsed, dateFnsMask) !== value) {
|
|
44161
|
+
return false;
|
|
44162
|
+
}
|
|
44163
|
+
if (normalizedFormat.includes('yyyy')) {
|
|
44164
|
+
const year = parsed.getFullYear();
|
|
44165
|
+
return year >= 1900 && year <= 2100;
|
|
44166
|
+
}
|
|
44167
|
+
return true;
|
|
44168
|
+
}
|
|
44169
|
+
|
|
43972
44170
|
/**
|
|
43973
44171
|
* Converts a display string to its model value.
|
|
43974
44172
|
* For full date formats, converts the display string to an ISO date string.
|
|
@@ -44588,6 +44786,13 @@ let BaseInput$1 = class BaseInput extends AuroElement$1$3 {
|
|
|
44588
44786
|
type: String
|
|
44589
44787
|
},
|
|
44590
44788
|
|
|
44789
|
+
/**
|
|
44790
|
+
* Custom help text message to display when validity = `patternMismatch`.
|
|
44791
|
+
*/
|
|
44792
|
+
setCustomValidityPatternMismatch: {
|
|
44793
|
+
type: String
|
|
44794
|
+
},
|
|
44795
|
+
|
|
44591
44796
|
/**
|
|
44592
44797
|
* Custom help text message to display when validity = `rangeOverflow`.
|
|
44593
44798
|
*/
|
|
@@ -44658,7 +44863,7 @@ let BaseInput$1 = class BaseInput extends AuroElement$1$3 {
|
|
|
44658
44863
|
|
|
44659
44864
|
/**
|
|
44660
44865
|
* Populates the `type` attribute on the input.
|
|
44661
|
-
* @type {'text' | 'password' | 'email' | 'credit-card' | 'tel' | 'number'}
|
|
44866
|
+
* @type {'text' | 'password' | 'email' | 'credit-card' | 'tel' | 'number' | 'date'}
|
|
44662
44867
|
* @default 'text'
|
|
44663
44868
|
*/
|
|
44664
44869
|
type: {
|
|
@@ -44683,7 +44888,7 @@ let BaseInput$1 = class BaseInput extends AuroElement$1$3 {
|
|
|
44683
44888
|
|
|
44684
44889
|
/**
|
|
44685
44890
|
* Populates the `value` attribute on the input. Can also be read to retrieve the current value of the input.
|
|
44686
|
-
*
|
|
44891
|
+
* 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.
|
|
44687
44892
|
*/
|
|
44688
44893
|
value: {
|
|
44689
44894
|
type: String
|
|
@@ -45806,7 +46011,7 @@ let AuroHelpText$1$3 = class AuroHelpText extends i$2 {
|
|
|
45806
46011
|
}
|
|
45807
46012
|
};
|
|
45808
46013
|
|
|
45809
|
-
var formkitVersion$7 = '
|
|
46014
|
+
var formkitVersion$7 = '202607011914';
|
|
45810
46015
|
|
|
45811
46016
|
// Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
45812
46017
|
// See LICENSE in the project root for license information.
|
|
@@ -50102,8 +50307,21 @@ let AuroFormValidation$5 = class AuroFormValidation {
|
|
|
50102
50307
|
return;
|
|
50103
50308
|
}
|
|
50104
50309
|
|
|
50105
|
-
// Validate that the date passed was the correct format and is a valid date
|
|
50310
|
+
// Validate that the date passed was the correct format and is a valid date.
|
|
50311
|
+
// For partial date formats, valueObject is never populated; validate them directly.
|
|
50106
50312
|
if (elem.value && !elem.valueObject) {
|
|
50313
|
+
const isPartialDateFormat = elem.util && !elem.util.isFullDateFormat(elem.type, elem.format);
|
|
50314
|
+
|
|
50315
|
+
if (isPartialDateFormat) {
|
|
50316
|
+
if (!elem.util.isValidPartialDate(elem.value, elem.format)) {
|
|
50317
|
+
elem.validity = 'patternMismatch';
|
|
50318
|
+
elem.errorMessage = elem.setCustomValidityPatternMismatch || elem.setCustomValidity || 'Invalid Date Format Entered';
|
|
50319
|
+
}
|
|
50320
|
+
// Partial date format — validate directly and skip max/min checks since valueObject is undefined.
|
|
50321
|
+
return;
|
|
50322
|
+
}
|
|
50323
|
+
|
|
50324
|
+
// Full date format with no valueObject means the value is not a valid calendar date.
|
|
50107
50325
|
elem.validity = 'patternMismatch';
|
|
50108
50326
|
elem.errorMessage = elem.setCustomValidityPatternMismatch || elem.setCustomValidity || 'Invalid Date Format Entered';
|
|
50109
50327
|
return;
|
|
@@ -50675,7 +50893,7 @@ let AuroHelpText$1$2 = class AuroHelpText extends i$2 {
|
|
|
50675
50893
|
}
|
|
50676
50894
|
};
|
|
50677
50895
|
|
|
50678
|
-
var formkitVersion$1$2 = '
|
|
50896
|
+
var formkitVersion$1$2 = '202607011914';
|
|
50679
50897
|
|
|
50680
50898
|
// Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
|
|
50681
50899
|
// See LICENSE in the project root for license information.
|
|
@@ -55003,7 +55221,7 @@ let AuroHelpText$6 = class AuroHelpText extends i$2 {
|
|
|
55003
55221
|
}
|
|
55004
55222
|
};
|
|
55005
55223
|
|
|
55006
|
-
var formkitVersion$6 = '
|
|
55224
|
+
var formkitVersion$6 = '202607011914';
|
|
55007
55225
|
|
|
55008
55226
|
let AuroElement$1$2 = class AuroElement extends i$2 {
|
|
55009
55227
|
static get properties() {
|
|
@@ -55755,6 +55973,23 @@ let AuroDropdown$2 = class AuroDropdown extends AuroElement$1$2 {
|
|
|
55755
55973
|
if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown") {
|
|
55756
55974
|
this.trigger.focus();
|
|
55757
55975
|
}
|
|
55976
|
+
|
|
55977
|
+
|
|
55978
|
+
if (!this.isPopoverVisible) {
|
|
55979
|
+
// wait til the bib gets fully closed and rendered
|
|
55980
|
+
setTimeout(() => {
|
|
55981
|
+
// Skip if the bib re-opened, or if focus moved intentionally outside the dropdown (not to body).
|
|
55982
|
+
// Restore focus to trigger when focus is still inside the bib (:focus-within) or fell to body.
|
|
55983
|
+
if (this.isPopoverVisible ||
|
|
55984
|
+
// eslint-disable-next-line no-extra-parens
|
|
55985
|
+
(!this.bibContent?.matches(':focus-within') &&
|
|
55986
|
+
document.activeElement !== document.body)) {
|
|
55987
|
+
return;
|
|
55988
|
+
}
|
|
55989
|
+
// Restore focus to the trigger.
|
|
55990
|
+
this.trigger.focus();
|
|
55991
|
+
});
|
|
55992
|
+
}
|
|
55758
55993
|
}
|
|
55759
55994
|
|
|
55760
55995
|
firstUpdated() {
|
|
@@ -58454,8 +58689,21 @@ let AuroFormValidation$4 = class AuroFormValidation {
|
|
|
58454
58689
|
return;
|
|
58455
58690
|
}
|
|
58456
58691
|
|
|
58457
|
-
// Validate that the date passed was the correct format and is a valid date
|
|
58692
|
+
// Validate that the date passed was the correct format and is a valid date.
|
|
58693
|
+
// For partial date formats, valueObject is never populated; validate them directly.
|
|
58458
58694
|
if (elem.value && !elem.valueObject) {
|
|
58695
|
+
const isPartialDateFormat = elem.util && !elem.util.isFullDateFormat(elem.type, elem.format);
|
|
58696
|
+
|
|
58697
|
+
if (isPartialDateFormat) {
|
|
58698
|
+
if (!elem.util.isValidPartialDate(elem.value, elem.format)) {
|
|
58699
|
+
elem.validity = 'patternMismatch';
|
|
58700
|
+
elem.errorMessage = elem.setCustomValidityPatternMismatch || elem.setCustomValidity || 'Invalid Date Format Entered';
|
|
58701
|
+
}
|
|
58702
|
+
// Partial date format — validate directly and skip max/min checks since valueObject is undefined.
|
|
58703
|
+
return;
|
|
58704
|
+
}
|
|
58705
|
+
|
|
58706
|
+
// Full date format with no valueObject means the value is not a valid calendar date.
|
|
58459
58707
|
elem.validity = 'patternMismatch';
|
|
58460
58708
|
elem.errorMessage = elem.setCustomValidityPatternMismatch || elem.setCustomValidity || 'Invalid Date Format Entered';
|
|
58461
58709
|
return;
|
|
@@ -58953,7 +59201,7 @@ let AuroHelpText$5 = class AuroHelpText extends i$2 {
|
|
|
58953
59201
|
}
|
|
58954
59202
|
};
|
|
58955
59203
|
|
|
58956
|
-
var formkitVersion$5 = '
|
|
59204
|
+
var formkitVersion$5 = '202607011914';
|
|
58957
59205
|
|
|
58958
59206
|
// Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
|
|
58959
59207
|
// See LICENSE in the project root for license information.
|
|
@@ -60202,8 +60450,21 @@ let AuroFormValidation$3 = class AuroFormValidation {
|
|
|
60202
60450
|
return;
|
|
60203
60451
|
}
|
|
60204
60452
|
|
|
60205
|
-
// Validate that the date passed was the correct format and is a valid date
|
|
60453
|
+
// Validate that the date passed was the correct format and is a valid date.
|
|
60454
|
+
// For partial date formats, valueObject is never populated; validate them directly.
|
|
60206
60455
|
if (elem.value && !elem.valueObject) {
|
|
60456
|
+
const isPartialDateFormat = elem.util && !elem.util.isFullDateFormat(elem.type, elem.format);
|
|
60457
|
+
|
|
60458
|
+
if (isPartialDateFormat) {
|
|
60459
|
+
if (!elem.util.isValidPartialDate(elem.value, elem.format)) {
|
|
60460
|
+
elem.validity = 'patternMismatch';
|
|
60461
|
+
elem.errorMessage = elem.setCustomValidityPatternMismatch || elem.setCustomValidity || 'Invalid Date Format Entered';
|
|
60462
|
+
}
|
|
60463
|
+
// Partial date format — validate directly and skip max/min checks since valueObject is undefined.
|
|
60464
|
+
return;
|
|
60465
|
+
}
|
|
60466
|
+
|
|
60467
|
+
// Full date format with no valueObject means the value is not a valid calendar date.
|
|
60207
60468
|
elem.validity = 'patternMismatch';
|
|
60208
60469
|
elem.errorMessage = elem.setCustomValidityPatternMismatch || elem.setCustomValidity || 'Invalid Date Format Entered';
|
|
60209
60470
|
return;
|
|
@@ -60705,7 +60966,7 @@ let AuroHelpText$4 = class AuroHelpText extends i$2 {
|
|
|
60705
60966
|
}
|
|
60706
60967
|
};
|
|
60707
60968
|
|
|
60708
|
-
var formkitVersion$4 = '
|
|
60969
|
+
var formkitVersion$4 = '202607011914';
|
|
60709
60970
|
|
|
60710
60971
|
// Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
|
|
60711
60972
|
// See LICENSE in the project root for license information.
|
|
@@ -61464,8 +61725,21 @@ let AuroFormValidation$1 = class AuroFormValidation {
|
|
|
61464
61725
|
return;
|
|
61465
61726
|
}
|
|
61466
61727
|
|
|
61467
|
-
// Validate that the date passed was the correct format and is a valid date
|
|
61728
|
+
// Validate that the date passed was the correct format and is a valid date.
|
|
61729
|
+
// For partial date formats, valueObject is never populated; validate them directly.
|
|
61468
61730
|
if (elem.value && !elem.valueObject) {
|
|
61731
|
+
const isPartialDateFormat = elem.util && !elem.util.isFullDateFormat(elem.type, elem.format);
|
|
61732
|
+
|
|
61733
|
+
if (isPartialDateFormat) {
|
|
61734
|
+
if (!elem.util.isValidPartialDate(elem.value, elem.format)) {
|
|
61735
|
+
elem.validity = 'patternMismatch';
|
|
61736
|
+
elem.errorMessage = elem.setCustomValidityPatternMismatch || elem.setCustomValidity || 'Invalid Date Format Entered';
|
|
61737
|
+
}
|
|
61738
|
+
// Partial date format — validate directly and skip max/min checks since valueObject is undefined.
|
|
61739
|
+
return;
|
|
61740
|
+
}
|
|
61741
|
+
|
|
61742
|
+
// Full date format with no valueObject means the value is not a valid calendar date.
|
|
61469
61743
|
elem.validity = 'patternMismatch';
|
|
61470
61744
|
elem.errorMessage = elem.setCustomValidityPatternMismatch || elem.setCustomValidity || 'Invalid Date Format Entered';
|
|
61471
61745
|
return;
|
|
@@ -65913,7 +66187,7 @@ let AuroHelpText$2 = class AuroHelpText extends i$2 {
|
|
|
65913
66187
|
}
|
|
65914
66188
|
};
|
|
65915
66189
|
|
|
65916
|
-
var formkitVersion$2 = '
|
|
66190
|
+
var formkitVersion$2 = '202607011914';
|
|
65917
66191
|
|
|
65918
66192
|
let AuroElement$2$1 = class AuroElement extends i$2 {
|
|
65919
66193
|
static get properties() {
|
|
@@ -66665,6 +66939,23 @@ let AuroDropdown$1 = class AuroDropdown extends AuroElement$2$1 {
|
|
|
66665
66939
|
if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown") {
|
|
66666
66940
|
this.trigger.focus();
|
|
66667
66941
|
}
|
|
66942
|
+
|
|
66943
|
+
|
|
66944
|
+
if (!this.isPopoverVisible) {
|
|
66945
|
+
// wait til the bib gets fully closed and rendered
|
|
66946
|
+
setTimeout(() => {
|
|
66947
|
+
// Skip if the bib re-opened, or if focus moved intentionally outside the dropdown (not to body).
|
|
66948
|
+
// Restore focus to trigger when focus is still inside the bib (:focus-within) or fell to body.
|
|
66949
|
+
if (this.isPopoverVisible ||
|
|
66950
|
+
// eslint-disable-next-line no-extra-parens
|
|
66951
|
+
(!this.bibContent?.matches(':focus-within') &&
|
|
66952
|
+
document.activeElement !== document.body)) {
|
|
66953
|
+
return;
|
|
66954
|
+
}
|
|
66955
|
+
// Restore focus to the trigger.
|
|
66956
|
+
this.trigger.focus();
|
|
66957
|
+
});
|
|
66958
|
+
}
|
|
66668
66959
|
}
|
|
66669
66960
|
|
|
66670
66961
|
firstUpdated() {
|
|
@@ -71590,8 +71881,21 @@ let AuroFormValidation$2 = class AuroFormValidation {
|
|
|
71590
71881
|
return;
|
|
71591
71882
|
}
|
|
71592
71883
|
|
|
71593
|
-
// Validate that the date passed was the correct format and is a valid date
|
|
71884
|
+
// Validate that the date passed was the correct format and is a valid date.
|
|
71885
|
+
// For partial date formats, valueObject is never populated; validate them directly.
|
|
71594
71886
|
if (elem.value && !elem.valueObject) {
|
|
71887
|
+
const isPartialDateFormat = elem.util && !elem.util.isFullDateFormat(elem.type, elem.format);
|
|
71888
|
+
|
|
71889
|
+
if (isPartialDateFormat) {
|
|
71890
|
+
if (!elem.util.isValidPartialDate(elem.value, elem.format)) {
|
|
71891
|
+
elem.validity = 'patternMismatch';
|
|
71892
|
+
elem.errorMessage = elem.setCustomValidityPatternMismatch || elem.setCustomValidity || 'Invalid Date Format Entered';
|
|
71893
|
+
}
|
|
71894
|
+
// Partial date format — validate directly and skip max/min checks since valueObject is undefined.
|
|
71895
|
+
return;
|
|
71896
|
+
}
|
|
71897
|
+
|
|
71898
|
+
// Full date format with no valueObject means the value is not a valid calendar date.
|
|
71595
71899
|
elem.validity = 'patternMismatch';
|
|
71596
71900
|
elem.errorMessage = elem.setCustomValidityPatternMismatch || elem.setCustomValidity || 'Invalid Date Format Entered';
|
|
71597
71901
|
return;
|
|
@@ -77521,10 +77825,11 @@ class AuroInputUtilities {
|
|
|
77521
77825
|
const dateFormat = format$1 || this.overrideFormat || pattern || 'mm/dd/yyyy';
|
|
77522
77826
|
|
|
77523
77827
|
if (dateFormat === 'dd' || dateFormat === 'yy' || dateFormat === 'yyyy') {
|
|
77524
|
-
const
|
|
77828
|
+
const fromValue = dateFormat === 'yyyy' ? 1900 : (dateFormat === 'yy' ? 0 : 1);
|
|
77829
|
+
const maxValue = dateFormat === 'dd' ? 31 : (dateFormat === 'yy' ? 99 : 2100);
|
|
77525
77830
|
return {
|
|
77526
77831
|
mask: IMask.MaskedRange,
|
|
77527
|
-
from:
|
|
77832
|
+
from: fromValue,
|
|
77528
77833
|
to: maxValue,
|
|
77529
77834
|
lazy: true,
|
|
77530
77835
|
placeholderChar: '',
|
|
@@ -77532,7 +77837,8 @@ class AuroInputUtilities {
|
|
|
77532
77837
|
return value.toString().padStart(dateFormat.length, '0');
|
|
77533
77838
|
},
|
|
77534
77839
|
parse(str) {
|
|
77535
|
-
|
|
77840
|
+
const num = parseInt(str, 10);
|
|
77841
|
+
return isNaN(num) ? null : num;
|
|
77536
77842
|
}
|
|
77537
77843
|
};
|
|
77538
77844
|
}
|
|
@@ -77596,6 +77902,49 @@ class AuroInputUtilities {
|
|
|
77596
77902
|
return type === 'date' && normalizedFormat.includes('yy') && normalizedFormat.includes('mm') && normalizedFormat.includes('dd');
|
|
77597
77903
|
}
|
|
77598
77904
|
|
|
77905
|
+
/**
|
|
77906
|
+
* Validates a value against a partial date format (one that lacks yy/mm/dd all three).
|
|
77907
|
+
* Day- and year-only formats (dd/yy/yyyy) are checked as integer ranges; other partial formats use
|
|
77908
|
+
* a date-fns parse + round-trip to confirm both validity and exact formatting.
|
|
77909
|
+
* @param {string} value - The user-facing display value.
|
|
77910
|
+
* @param {string} format - The partial date format string (e.g. "mm/yyyy", "yyyy", "dd").
|
|
77911
|
+
* @returns {boolean}
|
|
77912
|
+
*/
|
|
77913
|
+
isValidPartialDate(value, format$1) {
|
|
77914
|
+
if (!value || !format$1) {
|
|
77915
|
+
return false;
|
|
77916
|
+
}
|
|
77917
|
+
const normalizedFormat = format$1.toLowerCase();
|
|
77918
|
+
|
|
77919
|
+
if (normalizedFormat === 'dd') {
|
|
77920
|
+
const num = Number(value);
|
|
77921
|
+
return (/^\d{2}$/u).test(value) && num >= 1 && num <= 31;
|
|
77922
|
+
}
|
|
77923
|
+
if (normalizedFormat === 'yy') {
|
|
77924
|
+
const num = Number(value);
|
|
77925
|
+
return (/^\d{2}$/u).test(value) && num >= 0 && num <= 99;
|
|
77926
|
+
}
|
|
77927
|
+
if (normalizedFormat === 'yyyy') {
|
|
77928
|
+
const num = Number(value);
|
|
77929
|
+
return (/^\d{4}$/u).test(value) && num >= 1900 && num <= 2100;
|
|
77930
|
+
}
|
|
77931
|
+
|
|
77932
|
+
const dateFnsMask = this.toDateFnsMask(normalizedFormat);
|
|
77933
|
+
// Use the 1st of the current month as the reference so that formats
|
|
77934
|
+
// omitting a day (e.g. MM/yyyy) never roll over on days 29–31.
|
|
77935
|
+
const referenceDate = new Date();
|
|
77936
|
+
referenceDate.setDate(1);
|
|
77937
|
+
const parsed = parse(value, dateFnsMask, referenceDate);
|
|
77938
|
+
if (!isValid(parsed) || format(parsed, dateFnsMask) !== value) {
|
|
77939
|
+
return false;
|
|
77940
|
+
}
|
|
77941
|
+
if (normalizedFormat.includes('yyyy')) {
|
|
77942
|
+
const year = parsed.getFullYear();
|
|
77943
|
+
return year >= 1900 && year <= 2100;
|
|
77944
|
+
}
|
|
77945
|
+
return true;
|
|
77946
|
+
}
|
|
77947
|
+
|
|
77599
77948
|
/**
|
|
77600
77949
|
* Converts a display string to its model value.
|
|
77601
77950
|
* For full date formats, converts the display string to an ISO date string.
|
|
@@ -78215,6 +78564,13 @@ class BaseInput extends AuroElement$1$1 {
|
|
|
78215
78564
|
type: String
|
|
78216
78565
|
},
|
|
78217
78566
|
|
|
78567
|
+
/**
|
|
78568
|
+
* Custom help text message to display when validity = `patternMismatch`.
|
|
78569
|
+
*/
|
|
78570
|
+
setCustomValidityPatternMismatch: {
|
|
78571
|
+
type: String
|
|
78572
|
+
},
|
|
78573
|
+
|
|
78218
78574
|
/**
|
|
78219
78575
|
* Custom help text message to display when validity = `rangeOverflow`.
|
|
78220
78576
|
*/
|
|
@@ -78285,7 +78641,7 @@ class BaseInput extends AuroElement$1$1 {
|
|
|
78285
78641
|
|
|
78286
78642
|
/**
|
|
78287
78643
|
* Populates the `type` attribute on the input.
|
|
78288
|
-
* @type {'text' | 'password' | 'email' | 'credit-card' | 'tel' | 'number'}
|
|
78644
|
+
* @type {'text' | 'password' | 'email' | 'credit-card' | 'tel' | 'number' | 'date'}
|
|
78289
78645
|
* @default 'text'
|
|
78290
78646
|
*/
|
|
78291
78647
|
type: {
|
|
@@ -78310,7 +78666,7 @@ class BaseInput extends AuroElement$1$1 {
|
|
|
78310
78666
|
|
|
78311
78667
|
/**
|
|
78312
78668
|
* Populates the `value` attribute on the input. Can also be read to retrieve the current value of the input.
|
|
78313
|
-
*
|
|
78669
|
+
* 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.
|
|
78314
78670
|
*/
|
|
78315
78671
|
value: {
|
|
78316
78672
|
type: String
|
|
@@ -79433,7 +79789,7 @@ let AuroHelpText$1$1 = class AuroHelpText extends i$2 {
|
|
|
79433
79789
|
}
|
|
79434
79790
|
};
|
|
79435
79791
|
|
|
79436
|
-
var formkitVersion$1$1 = '
|
|
79792
|
+
var formkitVersion$1$1 = '202607011914';
|
|
79437
79793
|
|
|
79438
79794
|
// Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
79439
79795
|
// See LICENSE in the project root for license information.
|
|
@@ -80559,7 +80915,7 @@ let AuroBibtemplate$1 = class AuroBibtemplate extends i$2 {
|
|
|
80559
80915
|
}
|
|
80560
80916
|
};
|
|
80561
80917
|
|
|
80562
|
-
var formkitVersion$3 = '
|
|
80918
|
+
var formkitVersion$3 = '202607011914';
|
|
80563
80919
|
|
|
80564
80920
|
var styleCss$1$3 = i$4`.util_displayInline{display:inline}.util_displayInlineBlock{display:inline-block}.util_displayBlock{display:block}.util_displayFlex{display:flex}.util_displayHidden{display:none}.util_displayHiddenVisually{position:absolute;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);width:1px;height:1px;padding:0;border:0}:host{display:block;text-align:left}:host [auro-dropdown]{--ds-auro-dropdown-trigger-background-color: transparent}:host #inputInBib::part(wrapper){box-shadow:none}:host #inputInBib::part(accent-left){display:none}:host([layout*=classic]) [auro-input]{width:100%}:host([layout*=classic]) [auro-input]::part(helpText){display:none}:host([layout*=classic]) #slotHolder{display:none}`;
|
|
80565
80921
|
|
|
@@ -84893,8 +85249,21 @@ class AuroFormValidation {
|
|
|
84893
85249
|
return;
|
|
84894
85250
|
}
|
|
84895
85251
|
|
|
84896
|
-
// Validate that the date passed was the correct format and is a valid date
|
|
85252
|
+
// Validate that the date passed was the correct format and is a valid date.
|
|
85253
|
+
// For partial date formats, valueObject is never populated; validate them directly.
|
|
84897
85254
|
if (elem.value && !elem.valueObject) {
|
|
85255
|
+
const isPartialDateFormat = elem.util && !elem.util.isFullDateFormat(elem.type, elem.format);
|
|
85256
|
+
|
|
85257
|
+
if (isPartialDateFormat) {
|
|
85258
|
+
if (!elem.util.isValidPartialDate(elem.value, elem.format)) {
|
|
85259
|
+
elem.validity = 'patternMismatch';
|
|
85260
|
+
elem.errorMessage = elem.setCustomValidityPatternMismatch || elem.setCustomValidity || 'Invalid Date Format Entered';
|
|
85261
|
+
}
|
|
85262
|
+
// Partial date format — validate directly and skip max/min checks since valueObject is undefined.
|
|
85263
|
+
return;
|
|
85264
|
+
}
|
|
85265
|
+
|
|
85266
|
+
// Full date format with no valueObject means the value is not a valid calendar date.
|
|
84898
85267
|
elem.validity = 'patternMismatch';
|
|
84899
85268
|
elem.errorMessage = elem.setCustomValidityPatternMismatch || elem.setCustomValidity || 'Invalid Date Format Entered';
|
|
84900
85269
|
return;
|
|
@@ -89382,7 +89751,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$2 {
|
|
|
89382
89751
|
}
|
|
89383
89752
|
};
|
|
89384
89753
|
|
|
89385
|
-
var formkitVersion$1 = '
|
|
89754
|
+
var formkitVersion$1 = '202607011914';
|
|
89386
89755
|
|
|
89387
89756
|
class AuroElement extends i$2 {
|
|
89388
89757
|
static get properties() {
|
|
@@ -90134,6 +90503,23 @@ class AuroDropdown extends AuroElement {
|
|
|
90134
90503
|
if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown") {
|
|
90135
90504
|
this.trigger.focus();
|
|
90136
90505
|
}
|
|
90506
|
+
|
|
90507
|
+
|
|
90508
|
+
if (!this.isPopoverVisible) {
|
|
90509
|
+
// wait til the bib gets fully closed and rendered
|
|
90510
|
+
setTimeout(() => {
|
|
90511
|
+
// Skip if the bib re-opened, or if focus moved intentionally outside the dropdown (not to body).
|
|
90512
|
+
// Restore focus to trigger when focus is still inside the bib (:focus-within) or fell to body.
|
|
90513
|
+
if (this.isPopoverVisible ||
|
|
90514
|
+
// eslint-disable-next-line no-extra-parens
|
|
90515
|
+
(!this.bibContent?.matches(':focus-within') &&
|
|
90516
|
+
document.activeElement !== document.body)) {
|
|
90517
|
+
return;
|
|
90518
|
+
}
|
|
90519
|
+
// Restore focus to the trigger.
|
|
90520
|
+
this.trigger.focus();
|
|
90521
|
+
});
|
|
90522
|
+
}
|
|
90137
90523
|
}
|
|
90138
90524
|
|
|
90139
90525
|
firstUpdated() {
|
|
@@ -91404,7 +91790,7 @@ class AuroHelpText extends i$2 {
|
|
|
91404
91790
|
}
|
|
91405
91791
|
}
|
|
91406
91792
|
|
|
91407
|
-
var formkitVersion = '
|
|
91793
|
+
var formkitVersion = '202607011914';
|
|
91408
91794
|
|
|
91409
91795
|
var styleCss = i$4`.util_displayInline{display:inline}.util_displayInlineBlock{display:inline-block}.util_displayBlock{display:block}.util_displayFlex{display:flex}.util_displayHidden{display:none}.util_displayHiddenVisually{position:absolute;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);width:1px;height:1px;padding:0;border:0}.body-default{font-size:var(--wcss-body-default-font-size, 1rem);font-weight:var(--wcss-body-default-weight, );line-height:var(--wcss-body-default-line-height, 1.5rem)}.body-default,.body-default-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-default-emphasized{font-size:var(--wcss-body-default-emphasized-font-size, 1rem);font-weight:var(--wcss-body-default-emphasized-weight, );line-height:var(--wcss-body-default-emphasized-line-height, 1.5rem)}.body-lg{font-size:var(--wcss-body-lg-font-size, 1.125rem);font-weight:var(--wcss-body-lg-weight, );line-height:var(--wcss-body-lg-line-height, 1.625rem)}.body-lg,.body-lg-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-lg-emphasized{font-size:var(--wcss-body-lg-emphasized-font-size, 1.125rem);font-weight:var(--wcss-body-lg-emphasized-weight, );line-height:var(--wcss-body-lg-emphasized-line-height, 1.625rem)}.body-sm{font-size:var(--wcss-body-sm-font-size, 0.875rem);font-weight:var(--wcss-body-sm-weight, );line-height:var(--wcss-body-sm-line-height, 1.25rem)}.body-sm,.body-sm-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-sm-emphasized{font-size:var(--wcss-body-sm-emphasized-font-size, 0.875rem);font-weight:var(--wcss-body-sm-emphasized-weight, );line-height:var(--wcss-body-sm-emphasized-line-height, 1.25rem)}.body-xs{font-size:var(--wcss-body-xs-font-size, 0.75rem);font-weight:var(--wcss-body-xs-weight, );line-height:var(--wcss-body-xs-line-height, 1rem)}.body-xs,.body-xs-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-xs-emphasized{font-size:var(--wcss-body-xs-emphasized-font-size, 0.75rem);font-weight:var(--wcss-body-xs-emphasized-weight, );line-height:var(--wcss-body-xs-emphasized-line-height, 1rem)}.body-2xs{font-size:var(--wcss-body-2xs-font-size, 0.625rem);font-weight:var(--wcss-body-2xs-weight, );line-height:var(--wcss-body-2xs-line-height, 0.875rem)}.body-2xs,.body-2xs-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-2xs-emphasized{font-size:var(--wcss-body-2xs-emphasized-font-size, 0.625rem);font-weight:var(--wcss-body-2xs-emphasized-weight, );line-height:var(--wcss-body-2xs-emphasized-line-height, 0.875rem)}.display-2xl{font-family:var(--wcss-display-2xl-family, "AS Circular"),var(--wcss-display-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-2xl-font-size, clamp(3.5rem, 6vw, 5.375rem));font-weight:var(--wcss-display-2xl-weight, 300);letter-spacing:var(--wcss-display-2xl-letter-spacing, 0);line-height:var(--wcss-display-2xl-line-height, 1.3)}.display-xl{font-family:var(--wcss-display-xl-family, "AS Circular"),var(--wcss-display-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-xl-font-size, clamp(3rem, 5.3333333333vw, 4.5rem));font-weight:var(--wcss-display-xl-weight, 300);letter-spacing:var(--wcss-display-xl-letter-spacing, 0);line-height:var(--wcss-display-xl-line-height, 1.3)}.display-lg{font-family:var(--wcss-display-lg-family, "AS Circular"),var(--wcss-display-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-lg-font-size, clamp(2.75rem, 4.6666666667vw, 4rem));font-weight:var(--wcss-display-lg-weight, 300);letter-spacing:var(--wcss-display-lg-letter-spacing, 0);line-height:var(--wcss-display-lg-line-height, 1.3)}.display-md{font-family:var(--wcss-display-md-family, "AS Circular"),var(--wcss-display-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-md-font-size, clamp(2.5rem, 4vw, 3.5rem));font-weight:var(--wcss-display-md-weight, 300);letter-spacing:var(--wcss-display-md-letter-spacing, 0);line-height:var(--wcss-display-md-line-height, 1.3)}.display-sm{font-family:var(--wcss-display-sm-family, "AS Circular"),var(--wcss-display-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-sm-font-size, clamp(2rem, 3.6666666667vw, 3rem));font-weight:var(--wcss-display-sm-weight, 300);letter-spacing:var(--wcss-display-sm-letter-spacing, 0);line-height:var(--wcss-display-sm-line-height, 1.3)}.display-xs{font-family:var(--wcss-display-xs-family, "AS Circular"),var(--wcss-display-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-xs-font-size, clamp(1.75rem, 3vw, 2.375rem));font-weight:var(--wcss-display-xs-weight, 300);letter-spacing:var(--wcss-display-xs-letter-spacing, 0);line-height:var(--wcss-display-xs-line-height, 1.3)}.heading-xl{font-family:var(--wcss-heading-xl-family, "AS Circular"),var(--wcss-heading-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-xl-font-size, clamp(2rem, 3vw, 2.5rem));font-weight:var(--wcss-heading-xl-weight, 300);letter-spacing:var(--wcss-heading-xl-letter-spacing, 0);line-height:var(--wcss-heading-xl-line-height, 1.3)}.heading-lg{font-family:var(--wcss-heading-lg-family, "AS Circular"),var(--wcss-heading-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-lg-font-size, clamp(1.75rem, 2.6666666667vw, 2.25rem));font-weight:var(--wcss-heading-lg-weight, 300);letter-spacing:var(--wcss-heading-lg-letter-spacing, 0);line-height:var(--wcss-heading-lg-line-height, 1.3)}.heading-md{font-family:var(--wcss-heading-md-family, "AS Circular"),var(--wcss-heading-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-md-font-size, clamp(1.625rem, 2.3333333333vw, 1.75rem));font-weight:var(--wcss-heading-md-weight, 300);letter-spacing:var(--wcss-heading-md-letter-spacing, 0);line-height:var(--wcss-heading-md-line-height, 1.3)}.heading-sm{font-family:var(--wcss-heading-sm-family, "AS Circular"),var(--wcss-heading-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-sm-font-size, clamp(1.375rem, 2vw, 1.5rem));font-weight:var(--wcss-heading-sm-weight, 300);letter-spacing:var(--wcss-heading-sm-letter-spacing, 0);line-height:var(--wcss-heading-sm-line-height, 1.3)}.heading-xs{font-family:var(--wcss-heading-xs-family, "AS Circular"),var(--wcss-heading-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-xs-font-size, clamp(1.25rem, 1.6666666667vw, 1.25rem));font-weight:var(--wcss-heading-xs-weight, 300);letter-spacing:var(--wcss-heading-xs-letter-spacing, 0);line-height:var(--wcss-heading-xs-line-height, 1.3)}.heading-2xs{font-family:var(--wcss-heading-2xs-family, "AS Circular"),var(--wcss-heading-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-2xs-font-size, clamp(1.125rem, 1.5vw, 1.125rem));font-weight:var(--wcss-heading-2xs-weight, 300);letter-spacing:var(--wcss-heading-2xs-letter-spacing, 0);line-height:var(--wcss-heading-2xs-line-height, 1.3)}.accent-2xl{font-family:var(--wcss-accent-2xl-family, "Good OT"),var(--wcss-accent-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-2xl-font-size, clamp(2rem, 3.1666666667vw, 2.375rem));font-weight:var(--wcss-accent-2xl-weight, 450);letter-spacing:var(--wcss-accent-2xl-letter-spacing, 0.05em);line-height:var(--wcss-accent-2xl-line-height, 1)}.accent-2xl,.accent-xl{text-transform:uppercase}.accent-xl{font-family:var(--wcss-accent-xl-family, "Good OT"),var(--wcss-accent-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-xl-font-size, clamp(1.625rem, 2.3333333333vw, 2rem));font-weight:var(--wcss-accent-xl-weight, 450);letter-spacing:var(--wcss-accent-xl-letter-spacing, 0.05em);line-height:var(--wcss-accent-xl-line-height, 1.3)}.accent-lg{font-family:var(--wcss-accent-lg-family, "Good OT"),var(--wcss-accent-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-lg-font-size, clamp(1.5rem, 2.1666666667vw, 1.75rem));font-weight:var(--wcss-accent-lg-weight, 450);letter-spacing:var(--wcss-accent-lg-letter-spacing, 0.05em);line-height:var(--wcss-accent-lg-line-height, 1.3)}.accent-lg,.accent-md{text-transform:uppercase}.accent-md{font-family:var(--wcss-accent-md-family, "Good OT"),var(--wcss-accent-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-md-font-size, clamp(1.375rem, 1.8333333333vw, 1.5rem));font-weight:var(--wcss-accent-md-weight, 500);letter-spacing:var(--wcss-accent-md-letter-spacing, 0.05em);line-height:var(--wcss-accent-md-line-height, 1.3)}.accent-sm{font-family:var(--wcss-accent-sm-family, "Good OT"),var(--wcss-accent-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-sm-font-size, clamp(1.125rem, 1.5vw, 1.25rem));font-weight:var(--wcss-accent-sm-weight, 500);letter-spacing:var(--wcss-accent-sm-letter-spacing, 0.05em);line-height:var(--wcss-accent-sm-line-height, 1.3)}.accent-sm,.accent-xs{text-transform:uppercase}.accent-xs{font-family:var(--wcss-accent-xs-family, "Good OT"),var(--wcss-accent-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-xs-font-size, clamp(1rem, 1.3333333333vw, 1rem));font-weight:var(--wcss-accent-xs-weight, 500);letter-spacing:var(--wcss-accent-xs-letter-spacing, 0.1em);line-height:var(--wcss-accent-xs-line-height, 1.3)}.accent-2xs{font-family:var(--wcss-accent-2xs-family, "Good OT"),var(--wcss-accent-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-2xs-font-size, clamp(0.875rem, 1.1666666667vw, 0.875rem));font-weight:var(--wcss-accent-2xs-weight, 450);letter-spacing:var(--wcss-accent-2xs-letter-spacing, 0.1em);line-height:var(--wcss-accent-2xs-line-height, 1.3);text-transform:uppercase}[auro-dropdown]{--ds-auro-dropdown-trigger-border-color: var(--ds-auro-select-border-color);--ds-auro-dropdown-trigger-background-color: var(--ds-auro-select-background-color);--ds-auro-dropdown-trigger-container-color: var(--ds-auro-select-background-color);--ds-auro-dropdown-trigger-outline-color: var(--ds-auro-select-outline-color)}:host{display:inline-block;text-align:left;vertical-align:top}:host([layout*=emphasized]) [auro-dropdown],:host([layout*=snowflake]) [auro-dropdown]{--ds-auro-select-border-color: transparent}:host([layout*=emphasized]) .mainContent,:host([layout*=snowflake]) .mainContent{text-align:center}.mainContent{position:relative;display:flex;overflow:hidden;flex:1;flex-direction:column;align-items:center;justify-content:center}.valueContainer [slot=displayValue]{display:none}.accents{display:flex;flex-direction:row;align-items:center;justify-content:center}::slotted([slot=typeIcon]){margin-right:var(--ds-size-100, 0.5rem)}.displayValue{display:block}.displayValue:not(.force){display:none}.displayValue:not(.force).hasContent:is(.withValue):not(.hasFocus){display:block}.triggerContent{display:flex;width:100%;align-items:center;justify-content:center}:host([layout*=emphasized]) .triggerContent{padding:0 var(--ds-size-100, 0.5rem) 0 var(--ds-size-300, 1.5rem)}:host([layout*=snowflake]) .triggerContent{padding:0 var(--ds-size-100, 0.5rem) 0 var(--ds-size-200, 1rem)}:host([layout*=snowflake]) label{padding-block:var(--ds-size-25, 0.125rem)}:host([layout*=classic]) .triggerContent{padding:0 var(--ds-size-100, 0.5rem)}:host([layout*=classic]) .mainContent{align-items:start}:host([layout*=classic]) label{overflow:hidden;cursor:text;text-overflow:ellipsis;white-space:nowrap}:host([layout*=classic]) .value{height:auto}label{color:var(--ds-auro-select-label-text-color)}:host(:is([validity]:not([validity=valid]))) [auro-dropdown]{--ds-auro-select-border-color: var(--ds-basic-color-status-error, #e31f26);--ds-auro-select-outline-color: var(--ds-basic-color-status-error, #e31f26);--ds-auro-dropdown-helptext-text-color: var(--ds-basic-color-texticon-default, #2a2a2a)}:host([ondark]:is([validity]:not([validity=valid]))) [auro-dropdown],:host([appearance=inverse]:is([validity]:not([validity=valid]))) [auro-dropdown]{--ds-auro-select-border-color: var(--ds-advanced-color-state-error-inverse, #f9a4a8);--ds-auro-select-outline-color: var(--ds-advanced-color-state-error-inverse, #f9a4a8);--ds-auro-dropdown-helptext-text-color: var(--ds-basic-color-texticon-inverse, #ffffff)}#slotHolder{display:none}:host([fluid]){width:100%}:host([disabled]){pointer-events:none;user-select:none}:host([disabled]:not([ondark])) [auro-dropdown],:host([disabled]:not([appearance=inverse])) [auro-dropdown]{--ds-auro-select-border-color: var(--ds-basic-color-border-subtle, #dddddd)}:host(:not([layout*=classic])[disabled][ondark]) [auro-dropdown],:host(:not([layout*=classic])[disabled][appearance=inverse]) [auro-dropdown]{--ds-auro-select-border-color: transparent}`;
|
|
91410
91796
|
|
|
@@ -92265,6 +92651,14 @@ class AuroSelect extends AuroElement$1 {
|
|
|
92265
92651
|
this.menu.addEventListener("auroMenu-loadingChange", (event) => this.handleMenuLoadingChange(event));
|
|
92266
92652
|
|
|
92267
92653
|
this.menu.addEventListener("auroMenu-selectValueFailure", () => {
|
|
92654
|
+
// Menu dispatches this from two paths: a programmatic value mismatch
|
|
92655
|
+
// (menu pre-clears its own optionSelected to undefined before firing)
|
|
92656
|
+
// and a click on an unselected valueless option (menu leaves state
|
|
92657
|
+
// untouched). Only mirror the clear in the first case — otherwise a
|
|
92658
|
+
// valueless click in multiSelect would wipe every prior pick.
|
|
92659
|
+
if (this.menu.optionSelected !== undefined) {
|
|
92660
|
+
return;
|
|
92661
|
+
}
|
|
92268
92662
|
this.value = undefined;
|
|
92269
92663
|
this.optionSelected = this.multiSelect ? [] : undefined;
|
|
92270
92664
|
// The trigger label is rendered imperatively into #value, so a property
|
|
@@ -92465,6 +92859,13 @@ class AuroSelect extends AuroElement$1 {
|
|
|
92465
92859
|
const cycleIndex = (this.typeaheadBuffer.length - 1) % matches.length;
|
|
92466
92860
|
match = matches[cycleIndex];
|
|
92467
92861
|
}
|
|
92862
|
+
} else if (!match && this.typeaheadBuffer.length > 1) {
|
|
92863
|
+
// Buffer has no prefix match and isn't a repeat-char cycle (e.g. "a" then
|
|
92864
|
+
// "b" against [Apple, Banana]). Reset to just the new key and retry —
|
|
92865
|
+
// mirrors native <select>, which falls back to a single-char search when
|
|
92866
|
+
// accumulated input matches nothing, rather than swallowing the keystroke.
|
|
92867
|
+
this.typeaheadBuffer = key;
|
|
92868
|
+
match = options.find((option) => this._getOptionDisplayText(option).startsWith(key));
|
|
92468
92869
|
}
|
|
92469
92870
|
|
|
92470
92871
|
// Intentional: no-match leaves the bib closed (deviates from APG / some native <select>).
|