@aurodesignsystem-dev/auro-formkit 0.0.0-pr1519.1 → 0.0.0-pr1521.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/checkbox/demo/customize.min.js +2 -15
- package/components/checkbox/demo/getting-started.min.js +2 -15
- package/components/checkbox/demo/index.min.js +2 -15
- package/components/checkbox/dist/index.js +2 -15
- package/components/checkbox/dist/registered.js +2 -15
- package/components/combobox/demo/customize.min.js +10 -105
- package/components/combobox/demo/getting-started.min.js +10 -105
- package/components/combobox/demo/index.min.js +10 -105
- package/components/combobox/dist/index.js +10 -105
- package/components/combobox/dist/registered.js +10 -105
- package/components/counter/demo/customize.min.js +3 -33
- package/components/counter/demo/index.min.js +3 -33
- package/components/counter/dist/index.js +3 -33
- package/components/counter/dist/registered.js +3 -33
- package/components/datepicker/demo/customize.min.js +75 -153
- package/components/datepicker/demo/index.min.js +75 -153
- package/components/datepicker/dist/auro-calendar-cell.d.ts +14 -0
- package/components/datepicker/dist/auro-calendar.d.ts +12 -0
- package/components/datepicker/dist/index.js +75 -153
- package/components/datepicker/dist/registered.js +75 -153
- package/components/dropdown/demo/customize.min.js +1 -18
- package/components/dropdown/demo/getting-started.min.js +1 -18
- package/components/dropdown/demo/index.min.js +1 -18
- package/components/dropdown/dist/index.js +1 -18
- package/components/dropdown/dist/registered.js +1 -18
- package/components/form/demo/customize.min.js +102 -441
- package/components/form/demo/getting-started.min.js +102 -441
- package/components/form/demo/index.min.js +102 -441
- package/components/form/demo/registerDemoDeps.min.js +102 -441
- package/components/input/demo/api.md +57 -58
- package/components/input/demo/customize.min.js +7 -72
- package/components/input/demo/getting-started.min.js +7 -72
- package/components/input/demo/index.min.js +7 -72
- package/components/input/dist/base-input.d.ts +3 -9
- package/components/input/dist/index.js +7 -72
- package/components/input/dist/registered.js +7 -72
- package/components/input/dist/utilities.d.ts +0 -9
- package/components/radio/demo/customize.min.js +2 -15
- package/components/radio/demo/getting-started.min.js +2 -15
- package/components/radio/demo/index.min.js +2 -15
- package/components/radio/dist/index.js +2 -15
- package/components/radio/dist/registered.js +2 -15
- package/components/select/demo/customize.min.js +3 -48
- package/components/select/demo/getting-started.min.js +3 -48
- package/components/select/demo/index.min.js +3 -48
- package/components/select/dist/index.js +3 -48
- package/components/select/dist/registered.js +3 -48
- package/custom-elements.json +45 -78
- package/package.json +1 -1
|
@@ -522,21 +522,8 @@ class AuroFormValidation {
|
|
|
522
522
|
return;
|
|
523
523
|
}
|
|
524
524
|
|
|
525
|
-
// Validate that the date passed was the correct format and is a valid date
|
|
526
|
-
// For partial date formats, valueObject is never populated; validate them directly.
|
|
525
|
+
// Validate that the date passed was the correct format and is a valid date
|
|
527
526
|
if (elem.value && !elem.valueObject) {
|
|
528
|
-
const isPartialDateFormat = elem.util && !elem.util.isFullDateFormat(elem.type, elem.format);
|
|
529
|
-
|
|
530
|
-
if (isPartialDateFormat) {
|
|
531
|
-
if (!elem.util.isValidPartialDate(elem.value, elem.format)) {
|
|
532
|
-
elem.validity = 'patternMismatch';
|
|
533
|
-
elem.errorMessage = elem.setCustomValidityPatternMismatch || elem.setCustomValidity || 'Invalid Date Format Entered';
|
|
534
|
-
}
|
|
535
|
-
// Partial date format — validate directly and skip max/min checks since valueObject is undefined.
|
|
536
|
-
return;
|
|
537
|
-
}
|
|
538
|
-
|
|
539
|
-
// Full date format with no valueObject means the value is not a valid calendar date.
|
|
540
527
|
elem.validity = 'patternMismatch';
|
|
541
528
|
elem.errorMessage = elem.setCustomValidityPatternMismatch || elem.setCustomValidity || 'Invalid Date Format Entered';
|
|
542
529
|
return;
|
|
@@ -1114,7 +1101,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$2 {
|
|
|
1114
1101
|
}
|
|
1115
1102
|
};
|
|
1116
1103
|
|
|
1117
|
-
var formkitVersion$1 = '
|
|
1104
|
+
var formkitVersion$1 = '202607011730';
|
|
1118
1105
|
|
|
1119
1106
|
// Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
|
|
1120
1107
|
// See LICENSE in the project root for license information.
|
|
@@ -5460,7 +5447,7 @@ class AuroHelpText extends i$2 {
|
|
|
5460
5447
|
}
|
|
5461
5448
|
}
|
|
5462
5449
|
|
|
5463
|
-
var formkitVersion = '
|
|
5450
|
+
var formkitVersion = '202607011730';
|
|
5464
5451
|
|
|
5465
5452
|
let AuroElement$1 = class AuroElement extends i$2 {
|
|
5466
5453
|
static get properties() {
|
|
@@ -6212,23 +6199,6 @@ class AuroDropdown extends AuroElement$1 {
|
|
|
6212
6199
|
if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown") {
|
|
6213
6200
|
this.trigger.focus();
|
|
6214
6201
|
}
|
|
6215
|
-
|
|
6216
|
-
|
|
6217
|
-
if (!this.isPopoverVisible) {
|
|
6218
|
-
// wait til the bib gets fully closed and rendered
|
|
6219
|
-
setTimeout(() => {
|
|
6220
|
-
// Skip if the bib re-opened, or if focus moved intentionally outside the dropdown (not to body).
|
|
6221
|
-
// Restore focus to trigger when focus is still inside the bib (:focus-within) or fell to body.
|
|
6222
|
-
if (this.isPopoverVisible ||
|
|
6223
|
-
// eslint-disable-next-line no-extra-parens
|
|
6224
|
-
(!this.bibContent?.matches(':focus-within') &&
|
|
6225
|
-
document.activeElement !== document.body)) {
|
|
6226
|
-
return;
|
|
6227
|
-
}
|
|
6228
|
-
// Restore focus to the trigger.
|
|
6229
|
-
this.trigger.focus();
|
|
6230
|
-
});
|
|
6231
|
-
}
|
|
6232
6202
|
}
|
|
6233
6203
|
|
|
6234
6204
|
firstUpdated() {
|
|
@@ -478,21 +478,8 @@ class AuroFormValidation {
|
|
|
478
478
|
return;
|
|
479
479
|
}
|
|
480
480
|
|
|
481
|
-
// Validate that the date passed was the correct format and is a valid date
|
|
482
|
-
// For partial date formats, valueObject is never populated; validate them directly.
|
|
481
|
+
// Validate that the date passed was the correct format and is a valid date
|
|
483
482
|
if (elem.value && !elem.valueObject) {
|
|
484
|
-
const isPartialDateFormat = elem.util && !elem.util.isFullDateFormat(elem.type, elem.format);
|
|
485
|
-
|
|
486
|
-
if (isPartialDateFormat) {
|
|
487
|
-
if (!elem.util.isValidPartialDate(elem.value, elem.format)) {
|
|
488
|
-
elem.validity = 'patternMismatch';
|
|
489
|
-
elem.errorMessage = elem.setCustomValidityPatternMismatch || elem.setCustomValidity || 'Invalid Date Format Entered';
|
|
490
|
-
}
|
|
491
|
-
// Partial date format — validate directly and skip max/min checks since valueObject is undefined.
|
|
492
|
-
return;
|
|
493
|
-
}
|
|
494
|
-
|
|
495
|
-
// Full date format with no valueObject means the value is not a valid calendar date.
|
|
496
483
|
elem.validity = 'patternMismatch';
|
|
497
484
|
elem.errorMessage = elem.setCustomValidityPatternMismatch || elem.setCustomValidity || 'Invalid Date Format Entered';
|
|
498
485
|
return;
|
|
@@ -1064,7 +1051,7 @@ let AuroHelpText$1 = class AuroHelpText extends LitElement {
|
|
|
1064
1051
|
}
|
|
1065
1052
|
};
|
|
1066
1053
|
|
|
1067
|
-
var formkitVersion$1 = '
|
|
1054
|
+
var formkitVersion$1 = '202607011730';
|
|
1068
1055
|
|
|
1069
1056
|
// Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
|
|
1070
1057
|
// See LICENSE in the project root for license information.
|
|
@@ -5392,7 +5379,7 @@ class AuroHelpText extends LitElement {
|
|
|
5392
5379
|
}
|
|
5393
5380
|
}
|
|
5394
5381
|
|
|
5395
|
-
var formkitVersion = '
|
|
5382
|
+
var formkitVersion = '202607011730';
|
|
5396
5383
|
|
|
5397
5384
|
let AuroElement$1 = class AuroElement extends LitElement {
|
|
5398
5385
|
static get properties() {
|
|
@@ -6144,23 +6131,6 @@ class AuroDropdown extends AuroElement$1 {
|
|
|
6144
6131
|
if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown") {
|
|
6145
6132
|
this.trigger.focus();
|
|
6146
6133
|
}
|
|
6147
|
-
|
|
6148
|
-
|
|
6149
|
-
if (!this.isPopoverVisible) {
|
|
6150
|
-
// wait til the bib gets fully closed and rendered
|
|
6151
|
-
setTimeout(() => {
|
|
6152
|
-
// Skip if the bib re-opened, or if focus moved intentionally outside the dropdown (not to body).
|
|
6153
|
-
// Restore focus to trigger when focus is still inside the bib (:focus-within) or fell to body.
|
|
6154
|
-
if (this.isPopoverVisible ||
|
|
6155
|
-
// eslint-disable-next-line no-extra-parens
|
|
6156
|
-
(!this.bibContent?.matches(':focus-within') &&
|
|
6157
|
-
document.activeElement !== document.body)) {
|
|
6158
|
-
return;
|
|
6159
|
-
}
|
|
6160
|
-
// Restore focus to the trigger.
|
|
6161
|
-
this.trigger.focus();
|
|
6162
|
-
});
|
|
6163
|
-
}
|
|
6164
6134
|
}
|
|
6165
6135
|
|
|
6166
6136
|
firstUpdated() {
|
|
@@ -478,21 +478,8 @@ class AuroFormValidation {
|
|
|
478
478
|
return;
|
|
479
479
|
}
|
|
480
480
|
|
|
481
|
-
// Validate that the date passed was the correct format and is a valid date
|
|
482
|
-
// For partial date formats, valueObject is never populated; validate them directly.
|
|
481
|
+
// Validate that the date passed was the correct format and is a valid date
|
|
483
482
|
if (elem.value && !elem.valueObject) {
|
|
484
|
-
const isPartialDateFormat = elem.util && !elem.util.isFullDateFormat(elem.type, elem.format);
|
|
485
|
-
|
|
486
|
-
if (isPartialDateFormat) {
|
|
487
|
-
if (!elem.util.isValidPartialDate(elem.value, elem.format)) {
|
|
488
|
-
elem.validity = 'patternMismatch';
|
|
489
|
-
elem.errorMessage = elem.setCustomValidityPatternMismatch || elem.setCustomValidity || 'Invalid Date Format Entered';
|
|
490
|
-
}
|
|
491
|
-
// Partial date format — validate directly and skip max/min checks since valueObject is undefined.
|
|
492
|
-
return;
|
|
493
|
-
}
|
|
494
|
-
|
|
495
|
-
// Full date format with no valueObject means the value is not a valid calendar date.
|
|
496
483
|
elem.validity = 'patternMismatch';
|
|
497
484
|
elem.errorMessage = elem.setCustomValidityPatternMismatch || elem.setCustomValidity || 'Invalid Date Format Entered';
|
|
498
485
|
return;
|
|
@@ -1064,7 +1051,7 @@ let AuroHelpText$1 = class AuroHelpText extends LitElement {
|
|
|
1064
1051
|
}
|
|
1065
1052
|
};
|
|
1066
1053
|
|
|
1067
|
-
var formkitVersion$1 = '
|
|
1054
|
+
var formkitVersion$1 = '202607011730';
|
|
1068
1055
|
|
|
1069
1056
|
// Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
|
|
1070
1057
|
// See LICENSE in the project root for license information.
|
|
@@ -5392,7 +5379,7 @@ class AuroHelpText extends LitElement {
|
|
|
5392
5379
|
}
|
|
5393
5380
|
}
|
|
5394
5381
|
|
|
5395
|
-
var formkitVersion = '
|
|
5382
|
+
var formkitVersion = '202607011730';
|
|
5396
5383
|
|
|
5397
5384
|
let AuroElement$1 = class AuroElement extends LitElement {
|
|
5398
5385
|
static get properties() {
|
|
@@ -6144,23 +6131,6 @@ class AuroDropdown extends AuroElement$1 {
|
|
|
6144
6131
|
if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown") {
|
|
6145
6132
|
this.trigger.focus();
|
|
6146
6133
|
}
|
|
6147
|
-
|
|
6148
|
-
|
|
6149
|
-
if (!this.isPopoverVisible) {
|
|
6150
|
-
// wait til the bib gets fully closed and rendered
|
|
6151
|
-
setTimeout(() => {
|
|
6152
|
-
// Skip if the bib re-opened, or if focus moved intentionally outside the dropdown (not to body).
|
|
6153
|
-
// Restore focus to trigger when focus is still inside the bib (:focus-within) or fell to body.
|
|
6154
|
-
if (this.isPopoverVisible ||
|
|
6155
|
-
// eslint-disable-next-line no-extra-parens
|
|
6156
|
-
(!this.bibContent?.matches(':focus-within') &&
|
|
6157
|
-
document.activeElement !== document.body)) {
|
|
6158
|
-
return;
|
|
6159
|
-
}
|
|
6160
|
-
// Restore focus to the trigger.
|
|
6161
|
-
this.trigger.focus();
|
|
6162
|
-
});
|
|
6163
|
-
}
|
|
6164
6134
|
}
|
|
6165
6135
|
|
|
6166
6136
|
firstUpdated() {
|
|
@@ -559,21 +559,8 @@ let AuroFormValidation$1 = class AuroFormValidation {
|
|
|
559
559
|
return;
|
|
560
560
|
}
|
|
561
561
|
|
|
562
|
-
// Validate that the date passed was the correct format and is a valid date
|
|
563
|
-
// For partial date formats, valueObject is never populated; validate them directly.
|
|
562
|
+
// Validate that the date passed was the correct format and is a valid date
|
|
564
563
|
if (elem.value && !elem.valueObject) {
|
|
565
|
-
const isPartialDateFormat = elem.util && !elem.util.isFullDateFormat(elem.type, elem.format);
|
|
566
|
-
|
|
567
|
-
if (isPartialDateFormat) {
|
|
568
|
-
if (!elem.util.isValidPartialDate(elem.value, elem.format)) {
|
|
569
|
-
elem.validity = 'patternMismatch';
|
|
570
|
-
elem.errorMessage = elem.setCustomValidityPatternMismatch || elem.setCustomValidity || 'Invalid Date Format Entered';
|
|
571
|
-
}
|
|
572
|
-
// Partial date format — validate directly and skip max/min checks since valueObject is undefined.
|
|
573
|
-
return;
|
|
574
|
-
}
|
|
575
|
-
|
|
576
|
-
// Full date format with no valueObject means the value is not a valid calendar date.
|
|
577
564
|
elem.validity = 'patternMismatch';
|
|
578
565
|
elem.errorMessage = elem.setCustomValidityPatternMismatch || elem.setCustomValidity || 'Invalid Date Format Entered';
|
|
579
566
|
return;
|
|
@@ -10426,11 +10413,10 @@ let AuroInputUtilities$1 = class AuroInputUtilities {
|
|
|
10426
10413
|
const dateFormat = format || this.overrideFormat || pattern || 'mm/dd/yyyy';
|
|
10427
10414
|
|
|
10428
10415
|
if (dateFormat === 'dd' || dateFormat === 'yy' || dateFormat === 'yyyy') {
|
|
10429
|
-
const
|
|
10430
|
-
const maxValue = dateFormat === 'dd' ? 31 : (dateFormat === 'yy' ? 99 : 2100);
|
|
10416
|
+
const maxValue = dateFormat === 'dd' ? 31 : (dateFormat === 'yy' ? 99 : 9999);
|
|
10431
10417
|
return {
|
|
10432
10418
|
mask: IMask$1.MaskedRange,
|
|
10433
|
-
from:
|
|
10419
|
+
from: 1,
|
|
10434
10420
|
to: maxValue,
|
|
10435
10421
|
lazy: true,
|
|
10436
10422
|
placeholderChar: '',
|
|
@@ -10438,8 +10424,7 @@ let AuroInputUtilities$1 = class AuroInputUtilities {
|
|
|
10438
10424
|
return value.toString().padStart(dateFormat.length, '0');
|
|
10439
10425
|
},
|
|
10440
10426
|
parse(str) {
|
|
10441
|
-
|
|
10442
|
-
return isNaN(num) ? null : num;
|
|
10427
|
+
return parseInt(str) || null;
|
|
10443
10428
|
}
|
|
10444
10429
|
};
|
|
10445
10430
|
}
|
|
@@ -10503,49 +10488,6 @@ let AuroInputUtilities$1 = class AuroInputUtilities {
|
|
|
10503
10488
|
return type === 'date' && normalizedFormat.includes('yy') && normalizedFormat.includes('mm') && normalizedFormat.includes('dd');
|
|
10504
10489
|
}
|
|
10505
10490
|
|
|
10506
|
-
/**
|
|
10507
|
-
* Validates a value against a partial date format (one that lacks yy/mm/dd all three).
|
|
10508
|
-
* Day- and year-only formats (dd/yy/yyyy) are checked as integer ranges; other partial formats use
|
|
10509
|
-
* a date-fns parse + round-trip to confirm both validity and exact formatting.
|
|
10510
|
-
* @param {string} value - The user-facing display value.
|
|
10511
|
-
* @param {string} format - The partial date format string (e.g. "mm/yyyy", "yyyy", "dd").
|
|
10512
|
-
* @returns {boolean}
|
|
10513
|
-
*/
|
|
10514
|
-
isValidPartialDate(value, format) {
|
|
10515
|
-
if (!value || !format) {
|
|
10516
|
-
return false;
|
|
10517
|
-
}
|
|
10518
|
-
const normalizedFormat = format.toLowerCase();
|
|
10519
|
-
|
|
10520
|
-
if (normalizedFormat === 'dd') {
|
|
10521
|
-
const num = Number(value);
|
|
10522
|
-
return (/^\d{2}$/u).test(value) && num >= 1 && num <= 31;
|
|
10523
|
-
}
|
|
10524
|
-
if (normalizedFormat === 'yy') {
|
|
10525
|
-
const num = Number(value);
|
|
10526
|
-
return (/^\d{2}$/u).test(value) && num >= 0 && num <= 99;
|
|
10527
|
-
}
|
|
10528
|
-
if (normalizedFormat === 'yyyy') {
|
|
10529
|
-
const num = Number(value);
|
|
10530
|
-
return (/^\d{4}$/u).test(value) && num >= 1900 && num <= 2100;
|
|
10531
|
-
}
|
|
10532
|
-
|
|
10533
|
-
const dateFnsMask = this.toDateFnsMask(normalizedFormat);
|
|
10534
|
-
// Use the 1st of the current month as the reference so that formats
|
|
10535
|
-
// omitting a day (e.g. MM/yyyy) never roll over on days 29–31.
|
|
10536
|
-
const referenceDate = new Date();
|
|
10537
|
-
referenceDate.setDate(1);
|
|
10538
|
-
const parsed = parse$1(value, dateFnsMask, referenceDate);
|
|
10539
|
-
if (!isValid$1(parsed) || format$1(parsed, dateFnsMask) !== value) {
|
|
10540
|
-
return false;
|
|
10541
|
-
}
|
|
10542
|
-
if (normalizedFormat.includes('yyyy')) {
|
|
10543
|
-
const year = parsed.getFullYear();
|
|
10544
|
-
return year >= 1900 && year <= 2100;
|
|
10545
|
-
}
|
|
10546
|
-
return true;
|
|
10547
|
-
}
|
|
10548
|
-
|
|
10549
10491
|
/**
|
|
10550
10492
|
* Converts a display string to its model value.
|
|
10551
10493
|
* For full date formats, converts the display string to an ISO date string.
|
|
@@ -12500,6 +12442,33 @@ class AuroCalendarCell extends i$1 {
|
|
|
12500
12442
|
btn.classList.remove('inRange', 'lastHoveredDate', 'rangeDepartDate');
|
|
12501
12443
|
}
|
|
12502
12444
|
|
|
12445
|
+
/**
|
|
12446
|
+
* Re-applies the committed-range classes (inRange / rangeDepartDate /
|
|
12447
|
+
* rangeReturnDate) imperatively from the current dateFrom/dateTo. Used
|
|
12448
|
+
* after month navigation flushes: classMap in `renderCellButton` tracks
|
|
12449
|
+
* its own previous state, so a preceding imperative `classList.remove`
|
|
12450
|
+
* (from `clearRangePreviewClasses`) leaves classMap thinking the class
|
|
12451
|
+
* is still applied. On re-render with the same class-value, classMap
|
|
12452
|
+
* emits no delta and the class stays missing in the DOM. Re-toggling
|
|
12453
|
+
* imperatively resyncs the DOM with the committed range.
|
|
12454
|
+
* @param {Number} dateFrom - Depart timestamp (seconds).
|
|
12455
|
+
* @param {Number} dateTo - Return timestamp (seconds).
|
|
12456
|
+
* @returns {void}
|
|
12457
|
+
*/
|
|
12458
|
+
applyCommittedRangeClasses(dateFrom, dateTo) {
|
|
12459
|
+
const btn = this._cachedButton;
|
|
12460
|
+
if (!btn || !this.day || !this.day.date) return;
|
|
12461
|
+
|
|
12462
|
+
const dayDate = new Date(this.day.date * 1000).setHours(0, 0, 0, 0) / 1000;
|
|
12463
|
+
const isInRange = dayDate > dateFrom && dayDate < dateTo;
|
|
12464
|
+
const isDepart = dayDate === dateFrom;
|
|
12465
|
+
const isReturn = dayDate === dateTo;
|
|
12466
|
+
|
|
12467
|
+
btn.classList.toggle('inRange', isInRange);
|
|
12468
|
+
btn.classList.toggle('rangeDepartDate', isDepart);
|
|
12469
|
+
btn.classList.toggle('rangeReturnDate', isReturn);
|
|
12470
|
+
}
|
|
12471
|
+
|
|
12503
12472
|
renderCellButton() {
|
|
12504
12473
|
const outOfRange = this.isOutOfRange(this.day, this.min, this.max);
|
|
12505
12474
|
const blackout = this.isBlackout();
|
|
@@ -13650,7 +13619,7 @@ class AuroBibtemplate extends i$1 {
|
|
|
13650
13619
|
}
|
|
13651
13620
|
}
|
|
13652
13621
|
|
|
13653
|
-
var formkitVersion$2 = '
|
|
13622
|
+
var formkitVersion$2 = '202607011730';
|
|
13654
13623
|
|
|
13655
13624
|
let l$1 = class l{generateElementName(t,e){let o=t;return o+="-",o+=e.replace(/[.]/g,"_"),o}generateTag(o,s,a){const r=this.generateElementName(o,s),i=i$5`${s$5(r)}`;return customElements.get(r)||customElements.define(r,class extends a{}),i}};let d$1 = class d{registerComponent(t,e){customElements.get(t)||customElements.define(t,class extends e{});}closestElement(t,e=this,o=(e,s=e&&e.closest(t))=>e&&e!==document&&e!==window?s||o(e.getRootNode().host):null){return o(e)}handleComponentTagRename(t,e){const o=e.toLowerCase();t.tagName.toLowerCase()!==o&&t.setAttribute(o,true);}elementMatch(t,e){const o=e.toLowerCase();return t.tagName.toLowerCase()===o||t.hasAttribute(o)}getSlotText(t,e){const o=t.shadowRoot?.querySelector(`slot[name="${e}"]`),s=(o?.assignedNodes({flatten:true})||[]).map(t=>t.textContent?.trim()).join(" ").trim();return s||null}};let h$4 = class h{registerComponent(t,e){customElements.get(t)||customElements.define(t,class extends e{});}closestElement(t,e=this,o=(e,s=e&&e.closest(t))=>e&&e!==document&&e!==window?s||o(e.getRootNode().host):null){return o(e)}handleComponentTagRename(t,e){const o=e.toLowerCase();t.tagName.toLowerCase()!==o&&t.setAttribute(o,true);}elementMatch(t,e){const o=e.toLowerCase();return t.tagName.toLowerCase()===o||t.hasAttribute(o)}};var c$3=i$3`:host{color:var(--ds-auro-loader-color)}:host>span{background-color:var(--ds-auro-loader-background-color);border-color:var(--ds-auro-loader-border-color)}:host([onlight]),:host([appearance=brand]){--ds-auro-loader-color: var(--ds-basic-color-brand-primary, #01426a)}:host([ondark]),:host([appearance=inverse]){--ds-auro-loader-color: var(--ds-basic-color-texticon-inverse, #ffffff)}:host([orbit])>span{--ds-auro-loader-background-color: transparent}:host([orbit])>span:nth-child(1){--ds-auro-loader-border-color: currentcolor;opacity:.25}:host([orbit])>span:nth-child(2){--ds-auro-loader-border-color: currentcolor;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent}
|
|
13656
13625
|
`,u$6=i$3`.body-default{font-size:var(--wcss-body-default-font-size, 1rem);line-height:var(--wcss-body-default-line-height, 1.5rem)}.body-default,.body-lg{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-weight, 450);letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-lg{font-size:var(--wcss-body-lg-font-size, 1.125rem);line-height:var(--wcss-body-lg-line-height, 1.625rem)}.body-sm{font-size:var(--wcss-body-sm-font-size, .875rem);line-height:var(--wcss-body-sm-line-height, 1.25rem)}.body-sm,.body-xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-weight, 450);letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-xs{font-size:var(--wcss-body-xs-font-size, .75rem);line-height:var(--wcss-body-xs-line-height, 1rem)}.body-2xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:var(--wcss-body-2xs-font-size, .625rem);font-weight:var(--wcss-body-weight, 450);letter-spacing:var(--wcss-body-letter-spacing, 0);line-height:var(--wcss-body-2xs-line-height, .875rem)}.display-2xl{font-family:var(--wcss-display-2xl-family, "AS Circular"),var(--wcss-display-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-2xl-font-size, clamp(3.5rem, 6vw, 5.375rem));font-weight:var(--wcss-display-2xl-weight, 300);letter-spacing:var(--wcss-display-2xl-letter-spacing, 0);line-height:var(--wcss-display-2xl-line-height, 1.3)}.display-xl{font-family:var(--wcss-display-xl-family, "AS Circular"),var(--wcss-display-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-xl-font-size, clamp(3rem, 5.3333333333vw, 4.5rem));font-weight:var(--wcss-display-xl-weight, 300);letter-spacing:var(--wcss-display-xl-letter-spacing, 0);line-height:var(--wcss-display-xl-line-height, 1.3)}.display-lg{font-family:var(--wcss-display-lg-family, "AS Circular"),var(--wcss-display-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-lg-font-size, clamp(2.75rem, 4.6666666667vw, 4rem));font-weight:var(--wcss-display-lg-weight, 300);letter-spacing:var(--wcss-display-lg-letter-spacing, 0);line-height:var(--wcss-display-lg-line-height, 1.3)}.display-md{font-family:var(--wcss-display-md-family, "AS Circular"),var(--wcss-display-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-md-font-size, clamp(2.5rem, 4vw, 3.5rem));font-weight:var(--wcss-display-md-weight, 300);letter-spacing:var(--wcss-display-md-letter-spacing, 0);line-height:var(--wcss-display-md-line-height, 1.3)}.display-sm{font-family:var(--wcss-display-sm-family, "AS Circular"),var(--wcss-display-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-sm-font-size, clamp(2rem, 3.6666666667vw, 3rem));font-weight:var(--wcss-display-sm-weight, 300);letter-spacing:var(--wcss-display-sm-letter-spacing, 0);line-height:var(--wcss-display-sm-line-height, 1.3)}.display-xs{font-family:var(--wcss-display-xs-family, "AS Circular"),var(--wcss-display-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-xs-font-size, clamp(1.75rem, 3vw, 2.375rem));font-weight:var(--wcss-display-xs-weight, 300);letter-spacing:var(--wcss-display-xs-letter-spacing, 0);line-height:var(--wcss-display-xs-line-height, 1.3)}.heading-xl{font-family:var(--wcss-heading-xl-family, "AS Circular"),var(--wcss-heading-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-xl-font-size, clamp(2rem, 3vw, 2.5rem));font-weight:var(--wcss-heading-xl-weight, 300);letter-spacing:var(--wcss-heading-xl-letter-spacing, 0);line-height:var(--wcss-heading-xl-line-height, 1.3)}.heading-lg{font-family:var(--wcss-heading-lg-family, "AS Circular"),var(--wcss-heading-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-lg-font-size, clamp(1.75rem, 2.6666666667vw, 2.25rem));font-weight:var(--wcss-heading-lg-weight, 300);letter-spacing:var(--wcss-heading-lg-letter-spacing, 0);line-height:var(--wcss-heading-lg-line-height, 1.3)}.heading-md{font-family:var(--wcss-heading-md-family, "AS Circular"),var(--wcss-heading-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-md-font-size, clamp(1.625rem, 2.3333333333vw, 1.75rem));font-weight:var(--wcss-heading-md-weight, 300);letter-spacing:var(--wcss-heading-md-letter-spacing, 0);line-height:var(--wcss-heading-md-line-height, 1.3)}.heading-sm{font-family:var(--wcss-heading-sm-family, "AS Circular"),var(--wcss-heading-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-sm-font-size, clamp(1.375rem, 2vw, 1.5rem));font-weight:var(--wcss-heading-sm-weight, 300);letter-spacing:var(--wcss-heading-sm-letter-spacing, 0);line-height:var(--wcss-heading-sm-line-height, 1.3)}.heading-xs{font-family:var(--wcss-heading-xs-family, "AS Circular"),var(--wcss-heading-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-xs-font-size, clamp(1.25rem, 1.6666666667vw, 1.25rem));font-weight:var(--wcss-heading-xs-weight, 450);letter-spacing:var(--wcss-heading-xs-letter-spacing, 0);line-height:var(--wcss-heading-xs-line-height, 1.3)}.heading-2xs{font-family:var(--wcss-heading-2xs-family, "AS Circular"),var(--wcss-heading-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-2xs-font-size, clamp(1.125rem, 1.5vw, 1.125rem));font-weight:var(--wcss-heading-2xs-weight, 450);letter-spacing:var(--wcss-heading-2xs-letter-spacing, 0);line-height:var(--wcss-heading-2xs-line-height, 1.3)}.accent-2xl{font-family:var(--wcss-accent-2xl-family, "Good OT"),var(--wcss-accent-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-2xl-font-size, clamp(2rem, 3.1666666667vw, 2.375rem));font-weight:var(--wcss-accent-2xl-weight, 450);letter-spacing:var(--wcss-accent-2xl-letter-spacing, .05em);line-height:var(--wcss-accent-2xl-line-height, 1)}.accent-2xl,.accent-xl{text-transform:uppercase}.accent-xl{font-family:var(--wcss-accent-xl-family, "Good OT"),var(--wcss-accent-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-xl-font-size, clamp(1.625rem, 2.3333333333vw, 2rem));font-weight:var(--wcss-accent-xl-weight, 450);letter-spacing:var(--wcss-accent-xl-letter-spacing, .05em);line-height:var(--wcss-accent-xl-line-height, 1.3)}.accent-lg{font-family:var(--wcss-accent-lg-family, "Good OT"),var(--wcss-accent-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-lg-font-size, clamp(1.5rem, 2.1666666667vw, 1.75rem));font-weight:var(--wcss-accent-lg-weight, 450);letter-spacing:var(--wcss-accent-lg-letter-spacing, .05em);line-height:var(--wcss-accent-lg-line-height, 1.3)}.accent-lg,.accent-md{text-transform:uppercase}.accent-md{font-family:var(--wcss-accent-md-family, "Good OT"),var(--wcss-accent-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-md-font-size, clamp(1.375rem, 1.8333333333vw, 1.5rem));font-weight:var(--wcss-accent-md-weight, 500);letter-spacing:var(--wcss-accent-md-letter-spacing, .05em);line-height:var(--wcss-accent-md-line-height, 1.3)}.accent-sm{font-family:var(--wcss-accent-sm-family, "Good OT"),var(--wcss-accent-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-sm-font-size, clamp(1.125rem, 1.5vw, 1.25rem));font-weight:var(--wcss-accent-sm-weight, 500);letter-spacing:var(--wcss-accent-sm-letter-spacing, .05em);line-height:var(--wcss-accent-sm-line-height, 1.3)}.accent-sm,.accent-xs{text-transform:uppercase}.accent-xs{font-family:var(--wcss-accent-xs-family, "Good OT"),var(--wcss-accent-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-xs-font-size, clamp(1rem, 1.3333333333vw, 1rem));font-weight:var(--wcss-accent-xs-weight, 500);letter-spacing:var(--wcss-accent-xs-letter-spacing, .1em);line-height:var(--wcss-accent-xs-line-height, 1.3)}.accent-2xs{font-family:var(--wcss-accent-2xs-family, "Good OT"),var(--wcss-accent-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-2xs-font-size, clamp(.875rem, 1.1666666667vw, .875rem));font-weight:var(--wcss-accent-2xs-weight, 450);letter-spacing:var(--wcss-accent-2xs-letter-spacing, .1em);line-height:var(--wcss-accent-2xs-line-height, 1.3);text-transform:uppercase}:focus:not(:focus-visible){outline:3px solid transparent}:host,:host>span{position:relative}:host{width:2rem;height:2rem;display:inline-block;font-size:0}:host>span{position:absolute;display:inline-block;float:none;top:0;left:0;width:2rem;height:2rem;border-radius:100%;border-style:solid;border-width:0;box-sizing:border-box}:host([xs]),:host([xs])>span{width:1.2rem;height:1.2rem}:host([sm]),:host([sm])>span{width:3rem;height:3rem}:host([md]),:host([md])>span{width:5rem;height:5rem}:host([lg]),:host([lg])>span{width:8rem;height:8rem}:host{--margin: .375rem;--margin-xs: .2rem;--margin-sm: .5rem;--margin-md: .75rem;--margin-lg: 1rem}:host([pulse]),:host([pulse])>span{position:relative}:host([pulse]){width:calc(3rem + var(--margin) * 6);height:calc(1rem + var(--margin) * 2)}:host([pulse])>span{width:1rem;height:1rem;margin:var(--margin);animation:pulse 1.5s ease infinite}:host([pulse][xs]){width:calc(1.95rem + var(--margin-xs) * 6);height:calc(.65rem + var(--margin-xs) * 2)}:host([pulse][xs])>span{margin:var(--margin-xs);width:.65rem;height:.65rem}:host([pulse][sm]){width:calc(6rem + var(--margin-sm) * 6);height:calc(2rem + var(--margin-sm) * 2)}:host([pulse][sm])>span{margin:var(--margin-sm);width:2rem;height:2rem}:host([pulse][md]){width:calc(9rem + var(--margin-md) * 6);height:calc(3rem + var(--margin-md) * 2)}:host([pulse][md])>span{margin:var(--margin-md);width:3rem;height:3rem}:host([pulse][lg]){width:calc(15rem + var(--margin-lg) * 6);height:calc(5rem + var(--margin-lg) * 2)}:host([pulse][lg])>span{margin:var(--margin-lg);width:5rem;height:5rem}:host([pulse])>span:nth-child(1){animation-delay:-.4s}:host([pulse])>span:nth-child(2){animation-delay:-.2s}:host([pulse])>span:nth-child(3){animation-delay:0ms}@keyframes pulse{0%,to{opacity:.1;transform:scale(.9)}50%{opacity:1;transform:scale(1.1)}}:host([orbit]),:host([orbit])>span{opacity:1}:host([orbit])>span{border-width:5px}:host([orbit])>span:nth-child(2){animation:orbit 2s linear infinite}:host([orbit][sm])>span{border-width:8px}:host([orbit][md])>span{border-width:13px}:host([orbit][lg])>span{border-width:21px}@keyframes orbit{0%{transform:rotate(0)}to{transform:rotate(360deg)}}:host([ringworm])>svg{animation:rotate 2s linear infinite;height:100%;width:100%;stroke:currentcolor;stroke-width:8}:host([ringworm]) .path{stroke-dashoffset:0;animation:ringworm 1.5s ease-in-out infinite;stroke-linecap:round}@keyframes rotate{to{transform:rotate(360deg)}}@keyframes ringworm{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px}to{stroke-dasharray:89,200;stroke-dashoffset:-124px}}:host([laser]){position:static;width:100%;display:block;height:0;overflow:hidden;font-size:unset}:host([laser])>span{position:fixed;width:100%;height:.25rem;border-radius:0;z-index:100}:host([laser])>span:nth-child(1){border-color:currentcolor;opacity:.25}:host([laser])>span:nth-child(2){border-color:currentcolor;animation:laser 2s linear infinite;opacity:1;width:50%}:host([laser][sm])>span:nth-child(2){width:20%}:host([laser][md])>span:nth-child(2){width:30%}:host([laser][lg])>span:nth-child(2){width:50%;animation-duration:1.5s}:host([laser][xl])>span:nth-child(2){width:80%;animation-duration:1.5s}@keyframes laser{0%{left:-100%}to{left:110%}}:host>.no-animation{display:none}@media (prefers-reduced-motion: reduce){:host{display:flex;align-items:center;justify-content:center}:host>span{opacity:1}:host>.loader{display:none}:host>svg{display:none}:host>.no-animation{display:block}}
|
|
@@ -13995,6 +13964,11 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
13995
13964
|
if (!opts.skipActiveUpdate) {
|
|
13996
13965
|
this.updateActiveCellForVisibleMonth();
|
|
13997
13966
|
}
|
|
13967
|
+
// clearRangePreview above strips classMap-managed range classes from
|
|
13968
|
+
// the DOM; classMap's private state still thinks they're applied, so
|
|
13969
|
+
// it won't re-add them on the post-nav re-render. Re-apply imperatively
|
|
13970
|
+
// after both months and their cell button caches have settled.
|
|
13971
|
+
this._afterMonthRender(() => this.refreshCommittedRangeClasses());
|
|
13998
13972
|
this.announceMonthChange();
|
|
13999
13973
|
}
|
|
14000
13974
|
|
|
@@ -14013,6 +13987,11 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
14013
13987
|
if (!opts.skipActiveUpdate) {
|
|
14014
13988
|
this.updateActiveCellForVisibleMonth();
|
|
14015
13989
|
}
|
|
13990
|
+
// clearRangePreview above strips classMap-managed range classes from
|
|
13991
|
+
// the DOM; classMap's private state still thinks they're applied, so
|
|
13992
|
+
// it won't re-add them on the post-nav re-render. Re-apply imperatively
|
|
13993
|
+
// after both months and their cell button caches have settled.
|
|
13994
|
+
this._afterMonthRender(() => this.refreshCommittedRangeClasses());
|
|
14016
13995
|
this.announceMonthChange();
|
|
14017
13996
|
}
|
|
14018
13997
|
|
|
@@ -15108,6 +15087,31 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
15108
15087
|
});
|
|
15109
15088
|
}
|
|
15110
15089
|
|
|
15090
|
+
/**
|
|
15091
|
+
* Re-applies the committed-range classes across every visible cell after
|
|
15092
|
+
* a month navigation. classMap in the cell tracks its own previous state:
|
|
15093
|
+
* once `clearRangePreview({ force: true })` strips `inRange`/`rangeDepartDate`
|
|
15094
|
+
* imperatively before the re-render, classMap's next diff sees the same
|
|
15095
|
+
* class-value it emitted before and produces no delta, leaving the DOM
|
|
15096
|
+
* without the classes even though a full range is committed. Re-applying
|
|
15097
|
+
* imperatively resyncs the two months' cells with `dateFrom`/`dateTo`.
|
|
15098
|
+
* @private
|
|
15099
|
+
* @returns {void}
|
|
15100
|
+
*/
|
|
15101
|
+
refreshCommittedRangeClasses() {
|
|
15102
|
+
if (this.noRange || !this.dateFrom || !this.dateTo) {
|
|
15103
|
+
return;
|
|
15104
|
+
}
|
|
15105
|
+
|
|
15106
|
+
const parsedDateFrom = parseInt(this.dateFrom, 10);
|
|
15107
|
+
const parsedDateTo = parseInt(this.dateTo, 10);
|
|
15108
|
+
const allCells = this.getAllFocusableCells();
|
|
15109
|
+
|
|
15110
|
+
allCells.forEach((cell) => {
|
|
15111
|
+
cell.applyCommittedRangeClasses(parsedDateFrom, parsedDateTo);
|
|
15112
|
+
});
|
|
15113
|
+
}
|
|
15114
|
+
|
|
15111
15115
|
/**
|
|
15112
15116
|
* Overrides the base class handler to prevent setting `this.hoveredDate`
|
|
15113
15117
|
* as a reactive property. Instead, handles the range preview imperatively.
|
|
@@ -19426,7 +19430,7 @@ let AuroHelpText$2 = class AuroHelpText extends i$1 {
|
|
|
19426
19430
|
}
|
|
19427
19431
|
};
|
|
19428
19432
|
|
|
19429
|
-
var formkitVersion$1 = '
|
|
19433
|
+
var formkitVersion$1 = '202607011730';
|
|
19430
19434
|
|
|
19431
19435
|
let AuroElement$2 = class AuroElement extends i$1 {
|
|
19432
19436
|
static get properties() {
|
|
@@ -20178,23 +20182,6 @@ class AuroDropdown extends AuroElement$2 {
|
|
|
20178
20182
|
if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown") {
|
|
20179
20183
|
this.trigger.focus();
|
|
20180
20184
|
}
|
|
20181
|
-
|
|
20182
|
-
|
|
20183
|
-
if (!this.isPopoverVisible) {
|
|
20184
|
-
// wait til the bib gets fully closed and rendered
|
|
20185
|
-
setTimeout(() => {
|
|
20186
|
-
// Skip if the bib re-opened, or if focus moved intentionally outside the dropdown (not to body).
|
|
20187
|
-
// Restore focus to trigger when focus is still inside the bib (:focus-within) or fell to body.
|
|
20188
|
-
if (this.isPopoverVisible ||
|
|
20189
|
-
// eslint-disable-next-line no-extra-parens
|
|
20190
|
-
(!this.bibContent?.matches(':focus-within') &&
|
|
20191
|
-
document.activeElement !== document.body)) {
|
|
20192
|
-
return;
|
|
20193
|
-
}
|
|
20194
|
-
// Restore focus to the trigger.
|
|
20195
|
-
this.trigger.focus();
|
|
20196
|
-
});
|
|
20197
|
-
}
|
|
20198
20185
|
}
|
|
20199
20186
|
|
|
20200
20187
|
firstUpdated() {
|
|
@@ -25127,21 +25114,8 @@ class AuroFormValidation {
|
|
|
25127
25114
|
return;
|
|
25128
25115
|
}
|
|
25129
25116
|
|
|
25130
|
-
// Validate that the date passed was the correct format and is a valid date
|
|
25131
|
-
// For partial date formats, valueObject is never populated; validate them directly.
|
|
25117
|
+
// Validate that the date passed was the correct format and is a valid date
|
|
25132
25118
|
if (elem.value && !elem.valueObject) {
|
|
25133
|
-
const isPartialDateFormat = elem.util && !elem.util.isFullDateFormat(elem.type, elem.format);
|
|
25134
|
-
|
|
25135
|
-
if (isPartialDateFormat) {
|
|
25136
|
-
if (!elem.util.isValidPartialDate(elem.value, elem.format)) {
|
|
25137
|
-
elem.validity = 'patternMismatch';
|
|
25138
|
-
elem.errorMessage = elem.setCustomValidityPatternMismatch || elem.setCustomValidity || 'Invalid Date Format Entered';
|
|
25139
|
-
}
|
|
25140
|
-
// Partial date format — validate directly and skip max/min checks since valueObject is undefined.
|
|
25141
|
-
return;
|
|
25142
|
-
}
|
|
25143
|
-
|
|
25144
|
-
// Full date format with no valueObject means the value is not a valid calendar date.
|
|
25145
25119
|
elem.validity = 'patternMismatch';
|
|
25146
25120
|
elem.errorMessage = elem.setCustomValidityPatternMismatch || elem.setCustomValidity || 'Invalid Date Format Entered';
|
|
25147
25121
|
return;
|
|
@@ -31071,11 +31045,10 @@ class AuroInputUtilities {
|
|
|
31071
31045
|
const dateFormat = format$1 || this.overrideFormat || pattern || 'mm/dd/yyyy';
|
|
31072
31046
|
|
|
31073
31047
|
if (dateFormat === 'dd' || dateFormat === 'yy' || dateFormat === 'yyyy') {
|
|
31074
|
-
const
|
|
31075
|
-
const maxValue = dateFormat === 'dd' ? 31 : (dateFormat === 'yy' ? 99 : 2100);
|
|
31048
|
+
const maxValue = dateFormat === 'dd' ? 31 : (dateFormat === 'yy' ? 99 : 9999);
|
|
31076
31049
|
return {
|
|
31077
31050
|
mask: IMask.MaskedRange,
|
|
31078
|
-
from:
|
|
31051
|
+
from: 1,
|
|
31079
31052
|
to: maxValue,
|
|
31080
31053
|
lazy: true,
|
|
31081
31054
|
placeholderChar: '',
|
|
@@ -31083,8 +31056,7 @@ class AuroInputUtilities {
|
|
|
31083
31056
|
return value.toString().padStart(dateFormat.length, '0');
|
|
31084
31057
|
},
|
|
31085
31058
|
parse(str) {
|
|
31086
|
-
|
|
31087
|
-
return isNaN(num) ? null : num;
|
|
31059
|
+
return parseInt(str) || null;
|
|
31088
31060
|
}
|
|
31089
31061
|
};
|
|
31090
31062
|
}
|
|
@@ -31148,49 +31120,6 @@ class AuroInputUtilities {
|
|
|
31148
31120
|
return type === 'date' && normalizedFormat.includes('yy') && normalizedFormat.includes('mm') && normalizedFormat.includes('dd');
|
|
31149
31121
|
}
|
|
31150
31122
|
|
|
31151
|
-
/**
|
|
31152
|
-
* Validates a value against a partial date format (one that lacks yy/mm/dd all three).
|
|
31153
|
-
* Day- and year-only formats (dd/yy/yyyy) are checked as integer ranges; other partial formats use
|
|
31154
|
-
* a date-fns parse + round-trip to confirm both validity and exact formatting.
|
|
31155
|
-
* @param {string} value - The user-facing display value.
|
|
31156
|
-
* @param {string} format - The partial date format string (e.g. "mm/yyyy", "yyyy", "dd").
|
|
31157
|
-
* @returns {boolean}
|
|
31158
|
-
*/
|
|
31159
|
-
isValidPartialDate(value, format$1) {
|
|
31160
|
-
if (!value || !format$1) {
|
|
31161
|
-
return false;
|
|
31162
|
-
}
|
|
31163
|
-
const normalizedFormat = format$1.toLowerCase();
|
|
31164
|
-
|
|
31165
|
-
if (normalizedFormat === 'dd') {
|
|
31166
|
-
const num = Number(value);
|
|
31167
|
-
return (/^\d{2}$/u).test(value) && num >= 1 && num <= 31;
|
|
31168
|
-
}
|
|
31169
|
-
if (normalizedFormat === 'yy') {
|
|
31170
|
-
const num = Number(value);
|
|
31171
|
-
return (/^\d{2}$/u).test(value) && num >= 0 && num <= 99;
|
|
31172
|
-
}
|
|
31173
|
-
if (normalizedFormat === 'yyyy') {
|
|
31174
|
-
const num = Number(value);
|
|
31175
|
-
return (/^\d{4}$/u).test(value) && num >= 1900 && num <= 2100;
|
|
31176
|
-
}
|
|
31177
|
-
|
|
31178
|
-
const dateFnsMask = this.toDateFnsMask(normalizedFormat);
|
|
31179
|
-
// Use the 1st of the current month as the reference so that formats
|
|
31180
|
-
// omitting a day (e.g. MM/yyyy) never roll over on days 29–31.
|
|
31181
|
-
const referenceDate = new Date();
|
|
31182
|
-
referenceDate.setDate(1);
|
|
31183
|
-
const parsed = parse(value, dateFnsMask, referenceDate);
|
|
31184
|
-
if (!isValid(parsed) || format(parsed, dateFnsMask) !== value) {
|
|
31185
|
-
return false;
|
|
31186
|
-
}
|
|
31187
|
-
if (normalizedFormat.includes('yyyy')) {
|
|
31188
|
-
const year = parsed.getFullYear();
|
|
31189
|
-
return year >= 1900 && year <= 2100;
|
|
31190
|
-
}
|
|
31191
|
-
return true;
|
|
31192
|
-
}
|
|
31193
|
-
|
|
31194
31123
|
/**
|
|
31195
31124
|
* Converts a display string to its model value.
|
|
31196
31125
|
* For full date formats, converts the display string to an ISO date string.
|
|
@@ -31810,13 +31739,6 @@ class BaseInput extends AuroElement$1 {
|
|
|
31810
31739
|
type: String
|
|
31811
31740
|
},
|
|
31812
31741
|
|
|
31813
|
-
/**
|
|
31814
|
-
* Custom help text message to display when validity = `patternMismatch`.
|
|
31815
|
-
*/
|
|
31816
|
-
setCustomValidityPatternMismatch: {
|
|
31817
|
-
type: String
|
|
31818
|
-
},
|
|
31819
|
-
|
|
31820
31742
|
/**
|
|
31821
31743
|
* Custom help text message to display when validity = `rangeOverflow`.
|
|
31822
31744
|
*/
|
|
@@ -31887,7 +31809,7 @@ class BaseInput extends AuroElement$1 {
|
|
|
31887
31809
|
|
|
31888
31810
|
/**
|
|
31889
31811
|
* Populates the `type` attribute on the input.
|
|
31890
|
-
* @type {'text' | 'password' | 'email' | 'credit-card' | 'tel' | 'number'
|
|
31812
|
+
* @type {'text' | 'password' | 'email' | 'credit-card' | 'tel' | 'number'}
|
|
31891
31813
|
* @default 'text'
|
|
31892
31814
|
*/
|
|
31893
31815
|
type: {
|
|
@@ -31912,7 +31834,7 @@ class BaseInput extends AuroElement$1 {
|
|
|
31912
31834
|
|
|
31913
31835
|
/**
|
|
31914
31836
|
* Populates the `value` attribute on the input. Can also be read to retrieve the current value of the input.
|
|
31915
|
-
*
|
|
31837
|
+
* The format for this property should be ISO for `date` type inputs.
|
|
31916
31838
|
*/
|
|
31917
31839
|
value: {
|
|
31918
31840
|
type: String
|
|
@@ -33035,7 +32957,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$1 {
|
|
|
33035
32957
|
}
|
|
33036
32958
|
};
|
|
33037
32959
|
|
|
33038
|
-
var formkitVersion = '
|
|
32960
|
+
var formkitVersion = '202607011730';
|
|
33039
32961
|
|
|
33040
32962
|
// Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
33041
32963
|
// See LICENSE in the project root for license information.
|