@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
|
@@ -542,8 +542,21 @@ let AuroFormValidation$1 = class AuroFormValidation {
|
|
|
542
542
|
return;
|
|
543
543
|
}
|
|
544
544
|
|
|
545
|
-
// Validate that the date passed was the correct format and is a valid date
|
|
545
|
+
// Validate that the date passed was the correct format and is a valid date.
|
|
546
|
+
// For partial date formats, valueObject is never populated; validate them directly.
|
|
546
547
|
if (elem.value && !elem.valueObject) {
|
|
548
|
+
const isPartialDateFormat = elem.util && !elem.util.isFullDateFormat(elem.type, elem.format);
|
|
549
|
+
|
|
550
|
+
if (isPartialDateFormat) {
|
|
551
|
+
if (!elem.util.isValidPartialDate(elem.value, elem.format)) {
|
|
552
|
+
elem.validity = 'patternMismatch';
|
|
553
|
+
elem.errorMessage = elem.setCustomValidityPatternMismatch || elem.setCustomValidity || 'Invalid Date Format Entered';
|
|
554
|
+
}
|
|
555
|
+
// Partial date format — validate directly and skip max/min checks since valueObject is undefined.
|
|
556
|
+
return;
|
|
557
|
+
}
|
|
558
|
+
|
|
559
|
+
// Full date format with no valueObject means the value is not a valid calendar date.
|
|
547
560
|
elem.validity = 'patternMismatch';
|
|
548
561
|
elem.errorMessage = elem.setCustomValidityPatternMismatch || elem.setCustomValidity || 'Invalid Date Format Entered';
|
|
549
562
|
return;
|
|
@@ -10396,10 +10409,11 @@ let AuroInputUtilities$1 = class AuroInputUtilities {
|
|
|
10396
10409
|
const dateFormat = format || this.overrideFormat || pattern || 'mm/dd/yyyy';
|
|
10397
10410
|
|
|
10398
10411
|
if (dateFormat === 'dd' || dateFormat === 'yy' || dateFormat === 'yyyy') {
|
|
10399
|
-
const
|
|
10412
|
+
const fromValue = dateFormat === 'yyyy' ? 1900 : (dateFormat === 'yy' ? 0 : 1);
|
|
10413
|
+
const maxValue = dateFormat === 'dd' ? 31 : (dateFormat === 'yy' ? 99 : 2100);
|
|
10400
10414
|
return {
|
|
10401
10415
|
mask: IMask$1.MaskedRange,
|
|
10402
|
-
from:
|
|
10416
|
+
from: fromValue,
|
|
10403
10417
|
to: maxValue,
|
|
10404
10418
|
lazy: true,
|
|
10405
10419
|
placeholderChar: '',
|
|
@@ -10407,7 +10421,8 @@ let AuroInputUtilities$1 = class AuroInputUtilities {
|
|
|
10407
10421
|
return value.toString().padStart(dateFormat.length, '0');
|
|
10408
10422
|
},
|
|
10409
10423
|
parse(str) {
|
|
10410
|
-
|
|
10424
|
+
const num = parseInt(str, 10);
|
|
10425
|
+
return isNaN(num) ? null : num;
|
|
10411
10426
|
}
|
|
10412
10427
|
};
|
|
10413
10428
|
}
|
|
@@ -10471,6 +10486,49 @@ let AuroInputUtilities$1 = class AuroInputUtilities {
|
|
|
10471
10486
|
return type === 'date' && normalizedFormat.includes('yy') && normalizedFormat.includes('mm') && normalizedFormat.includes('dd');
|
|
10472
10487
|
}
|
|
10473
10488
|
|
|
10489
|
+
/**
|
|
10490
|
+
* Validates a value against a partial date format (one that lacks yy/mm/dd all three).
|
|
10491
|
+
* Day- and year-only formats (dd/yy/yyyy) are checked as integer ranges; other partial formats use
|
|
10492
|
+
* a date-fns parse + round-trip to confirm both validity and exact formatting.
|
|
10493
|
+
* @param {string} value - The user-facing display value.
|
|
10494
|
+
* @param {string} format - The partial date format string (e.g. "mm/yyyy", "yyyy", "dd").
|
|
10495
|
+
* @returns {boolean}
|
|
10496
|
+
*/
|
|
10497
|
+
isValidPartialDate(value, format) {
|
|
10498
|
+
if (!value || !format) {
|
|
10499
|
+
return false;
|
|
10500
|
+
}
|
|
10501
|
+
const normalizedFormat = format.toLowerCase();
|
|
10502
|
+
|
|
10503
|
+
if (normalizedFormat === 'dd') {
|
|
10504
|
+
const num = Number(value);
|
|
10505
|
+
return (/^\d{2}$/u).test(value) && num >= 1 && num <= 31;
|
|
10506
|
+
}
|
|
10507
|
+
if (normalizedFormat === 'yy') {
|
|
10508
|
+
const num = Number(value);
|
|
10509
|
+
return (/^\d{2}$/u).test(value) && num >= 0 && num <= 99;
|
|
10510
|
+
}
|
|
10511
|
+
if (normalizedFormat === 'yyyy') {
|
|
10512
|
+
const num = Number(value);
|
|
10513
|
+
return (/^\d{4}$/u).test(value) && num >= 1900 && num <= 2100;
|
|
10514
|
+
}
|
|
10515
|
+
|
|
10516
|
+
const dateFnsMask = this.toDateFnsMask(normalizedFormat);
|
|
10517
|
+
// Use the 1st of the current month as the reference so that formats
|
|
10518
|
+
// omitting a day (e.g. MM/yyyy) never roll over on days 29–31.
|
|
10519
|
+
const referenceDate = new Date();
|
|
10520
|
+
referenceDate.setDate(1);
|
|
10521
|
+
const parsed = parse$1(value, dateFnsMask, referenceDate);
|
|
10522
|
+
if (!isValid$1(parsed) || format$1(parsed, dateFnsMask) !== value) {
|
|
10523
|
+
return false;
|
|
10524
|
+
}
|
|
10525
|
+
if (normalizedFormat.includes('yyyy')) {
|
|
10526
|
+
const year = parsed.getFullYear();
|
|
10527
|
+
return year >= 1900 && year <= 2100;
|
|
10528
|
+
}
|
|
10529
|
+
return true;
|
|
10530
|
+
}
|
|
10531
|
+
|
|
10474
10532
|
/**
|
|
10475
10533
|
* Converts a display string to its model value.
|
|
10476
10534
|
* For full date formats, converts the display string to an ISO date string.
|
|
@@ -13544,7 +13602,7 @@ class AuroBibtemplate extends LitElement {
|
|
|
13544
13602
|
}
|
|
13545
13603
|
}
|
|
13546
13604
|
|
|
13547
|
-
var formkitVersion$2 = '
|
|
13605
|
+
var formkitVersion$2 = '202607011914';
|
|
13548
13606
|
|
|
13549
13607
|
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=literal`${unsafeStatic(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$1 = 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=css`: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}
|
|
13550
13608
|
`,u$4=css`.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}}
|
|
@@ -19296,7 +19354,7 @@ let AuroHelpText$2 = class AuroHelpText extends LitElement {
|
|
|
19296
19354
|
}
|
|
19297
19355
|
};
|
|
19298
19356
|
|
|
19299
|
-
var formkitVersion$1 = '
|
|
19357
|
+
var formkitVersion$1 = '202607011914';
|
|
19300
19358
|
|
|
19301
19359
|
let AuroElement$2 = class AuroElement extends LitElement {
|
|
19302
19360
|
static get properties() {
|
|
@@ -20048,6 +20106,23 @@ class AuroDropdown extends AuroElement$2 {
|
|
|
20048
20106
|
if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown") {
|
|
20049
20107
|
this.trigger.focus();
|
|
20050
20108
|
}
|
|
20109
|
+
|
|
20110
|
+
|
|
20111
|
+
if (!this.isPopoverVisible) {
|
|
20112
|
+
// wait til the bib gets fully closed and rendered
|
|
20113
|
+
setTimeout(() => {
|
|
20114
|
+
// Skip if the bib re-opened, or if focus moved intentionally outside the dropdown (not to body).
|
|
20115
|
+
// Restore focus to trigger when focus is still inside the bib (:focus-within) or fell to body.
|
|
20116
|
+
if (this.isPopoverVisible ||
|
|
20117
|
+
// eslint-disable-next-line no-extra-parens
|
|
20118
|
+
(!this.bibContent?.matches(':focus-within') &&
|
|
20119
|
+
document.activeElement !== document.body)) {
|
|
20120
|
+
return;
|
|
20121
|
+
}
|
|
20122
|
+
// Restore focus to the trigger.
|
|
20123
|
+
this.trigger.focus();
|
|
20124
|
+
});
|
|
20125
|
+
}
|
|
20051
20126
|
}
|
|
20052
20127
|
|
|
20053
20128
|
firstUpdated() {
|
|
@@ -24973,8 +25048,21 @@ class AuroFormValidation {
|
|
|
24973
25048
|
return;
|
|
24974
25049
|
}
|
|
24975
25050
|
|
|
24976
|
-
// Validate that the date passed was the correct format and is a valid date
|
|
25051
|
+
// Validate that the date passed was the correct format and is a valid date.
|
|
25052
|
+
// For partial date formats, valueObject is never populated; validate them directly.
|
|
24977
25053
|
if (elem.value && !elem.valueObject) {
|
|
25054
|
+
const isPartialDateFormat = elem.util && !elem.util.isFullDateFormat(elem.type, elem.format);
|
|
25055
|
+
|
|
25056
|
+
if (isPartialDateFormat) {
|
|
25057
|
+
if (!elem.util.isValidPartialDate(elem.value, elem.format)) {
|
|
25058
|
+
elem.validity = 'patternMismatch';
|
|
25059
|
+
elem.errorMessage = elem.setCustomValidityPatternMismatch || elem.setCustomValidity || 'Invalid Date Format Entered';
|
|
25060
|
+
}
|
|
25061
|
+
// Partial date format — validate directly and skip max/min checks since valueObject is undefined.
|
|
25062
|
+
return;
|
|
25063
|
+
}
|
|
25064
|
+
|
|
25065
|
+
// Full date format with no valueObject means the value is not a valid calendar date.
|
|
24978
25066
|
elem.validity = 'patternMismatch';
|
|
24979
25067
|
elem.errorMessage = elem.setCustomValidityPatternMismatch || elem.setCustomValidity || 'Invalid Date Format Entered';
|
|
24980
25068
|
return;
|
|
@@ -30904,10 +30992,11 @@ class AuroInputUtilities {
|
|
|
30904
30992
|
const dateFormat = format$1 || this.overrideFormat || pattern || 'mm/dd/yyyy';
|
|
30905
30993
|
|
|
30906
30994
|
if (dateFormat === 'dd' || dateFormat === 'yy' || dateFormat === 'yyyy') {
|
|
30907
|
-
const
|
|
30995
|
+
const fromValue = dateFormat === 'yyyy' ? 1900 : (dateFormat === 'yy' ? 0 : 1);
|
|
30996
|
+
const maxValue = dateFormat === 'dd' ? 31 : (dateFormat === 'yy' ? 99 : 2100);
|
|
30908
30997
|
return {
|
|
30909
30998
|
mask: IMask.MaskedRange,
|
|
30910
|
-
from:
|
|
30999
|
+
from: fromValue,
|
|
30911
31000
|
to: maxValue,
|
|
30912
31001
|
lazy: true,
|
|
30913
31002
|
placeholderChar: '',
|
|
@@ -30915,7 +31004,8 @@ class AuroInputUtilities {
|
|
|
30915
31004
|
return value.toString().padStart(dateFormat.length, '0');
|
|
30916
31005
|
},
|
|
30917
31006
|
parse(str) {
|
|
30918
|
-
|
|
31007
|
+
const num = parseInt(str, 10);
|
|
31008
|
+
return isNaN(num) ? null : num;
|
|
30919
31009
|
}
|
|
30920
31010
|
};
|
|
30921
31011
|
}
|
|
@@ -30979,6 +31069,49 @@ class AuroInputUtilities {
|
|
|
30979
31069
|
return type === 'date' && normalizedFormat.includes('yy') && normalizedFormat.includes('mm') && normalizedFormat.includes('dd');
|
|
30980
31070
|
}
|
|
30981
31071
|
|
|
31072
|
+
/**
|
|
31073
|
+
* Validates a value against a partial date format (one that lacks yy/mm/dd all three).
|
|
31074
|
+
* Day- and year-only formats (dd/yy/yyyy) are checked as integer ranges; other partial formats use
|
|
31075
|
+
* a date-fns parse + round-trip to confirm both validity and exact formatting.
|
|
31076
|
+
* @param {string} value - The user-facing display value.
|
|
31077
|
+
* @param {string} format - The partial date format string (e.g. "mm/yyyy", "yyyy", "dd").
|
|
31078
|
+
* @returns {boolean}
|
|
31079
|
+
*/
|
|
31080
|
+
isValidPartialDate(value, format$1) {
|
|
31081
|
+
if (!value || !format$1) {
|
|
31082
|
+
return false;
|
|
31083
|
+
}
|
|
31084
|
+
const normalizedFormat = format$1.toLowerCase();
|
|
31085
|
+
|
|
31086
|
+
if (normalizedFormat === 'dd') {
|
|
31087
|
+
const num = Number(value);
|
|
31088
|
+
return (/^\d{2}$/u).test(value) && num >= 1 && num <= 31;
|
|
31089
|
+
}
|
|
31090
|
+
if (normalizedFormat === 'yy') {
|
|
31091
|
+
const num = Number(value);
|
|
31092
|
+
return (/^\d{2}$/u).test(value) && num >= 0 && num <= 99;
|
|
31093
|
+
}
|
|
31094
|
+
if (normalizedFormat === 'yyyy') {
|
|
31095
|
+
const num = Number(value);
|
|
31096
|
+
return (/^\d{4}$/u).test(value) && num >= 1900 && num <= 2100;
|
|
31097
|
+
}
|
|
31098
|
+
|
|
31099
|
+
const dateFnsMask = this.toDateFnsMask(normalizedFormat);
|
|
31100
|
+
// Use the 1st of the current month as the reference so that formats
|
|
31101
|
+
// omitting a day (e.g. MM/yyyy) never roll over on days 29–31.
|
|
31102
|
+
const referenceDate = new Date();
|
|
31103
|
+
referenceDate.setDate(1);
|
|
31104
|
+
const parsed = parse(value, dateFnsMask, referenceDate);
|
|
31105
|
+
if (!isValid(parsed) || format(parsed, dateFnsMask) !== value) {
|
|
31106
|
+
return false;
|
|
31107
|
+
}
|
|
31108
|
+
if (normalizedFormat.includes('yyyy')) {
|
|
31109
|
+
const year = parsed.getFullYear();
|
|
31110
|
+
return year >= 1900 && year <= 2100;
|
|
31111
|
+
}
|
|
31112
|
+
return true;
|
|
31113
|
+
}
|
|
31114
|
+
|
|
30982
31115
|
/**
|
|
30983
31116
|
* Converts a display string to its model value.
|
|
30984
31117
|
* For full date formats, converts the display string to an ISO date string.
|
|
@@ -31598,6 +31731,13 @@ class BaseInput extends AuroElement$1 {
|
|
|
31598
31731
|
type: String
|
|
31599
31732
|
},
|
|
31600
31733
|
|
|
31734
|
+
/**
|
|
31735
|
+
* Custom help text message to display when validity = `patternMismatch`.
|
|
31736
|
+
*/
|
|
31737
|
+
setCustomValidityPatternMismatch: {
|
|
31738
|
+
type: String
|
|
31739
|
+
},
|
|
31740
|
+
|
|
31601
31741
|
/**
|
|
31602
31742
|
* Custom help text message to display when validity = `rangeOverflow`.
|
|
31603
31743
|
*/
|
|
@@ -31668,7 +31808,7 @@ class BaseInput extends AuroElement$1 {
|
|
|
31668
31808
|
|
|
31669
31809
|
/**
|
|
31670
31810
|
* Populates the `type` attribute on the input.
|
|
31671
|
-
* @type {'text' | 'password' | 'email' | 'credit-card' | 'tel' | 'number'}
|
|
31811
|
+
* @type {'text' | 'password' | 'email' | 'credit-card' | 'tel' | 'number' | 'date'}
|
|
31672
31812
|
* @default 'text'
|
|
31673
31813
|
*/
|
|
31674
31814
|
type: {
|
|
@@ -31693,7 +31833,7 @@ class BaseInput extends AuroElement$1 {
|
|
|
31693
31833
|
|
|
31694
31834
|
/**
|
|
31695
31835
|
* Populates the `value` attribute on the input. Can also be read to retrieve the current value of the input.
|
|
31696
|
-
*
|
|
31836
|
+
* 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.
|
|
31697
31837
|
*/
|
|
31698
31838
|
value: {
|
|
31699
31839
|
type: String
|
|
@@ -32816,7 +32956,7 @@ let AuroHelpText$1 = class AuroHelpText extends LitElement {
|
|
|
32816
32956
|
}
|
|
32817
32957
|
};
|
|
32818
32958
|
|
|
32819
|
-
var formkitVersion = '
|
|
32959
|
+
var formkitVersion = '202607011914';
|
|
32820
32960
|
|
|
32821
32961
|
// Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
32822
32962
|
// See LICENSE in the project root for license information.
|
|
@@ -3942,7 +3942,7 @@ class AuroHelpText extends i {
|
|
|
3942
3942
|
}
|
|
3943
3943
|
}
|
|
3944
3944
|
|
|
3945
|
-
var formkitVersion = '
|
|
3945
|
+
var formkitVersion = '202607011914';
|
|
3946
3946
|
|
|
3947
3947
|
class AuroElement extends i {
|
|
3948
3948
|
static get properties() {
|
|
@@ -4694,6 +4694,23 @@ class AuroDropdown extends AuroElement {
|
|
|
4694
4694
|
if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown") {
|
|
4695
4695
|
this.trigger.focus();
|
|
4696
4696
|
}
|
|
4697
|
+
|
|
4698
|
+
|
|
4699
|
+
if (!this.isPopoverVisible) {
|
|
4700
|
+
// wait til the bib gets fully closed and rendered
|
|
4701
|
+
setTimeout(() => {
|
|
4702
|
+
// Skip if the bib re-opened, or if focus moved intentionally outside the dropdown (not to body).
|
|
4703
|
+
// Restore focus to trigger when focus is still inside the bib (:focus-within) or fell to body.
|
|
4704
|
+
if (this.isPopoverVisible ||
|
|
4705
|
+
// eslint-disable-next-line no-extra-parens
|
|
4706
|
+
(!this.bibContent?.matches(':focus-within') &&
|
|
4707
|
+
document.activeElement !== document.body)) {
|
|
4708
|
+
return;
|
|
4709
|
+
}
|
|
4710
|
+
// Restore focus to the trigger.
|
|
4711
|
+
this.trigger.focus();
|
|
4712
|
+
});
|
|
4713
|
+
}
|
|
4697
4714
|
}
|
|
4698
4715
|
|
|
4699
4716
|
firstUpdated() {
|
|
@@ -3942,7 +3942,7 @@ class AuroHelpText extends i {
|
|
|
3942
3942
|
}
|
|
3943
3943
|
}
|
|
3944
3944
|
|
|
3945
|
-
var formkitVersion = '
|
|
3945
|
+
var formkitVersion = '202607011914';
|
|
3946
3946
|
|
|
3947
3947
|
class AuroElement extends i {
|
|
3948
3948
|
static get properties() {
|
|
@@ -4694,6 +4694,23 @@ class AuroDropdown extends AuroElement {
|
|
|
4694
4694
|
if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown") {
|
|
4695
4695
|
this.trigger.focus();
|
|
4696
4696
|
}
|
|
4697
|
+
|
|
4698
|
+
|
|
4699
|
+
if (!this.isPopoverVisible) {
|
|
4700
|
+
// wait til the bib gets fully closed and rendered
|
|
4701
|
+
setTimeout(() => {
|
|
4702
|
+
// Skip if the bib re-opened, or if focus moved intentionally outside the dropdown (not to body).
|
|
4703
|
+
// Restore focus to trigger when focus is still inside the bib (:focus-within) or fell to body.
|
|
4704
|
+
if (this.isPopoverVisible ||
|
|
4705
|
+
// eslint-disable-next-line no-extra-parens
|
|
4706
|
+
(!this.bibContent?.matches(':focus-within') &&
|
|
4707
|
+
document.activeElement !== document.body)) {
|
|
4708
|
+
return;
|
|
4709
|
+
}
|
|
4710
|
+
// Restore focus to the trigger.
|
|
4711
|
+
this.trigger.focus();
|
|
4712
|
+
});
|
|
4713
|
+
}
|
|
4697
4714
|
}
|
|
4698
4715
|
|
|
4699
4716
|
firstUpdated() {
|
|
@@ -3969,7 +3969,7 @@ class AuroHelpText extends i {
|
|
|
3969
3969
|
}
|
|
3970
3970
|
}
|
|
3971
3971
|
|
|
3972
|
-
var formkitVersion = '
|
|
3972
|
+
var formkitVersion = '202607011914';
|
|
3973
3973
|
|
|
3974
3974
|
class AuroElement extends i {
|
|
3975
3975
|
static get properties() {
|
|
@@ -4721,6 +4721,23 @@ class AuroDropdown extends AuroElement {
|
|
|
4721
4721
|
if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown") {
|
|
4722
4722
|
this.trigger.focus();
|
|
4723
4723
|
}
|
|
4724
|
+
|
|
4725
|
+
|
|
4726
|
+
if (!this.isPopoverVisible) {
|
|
4727
|
+
// wait til the bib gets fully closed and rendered
|
|
4728
|
+
setTimeout(() => {
|
|
4729
|
+
// Skip if the bib re-opened, or if focus moved intentionally outside the dropdown (not to body).
|
|
4730
|
+
// Restore focus to trigger when focus is still inside the bib (:focus-within) or fell to body.
|
|
4731
|
+
if (this.isPopoverVisible ||
|
|
4732
|
+
// eslint-disable-next-line no-extra-parens
|
|
4733
|
+
(!this.bibContent?.matches(':focus-within') &&
|
|
4734
|
+
document.activeElement !== document.body)) {
|
|
4735
|
+
return;
|
|
4736
|
+
}
|
|
4737
|
+
// Restore focus to the trigger.
|
|
4738
|
+
this.trigger.focus();
|
|
4739
|
+
});
|
|
4740
|
+
}
|
|
4724
4741
|
}
|
|
4725
4742
|
|
|
4726
4743
|
firstUpdated() {
|
|
@@ -3874,7 +3874,7 @@ class AuroHelpText extends LitElement {
|
|
|
3874
3874
|
}
|
|
3875
3875
|
}
|
|
3876
3876
|
|
|
3877
|
-
var formkitVersion = '
|
|
3877
|
+
var formkitVersion = '202607011914';
|
|
3878
3878
|
|
|
3879
3879
|
class AuroElement extends LitElement {
|
|
3880
3880
|
static get properties() {
|
|
@@ -4626,6 +4626,23 @@ class AuroDropdown extends AuroElement {
|
|
|
4626
4626
|
if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown") {
|
|
4627
4627
|
this.trigger.focus();
|
|
4628
4628
|
}
|
|
4629
|
+
|
|
4630
|
+
|
|
4631
|
+
if (!this.isPopoverVisible) {
|
|
4632
|
+
// wait til the bib gets fully closed and rendered
|
|
4633
|
+
setTimeout(() => {
|
|
4634
|
+
// Skip if the bib re-opened, or if focus moved intentionally outside the dropdown (not to body).
|
|
4635
|
+
// Restore focus to trigger when focus is still inside the bib (:focus-within) or fell to body.
|
|
4636
|
+
if (this.isPopoverVisible ||
|
|
4637
|
+
// eslint-disable-next-line no-extra-parens
|
|
4638
|
+
(!this.bibContent?.matches(':focus-within') &&
|
|
4639
|
+
document.activeElement !== document.body)) {
|
|
4640
|
+
return;
|
|
4641
|
+
}
|
|
4642
|
+
// Restore focus to the trigger.
|
|
4643
|
+
this.trigger.focus();
|
|
4644
|
+
});
|
|
4645
|
+
}
|
|
4629
4646
|
}
|
|
4630
4647
|
|
|
4631
4648
|
firstUpdated() {
|
|
@@ -3874,7 +3874,7 @@ class AuroHelpText extends LitElement {
|
|
|
3874
3874
|
}
|
|
3875
3875
|
}
|
|
3876
3876
|
|
|
3877
|
-
var formkitVersion = '
|
|
3877
|
+
var formkitVersion = '202607011914';
|
|
3878
3878
|
|
|
3879
3879
|
class AuroElement extends LitElement {
|
|
3880
3880
|
static get properties() {
|
|
@@ -4626,6 +4626,23 @@ class AuroDropdown extends AuroElement {
|
|
|
4626
4626
|
if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown") {
|
|
4627
4627
|
this.trigger.focus();
|
|
4628
4628
|
}
|
|
4629
|
+
|
|
4630
|
+
|
|
4631
|
+
if (!this.isPopoverVisible) {
|
|
4632
|
+
// wait til the bib gets fully closed and rendered
|
|
4633
|
+
setTimeout(() => {
|
|
4634
|
+
// Skip if the bib re-opened, or if focus moved intentionally outside the dropdown (not to body).
|
|
4635
|
+
// Restore focus to trigger when focus is still inside the bib (:focus-within) or fell to body.
|
|
4636
|
+
if (this.isPopoverVisible ||
|
|
4637
|
+
// eslint-disable-next-line no-extra-parens
|
|
4638
|
+
(!this.bibContent?.matches(':focus-within') &&
|
|
4639
|
+
document.activeElement !== document.body)) {
|
|
4640
|
+
return;
|
|
4641
|
+
}
|
|
4642
|
+
// Restore focus to the trigger.
|
|
4643
|
+
this.trigger.focus();
|
|
4644
|
+
});
|
|
4645
|
+
}
|
|
4629
4646
|
}
|
|
4630
4647
|
|
|
4631
4648
|
firstUpdated() {
|