@aurodesignsystem-dev/auro-formkit 0.0.0-pr1498.0 → 0.0.0-pr1499.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 (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 +1705 -1459
  8. package/components/combobox/demo/getting-started.min.js +1705 -1459
  9. package/components/combobox/demo/index.min.js +1705 -1459
  10. package/components/combobox/dist/auro-combobox.d.ts +0 -5
  11. package/components/combobox/dist/index.js +162 -491
  12. package/components/combobox/dist/registered.js +162 -491
  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 +187 -5442
  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 +96 -161
  19. package/components/datepicker/demo/index.md +0 -1
  20. package/components/datepicker/demo/index.min.js +96 -161
  21. package/components/datepicker/dist/index.js +96 -161
  22. package/components/datepicker/dist/registered.js +96 -161
  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 +7965 -7884
  31. package/components/form/demo/getting-started.min.js +7965 -7884
  32. package/components/form/demo/index.min.js +7965 -7884
  33. package/components/form/demo/registerDemoDeps.min.js +7934 -7853
  34. package/components/input/demo/customize.md +539 -472
  35. package/components/input/demo/customize.min.js +61 -132
  36. package/components/input/demo/getting-started.min.js +61 -132
  37. package/components/input/demo/index.min.js +61 -132
  38. package/components/input/dist/base-input.d.ts +0 -16
  39. package/components/input/dist/index.js +61 -132
  40. package/components/input/dist/registered.js +61 -132
  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 +2085 -1439
  61. package/package.json +1 -1
  62. package/components/select/dist/selectUtils.d.ts +0 -12
@@ -764,7 +764,7 @@ let AuroFormValidation$1 = class AuroFormValidation {
764
764
  } else if (this.runtimeUtils.elementMatch(elem, 'auro-input') && elem.errorMessage === '') {
765
765
  const input = elem.renderRoot.querySelector('input');
766
766
 
767
- if (input && input.validationMessage.length > 0) {
767
+ if (input.validationMessage.length > 0) {
768
768
  elem.errorMessage = input.validationMessage;
769
769
  }
770
770
  } else if (this.runtimeUtils.elementMatch(elem, 'auro-combobox') && elem.errorMessage === '') {
@@ -10359,7 +10359,11 @@ let AuroInputUtilities$1 = class AuroInputUtilities {
10359
10359
  return part.value;
10360
10360
  }
10361
10361
  })
10362
- .join("");
10362
+ .join("")
10363
+ // Remove whitespace and leading/trailing special characters for IMask compatibility
10364
+ // for example, ko-KR's format is `YYYY. MM. DD.` which causes issues with IMask if we don't remove the trailing period.
10365
+ .replace(/\s/gu, '')
10366
+ .replace(/^[^A-Z0-9]+|[^A-Z0-9]+$/gu, '');
10363
10367
  }
10364
10368
 
10365
10369
  /**
@@ -10524,6 +10528,7 @@ let AuroInputUtilities$1 = class AuroInputUtilities {
10524
10528
  const maskOptions = this.getMaskOptions('date', normalizedFormat);
10525
10529
 
10526
10530
  if (!(valueObject instanceof Date) || Number.isNaN(valueObject.getTime()) || !maskOptions || typeof maskOptions.format !== 'function') {
10531
+ console.debug('Invalid date object or mask options for formatting', { valueObject, maskOptions }); // eslint-disable-line no-console
10527
10532
  return undefined;
10528
10533
  }
10529
10534
 
@@ -10762,8 +10767,8 @@ class UtilitiesCalendarRender {
10762
10767
  <auro-formkit-calendar-month
10763
10768
  id="${`month-${month}-${year}`}"
10764
10769
  .disabledDays="${elem.disabledDays}"
10765
- .min="${elem.min}"
10766
- .max="${elem.max}"
10770
+ .min="${elem.minDateObject?.getTime() / 1000}"
10771
+ .max="${elem.maxDateObject?.getTime() / 1000}"
10767
10772
  ?noRange="${elem.noRange}"
10768
10773
  .monthFirst="${elem.monthFirst}"
10769
10774
  .dateTo="${elem.dateTo}"
@@ -13436,7 +13441,7 @@ class AuroBibtemplate extends i$1 {
13436
13441
  }
13437
13442
  }
13438
13443
 
13439
- var formkitVersion$2 = '202606100232';
13444
+ var formkitVersion$2 = '202606101857';
13440
13445
 
13441
13446
  let l$1 = class l{generateElementName(t,e){let o=t;return o+="-",o+=e.replace(/[.]/g,"_"),o}generateTag(o,s,a){const r=this.generateElementName(o,s),i=i$5`${s$5(r)}`;return customElements.get(r)||customElements.define(r,class extends a{}),i}};let d$1 = class d{registerComponent(t,e){customElements.get(t)||customElements.define(t,class extends e{});}closestElement(t,e=this,o=(e,s=e&&e.closest(t))=>e&&e!==document&&e!==window?s||o(e.getRootNode().host):null){return o(e)}handleComponentTagRename(t,e){const o=e.toLowerCase();t.tagName.toLowerCase()!==o&&t.setAttribute(o,true);}elementMatch(t,e){const o=e.toLowerCase();return t.tagName.toLowerCase()===o||t.hasAttribute(o)}getSlotText(t,e){const o=t.shadowRoot?.querySelector(`slot[name="${e}"]`),s=(o?.assignedNodes({flatten:true})||[]).map(t=>t.textContent?.trim()).join(" ").trim();return s||null}};let h$4 = class h{registerComponent(t,e){customElements.get(t)||customElements.define(t,class extends e{});}closestElement(t,e=this,o=(e,s=e&&e.closest(t))=>e&&e!==document&&e!==window?s||o(e.getRootNode().host):null){return o(e)}handleComponentTagRename(t,e){const o=e.toLowerCase();t.tagName.toLowerCase()!==o&&t.setAttribute(o,true);}elementMatch(t,e){const o=e.toLowerCase();return t.tagName.toLowerCase()===o||t.hasAttribute(o)}};var c$3=i$3`:host{color:var(--ds-auro-loader-color)}:host>span{background-color:var(--ds-auro-loader-background-color);border-color:var(--ds-auro-loader-border-color)}:host([onlight]),:host([appearance=brand]){--ds-auro-loader-color: var(--ds-basic-color-brand-primary, #01426a)}:host([ondark]),:host([appearance=inverse]){--ds-auro-loader-color: var(--ds-basic-color-texticon-inverse, #ffffff)}:host([orbit])>span{--ds-auro-loader-background-color: transparent}:host([orbit])>span:nth-child(1){--ds-auro-loader-border-color: currentcolor;opacity:.25}:host([orbit])>span:nth-child(2){--ds-auro-loader-border-color: currentcolor;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent}
13442
13447
  `,u$6=i$3`.body-default{font-size:var(--wcss-body-default-font-size, 1rem);line-height:var(--wcss-body-default-line-height, 1.5rem)}.body-default,.body-lg{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-weight, 450);letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-lg{font-size:var(--wcss-body-lg-font-size, 1.125rem);line-height:var(--wcss-body-lg-line-height, 1.625rem)}.body-sm{font-size:var(--wcss-body-sm-font-size, .875rem);line-height:var(--wcss-body-sm-line-height, 1.25rem)}.body-sm,.body-xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-weight, 450);letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-xs{font-size:var(--wcss-body-xs-font-size, .75rem);line-height:var(--wcss-body-xs-line-height, 1rem)}.body-2xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:var(--wcss-body-2xs-font-size, .625rem);font-weight:var(--wcss-body-weight, 450);letter-spacing:var(--wcss-body-letter-spacing, 0);line-height:var(--wcss-body-2xs-line-height, .875rem)}.display-2xl{font-family:var(--wcss-display-2xl-family, "AS Circular"),var(--wcss-display-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-2xl-font-size, clamp(3.5rem, 6vw, 5.375rem));font-weight:var(--wcss-display-2xl-weight, 300);letter-spacing:var(--wcss-display-2xl-letter-spacing, 0);line-height:var(--wcss-display-2xl-line-height, 1.3)}.display-xl{font-family:var(--wcss-display-xl-family, "AS Circular"),var(--wcss-display-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-xl-font-size, clamp(3rem, 5.3333333333vw, 4.5rem));font-weight:var(--wcss-display-xl-weight, 300);letter-spacing:var(--wcss-display-xl-letter-spacing, 0);line-height:var(--wcss-display-xl-line-height, 1.3)}.display-lg{font-family:var(--wcss-display-lg-family, "AS Circular"),var(--wcss-display-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-lg-font-size, clamp(2.75rem, 4.6666666667vw, 4rem));font-weight:var(--wcss-display-lg-weight, 300);letter-spacing:var(--wcss-display-lg-letter-spacing, 0);line-height:var(--wcss-display-lg-line-height, 1.3)}.display-md{font-family:var(--wcss-display-md-family, "AS Circular"),var(--wcss-display-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-md-font-size, clamp(2.5rem, 4vw, 3.5rem));font-weight:var(--wcss-display-md-weight, 300);letter-spacing:var(--wcss-display-md-letter-spacing, 0);line-height:var(--wcss-display-md-line-height, 1.3)}.display-sm{font-family:var(--wcss-display-sm-family, "AS Circular"),var(--wcss-display-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-sm-font-size, clamp(2rem, 3.6666666667vw, 3rem));font-weight:var(--wcss-display-sm-weight, 300);letter-spacing:var(--wcss-display-sm-letter-spacing, 0);line-height:var(--wcss-display-sm-line-height, 1.3)}.display-xs{font-family:var(--wcss-display-xs-family, "AS Circular"),var(--wcss-display-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-xs-font-size, clamp(1.75rem, 3vw, 2.375rem));font-weight:var(--wcss-display-xs-weight, 300);letter-spacing:var(--wcss-display-xs-letter-spacing, 0);line-height:var(--wcss-display-xs-line-height, 1.3)}.heading-xl{font-family:var(--wcss-heading-xl-family, "AS Circular"),var(--wcss-heading-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-xl-font-size, clamp(2rem, 3vw, 2.5rem));font-weight:var(--wcss-heading-xl-weight, 300);letter-spacing:var(--wcss-heading-xl-letter-spacing, 0);line-height:var(--wcss-heading-xl-line-height, 1.3)}.heading-lg{font-family:var(--wcss-heading-lg-family, "AS Circular"),var(--wcss-heading-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-lg-font-size, clamp(1.75rem, 2.6666666667vw, 2.25rem));font-weight:var(--wcss-heading-lg-weight, 300);letter-spacing:var(--wcss-heading-lg-letter-spacing, 0);line-height:var(--wcss-heading-lg-line-height, 1.3)}.heading-md{font-family:var(--wcss-heading-md-family, "AS Circular"),var(--wcss-heading-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-md-font-size, clamp(1.625rem, 2.3333333333vw, 1.75rem));font-weight:var(--wcss-heading-md-weight, 300);letter-spacing:var(--wcss-heading-md-letter-spacing, 0);line-height:var(--wcss-heading-md-line-height, 1.3)}.heading-sm{font-family:var(--wcss-heading-sm-family, "AS Circular"),var(--wcss-heading-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-sm-font-size, clamp(1.375rem, 2vw, 1.5rem));font-weight:var(--wcss-heading-sm-weight, 300);letter-spacing:var(--wcss-heading-sm-letter-spacing, 0);line-height:var(--wcss-heading-sm-line-height, 1.3)}.heading-xs{font-family:var(--wcss-heading-xs-family, "AS Circular"),var(--wcss-heading-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-xs-font-size, clamp(1.25rem, 1.6666666667vw, 1.25rem));font-weight:var(--wcss-heading-xs-weight, 450);letter-spacing:var(--wcss-heading-xs-letter-spacing, 0);line-height:var(--wcss-heading-xs-line-height, 1.3)}.heading-2xs{font-family:var(--wcss-heading-2xs-family, "AS Circular"),var(--wcss-heading-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-2xs-font-size, clamp(1.125rem, 1.5vw, 1.125rem));font-weight:var(--wcss-heading-2xs-weight, 450);letter-spacing:var(--wcss-heading-2xs-letter-spacing, 0);line-height:var(--wcss-heading-2xs-line-height, 1.3)}.accent-2xl{font-family:var(--wcss-accent-2xl-family, "Good OT"),var(--wcss-accent-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-2xl-font-size, clamp(2rem, 3.1666666667vw, 2.375rem));font-weight:var(--wcss-accent-2xl-weight, 450);letter-spacing:var(--wcss-accent-2xl-letter-spacing, .05em);line-height:var(--wcss-accent-2xl-line-height, 1)}.accent-2xl,.accent-xl{text-transform:uppercase}.accent-xl{font-family:var(--wcss-accent-xl-family, "Good OT"),var(--wcss-accent-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-xl-font-size, clamp(1.625rem, 2.3333333333vw, 2rem));font-weight:var(--wcss-accent-xl-weight, 450);letter-spacing:var(--wcss-accent-xl-letter-spacing, .05em);line-height:var(--wcss-accent-xl-line-height, 1.3)}.accent-lg{font-family:var(--wcss-accent-lg-family, "Good OT"),var(--wcss-accent-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-lg-font-size, clamp(1.5rem, 2.1666666667vw, 1.75rem));font-weight:var(--wcss-accent-lg-weight, 450);letter-spacing:var(--wcss-accent-lg-letter-spacing, .05em);line-height:var(--wcss-accent-lg-line-height, 1.3)}.accent-lg,.accent-md{text-transform:uppercase}.accent-md{font-family:var(--wcss-accent-md-family, "Good OT"),var(--wcss-accent-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-md-font-size, clamp(1.375rem, 1.8333333333vw, 1.5rem));font-weight:var(--wcss-accent-md-weight, 500);letter-spacing:var(--wcss-accent-md-letter-spacing, .05em);line-height:var(--wcss-accent-md-line-height, 1.3)}.accent-sm{font-family:var(--wcss-accent-sm-family, "Good OT"),var(--wcss-accent-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-sm-font-size, clamp(1.125rem, 1.5vw, 1.25rem));font-weight:var(--wcss-accent-sm-weight, 500);letter-spacing:var(--wcss-accent-sm-letter-spacing, .05em);line-height:var(--wcss-accent-sm-line-height, 1.3)}.accent-sm,.accent-xs{text-transform:uppercase}.accent-xs{font-family:var(--wcss-accent-xs-family, "Good OT"),var(--wcss-accent-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-xs-font-size, clamp(1rem, 1.3333333333vw, 1rem));font-weight:var(--wcss-accent-xs-weight, 500);letter-spacing:var(--wcss-accent-xs-letter-spacing, .1em);line-height:var(--wcss-accent-xs-line-height, 1.3)}.accent-2xs{font-family:var(--wcss-accent-2xs-family, "Good OT"),var(--wcss-accent-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-2xs-font-size, clamp(.875rem, 1.1666666667vw, .875rem));font-weight:var(--wcss-accent-2xs-weight, 450);letter-spacing:var(--wcss-accent-2xs-letter-spacing, .1em);line-height:var(--wcss-accent-2xs-line-height, 1.3);text-transform:uppercase}:focus:not(:focus-visible){outline:3px solid transparent}:host,:host>span{position:relative}:host{width:2rem;height:2rem;display:inline-block;font-size:0}:host>span{position:absolute;display:inline-block;float:none;top:0;left:0;width:2rem;height:2rem;border-radius:100%;border-style:solid;border-width:0;box-sizing:border-box}:host([xs]),:host([xs])>span{width:1.2rem;height:1.2rem}:host([sm]),:host([sm])>span{width:3rem;height:3rem}:host([md]),:host([md])>span{width:5rem;height:5rem}:host([lg]),:host([lg])>span{width:8rem;height:8rem}:host{--margin: .375rem;--margin-xs: .2rem;--margin-sm: .5rem;--margin-md: .75rem;--margin-lg: 1rem}:host([pulse]),:host([pulse])>span{position:relative}:host([pulse]){width:calc(3rem + var(--margin) * 6);height:calc(1rem + var(--margin) * 2)}:host([pulse])>span{width:1rem;height:1rem;margin:var(--margin);animation:pulse 1.5s ease infinite}:host([pulse][xs]){width:calc(1.95rem + var(--margin-xs) * 6);height:calc(.65rem + var(--margin-xs) * 2)}:host([pulse][xs])>span{margin:var(--margin-xs);width:.65rem;height:.65rem}:host([pulse][sm]){width:calc(6rem + var(--margin-sm) * 6);height:calc(2rem + var(--margin-sm) * 2)}:host([pulse][sm])>span{margin:var(--margin-sm);width:2rem;height:2rem}:host([pulse][md]){width:calc(9rem + var(--margin-md) * 6);height:calc(3rem + var(--margin-md) * 2)}:host([pulse][md])>span{margin:var(--margin-md);width:3rem;height:3rem}:host([pulse][lg]){width:calc(15rem + var(--margin-lg) * 6);height:calc(5rem + var(--margin-lg) * 2)}:host([pulse][lg])>span{margin:var(--margin-lg);width:5rem;height:5rem}:host([pulse])>span:nth-child(1){animation-delay:-.4s}:host([pulse])>span:nth-child(2){animation-delay:-.2s}:host([pulse])>span:nth-child(3){animation-delay:0ms}@keyframes pulse{0%,to{opacity:.1;transform:scale(.9)}50%{opacity:1;transform:scale(1.1)}}:host([orbit]),:host([orbit])>span{opacity:1}:host([orbit])>span{border-width:5px}:host([orbit])>span:nth-child(2){animation:orbit 2s linear infinite}:host([orbit][sm])>span{border-width:8px}:host([orbit][md])>span{border-width:13px}:host([orbit][lg])>span{border-width:21px}@keyframes orbit{0%{transform:rotate(0)}to{transform:rotate(360deg)}}:host([ringworm])>svg{animation:rotate 2s linear infinite;height:100%;width:100%;stroke:currentcolor;stroke-width:8}:host([ringworm]) .path{stroke-dashoffset:0;animation:ringworm 1.5s ease-in-out infinite;stroke-linecap:round}@keyframes rotate{to{transform:rotate(360deg)}}@keyframes ringworm{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px}to{stroke-dasharray:89,200;stroke-dashoffset:-124px}}:host([laser]){position:static;width:100%;display:block;height:0;overflow:hidden;font-size:unset}:host([laser])>span{position:fixed;width:100%;height:.25rem;border-radius:0;z-index:100}:host([laser])>span:nth-child(1){border-color:currentcolor;opacity:.25}:host([laser])>span:nth-child(2){border-color:currentcolor;animation:laser 2s linear infinite;opacity:1;width:50%}:host([laser][sm])>span:nth-child(2){width:20%}:host([laser][md])>span:nth-child(2){width:30%}:host([laser][lg])>span:nth-child(2){width:50%;animation-duration:1.5s}:host([laser][xl])>span:nth-child(2){width:80%;animation-duration:1.5s}@keyframes laser{0%{left:-100%}to{left:110%}}:host>.no-animation{display:none}@media (prefers-reduced-motion: reduce){:host{display:flex;align-items:center;justify-content:center}:host>span{opacity:1}:host>.loader{display:none}:host>svg{display:none}:host>.no-animation{display:block}}
@@ -18973,7 +18978,7 @@ let AuroHelpText$2 = class AuroHelpText extends i$1 {
18973
18978
  }
18974
18979
  };
18975
18980
 
18976
- var formkitVersion$1 = '202606100232';
18981
+ var formkitVersion$1 = '202606101857';
18977
18982
 
18978
18983
  let AuroElement$2 = class AuroElement extends i$1 {
18979
18984
  static get properties() {
@@ -19831,18 +19836,27 @@ class AuroDropdown extends AuroElement$2 {
19831
19836
  this.focusTrap = undefined;
19832
19837
  }
19833
19838
 
19834
- // Restore any focus-loss suppression we installed for a prior trap state.
19835
- // The desktopModal trap moves focus into the bib via RAF, which would
19836
- // otherwise trip AuroFloatingUI.handleFocusLoss (a popover-top-layer
19837
- // timing issue makes its :focus-within guard miss the focused button).
19838
- if (this._priorNoHideOnFocusLoss !== undefined) {
19839
- this.noHideOnThisFocusLoss = this._priorNoHideOnFocusLoss;
19840
- this._priorNoHideOnFocusLoss = undefined;
19839
+ // Restore the user-set noHideOnThisFocusLoss value, if we overrode it.
19840
+ if (this._noHideOverridden) {
19841
+ this.noHideOnThisFocusLoss = this._priorNoHide;
19842
+ this._noHideOverridden = false;
19843
+ this._priorNoHide = undefined;
19841
19844
  }
19842
19845
 
19843
19846
  if (this.isPopoverVisible) {
19844
19847
  if (!this.isBibFullscreen) {
19845
19848
  if (this.desktopModal) {
19849
+ // The floater's focus-loss check uses :focus-within, which does not
19850
+ // match the host when focus is on a slotted element projected through
19851
+ // multiple shadow roots. Without this override, focusing a button
19852
+ // inside the bib would be misread as focus leaving the dropdown and
19853
+ // close the bib immediately. desktopModal traps focus inside the
19854
+ // bib and inerts siblings, so suppressing focus-loss dismissal here
19855
+ // is safe — Escape and outside-click still close the bib.
19856
+ this._priorNoHide = this.noHideOnThisFocusLoss;
19857
+ this._noHideOverridden = true;
19858
+ this.noHideOnThisFocusLoss = true;
19859
+
19846
19860
  // Desktop modal: trap focus only within the bib content.
19847
19861
  // Can't use FocusTrap on the bib element because keydown events
19848
19862
  // from slotted content bubble through the dropdown host (light DOM),
@@ -19915,14 +19929,6 @@ class AuroDropdown extends AuroElement$2 {
19915
19929
  };
19916
19930
  this.addEventListener('keydown', this._bibTabHandler);
19917
19931
 
19918
- // Suppress AuroFloatingUI's auto-hide-on-focus-loss while the
19919
- // desktopModal trap owns focus management. Without this, the very
19920
- // first focus move into the bib (from the RAF below) triggers
19921
- // handleFocusLoss → hideBib, tearing down the trap before the
19922
- // user can press Tab.
19923
- this._priorNoHideOnFocusLoss = this.noHideOnThisFocusLoss;
19924
- this.noHideOnThisFocusLoss = true;
19925
-
19926
19932
  // Move initial focus into the bib content, matching FocusTrap behavior
19927
19933
  requestAnimationFrame(() => {
19928
19934
  const focusables = getFocusableElements(this.bibContent);
@@ -24852,7 +24858,7 @@ class AuroFormValidation {
24852
24858
  } else if (this.runtimeUtils.elementMatch(elem, 'auro-input') && elem.errorMessage === '') {
24853
24859
  const input = elem.renderRoot.querySelector('input');
24854
24860
 
24855
- if (input && input.validationMessage.length > 0) {
24861
+ if (input.validationMessage.length > 0) {
24856
24862
  elem.errorMessage = input.validationMessage;
24857
24863
  }
24858
24864
  } else if (this.runtimeUtils.elementMatch(elem, 'auro-combobox') && elem.errorMessage === '') {
@@ -30524,7 +30530,11 @@ class AuroInputUtilities {
30524
30530
  return part.value;
30525
30531
  }
30526
30532
  })
30527
- .join("");
30533
+ .join("")
30534
+ // Remove whitespace and leading/trailing special characters for IMask compatibility
30535
+ // for example, ko-KR's format is `YYYY. MM. DD.` which causes issues with IMask if we don't remove the trailing period.
30536
+ .replace(/\s/gu, '')
30537
+ .replace(/^[^A-Z0-9]+|[^A-Z0-9]+$/gu, '');
30528
30538
  }
30529
30539
 
30530
30540
  /**
@@ -30689,6 +30699,7 @@ class AuroInputUtilities {
30689
30699
  const maskOptions = this.getMaskOptions('date', normalizedFormat);
30690
30700
 
30691
30701
  if (!(valueObject instanceof Date) || Number.isNaN(valueObject.getTime()) || !maskOptions || typeof maskOptions.format !== 'function') {
30702
+ console.debug('Invalid date object or mask options for formatting', { valueObject, maskOptions }); // eslint-disable-line no-console
30692
30703
  return undefined;
30693
30704
  }
30694
30705
 
@@ -31391,7 +31402,7 @@ class BaseInput extends AuroElement$1 {
31391
31402
  * @returns {Date|undefined}
31392
31403
  */
31393
31404
  get valueObject() {
31394
- return this._valueObject || this._computeDateObjectFallback(this.value);
31405
+ return this._valueObject;
31395
31406
  }
31396
31407
 
31397
31408
  /**
@@ -31399,7 +31410,7 @@ class BaseInput extends AuroElement$1 {
31399
31410
  * @returns {Date|undefined}
31400
31411
  */
31401
31412
  get minObject() {
31402
- return this._minObject || this._computeDateObjectFallback(this.min);
31413
+ return this._minObject;
31403
31414
  }
31404
31415
 
31405
31416
  /**
@@ -31407,31 +31418,7 @@ class BaseInput extends AuroElement$1 {
31407
31418
  * @returns {Date|undefined}
31408
31419
  */
31409
31420
  get maxObject() {
31410
- return this._maxObject || this._computeDateObjectFallback(this.max);
31411
- }
31412
-
31413
- /**
31414
- * Parses a date string into a Date object when the corresponding `_*Object`
31415
- * field hasn't been synced yet by `updated()`. Returns undefined when the
31416
- * input type/format isn't a full date or the string is not a valid date.
31417
- *
31418
- * Why this exists: a parent (datepicker) can call `inputN.validate()` from
31419
- * inside its own `updated()` before this input's `updated()` has run
31420
- * `syncDateValues()` — so `_valueObject`/`_maxObject` are still `undefined`
31421
- * and range checks would otherwise silently no-op (flipping the result to
31422
- * `valid` or `patternMismatch`).
31423
- * @private
31424
- * @param {string|undefined} dateStr - ISO date string from `value`/`min`/`max`.
31425
- * @returns {Date|undefined}
31426
- */
31427
- _computeDateObjectFallback(dateStr) {
31428
- if (!dateStr || !this.util || !this.util.isFullDateFormat(this.type, this.format)) {
31429
- return undefined;
31430
- }
31431
- if (!dateFormatter.isValidDate(dateStr)) {
31432
- return undefined;
31433
- }
31434
- return dateFormatter.stringToDateInstance(dateStr);
31421
+ return this._maxObject;
31435
31422
  }
31436
31423
 
31437
31424
  /**
@@ -31456,30 +31443,8 @@ class BaseInput extends AuroElement$1 {
31456
31443
  connectedCallback() {
31457
31444
  super.connectedCallback();
31458
31445
 
31459
- // Mark for query selectors when registered under a versioned tag (e.g. inside
31460
- // a datepicker/combobox). Must run before parent components call validate() on
31461
- // their inner inputs — the validation framework matches via tag-or-attribute,
31462
- // and parents trigger validation during their own updated() cycle, which can
31463
- // precede this input's firstUpdated().
31464
- if (this.tagName.toLowerCase() !== 'auro-input' && !this.hasAttribute('auro-input')) {
31465
- this.setAttribute('auro-input', '');
31466
- }
31467
-
31468
31446
  this.locale = this.domHandler.getLocale(this);
31469
31447
  notifyOnLangChange(this);
31470
-
31471
- // Pre-compute lengthForType and date-object fields so a parent (e.g. datepicker)
31472
- // calling our validate() synchronously during its own updated() cycle sees
31473
- // populated values. Without this, range validation silently no-ops because
31474
- // `max.length === lengthForType` fails when lengthForType is still undefined.
31475
- // Rebuild util here (constructor seeded with en-US default) so configureDataForType's
31476
- // locale-derived format lookup uses the actual locale just resolved above.
31477
- this.util = new AuroInputUtilities({
31478
- locale: this.locale,
31479
- format: this.format
31480
- });
31481
- this.configureDataForType();
31482
- this.syncDateValues();
31483
31448
  }
31484
31449
 
31485
31450
  disconnectedCallback() {
@@ -31500,8 +31465,8 @@ class BaseInput extends AuroElement$1 {
31500
31465
  }
31501
31466
 
31502
31467
  // add attribute for query selectors when auro-input is registered under a custom name
31503
- if (this.tagName.toLowerCase() !== 'auro-input' && !this.hasAttribute('auro-input')) {
31504
- this.setAttribute('auro-input', '');
31468
+ if (this.tagName.toLowerCase() !== 'auro-input') {
31469
+ this.setAttribute('auro-input', true);
31505
31470
  }
31506
31471
  this.inputId = this.id ? `${this.id}-input` : window.crypto.randomUUID();
31507
31472
 
@@ -31549,12 +31514,6 @@ class BaseInput extends AuroElement$1 {
31549
31514
  return;
31550
31515
  }
31551
31516
 
31552
- // While configureAutoFormatting is running, imask's internal updateControl
31553
- // writes el.value to align display with the masked value. A synthetic input
31554
- // event from that write would re-enter handleInput → processCreditCard mid-setup
31555
- // and clobber a Lit value that was just pushed by the parent combobox.
31556
- if (component._configuringMask) return;
31557
-
31558
31517
  // If all guard clauses are passed, dispatch the event
31559
31518
  const inputEvent = new InputEvent('input', {
31560
31519
  bubbles: true,
@@ -31673,16 +31632,7 @@ class BaseInput extends AuroElement$1 {
31673
31632
 
31674
31633
  if (formattedValue !== this.inputElement.value) {
31675
31634
  this.skipNextProgrammaticInputEvent = true;
31676
- if (this.maskInstance && this.type === 'credit-card') {
31677
- // Route through the mask so its _value and el.value stay in lock-step
31678
- // (set value calls updateControl which writes el.value = displayValue).
31679
- // Writing el.value directly leaves the mask thinking displayValue is
31680
- // stale; _saveSelection on the next focus/click then warns. Scoped to
31681
- // credit-card so date's own formattedValue (raw ISO when calendar-invalid)
31682
- // isn't re-masked through the mm/dd/yyyy mask, which would truncate it
31683
- // and flip validity from patternMismatch to tooShort.
31684
- this.maskInstance.value = formattedValue || '';
31685
- } else if (formattedValue) {
31635
+ if (formattedValue) {
31686
31636
  this.inputElement.value = formattedValue;
31687
31637
  } else {
31688
31638
  this.inputElement.value = '';
@@ -31791,73 +31741,58 @@ class BaseInput extends AuroElement$1 {
31791
31741
  * @returns {void}
31792
31742
  */
31793
31743
  configureAutoFormatting() {
31794
- // Re-entrancy guard. The patched-setter's synthetic input event (suppressed
31795
- // by _configuringMask above) could otherwise trigger handleInput →
31796
- // processCreditCard → configureAutoFormatting before the outer call's
31797
- // set value has finished its alignCursor pass.
31798
- if (this._configuringMask) return;
31799
- this._configuringMask = true;
31800
- try {
31801
- if (this.maskInstance) {
31802
- this.maskInstance.destroy();
31803
- }
31744
+ if (this.maskInstance) {
31745
+ this.maskInstance.destroy();
31746
+ }
31804
31747
 
31805
- // Pass new format to util
31806
- this.util.updateFormat(this.format);
31748
+ // Pass new format to util
31749
+ this.util.updateFormat(this.format);
31807
31750
 
31808
- const maskOptions = this.util.getMaskOptions(this.type, this.format);
31751
+ const maskOptions = this.util.getMaskOptions(this.type, this.format);
31809
31752
 
31810
- if (this.inputElement && maskOptions.mask) {
31753
+ if (this.inputElement && maskOptions.mask) {
31811
31754
 
31812
- // Stash and clear any existing value before IMask init.
31813
- // IMask's constructor processes the current input value which requires
31814
- // selection state — clearing first avoids that scenario entirely.
31815
- // When the format changes (e.g. locale switch) and we have a valid ISO
31816
- // model value, compute the display string for the NEW format instead of
31817
- // re-using the old display string, which may be invalid in the new mask.
31818
- let existingValue = this.inputElement.value;
31819
- if (
31820
- this.util.isFullDateFormat(this.type, this.format) &&
31821
- this.value &&
31822
- dateFormatter.isValidDate(this.value) &&
31823
- this.valueObject instanceof Date &&
31824
- !Number.isNaN(this.valueObject.getTime()) &&
31825
- typeof maskOptions.format === 'function'
31826
- ) {
31827
- existingValue = maskOptions.format(this.valueObject);
31828
- }
31755
+ // Stash and clear any existing value before IMask init.
31756
+ // IMask's constructor processes the current input value which requires
31757
+ // selection state — clearing first avoids that scenario entirely.
31758
+ // When the format changes (e.g. locale switch) and we have a valid ISO
31759
+ // model value, compute the display string for the NEW format instead of
31760
+ // re-using the old display string, which may be invalid in the new mask.
31761
+ let existingValue = this.inputElement.value;
31762
+ if (
31763
+ this.util.isFullDateFormat(this.type, this.format) &&
31764
+ this.value &&
31765
+ dateFormatter.isValidDate(this.value) &&
31766
+ this.valueObject instanceof Date &&
31767
+ !Number.isNaN(this.valueObject.getTime()) &&
31768
+ typeof maskOptions.format === 'function'
31769
+ ) {
31770
+ existingValue = maskOptions.format(this.valueObject);
31771
+ }
31829
31772
 
31830
- this.skipNextProgrammaticInputEvent = true;
31831
- this.inputElement.value = '';
31832
-
31833
- this.maskInstance = IMask(this.inputElement, maskOptions);
31834
-
31835
- this.maskInstance.on('accept', () => {
31836
- // Suppress propagation during configureAutoFormatting's own value-restoration
31837
- // (line below) — the mask emits 'accept' on every value-set, including ours,
31838
- // and we don't want to overwrite a value the parent just pushed.
31839
- if (this._configuringMask) return;
31840
- this.value = this.util.toModelValue(this.maskInstance.value, this.format);
31841
- if (this.type === "date") {
31842
- this._rawMaskValue = this.maskInstance.value;
31843
- }
31844
- });
31773
+ this.skipNextProgrammaticInputEvent = true;
31774
+ this.inputElement.value = '';
31845
31775
 
31846
- this.maskInstance.on('complete', () => {
31847
- if (this._configuringMask) return;
31848
- this.value = this.util.toModelValue(this.maskInstance.value, this.format);
31849
- if (this.type === "date") {
31850
- this._rawMaskValue = this.maskInstance.value;
31851
- }
31852
- });
31776
+ this.maskInstance = IMask(this.inputElement, maskOptions);
31853
31777
 
31854
- // Restore the stashed value through IMask so it's properly masked
31855
- if (existingValue) {
31856
- this.maskInstance.value = existingValue;
31778
+ this.maskInstance.on('accept', () => {
31779
+ this.value = this.util.toModelValue(this.maskInstance.value, this.format);
31780
+ if (this.type === "date") {
31781
+ this._rawMaskValue = this.maskInstance.value;
31857
31782
  }
31783
+ });
31784
+
31785
+ this.maskInstance.on('complete', () => {
31786
+ this.value = this.util.toModelValue(this.maskInstance.value, this.format);
31787
+ if (this.type === "date") {
31788
+ this._rawMaskValue = this.maskInstance.value;
31789
+ }
31790
+ });
31791
+
31792
+ // Restore the stashed value through IMask so it's properly masked
31793
+ if (existingValue) {
31794
+ this.maskInstance.value = existingValue;
31858
31795
  }
31859
- } finally {
31860
- this._configuringMask = false;
31861
31796
  }
31862
31797
  }
31863
31798
 
@@ -32144,10 +32079,10 @@ class BaseInput extends AuroElement$1 {
32144
32079
  },
32145
32080
  {
32146
32081
  name: 'Diners club',
32147
- regex: /^(?<num>30[0-5]|36|38)\d{0}/u,
32082
+ regex: /^(?<num>36|38)\d{0}/u,
32148
32083
  formatLength: 16,
32149
32084
  errorMessage: CreditCardValidationMessage,
32150
- cardIcon: 'cc-dinersclub',
32085
+ cardIcon: 'credit-card',
32151
32086
  maskFormat: "0000 000000 0000"
32152
32087
  },
32153
32088
  {
@@ -32557,7 +32492,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$1 {
32557
32492
  }
32558
32493
  };
32559
32494
 
32560
- var formkitVersion = '202606100232';
32495
+ var formkitVersion = '202606101857';
32561
32496
 
32562
32497
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
32563
32498
  // See LICENSE in the project root for license information.
@@ -34765,7 +34700,7 @@ class AuroDatePicker extends AuroElement {
34765
34700
  * @returns {Number} Simplified number.
34766
34701
  */
34767
34702
  convertToWcValidTime(date) {
34768
- return new Date(date).getTime() / 1000;
34703
+ return date?.getTime() / 1000;
34769
34704
  }
34770
34705
 
34771
34706
  /**
@@ -35812,7 +35747,7 @@ class AuroDatePicker extends AuroElement {
35812
35747
  <div class="${e$4(this.commonDisplayValueWrapperClasses)}">
35813
35748
  <slot name="displayValue" @slotchange=${this.checkDisplayValueSlotChange}>
35814
35749
  <span>
35815
- ${this.formatShortDate(this.value)}${this.range ? u$a`–${this.formatShortDate(this.valueEnd)}` : undefined}
35750
+ ${this.formatShortDate(this.valueObject)}${this.range ? u$a`–${this.formatShortDate(this.valueEndObject)}` : undefined}
35816
35751
  </span>
35817
35752
  </slot>
35818
35753
  </div>
@@ -35886,7 +35821,7 @@ class AuroDatePicker extends AuroElement {
35886
35821
  * Simple formatter that ONLY WORKS FOR US DATES.
35887
35822
  * Returns formatted date like Apr 21 or Dec 25.
35888
35823
  * @private
35889
- * @param {string} date - Date format should be in a format Date constructor accepts, like '2023-04-21' or '2023/04/21'.
35824
+ * @param {Date} date - Date format should be in a format Date constructor accepts, like '2023-04-21' or '2023/04/21'.
35890
35825
  * @returns {string}
35891
35826
  */
35892
35827
  formatShortDate(date) {
@@ -35896,16 +35831,16 @@ class AuroDatePicker extends AuroElement {
35896
35831
  day: '2-digit'
35897
35832
  };
35898
35833
 
35899
- return new Date(date).toLocaleDateString('en-US', options).replace(',', '');
35834
+ return date?.toLocaleDateString(this.locale, options).replace(',', '');
35900
35835
  }
35901
35836
 
35902
35837
  /**
35903
35838
  * Format and render the provided date value.
35904
35839
  * @private
35905
- * @param {string} dateValue - The date value to format and render.
35840
+ * @param {Date} date - The date value to format and render.
35906
35841
  * @returns {import('lit').TemplateResult}
35907
35842
  */
35908
- renderDisplayTextDate(dateValue) {
35843
+ renderDisplayTextDate(date) {
35909
35844
  const displayTextClasses = {
35910
35845
  'displayValueText': true,
35911
35846
  'body-lg': true
@@ -35914,8 +35849,8 @@ class AuroDatePicker extends AuroElement {
35914
35849
  return u$a`
35915
35850
  <div>
35916
35851
  <div class="${e$4(displayTextClasses)}">
35917
- ${dateValue && dateFormatter$1.isValidDate(dateValue)
35918
- ? this.formatShortDate(dateValue)
35852
+ ${date
35853
+ ? this.formatShortDate(date)
35919
35854
  : undefined
35920
35855
  }
35921
35856
  </div>
@@ -35964,7 +35899,7 @@ class AuroDatePicker extends AuroElement {
35964
35899
  ${this.layout !== "classic"
35965
35900
  ? u$a`
35966
35901
  <span slot="displayValue">
35967
- ${this.renderDisplayTextDate(this.value)}
35902
+ ${this.renderDisplayTextDate(this.valueObject)}
35968
35903
  </span>
35969
35904
  `
35970
35905
  : undefined
@@ -36008,7 +35943,7 @@ class AuroDatePicker extends AuroElement {
36008
35943
  ${this.layout !== "classic"
36009
35944
  ? u$a`
36010
35945
  <span slot="displayValue">
36011
- ${this.renderDisplayTextDate(this.valueEnd)}
35946
+ ${this.renderDisplayTextDate(this.valueEndObject)}
36012
35947
  </span>
36013
35948
  `
36014
35949
  : undefined
@@ -13,7 +13,6 @@
13
13
  <auro-anchorlink fluid href="#popoverSlot" class="level2 body-xs">Date Popover</auro-anchorlink>
14
14
  <auro-anchorlink fluid href="#blackoutDates" class="level2 body-xs">Blackout Dates</auro-anchorlink>
15
15
  <auro-anchorlink fluid href="#referenceDates" class="level2 body-xs">Reference Dates</auro-anchorlink>
16
- <auro-anchorlink fluid href="#regionalDateFormat" class="level2 body-xs">Regional Date</auro-anchorlink>
17
16
  <auro-anchorlink fluid href="#viewportSize" class="level2 body-xs">Viewport Size</auro-anchorlink>
18
17
  </auro-nav>
19
18
  </nav>