@aurodesignsystem-dev/auro-formkit 0.0.0-pr1515.0 → 0.0.0-pr1515.2

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 -96
  7. package/components/combobox/demo/getting-started.min.js +119 -96
  8. package/components/combobox/demo/index.min.js +119 -96
  9. package/components/combobox/dist/index.js +118 -95
  10. package/components/combobox/dist/registered.js +118 -95
  11. package/components/counter/demo/customize.min.js +2 -2
  12. package/components/counter/demo/index.min.js +2 -2
  13. package/components/counter/dist/index.js +2 -2
  14. package/components/counter/dist/registered.js +2 -2
  15. package/components/datepicker/demo/customize.min.js +139 -97
  16. package/components/datepicker/demo/index.min.js +139 -97
  17. package/components/datepicker/dist/index.js +139 -97
  18. package/components/datepicker/dist/registered.js +139 -97
  19. package/components/dropdown/demo/customize.min.js +1 -1
  20. package/components/dropdown/demo/getting-started.min.js +1 -1
  21. package/components/dropdown/demo/index.min.js +1 -1
  22. package/components/dropdown/dist/index.js +1 -1
  23. package/components/dropdown/dist/registered.js +1 -1
  24. package/components/form/demo/customize.min.js +381 -293
  25. package/components/form/demo/getting-started.min.js +381 -293
  26. package/components/form/demo/index.min.js +381 -293
  27. package/components/form/demo/registerDemoDeps.min.js +381 -293
  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.md +1 -1
  42. package/components/select/demo/index.min.js +2 -2
  43. package/components/select/dist/index.js +2 -2
  44. package/components/select/dist/registered.js +2 -2
  45. package/custom-elements.json +1944 -1734
  46. package/package.json +1 -1
  47. package/components/select/demo/customize.min.js +0 -10170
  48. package/components/select/demo/demo-support.min.js +0 -55807
  49. package/components/select/demo/getting-started.min.js +0 -10214
@@ -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
 
@@ -13514,7 +13521,7 @@ class AuroBibtemplate extends LitElement {
13514
13521
  }
13515
13522
  }
13516
13523
 
13517
- var formkitVersion$2 = '202606291748';
13524
+ var formkitVersion$2 = '202606291813';
13518
13525
 
13519
13526
  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}
13520
13527
  `,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}}
@@ -19172,7 +19179,7 @@ let AuroHelpText$2 = class AuroHelpText extends LitElement {
19172
19179
  }
19173
19180
  };
19174
19181
 
19175
- var formkitVersion$1 = '202606291748';
19182
+ var formkitVersion$1 = '202606291813';
19176
19183
 
19177
19184
  let AuroElement$2 = class AuroElement extends LitElement {
19178
19185
  static get properties() {
@@ -30891,6 +30898,13 @@ class AuroInputUtilities {
30891
30898
  * @returns {string | undefined}
30892
30899
  */
30893
30900
  toFormattedValue(valueObject, format) {
30901
+ // Exposed publicly via `AuroInputUtil.toFormattedValue`, so a missing
30902
+ // `format` argument has to fail gracefully rather than throw on
30903
+ // `format.toLowerCase()`. Treat any falsy value (undefined, null, '')
30904
+ // as "no format → no display value".
30905
+ if (!format) {
30906
+ return undefined;
30907
+ }
30894
30908
  const normalizedFormat = format.toLowerCase();
30895
30909
  const maskOptions = this.getMaskOptions('date', normalizedFormat);
30896
30910
 
@@ -31041,79 +31055,18 @@ class BaseInput extends AuroElement$1 {
31041
31055
  constructor() {
31042
31056
  super();
31043
31057
 
31044
- this.appearance = "default";
31045
- this.disabled = false;
31046
- this.layout = 'classic';
31047
- this.locale = 'en-US';
31048
- this.max = undefined;
31049
- this._maxObject = undefined;
31050
- this.maxLength = undefined;
31051
- this.min = undefined;
31052
- this._minObject = undefined;
31053
- this.minLength = undefined;
31054
- this.required = false;
31055
- this.onDark = false;
31056
- this.setCustomValidityForType = undefined;
31057
- this.size = 'lg';
31058
- this.shape = 'classic';
31059
- this.value = undefined;
31060
- this._valueObject = undefined;
31061
-
31062
- this._initializePrivateDefaults();
31063
- }
31064
-
31065
- /**
31066
- * Internal Defaults.
31067
- * @private
31068
- * @returns {void}
31069
- */
31070
- _initializePrivateDefaults() {
31058
+ // Single-source initialization. Alphabetized so duplicate or stale
31059
+ // defaults are immediately obvious on a diff. Every field is assigned
31060
+ // exactly once here (previously the constructor + the old
31061
+ // `_initializePrivateDefaults` overlapped — both wrote ~14 of the same
31062
+ // fields and double-allocated `util` and `validation`, discarding the
31063
+ // first instance). `validation` is now allocated exactly once; `util`
31064
+ // is seeded here with an en-US default and then rebuilt in
31065
+ // `connectedCallback` once the consumer-resolved locale is available,
31066
+ // so a parent (datepicker/combobox) calling `validate()` synchronously
31067
+ // during its own update cycle sees a populated util instance.
31071
31068
  this.activeLabel = false;
31072
- this.appearance = "default";
31073
- this.icon = false;
31074
- this.disabled = false;
31075
- this.dvInputOnly = false;
31076
- this.hideLabelVisually = false;
31077
- this.max = undefined;
31078
- this.maxLength = undefined;
31079
- this.min = undefined;
31080
- this.minLength = undefined;
31081
- this.noValidate = false;
31082
- this.onDark = false;
31083
- this.required = false;
31084
- this.setCustomValidityForType = undefined;
31085
-
31086
- // Used for storing raw values returned from input mask.
31087
- this._rawMaskValue = undefined;
31088
-
31089
- /**
31090
- * @private
31091
- */
31092
- this.layout = 'classic';
31093
-
31094
- /**
31095
- * @private
31096
- */
31097
- this.shape = 'classic';
31098
-
31099
- /**
31100
- * @private
31101
- */
31102
- this.size = 'lg';
31103
-
31104
- this.touched = false;
31105
- this.util = new AuroInputUtilities({
31106
- locale: "en-US",
31107
- format: this.format
31108
- });
31109
- this.validation = new AuroFormValidation();
31110
- this.inputIconName = undefined;
31111
- this.showPassword = false;
31112
- this.validationCCLength = undefined;
31113
- this.hasValue = false;
31114
- this.label = 'Input label is undefined';
31115
-
31116
-
31069
+ /** @private */
31117
31070
  this.allowedInputTypes = [
31118
31071
  "text",
31119
31072
  "number",
@@ -31122,7 +31075,8 @@ class BaseInput extends AuroElement$1 {
31122
31075
  "credit-card",
31123
31076
  "tel"
31124
31077
  ];
31125
- this.icon = false;
31078
+ this.appearance = "default";
31079
+ /** @private */
31126
31080
  this.dateFormatMap = {
31127
31081
  'mm/dd/yyyy': 'dateMMDDYYYY',
31128
31082
  'dd/mm/yyyy': 'dateDDMMYYYY',
@@ -31139,27 +31093,57 @@ class BaseInput extends AuroElement$1 {
31139
31093
  'dd/mm': 'dateDDMM',
31140
31094
  'mm/dd': 'dateMMDD'
31141
31095
  };
31096
+ this.disabled = false;
31097
+ /** @private */
31142
31098
  this.domHandler = new DomHandler();
31143
31099
  this.dvInputOnly = false;
31144
31100
  this.hasValue = false;
31101
+ this.hideLabelVisually = false;
31102
+ this.icon = false;
31103
+ /** @private */
31145
31104
  this.inputIconName = undefined;
31105
+ /** @private */
31146
31106
  this.label = 'Input label is undefined';
31107
+ this.layout = 'classic';
31108
+ this.locale = 'en-US';
31109
+ this.max = undefined;
31110
+ this._maxObject = undefined;
31111
+ this.maxLength = undefined;
31112
+ this.min = undefined;
31113
+ this._minObject = undefined;
31114
+ this.minLength = undefined;
31147
31115
  this.noValidate = false;
31148
- this._rawMaskValue = undefined; // Used for storing raw values returned from input mask.
31116
+ this.onDark = false;
31117
+ // Raw values returned from the input mask before model normalization.
31118
+ this._rawMaskValue = undefined;
31119
+ this.required = false;
31120
+ this.setCustomValidityForType = undefined;
31121
+ // Credit Card is intentionally excluded — its mask manages the cursor
31122
+ // itself, and listing it here caused cursor placement issues in Safari.
31123
+ /** @private */
31149
31124
  this.setSelectionInputTypes = [
31150
31125
  "text",
31151
31126
  "password",
31152
31127
  "email"
31153
- ]; // Credit Card is not included as this caused cursor placement issues in Safari.
31128
+ ];
31129
+ this.shape = 'classic';
31130
+ /** @private */
31154
31131
  this.showPassword = false;
31132
+ this.size = 'lg';
31155
31133
  this.touched = false;
31134
+ /** @private */
31156
31135
  this.uniqueId = new UniqueId().create();
31136
+ /** @private */
31157
31137
  this.util = new AuroInputUtilities({
31158
31138
  locale: this.locale,
31159
31139
  format: this.format
31160
31140
  });
31141
+ /** @private */
31161
31142
  this.validation = new AuroFormValidation();
31143
+ /** @private */
31162
31144
  this.validationCCLength = undefined;
31145
+ this.value = undefined;
31146
+ this._valueObject = undefined;
31163
31147
  }
31164
31148
 
31165
31149
  // function to define props used within the scope of this component
@@ -31707,6 +31691,15 @@ class BaseInput extends AuroElement$1 {
31707
31691
 
31708
31692
  this.inputId = this.id ? `${this.id}-input` : window.crypto.randomUUID();
31709
31693
 
31694
+ // Normalize the format token to lowercase so case-mixed values supplied
31695
+ // via attribute (e.g. `format="MM/DD/YYYY"`) hit the `dateFormatMap`
31696
+ // lookup inside `setCustomHelpTextMessage`. Without this, an uppercase
31697
+ // format silently misses the map and leaves `setCustomValidityForType`
31698
+ // unset.
31699
+ if (this.format) {
31700
+ this.format = this.format.toLowerCase();
31701
+ }
31702
+
31710
31703
  // use validity message override if declared when initializing the component
31711
31704
  if (this.hasAttribute('setCustomValidity')) {
31712
31705
  this.ValidityMessageOverride = this.setCustomValidity;
@@ -32140,6 +32133,38 @@ class BaseInput extends AuroElement$1 {
32140
32133
  this.touched = true;
32141
32134
  this.validation.validate(this);
32142
32135
  }
32136
+
32137
+ // Prevents cursor jumping in Safari. Setting `this.value` triggers a Lit
32138
+ // update that can re-render the input and reset the native cursor; we
32139
+ // capture the caret position before that update commits and restore it
32140
+ // via `setSelectionRange` once the update has flushed. Gated on
32141
+ // `setSelectionInputTypes` so credit-card (and other masked types whose
32142
+ // formatter manages the cursor itself) doesn't get a competing write.
32143
+ // Capture the caret position INSIDE the gate — reading `selectionStart`
32144
+ // on input types that don't support text selection (number, email in
32145
+ // some browsers) throws InvalidStateError, which would crash all input
32146
+ // handling. Wrap the read in try/catch belt-and-suspenders even though
32147
+ // the gated types currently support it, since the list is a public
32148
+ // property a consumer could mutate.
32149
+ if (this.setSelectionInputTypes.includes(this.type)) {
32150
+ let selectionStart;
32151
+ try {
32152
+ selectionStart = this.inputElement.selectionStart;
32153
+ } catch (error) { // eslint-disable-line no-unused-vars
32154
+ return;
32155
+ }
32156
+ if (typeof selectionStart !== 'number') {
32157
+ return;
32158
+ }
32159
+ this.updateComplete.then(() => {
32160
+ try {
32161
+ this.inputElement.setSelectionRange(selectionStart, selectionStart);
32162
+ } catch (error) { // eslint-disable-line no-unused-vars
32163
+ // Some input types (number/email in certain UAs) throw on
32164
+ // setSelectionRange; swallow and let the native cursor stand.
32165
+ }
32166
+ });
32167
+ }
32143
32168
  }
32144
32169
 
32145
32170
  /**
@@ -32766,7 +32791,7 @@ let AuroHelpText$1 = class AuroHelpText extends LitElement {
32766
32791
  }
32767
32792
  };
32768
32793
 
32769
- var formkitVersion = '202606291748';
32794
+ var formkitVersion = '202606291813';
32770
32795
 
32771
32796
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
32772
32797
  // See LICENSE in the project root for license information.
@@ -33269,6 +33294,7 @@ class AuroInput extends BaseInput {
33269
33294
  <${this.buttonTag}
33270
33295
  @click="${this.handleClickShowPassword}"
33271
33296
  appearance="${this.onDark ? 'inverse' : this.appearance}"
33297
+ aria-pressed="${this.showPassword ? 'true' : 'false'}"
33272
33298
  class="notificationBtn passwordBtn"
33273
33299
  shape="circle"
33274
33300
  size="sm"
@@ -33342,25 +33368,29 @@ class AuroInput extends BaseInput {
33342
33368
  * @returns {html} - Returns HTML for the help text and error message.
33343
33369
  */
33344
33370
  renderHtmlHelpText() {
33371
+ // Single `<p>` with stable identity across validity transitions —
33372
+ // previously two distinct templates (valid vs invalid) caused Lit to
33373
+ // replace the node entirely on a flip, and VoiceOver wouldn't
33374
+ // re-announce because the live-region element it was watching had been
33375
+ // removed and a new one inserted. Keeping one node means the `role`,
33376
+ // `aria-live`, and text content all change in-place, which AT does
33377
+ // observe and announce.
33378
+ const isError = this.validity && this.validity !== 'valid';
33345
33379
  return html$1`
33346
- ${!this.validity || this.validity === undefined || this.validity === 'valid'
33347
- ? html$1`
33348
- <${this.helpTextTag}
33349
- appearance="${this.onDark ? 'inverse' : this.appearance}">
33350
- <p id="${this.uniqueId}" part="helpText">
33351
- <slot name="helpText">${this.getHelpText()}</slot>
33352
- </p>
33353
- </${this.helpTextTag}>
33354
- `
33355
- : html$1`
33356
- <${this.helpTextTag} error
33357
- appearance="${this.onDark ? 'inverse' : this.appearance}">
33358
- <p id="${this.uniqueId}" role="alert" aria-live="assertive" part="helpText">
33359
- ${this.errorMessage}
33360
- </p>
33361
- </${this.helpTextTag}>
33362
- `
33363
- }
33380
+ <${this.helpTextTag}
33381
+ appearance="${this.onDark ? 'inverse' : this.appearance}"
33382
+ ?error=${isError}>
33383
+ <p
33384
+ id="${this.uniqueId}"
33385
+ part="helpText"
33386
+ role="${ifDefined(isError ? 'alert' : undefined)}"
33387
+ aria-live="${ifDefined(isError ? 'assertive' : undefined)}">
33388
+ ${isError
33389
+ ? this.errorMessage
33390
+ : html$1`<slot name="helpText">${this.getHelpText()}</slot>`
33391
+ }
33392
+ </p>
33393
+ </${this.helpTextTag}>
33364
33394
  `;
33365
33395
  }
33366
33396
 
@@ -33507,6 +33537,15 @@ function formatISODate(isoStr, format) {
33507
33537
  try {
33508
33538
  const date = dateFormatter.stringToDateInstance(isoStr);
33509
33539
 
33540
+ // `stringToDateInstance` returns an `Invalid Date` for malformed strings
33541
+ // and `null` for non-string input — it does NOT throw. Without this
33542
+ // guard, `getFullYear()`/`getMonth()`/`getDate()` on an Invalid Date
33543
+ // yield `NaN`, and `String(NaN).padStart(4, '0')` produces literals
33544
+ // like "0NaN/0NaN/0NaN" instead of `undefined`.
33545
+ if (!(date instanceof Date) || Number.isNaN(date.getTime())) {
33546
+ return undefined;
33547
+ }
33548
+
33510
33549
  const year = String(date.getFullYear()).padStart(4, '0');
33511
33550
  const month = String(date.getMonth() + 1).padStart(2, '0');
33512
33551
  const day = String(date.getDate()).padStart(2, '0');
@@ -33517,7 +33556,10 @@ function formatISODate(isoStr, format) {
33517
33556
  replace(/mm/iu, month).
33518
33557
  replace(/dd/iu, day);
33519
33558
  } catch (err) {
33520
- // If the input string is not a valid date, return undefined
33559
+ // Defensive: the Date-returning path is guarded above, but `parseDate`
33560
+ // (inside `stringToDateInstance`) could throw on pathological input
33561
+ // future-library-versions might introduce. Treat any thrown error as
33562
+ // "not a valid date" and return undefined.
33521
33563
  return undefined;
33522
33564
  }
33523
33565
  }
@@ -3942,7 +3942,7 @@ class AuroHelpText extends i {
3942
3942
  }
3943
3943
  }
3944
3944
 
3945
- var formkitVersion = '202606291748';
3945
+ var formkitVersion = '202606291813';
3946
3946
 
3947
3947
  class AuroElement extends i {
3948
3948
  static get properties() {
@@ -3942,7 +3942,7 @@ class AuroHelpText extends i {
3942
3942
  }
3943
3943
  }
3944
3944
 
3945
- var formkitVersion = '202606291748';
3945
+ var formkitVersion = '202606291813';
3946
3946
 
3947
3947
  class AuroElement extends i {
3948
3948
  static get properties() {
@@ -3969,7 +3969,7 @@ class AuroHelpText extends i {
3969
3969
  }
3970
3970
  }
3971
3971
 
3972
- var formkitVersion = '202606291748';
3972
+ var formkitVersion = '202606291813';
3973
3973
 
3974
3974
  class AuroElement extends i {
3975
3975
  static get properties() {
@@ -3874,7 +3874,7 @@ class AuroHelpText extends LitElement {
3874
3874
  }
3875
3875
  }
3876
3876
 
3877
- var formkitVersion = '202606291748';
3877
+ var formkitVersion = '202606291813';
3878
3878
 
3879
3879
  class AuroElement extends LitElement {
3880
3880
  static get properties() {
@@ -3874,7 +3874,7 @@ class AuroHelpText extends LitElement {
3874
3874
  }
3875
3875
  }
3876
3876
 
3877
- var formkitVersion = '202606291748';
3877
+ var formkitVersion = '202606291813';
3878
3878
 
3879
3879
  class AuroElement extends LitElement {
3880
3880
  static get properties() {