@aurodesignsystem-dev/auro-formkit 0.0.0-pr1511.0 → 0.0.0-pr1512.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 +119 -97
  7. package/components/combobox/demo/getting-started.min.js +119 -97
  8. package/components/combobox/demo/index.min.js +119 -97
  9. package/components/combobox/dist/index.js +118 -96
  10. package/components/combobox/dist/registered.js +118 -96
  11. package/components/counter/demo/customize.min.js +2 -3
  12. package/components/counter/demo/index.min.js +2 -3
  13. package/components/counter/dist/index.js +2 -3
  14. package/components/counter/dist/registered.js +2 -3
  15. package/components/datepicker/demo/customize.min.js +139 -98
  16. package/components/datepicker/demo/index.min.js +139 -98
  17. package/components/datepicker/dist/index.js +139 -98
  18. package/components/datepicker/dist/registered.js +139 -98
  19. package/components/dropdown/demo/customize.min.js +1 -2
  20. package/components/dropdown/demo/getting-started.min.js +1 -2
  21. package/components/dropdown/demo/index.min.js +1 -2
  22. package/components/dropdown/dist/index.js +1 -2
  23. package/components/dropdown/dist/registered.js +1 -2
  24. package/components/form/demo/customize.min.js +434 -426
  25. package/components/form/demo/getting-started.min.js +434 -426
  26. package/components/form/demo/index.min.js +434 -426
  27. package/components/form/demo/registerDemoDeps.min.js +434 -426
  28. package/components/input/demo/api.md +5 -5
  29. package/components/input/demo/customize.md +8 -8
  30. package/components/input/demo/customize.min.js +116 -93
  31. package/components/input/demo/getting-started.min.js +116 -93
  32. package/components/input/demo/index.min.js +116 -93
  33. package/components/input/dist/base-input.d.ts +33 -44
  34. package/components/input/dist/index.js +129 -94
  35. package/components/input/dist/registered.js +116 -93
  36. package/components/radio/demo/customize.min.js +1 -1
  37. package/components/radio/demo/getting-started.min.js +1 -1
  38. package/components/radio/demo/index.min.js +1 -1
  39. package/components/radio/dist/index.js +1 -1
  40. package/components/radio/dist/registered.js +1 -1
  41. package/components/select/demo/customize.min.js +55 -132
  42. package/components/select/demo/getting-started.min.js +55 -132
  43. package/components/select/demo/index.min.js +55 -132
  44. package/components/select/demo/keyboard-behavior.md +4 -18
  45. package/components/select/dist/auro-select.d.ts +8 -20
  46. package/components/select/dist/index.js +55 -132
  47. package/components/select/dist/registered.js +55 -132
  48. package/custom-elements.json +1942 -1728
  49. package/package.json +1 -1
@@ -10507,6 +10507,13 @@ let AuroInputUtilities$1 = class AuroInputUtilities {
10507
10507
  * @returns {string | undefined}
10508
10508
  */
10509
10509
  toFormattedValue(valueObject, format) {
10510
+ // Exposed publicly via `AuroInputUtil.toFormattedValue`, so a missing
10511
+ // `format` argument has to fail gracefully rather than throw on
10512
+ // `format.toLowerCase()`. Treat any falsy value (undefined, null, '')
10513
+ // as "no format → no display value".
10514
+ if (!format) {
10515
+ return undefined;
10516
+ }
10510
10517
  const normalizedFormat = format.toLowerCase();
10511
10518
  const maskOptions = this.getMaskOptions('date', normalizedFormat);
10512
10519
 
@@ -13391,7 +13398,7 @@ class AuroBibtemplate extends LitElement {
13391
13398
  }
13392
13399
  }
13393
13400
 
13394
- var formkitVersion$2 = '202606252142';
13401
+ var formkitVersion$2 = '202606252337';
13395
13402
 
13396
13403
  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}
13397
13404
  `,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}}
@@ -18902,7 +18909,7 @@ let AuroHelpText$2 = class AuroHelpText extends LitElement {
18902
18909
  }
18903
18910
  };
18904
18911
 
18905
- var formkitVersion$1 = '202606252142';
18912
+ var formkitVersion$1 = '202606252337';
18906
18913
 
18907
18914
  let AuroElement$2 = class AuroElement extends LitElement {
18908
18915
  static get properties() {
@@ -20174,7 +20181,6 @@ class AuroDropdown extends AuroElement$2 {
20174
20181
  role="${ifDefined(this.triggerContentFocusable ? undefined : this.a11yRole)}"
20175
20182
  aria-expanded="${ifDefined(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : this.isPopoverVisible)}"
20176
20183
  aria-controls="${ifDefined(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : this.dropdownId)}"
20177
- aria-haspopup="${ifDefined(this.a11yRole === 'combobox' ? 'listbox' : undefined)}"
20178
20184
  aria-labelledby="${ifDefined(this.triggerContentFocusable ? undefined : 'triggerLabel')}"
20179
20185
  aria-disabled="${ifDefined(this.disabled ? 'true' : undefined)}"
20180
20186
  @focusin="${this.handleFocusin}"
@@ -30621,6 +30627,13 @@ class AuroInputUtilities {
30621
30627
  * @returns {string | undefined}
30622
30628
  */
30623
30629
  toFormattedValue(valueObject, format) {
30630
+ // Exposed publicly via `AuroInputUtil.toFormattedValue`, so a missing
30631
+ // `format` argument has to fail gracefully rather than throw on
30632
+ // `format.toLowerCase()`. Treat any falsy value (undefined, null, '')
30633
+ // as "no format → no display value".
30634
+ if (!format) {
30635
+ return undefined;
30636
+ }
30624
30637
  const normalizedFormat = format.toLowerCase();
30625
30638
  const maskOptions = this.getMaskOptions('date', normalizedFormat);
30626
30639
 
@@ -30771,79 +30784,18 @@ class BaseInput extends AuroElement$1 {
30771
30784
  constructor() {
30772
30785
  super();
30773
30786
 
30774
- this.appearance = "default";
30775
- this.disabled = false;
30776
- this.layout = 'classic';
30777
- this.locale = 'en-US';
30778
- this.max = undefined;
30779
- this._maxObject = undefined;
30780
- this.maxLength = undefined;
30781
- this.min = undefined;
30782
- this._minObject = undefined;
30783
- this.minLength = undefined;
30784
- this.required = false;
30785
- this.onDark = false;
30786
- this.setCustomValidityForType = undefined;
30787
- this.size = 'lg';
30788
- this.shape = 'classic';
30789
- this.value = undefined;
30790
- this._valueObject = undefined;
30791
-
30792
- this._initializePrivateDefaults();
30793
- }
30794
-
30795
- /**
30796
- * Internal Defaults.
30797
- * @private
30798
- * @returns {void}
30799
- */
30800
- _initializePrivateDefaults() {
30787
+ // Single-source initialization. Alphabetized so duplicate or stale
30788
+ // defaults are immediately obvious on a diff. Every field is assigned
30789
+ // exactly once here (previously the constructor + the old
30790
+ // `_initializePrivateDefaults` overlapped — both wrote ~14 of the same
30791
+ // fields and double-allocated `util` and `validation`, discarding the
30792
+ // first instance). `validation` is now allocated exactly once; `util`
30793
+ // is seeded here with an en-US default and then rebuilt in
30794
+ // `connectedCallback` once the consumer-resolved locale is available,
30795
+ // so a parent (datepicker/combobox) calling `validate()` synchronously
30796
+ // during its own update cycle sees a populated util instance.
30801
30797
  this.activeLabel = false;
30802
- this.appearance = "default";
30803
- this.icon = false;
30804
- this.disabled = false;
30805
- this.dvInputOnly = false;
30806
- this.hideLabelVisually = false;
30807
- this.max = undefined;
30808
- this.maxLength = undefined;
30809
- this.min = undefined;
30810
- this.minLength = undefined;
30811
- this.noValidate = false;
30812
- this.onDark = false;
30813
- this.required = false;
30814
- this.setCustomValidityForType = undefined;
30815
-
30816
- // Used for storing raw values returned from input mask.
30817
- this._rawMaskValue = undefined;
30818
-
30819
- /**
30820
- * @private
30821
- */
30822
- this.layout = 'classic';
30823
-
30824
- /**
30825
- * @private
30826
- */
30827
- this.shape = 'classic';
30828
-
30829
- /**
30830
- * @private
30831
- */
30832
- this.size = 'lg';
30833
-
30834
- this.touched = false;
30835
- this.util = new AuroInputUtilities({
30836
- locale: "en-US",
30837
- format: this.format
30838
- });
30839
- this.validation = new AuroFormValidation();
30840
- this.inputIconName = undefined;
30841
- this.showPassword = false;
30842
- this.validationCCLength = undefined;
30843
- this.hasValue = false;
30844
- this.label = 'Input label is undefined';
30845
-
30846
-
30798
+ /** @private */
30847
30799
  this.allowedInputTypes = [
30848
30800
  "text",
30849
30801
  "number",
@@ -30852,7 +30804,8 @@ class BaseInput extends AuroElement$1 {
30852
30804
  "credit-card",
30853
30805
  "tel"
30854
30806
  ];
30855
- this.icon = false;
30807
+ this.appearance = "default";
30808
+ /** @private */
30856
30809
  this.dateFormatMap = {
30857
30810
  'mm/dd/yyyy': 'dateMMDDYYYY',
30858
30811
  'dd/mm/yyyy': 'dateDDMMYYYY',
@@ -30869,27 +30822,57 @@ class BaseInput extends AuroElement$1 {
30869
30822
  'dd/mm': 'dateDDMM',
30870
30823
  'mm/dd': 'dateMMDD'
30871
30824
  };
30825
+ this.disabled = false;
30826
+ /** @private */
30872
30827
  this.domHandler = new DomHandler();
30873
30828
  this.dvInputOnly = false;
30874
30829
  this.hasValue = false;
30830
+ this.hideLabelVisually = false;
30831
+ this.icon = false;
30832
+ /** @private */
30875
30833
  this.inputIconName = undefined;
30834
+ /** @private */
30876
30835
  this.label = 'Input label is undefined';
30836
+ this.layout = 'classic';
30837
+ this.locale = 'en-US';
30838
+ this.max = undefined;
30839
+ this._maxObject = undefined;
30840
+ this.maxLength = undefined;
30841
+ this.min = undefined;
30842
+ this._minObject = undefined;
30843
+ this.minLength = undefined;
30877
30844
  this.noValidate = false;
30878
- this._rawMaskValue = undefined; // Used for storing raw values returned from input mask.
30845
+ this.onDark = false;
30846
+ // Raw values returned from the input mask before model normalization.
30847
+ this._rawMaskValue = undefined;
30848
+ this.required = false;
30849
+ this.setCustomValidityForType = undefined;
30850
+ // Credit Card is intentionally excluded — its mask manages the cursor
30851
+ // itself, and listing it here caused cursor placement issues in Safari.
30852
+ /** @private */
30879
30853
  this.setSelectionInputTypes = [
30880
30854
  "text",
30881
30855
  "password",
30882
30856
  "email"
30883
- ]; // Credit Card is not included as this caused cursor placement issues in Safari.
30857
+ ];
30858
+ this.shape = 'classic';
30859
+ /** @private */
30884
30860
  this.showPassword = false;
30861
+ this.size = 'lg';
30885
30862
  this.touched = false;
30863
+ /** @private */
30886
30864
  this.uniqueId = new UniqueId().create();
30865
+ /** @private */
30887
30866
  this.util = new AuroInputUtilities({
30888
30867
  locale: this.locale,
30889
30868
  format: this.format
30890
30869
  });
30870
+ /** @private */
30891
30871
  this.validation = new AuroFormValidation();
30872
+ /** @private */
30892
30873
  this.validationCCLength = undefined;
30874
+ this.value = undefined;
30875
+ this._valueObject = undefined;
30893
30876
  }
30894
30877
 
30895
30878
  // function to define props used within the scope of this component
@@ -31437,6 +31420,15 @@ class BaseInput extends AuroElement$1 {
31437
31420
 
31438
31421
  this.inputId = this.id ? `${this.id}-input` : window.crypto.randomUUID();
31439
31422
 
31423
+ // Normalize the format token to lowercase so case-mixed values supplied
31424
+ // via attribute (e.g. `format="MM/DD/YYYY"`) hit the `dateFormatMap`
31425
+ // lookup inside `setCustomHelpTextMessage`. Without this, an uppercase
31426
+ // format silently misses the map and leaves `setCustomValidityForType`
31427
+ // unset.
31428
+ if (this.format) {
31429
+ this.format = this.format.toLowerCase();
31430
+ }
31431
+
31440
31432
  // use validity message override if declared when initializing the component
31441
31433
  if (this.hasAttribute('setCustomValidity')) {
31442
31434
  this.ValidityMessageOverride = this.setCustomValidity;
@@ -31870,6 +31862,38 @@ class BaseInput extends AuroElement$1 {
31870
31862
  this.touched = true;
31871
31863
  this.validation.validate(this);
31872
31864
  }
31865
+
31866
+ // Prevents cursor jumping in Safari. Setting `this.value` triggers a Lit
31867
+ // update that can re-render the input and reset the native cursor; we
31868
+ // capture the caret position before that update commits and restore it
31869
+ // via `setSelectionRange` once the update has flushed. Gated on
31870
+ // `setSelectionInputTypes` so credit-card (and other masked types whose
31871
+ // formatter manages the cursor itself) doesn't get a competing write.
31872
+ // Capture the caret position INSIDE the gate — reading `selectionStart`
31873
+ // on input types that don't support text selection (number, email in
31874
+ // some browsers) throws InvalidStateError, which would crash all input
31875
+ // handling. Wrap the read in try/catch belt-and-suspenders even though
31876
+ // the gated types currently support it, since the list is a public
31877
+ // property a consumer could mutate.
31878
+ if (this.setSelectionInputTypes.includes(this.type)) {
31879
+ let selectionStart;
31880
+ try {
31881
+ selectionStart = this.inputElement.selectionStart;
31882
+ } catch (error) { // eslint-disable-line no-unused-vars
31883
+ return;
31884
+ }
31885
+ if (typeof selectionStart !== 'number') {
31886
+ return;
31887
+ }
31888
+ this.updateComplete.then(() => {
31889
+ try {
31890
+ this.inputElement.setSelectionRange(selectionStart, selectionStart);
31891
+ } catch (error) { // eslint-disable-line no-unused-vars
31892
+ // Some input types (number/email in certain UAs) throw on
31893
+ // setSelectionRange; swallow and let the native cursor stand.
31894
+ }
31895
+ });
31896
+ }
31873
31897
  }
31874
31898
 
31875
31899
  /**
@@ -32496,7 +32520,7 @@ let AuroHelpText$1 = class AuroHelpText extends LitElement {
32496
32520
  }
32497
32521
  };
32498
32522
 
32499
- var formkitVersion = '202606252142';
32523
+ var formkitVersion = '202606252337';
32500
32524
 
32501
32525
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
32502
32526
  // See LICENSE in the project root for license information.
@@ -32999,6 +33023,7 @@ class AuroInput extends BaseInput {
32999
33023
  <${this.buttonTag}
33000
33024
  @click="${this.handleClickShowPassword}"
33001
33025
  appearance="${this.onDark ? 'inverse' : this.appearance}"
33026
+ aria-pressed="${this.showPassword ? 'true' : 'false'}"
33002
33027
  class="notificationBtn passwordBtn"
33003
33028
  shape="circle"
33004
33029
  size="sm"
@@ -33072,25 +33097,29 @@ class AuroInput extends BaseInput {
33072
33097
  * @returns {html} - Returns HTML for the help text and error message.
33073
33098
  */
33074
33099
  renderHtmlHelpText() {
33100
+ // Single `<p>` with stable identity across validity transitions —
33101
+ // previously two distinct templates (valid vs invalid) caused Lit to
33102
+ // replace the node entirely on a flip, and VoiceOver wouldn't
33103
+ // re-announce because the live-region element it was watching had been
33104
+ // removed and a new one inserted. Keeping one node means the `role`,
33105
+ // `aria-live`, and text content all change in-place, which AT does
33106
+ // observe and announce.
33107
+ const isError = this.validity && this.validity !== 'valid';
33075
33108
  return html$1`
33076
- ${!this.validity || this.validity === undefined || this.validity === 'valid'
33077
- ? html$1`
33078
- <${this.helpTextTag}
33079
- appearance="${this.onDark ? 'inverse' : this.appearance}">
33080
- <p id="${this.uniqueId}" part="helpText">
33081
- <slot name="helpText">${this.getHelpText()}</slot>
33082
- </p>
33083
- </${this.helpTextTag}>
33084
- `
33085
- : html$1`
33086
- <${this.helpTextTag} error
33087
- appearance="${this.onDark ? 'inverse' : this.appearance}">
33088
- <p id="${this.uniqueId}" role="alert" aria-live="assertive" part="helpText">
33089
- ${this.errorMessage}
33090
- </p>
33091
- </${this.helpTextTag}>
33092
- `
33093
- }
33109
+ <${this.helpTextTag}
33110
+ appearance="${this.onDark ? 'inverse' : this.appearance}"
33111
+ ?error=${isError}>
33112
+ <p
33113
+ id="${this.uniqueId}"
33114
+ part="helpText"
33115
+ role="${ifDefined(isError ? 'alert' : undefined)}"
33116
+ aria-live="${ifDefined(isError ? 'assertive' : undefined)}">
33117
+ ${isError
33118
+ ? this.errorMessage
33119
+ : html$1`<slot name="helpText">${this.getHelpText()}</slot>`
33120
+ }
33121
+ </p>
33122
+ </${this.helpTextTag}>
33094
33123
  `;
33095
33124
  }
33096
33125
 
@@ -33237,6 +33266,15 @@ function formatISODate(isoStr, format) {
33237
33266
  try {
33238
33267
  const date = dateFormatter.stringToDateInstance(isoStr);
33239
33268
 
33269
+ // `stringToDateInstance` returns an `Invalid Date` for malformed strings
33270
+ // and `null` for non-string input — it does NOT throw. Without this
33271
+ // guard, `getFullYear()`/`getMonth()`/`getDate()` on an Invalid Date
33272
+ // yield `NaN`, and `String(NaN).padStart(4, '0')` produces literals
33273
+ // like "0NaN/0NaN/0NaN" instead of `undefined`.
33274
+ if (!(date instanceof Date) || Number.isNaN(date.getTime())) {
33275
+ return undefined;
33276
+ }
33277
+
33240
33278
  const year = String(date.getFullYear()).padStart(4, '0');
33241
33279
  const month = String(date.getMonth() + 1).padStart(2, '0');
33242
33280
  const day = String(date.getDate()).padStart(2, '0');
@@ -33247,7 +33285,10 @@ function formatISODate(isoStr, format) {
33247
33285
  replace(/mm/iu, month).
33248
33286
  replace(/dd/iu, day);
33249
33287
  } catch (err) {
33250
- // If the input string is not a valid date, return undefined
33288
+ // Defensive: the Date-returning path is guarded above, but `parseDate`
33289
+ // (inside `stringToDateInstance`) could throw on pathological input
33290
+ // future-library-versions might introduce. Treat any thrown error as
33291
+ // "not a valid date" and return undefined.
33251
33292
  return undefined;
33252
33293
  }
33253
33294
  }
@@ -3942,7 +3942,7 @@ class AuroHelpText extends i {
3942
3942
  }
3943
3943
  }
3944
3944
 
3945
- var formkitVersion = '202606252142';
3945
+ var formkitVersion = '202606252337';
3946
3946
 
3947
3947
  class AuroElement extends i {
3948
3948
  static get properties() {
@@ -5214,7 +5214,6 @@ class AuroDropdown extends AuroElement {
5214
5214
  role="${o(this.triggerContentFocusable ? undefined : this.a11yRole)}"
5215
5215
  aria-expanded="${o(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : this.isPopoverVisible)}"
5216
5216
  aria-controls="${o(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : this.dropdownId)}"
5217
- aria-haspopup="${o(this.a11yRole === 'combobox' ? 'listbox' : undefined)}"
5218
5217
  aria-labelledby="${o(this.triggerContentFocusable ? undefined : 'triggerLabel')}"
5219
5218
  aria-disabled="${o(this.disabled ? 'true' : undefined)}"
5220
5219
  @focusin="${this.handleFocusin}"
@@ -3942,7 +3942,7 @@ class AuroHelpText extends i {
3942
3942
  }
3943
3943
  }
3944
3944
 
3945
- var formkitVersion = '202606252142';
3945
+ var formkitVersion = '202606252337';
3946
3946
 
3947
3947
  class AuroElement extends i {
3948
3948
  static get properties() {
@@ -5214,7 +5214,6 @@ class AuroDropdown extends AuroElement {
5214
5214
  role="${o(this.triggerContentFocusable ? undefined : this.a11yRole)}"
5215
5215
  aria-expanded="${o(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : this.isPopoverVisible)}"
5216
5216
  aria-controls="${o(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : this.dropdownId)}"
5217
- aria-haspopup="${o(this.a11yRole === 'combobox' ? 'listbox' : undefined)}"
5218
5217
  aria-labelledby="${o(this.triggerContentFocusable ? undefined : 'triggerLabel')}"
5219
5218
  aria-disabled="${o(this.disabled ? 'true' : undefined)}"
5220
5219
  @focusin="${this.handleFocusin}"
@@ -3969,7 +3969,7 @@ class AuroHelpText extends i {
3969
3969
  }
3970
3970
  }
3971
3971
 
3972
- var formkitVersion = '202606252142';
3972
+ var formkitVersion = '202606252337';
3973
3973
 
3974
3974
  class AuroElement extends i {
3975
3975
  static get properties() {
@@ -5241,7 +5241,6 @@ class AuroDropdown extends AuroElement {
5241
5241
  role="${o(this.triggerContentFocusable ? undefined : this.a11yRole)}"
5242
5242
  aria-expanded="${o(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : this.isPopoverVisible)}"
5243
5243
  aria-controls="${o(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : this.dropdownId)}"
5244
- aria-haspopup="${o(this.a11yRole === 'combobox' ? 'listbox' : undefined)}"
5245
5244
  aria-labelledby="${o(this.triggerContentFocusable ? undefined : 'triggerLabel')}"
5246
5245
  aria-disabled="${o(this.disabled ? 'true' : undefined)}"
5247
5246
  @focusin="${this.handleFocusin}"
@@ -3874,7 +3874,7 @@ class AuroHelpText extends LitElement {
3874
3874
  }
3875
3875
  }
3876
3876
 
3877
- var formkitVersion = '202606252142';
3877
+ var formkitVersion = '202606252337';
3878
3878
 
3879
3879
  class AuroElement extends LitElement {
3880
3880
  static get properties() {
@@ -5146,7 +5146,6 @@ class AuroDropdown extends AuroElement {
5146
5146
  role="${ifDefined(this.triggerContentFocusable ? undefined : this.a11yRole)}"
5147
5147
  aria-expanded="${ifDefined(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : this.isPopoverVisible)}"
5148
5148
  aria-controls="${ifDefined(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : this.dropdownId)}"
5149
- aria-haspopup="${ifDefined(this.a11yRole === 'combobox' ? 'listbox' : undefined)}"
5150
5149
  aria-labelledby="${ifDefined(this.triggerContentFocusable ? undefined : 'triggerLabel')}"
5151
5150
  aria-disabled="${ifDefined(this.disabled ? 'true' : undefined)}"
5152
5151
  @focusin="${this.handleFocusin}"
@@ -3874,7 +3874,7 @@ class AuroHelpText extends LitElement {
3874
3874
  }
3875
3875
  }
3876
3876
 
3877
- var formkitVersion = '202606252142';
3877
+ var formkitVersion = '202606252337';
3878
3878
 
3879
3879
  class AuroElement extends LitElement {
3880
3880
  static get properties() {
@@ -5146,7 +5146,6 @@ class AuroDropdown extends AuroElement {
5146
5146
  role="${ifDefined(this.triggerContentFocusable ? undefined : this.a11yRole)}"
5147
5147
  aria-expanded="${ifDefined(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : this.isPopoverVisible)}"
5148
5148
  aria-controls="${ifDefined(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : this.dropdownId)}"
5149
- aria-haspopup="${ifDefined(this.a11yRole === 'combobox' ? 'listbox' : undefined)}"
5150
5149
  aria-labelledby="${ifDefined(this.triggerContentFocusable ? undefined : 'triggerLabel')}"
5151
5150
  aria-disabled="${ifDefined(this.disabled ? 'true' : undefined)}"
5152
5151
  @focusin="${this.handleFocusin}"