@aurodesignsystem-dev/auro-formkit 0.0.0-pr1498.0 → 0.0.0-pr1499.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.
Files changed (62) hide show
  1. package/components/checkbox/demo/customize.min.js +2 -2
  2. package/components/checkbox/demo/getting-started.min.js +2 -2
  3. package/components/checkbox/demo/index.min.js +2 -2
  4. package/components/checkbox/dist/index.js +2 -2
  5. package/components/checkbox/dist/registered.js +2 -2
  6. package/components/combobox/demo/customize.md +3 -7
  7. package/components/combobox/demo/customize.min.js +1703 -1461
  8. package/components/combobox/demo/getting-started.min.js +1703 -1461
  9. package/components/combobox/demo/index.min.js +1703 -1461
  10. package/components/combobox/dist/auro-combobox.d.ts +0 -5
  11. package/components/combobox/dist/index.js +162 -495
  12. package/components/combobox/dist/registered.js +162 -495
  13. package/components/counter/demo/customize.min.js +19 -18
  14. package/components/counter/demo/index.min.js +19 -18
  15. package/components/counter/dist/index.js +160 -5811
  16. package/components/counter/dist/registered.js +187 -5442
  17. package/components/datepicker/demo/customize.md +477 -384
  18. package/components/datepicker/demo/customize.min.js +99 -171
  19. package/components/datepicker/demo/index.md +0 -1
  20. package/components/datepicker/demo/index.min.js +99 -171
  21. package/components/datepicker/dist/index.js +99 -171
  22. package/components/datepicker/dist/registered.js +99 -171
  23. package/components/datepicker/dist/src/auro-datepicker.d.ts +2 -2
  24. package/components/dropdown/demo/customize.min.js +17 -16
  25. package/components/dropdown/demo/getting-started.min.js +17 -16
  26. package/components/dropdown/demo/index.min.js +17 -16
  27. package/components/dropdown/dist/auro-dropdown.d.ts +2 -1
  28. package/components/dropdown/dist/index.js +17 -16
  29. package/components/dropdown/dist/registered.js +17 -16
  30. package/components/form/demo/customize.min.js +8494 -8428
  31. package/components/form/demo/getting-started.min.js +8494 -8428
  32. package/components/form/demo/index.min.js +8494 -8428
  33. package/components/form/demo/registerDemoDeps.min.js +8518 -8452
  34. package/components/input/demo/customize.md +539 -472
  35. package/components/input/demo/customize.min.js +61 -136
  36. package/components/input/demo/getting-started.min.js +61 -136
  37. package/components/input/demo/index.min.js +61 -136
  38. package/components/input/dist/base-input.d.ts +0 -16
  39. package/components/input/dist/index.js +61 -136
  40. package/components/input/dist/registered.js +61 -136
  41. package/components/menu/demo/api.md +45 -41
  42. package/components/menu/demo/customize.md +28 -0
  43. package/components/menu/demo/index.min.js +1358 -783
  44. package/components/menu/dist/auro-menu.context.d.ts +238 -0
  45. package/components/menu/dist/auro-menu.d.ts +110 -95
  46. package/components/menu/dist/auro-menuoption.d.ts +138 -32
  47. package/components/menu/dist/index.js +1312 -757
  48. package/components/menu/dist/registered.js +1312 -769
  49. package/components/radio/demo/customize.min.js +2 -2
  50. package/components/radio/demo/getting-started.min.js +2 -2
  51. package/components/radio/demo/index.min.js +2 -2
  52. package/components/radio/dist/index.js +2 -2
  53. package/components/radio/dist/registered.js +2 -2
  54. package/components/select/demo/customize.md +3 -7
  55. package/components/select/demo/customize.min.js +1634 -1089
  56. package/components/select/demo/getting-started.min.js +1634 -1089
  57. package/components/select/demo/index.min.js +1634 -1089
  58. package/components/select/dist/index.js +31 -61
  59. package/components/select/dist/registered.js +31 -61
  60. package/custom-elements.json +1024 -378
  61. package/package.json +1 -1
  62. package/components/select/dist/selectUtils.d.ts +0 -12
@@ -747,7 +747,7 @@ let AuroFormValidation$1 = class AuroFormValidation {
747
747
  } else if (this.runtimeUtils.elementMatch(elem, 'auro-input') && elem.errorMessage === '') {
748
748
  const input = elem.renderRoot.querySelector('input');
749
749
 
750
- if (input && input.validationMessage.length > 0) {
750
+ if (input.validationMessage.length > 0) {
751
751
  elem.errorMessage = input.validationMessage;
752
752
  }
753
753
  } else if (this.runtimeUtils.elementMatch(elem, 'auro-combobox') && elem.errorMessage === '') {
@@ -10342,7 +10342,11 @@ let AuroInputUtilities$1 = class AuroInputUtilities {
10342
10342
  return part.value;
10343
10343
  }
10344
10344
  })
10345
- .join("");
10345
+ .join("")
10346
+ // Remove whitespace and leading/trailing special characters for IMask compatibility
10347
+ // for example, ko-KR's format is `YYYY. MM. DD.` which causes issues with IMask if we don't remove the trailing period.
10348
+ .replace(/\s/gu, '')
10349
+ .replace(/^[^A-Z0-9]+|[^A-Z0-9]+$/gu, '');
10346
10350
  }
10347
10351
 
10348
10352
  /**
@@ -10507,6 +10511,7 @@ let AuroInputUtilities$1 = class AuroInputUtilities {
10507
10511
  const maskOptions = this.getMaskOptions('date', normalizedFormat);
10508
10512
 
10509
10513
  if (!(valueObject instanceof Date) || Number.isNaN(valueObject.getTime()) || !maskOptions || typeof maskOptions.format !== 'function') {
10514
+ console.debug('Invalid date object or mask options for formatting', { valueObject, maskOptions }); // eslint-disable-line no-console
10510
10515
  return undefined;
10511
10516
  }
10512
10517
 
@@ -10726,8 +10731,8 @@ class UtilitiesCalendarRender {
10726
10731
  <auro-formkit-calendar-month
10727
10732
  id="${`month-${month}-${year}`}"
10728
10733
  .disabledDays="${elem.disabledDays}"
10729
- .min="${elem.min}"
10730
- .max="${elem.max}"
10734
+ .min="${elem.minDateObject?.getTime() / 1000}"
10735
+ .max="${elem.maxDateObject?.getTime() / 1000}"
10731
10736
  ?noRange="${elem.noRange}"
10732
10737
  .monthFirst="${elem.monthFirst}"
10733
10738
  .dateTo="${elem.dateTo}"
@@ -11803,8 +11808,7 @@ class AuroCalendarCell extends LitElement {
11803
11808
  const date = new Date(this.day.date * 1000);
11804
11809
 
11805
11810
  // Generate localized full date string using the configured locale
11806
- const localeCode = this.locale?.code || undefined;
11807
- const dateFormatter = new Intl.DateTimeFormat(localeCode, {
11811
+ const dateFormatter = new Intl.DateTimeFormat(this.locale, {
11808
11812
  weekday: 'long',
11809
11813
  year: 'numeric',
11810
11814
  month: 'long',
@@ -13388,7 +13392,7 @@ class AuroBibtemplate extends LitElement {
13388
13392
  }
13389
13393
  }
13390
13394
 
13391
- var formkitVersion$2 = '202606100232';
13395
+ var formkitVersion$2 = '202606101934';
13392
13396
 
13393
13397
  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}
13394
13398
  `,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}}
@@ -13755,8 +13759,7 @@ class AuroCalendar extends RangeDatepicker {
13755
13759
  }
13756
13760
 
13757
13761
  const date = this.centralDateObject;
13758
- const localeCode = this.locale?.code || undefined;
13759
- const formatter = new Intl.DateTimeFormat(localeCode, { month: 'long',
13762
+ const formatter = new Intl.DateTimeFormat(this.localeCode, { month: 'long',
13760
13763
  year: 'numeric' });
13761
13764
  this.announceSelection(formatter.format(date));
13762
13765
  }
@@ -14877,8 +14880,7 @@ class AuroCalendar extends RangeDatepicker {
14877
14880
  */
14878
14881
  formatAnnouncementDate(timestamp) {
14879
14882
  const date = new Date(parseInt(timestamp, 10) * 1000);
14880
- const localeCode = this.locale?.code || undefined;
14881
- const formatter = new Intl.DateTimeFormat(localeCode, {
14883
+ const formatter = new Intl.DateTimeFormat(this.localeCode, {
14882
14884
  weekday: 'long',
14883
14885
  year: 'numeric',
14884
14886
  month: 'long',
@@ -18901,7 +18903,7 @@ let AuroHelpText$2 = class AuroHelpText extends LitElement {
18901
18903
  }
18902
18904
  };
18903
18905
 
18904
- var formkitVersion$1 = '202606100232';
18906
+ var formkitVersion$1 = '202606101934';
18905
18907
 
18906
18908
  let AuroElement$2 = class AuroElement extends LitElement {
18907
18909
  static get properties() {
@@ -19759,18 +19761,27 @@ class AuroDropdown extends AuroElement$2 {
19759
19761
  this.focusTrap = undefined;
19760
19762
  }
19761
19763
 
19762
- // Restore any focus-loss suppression we installed for a prior trap state.
19763
- // The desktopModal trap moves focus into the bib via RAF, which would
19764
- // otherwise trip AuroFloatingUI.handleFocusLoss (a popover-top-layer
19765
- // timing issue makes its :focus-within guard miss the focused button).
19766
- if (this._priorNoHideOnFocusLoss !== undefined) {
19767
- this.noHideOnThisFocusLoss = this._priorNoHideOnFocusLoss;
19768
- this._priorNoHideOnFocusLoss = undefined;
19764
+ // Restore the user-set noHideOnThisFocusLoss value, if we overrode it.
19765
+ if (this._noHideOverridden) {
19766
+ this.noHideOnThisFocusLoss = this._priorNoHide;
19767
+ this._noHideOverridden = false;
19768
+ this._priorNoHide = undefined;
19769
19769
  }
19770
19770
 
19771
19771
  if (this.isPopoverVisible) {
19772
19772
  if (!this.isBibFullscreen) {
19773
19773
  if (this.desktopModal) {
19774
+ // The floater's focus-loss check uses :focus-within, which does not
19775
+ // match the host when focus is on a slotted element projected through
19776
+ // multiple shadow roots. Without this override, focusing a button
19777
+ // inside the bib would be misread as focus leaving the dropdown and
19778
+ // close the bib immediately. desktopModal traps focus inside the
19779
+ // bib and inerts siblings, so suppressing focus-loss dismissal here
19780
+ // is safe — Escape and outside-click still close the bib.
19781
+ this._priorNoHide = this.noHideOnThisFocusLoss;
19782
+ this._noHideOverridden = true;
19783
+ this.noHideOnThisFocusLoss = true;
19784
+
19774
19785
  // Desktop modal: trap focus only within the bib content.
19775
19786
  // Can't use FocusTrap on the bib element because keydown events
19776
19787
  // from slotted content bubble through the dropdown host (light DOM),
@@ -19843,14 +19854,6 @@ class AuroDropdown extends AuroElement$2 {
19843
19854
  };
19844
19855
  this.addEventListener('keydown', this._bibTabHandler);
19845
19856
 
19846
- // Suppress AuroFloatingUI's auto-hide-on-focus-loss while the
19847
- // desktopModal trap owns focus management. Without this, the very
19848
- // first focus move into the bib (from the RAF below) triggers
19849
- // handleFocusLoss → hideBib, tearing down the trap before the
19850
- // user can press Tab.
19851
- this._priorNoHideOnFocusLoss = this.noHideOnThisFocusLoss;
19852
- this.noHideOnThisFocusLoss = true;
19853
-
19854
19857
  // Move initial focus into the bib content, matching FocusTrap behavior
19855
19858
  requestAnimationFrame(() => {
19856
19859
  const focusables = getFocusableElements(this.bibContent);
@@ -24773,7 +24776,7 @@ class AuroFormValidation {
24773
24776
  } else if (this.runtimeUtils.elementMatch(elem, 'auro-input') && elem.errorMessage === '') {
24774
24777
  const input = elem.renderRoot.querySelector('input');
24775
24778
 
24776
- if (input && input.validationMessage.length > 0) {
24779
+ if (input.validationMessage.length > 0) {
24777
24780
  elem.errorMessage = input.validationMessage;
24778
24781
  }
24779
24782
  } else if (this.runtimeUtils.elementMatch(elem, 'auro-combobox') && elem.errorMessage === '') {
@@ -30445,7 +30448,11 @@ class AuroInputUtilities {
30445
30448
  return part.value;
30446
30449
  }
30447
30450
  })
30448
- .join("");
30451
+ .join("")
30452
+ // Remove whitespace and leading/trailing special characters for IMask compatibility
30453
+ // for example, ko-KR's format is `YYYY. MM. DD.` which causes issues with IMask if we don't remove the trailing period.
30454
+ .replace(/\s/gu, '')
30455
+ .replace(/^[^A-Z0-9]+|[^A-Z0-9]+$/gu, '');
30449
30456
  }
30450
30457
 
30451
30458
  /**
@@ -30610,6 +30617,7 @@ class AuroInputUtilities {
30610
30617
  const maskOptions = this.getMaskOptions('date', normalizedFormat);
30611
30618
 
30612
30619
  if (!(valueObject instanceof Date) || Number.isNaN(valueObject.getTime()) || !maskOptions || typeof maskOptions.format !== 'function') {
30620
+ console.debug('Invalid date object or mask options for formatting', { valueObject, maskOptions }); // eslint-disable-line no-console
30613
30621
  return undefined;
30614
30622
  }
30615
30623
 
@@ -31312,7 +31320,7 @@ class BaseInput extends AuroElement$1 {
31312
31320
  * @returns {Date|undefined}
31313
31321
  */
31314
31322
  get valueObject() {
31315
- return this._valueObject || this._computeDateObjectFallback(this.value);
31323
+ return this._valueObject;
31316
31324
  }
31317
31325
 
31318
31326
  /**
@@ -31320,7 +31328,7 @@ class BaseInput extends AuroElement$1 {
31320
31328
  * @returns {Date|undefined}
31321
31329
  */
31322
31330
  get minObject() {
31323
- return this._minObject || this._computeDateObjectFallback(this.min);
31331
+ return this._minObject;
31324
31332
  }
31325
31333
 
31326
31334
  /**
@@ -31328,31 +31336,7 @@ class BaseInput extends AuroElement$1 {
31328
31336
  * @returns {Date|undefined}
31329
31337
  */
31330
31338
  get maxObject() {
31331
- return this._maxObject || this._computeDateObjectFallback(this.max);
31332
- }
31333
-
31334
- /**
31335
- * Parses a date string into a Date object when the corresponding `_*Object`
31336
- * field hasn't been synced yet by `updated()`. Returns undefined when the
31337
- * input type/format isn't a full date or the string is not a valid date.
31338
- *
31339
- * Why this exists: a parent (datepicker) can call `inputN.validate()` from
31340
- * inside its own `updated()` before this input's `updated()` has run
31341
- * `syncDateValues()` — so `_valueObject`/`_maxObject` are still `undefined`
31342
- * and range checks would otherwise silently no-op (flipping the result to
31343
- * `valid` or `patternMismatch`).
31344
- * @private
31345
- * @param {string|undefined} dateStr - ISO date string from `value`/`min`/`max`.
31346
- * @returns {Date|undefined}
31347
- */
31348
- _computeDateObjectFallback(dateStr) {
31349
- if (!dateStr || !this.util || !this.util.isFullDateFormat(this.type, this.format)) {
31350
- return undefined;
31351
- }
31352
- if (!dateFormatter.isValidDate(dateStr)) {
31353
- return undefined;
31354
- }
31355
- return dateFormatter.stringToDateInstance(dateStr);
31339
+ return this._maxObject;
31356
31340
  }
31357
31341
 
31358
31342
  /**
@@ -31377,30 +31361,8 @@ class BaseInput extends AuroElement$1 {
31377
31361
  connectedCallback() {
31378
31362
  super.connectedCallback();
31379
31363
 
31380
- // Mark for query selectors when registered under a versioned tag (e.g. inside
31381
- // a datepicker/combobox). Must run before parent components call validate() on
31382
- // their inner inputs — the validation framework matches via tag-or-attribute,
31383
- // and parents trigger validation during their own updated() cycle, which can
31384
- // precede this input's firstUpdated().
31385
- if (this.tagName.toLowerCase() !== 'auro-input' && !this.hasAttribute('auro-input')) {
31386
- this.setAttribute('auro-input', '');
31387
- }
31388
-
31389
31364
  this.locale = this.domHandler.getLocale(this);
31390
31365
  notifyOnLangChange(this);
31391
-
31392
- // Pre-compute lengthForType and date-object fields so a parent (e.g. datepicker)
31393
- // calling our validate() synchronously during its own updated() cycle sees
31394
- // populated values. Without this, range validation silently no-ops because
31395
- // `max.length === lengthForType` fails when lengthForType is still undefined.
31396
- // Rebuild util here (constructor seeded with en-US default) so configureDataForType's
31397
- // locale-derived format lookup uses the actual locale just resolved above.
31398
- this.util = new AuroInputUtilities({
31399
- locale: this.locale,
31400
- format: this.format
31401
- });
31402
- this.configureDataForType();
31403
- this.syncDateValues();
31404
31366
  }
31405
31367
 
31406
31368
  disconnectedCallback() {
@@ -31421,8 +31383,8 @@ class BaseInput extends AuroElement$1 {
31421
31383
  }
31422
31384
 
31423
31385
  // add attribute for query selectors when auro-input is registered under a custom name
31424
- if (this.tagName.toLowerCase() !== 'auro-input' && !this.hasAttribute('auro-input')) {
31425
- this.setAttribute('auro-input', '');
31386
+ if (this.tagName.toLowerCase() !== 'auro-input') {
31387
+ this.setAttribute('auro-input', true);
31426
31388
  }
31427
31389
  this.inputId = this.id ? `${this.id}-input` : window.crypto.randomUUID();
31428
31390
 
@@ -31470,12 +31432,6 @@ class BaseInput extends AuroElement$1 {
31470
31432
  return;
31471
31433
  }
31472
31434
 
31473
- // While configureAutoFormatting is running, imask's internal updateControl
31474
- // writes el.value to align display with the masked value. A synthetic input
31475
- // event from that write would re-enter handleInput → processCreditCard mid-setup
31476
- // and clobber a Lit value that was just pushed by the parent combobox.
31477
- if (component._configuringMask) return;
31478
-
31479
31435
  // If all guard clauses are passed, dispatch the event
31480
31436
  const inputEvent = new InputEvent('input', {
31481
31437
  bubbles: true,
@@ -31594,16 +31550,7 @@ class BaseInput extends AuroElement$1 {
31594
31550
 
31595
31551
  if (formattedValue !== this.inputElement.value) {
31596
31552
  this.skipNextProgrammaticInputEvent = true;
31597
- if (this.maskInstance && this.type === 'credit-card') {
31598
- // Route through the mask so its _value and el.value stay in lock-step
31599
- // (set value calls updateControl which writes el.value = displayValue).
31600
- // Writing el.value directly leaves the mask thinking displayValue is
31601
- // stale; _saveSelection on the next focus/click then warns. Scoped to
31602
- // credit-card so date's own formattedValue (raw ISO when calendar-invalid)
31603
- // isn't re-masked through the mm/dd/yyyy mask, which would truncate it
31604
- // and flip validity from patternMismatch to tooShort.
31605
- this.maskInstance.value = formattedValue || '';
31606
- } else if (formattedValue) {
31553
+ if (formattedValue) {
31607
31554
  this.inputElement.value = formattedValue;
31608
31555
  } else {
31609
31556
  this.inputElement.value = '';
@@ -31712,73 +31659,58 @@ class BaseInput extends AuroElement$1 {
31712
31659
  * @returns {void}
31713
31660
  */
31714
31661
  configureAutoFormatting() {
31715
- // Re-entrancy guard. The patched-setter's synthetic input event (suppressed
31716
- // by _configuringMask above) could otherwise trigger handleInput →
31717
- // processCreditCard → configureAutoFormatting before the outer call's
31718
- // set value has finished its alignCursor pass.
31719
- if (this._configuringMask) return;
31720
- this._configuringMask = true;
31721
- try {
31722
- if (this.maskInstance) {
31723
- this.maskInstance.destroy();
31724
- }
31662
+ if (this.maskInstance) {
31663
+ this.maskInstance.destroy();
31664
+ }
31725
31665
 
31726
- // Pass new format to util
31727
- this.util.updateFormat(this.format);
31666
+ // Pass new format to util
31667
+ this.util.updateFormat(this.format);
31728
31668
 
31729
- const maskOptions = this.util.getMaskOptions(this.type, this.format);
31669
+ const maskOptions = this.util.getMaskOptions(this.type, this.format);
31730
31670
 
31731
- if (this.inputElement && maskOptions.mask) {
31671
+ if (this.inputElement && maskOptions.mask) {
31732
31672
 
31733
- // Stash and clear any existing value before IMask init.
31734
- // IMask's constructor processes the current input value which requires
31735
- // selection state — clearing first avoids that scenario entirely.
31736
- // When the format changes (e.g. locale switch) and we have a valid ISO
31737
- // model value, compute the display string for the NEW format instead of
31738
- // re-using the old display string, which may be invalid in the new mask.
31739
- let existingValue = this.inputElement.value;
31740
- if (
31741
- this.util.isFullDateFormat(this.type, this.format) &&
31742
- this.value &&
31743
- dateFormatter.isValidDate(this.value) &&
31744
- this.valueObject instanceof Date &&
31745
- !Number.isNaN(this.valueObject.getTime()) &&
31746
- typeof maskOptions.format === 'function'
31747
- ) {
31748
- existingValue = maskOptions.format(this.valueObject);
31749
- }
31673
+ // Stash and clear any existing value before IMask init.
31674
+ // IMask's constructor processes the current input value which requires
31675
+ // selection state — clearing first avoids that scenario entirely.
31676
+ // When the format changes (e.g. locale switch) and we have a valid ISO
31677
+ // model value, compute the display string for the NEW format instead of
31678
+ // re-using the old display string, which may be invalid in the new mask.
31679
+ let existingValue = this.inputElement.value;
31680
+ if (
31681
+ this.util.isFullDateFormat(this.type, this.format) &&
31682
+ this.value &&
31683
+ dateFormatter.isValidDate(this.value) &&
31684
+ this.valueObject instanceof Date &&
31685
+ !Number.isNaN(this.valueObject.getTime()) &&
31686
+ typeof maskOptions.format === 'function'
31687
+ ) {
31688
+ existingValue = maskOptions.format(this.valueObject);
31689
+ }
31750
31690
 
31751
- this.skipNextProgrammaticInputEvent = true;
31752
- this.inputElement.value = '';
31753
-
31754
- this.maskInstance = IMask(this.inputElement, maskOptions);
31755
-
31756
- this.maskInstance.on('accept', () => {
31757
- // Suppress propagation during configureAutoFormatting's own value-restoration
31758
- // (line below) — the mask emits 'accept' on every value-set, including ours,
31759
- // and we don't want to overwrite a value the parent just pushed.
31760
- if (this._configuringMask) return;
31761
- this.value = this.util.toModelValue(this.maskInstance.value, this.format);
31762
- if (this.type === "date") {
31763
- this._rawMaskValue = this.maskInstance.value;
31764
- }
31765
- });
31691
+ this.skipNextProgrammaticInputEvent = true;
31692
+ this.inputElement.value = '';
31766
31693
 
31767
- this.maskInstance.on('complete', () => {
31768
- if (this._configuringMask) return;
31769
- this.value = this.util.toModelValue(this.maskInstance.value, this.format);
31770
- if (this.type === "date") {
31771
- this._rawMaskValue = this.maskInstance.value;
31772
- }
31773
- });
31694
+ this.maskInstance = IMask(this.inputElement, maskOptions);
31695
+
31696
+ this.maskInstance.on('accept', () => {
31697
+ this.value = this.util.toModelValue(this.maskInstance.value, this.format);
31698
+ if (this.type === "date") {
31699
+ this._rawMaskValue = this.maskInstance.value;
31700
+ }
31701
+ });
31774
31702
 
31775
- // Restore the stashed value through IMask so it's properly masked
31776
- if (existingValue) {
31777
- this.maskInstance.value = existingValue;
31703
+ this.maskInstance.on('complete', () => {
31704
+ this.value = this.util.toModelValue(this.maskInstance.value, this.format);
31705
+ if (this.type === "date") {
31706
+ this._rawMaskValue = this.maskInstance.value;
31778
31707
  }
31708
+ });
31709
+
31710
+ // Restore the stashed value through IMask so it's properly masked
31711
+ if (existingValue) {
31712
+ this.maskInstance.value = existingValue;
31779
31713
  }
31780
- } finally {
31781
- this._configuringMask = false;
31782
31714
  }
31783
31715
  }
31784
31716
 
@@ -32065,10 +31997,10 @@ class BaseInput extends AuroElement$1 {
32065
31997
  },
32066
31998
  {
32067
31999
  name: 'Diners club',
32068
- regex: /^(?<num>30[0-5]|36|38)\d{0}/u,
32000
+ regex: /^(?<num>36|38)\d{0}/u,
32069
32001
  formatLength: 16,
32070
32002
  errorMessage: CreditCardValidationMessage,
32071
- cardIcon: 'cc-dinersclub',
32003
+ cardIcon: 'credit-card',
32072
32004
  maskFormat: "0000 000000 0000"
32073
32005
  },
32074
32006
  {
@@ -32478,7 +32410,7 @@ let AuroHelpText$1 = class AuroHelpText extends LitElement {
32478
32410
  }
32479
32411
  };
32480
32412
 
32481
- var formkitVersion = '202606100232';
32413
+ var formkitVersion = '202606101934';
32482
32414
 
32483
32415
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
32484
32416
  // See LICENSE in the project root for license information.
@@ -32816,10 +32748,6 @@ class AuroInput extends BaseInput {
32816
32748
  return i18n$1(this.lang, this.type);
32817
32749
  }
32818
32750
 
32819
- if (this.type === 'date') {
32820
- return i18n$1(this.lang, this.dateFormatMap[this.format] || 'dateMMDDYYYY');
32821
- }
32822
-
32823
32751
  return '';
32824
32752
  }
32825
32753
 
@@ -34686,7 +34614,7 @@ class AuroDatePicker extends AuroElement {
34686
34614
  * @returns {Number} Simplified number.
34687
34615
  */
34688
34616
  convertToWcValidTime(date) {
34689
- return new Date(date).getTime() / 1000;
34617
+ return date?.getTime() / 1000;
34690
34618
  }
34691
34619
 
34692
34620
  /**
@@ -35733,7 +35661,7 @@ class AuroDatePicker extends AuroElement {
35733
35661
  <div class="${classMap(this.commonDisplayValueWrapperClasses)}">
35734
35662
  <slot name="displayValue" @slotchange=${this.checkDisplayValueSlotChange}>
35735
35663
  <span>
35736
- ${this.formatShortDate(this.value)}${this.range ? html$1`–${this.formatShortDate(this.valueEnd)}` : undefined}
35664
+ ${this.formatShortDate(this.valueObject)}${this.range ? html$1`–${this.formatShortDate(this.valueEndObject)}` : undefined}
35737
35665
  </span>
35738
35666
  </slot>
35739
35667
  </div>
@@ -35807,7 +35735,7 @@ class AuroDatePicker extends AuroElement {
35807
35735
  * Simple formatter that ONLY WORKS FOR US DATES.
35808
35736
  * Returns formatted date like Apr 21 or Dec 25.
35809
35737
  * @private
35810
- * @param {string} date - Date format should be in a format Date constructor accepts, like '2023-04-21' or '2023/04/21'.
35738
+ * @param {Date} date - Date format should be in a format Date constructor accepts, like '2023-04-21' or '2023/04/21'.
35811
35739
  * @returns {string}
35812
35740
  */
35813
35741
  formatShortDate(date) {
@@ -35817,16 +35745,16 @@ class AuroDatePicker extends AuroElement {
35817
35745
  day: '2-digit'
35818
35746
  };
35819
35747
 
35820
- return new Date(date).toLocaleDateString('en-US', options).replace(',', '');
35748
+ return date?.toLocaleDateString(this.locale, options).replace(',', '');
35821
35749
  }
35822
35750
 
35823
35751
  /**
35824
35752
  * Format and render the provided date value.
35825
35753
  * @private
35826
- * @param {string} dateValue - The date value to format and render.
35754
+ * @param {Date} date - The date value to format and render.
35827
35755
  * @returns {import('lit').TemplateResult}
35828
35756
  */
35829
- renderDisplayTextDate(dateValue) {
35757
+ renderDisplayTextDate(date) {
35830
35758
  const displayTextClasses = {
35831
35759
  'displayValueText': true,
35832
35760
  'body-lg': true
@@ -35835,8 +35763,8 @@ class AuroDatePicker extends AuroElement {
35835
35763
  return html$1`
35836
35764
  <div>
35837
35765
  <div class="${classMap(displayTextClasses)}">
35838
- ${dateValue && dateFormatter$1.isValidDate(dateValue)
35839
- ? this.formatShortDate(dateValue)
35766
+ ${date
35767
+ ? this.formatShortDate(date)
35840
35768
  : undefined
35841
35769
  }
35842
35770
  </div>
@@ -35885,7 +35813,7 @@ class AuroDatePicker extends AuroElement {
35885
35813
  ${this.layout !== "classic"
35886
35814
  ? html$1`
35887
35815
  <span slot="displayValue">
35888
- ${this.renderDisplayTextDate(this.value)}
35816
+ ${this.renderDisplayTextDate(this.valueObject)}
35889
35817
  </span>
35890
35818
  `
35891
35819
  : undefined
@@ -35929,7 +35857,7 @@ class AuroDatePicker extends AuroElement {
35929
35857
  ${this.layout !== "classic"
35930
35858
  ? html$1`
35931
35859
  <span slot="displayValue">
35932
- ${this.renderDisplayTextDate(this.valueEnd)}
35860
+ ${this.renderDisplayTextDate(this.valueEndObject)}
35933
35861
  </span>
35934
35862
  `
35935
35863
  : undefined