@aurodesignsystem-dev/auro-formkit 0.0.0-pr1494.5 → 0.0.0-pr1497.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.
Files changed (49) hide show
  1. package/components/checkbox/demo/customize.min.js +1 -1
  2. package/components/checkbox/demo/getting-started.min.js +1 -1
  3. package/components/checkbox/demo/index.min.js +1 -1
  4. package/components/checkbox/dist/index.js +1 -1
  5. package/components/checkbox/dist/registered.js +1 -1
  6. package/components/combobox/demo/customize.min.js +18 -18
  7. package/components/combobox/demo/getting-started.min.js +18 -18
  8. package/components/combobox/demo/index.min.js +18 -18
  9. package/components/combobox/dist/index.js +18 -18
  10. package/components/combobox/dist/registered.js +18 -18
  11. package/components/counter/demo/customize.min.js +2 -2
  12. package/components/counter/demo/index.min.js +2 -2
  13. package/components/counter/dist/index.js +1 -1
  14. package/components/counter/dist/registered.js +1 -1
  15. package/components/datepicker/demo/api.md +9 -9
  16. package/components/datepicker/demo/customize.md +46 -19
  17. package/components/datepicker/demo/index.min.js +64 -79
  18. package/components/datepicker/dist/index.js +64 -79
  19. package/components/datepicker/dist/registered.js +64 -79
  20. package/components/datepicker/dist/src/auro-datepicker.d.ts +36 -8
  21. package/components/datepicker/dist/src/utilities.d.ts +0 -14
  22. package/components/dropdown/demo/customize.min.js +1 -1
  23. package/components/dropdown/demo/getting-started.min.js +1 -1
  24. package/components/dropdown/demo/index.min.js +1 -1
  25. package/components/dropdown/dist/index.js +1 -1
  26. package/components/dropdown/dist/registered.js +1 -1
  27. package/components/form/demo/customize.min.js +104 -119
  28. package/components/form/demo/getting-started.min.js +104 -119
  29. package/components/form/demo/index.min.js +104 -119
  30. package/components/form/demo/registerDemoDeps.min.js +104 -119
  31. package/components/input/demo/customize.md +29 -107
  32. package/components/input/demo/customize.min.js +16 -16
  33. package/components/input/demo/getting-started.md +16 -6
  34. package/components/input/demo/getting-started.min.js +16 -16
  35. package/components/input/demo/index.min.js +16 -16
  36. package/components/input/dist/auro-input-util.d.ts +1 -1
  37. package/components/input/dist/index.js +16 -16
  38. package/components/input/dist/registered.js +16 -16
  39. package/components/input/dist/utilities.d.ts +1 -2
  40. package/components/radio/demo/index.min.js +1 -1
  41. package/components/radio/dist/index.js +1 -1
  42. package/components/radio/dist/registered.js +1 -1
  43. package/components/select/demo/customize.min.js +2 -2
  44. package/components/select/demo/getting-started.min.js +2 -2
  45. package/components/select/demo/index.min.js +2 -2
  46. package/components/select/dist/index.js +2 -2
  47. package/components/select/dist/registered.js +2 -2
  48. package/custom-elements.json +15 -55
  49. package/package.json +1 -1
@@ -10498,27 +10498,17 @@ let AuroInputUtilities$1 = class AuroInputUtilities {
10498
10498
  * Converts a model value to a display value for the input element.
10499
10499
  * For full date formats, converts an ISO model value to the configured display format.
10500
10500
  * @private
10501
- * @param {string} value - The model value (ISO string for date types).
10502
10501
  * @param {Date|undefined} valueObject - Date object representation of value.
10503
10502
  * @param {string} format - The date format string.
10504
- * @returns {string}
10503
+ * @returns {string | undefined}
10505
10504
  */
10506
- toFormattedValue(value, valueObject, format) {
10507
- if (!this.isFullDateFormat('date', format) || !value) {
10508
- return value;
10509
- }
10510
-
10511
- if (!dateFormatter$1.isValidDate(value)) {
10512
- // For ISO-pattern strings that fail range validation (e.g. '2024-99-99'),
10513
- // return '' so inputElement stays empty and format-based validation is not triggered.
10514
- return (/^\d{4}-\d{2}-\d{2}$/u).test(value) ? '' : value;
10515
- }
10516
-
10505
+ toFormattedValue(valueObject, format) {
10517
10506
  const normalizedFormat = format.toLowerCase();
10518
10507
  const maskOptions = this.getMaskOptions('date', normalizedFormat);
10519
10508
 
10520
10509
  if (!(valueObject instanceof Date) || Number.isNaN(valueObject.getTime()) || !maskOptions || typeof maskOptions.format !== 'function') {
10521
- return value;
10510
+ console.debug('Invalid date object or mask options for formatting', { valueObject, maskOptions }); // eslint-disable-line no-console
10511
+ return undefined;
10522
10512
  }
10523
10513
 
10524
10514
  return maskOptions.format(valueObject);
@@ -10542,29 +10532,6 @@ function getDateFormatFromLocale$1 (locale) {
10542
10532
 
10543
10533
  class AuroDatepickerUtilities {
10544
10534
 
10545
- /**
10546
- * Converts an ISO date string (yyyy-mm-dd) to any display format.
10547
- * @param {string} isoStr - ISO date string.
10548
- * @param {string} format - Target display format (e.g. "mm/dd/yyyy", "dd/mm/yyyy").
10549
- * @returns {string|undefined}
10550
- */
10551
- toCustomFormat(isoStr, format) {
10552
- if (!isoStr || !format) return undefined;
10553
- try {
10554
- const date = dateFormatter$1.stringToDateInstance(isoStr);
10555
- const year = String(date.getFullYear()).padStart(4, '0');
10556
- const month = String(date.getMonth() + 1).padStart(2, '0');
10557
- const day = String(date.getDate()).padStart(2, '0');
10558
- return format.toLowerCase()
10559
- .replace(/yyyy/iu, year)
10560
- .replace(/yy/iu, year.slice(-2))
10561
- .replace(/mm/iu, month)
10562
- .replace(/dd/iu, day);
10563
- } catch {
10564
- return undefined;
10565
- }
10566
- }
10567
-
10568
10535
  /**
10569
10536
  * Converts any date object to a date object representing the first day of the month.
10570
10537
  * @param {Object} date - Date to convert to the first day of the month.
@@ -10590,17 +10557,6 @@ class AuroDatepickerUtilities {
10590
10557
  return months <= 0 ? 0 : months;
10591
10558
  }
10592
10559
 
10593
- /**
10594
- * Function to format a number to two digits.
10595
- * @private
10596
- * @param {Number} num - Number to format.
10597
- * @returns {String}
10598
- */
10599
- formatTwoDigits(num) {
10600
- const singleDigitThreshold = 10;
10601
- return num < singleDigitThreshold ? `0${num}` : num;
10602
- }
10603
-
10604
10560
  /**
10605
10561
  * Function to generate checkmark svg.
10606
10562
  * @private
@@ -10664,6 +10620,7 @@ class UtilitiesCalendarRender {
10664
10620
  determineDefinedCalendarRange(elem) {
10665
10621
  if (elem.getAttribute('calendarStartDate') && elem.getAttribute('calendarEndDate')) {
10666
10622
  // if we have a defined range of months, use that
10623
+ // prop is not in sync with attribute yet, use attribute value
10667
10624
  elem.calendarRangeMonths = elem.util.monthDiff(dateFormatter$1.stringToDateInstance(elem.getAttribute('calendarStartDate')), dateFormatter$1.stringToDateInstance(elem.getAttribute('calendarEndDate')));
10668
10625
  } else {
10669
10626
  // if we don't have a defined range of months, use undefined
@@ -12994,7 +12951,7 @@ class AuroBibtemplate extends LitElement {
12994
12951
  }
12995
12952
  }
12996
12953
 
12997
- var formkitVersion$2 = '202606032113';
12954
+ var formkitVersion$2 = '202606081518';
12998
12955
 
12999
12956
  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}
13000
12957
  `,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}}
@@ -17373,7 +17330,7 @@ let AuroHelpText$2 = class AuroHelpText extends LitElement {
17373
17330
  }
17374
17331
  };
17375
17332
 
17376
- var formkitVersion$1 = '202606032113';
17333
+ var formkitVersion$1 = '202606081518';
17377
17334
 
17378
17335
  let AuroElement$2 = class AuroElement extends LitElement {
17379
17336
  static get properties() {
@@ -28822,27 +28779,17 @@ class AuroInputUtilities {
28822
28779
  * Converts a model value to a display value for the input element.
28823
28780
  * For full date formats, converts an ISO model value to the configured display format.
28824
28781
  * @private
28825
- * @param {string} value - The model value (ISO string for date types).
28826
28782
  * @param {Date|undefined} valueObject - Date object representation of value.
28827
28783
  * @param {string} format - The date format string.
28828
- * @returns {string}
28784
+ * @returns {string | undefined}
28829
28785
  */
28830
- toFormattedValue(value, valueObject, format) {
28831
- if (!this.isFullDateFormat('date', format) || !value) {
28832
- return value;
28833
- }
28834
-
28835
- if (!dateFormatter.isValidDate(value)) {
28836
- // For ISO-pattern strings that fail range validation (e.g. '2024-99-99'),
28837
- // return '' so inputElement stays empty and format-based validation is not triggered.
28838
- return (/^\d{4}-\d{2}-\d{2}$/u).test(value) ? '' : value;
28839
- }
28840
-
28786
+ toFormattedValue(valueObject, format) {
28841
28787
  const normalizedFormat = format.toLowerCase();
28842
28788
  const maskOptions = this.getMaskOptions('date', normalizedFormat);
28843
28789
 
28844
28790
  if (!(valueObject instanceof Date) || Number.isNaN(valueObject.getTime()) || !maskOptions || typeof maskOptions.format !== 'function') {
28845
- return value;
28791
+ console.debug('Invalid date object or mask options for formatting', { valueObject, maskOptions }); // eslint-disable-line no-console
28792
+ return undefined;
28846
28793
  }
28847
28794
 
28848
28795
  return maskOptions.format(valueObject);
@@ -29760,7 +29707,17 @@ class BaseInput extends AuroElement$1 {
29760
29707
  this.hasValue = false;
29761
29708
  }
29762
29709
 
29763
- const formattedValue = this.type === 'date' ? this.util.toFormattedValue(this.value, this.valueObject, this.format) : this.value;
29710
+ let formattedValue = this.value;
29711
+ if (this.type === 'date') {
29712
+ const formattedDate = this.util.toFormattedValue(this.valueObject, this.format);
29713
+ if (!formattedDate) {
29714
+ // if user entered unrecognized date format that cannot be parsed into a Date object,
29715
+ // keep the raw value in the input so they can edit it instead of overwriting with an empty string
29716
+ formattedValue = this.value;
29717
+ } else {
29718
+ formattedValue = formattedDate;
29719
+ }
29720
+ }
29764
29721
 
29765
29722
  if (formattedValue !== this.inputElement.value) {
29766
29723
  this.skipNextProgrammaticInputEvent = true;
@@ -30624,7 +30581,7 @@ let AuroHelpText$1 = class AuroHelpText extends LitElement {
30624
30581
  }
30625
30582
  };
30626
30583
 
30627
- var formkitVersion = '202606032113';
30584
+ var formkitVersion = '202606081518';
30628
30585
 
30629
30586
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
30630
30587
  // See LICENSE in the project root for license information.
@@ -32709,42 +32666,66 @@ class AuroDatePicker extends AuroElement {
32709
32666
  */
32710
32667
  // ─── Read-only *Object properties ─────────────────────────────────────────
32711
32668
 
32712
- /** @returns {Date|undefined} */
32669
+ /**
32670
+ * Read-only `Date` object derived from `value`. Returns `undefined` when `value` is empty or not a valid date.
32671
+ * @returns {Date|undefined}
32672
+ */
32713
32673
  get valueObject() {
32714
32674
  return this.value && dateFormatter$1.isValidDate(this.value) ? dateFormatter$1.stringToDateInstance(this.value) : undefined;
32715
32675
  }
32716
32676
 
32717
- /** @returns {Date|undefined} */
32677
+ /**
32678
+ * Read-only `Date` object derived from `valueEnd`. Returns `undefined` when `valueEnd` is empty or not a valid date.
32679
+ * @returns {Date|undefined}
32680
+ */
32718
32681
  get valueEndObject() {
32719
32682
  return this.valueEnd && dateFormatter$1.isValidDate(this.valueEnd) ? dateFormatter$1.stringToDateInstance(this.valueEnd) : undefined;
32720
32683
  }
32721
32684
 
32722
- /** @returns {Date|undefined} */
32685
+ /**
32686
+ * Read-only `Date` object derived from `minDate`. Returns `undefined` when `minDate` is empty or not a valid date.
32687
+ * @returns {Date|undefined}
32688
+ */
32723
32689
  get minDateObject() {
32724
32690
  return this.minDate && dateFormatter$1.isValidDate(this.minDate) ? dateFormatter$1.stringToDateInstance(this.minDate) : undefined;
32725
32691
  }
32726
32692
 
32727
- /** @returns {Date|undefined} */
32693
+ /**
32694
+ * Read-only `Date` object derived from `maxDate`. Returns `undefined` when `maxDate` is empty or not a valid date.
32695
+ * @returns {Date|undefined}
32696
+ */
32728
32697
  get maxDateObject() {
32729
32698
  return this.maxDate && dateFormatter$1.isValidDate(this.maxDate) ? dateFormatter$1.stringToDateInstance(this.maxDate) : undefined;
32730
32699
  }
32731
32700
 
32732
- /** @returns {Date|undefined} */
32701
+ /**
32702
+ * Read-only `Date` object derived from `calendarStartDate`. Returns `undefined` when `calendarStartDate` is empty or not a valid date.
32703
+ * @returns {Date|undefined}
32704
+ */
32733
32705
  get calendarStartDateObject() {
32734
32706
  return this.calendarStartDate && dateFormatter$1.isValidDate(this.calendarStartDate) ? dateFormatter$1.stringToDateInstance(this.calendarStartDate) : undefined;
32735
32707
  }
32736
32708
 
32737
- /** @returns {Date|undefined} */
32709
+ /**
32710
+ * Read-only `Date` object derived from `calendarEndDate`. Returns `undefined` when `calendarEndDate` is empty or not a valid date.
32711
+ * @returns {Date|undefined}
32712
+ */
32738
32713
  get calendarEndDateObject() {
32739
32714
  return this.calendarEndDate && dateFormatter$1.isValidDate(this.calendarEndDate) ? dateFormatter$1.stringToDateInstance(this.calendarEndDate) : undefined;
32740
32715
  }
32741
32716
 
32742
- /** @returns {Date|undefined} */
32717
+ /**
32718
+ * Read-only `Date` object derived from `centralDate`. Returns `undefined` when `centralDate` is empty or not a valid date.
32719
+ * @returns {Date|undefined}
32720
+ */
32743
32721
  get centralDateObject() {
32744
32722
  return this.centralDate && dateFormatter$1.isValidDate(this.centralDate) ? dateFormatter$1.stringToDateInstance(this.centralDate) : undefined;
32745
32723
  }
32746
32724
 
32747
- /** @returns {Date|undefined} */
32725
+ /**
32726
+ * Read-only `Date` object derived from `calendarFocusDate`. Returns `undefined` when `calendarFocusDate` is empty or not a valid date.
32727
+ * @returns {Date|undefined}
32728
+ */
32748
32729
  get calendarFocusDateObject() {
32749
32730
  return this.calendarFocusDate && dateFormatter$1.isValidDate(this.calendarFocusDate) ? dateFormatter$1.stringToDateInstance(this.calendarFocusDate) : undefined;
32750
32731
  }
@@ -33196,6 +33177,10 @@ class AuroDatePicker extends AuroElement {
33196
33177
  this.hasAllValues = (this.value && this.value.length > 0) && (this.valueEnd && this.valueEnd.length > 0); // eslint-disable-line no-extra-parens
33197
33178
  }
33198
33179
 
33180
+ /**
33181
+ * Returns `true` when the datepicker has an active validation error.
33182
+ * @returns {boolean}
33183
+ */
33199
33184
  get hasError() {
33200
33185
  return this.validity !== undefined && this.validity !== 'valid';
33201
33186
  }
@@ -33209,10 +33194,10 @@ class AuroDatePicker extends AuroElement {
33209
33194
  willUpdate(changedProperties) {
33210
33195
  if (changedProperties.has('locale')) {
33211
33196
  try {
33212
- // eslint-disable-next-line no-new
33213
- new Intl.DateTimeFormat(this.locale);
33214
- this._validLocale = this.locale;
33197
+ const supported = Intl.DateTimeFormat.supportedLocalesOf([this.locale], { localeMatcher: 'lookup' });
33198
+ this._validLocale = supported.length > 0 ? this.locale : 'en-US';
33215
33199
  } catch {
33200
+ console.debug(`[AuroDatePicker] The locale "${this.locale}" is not valid. Falling back to "en-US".`);
33216
33201
  this._validLocale = 'en-US';
33217
33202
  }
33218
33203
 
@@ -33869,8 +33854,8 @@ class AuroDatePicker extends AuroElement {
33869
33854
  <slot slot="bib.fullscreen.dateLabel" name="bib.fullscreen.dateLabel" @slotchange="${this.handleSlotToSlot}"></slot>
33870
33855
  <slot slot="bib.fullscreen.toLabel" name="bib.fullscreen.toLabel" @slotchange="${this.handleSlotToSlot}"></slot>
33871
33856
  <slot slot="bib.fullscreen.fromLabel" name="bib.fullscreen.fromLabel" @slotchange="${this.handleSlotToSlot}"></slot>
33872
- <span slot="bib.fullscreen.fromStr">${AuroInputUtil.toFormattedValue(this.value, this.valueObject, this.format) || html$1`<span class="placeholderDate">${(this.format || 'mm/dd/yyyy').toUpperCase()}</span>`}</span>
33873
- ${this.range ? html$1`<span slot="bib.fullscreen.toStr">${AuroInputUtil.toFormattedValue(this.valueEnd, this.valueEndObject, this.format) || html$1`<span class="placeholderDate">${(this.format || 'mm/dd/yyyy').toUpperCase()}</span>`}</span>` : undefined}
33857
+ <span slot="bib.fullscreen.fromStr">${AuroInputUtil.toFormattedValue(this.valueObject, this.format) || html$1`<span class="placeholderDate">${(this.format || 'mm/dd/yyyy').toUpperCase()}</span>`}</span>
33858
+ ${this.range ? html$1`<span slot="bib.fullscreen.toStr">${AuroInputUtil.toFormattedValue(this.valueEndObject, this.format) || html$1`<span class="placeholderDate">${(this.format || 'mm/dd/yyyy').toUpperCase()}</span>`}</span>` : undefined}
33874
33859
  </auro-formkit-calendar>
33875
33860
  `;
33876
33861
  }
@@ -10498,27 +10498,17 @@ let AuroInputUtilities$1 = class AuroInputUtilities {
10498
10498
  * Converts a model value to a display value for the input element.
10499
10499
  * For full date formats, converts an ISO model value to the configured display format.
10500
10500
  * @private
10501
- * @param {string} value - The model value (ISO string for date types).
10502
10501
  * @param {Date|undefined} valueObject - Date object representation of value.
10503
10502
  * @param {string} format - The date format string.
10504
- * @returns {string}
10503
+ * @returns {string | undefined}
10505
10504
  */
10506
- toFormattedValue(value, valueObject, format) {
10507
- if (!this.isFullDateFormat('date', format) || !value) {
10508
- return value;
10509
- }
10510
-
10511
- if (!dateFormatter$1.isValidDate(value)) {
10512
- // For ISO-pattern strings that fail range validation (e.g. '2024-99-99'),
10513
- // return '' so inputElement stays empty and format-based validation is not triggered.
10514
- return (/^\d{4}-\d{2}-\d{2}$/u).test(value) ? '' : value;
10515
- }
10516
-
10505
+ toFormattedValue(valueObject, format) {
10517
10506
  const normalizedFormat = format.toLowerCase();
10518
10507
  const maskOptions = this.getMaskOptions('date', normalizedFormat);
10519
10508
 
10520
10509
  if (!(valueObject instanceof Date) || Number.isNaN(valueObject.getTime()) || !maskOptions || typeof maskOptions.format !== 'function') {
10521
- return value;
10510
+ console.debug('Invalid date object or mask options for formatting', { valueObject, maskOptions }); // eslint-disable-line no-console
10511
+ return undefined;
10522
10512
  }
10523
10513
 
10524
10514
  return maskOptions.format(valueObject);
@@ -10542,29 +10532,6 @@ function getDateFormatFromLocale$1 (locale) {
10542
10532
 
10543
10533
  class AuroDatepickerUtilities {
10544
10534
 
10545
- /**
10546
- * Converts an ISO date string (yyyy-mm-dd) to any display format.
10547
- * @param {string} isoStr - ISO date string.
10548
- * @param {string} format - Target display format (e.g. "mm/dd/yyyy", "dd/mm/yyyy").
10549
- * @returns {string|undefined}
10550
- */
10551
- toCustomFormat(isoStr, format) {
10552
- if (!isoStr || !format) return undefined;
10553
- try {
10554
- const date = dateFormatter$1.stringToDateInstance(isoStr);
10555
- const year = String(date.getFullYear()).padStart(4, '0');
10556
- const month = String(date.getMonth() + 1).padStart(2, '0');
10557
- const day = String(date.getDate()).padStart(2, '0');
10558
- return format.toLowerCase()
10559
- .replace(/yyyy/iu, year)
10560
- .replace(/yy/iu, year.slice(-2))
10561
- .replace(/mm/iu, month)
10562
- .replace(/dd/iu, day);
10563
- } catch {
10564
- return undefined;
10565
- }
10566
- }
10567
-
10568
10535
  /**
10569
10536
  * Converts any date object to a date object representing the first day of the month.
10570
10537
  * @param {Object} date - Date to convert to the first day of the month.
@@ -10590,17 +10557,6 @@ class AuroDatepickerUtilities {
10590
10557
  return months <= 0 ? 0 : months;
10591
10558
  }
10592
10559
 
10593
- /**
10594
- * Function to format a number to two digits.
10595
- * @private
10596
- * @param {Number} num - Number to format.
10597
- * @returns {String}
10598
- */
10599
- formatTwoDigits(num) {
10600
- const singleDigitThreshold = 10;
10601
- return num < singleDigitThreshold ? `0${num}` : num;
10602
- }
10603
-
10604
10560
  /**
10605
10561
  * Function to generate checkmark svg.
10606
10562
  * @private
@@ -10664,6 +10620,7 @@ class UtilitiesCalendarRender {
10664
10620
  determineDefinedCalendarRange(elem) {
10665
10621
  if (elem.getAttribute('calendarStartDate') && elem.getAttribute('calendarEndDate')) {
10666
10622
  // if we have a defined range of months, use that
10623
+ // prop is not in sync with attribute yet, use attribute value
10667
10624
  elem.calendarRangeMonths = elem.util.monthDiff(dateFormatter$1.stringToDateInstance(elem.getAttribute('calendarStartDate')), dateFormatter$1.stringToDateInstance(elem.getAttribute('calendarEndDate')));
10668
10625
  } else {
10669
10626
  // if we don't have a defined range of months, use undefined
@@ -12994,7 +12951,7 @@ class AuroBibtemplate extends LitElement {
12994
12951
  }
12995
12952
  }
12996
12953
 
12997
- var formkitVersion$2 = '202606032113';
12954
+ var formkitVersion$2 = '202606081518';
12998
12955
 
12999
12956
  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}
13000
12957
  `,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}}
@@ -17373,7 +17330,7 @@ let AuroHelpText$2 = class AuroHelpText extends LitElement {
17373
17330
  }
17374
17331
  };
17375
17332
 
17376
- var formkitVersion$1 = '202606032113';
17333
+ var formkitVersion$1 = '202606081518';
17377
17334
 
17378
17335
  let AuroElement$2 = class AuroElement extends LitElement {
17379
17336
  static get properties() {
@@ -28822,27 +28779,17 @@ class AuroInputUtilities {
28822
28779
  * Converts a model value to a display value for the input element.
28823
28780
  * For full date formats, converts an ISO model value to the configured display format.
28824
28781
  * @private
28825
- * @param {string} value - The model value (ISO string for date types).
28826
28782
  * @param {Date|undefined} valueObject - Date object representation of value.
28827
28783
  * @param {string} format - The date format string.
28828
- * @returns {string}
28784
+ * @returns {string | undefined}
28829
28785
  */
28830
- toFormattedValue(value, valueObject, format) {
28831
- if (!this.isFullDateFormat('date', format) || !value) {
28832
- return value;
28833
- }
28834
-
28835
- if (!dateFormatter.isValidDate(value)) {
28836
- // For ISO-pattern strings that fail range validation (e.g. '2024-99-99'),
28837
- // return '' so inputElement stays empty and format-based validation is not triggered.
28838
- return (/^\d{4}-\d{2}-\d{2}$/u).test(value) ? '' : value;
28839
- }
28840
-
28786
+ toFormattedValue(valueObject, format) {
28841
28787
  const normalizedFormat = format.toLowerCase();
28842
28788
  const maskOptions = this.getMaskOptions('date', normalizedFormat);
28843
28789
 
28844
28790
  if (!(valueObject instanceof Date) || Number.isNaN(valueObject.getTime()) || !maskOptions || typeof maskOptions.format !== 'function') {
28845
- return value;
28791
+ console.debug('Invalid date object or mask options for formatting', { valueObject, maskOptions }); // eslint-disable-line no-console
28792
+ return undefined;
28846
28793
  }
28847
28794
 
28848
28795
  return maskOptions.format(valueObject);
@@ -29760,7 +29707,17 @@ class BaseInput extends AuroElement$1 {
29760
29707
  this.hasValue = false;
29761
29708
  }
29762
29709
 
29763
- const formattedValue = this.type === 'date' ? this.util.toFormattedValue(this.value, this.valueObject, this.format) : this.value;
29710
+ let formattedValue = this.value;
29711
+ if (this.type === 'date') {
29712
+ const formattedDate = this.util.toFormattedValue(this.valueObject, this.format);
29713
+ if (!formattedDate) {
29714
+ // if user entered unrecognized date format that cannot be parsed into a Date object,
29715
+ // keep the raw value in the input so they can edit it instead of overwriting with an empty string
29716
+ formattedValue = this.value;
29717
+ } else {
29718
+ formattedValue = formattedDate;
29719
+ }
29720
+ }
29764
29721
 
29765
29722
  if (formattedValue !== this.inputElement.value) {
29766
29723
  this.skipNextProgrammaticInputEvent = true;
@@ -30624,7 +30581,7 @@ let AuroHelpText$1 = class AuroHelpText extends LitElement {
30624
30581
  }
30625
30582
  };
30626
30583
 
30627
- var formkitVersion = '202606032113';
30584
+ var formkitVersion = '202606081518';
30628
30585
 
30629
30586
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
30630
30587
  // See LICENSE in the project root for license information.
@@ -32709,42 +32666,66 @@ class AuroDatePicker extends AuroElement {
32709
32666
  */
32710
32667
  // ─── Read-only *Object properties ─────────────────────────────────────────
32711
32668
 
32712
- /** @returns {Date|undefined} */
32669
+ /**
32670
+ * Read-only `Date` object derived from `value`. Returns `undefined` when `value` is empty or not a valid date.
32671
+ * @returns {Date|undefined}
32672
+ */
32713
32673
  get valueObject() {
32714
32674
  return this.value && dateFormatter$1.isValidDate(this.value) ? dateFormatter$1.stringToDateInstance(this.value) : undefined;
32715
32675
  }
32716
32676
 
32717
- /** @returns {Date|undefined} */
32677
+ /**
32678
+ * Read-only `Date` object derived from `valueEnd`. Returns `undefined` when `valueEnd` is empty or not a valid date.
32679
+ * @returns {Date|undefined}
32680
+ */
32718
32681
  get valueEndObject() {
32719
32682
  return this.valueEnd && dateFormatter$1.isValidDate(this.valueEnd) ? dateFormatter$1.stringToDateInstance(this.valueEnd) : undefined;
32720
32683
  }
32721
32684
 
32722
- /** @returns {Date|undefined} */
32685
+ /**
32686
+ * Read-only `Date` object derived from `minDate`. Returns `undefined` when `minDate` is empty or not a valid date.
32687
+ * @returns {Date|undefined}
32688
+ */
32723
32689
  get minDateObject() {
32724
32690
  return this.minDate && dateFormatter$1.isValidDate(this.minDate) ? dateFormatter$1.stringToDateInstance(this.minDate) : undefined;
32725
32691
  }
32726
32692
 
32727
- /** @returns {Date|undefined} */
32693
+ /**
32694
+ * Read-only `Date` object derived from `maxDate`. Returns `undefined` when `maxDate` is empty or not a valid date.
32695
+ * @returns {Date|undefined}
32696
+ */
32728
32697
  get maxDateObject() {
32729
32698
  return this.maxDate && dateFormatter$1.isValidDate(this.maxDate) ? dateFormatter$1.stringToDateInstance(this.maxDate) : undefined;
32730
32699
  }
32731
32700
 
32732
- /** @returns {Date|undefined} */
32701
+ /**
32702
+ * Read-only `Date` object derived from `calendarStartDate`. Returns `undefined` when `calendarStartDate` is empty or not a valid date.
32703
+ * @returns {Date|undefined}
32704
+ */
32733
32705
  get calendarStartDateObject() {
32734
32706
  return this.calendarStartDate && dateFormatter$1.isValidDate(this.calendarStartDate) ? dateFormatter$1.stringToDateInstance(this.calendarStartDate) : undefined;
32735
32707
  }
32736
32708
 
32737
- /** @returns {Date|undefined} */
32709
+ /**
32710
+ * Read-only `Date` object derived from `calendarEndDate`. Returns `undefined` when `calendarEndDate` is empty or not a valid date.
32711
+ * @returns {Date|undefined}
32712
+ */
32738
32713
  get calendarEndDateObject() {
32739
32714
  return this.calendarEndDate && dateFormatter$1.isValidDate(this.calendarEndDate) ? dateFormatter$1.stringToDateInstance(this.calendarEndDate) : undefined;
32740
32715
  }
32741
32716
 
32742
- /** @returns {Date|undefined} */
32717
+ /**
32718
+ * Read-only `Date` object derived from `centralDate`. Returns `undefined` when `centralDate` is empty or not a valid date.
32719
+ * @returns {Date|undefined}
32720
+ */
32743
32721
  get centralDateObject() {
32744
32722
  return this.centralDate && dateFormatter$1.isValidDate(this.centralDate) ? dateFormatter$1.stringToDateInstance(this.centralDate) : undefined;
32745
32723
  }
32746
32724
 
32747
- /** @returns {Date|undefined} */
32725
+ /**
32726
+ * Read-only `Date` object derived from `calendarFocusDate`. Returns `undefined` when `calendarFocusDate` is empty or not a valid date.
32727
+ * @returns {Date|undefined}
32728
+ */
32748
32729
  get calendarFocusDateObject() {
32749
32730
  return this.calendarFocusDate && dateFormatter$1.isValidDate(this.calendarFocusDate) ? dateFormatter$1.stringToDateInstance(this.calendarFocusDate) : undefined;
32750
32731
  }
@@ -33196,6 +33177,10 @@ class AuroDatePicker extends AuroElement {
33196
33177
  this.hasAllValues = (this.value && this.value.length > 0) && (this.valueEnd && this.valueEnd.length > 0); // eslint-disable-line no-extra-parens
33197
33178
  }
33198
33179
 
33180
+ /**
33181
+ * Returns `true` when the datepicker has an active validation error.
33182
+ * @returns {boolean}
33183
+ */
33199
33184
  get hasError() {
33200
33185
  return this.validity !== undefined && this.validity !== 'valid';
33201
33186
  }
@@ -33209,10 +33194,10 @@ class AuroDatePicker extends AuroElement {
33209
33194
  willUpdate(changedProperties) {
33210
33195
  if (changedProperties.has('locale')) {
33211
33196
  try {
33212
- // eslint-disable-next-line no-new
33213
- new Intl.DateTimeFormat(this.locale);
33214
- this._validLocale = this.locale;
33197
+ const supported = Intl.DateTimeFormat.supportedLocalesOf([this.locale], { localeMatcher: 'lookup' });
33198
+ this._validLocale = supported.length > 0 ? this.locale : 'en-US';
33215
33199
  } catch {
33200
+ console.debug(`[AuroDatePicker] The locale "${this.locale}" is not valid. Falling back to "en-US".`);
33216
33201
  this._validLocale = 'en-US';
33217
33202
  }
33218
33203
 
@@ -33869,8 +33854,8 @@ class AuroDatePicker extends AuroElement {
33869
33854
  <slot slot="bib.fullscreen.dateLabel" name="bib.fullscreen.dateLabel" @slotchange="${this.handleSlotToSlot}"></slot>
33870
33855
  <slot slot="bib.fullscreen.toLabel" name="bib.fullscreen.toLabel" @slotchange="${this.handleSlotToSlot}"></slot>
33871
33856
  <slot slot="bib.fullscreen.fromLabel" name="bib.fullscreen.fromLabel" @slotchange="${this.handleSlotToSlot}"></slot>
33872
- <span slot="bib.fullscreen.fromStr">${AuroInputUtil.toFormattedValue(this.value, this.valueObject, this.format) || html$1`<span class="placeholderDate">${(this.format || 'mm/dd/yyyy').toUpperCase()}</span>`}</span>
33873
- ${this.range ? html$1`<span slot="bib.fullscreen.toStr">${AuroInputUtil.toFormattedValue(this.valueEnd, this.valueEndObject, this.format) || html$1`<span class="placeholderDate">${(this.format || 'mm/dd/yyyy').toUpperCase()}</span>`}</span>` : undefined}
33857
+ <span slot="bib.fullscreen.fromStr">${AuroInputUtil.toFormattedValue(this.valueObject, this.format) || html$1`<span class="placeholderDate">${(this.format || 'mm/dd/yyyy').toUpperCase()}</span>`}</span>
33858
+ ${this.range ? html$1`<span slot="bib.fullscreen.toStr">${AuroInputUtil.toFormattedValue(this.valueEndObject, this.format) || html$1`<span class="placeholderDate">${(this.format || 'mm/dd/yyyy').toUpperCase()}</span>`}</span>` : undefined}
33874
33859
  </auro-formkit-calendar>
33875
33860
  `;
33876
33861
  }