@aurodesignsystem-dev/auro-formkit 0.0.0-pr1505.0 → 0.0.0-pr1506.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 (56) 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 +138 -266
  7. package/components/combobox/demo/getting-started.min.js +138 -266
  8. package/components/combobox/demo/index.min.js +138 -266
  9. package/components/combobox/dist/auro-combobox.d.ts +9 -0
  10. package/components/combobox/dist/index.js +138 -266
  11. package/components/combobox/dist/registered.js +138 -266
  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/api.md +0 -2
  17. package/components/datepicker/demo/customize.md +33 -195
  18. package/components/datepicker/demo/customize.min.js +41 -164
  19. package/components/datepicker/demo/index.min.js +40 -156
  20. package/components/datepicker/dist/index.js +40 -156
  21. package/components/datepicker/dist/registered.js +40 -156
  22. package/components/datepicker/dist/src/auro-datepicker.d.ts +0 -2
  23. package/components/dropdown/demo/customize.min.js +1 -1
  24. package/components/dropdown/demo/getting-started.min.js +1 -1
  25. package/components/dropdown/demo/index.min.js +1 -1
  26. package/components/dropdown/dist/index.js +1 -1
  27. package/components/dropdown/dist/registered.js +1 -1
  28. package/components/form/demo/customize.min.js +351 -599
  29. package/components/form/demo/getting-started.min.js +351 -599
  30. package/components/form/demo/index.min.js +351 -599
  31. package/components/form/demo/registerDemoDeps.min.js +351 -599
  32. package/components/input/demo/customize.md +55 -56
  33. package/components/input/demo/customize.min.js +36 -147
  34. package/components/input/demo/getting-started.min.js +36 -147
  35. package/components/input/demo/index.md +2 -2
  36. package/components/input/demo/index.min.js +36 -147
  37. package/components/input/dist/base-input.d.ts +0 -48
  38. package/components/input/dist/index.js +36 -147
  39. package/components/input/dist/registered.js +36 -147
  40. package/components/radio/demo/customize.min.js +1 -1
  41. package/components/radio/demo/getting-started.min.js +1 -1
  42. package/components/radio/demo/index.min.js +1 -1
  43. package/components/radio/dist/index.js +1 -1
  44. package/components/radio/dist/registered.js +1 -1
  45. package/components/select/demo/api.md +1 -0
  46. package/components/select/demo/customize.md +71 -0
  47. package/components/select/demo/customize.min.js +133 -26
  48. package/components/select/demo/getting-started.min.js +133 -26
  49. package/components/select/demo/index.min.js +133 -26
  50. package/components/select/demo/keyboard-behavior.md +18 -0
  51. package/components/select/dist/auro-select.d.ts +38 -2
  52. package/components/select/dist/index.js +133 -26
  53. package/components/select/dist/registered.js +133 -26
  54. package/components/select/dist/selectUtils.d.ts +12 -0
  55. package/custom-elements.json +114 -274
  56. package/package.json +1 -1
@@ -10528,6 +10528,7 @@ let AuroInputUtilities$1 = class AuroInputUtilities {
10528
10528
  const maskOptions = this.getMaskOptions('date', normalizedFormat);
10529
10529
 
10530
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
10531
10532
  return undefined;
10532
10533
  }
10533
10534
 
@@ -13439,7 +13440,7 @@ class AuroBibtemplate extends i$1 {
13439
13440
  }
13440
13441
  }
13441
13442
 
13442
- var formkitVersion$2 = '202606171946';
13443
+ var formkitVersion$2 = '202606192004';
13443
13444
 
13444
13445
  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}
13445
13446
  `,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}}
@@ -18974,7 +18975,7 @@ let AuroHelpText$2 = class AuroHelpText extends i$1 {
18974
18975
  }
18975
18976
  };
18976
18977
 
18977
- var formkitVersion$1 = '202606171946';
18978
+ var formkitVersion$1 = '202606192004';
18978
18979
 
18979
18980
  let AuroElement$2 = class AuroElement extends i$1 {
18980
18981
  static get properties() {
@@ -30695,6 +30696,7 @@ class AuroInputUtilities {
30695
30696
  const maskOptions = this.getMaskOptions('date', normalizedFormat);
30696
30697
 
30697
30698
  if (!(valueObject instanceof Date) || Number.isNaN(valueObject.getTime()) || !maskOptions || typeof maskOptions.format !== 'function') {
30699
+ console.debug('Invalid date object or mask options for formatting', { valueObject, maskOptions }); // eslint-disable-line no-console
30698
30700
  return undefined;
30699
30701
  }
30700
30702
 
@@ -30846,10 +30848,8 @@ class BaseInput extends AuroElement$1 {
30846
30848
  this.layout = 'classic';
30847
30849
  this.locale = 'en-US';
30848
30850
  this.max = undefined;
30849
- this._maxObject = undefined;
30850
30851
  this.maxLength = undefined;
30851
30852
  this.min = undefined;
30852
- this._minObject = undefined;
30853
30853
  this.minLength = undefined;
30854
30854
  this.required = false;
30855
30855
  this.onDark = false;
@@ -30857,7 +30857,6 @@ class BaseInput extends AuroElement$1 {
30857
30857
  this.size = 'lg';
30858
30858
  this.shape = 'classic';
30859
30859
  this.value = undefined;
30860
- this._valueObject = undefined;
30861
30860
 
30862
30861
  this._initializePrivateDefaults();
30863
30862
  }
@@ -31397,7 +31396,7 @@ class BaseInput extends AuroElement$1 {
31397
31396
  * @returns {Date|undefined}
31398
31397
  */
31399
31398
  get valueObject() {
31400
- return this._valueObject || this._computeDateObjectFallback(this.value);
31399
+ return this.value && dateFormatter.isValidDate(this.value) ? dateFormatter.stringToDateInstance(this.value) : undefined;
31401
31400
  }
31402
31401
 
31403
31402
  /**
@@ -31405,7 +31404,7 @@ class BaseInput extends AuroElement$1 {
31405
31404
  * @returns {Date|undefined}
31406
31405
  */
31407
31406
  get minObject() {
31408
- return this._minObject || this._computeDateObjectFallback(this.min);
31407
+ return this.min && dateFormatter.isValidDate(this.min) ? dateFormatter.stringToDateInstance(this.min) : undefined;
31409
31408
  }
31410
31409
 
31411
31410
  /**
@@ -31413,50 +31412,7 @@ class BaseInput extends AuroElement$1 {
31413
31412
  * @returns {Date|undefined}
31414
31413
  */
31415
31414
  get maxObject() {
31416
- return this._maxObject || this._computeDateObjectFallback(this.max);
31417
- }
31418
-
31419
- /**
31420
- * Parses a date string into a Date object when the corresponding `_*Object`
31421
- * field hasn't been synced yet by `updated()`. Returns undefined when the
31422
- * input type/format isn't a full date or the string is not a valid date.
31423
- *
31424
- * Why this exists: a parent (datepicker) can call `inputN.validate()` from
31425
- * inside its own `updated()` before this input's `updated()` has run
31426
- * `syncDateValues()` — so `_valueObject`/`_maxObject` are still `undefined`
31427
- * and range checks would otherwise silently no-op (flipping the result to
31428
- * `valid` or `patternMismatch`).
31429
- * @private
31430
- * @param {string|undefined} dateStr - ISO date string from `value`/`min`/`max`.
31431
- * @returns {Date|undefined}
31432
- */
31433
- _computeDateObjectFallback(dateStr) {
31434
- if (!dateStr || !this.util || !this.util.isFullDateFormat(this.type, this.format)) {
31435
- return undefined;
31436
- }
31437
- if (!dateFormatter.isValidDate(dateStr)) {
31438
- return undefined;
31439
- }
31440
- return dateFormatter.stringToDateInstance(dateStr);
31441
- }
31442
-
31443
- /**
31444
- * Internal setter for readonly date object properties.
31445
- * @private
31446
- * @param {'valueObject'|'minObject'|'maxObject'} propertyName - Public object property name.
31447
- * @param {Date|undefined} propertyValue - Value to assign.
31448
- * @returns {void}
31449
- */
31450
- setDateObjectProperty(propertyName, propertyValue) {
31451
- const internalPropertyName = `_${propertyName}`;
31452
- const previousValue = this[internalPropertyName];
31453
-
31454
- if (previousValue === propertyValue) {
31455
- return;
31456
- }
31457
-
31458
- this[internalPropertyName] = propertyValue;
31459
- this.requestUpdate(propertyName, previousValue);
31415
+ return this.max && dateFormatter.isValidDate(this.max) ? dateFormatter.stringToDateInstance(this.max) : undefined;
31460
31416
  }
31461
31417
 
31462
31418
  connectedCallback() {
@@ -31485,7 +31441,6 @@ class BaseInput extends AuroElement$1 {
31485
31441
  format: this.format
31486
31442
  });
31487
31443
  this.configureDataForType();
31488
- this.syncDateValues();
31489
31444
  }
31490
31445
 
31491
31446
  disconnectedCallback() {
@@ -31505,10 +31460,6 @@ class BaseInput extends AuroElement$1 {
31505
31460
  this.wrapperElement.addEventListener('click', this.handleClick);
31506
31461
  }
31507
31462
 
31508
- // add attribute for query selectors when auro-input is registered under a custom name
31509
- if (this.tagName.toLowerCase() !== 'auro-input' && !this.hasAttribute('auro-input')) {
31510
- this.setAttribute('auro-input', '');
31511
- }
31512
31463
  this.inputId = this.id ? `${this.id}-input` : window.crypto.randomUUID();
31513
31464
 
31514
31465
  // use validity message override if declared when initializing the component
@@ -31519,7 +31470,6 @@ class BaseInput extends AuroElement$1 {
31519
31470
  this.setCustomHelpTextMessage();
31520
31471
  this.configureAutoFormatting();
31521
31472
  this.configureDataForType();
31522
- this.syncDateValues();
31523
31473
  }
31524
31474
 
31525
31475
  /**
@@ -31656,8 +31606,6 @@ class BaseInput extends AuroElement$1 {
31656
31606
  this.configureDataForType();
31657
31607
  }
31658
31608
 
31659
- this.syncDateValues(changedProperties);
31660
-
31661
31609
  if (changedProperties.has('value')) {
31662
31610
  if (this.value && this.value.length > 0) {
31663
31611
  this.hasValue = true;
@@ -31679,14 +31627,14 @@ class BaseInput extends AuroElement$1 {
31679
31627
 
31680
31628
  if (formattedValue !== this.inputElement.value) {
31681
31629
  this.skipNextProgrammaticInputEvent = true;
31682
- if (this.maskInstance && this.type === 'credit-card') {
31630
+ if (this.maskInstance && this.type !== 'date') {
31683
31631
  // Route through the mask so its _value and el.value stay in lock-step
31684
31632
  // (set value calls updateControl which writes el.value = displayValue).
31685
31633
  // Writing el.value directly leaves the mask thinking displayValue is
31686
- // stale; _saveSelection on the next focus/click then warns. Scoped to
31687
- // credit-card so date's own formattedValue (raw ISO when calendar-invalid)
31688
- // isn't re-masked through the mm/dd/yyyy mask, which would truncate it
31689
- // and flip validity from patternMismatch to tooShort.
31634
+ // stale; _saveSelection on the next focus/click then warns. Date is
31635
+ // excluded because its formattedValue can be raw ISO when the calendar
31636
+ // is invalid, and re-masking through mm/dd/yyyy would truncate it and
31637
+ // flip validity from patternMismatch to tooShort.
31690
31638
  this.maskInstance.value = formattedValue || '';
31691
31639
  } else if (formattedValue) {
31692
31640
  this.inputElement.value = formattedValue;
@@ -31728,120 +31676,60 @@ class BaseInput extends AuroElement$1 {
31728
31676
  }));
31729
31677
  }
31730
31678
 
31731
-
31732
- /**
31733
- * Synchronizes the ISO string values and Date object representations for date-related properties.
31734
- * This keeps the model and display values aligned when either side changes.
31735
- *
31736
- * When a full date format is in use, this method updates `value`, `min`, and `max` from their corresponding
31737
- * Date objects or vice versa, based on which properties have changed. It only runs when the current configuration
31738
- * represents a full year/month/day date format.
31739
- *
31740
- * @param {Map<string, unknown>|undefined} [changedProperties=undefined] - Optional map of changed properties used to limit which values are synchronized.
31741
- * @returns {void}
31742
- * @private
31743
- */
31744
- syncDateValues(changedProperties = undefined) {
31745
- if (!this.util.isFullDateFormat(this.type, this.format)) {
31746
- return;
31747
- }
31748
-
31749
- this.syncSingleDateValue(changedProperties, 'valueObject', 'value');
31750
- this.syncSingleDateValue(changedProperties, 'minObject', 'min');
31751
- this.syncSingleDateValue(changedProperties, 'maxObject', 'max');
31752
- }
31753
-
31754
- /**
31755
- * Synchronizes one date object/string property pair.
31756
- * @private
31757
- * @param {Map<string, unknown>|undefined} changedProperties - Map of changed properties from Lit.
31758
- * @param {string} objectProperty - Date object property name.
31759
- * @param {string} valueProperty - ISO string property name.
31760
- * @returns {void}
31761
- */
31762
- syncSingleDateValue(changedProperties, objectProperty, valueProperty) {
31763
- const objectPropertyChanged = !changedProperties || changedProperties.has(objectProperty);
31764
-
31765
- // objectProperty wins over valueProperty when both changed
31766
- if (objectPropertyChanged && this[objectProperty]) {
31767
- this[valueProperty] = dateFormatter.toISOFormatString(this[objectProperty]);
31768
- return;
31769
- }
31770
-
31771
- const valuePropertyChanged = !changedProperties || changedProperties.has(valueProperty);
31772
- if (!valuePropertyChanged) {
31773
- return;
31774
- }
31775
-
31776
- // 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)
31777
- if (
31778
- changedProperties &&
31779
- valueProperty === 'value' &&
31780
- changedProperties.get('value') === undefined &&
31781
- this[objectProperty] instanceof Date &&
31782
- this[valueProperty] === dateFormatter.toISOFormatString(this[objectProperty])
31783
- ) {
31784
- return;
31785
- }
31786
-
31787
- if (dateFormatter.isValidDate(this[valueProperty])) {
31788
- this.setDateObjectProperty(objectProperty, dateFormatter.stringToDateInstance(this[valueProperty]));
31789
- } else {
31790
- this.setDateObjectProperty(objectProperty, undefined);
31791
- }
31792
- }
31793
-
31794
31679
  /**
31795
31680
  * Sets up IMasks and logic based on auto-formatting requirements.
31796
31681
  * @private
31797
31682
  * @returns {void}
31798
31683
  */
31799
31684
  configureAutoFormatting() {
31800
- // Re-entrancy guard. The patched-setter's synthetic input event (suppressed
31801
- // by _configuringMask above) could otherwise trigger handleInput
31802
- // processCreditCard configureAutoFormatting before the outer call's
31803
- // set value has finished its alignCursor pass.
31685
+ // _configuringMask gates two things: external re-entry into this method
31686
+ // while setup is mid-flight (from property changes that call back here),
31687
+ // and the accept/complete listeners below — both need to ignore the mask
31688
+ // events fired by our own value-restore step.
31804
31689
  if (this._configuringMask) return;
31805
31690
  this._configuringMask = true;
31806
31691
  try {
31692
+ // Destroy any prior mask so IMask can attach fresh under the new format.
31807
31693
  if (this.maskInstance) {
31808
31694
  this.maskInstance.destroy();
31809
31695
  }
31810
31696
 
31811
- // Pass new format to util
31812
31697
  this.util.updateFormat(this.format);
31813
31698
 
31814
31699
  const maskOptions = this.util.getMaskOptions(this.type, this.format);
31815
31700
 
31816
31701
  if (this.inputElement && maskOptions.mask) {
31817
-
31818
- // Stash and clear any existing value before IMask init.
31819
- // IMask's constructor processes the current input value which requires
31820
- // selection state clearing first avoids that scenario entirely.
31821
- // When the format changes (e.g. locale switch) and we have a valid ISO
31822
- // model value, compute the display string for the NEW format instead of
31823
- // re-using the old display string, which may be invalid in the new mask.
31702
+ // Capture the current display so it can be re-applied after IMask
31703
+ // attaches. The restore at the bottom goes through maskInstance.value
31704
+ // (not inputElement.value directly) so the mask's internal state and
31705
+ // the input's displayed text stay in lock-step.
31824
31706
  let existingValue = this.inputElement.value;
31707
+
31708
+ // Format-change case (e.g. locale switch): existingValue is the OLD
31709
+ // mask's display string and may not parse under the new mask. When
31710
+ // we have a valid date model, rebuild the display from valueObject
31711
+ // (the canonical source) using the new mask's format function.
31825
31712
  if (
31826
31713
  this.util.isFullDateFormat(this.type, this.format) &&
31827
31714
  this.value &&
31828
- dateFormatter.isValidDate(this.value) &&
31829
- this.valueObject instanceof Date &&
31830
- !Number.isNaN(this.valueObject.getTime()) &&
31715
+ this.valueObject &&
31831
31716
  typeof maskOptions.format === 'function'
31832
31717
  ) {
31833
31718
  existingValue = maskOptions.format(this.valueObject);
31834
31719
  }
31835
31720
 
31721
+ // Clear before IMask attaches so the constructor seeds an empty
31722
+ // internal value. Otherwise IMask reads the stale unmasked string
31723
+ // and emits a spurious 'accept' before the restore below runs.
31836
31724
  this.skipNextProgrammaticInputEvent = true;
31837
31725
  this.inputElement.value = '';
31838
31726
 
31839
31727
  this.maskInstance = IMask(this.inputElement, maskOptions);
31840
31728
 
31729
+ // Mask fires 'accept' on every value change, including the restore
31730
+ // step below. Skip events fired during configureAutoFormatting so
31731
+ // we don't overwrite a value the parent just pushed.
31841
31732
  this.maskInstance.on('accept', () => {
31842
- // Suppress propagation during configureAutoFormatting's own value-restoration
31843
- // (line below) — the mask emits 'accept' on every value-set, including ours,
31844
- // and we don't want to overwrite a value the parent just pushed.
31845
31733
  if (this._configuringMask) return;
31846
31734
  this.value = this.util.toModelValue(this.maskInstance.value, this.format);
31847
31735
  if (this.type === "date") {
@@ -31849,6 +31737,8 @@ class BaseInput extends AuroElement$1 {
31849
31737
  }
31850
31738
  });
31851
31739
 
31740
+ // Mask fires 'complete' on the restore step below for any value that
31741
+ // happens to be a complete match. Same setup-suppression as 'accept'.
31852
31742
  this.maskInstance.on('complete', () => {
31853
31743
  if (this._configuringMask) return;
31854
31744
  this.value = this.util.toModelValue(this.maskInstance.value, this.format);
@@ -31857,7 +31747,9 @@ class BaseInput extends AuroElement$1 {
31857
31747
  }
31858
31748
  });
31859
31749
 
31860
- // Restore the stashed value through IMask so it's properly masked
31750
+ // Write existingValue through the mask (not the input directly) so
31751
+ // the mask reformats it under the new rules and keeps its internal
31752
+ // _value aligned with the input's displayed text.
31861
31753
  if (existingValue) {
31862
31754
  this.maskInstance.value = existingValue;
31863
31755
  }
@@ -32025,7 +31917,6 @@ class BaseInput extends AuroElement$1 {
32025
31917
  */
32026
31918
  reset() {
32027
31919
  this.value = undefined;
32028
- this.setDateObjectProperty('valueObject', undefined);
32029
31920
  this.validation.reset(this);
32030
31921
  }
32031
31922
 
@@ -32034,7 +31925,6 @@ class BaseInput extends AuroElement$1 {
32034
31925
  */
32035
31926
  clear() {
32036
31927
  this.value = undefined;
32037
- this.setDateObjectProperty('valueObject', undefined);
32038
31928
  }
32039
31929
 
32040
31930
  /**
@@ -32563,7 +32453,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$1 {
32563
32453
  }
32564
32454
  };
32565
32455
 
32566
- var formkitVersion = '202606171946';
32456
+ var formkitVersion = '202606192004';
32567
32457
 
32568
32458
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
32569
32459
  // See LICENSE in the project root for license information.
@@ -33983,8 +33873,6 @@ const datepickerKeyboardStrategy = {
33983
33873
  * @slot label - Defines the label content for the entire datepicker when `layout="snowflake"`.
33984
33874
  * @slot toLabel - Defines the label content for the second input when the `range` attribute is used.
33985
33875
  * @slot fromLabel - Defines the label content for the first input.
33986
- * @slot optionalFromLabel - Overrides the "(optional)" text rendered next to the first input's label when the datepicker is not `required`.
33987
- * @slot optionalToLabel - Overrides the "(optional)" text rendered next to the second input's label when `range` is set and the datepicker is not `required`.
33988
33876
  * @slot date_YYYY_MM_DD - Defines the content to display in the auro-calendar-cell for the specified date. The content text is colored using the success state token when the `highlight` attribute is applied to the slot.
33989
33877
  * @slot popover_YYYY_MM_DD - Defines the content to display in the auro-calendar-cell popover for the specified date.
33990
33878
  * @csspart dropdown - Use for customizing the style of the dropdown.
@@ -35580,9 +35468,7 @@ class AuroDatePicker extends AuroElement {
35580
35468
  // update the calendar
35581
35469
  if (this.valueEndObject) {
35582
35470
  this.calendar.dateTo = this.convertToWcValidTime(this.valueEndObject);
35583
- if (!(this.wasCellClick && this.range)) {
35584
- this.calendarRenderUtil.updateCentralDate(this, this.valueEndObject);
35585
- }
35471
+ this.calendarRenderUtil.updateCentralDate(this, this.valueEndObject);
35586
35472
  } else {
35587
35473
  if (this.inputList[1].value !== this.valueEnd) {
35588
35474
  this.inputList[1].value = this.valueEnd || '';
@@ -35977,7 +35863,6 @@ class AuroDatePicker extends AuroElement {
35977
35863
  }
35978
35864
  <span slot="ariaLabel.clear">${this.runtimeUtils.getSlotText(this, 'ariaLabel.input.clear') || i18n(this.lang, 'clearInput')}</span>
35979
35865
  <span slot="label"><slot name="fromLabel"></slot></span>
35980
- <span slot="optionalLabel"><slot name="optionalFromLabel"> (optional)</slot></span>
35981
35866
  </${this.inputTag}>
35982
35867
  </div>
35983
35868
 
@@ -36022,7 +35907,6 @@ class AuroDatePicker extends AuroElement {
36022
35907
  }
36023
35908
  <span slot="ariaLabel.clear">${this.runtimeUtils.getSlotText(this, 'ariaLabel.input.clear') || this.runtimeUtils.getSlotText(this, 'ariaLabel.input.clear') || i18n(this.lang, 'clearInput')}</span>
36024
35909
  <span slot="label"><slot name="toLabel"></slot></span>
36025
- <span slot="optionalLabel"><slot name="optionalToLabel"> (optional)</slot></span>
36026
35910
  </${this.inputTag}>
36027
35911
  </div>
36028
35912
  ` : undefined}
@@ -36226,14 +36110,7 @@ class AuroDatePicker extends AuroElement {
36226
36110
  function localizationExample() {
36227
36111
  const localizedDatepicker = document.querySelector("#localizationExample");
36228
36112
 
36229
- if (!localizedDatepicker) {
36230
- return;
36231
- }
36232
-
36233
- localizedDatepicker.monthNames = [
36234
- 'Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio',
36235
- 'Julio', 'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre',
36236
- ];
36113
+ localizedDatepicker.monthNames = ['Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio', 'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre'];
36237
36114
  }
36238
36115
 
36239
36116
  AuroDatePicker.register();