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

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 (59) hide show
  1. package/components/checkbox/demo/customize.html +1 -2
  2. package/components/checkbox/demo/customize.min.js +1 -1
  3. package/components/checkbox/demo/getting-started.min.js +1 -1
  4. package/components/checkbox/demo/index.min.js +1 -1
  5. package/components/checkbox/dist/index.js +1 -1
  6. package/components/checkbox/dist/registered.js +1 -1
  7. package/components/combobox/demo/customize.html +1 -2
  8. package/components/combobox/demo/customize.md +108 -132
  9. package/components/combobox/demo/customize.min.js +10 -5
  10. package/components/combobox/demo/getting-started.min.js +10 -5
  11. package/components/combobox/demo/index.min.js +10 -5
  12. package/components/combobox/dist/index.js +8 -3
  13. package/components/combobox/dist/registered.js +8 -3
  14. package/components/counter/demo/customize.min.js +2 -2
  15. package/components/counter/demo/index.min.js +2 -2
  16. package/components/counter/dist/index.js +2 -2
  17. package/components/counter/dist/registered.js +2 -2
  18. package/components/datepicker/demo/customize.min.js +8 -3
  19. package/components/datepicker/demo/index.min.js +8 -3
  20. package/components/datepicker/dist/index.js +8 -3
  21. package/components/datepicker/dist/registered.js +8 -3
  22. package/components/dropdown/demo/customize.min.js +1 -1
  23. package/components/dropdown/demo/getting-started.min.js +1 -1
  24. package/components/dropdown/demo/index.min.js +1 -1
  25. package/components/dropdown/dist/index.js +1 -1
  26. package/components/dropdown/dist/registered.js +1 -1
  27. package/components/form/demo/customize.html +6 -6
  28. package/components/form/demo/customize.js +19 -0
  29. package/components/form/demo/customize.md +203 -51
  30. package/components/form/demo/customize.min.js +465 -52
  31. package/components/form/demo/getting-started.min.js +393 -52
  32. package/components/form/demo/index.min.js +393 -52
  33. package/components/form/demo/registerDemoDeps.min.js +30 -15
  34. package/components/form/dist/auro-form.d.ts +122 -4
  35. package/components/form/dist/index.js +363 -37
  36. package/components/form/dist/registered.js +363 -37
  37. package/components/input/demo/customize.html +1 -2
  38. package/components/input/demo/customize.min.js +6 -1
  39. package/components/input/demo/getting-started.min.js +6 -1
  40. package/components/input/demo/index.min.js +6 -1
  41. package/components/input/dist/base-input.d.ts +1 -1
  42. package/components/input/dist/index.js +6 -1
  43. package/components/input/dist/registered.js +6 -1
  44. package/components/menu/demo/index.min.js +2 -2
  45. package/components/menu/dist/index.js +2 -2
  46. package/components/menu/dist/registered.js +2 -2
  47. package/components/radio/demo/customize.min.js +1 -1
  48. package/components/radio/demo/getting-started.min.js +1 -1
  49. package/components/radio/demo/index.min.js +1 -1
  50. package/components/radio/dist/index.js +1 -1
  51. package/components/radio/dist/registered.js +1 -1
  52. package/components/select/demo/customize.html +1 -2
  53. package/components/select/demo/customize.min.js +4 -4
  54. package/components/select/demo/getting-started.min.js +4 -4
  55. package/components/select/demo/index.min.js +4 -4
  56. package/components/select/dist/index.js +2 -2
  57. package/components/select/dist/registered.js +2 -2
  58. package/custom-elements.json +123 -2
  59. package/package.json +1 -1
@@ -11454,8 +11454,13 @@ let BaseInput$2 = class BaseInput extends AuroElement$6 {
11454
11454
  this._configuringMask = true;
11455
11455
  try {
11456
11456
  // Destroy any prior mask so IMask can attach fresh under the new format.
11457
+ // Null the reference too — if the new maskOptions.mask is falsy (e.g.
11458
+ // type switched from credit-card to text) the IMask() reassignment
11459
+ // below is skipped, and downstream writes at line ~823 would otherwise
11460
+ // route through the destroyed instance.
11457
11461
  if (this.maskInstance) {
11458
11462
  this.maskInstance.destroy();
11463
+ this.maskInstance = null;
11459
11464
  }
11460
11465
 
11461
11466
  this.util.updateFormat(this.format);
@@ -12217,7 +12222,7 @@ let AuroHelpText$8 = class AuroHelpText extends i$2 {
12217
12222
  }
12218
12223
  };
12219
12224
 
12220
- var formkitVersion$8 = '202606192004';
12225
+ var formkitVersion$8 = '202606221813';
12221
12226
 
12222
12227
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
12223
12228
  // See LICENSE in the project root for license information.
@@ -26337,7 +26342,7 @@ let AuroBibtemplate$3 = class AuroBibtemplate extends i$2 {
26337
26342
  }
26338
26343
  };
26339
26344
 
26340
- var formkitVersion$2$1 = '202606192004';
26345
+ var formkitVersion$2$1 = '202606221813';
26341
26346
 
26342
26347
  let l$1$2 = 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$2 = 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$2 = 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$3=i$4`: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}
26343
26348
  `,u$4$2=i$4`.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}}
@@ -31848,7 +31853,7 @@ let AuroHelpText$2$1 = class AuroHelpText extends i$2 {
31848
31853
  }
31849
31854
  };
31850
31855
 
31851
- var formkitVersion$1$3 = '202606192004';
31856
+ var formkitVersion$1$3 = '202606221813';
31852
31857
 
31853
31858
  let AuroElement$2$2 = class AuroElement extends i$2 {
31854
31859
  static get properties() {
@@ -44556,8 +44561,13 @@ let BaseInput$1 = class BaseInput extends AuroElement$1$3 {
44556
44561
  this._configuringMask = true;
44557
44562
  try {
44558
44563
  // Destroy any prior mask so IMask can attach fresh under the new format.
44564
+ // Null the reference too — if the new maskOptions.mask is falsy (e.g.
44565
+ // type switched from credit-card to text) the IMask() reassignment
44566
+ // below is skipped, and downstream writes at line ~823 would otherwise
44567
+ // route through the destroyed instance.
44559
44568
  if (this.maskInstance) {
44560
44569
  this.maskInstance.destroy();
44570
+ this.maskInstance = null;
44561
44571
  }
44562
44572
 
44563
44573
  this.util.updateFormat(this.format);
@@ -45319,7 +45329,7 @@ let AuroHelpText$1$3 = class AuroHelpText extends i$2 {
45319
45329
  }
45320
45330
  };
45321
45331
 
45322
- var formkitVersion$7 = '202606192004';
45332
+ var formkitVersion$7 = '202606221813';
45323
45333
 
45324
45334
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
45325
45335
  // See LICENSE in the project root for license information.
@@ -50016,7 +50026,7 @@ let AuroHelpText$1$2 = class AuroHelpText extends i$2 {
50016
50026
  }
50017
50027
  };
50018
50028
 
50019
- var formkitVersion$1$2 = '202606192004';
50029
+ var formkitVersion$1$2 = '202606221813';
50020
50030
 
50021
50031
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
50022
50032
  // See LICENSE in the project root for license information.
@@ -54344,7 +54354,7 @@ let AuroHelpText$6 = class AuroHelpText extends i$2 {
54344
54354
  }
54345
54355
  };
54346
54356
 
54347
- var formkitVersion$6 = '202606192004';
54357
+ var formkitVersion$6 = '202606221813';
54348
54358
 
54349
54359
  let AuroElement$1$2 = class AuroElement extends i$2 {
54350
54360
  static get properties() {
@@ -58276,7 +58286,7 @@ let AuroHelpText$5 = class AuroHelpText extends i$2 {
58276
58286
  }
58277
58287
  };
58278
58288
 
58279
- var formkitVersion$5 = '202606192004';
58289
+ var formkitVersion$5 = '202606221813';
58280
58290
 
58281
58291
  // Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
58282
58292
  // See LICENSE in the project root for license information.
@@ -60026,7 +60036,7 @@ let AuroHelpText$4 = class AuroHelpText extends i$2 {
60026
60036
  }
60027
60037
  };
60028
60038
 
60029
- var formkitVersion$4 = '202606192004';
60039
+ var formkitVersion$4 = '202606221813';
60030
60040
 
60031
60041
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
60032
60042
  // See LICENSE in the project root for license information.
@@ -65241,7 +65251,7 @@ let AuroHelpText$2 = class AuroHelpText extends i$2 {
65241
65251
  }
65242
65252
  };
65243
65253
 
65244
- var formkitVersion$2 = '202606192004';
65254
+ var formkitVersion$2 = '202606221813';
65245
65255
 
65246
65256
  let AuroElement$2$1 = class AuroElement extends i$2 {
65247
65257
  static get properties() {
@@ -77949,8 +77959,13 @@ class BaseInput extends AuroElement$1$1 {
77949
77959
  this._configuringMask = true;
77950
77960
  try {
77951
77961
  // Destroy any prior mask so IMask can attach fresh under the new format.
77962
+ // Null the reference too — if the new maskOptions.mask is falsy (e.g.
77963
+ // type switched from credit-card to text) the IMask() reassignment
77964
+ // below is skipped, and downstream writes at line ~823 would otherwise
77965
+ // route through the destroyed instance.
77952
77966
  if (this.maskInstance) {
77953
77967
  this.maskInstance.destroy();
77968
+ this.maskInstance = null;
77954
77969
  }
77955
77970
 
77956
77971
  this.util.updateFormat(this.format);
@@ -78712,7 +78727,7 @@ let AuroHelpText$1$1 = class AuroHelpText extends i$2 {
78712
78727
  }
78713
78728
  };
78714
78729
 
78715
- var formkitVersion$1$1 = '202606192004';
78730
+ var formkitVersion$1$1 = '202606221813';
78716
78731
 
78717
78732
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
78718
78733
  // See LICENSE in the project root for license information.
@@ -79833,7 +79848,7 @@ let AuroBibtemplate$1 = class AuroBibtemplate extends i$2 {
79833
79848
  }
79834
79849
  };
79835
79850
 
79836
- var formkitVersion$3 = '202606192004';
79851
+ var formkitVersion$3 = '202606221813';
79837
79852
 
79838
79853
  var styleCss$1$3 = i$4`.util_displayInline{display:inline}.util_displayInlineBlock{display:inline-block}.util_displayBlock{display:block}.util_displayFlex{display:flex}.util_displayHidden{display:none}.util_displayHiddenVisually{position:absolute;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);width:1px;height:1px;padding:0;border:0}:host{display:block;text-align:left}:host [auro-dropdown]{--ds-auro-dropdown-trigger-background-color: transparent}:host #inputInBib::part(wrapper){box-shadow:none}:host #inputInBib::part(accent-left){display:none}:host([layout*=classic]) [auro-input]{width:100%}:host([layout*=classic]) [auro-input]::part(helpText){display:none}:host([layout*=classic]) #slotHolder{display:none}`;
79839
79854
 
@@ -82580,8 +82595,8 @@ class AuroMenu extends AuroElement$2 {
82580
82595
  // Malformed JSON (e.g. a literal string that happens to start with "[") falls back
82581
82596
  // to a single-item array rather than throwing during render.
82582
82597
  try {
82583
- const parsed = JSON.parse(this.value);
82584
- return Array.isArray(parsed) ? parsed : [this.value];
82598
+ // any valid JSON starting with `[` ALWAYS parses to an array
82599
+ return JSON.parse(this.value);
82585
82600
  } catch {
82586
82601
  return [this.value];
82587
82602
  }
@@ -88624,7 +88639,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$2 {
88624
88639
  }
88625
88640
  };
88626
88641
 
88627
- var formkitVersion$1 = '202606192004';
88642
+ var formkitVersion$1 = '202606221813';
88628
88643
 
88629
88644
  class AuroElement extends i$2 {
88630
88645
  static get properties() {
@@ -90637,7 +90652,7 @@ class AuroHelpText extends i$2 {
90637
90652
  }
90638
90653
  }
90639
90654
 
90640
- var formkitVersion = '202606192004';
90655
+ var formkitVersion = '202606221813';
90641
90656
 
90642
90657
  var styleCss = i$4`.util_displayInline{display:inline}.util_displayInlineBlock{display:inline-block}.util_displayBlock{display:block}.util_displayFlex{display:flex}.util_displayHidden{display:none}.util_displayHiddenVisually{position:absolute;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);width:1px;height:1px;padding:0;border:0}.body-default{font-size:var(--wcss-body-default-font-size, 1rem);font-weight:var(--wcss-body-default-weight, );line-height:var(--wcss-body-default-line-height, 1.5rem)}.body-default,.body-default-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-default-emphasized{font-size:var(--wcss-body-default-emphasized-font-size, 1rem);font-weight:var(--wcss-body-default-emphasized-weight, );line-height:var(--wcss-body-default-emphasized-line-height, 1.5rem)}.body-lg{font-size:var(--wcss-body-lg-font-size, 1.125rem);font-weight:var(--wcss-body-lg-weight, );line-height:var(--wcss-body-lg-line-height, 1.625rem)}.body-lg,.body-lg-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-lg-emphasized{font-size:var(--wcss-body-lg-emphasized-font-size, 1.125rem);font-weight:var(--wcss-body-lg-emphasized-weight, );line-height:var(--wcss-body-lg-emphasized-line-height, 1.625rem)}.body-sm{font-size:var(--wcss-body-sm-font-size, 0.875rem);font-weight:var(--wcss-body-sm-weight, );line-height:var(--wcss-body-sm-line-height, 1.25rem)}.body-sm,.body-sm-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-sm-emphasized{font-size:var(--wcss-body-sm-emphasized-font-size, 0.875rem);font-weight:var(--wcss-body-sm-emphasized-weight, );line-height:var(--wcss-body-sm-emphasized-line-height, 1.25rem)}.body-xs{font-size:var(--wcss-body-xs-font-size, 0.75rem);font-weight:var(--wcss-body-xs-weight, );line-height:var(--wcss-body-xs-line-height, 1rem)}.body-xs,.body-xs-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-xs-emphasized{font-size:var(--wcss-body-xs-emphasized-font-size, 0.75rem);font-weight:var(--wcss-body-xs-emphasized-weight, );line-height:var(--wcss-body-xs-emphasized-line-height, 1rem)}.body-2xs{font-size:var(--wcss-body-2xs-font-size, 0.625rem);font-weight:var(--wcss-body-2xs-weight, );line-height:var(--wcss-body-2xs-line-height, 0.875rem)}.body-2xs,.body-2xs-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-2xs-emphasized{font-size:var(--wcss-body-2xs-emphasized-font-size, 0.625rem);font-weight:var(--wcss-body-2xs-emphasized-weight, );line-height:var(--wcss-body-2xs-emphasized-line-height, 0.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, 300);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, 300);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, 0.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, 0.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, 0.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, 0.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, 0.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, 0.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(0.875rem, 1.1666666667vw, 0.875rem));font-weight:var(--wcss-accent-2xs-weight, 450);letter-spacing:var(--wcss-accent-2xs-letter-spacing, 0.1em);line-height:var(--wcss-accent-2xs-line-height, 1.3);text-transform:uppercase}[auro-dropdown]{--ds-auro-dropdown-trigger-border-color: var(--ds-auro-select-border-color);--ds-auro-dropdown-trigger-background-color: var(--ds-auro-select-background-color);--ds-auro-dropdown-trigger-container-color: var(--ds-auro-select-background-color);--ds-auro-dropdown-trigger-outline-color: var(--ds-auro-select-outline-color)}:host{display:inline-block;text-align:left;vertical-align:top}:host([layout*=emphasized]) [auro-dropdown],:host([layout*=snowflake]) [auro-dropdown]{--ds-auro-select-border-color: transparent}:host([layout*=emphasized]) .mainContent,:host([layout*=snowflake]) .mainContent{text-align:center}.mainContent{position:relative;display:flex;overflow:hidden;flex:1;flex-direction:column;align-items:center;justify-content:center}.valueContainer [slot=displayValue]{display:none}.accents{display:flex;flex-direction:row;align-items:center;justify-content:center}::slotted([slot=typeIcon]){margin-right:var(--ds-size-100, 0.5rem)}.displayValue{display:block}.displayValue:not(.force){display:none}.displayValue:not(.force).hasContent:is(.withValue):not(.hasFocus){display:block}.triggerContent{display:flex;width:100%;align-items:center;justify-content:center}:host([layout*=emphasized]) .triggerContent{padding:0 var(--ds-size-100, 0.5rem) 0 var(--ds-size-300, 1.5rem)}:host([layout*=snowflake]) .triggerContent{padding:0 var(--ds-size-100, 0.5rem) 0 var(--ds-size-200, 1rem)}:host([layout*=snowflake]) label{padding-block:var(--ds-size-25, 0.125rem)}:host([layout*=classic]) .triggerContent{padding:0 var(--ds-size-100, 0.5rem)}:host([layout*=classic]) .mainContent{align-items:start}:host([layout*=classic]) label{overflow:hidden;cursor:text;text-overflow:ellipsis;white-space:nowrap}:host([layout*=classic]) .value{height:auto}label{color:var(--ds-auro-select-label-text-color)}:host(:is([validity]:not([validity=valid]))) [auro-dropdown]{--ds-auro-select-border-color: var(--ds-basic-color-status-error, #e31f26);--ds-auro-select-outline-color: var(--ds-basic-color-status-error, #e31f26);--ds-auro-dropdown-helptext-text-color: var(--ds-basic-color-texticon-default, #2a2a2a)}:host([ondark]:is([validity]:not([validity=valid]))) [auro-dropdown],:host([appearance=inverse]:is([validity]:not([validity=valid]))) [auro-dropdown]{--ds-auro-select-border-color: var(--ds-advanced-color-state-error-inverse, #f9a4a8);--ds-auro-select-outline-color: var(--ds-advanced-color-state-error-inverse, #f9a4a8);--ds-auro-dropdown-helptext-text-color: var(--ds-basic-color-texticon-inverse, #ffffff)}#slotHolder{display:none}:host([fluid]){width:100%}:host([disabled]){pointer-events:none;user-select:none}:host([disabled]:not([ondark])) [auro-dropdown],:host([disabled]:not([appearance=inverse])) [auro-dropdown]{--ds-auro-select-border-color: var(--ds-basic-color-border-subtle, #dddddd)}:host(:not([layout*=classic])[disabled][ondark]) [auro-dropdown],:host(:not([layout*=classic])[disabled][appearance=inverse]) [auro-dropdown]{--ds-auro-select-border-color: transparent}`;
90643
90658
 
@@ -3,7 +3,7 @@
3
3
  * @property {string | number | boolean | string[] | null} value - The value of the form element.
4
4
  * @property {ValidityState} validity - The validity state of the form element, stored when fired from the form element.
5
5
  * @property {boolean} required - Whether the form element is required or not.
6
- * @property {HTMLElement} element - Whether the form element is required or not.
6
+ * @property {boolean} disabled - Whether the form element is currently disabled. Cached from the live attribute via the MutationObserver in `connectedCallback` and refreshed from `_handleAttributeMutations`.
7
7
  */
8
8
  /**
9
9
  * @typedef {Object.<string, FormStateMember>} FormState - The form state.
@@ -95,6 +95,32 @@ export class AuroForm extends LitElement {
95
95
  * @type {MutationObserver[]}
96
96
  */
97
97
  private mutationObservers;
98
+ /**
99
+ * Captured initial (default) value per field `name`. Populated on first
100
+ * sight of each name in `_addElementToState` and preserved across
101
+ * subsequent `initializeState` cycles (slot change, rename, reset) so
102
+ * `_setInitialState` can detect user edits as `current !== initial`,
103
+ * matching HTML's `dirtyValueFlag` semantics.
104
+ * @private
105
+ * @type {Record<string, string | number | boolean | string[] | null | undefined>}
106
+ */
107
+ private _initialValues;
108
+ /**
109
+ * @private
110
+ * @type {MutationObserver | null}
111
+ */
112
+ private _attributeObserver;
113
+ /**
114
+ * Handle batched MutationObserver records for `disabled` and `name`
115
+ * attribute changes on tracked form elements. A `name` change invalidates
116
+ * the formState keying — we resolve it by re-initializing state. A `disabled`
117
+ * change simply needs a re-render (so `value` / `validity` getters re-evaluate)
118
+ * and a refresh of the submit/reset button enablement.
119
+ * @param {MutationRecord[]} mutations - The batched mutation records.
120
+ * @returns {void}
121
+ * @private
122
+ */
123
+ private _handleAttributeMutations;
98
124
  /**
99
125
  * Resets all form elements to their initial state and fires a `reset` event. The event's `detail.previousValue` contains the form values captured immediately before the reset.
100
126
  * @returns {void}
@@ -155,6 +181,39 @@ export class AuroForm extends LitElement {
155
181
  * @private
156
182
  */
157
183
  private isFormElement;
184
+ /**
185
+ * Whether a given element is currently disabled. Disabled controls are excluded
186
+ * from submission, validity, and initial-state checks per the HTML spec
187
+ * (section 4.10.19.2 "Enabling and disabling form controls":
188
+ * https://www.w3.org/TR/2011/WD-html5-20110113/association-of-controls-and-forms.html).
189
+ *
190
+ * Implementation note: we deliberately read only the attribute. Every Auro
191
+ * form element in `formElementTags` declares `disabled` with `reflect: true`,
192
+ * so the attribute and property stay in sync. Reading the attribute also
193
+ * lets the MutationObserver in `connectedCallback` (which is filtered to
194
+ * `['disabled', 'name']`) be the single source of truth for re-renders.
195
+ * If a future form-element type ships without attribute reflection, expand
196
+ * this helper to also read `element.disabled`.
197
+ * @param {HTMLElement | undefined | null} element - The element to check.
198
+ * @returns {boolean}
199
+ * @private
200
+ */
201
+ private _isDisabled;
202
+ /**
203
+ * Whether the tracked form element registered under `name` is currently disabled.
204
+ * See `_isDisabled` for the HTML-spec rationale behind excluding disabled
205
+ * controls from form state.
206
+ *
207
+ * Reads a cached flag on `formState[name]` populated by `_addElementToState`
208
+ * at registration and refreshed by `_handleAttributeMutations` whenever the
209
+ * element's `disabled` attribute toggles. The cache is fed by the same
210
+ * `hasAttribute('disabled')` read as `_isDisabled`, so the "future form-element
211
+ * type without attribute reflection" caveat documented there applies here too.
212
+ * @param {string} name - The `name` attribute used to register the element.
213
+ * @returns {boolean}
214
+ * @private
215
+ */
216
+ private _isNameDisabled;
158
217
  /**
159
218
  * Validates if an event is from a valid form element with a name.
160
219
  * @param {Event} event - The event to validate.
@@ -186,8 +245,57 @@ export class AuroForm extends LitElement {
186
245
  * @private
187
246
  */
188
247
  private get resetElements();
248
+ /**
249
+ * Raw constraint-validation check. Returns `true` when no enabled field
250
+ * has a validity error. Unlike the public `validity` getter, this does
251
+ * NOT gate on `isInitialState` — callers that need to make a decision
252
+ * based on the actual constraint state (submit-button enablement, the
253
+ * internal `submit()` gate) read this so a pre-filled valid form is
254
+ * correctly recognized as submittable at first render.
255
+ * @returns {boolean}
256
+ * @private
257
+ */
258
+ private _isFormValid;
259
+ /**
260
+ * Whether the reset button should be enabled. True when the form has
261
+ * diverged from its initial state (so the user can always return to
262
+ * defaults — even if the dirty value lives behind a now-disabled field),
263
+ * OR when any non-disabled field has a current value or captured initial
264
+ * value (covers pre-filled forms and user-cleared-back-to-empty cases).
265
+ * @returns {boolean}
266
+ * @private
267
+ */
268
+ private _hasResetableState;
269
+ /**
270
+ * Collapse empty representations to a single canonical `null`.
271
+ *
272
+ * `_addElementToState` captures `null` for a field that mounts without a
273
+ * `value` attribute (`element.value || element.getAttribute('value')` is
274
+ * falsy → resolves to `null`), but `sharedInputListener` later stores the
275
+ * raw `event.target.value` — which is `''` for a user-cleared text input.
276
+ * Without this normalization, backspacing back to empty would taint the
277
+ * form forever (`'' !== null`) and Reset would stay enabled with nothing
278
+ * to actually reset.
279
+ *
280
+ * `''`, `undefined`, and `[]` all collapse to `null`. The empty-array case
281
+ * covers checkbox-group, radio-group, and multiselect, where `[]` means
282
+ * "no selection" — semantically the same as `null`/`''`. Genuine values
283
+ * — including `0`, `false`, non-empty strings, and non-empty arrays —
284
+ * pass through unchanged so number, boolean, and populated multi-value
285
+ * fields still compare correctly.
286
+ * @param {*} value - Value to normalize.
287
+ * @returns {*}
288
+ * @private
289
+ */
290
+ private _normalizeEmpty;
189
291
  /**
190
292
  * Infer validity status based on current formState.
293
+ *
294
+ * Validity stays `null` while the form is in its initial state — this is
295
+ * the "stay quiet until the user interacts" UX contract that consumers
296
+ * depend on to delay error indicators. Code that needs the raw
297
+ * constraint-validation result regardless of interaction (e.g.,
298
+ * submit-button enablement) should call `_isFormValid()` directly.
191
299
  * @private
192
300
  */
193
301
  private _calculateValidity;
@@ -197,7 +305,17 @@ export class AuroForm extends LitElement {
197
305
  */
198
306
  get validity(): "valid" | "invalid" | null;
199
307
  /**
200
- * Determines whether the form is in its initial (untouched) state and updates `_isInitialState` accordingly.
308
+ * Determines whether the form is in its initial (untouched) state.
309
+ *
310
+ * A field is tainted if either:
311
+ * - its value differs from the value captured on first render, OR
312
+ * - its validity is failing (anything other than `null` or `'valid'`).
313
+ *
314
+ * Validity acts as a backup signal: it catches users who interact with a
315
+ * field without changing its value (e.g., focusing and blurring a required
316
+ * field). We skip `null` (not yet validated) and `'valid'` (the default
317
+ * after Auro's auto-validation on mount) because neither proves the user
318
+ * touched anything.
201
319
  * @returns {void}
202
320
  * @private
203
321
  */
@@ -267,9 +385,9 @@ export type FormStateMember = {
267
385
  */
268
386
  required: boolean;
269
387
  /**
270
- * - Whether the form element is required or not.
388
+ * - Whether the form element is currently disabled. Cached from the live attribute via the MutationObserver in `connectedCallback` and refreshed from `_handleAttributeMutations`.
271
389
  */
272
- element: HTMLElement;
390
+ disabled: boolean;
273
391
  };
274
392
  /**
275
393
  * - The form state.