@aurodesignsystem-dev/auro-formkit 0.0.0-pr1506.1 → 0.0.0-pr1507.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/components/checkbox/demo/customize.min.js +1 -1
  2. package/components/checkbox/demo/getting-started.min.js +1 -1
  3. package/components/checkbox/demo/index.min.js +1 -1
  4. package/components/checkbox/dist/index.js +1 -1
  5. package/components/checkbox/dist/registered.js +1 -1
  6. package/components/combobox/demo/customize.min.js +268 -140
  7. package/components/combobox/demo/getting-started.min.js +268 -140
  8. package/components/combobox/demo/index.min.js +268 -140
  9. package/components/combobox/dist/auro-combobox.d.ts +0 -9
  10. package/components/combobox/dist/index.js +266 -138
  11. package/components/combobox/dist/registered.js +266 -138
  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 +149 -39
  17. package/components/datepicker/demo/index.min.js +149 -39
  18. package/components/datepicker/dist/index.js +149 -39
  19. package/components/datepicker/dist/registered.js +149 -39
  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 +570 -221
  26. package/components/form/demo/getting-started.min.js +570 -221
  27. package/components/form/demo/index.min.js +570 -221
  28. package/components/form/demo/registerDemoDeps.min.js +570 -221
  29. package/components/input/demo/customize.min.js +147 -36
  30. package/components/input/demo/getting-started.min.js +147 -36
  31. package/components/input/demo/index.min.js +147 -36
  32. package/components/input/dist/base-input.d.ts +48 -0
  33. package/components/input/dist/index.js +147 -36
  34. package/components/input/dist/registered.js +147 -36
  35. package/components/menu/demo/index.min.js +2 -2
  36. package/components/menu/dist/index.js +2 -2
  37. package/components/menu/dist/registered.js +2 -2
  38. package/components/radio/demo/customize.min.js +1 -1
  39. package/components/radio/demo/getting-started.min.js +1 -1
  40. package/components/radio/demo/index.min.js +1 -1
  41. package/components/radio/dist/index.js +1 -1
  42. package/components/radio/dist/registered.js +1 -1
  43. package/components/select/demo/customize.min.js +4 -4
  44. package/components/select/demo/getting-started.min.js +4 -4
  45. package/components/select/demo/index.min.js +4 -4
  46. package/components/select/dist/index.js +2 -2
  47. package/components/select/dist/registered.js +2 -2
  48. package/custom-elements.json +264 -20
  49. 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 = '202606192004';
13394
+ var formkitVersion$2 = '202606192121';
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 = '202606192004';
18905
+ var formkitVersion$1 = '202606192121';
18907
18906
 
18908
18907
  let AuroElement$2 = class AuroElement extends LitElement {
18909
18908
  static get properties() {
@@ -30617,7 +30616,6 @@ class AuroInputUtilities {
30617
30616
  const maskOptions = this.getMaskOptions('date', normalizedFormat);
30618
30617
 
30619
30618
  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
30621
30619
  return undefined;
30622
30620
  }
30623
30621
 
@@ -30769,8 +30767,10 @@ class BaseInput extends AuroElement$1 {
30769
30767
  this.layout = 'classic';
30770
30768
  this.locale = 'en-US';
30771
30769
  this.max = undefined;
30770
+ this._maxObject = undefined;
30772
30771
  this.maxLength = undefined;
30773
30772
  this.min = undefined;
30773
+ this._minObject = undefined;
30774
30774
  this.minLength = undefined;
30775
30775
  this.required = false;
30776
30776
  this.onDark = false;
@@ -30778,6 +30778,7 @@ class BaseInput extends AuroElement$1 {
30778
30778
  this.size = 'lg';
30779
30779
  this.shape = 'classic';
30780
30780
  this.value = undefined;
30781
+ this._valueObject = undefined;
30781
30782
 
30782
30783
  this._initializePrivateDefaults();
30783
30784
  }
@@ -31317,7 +31318,7 @@ class BaseInput extends AuroElement$1 {
31317
31318
  * @returns {Date|undefined}
31318
31319
  */
31319
31320
  get valueObject() {
31320
- return this.value && dateFormatter.isValidDate(this.value) ? dateFormatter.stringToDateInstance(this.value) : undefined;
31321
+ return this._valueObject || this._computeDateObjectFallback(this.value);
31321
31322
  }
31322
31323
 
31323
31324
  /**
@@ -31325,7 +31326,7 @@ class BaseInput extends AuroElement$1 {
31325
31326
  * @returns {Date|undefined}
31326
31327
  */
31327
31328
  get minObject() {
31328
- return this.min && dateFormatter.isValidDate(this.min) ? dateFormatter.stringToDateInstance(this.min) : undefined;
31329
+ return this._minObject || this._computeDateObjectFallback(this.min);
31329
31330
  }
31330
31331
 
31331
31332
  /**
@@ -31333,7 +31334,50 @@ class BaseInput extends AuroElement$1 {
31333
31334
  * @returns {Date|undefined}
31334
31335
  */
31335
31336
  get maxObject() {
31336
- return this.max && dateFormatter.isValidDate(this.max) ? dateFormatter.stringToDateInstance(this.max) : undefined;
31337
+ return this._maxObject || this._computeDateObjectFallback(this.max);
31338
+ }
31339
+
31340
+ /**
31341
+ * Parses a date string into a Date object when the corresponding `_*Object`
31342
+ * field hasn't been synced yet by `updated()`. Returns undefined when the
31343
+ * input type/format isn't a full date or the string is not a valid date.
31344
+ *
31345
+ * Why this exists: a parent (datepicker) can call `inputN.validate()` from
31346
+ * inside its own `updated()` before this input's `updated()` has run
31347
+ * `syncDateValues()` — so `_valueObject`/`_maxObject` are still `undefined`
31348
+ * and range checks would otherwise silently no-op (flipping the result to
31349
+ * `valid` or `patternMismatch`).
31350
+ * @private
31351
+ * @param {string|undefined} dateStr - ISO date string from `value`/`min`/`max`.
31352
+ * @returns {Date|undefined}
31353
+ */
31354
+ _computeDateObjectFallback(dateStr) {
31355
+ if (!dateStr || !this.util || !this.util.isFullDateFormat(this.type, this.format)) {
31356
+ return undefined;
31357
+ }
31358
+ if (!dateFormatter.isValidDate(dateStr)) {
31359
+ return undefined;
31360
+ }
31361
+ return dateFormatter.stringToDateInstance(dateStr);
31362
+ }
31363
+
31364
+ /**
31365
+ * Internal setter for readonly date object properties.
31366
+ * @private
31367
+ * @param {'valueObject'|'minObject'|'maxObject'} propertyName - Public object property name.
31368
+ * @param {Date|undefined} propertyValue - Value to assign.
31369
+ * @returns {void}
31370
+ */
31371
+ setDateObjectProperty(propertyName, propertyValue) {
31372
+ const internalPropertyName = `_${propertyName}`;
31373
+ const previousValue = this[internalPropertyName];
31374
+
31375
+ if (previousValue === propertyValue) {
31376
+ return;
31377
+ }
31378
+
31379
+ this[internalPropertyName] = propertyValue;
31380
+ this.requestUpdate(propertyName, previousValue);
31337
31381
  }
31338
31382
 
31339
31383
  connectedCallback() {
@@ -31362,6 +31406,7 @@ class BaseInput extends AuroElement$1 {
31362
31406
  format: this.format
31363
31407
  });
31364
31408
  this.configureDataForType();
31409
+ this.syncDateValues();
31365
31410
  }
31366
31411
 
31367
31412
  disconnectedCallback() {
@@ -31381,6 +31426,10 @@ class BaseInput extends AuroElement$1 {
31381
31426
  this.wrapperElement.addEventListener('click', this.handleClick);
31382
31427
  }
31383
31428
 
31429
+ // add attribute for query selectors when auro-input is registered under a custom name
31430
+ if (this.tagName.toLowerCase() !== 'auro-input' && !this.hasAttribute('auro-input')) {
31431
+ this.setAttribute('auro-input', '');
31432
+ }
31384
31433
  this.inputId = this.id ? `${this.id}-input` : window.crypto.randomUUID();
31385
31434
 
31386
31435
  // use validity message override if declared when initializing the component
@@ -31391,6 +31440,7 @@ class BaseInput extends AuroElement$1 {
31391
31440
  this.setCustomHelpTextMessage();
31392
31441
  this.configureAutoFormatting();
31393
31442
  this.configureDataForType();
31443
+ this.syncDateValues();
31394
31444
  }
31395
31445
 
31396
31446
  /**
@@ -31527,6 +31577,8 @@ class BaseInput extends AuroElement$1 {
31527
31577
  this.configureDataForType();
31528
31578
  }
31529
31579
 
31580
+ this.syncDateValues(changedProperties);
31581
+
31530
31582
  if (changedProperties.has('value')) {
31531
31583
  if (this.value && this.value.length > 0) {
31532
31584
  this.hasValue = true;
@@ -31548,14 +31600,14 @@ class BaseInput extends AuroElement$1 {
31548
31600
 
31549
31601
  if (formattedValue !== this.inputElement.value) {
31550
31602
  this.skipNextProgrammaticInputEvent = true;
31551
- if (this.maskInstance && this.type !== 'date') {
31603
+ if (this.maskInstance && this.type === 'credit-card') {
31552
31604
  // Route through the mask so its _value and el.value stay in lock-step
31553
31605
  // (set value calls updateControl which writes el.value = displayValue).
31554
31606
  // Writing el.value directly leaves the mask thinking displayValue is
31555
- // stale; _saveSelection on the next focus/click then warns. Date is
31556
- // excluded because its formattedValue can be raw ISO when the calendar
31557
- // is invalid, and re-masking through mm/dd/yyyy would truncate it and
31558
- // flip validity from patternMismatch to tooShort.
31607
+ // stale; _saveSelection on the next focus/click then warns. Scoped to
31608
+ // credit-card so date's own formattedValue (raw ISO when calendar-invalid)
31609
+ // isn't re-masked through the mm/dd/yyyy mask, which would truncate it
31610
+ // and flip validity from patternMismatch to tooShort.
31559
31611
  this.maskInstance.value = formattedValue || '';
31560
31612
  } else if (formattedValue) {
31561
31613
  this.inputElement.value = formattedValue;
@@ -31597,60 +31649,120 @@ class BaseInput extends AuroElement$1 {
31597
31649
  }));
31598
31650
  }
31599
31651
 
31652
+
31653
+ /**
31654
+ * Synchronizes the ISO string values and Date object representations for date-related properties.
31655
+ * This keeps the model and display values aligned when either side changes.
31656
+ *
31657
+ * When a full date format is in use, this method updates `value`, `min`, and `max` from their corresponding
31658
+ * Date objects or vice versa, based on which properties have changed. It only runs when the current configuration
31659
+ * represents a full year/month/day date format.
31660
+ *
31661
+ * @param {Map<string, unknown>|undefined} [changedProperties=undefined] - Optional map of changed properties used to limit which values are synchronized.
31662
+ * @returns {void}
31663
+ * @private
31664
+ */
31665
+ syncDateValues(changedProperties = undefined) {
31666
+ if (!this.util.isFullDateFormat(this.type, this.format)) {
31667
+ return;
31668
+ }
31669
+
31670
+ this.syncSingleDateValue(changedProperties, 'valueObject', 'value');
31671
+ this.syncSingleDateValue(changedProperties, 'minObject', 'min');
31672
+ this.syncSingleDateValue(changedProperties, 'maxObject', 'max');
31673
+ }
31674
+
31675
+ /**
31676
+ * Synchronizes one date object/string property pair.
31677
+ * @private
31678
+ * @param {Map<string, unknown>|undefined} changedProperties - Map of changed properties from Lit.
31679
+ * @param {string} objectProperty - Date object property name.
31680
+ * @param {string} valueProperty - ISO string property name.
31681
+ * @returns {void}
31682
+ */
31683
+ syncSingleDateValue(changedProperties, objectProperty, valueProperty) {
31684
+ const objectPropertyChanged = !changedProperties || changedProperties.has(objectProperty);
31685
+
31686
+ // objectProperty wins over valueProperty when both changed
31687
+ if (objectPropertyChanged && this[objectProperty]) {
31688
+ this[valueProperty] = dateFormatter.toISOFormatString(this[objectProperty]);
31689
+ return;
31690
+ }
31691
+
31692
+ const valuePropertyChanged = !changedProperties || changedProperties.has(valueProperty);
31693
+ if (!valuePropertyChanged) {
31694
+ return;
31695
+ }
31696
+
31697
+ // 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)
31698
+ if (
31699
+ changedProperties &&
31700
+ valueProperty === 'value' &&
31701
+ changedProperties.get('value') === undefined &&
31702
+ this[objectProperty] instanceof Date &&
31703
+ this[valueProperty] === dateFormatter.toISOFormatString(this[objectProperty])
31704
+ ) {
31705
+ return;
31706
+ }
31707
+
31708
+ if (dateFormatter.isValidDate(this[valueProperty])) {
31709
+ this.setDateObjectProperty(objectProperty, dateFormatter.stringToDateInstance(this[valueProperty]));
31710
+ } else {
31711
+ this.setDateObjectProperty(objectProperty, undefined);
31712
+ }
31713
+ }
31714
+
31600
31715
  /**
31601
31716
  * Sets up IMasks and logic based on auto-formatting requirements.
31602
31717
  * @private
31603
31718
  * @returns {void}
31604
31719
  */
31605
31720
  configureAutoFormatting() {
31606
- // _configuringMask gates two things: external re-entry into this method
31607
- // while setup is mid-flight (from property changes that call back here),
31608
- // and the accept/complete listeners below both need to ignore the mask
31609
- // events fired by our own value-restore step.
31721
+ // Re-entrancy guard. The patched-setter's synthetic input event (suppressed
31722
+ // by _configuringMask above) could otherwise trigger handleInput
31723
+ // processCreditCard configureAutoFormatting before the outer call's
31724
+ // set value has finished its alignCursor pass.
31610
31725
  if (this._configuringMask) return;
31611
31726
  this._configuringMask = true;
31612
31727
  try {
31613
- // Destroy any prior mask so IMask can attach fresh under the new format.
31614
31728
  if (this.maskInstance) {
31615
31729
  this.maskInstance.destroy();
31616
31730
  }
31617
31731
 
31732
+ // Pass new format to util
31618
31733
  this.util.updateFormat(this.format);
31619
31734
 
31620
31735
  const maskOptions = this.util.getMaskOptions(this.type, this.format);
31621
31736
 
31622
31737
  if (this.inputElement && maskOptions.mask) {
31623
- // Capture the current display so it can be re-applied after IMask
31624
- // attaches. The restore at the bottom goes through maskInstance.value
31625
- // (not inputElement.value directly) so the mask's internal state and
31626
- // the input's displayed text stay in lock-step.
31627
- let existingValue = this.inputElement.value;
31628
31738
 
31629
- // Format-change case (e.g. locale switch): existingValue is the OLD
31630
- // mask's display string and may not parse under the new mask. When
31631
- // we have a valid date model, rebuild the display from valueObject
31632
- // (the canonical source) using the new mask's format function.
31739
+ // Stash and clear any existing value before IMask init.
31740
+ // IMask's constructor processes the current input value which requires
31741
+ // selection state clearing first avoids that scenario entirely.
31742
+ // When the format changes (e.g. locale switch) and we have a valid ISO
31743
+ // model value, compute the display string for the NEW format instead of
31744
+ // re-using the old display string, which may be invalid in the new mask.
31745
+ let existingValue = this.inputElement.value;
31633
31746
  if (
31634
31747
  this.util.isFullDateFormat(this.type, this.format) &&
31635
31748
  this.value &&
31636
- this.valueObject &&
31749
+ dateFormatter.isValidDate(this.value) &&
31750
+ this.valueObject instanceof Date &&
31751
+ !Number.isNaN(this.valueObject.getTime()) &&
31637
31752
  typeof maskOptions.format === 'function'
31638
31753
  ) {
31639
31754
  existingValue = maskOptions.format(this.valueObject);
31640
31755
  }
31641
31756
 
31642
- // Clear before IMask attaches so the constructor seeds an empty
31643
- // internal value. Otherwise IMask reads the stale unmasked string
31644
- // and emits a spurious 'accept' before the restore below runs.
31645
31757
  this.skipNextProgrammaticInputEvent = true;
31646
31758
  this.inputElement.value = '';
31647
31759
 
31648
31760
  this.maskInstance = IMask(this.inputElement, maskOptions);
31649
31761
 
31650
- // Mask fires 'accept' on every value change, including the restore
31651
- // step below. Skip events fired during configureAutoFormatting so
31652
- // we don't overwrite a value the parent just pushed.
31653
31762
  this.maskInstance.on('accept', () => {
31763
+ // Suppress propagation during configureAutoFormatting's own value-restoration
31764
+ // (line below) — the mask emits 'accept' on every value-set, including ours,
31765
+ // and we don't want to overwrite a value the parent just pushed.
31654
31766
  if (this._configuringMask) return;
31655
31767
  this.value = this.util.toModelValue(this.maskInstance.value, this.format);
31656
31768
  if (this.type === "date") {
@@ -31658,8 +31770,6 @@ class BaseInput extends AuroElement$1 {
31658
31770
  }
31659
31771
  });
31660
31772
 
31661
- // Mask fires 'complete' on the restore step below for any value that
31662
- // happens to be a complete match. Same setup-suppression as 'accept'.
31663
31773
  this.maskInstance.on('complete', () => {
31664
31774
  if (this._configuringMask) return;
31665
31775
  this.value = this.util.toModelValue(this.maskInstance.value, this.format);
@@ -31668,9 +31778,7 @@ class BaseInput extends AuroElement$1 {
31668
31778
  }
31669
31779
  });
31670
31780
 
31671
- // Write existingValue through the mask (not the input directly) so
31672
- // the mask reformats it under the new rules and keeps its internal
31673
- // _value aligned with the input's displayed text.
31781
+ // Restore the stashed value through IMask so it's properly masked
31674
31782
  if (existingValue) {
31675
31783
  this.maskInstance.value = existingValue;
31676
31784
  }
@@ -31838,6 +31946,7 @@ class BaseInput extends AuroElement$1 {
31838
31946
  */
31839
31947
  reset() {
31840
31948
  this.value = undefined;
31949
+ this.setDateObjectProperty('valueObject', undefined);
31841
31950
  this.validation.reset(this);
31842
31951
  }
31843
31952
 
@@ -31846,6 +31955,7 @@ class BaseInput extends AuroElement$1 {
31846
31955
  */
31847
31956
  clear() {
31848
31957
  this.value = undefined;
31958
+ this.setDateObjectProperty('valueObject', undefined);
31849
31959
  }
31850
31960
 
31851
31961
  /**
@@ -32374,7 +32484,7 @@ let AuroHelpText$1 = class AuroHelpText extends LitElement {
32374
32484
  }
32375
32485
  };
32376
32486
 
32377
- var formkitVersion = '202606192004';
32487
+ var formkitVersion = '202606192121';
32378
32488
 
32379
32489
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
32380
32490
  // See LICENSE in the project root for license information.