@aurodesignsystem-dev/auro-formkit 0.0.0-pr1508.0 → 0.0.0-pr1509.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 (46) 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 +279 -142
  7. package/components/combobox/demo/getting-started.min.js +279 -142
  8. package/components/combobox/demo/index.min.js +279 -142
  9. package/components/combobox/dist/auro-combobox.d.ts +0 -9
  10. package/components/combobox/dist/index.js +279 -142
  11. package/components/combobox/dist/registered.js +279 -142
  12. package/components/counter/demo/customize.min.js +2 -2
  13. package/components/counter/demo/index.min.js +2 -2
  14. package/components/counter/dist/index.js +2 -2
  15. package/components/counter/dist/registered.js +2 -2
  16. package/components/datepicker/demo/customize.min.js +153 -45
  17. package/components/datepicker/demo/index.min.js +153 -45
  18. package/components/datepicker/dist/index.js +153 -45
  19. package/components/datepicker/dist/registered.js +153 -45
  20. package/components/dropdown/demo/customize.min.js +1 -1
  21. package/components/dropdown/demo/getting-started.min.js +1 -1
  22. package/components/dropdown/demo/index.min.js +1 -1
  23. package/components/dropdown/dist/index.js +1 -1
  24. package/components/dropdown/dist/registered.js +1 -1
  25. package/components/form/demo/customize.min.js +589 -235
  26. package/components/form/demo/getting-started.min.js +589 -235
  27. package/components/form/demo/index.min.js +589 -235
  28. package/components/form/demo/registerDemoDeps.min.js +589 -235
  29. package/components/input/demo/customize.min.js +151 -42
  30. package/components/input/demo/getting-started.min.js +151 -42
  31. package/components/input/demo/index.min.js +151 -42
  32. package/components/input/dist/base-input.d.ts +49 -1
  33. package/components/input/dist/index.js +151 -42
  34. package/components/input/dist/registered.js +151 -42
  35. package/components/radio/demo/customize.min.js +1 -1
  36. package/components/radio/demo/getting-started.min.js +1 -1
  37. package/components/radio/demo/index.min.js +1 -1
  38. package/components/radio/dist/index.js +1 -1
  39. package/components/radio/dist/registered.js +1 -1
  40. package/components/select/demo/customize.min.js +2 -2
  41. package/components/select/demo/getting-started.min.js +2 -2
  42. package/components/select/demo/index.min.js +2 -2
  43. package/components/select/dist/index.js +2 -2
  44. package/components/select/dist/registered.js +2 -2
  45. package/custom-elements.json +264 -20
  46. package/package.json +1 -1
@@ -10511,7 +10511,6 @@ let AuroInputUtilities$1 = class AuroInputUtilities {
10511
10511
  const maskOptions = this.getMaskOptions('date', normalizedFormat);
10512
10512
 
10513
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
10515
10514
  return undefined;
10516
10515
  }
10517
10516
 
@@ -13392,7 +13391,7 @@ class AuroBibtemplate extends LitElement {
13392
13391
  }
13393
13392
  }
13394
13393
 
13395
- var formkitVersion$2 = '202606231948';
13394
+ var formkitVersion$2 = '202606241801';
13396
13395
 
13397
13396
  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}
13398
13397
  `,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}}
@@ -18903,7 +18902,7 @@ let AuroHelpText$2 = class AuroHelpText extends LitElement {
18903
18902
  }
18904
18903
  };
18905
18904
 
18906
- var formkitVersion$1 = '202606231948';
18905
+ var formkitVersion$1 = '202606241801';
18907
18906
 
18908
18907
  let AuroElement$2 = class AuroElement extends LitElement {
18909
18908
  static get properties() {
@@ -30625,7 +30624,6 @@ class AuroInputUtilities {
30625
30624
  const maskOptions = this.getMaskOptions('date', normalizedFormat);
30626
30625
 
30627
30626
  if (!(valueObject instanceof Date) || Number.isNaN(valueObject.getTime()) || !maskOptions || typeof maskOptions.format !== 'function') {
30628
- console.debug('Invalid date object or mask options for formatting', { valueObject, maskOptions }); // eslint-disable-line no-console
30629
30627
  return undefined;
30630
30628
  }
30631
30629
 
@@ -30777,8 +30775,10 @@ class BaseInput extends AuroElement$1 {
30777
30775
  this.layout = 'classic';
30778
30776
  this.locale = 'en-US';
30779
30777
  this.max = undefined;
30778
+ this._maxObject = undefined;
30780
30779
  this.maxLength = undefined;
30781
30780
  this.min = undefined;
30781
+ this._minObject = undefined;
30782
30782
  this.minLength = undefined;
30783
30783
  this.required = false;
30784
30784
  this.onDark = false;
@@ -30786,6 +30786,7 @@ class BaseInput extends AuroElement$1 {
30786
30786
  this.size = 'lg';
30787
30787
  this.shape = 'classic';
30788
30788
  this.value = undefined;
30789
+ this._valueObject = undefined;
30789
30790
 
30790
30791
  this._initializePrivateDefaults();
30791
30792
  }
@@ -31325,7 +31326,7 @@ class BaseInput extends AuroElement$1 {
31325
31326
  * @returns {Date|undefined}
31326
31327
  */
31327
31328
  get valueObject() {
31328
- return this.value && dateFormatter.isValidDate(this.value) ? dateFormatter.stringToDateInstance(this.value) : undefined;
31329
+ return this._valueObject || this._computeDateObjectFallback(this.value);
31329
31330
  }
31330
31331
 
31331
31332
  /**
@@ -31333,7 +31334,7 @@ class BaseInput extends AuroElement$1 {
31333
31334
  * @returns {Date|undefined}
31334
31335
  */
31335
31336
  get minObject() {
31336
- return this.min && dateFormatter.isValidDate(this.min) ? dateFormatter.stringToDateInstance(this.min) : undefined;
31337
+ return this._minObject || this._computeDateObjectFallback(this.min);
31337
31338
  }
31338
31339
 
31339
31340
  /**
@@ -31341,7 +31342,50 @@ class BaseInput extends AuroElement$1 {
31341
31342
  * @returns {Date|undefined}
31342
31343
  */
31343
31344
  get maxObject() {
31344
- return this.max && dateFormatter.isValidDate(this.max) ? dateFormatter.stringToDateInstance(this.max) : undefined;
31345
+ return this._maxObject || this._computeDateObjectFallback(this.max);
31346
+ }
31347
+
31348
+ /**
31349
+ * Parses a date string into a Date object when the corresponding `_*Object`
31350
+ * field hasn't been synced yet by `updated()`. Returns undefined when the
31351
+ * input type/format isn't a full date or the string is not a valid date.
31352
+ *
31353
+ * Why this exists: a parent (datepicker) can call `inputN.validate()` from
31354
+ * inside its own `updated()` before this input's `updated()` has run
31355
+ * `syncDateValues()` — so `_valueObject`/`_maxObject` are still `undefined`
31356
+ * and range checks would otherwise silently no-op (flipping the result to
31357
+ * `valid` or `patternMismatch`).
31358
+ * @private
31359
+ * @param {string|undefined} dateStr - ISO date string from `value`/`min`/`max`.
31360
+ * @returns {Date|undefined}
31361
+ */
31362
+ _computeDateObjectFallback(dateStr) {
31363
+ if (!dateStr || !this.util || !this.util.isFullDateFormat(this.type, this.format)) {
31364
+ return undefined;
31365
+ }
31366
+ if (!dateFormatter.isValidDate(dateStr)) {
31367
+ return undefined;
31368
+ }
31369
+ return dateFormatter.stringToDateInstance(dateStr);
31370
+ }
31371
+
31372
+ /**
31373
+ * Internal setter for readonly date object properties.
31374
+ * @private
31375
+ * @param {'valueObject'|'minObject'|'maxObject'} propertyName - Public object property name.
31376
+ * @param {Date|undefined} propertyValue - Value to assign.
31377
+ * @returns {void}
31378
+ */
31379
+ setDateObjectProperty(propertyName, propertyValue) {
31380
+ const internalPropertyName = `_${propertyName}`;
31381
+ const previousValue = this[internalPropertyName];
31382
+
31383
+ if (previousValue === propertyValue) {
31384
+ return;
31385
+ }
31386
+
31387
+ this[internalPropertyName] = propertyValue;
31388
+ this.requestUpdate(propertyName, previousValue);
31345
31389
  }
31346
31390
 
31347
31391
  connectedCallback() {
@@ -31370,6 +31414,7 @@ class BaseInput extends AuroElement$1 {
31370
31414
  format: this.format
31371
31415
  });
31372
31416
  this.configureDataForType();
31417
+ this.syncDateValues();
31373
31418
  }
31374
31419
 
31375
31420
  disconnectedCallback() {
@@ -31399,6 +31444,7 @@ class BaseInput extends AuroElement$1 {
31399
31444
  this.setCustomHelpTextMessage();
31400
31445
  this.configureAutoFormatting();
31401
31446
  this.configureDataForType();
31447
+ this.syncDateValues();
31402
31448
  }
31403
31449
 
31404
31450
  /**
@@ -31474,6 +31520,13 @@ class BaseInput extends AuroElement$1 {
31474
31520
 
31475
31521
  if (typeToI18n.includes(this.type)) {
31476
31522
  this.setCustomValidityForType = i18n$1(this.lang, this.type);
31523
+ // COVERAGE: this `else if` branch is unreachable in WTR. connectedCallback
31524
+ // (L682) calls configureDataForType, which at L1266-1268 assigns
31525
+ // `this.format = this.util.getDateMaskFromLocale().toLowerCase()` for any
31526
+ // type=date input whose `format` attribute is unset. That runs before
31527
+ // firstUpdated invokes setCustomHelpTextMessage, so `!this.format` is
31528
+ // always false here. Retained as a defensive fallback; the whole function
31529
+ // is @deprecated per AB#1557296 and slated for removal.
31477
31530
  } else if (!this.format && this.type === 'date') {
31478
31531
  this.setCustomValidityForType = i18n$1(this.lang, 'dateMMDDYYYY');
31479
31532
  } else if (this.dateFormatMap[this.format]) {
@@ -31535,6 +31588,8 @@ class BaseInput extends AuroElement$1 {
31535
31588
  this.configureDataForType();
31536
31589
  }
31537
31590
 
31591
+ this.syncDateValues(changedProperties);
31592
+
31538
31593
  if (changedProperties.has('value')) {
31539
31594
  if (this.value && this.value.length > 0) {
31540
31595
  this.hasValue = true;
@@ -31556,14 +31611,14 @@ class BaseInput extends AuroElement$1 {
31556
31611
 
31557
31612
  if (formattedValue !== this.inputElement.value) {
31558
31613
  this.skipNextProgrammaticInputEvent = true;
31559
- if (this.maskInstance && this.type !== 'date') {
31614
+ if (this.maskInstance && this.type === 'credit-card') {
31560
31615
  // Route through the mask so its _value and el.value stay in lock-step
31561
31616
  // (set value calls updateControl which writes el.value = displayValue).
31562
31617
  // Writing el.value directly leaves the mask thinking displayValue is
31563
- // stale; _saveSelection on the next focus/click then warns. Date is
31564
- // excluded because its formattedValue can be raw ISO when the calendar
31565
- // is invalid, and re-masking through mm/dd/yyyy would truncate it and
31566
- // flip validity from patternMismatch to tooShort.
31618
+ // stale; _saveSelection on the next focus/click then warns. Scoped to
31619
+ // credit-card so date's own formattedValue (raw ISO when calendar-invalid)
31620
+ // isn't re-masked through the mm/dd/yyyy mask, which would truncate it
31621
+ // and flip validity from patternMismatch to tooShort.
31567
31622
  this.maskInstance.value = formattedValue || '';
31568
31623
  } else if (formattedValue) {
31569
31624
  this.inputElement.value = formattedValue;
@@ -31605,65 +31660,120 @@ class BaseInput extends AuroElement$1 {
31605
31660
  }));
31606
31661
  }
31607
31662
 
31663
+
31664
+ /**
31665
+ * Synchronizes the ISO string values and Date object representations for date-related properties.
31666
+ * This keeps the model and display values aligned when either side changes.
31667
+ *
31668
+ * When a full date format is in use, this method updates `value`, `min`, and `max` from their corresponding
31669
+ * Date objects or vice versa, based on which properties have changed. It only runs when the current configuration
31670
+ * represents a full year/month/day date format.
31671
+ *
31672
+ * @param {Map<string, unknown>|undefined} [changedProperties=undefined] - Optional map of changed properties used to limit which values are synchronized.
31673
+ * @returns {void}
31674
+ * @private
31675
+ */
31676
+ syncDateValues(changedProperties = undefined) {
31677
+ if (!this.util.isFullDateFormat(this.type, this.format)) {
31678
+ return;
31679
+ }
31680
+
31681
+ this.syncSingleDateValue(changedProperties, 'valueObject', 'value');
31682
+ this.syncSingleDateValue(changedProperties, 'minObject', 'min');
31683
+ this.syncSingleDateValue(changedProperties, 'maxObject', 'max');
31684
+ }
31685
+
31686
+ /**
31687
+ * Synchronizes one date object/string property pair.
31688
+ * @private
31689
+ * @param {Map<string, unknown>|undefined} changedProperties - Map of changed properties from Lit.
31690
+ * @param {string} objectProperty - Date object property name.
31691
+ * @param {string} valueProperty - ISO string property name.
31692
+ * @returns {void}
31693
+ */
31694
+ syncSingleDateValue(changedProperties, objectProperty, valueProperty) {
31695
+ const objectPropertyChanged = !changedProperties || changedProperties.has(objectProperty);
31696
+
31697
+ // objectProperty wins over valueProperty when both changed
31698
+ if (objectPropertyChanged && this[objectProperty]) {
31699
+ this[valueProperty] = dateFormatter.toISOFormatString(this[objectProperty]);
31700
+ return;
31701
+ }
31702
+
31703
+ const valuePropertyChanged = !changedProperties || changedProperties.has(valueProperty);
31704
+ if (!valuePropertyChanged) {
31705
+ return;
31706
+ }
31707
+
31708
+ // when value is newly set to the same ISO string that corresponds to the existing Date object, do not clear the Date object (avoid unnecessary updates)
31709
+ if (
31710
+ changedProperties &&
31711
+ valueProperty === 'value' &&
31712
+ changedProperties.get('value') === undefined &&
31713
+ this[objectProperty] instanceof Date &&
31714
+ this[valueProperty] === dateFormatter.toISOFormatString(this[objectProperty])
31715
+ ) {
31716
+ return;
31717
+ }
31718
+
31719
+ if (dateFormatter.isValidDate(this[valueProperty])) {
31720
+ this.setDateObjectProperty(objectProperty, dateFormatter.stringToDateInstance(this[valueProperty]));
31721
+ } else {
31722
+ this.setDateObjectProperty(objectProperty, undefined);
31723
+ }
31724
+ }
31725
+
31608
31726
  /**
31609
31727
  * Sets up IMasks and logic based on auto-formatting requirements.
31610
31728
  * @private
31611
31729
  * @returns {void}
31612
31730
  */
31613
31731
  configureAutoFormatting() {
31614
- // _configuringMask gates two things: external re-entry into this method
31615
- // while setup is mid-flight (from property changes that call back here),
31616
- // and the accept/complete listeners below both need to ignore the mask
31617
- // events fired by our own value-restore step.
31732
+ // Re-entrancy guard. The patched-setter's synthetic input event (suppressed
31733
+ // by _configuringMask above) could otherwise trigger handleInput
31734
+ // processCreditCard configureAutoFormatting before the outer call's
31735
+ // set value has finished its alignCursor pass.
31618
31736
  if (this._configuringMask) return;
31619
31737
  this._configuringMask = true;
31620
31738
  try {
31621
- // Destroy any prior mask so IMask can attach fresh under the new format.
31622
- // Null the reference too — if the new maskOptions.mask is falsy (e.g.
31623
- // type switched from credit-card to text) the IMask() reassignment
31624
- // below is skipped, and downstream writes at line ~823 would otherwise
31625
- // route through the destroyed instance.
31626
31739
  if (this.maskInstance) {
31627
31740
  this.maskInstance.destroy();
31628
- this.maskInstance = null;
31629
31741
  }
31630
31742
 
31743
+ // Pass new format to util
31631
31744
  this.util.updateFormat(this.format);
31632
31745
 
31633
31746
  const maskOptions = this.util.getMaskOptions(this.type, this.format);
31634
31747
 
31635
31748
  if (this.inputElement && maskOptions.mask) {
31636
- // Capture the current display so it can be re-applied after IMask
31637
- // attaches. The restore at the bottom goes through maskInstance.value
31638
- // (not inputElement.value directly) so the mask's internal state and
31639
- // the input's displayed text stay in lock-step.
31640
- let existingValue = this.inputElement.value;
31641
31749
 
31642
- // Format-change case (e.g. locale switch): existingValue is the OLD
31643
- // mask's display string and may not parse under the new mask. When
31644
- // we have a valid date model, rebuild the display from valueObject
31645
- // (the canonical source) using the new mask's format function.
31750
+ // Stash and clear any existing value before IMask init.
31751
+ // IMask's constructor processes the current input value which requires
31752
+ // selection state clearing first avoids that scenario entirely.
31753
+ // When the format changes (e.g. locale switch) and we have a valid ISO
31754
+ // model value, compute the display string for the NEW format instead of
31755
+ // re-using the old display string, which may be invalid in the new mask.
31756
+ let existingValue = this.inputElement.value;
31646
31757
  if (
31647
31758
  this.util.isFullDateFormat(this.type, this.format) &&
31648
31759
  this.value &&
31649
- this.valueObject &&
31760
+ dateFormatter.isValidDate(this.value) &&
31761
+ this.valueObject instanceof Date &&
31762
+ !Number.isNaN(this.valueObject.getTime()) &&
31650
31763
  typeof maskOptions.format === 'function'
31651
31764
  ) {
31652
31765
  existingValue = maskOptions.format(this.valueObject);
31653
31766
  }
31654
31767
 
31655
- // Clear before IMask attaches so the constructor seeds an empty
31656
- // internal value. Otherwise IMask reads the stale unmasked string
31657
- // and emits a spurious 'accept' before the restore below runs.
31658
31768
  this.skipNextProgrammaticInputEvent = true;
31659
31769
  this.inputElement.value = '';
31660
31770
 
31661
31771
  this.maskInstance = IMask(this.inputElement, maskOptions);
31662
31772
 
31663
- // Mask fires 'accept' on every value change, including the restore
31664
- // step below. Skip events fired during configureAutoFormatting so
31665
- // we don't overwrite a value the parent just pushed.
31666
31773
  this.maskInstance.on('accept', () => {
31774
+ // Suppress propagation during configureAutoFormatting's own value-restoration
31775
+ // (line below) — the mask emits 'accept' on every value-set, including ours,
31776
+ // and we don't want to overwrite a value the parent just pushed.
31667
31777
  if (this._configuringMask) return;
31668
31778
  this.value = this.util.toModelValue(this.maskInstance.value, this.format);
31669
31779
  if (this.type === "date") {
@@ -31671,8 +31781,6 @@ class BaseInput extends AuroElement$1 {
31671
31781
  }
31672
31782
  });
31673
31783
 
31674
- // Mask fires 'complete' on the restore step below for any value that
31675
- // happens to be a complete match. Same setup-suppression as 'accept'.
31676
31784
  this.maskInstance.on('complete', () => {
31677
31785
  if (this._configuringMask) return;
31678
31786
  this.value = this.util.toModelValue(this.maskInstance.value, this.format);
@@ -31681,9 +31789,7 @@ class BaseInput extends AuroElement$1 {
31681
31789
  }
31682
31790
  });
31683
31791
 
31684
- // Write existingValue through the mask (not the input directly) so
31685
- // the mask reformats it under the new rules and keeps its internal
31686
- // _value aligned with the input's displayed text.
31792
+ // Restore the stashed value through IMask so it's properly masked
31687
31793
  if (existingValue) {
31688
31794
  this.maskInstance.value = existingValue;
31689
31795
  }
@@ -31851,6 +31957,7 @@ class BaseInput extends AuroElement$1 {
31851
31957
  */
31852
31958
  reset() {
31853
31959
  this.value = undefined;
31960
+ this.setDateObjectProperty('valueObject', undefined);
31854
31961
  this.validation.reset(this);
31855
31962
  }
31856
31963
 
@@ -31859,6 +31966,7 @@ class BaseInput extends AuroElement$1 {
31859
31966
  */
31860
31967
  clear() {
31861
31968
  this.value = undefined;
31969
+ this.setDateObjectProperty('valueObject', undefined);
31862
31970
  }
31863
31971
 
31864
31972
  /**
@@ -31896,7 +32004,7 @@ class BaseInput extends AuroElement$1 {
31896
32004
  */
31897
32005
  get placeholderStr() {
31898
32006
  if (!this.placeholder && this.type === 'date') {
31899
- return this.format ? this.format.toUpperCase() : 'MM/DD/YYYY';
32007
+ return this.format.toUpperCase();
31900
32008
  }
31901
32009
  return this.placeholder || "";
31902
32010
  }
@@ -32387,7 +32495,7 @@ let AuroHelpText$1 = class AuroHelpText extends LitElement {
32387
32495
  }
32388
32496
  };
32389
32497
 
32390
- var formkitVersion = '202606231948';
32498
+ var formkitVersion = '202606241801';
32391
32499
 
32392
32500
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
32393
32501
  // See LICENSE in the project root for license information.
@@ -3942,7 +3942,7 @@ class AuroHelpText extends i {
3942
3942
  }
3943
3943
  }
3944
3944
 
3945
- var formkitVersion = '202606231948';
3945
+ var formkitVersion = '202606241801';
3946
3946
 
3947
3947
  class AuroElement extends i {
3948
3948
  static get properties() {
@@ -3942,7 +3942,7 @@ class AuroHelpText extends i {
3942
3942
  }
3943
3943
  }
3944
3944
 
3945
- var formkitVersion = '202606231948';
3945
+ var formkitVersion = '202606241801';
3946
3946
 
3947
3947
  class AuroElement extends i {
3948
3948
  static get properties() {
@@ -3969,7 +3969,7 @@ class AuroHelpText extends i {
3969
3969
  }
3970
3970
  }
3971
3971
 
3972
- var formkitVersion = '202606231948';
3972
+ var formkitVersion = '202606241801';
3973
3973
 
3974
3974
  class AuroElement extends i {
3975
3975
  static get properties() {
@@ -3874,7 +3874,7 @@ class AuroHelpText extends LitElement {
3874
3874
  }
3875
3875
  }
3876
3876
 
3877
- var formkitVersion = '202606231948';
3877
+ var formkitVersion = '202606241801';
3878
3878
 
3879
3879
  class AuroElement extends LitElement {
3880
3880
  static get properties() {
@@ -3874,7 +3874,7 @@ class AuroHelpText extends LitElement {
3874
3874
  }
3875
3875
  }
3876
3876
 
3877
- var formkitVersion = '202606231948';
3877
+ var formkitVersion = '202606241801';
3878
3878
 
3879
3879
  class AuroElement extends LitElement {
3880
3880
  static get properties() {