@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
@@ -1099,7 +1099,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$2 {
1099
1099
  }
1100
1100
  };
1101
1101
 
1102
- var formkitVersion$1 = '202606252142';
1102
+ var formkitVersion$1 = '202606252337';
1103
1103
 
1104
1104
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
1105
1105
  // See LICENSE in the project root for license information.
@@ -5445,7 +5445,7 @@ class AuroHelpText extends i$2 {
5445
5445
  }
5446
5446
  }
5447
5447
 
5448
- var formkitVersion = '202606252142';
5448
+ var formkitVersion = '202606252337';
5449
5449
 
5450
5450
  let AuroElement$1 = class AuroElement extends i$2 {
5451
5451
  static get properties() {
@@ -6717,7 +6717,6 @@ class AuroDropdown extends AuroElement$1 {
6717
6717
  role="${o$2(this.triggerContentFocusable ? undefined : this.a11yRole)}"
6718
6718
  aria-expanded="${o$2(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : this.isPopoverVisible)}"
6719
6719
  aria-controls="${o$2(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : this.dropdownId)}"
6720
- aria-haspopup="${o$2(this.a11yRole === 'combobox' ? 'listbox' : undefined)}"
6721
6720
  aria-labelledby="${o$2(this.triggerContentFocusable ? undefined : 'triggerLabel')}"
6722
6721
  aria-disabled="${o$2(this.disabled ? 'true' : undefined)}"
6723
6722
  @focusin="${this.handleFocusin}"
@@ -1049,7 +1049,7 @@ let AuroHelpText$1 = class AuroHelpText extends LitElement {
1049
1049
  }
1050
1050
  };
1051
1051
 
1052
- var formkitVersion$1 = '202606252142';
1052
+ var formkitVersion$1 = '202606252337';
1053
1053
 
1054
1054
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
1055
1055
  // See LICENSE in the project root for license information.
@@ -5377,7 +5377,7 @@ class AuroHelpText extends LitElement {
5377
5377
  }
5378
5378
  }
5379
5379
 
5380
- var formkitVersion = '202606252142';
5380
+ var formkitVersion = '202606252337';
5381
5381
 
5382
5382
  let AuroElement$1 = class AuroElement extends LitElement {
5383
5383
  static get properties() {
@@ -6649,7 +6649,6 @@ class AuroDropdown extends AuroElement$1 {
6649
6649
  role="${ifDefined(this.triggerContentFocusable ? undefined : this.a11yRole)}"
6650
6650
  aria-expanded="${ifDefined(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : this.isPopoverVisible)}"
6651
6651
  aria-controls="${ifDefined(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : this.dropdownId)}"
6652
- aria-haspopup="${ifDefined(this.a11yRole === 'combobox' ? 'listbox' : undefined)}"
6653
6652
  aria-labelledby="${ifDefined(this.triggerContentFocusable ? undefined : 'triggerLabel')}"
6654
6653
  aria-disabled="${ifDefined(this.disabled ? 'true' : undefined)}"
6655
6654
  @focusin="${this.handleFocusin}"
@@ -1049,7 +1049,7 @@ let AuroHelpText$1 = class AuroHelpText extends LitElement {
1049
1049
  }
1050
1050
  };
1051
1051
 
1052
- var formkitVersion$1 = '202606252142';
1052
+ var formkitVersion$1 = '202606252337';
1053
1053
 
1054
1054
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
1055
1055
  // See LICENSE in the project root for license information.
@@ -5377,7 +5377,7 @@ class AuroHelpText extends LitElement {
5377
5377
  }
5378
5378
  }
5379
5379
 
5380
- var formkitVersion = '202606252142';
5380
+ var formkitVersion = '202606252337';
5381
5381
 
5382
5382
  let AuroElement$1 = class AuroElement extends LitElement {
5383
5383
  static get properties() {
@@ -6649,7 +6649,6 @@ class AuroDropdown extends AuroElement$1 {
6649
6649
  role="${ifDefined(this.triggerContentFocusable ? undefined : this.a11yRole)}"
6650
6650
  aria-expanded="${ifDefined(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : this.isPopoverVisible)}"
6651
6651
  aria-controls="${ifDefined(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : this.dropdownId)}"
6652
- aria-haspopup="${ifDefined(this.a11yRole === 'combobox' ? 'listbox' : undefined)}"
6653
6652
  aria-labelledby="${ifDefined(this.triggerContentFocusable ? undefined : 'triggerLabel')}"
6654
6653
  aria-disabled="${ifDefined(this.disabled ? 'true' : undefined)}"
6655
6654
  @focusin="${this.handleFocusin}"
@@ -10524,6 +10524,13 @@ let AuroInputUtilities$1 = class AuroInputUtilities {
10524
10524
  * @returns {string | undefined}
10525
10525
  */
10526
10526
  toFormattedValue(valueObject, format) {
10527
+ // Exposed publicly via `AuroInputUtil.toFormattedValue`, so a missing
10528
+ // `format` argument has to fail gracefully rather than throw on
10529
+ // `format.toLowerCase()`. Treat any falsy value (undefined, null, '')
10530
+ // as "no format → no display value".
10531
+ if (!format) {
10532
+ return undefined;
10533
+ }
10527
10534
  const normalizedFormat = format.toLowerCase();
10528
10535
  const maskOptions = this.getMaskOptions('date', normalizedFormat);
10529
10536
 
@@ -13439,7 +13446,7 @@ class AuroBibtemplate extends i$1 {
13439
13446
  }
13440
13447
  }
13441
13448
 
13442
- var formkitVersion$2 = '202606252142';
13449
+ var formkitVersion$2 = '202606252337';
13443
13450
 
13444
13451
  let l$1 = class l{generateElementName(t,e){let o=t;return o+="-",o+=e.replace(/[.]/g,"_"),o}generateTag(o,s,a){const r=this.generateElementName(o,s),i=i$5`${s$5(r)}`;return customElements.get(r)||customElements.define(r,class extends a{}),i}};let d$1 = class d{registerComponent(t,e){customElements.get(t)||customElements.define(t,class extends e{});}closestElement(t,e=this,o=(e,s=e&&e.closest(t))=>e&&e!==document&&e!==window?s||o(e.getRootNode().host):null){return o(e)}handleComponentTagRename(t,e){const o=e.toLowerCase();t.tagName.toLowerCase()!==o&&t.setAttribute(o,true);}elementMatch(t,e){const o=e.toLowerCase();return t.tagName.toLowerCase()===o||t.hasAttribute(o)}getSlotText(t,e){const o=t.shadowRoot?.querySelector(`slot[name="${e}"]`),s=(o?.assignedNodes({flatten:true})||[]).map(t=>t.textContent?.trim()).join(" ").trim();return s||null}};let h$4 = class h{registerComponent(t,e){customElements.get(t)||customElements.define(t,class extends e{});}closestElement(t,e=this,o=(e,s=e&&e.closest(t))=>e&&e!==document&&e!==window?s||o(e.getRootNode().host):null){return o(e)}handleComponentTagRename(t,e){const o=e.toLowerCase();t.tagName.toLowerCase()!==o&&t.setAttribute(o,true);}elementMatch(t,e){const o=e.toLowerCase();return t.tagName.toLowerCase()===o||t.hasAttribute(o)}};var c$3=i$3`:host{color:var(--ds-auro-loader-color)}:host>span{background-color:var(--ds-auro-loader-background-color);border-color:var(--ds-auro-loader-border-color)}:host([onlight]),:host([appearance=brand]){--ds-auro-loader-color: var(--ds-basic-color-brand-primary, #01426a)}:host([ondark]),:host([appearance=inverse]){--ds-auro-loader-color: var(--ds-basic-color-texticon-inverse, #ffffff)}:host([orbit])>span{--ds-auro-loader-background-color: transparent}:host([orbit])>span:nth-child(1){--ds-auro-loader-border-color: currentcolor;opacity:.25}:host([orbit])>span:nth-child(2){--ds-auro-loader-border-color: currentcolor;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent}
13445
13452
  `,u$6=i$3`.body-default{font-size:var(--wcss-body-default-font-size, 1rem);line-height:var(--wcss-body-default-line-height, 1.5rem)}.body-default,.body-lg{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-weight, 450);letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-lg{font-size:var(--wcss-body-lg-font-size, 1.125rem);line-height:var(--wcss-body-lg-line-height, 1.625rem)}.body-sm{font-size:var(--wcss-body-sm-font-size, .875rem);line-height:var(--wcss-body-sm-line-height, 1.25rem)}.body-sm,.body-xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-weight, 450);letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-xs{font-size:var(--wcss-body-xs-font-size, .75rem);line-height:var(--wcss-body-xs-line-height, 1rem)}.body-2xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:var(--wcss-body-2xs-font-size, .625rem);font-weight:var(--wcss-body-weight, 450);letter-spacing:var(--wcss-body-letter-spacing, 0);line-height:var(--wcss-body-2xs-line-height, .875rem)}.display-2xl{font-family:var(--wcss-display-2xl-family, "AS Circular"),var(--wcss-display-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-2xl-font-size, clamp(3.5rem, 6vw, 5.375rem));font-weight:var(--wcss-display-2xl-weight, 300);letter-spacing:var(--wcss-display-2xl-letter-spacing, 0);line-height:var(--wcss-display-2xl-line-height, 1.3)}.display-xl{font-family:var(--wcss-display-xl-family, "AS Circular"),var(--wcss-display-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-xl-font-size, clamp(3rem, 5.3333333333vw, 4.5rem));font-weight:var(--wcss-display-xl-weight, 300);letter-spacing:var(--wcss-display-xl-letter-spacing, 0);line-height:var(--wcss-display-xl-line-height, 1.3)}.display-lg{font-family:var(--wcss-display-lg-family, "AS Circular"),var(--wcss-display-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-lg-font-size, clamp(2.75rem, 4.6666666667vw, 4rem));font-weight:var(--wcss-display-lg-weight, 300);letter-spacing:var(--wcss-display-lg-letter-spacing, 0);line-height:var(--wcss-display-lg-line-height, 1.3)}.display-md{font-family:var(--wcss-display-md-family, "AS Circular"),var(--wcss-display-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-md-font-size, clamp(2.5rem, 4vw, 3.5rem));font-weight:var(--wcss-display-md-weight, 300);letter-spacing:var(--wcss-display-md-letter-spacing, 0);line-height:var(--wcss-display-md-line-height, 1.3)}.display-sm{font-family:var(--wcss-display-sm-family, "AS Circular"),var(--wcss-display-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-sm-font-size, clamp(2rem, 3.6666666667vw, 3rem));font-weight:var(--wcss-display-sm-weight, 300);letter-spacing:var(--wcss-display-sm-letter-spacing, 0);line-height:var(--wcss-display-sm-line-height, 1.3)}.display-xs{font-family:var(--wcss-display-xs-family, "AS Circular"),var(--wcss-display-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-xs-font-size, clamp(1.75rem, 3vw, 2.375rem));font-weight:var(--wcss-display-xs-weight, 300);letter-spacing:var(--wcss-display-xs-letter-spacing, 0);line-height:var(--wcss-display-xs-line-height, 1.3)}.heading-xl{font-family:var(--wcss-heading-xl-family, "AS Circular"),var(--wcss-heading-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-xl-font-size, clamp(2rem, 3vw, 2.5rem));font-weight:var(--wcss-heading-xl-weight, 300);letter-spacing:var(--wcss-heading-xl-letter-spacing, 0);line-height:var(--wcss-heading-xl-line-height, 1.3)}.heading-lg{font-family:var(--wcss-heading-lg-family, "AS Circular"),var(--wcss-heading-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-lg-font-size, clamp(1.75rem, 2.6666666667vw, 2.25rem));font-weight:var(--wcss-heading-lg-weight, 300);letter-spacing:var(--wcss-heading-lg-letter-spacing, 0);line-height:var(--wcss-heading-lg-line-height, 1.3)}.heading-md{font-family:var(--wcss-heading-md-family, "AS Circular"),var(--wcss-heading-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-md-font-size, clamp(1.625rem, 2.3333333333vw, 1.75rem));font-weight:var(--wcss-heading-md-weight, 300);letter-spacing:var(--wcss-heading-md-letter-spacing, 0);line-height:var(--wcss-heading-md-line-height, 1.3)}.heading-sm{font-family:var(--wcss-heading-sm-family, "AS Circular"),var(--wcss-heading-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-sm-font-size, clamp(1.375rem, 2vw, 1.5rem));font-weight:var(--wcss-heading-sm-weight, 300);letter-spacing:var(--wcss-heading-sm-letter-spacing, 0);line-height:var(--wcss-heading-sm-line-height, 1.3)}.heading-xs{font-family:var(--wcss-heading-xs-family, "AS Circular"),var(--wcss-heading-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-xs-font-size, clamp(1.25rem, 1.6666666667vw, 1.25rem));font-weight:var(--wcss-heading-xs-weight, 450);letter-spacing:var(--wcss-heading-xs-letter-spacing, 0);line-height:var(--wcss-heading-xs-line-height, 1.3)}.heading-2xs{font-family:var(--wcss-heading-2xs-family, "AS Circular"),var(--wcss-heading-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-2xs-font-size, clamp(1.125rem, 1.5vw, 1.125rem));font-weight:var(--wcss-heading-2xs-weight, 450);letter-spacing:var(--wcss-heading-2xs-letter-spacing, 0);line-height:var(--wcss-heading-2xs-line-height, 1.3)}.accent-2xl{font-family:var(--wcss-accent-2xl-family, "Good OT"),var(--wcss-accent-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-2xl-font-size, clamp(2rem, 3.1666666667vw, 2.375rem));font-weight:var(--wcss-accent-2xl-weight, 450);letter-spacing:var(--wcss-accent-2xl-letter-spacing, .05em);line-height:var(--wcss-accent-2xl-line-height, 1)}.accent-2xl,.accent-xl{text-transform:uppercase}.accent-xl{font-family:var(--wcss-accent-xl-family, "Good OT"),var(--wcss-accent-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-xl-font-size, clamp(1.625rem, 2.3333333333vw, 2rem));font-weight:var(--wcss-accent-xl-weight, 450);letter-spacing:var(--wcss-accent-xl-letter-spacing, .05em);line-height:var(--wcss-accent-xl-line-height, 1.3)}.accent-lg{font-family:var(--wcss-accent-lg-family, "Good OT"),var(--wcss-accent-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-lg-font-size, clamp(1.5rem, 2.1666666667vw, 1.75rem));font-weight:var(--wcss-accent-lg-weight, 450);letter-spacing:var(--wcss-accent-lg-letter-spacing, .05em);line-height:var(--wcss-accent-lg-line-height, 1.3)}.accent-lg,.accent-md{text-transform:uppercase}.accent-md{font-family:var(--wcss-accent-md-family, "Good OT"),var(--wcss-accent-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-md-font-size, clamp(1.375rem, 1.8333333333vw, 1.5rem));font-weight:var(--wcss-accent-md-weight, 500);letter-spacing:var(--wcss-accent-md-letter-spacing, .05em);line-height:var(--wcss-accent-md-line-height, 1.3)}.accent-sm{font-family:var(--wcss-accent-sm-family, "Good OT"),var(--wcss-accent-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-sm-font-size, clamp(1.125rem, 1.5vw, 1.25rem));font-weight:var(--wcss-accent-sm-weight, 500);letter-spacing:var(--wcss-accent-sm-letter-spacing, .05em);line-height:var(--wcss-accent-sm-line-height, 1.3)}.accent-sm,.accent-xs{text-transform:uppercase}.accent-xs{font-family:var(--wcss-accent-xs-family, "Good OT"),var(--wcss-accent-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-xs-font-size, clamp(1rem, 1.3333333333vw, 1rem));font-weight:var(--wcss-accent-xs-weight, 500);letter-spacing:var(--wcss-accent-xs-letter-spacing, .1em);line-height:var(--wcss-accent-xs-line-height, 1.3)}.accent-2xs{font-family:var(--wcss-accent-2xs-family, "Good OT"),var(--wcss-accent-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-2xs-font-size, clamp(.875rem, 1.1666666667vw, .875rem));font-weight:var(--wcss-accent-2xs-weight, 450);letter-spacing:var(--wcss-accent-2xs-letter-spacing, .1em);line-height:var(--wcss-accent-2xs-line-height, 1.3);text-transform:uppercase}:focus:not(:focus-visible){outline:3px solid transparent}:host,:host>span{position:relative}:host{width:2rem;height:2rem;display:inline-block;font-size:0}:host>span{position:absolute;display:inline-block;float:none;top:0;left:0;width:2rem;height:2rem;border-radius:100%;border-style:solid;border-width:0;box-sizing:border-box}:host([xs]),:host([xs])>span{width:1.2rem;height:1.2rem}:host([sm]),:host([sm])>span{width:3rem;height:3rem}:host([md]),:host([md])>span{width:5rem;height:5rem}:host([lg]),:host([lg])>span{width:8rem;height:8rem}:host{--margin: .375rem;--margin-xs: .2rem;--margin-sm: .5rem;--margin-md: .75rem;--margin-lg: 1rem}:host([pulse]),:host([pulse])>span{position:relative}:host([pulse]){width:calc(3rem + var(--margin) * 6);height:calc(1rem + var(--margin) * 2)}:host([pulse])>span{width:1rem;height:1rem;margin:var(--margin);animation:pulse 1.5s ease infinite}:host([pulse][xs]){width:calc(1.95rem + var(--margin-xs) * 6);height:calc(.65rem + var(--margin-xs) * 2)}:host([pulse][xs])>span{margin:var(--margin-xs);width:.65rem;height:.65rem}:host([pulse][sm]){width:calc(6rem + var(--margin-sm) * 6);height:calc(2rem + var(--margin-sm) * 2)}:host([pulse][sm])>span{margin:var(--margin-sm);width:2rem;height:2rem}:host([pulse][md]){width:calc(9rem + var(--margin-md) * 6);height:calc(3rem + var(--margin-md) * 2)}:host([pulse][md])>span{margin:var(--margin-md);width:3rem;height:3rem}:host([pulse][lg]){width:calc(15rem + var(--margin-lg) * 6);height:calc(5rem + var(--margin-lg) * 2)}:host([pulse][lg])>span{margin:var(--margin-lg);width:5rem;height:5rem}:host([pulse])>span:nth-child(1){animation-delay:-.4s}:host([pulse])>span:nth-child(2){animation-delay:-.2s}:host([pulse])>span:nth-child(3){animation-delay:0ms}@keyframes pulse{0%,to{opacity:.1;transform:scale(.9)}50%{opacity:1;transform:scale(1.1)}}:host([orbit]),:host([orbit])>span{opacity:1}:host([orbit])>span{border-width:5px}:host([orbit])>span:nth-child(2){animation:orbit 2s linear infinite}:host([orbit][sm])>span{border-width:8px}:host([orbit][md])>span{border-width:13px}:host([orbit][lg])>span{border-width:21px}@keyframes orbit{0%{transform:rotate(0)}to{transform:rotate(360deg)}}:host([ringworm])>svg{animation:rotate 2s linear infinite;height:100%;width:100%;stroke:currentcolor;stroke-width:8}:host([ringworm]) .path{stroke-dashoffset:0;animation:ringworm 1.5s ease-in-out infinite;stroke-linecap:round}@keyframes rotate{to{transform:rotate(360deg)}}@keyframes ringworm{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px}to{stroke-dasharray:89,200;stroke-dashoffset:-124px}}:host([laser]){position:static;width:100%;display:block;height:0;overflow:hidden;font-size:unset}:host([laser])>span{position:fixed;width:100%;height:.25rem;border-radius:0;z-index:100}:host([laser])>span:nth-child(1){border-color:currentcolor;opacity:.25}:host([laser])>span:nth-child(2){border-color:currentcolor;animation:laser 2s linear infinite;opacity:1;width:50%}:host([laser][sm])>span:nth-child(2){width:20%}:host([laser][md])>span:nth-child(2){width:30%}:host([laser][lg])>span:nth-child(2){width:50%;animation-duration:1.5s}:host([laser][xl])>span:nth-child(2){width:80%;animation-duration:1.5s}@keyframes laser{0%{left:-100%}to{left:110%}}:host>.no-animation{display:none}@media (prefers-reduced-motion: reduce){:host{display:flex;align-items:center;justify-content:center}:host>span{opacity:1}:host>.loader{display:none}:host>svg{display:none}:host>.no-animation{display:block}}
@@ -18974,7 +18981,7 @@ let AuroHelpText$2 = class AuroHelpText extends i$1 {
18974
18981
  }
18975
18982
  };
18976
18983
 
18977
- var formkitVersion$1 = '202606252142';
18984
+ var formkitVersion$1 = '202606252337';
18978
18985
 
18979
18986
  let AuroElement$2 = class AuroElement extends i$1 {
18980
18987
  static get properties() {
@@ -20246,7 +20253,6 @@ class AuroDropdown extends AuroElement$2 {
20246
20253
  role="${o$2(this.triggerContentFocusable ? undefined : this.a11yRole)}"
20247
20254
  aria-expanded="${o$2(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : this.isPopoverVisible)}"
20248
20255
  aria-controls="${o$2(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : this.dropdownId)}"
20249
- aria-haspopup="${o$2(this.a11yRole === 'combobox' ? 'listbox' : undefined)}"
20250
20256
  aria-labelledby="${o$2(this.triggerContentFocusable ? undefined : 'triggerLabel')}"
20251
20257
  aria-disabled="${o$2(this.disabled ? 'true' : undefined)}"
20252
20258
  @focusin="${this.handleFocusin}"
@@ -30700,6 +30706,13 @@ class AuroInputUtilities {
30700
30706
  * @returns {string | undefined}
30701
30707
  */
30702
30708
  toFormattedValue(valueObject, format) {
30709
+ // Exposed publicly via `AuroInputUtil.toFormattedValue`, so a missing
30710
+ // `format` argument has to fail gracefully rather than throw on
30711
+ // `format.toLowerCase()`. Treat any falsy value (undefined, null, '')
30712
+ // as "no format → no display value".
30713
+ if (!format) {
30714
+ return undefined;
30715
+ }
30703
30716
  const normalizedFormat = format.toLowerCase();
30704
30717
  const maskOptions = this.getMaskOptions('date', normalizedFormat);
30705
30718
 
@@ -30850,79 +30863,18 @@ class BaseInput extends AuroElement$1 {
30850
30863
  constructor() {
30851
30864
  super();
30852
30865
 
30853
- this.appearance = "default";
30854
- this.disabled = false;
30855
- this.layout = 'classic';
30856
- this.locale = 'en-US';
30857
- this.max = undefined;
30858
- this._maxObject = undefined;
30859
- this.maxLength = undefined;
30860
- this.min = undefined;
30861
- this._minObject = undefined;
30862
- this.minLength = undefined;
30863
- this.required = false;
30864
- this.onDark = false;
30865
- this.setCustomValidityForType = undefined;
30866
- this.size = 'lg';
30867
- this.shape = 'classic';
30868
- this.value = undefined;
30869
- this._valueObject = undefined;
30870
-
30871
- this._initializePrivateDefaults();
30872
- }
30873
-
30874
- /**
30875
- * Internal Defaults.
30876
- * @private
30877
- * @returns {void}
30878
- */
30879
- _initializePrivateDefaults() {
30866
+ // Single-source initialization. Alphabetized so duplicate or stale
30867
+ // defaults are immediately obvious on a diff. Every field is assigned
30868
+ // exactly once here (previously the constructor + the old
30869
+ // `_initializePrivateDefaults` overlapped — both wrote ~14 of the same
30870
+ // fields and double-allocated `util` and `validation`, discarding the
30871
+ // first instance). `validation` is now allocated exactly once; `util`
30872
+ // is seeded here with an en-US default and then rebuilt in
30873
+ // `connectedCallback` once the consumer-resolved locale is available,
30874
+ // so a parent (datepicker/combobox) calling `validate()` synchronously
30875
+ // during its own update cycle sees a populated util instance.
30880
30876
  this.activeLabel = false;
30881
- this.appearance = "default";
30882
- this.icon = false;
30883
- this.disabled = false;
30884
- this.dvInputOnly = false;
30885
- this.hideLabelVisually = false;
30886
- this.max = undefined;
30887
- this.maxLength = undefined;
30888
- this.min = undefined;
30889
- this.minLength = undefined;
30890
- this.noValidate = false;
30891
- this.onDark = false;
30892
- this.required = false;
30893
- this.setCustomValidityForType = undefined;
30894
-
30895
- // Used for storing raw values returned from input mask.
30896
- this._rawMaskValue = undefined;
30897
-
30898
- /**
30899
- * @private
30900
- */
30901
- this.layout = 'classic';
30902
-
30903
- /**
30904
- * @private
30905
- */
30906
- this.shape = 'classic';
30907
-
30908
- /**
30909
- * @private
30910
- */
30911
- this.size = 'lg';
30912
-
30913
- this.touched = false;
30914
- this.util = new AuroInputUtilities({
30915
- locale: "en-US",
30916
- format: this.format
30917
- });
30918
- this.validation = new AuroFormValidation();
30919
- this.inputIconName = undefined;
30920
- this.showPassword = false;
30921
- this.validationCCLength = undefined;
30922
- this.hasValue = false;
30923
- this.label = 'Input label is undefined';
30924
-
30925
-
30877
+ /** @private */
30926
30878
  this.allowedInputTypes = [
30927
30879
  "text",
30928
30880
  "number",
@@ -30931,7 +30883,8 @@ class BaseInput extends AuroElement$1 {
30931
30883
  "credit-card",
30932
30884
  "tel"
30933
30885
  ];
30934
- this.icon = false;
30886
+ this.appearance = "default";
30887
+ /** @private */
30935
30888
  this.dateFormatMap = {
30936
30889
  'mm/dd/yyyy': 'dateMMDDYYYY',
30937
30890
  'dd/mm/yyyy': 'dateDDMMYYYY',
@@ -30948,27 +30901,57 @@ class BaseInput extends AuroElement$1 {
30948
30901
  'dd/mm': 'dateDDMM',
30949
30902
  'mm/dd': 'dateMMDD'
30950
30903
  };
30904
+ this.disabled = false;
30905
+ /** @private */
30951
30906
  this.domHandler = new DomHandler();
30952
30907
  this.dvInputOnly = false;
30953
30908
  this.hasValue = false;
30909
+ this.hideLabelVisually = false;
30910
+ this.icon = false;
30911
+ /** @private */
30954
30912
  this.inputIconName = undefined;
30913
+ /** @private */
30955
30914
  this.label = 'Input label is undefined';
30915
+ this.layout = 'classic';
30916
+ this.locale = 'en-US';
30917
+ this.max = undefined;
30918
+ this._maxObject = undefined;
30919
+ this.maxLength = undefined;
30920
+ this.min = undefined;
30921
+ this._minObject = undefined;
30922
+ this.minLength = undefined;
30956
30923
  this.noValidate = false;
30957
- this._rawMaskValue = undefined; // Used for storing raw values returned from input mask.
30924
+ this.onDark = false;
30925
+ // Raw values returned from the input mask before model normalization.
30926
+ this._rawMaskValue = undefined;
30927
+ this.required = false;
30928
+ this.setCustomValidityForType = undefined;
30929
+ // Credit Card is intentionally excluded — its mask manages the cursor
30930
+ // itself, and listing it here caused cursor placement issues in Safari.
30931
+ /** @private */
30958
30932
  this.setSelectionInputTypes = [
30959
30933
  "text",
30960
30934
  "password",
30961
30935
  "email"
30962
- ]; // Credit Card is not included as this caused cursor placement issues in Safari.
30936
+ ];
30937
+ this.shape = 'classic';
30938
+ /** @private */
30963
30939
  this.showPassword = false;
30940
+ this.size = 'lg';
30964
30941
  this.touched = false;
30942
+ /** @private */
30965
30943
  this.uniqueId = new UniqueId().create();
30944
+ /** @private */
30966
30945
  this.util = new AuroInputUtilities({
30967
30946
  locale: this.locale,
30968
30947
  format: this.format
30969
30948
  });
30949
+ /** @private */
30970
30950
  this.validation = new AuroFormValidation();
30951
+ /** @private */
30971
30952
  this.validationCCLength = undefined;
30953
+ this.value = undefined;
30954
+ this._valueObject = undefined;
30972
30955
  }
30973
30956
 
30974
30957
  // function to define props used within the scope of this component
@@ -31516,6 +31499,15 @@ class BaseInput extends AuroElement$1 {
31516
31499
 
31517
31500
  this.inputId = this.id ? `${this.id}-input` : window.crypto.randomUUID();
31518
31501
 
31502
+ // Normalize the format token to lowercase so case-mixed values supplied
31503
+ // via attribute (e.g. `format="MM/DD/YYYY"`) hit the `dateFormatMap`
31504
+ // lookup inside `setCustomHelpTextMessage`. Without this, an uppercase
31505
+ // format silently misses the map and leaves `setCustomValidityForType`
31506
+ // unset.
31507
+ if (this.format) {
31508
+ this.format = this.format.toLowerCase();
31509
+ }
31510
+
31519
31511
  // use validity message override if declared when initializing the component
31520
31512
  if (this.hasAttribute('setCustomValidity')) {
31521
31513
  this.ValidityMessageOverride = this.setCustomValidity;
@@ -31949,6 +31941,38 @@ class BaseInput extends AuroElement$1 {
31949
31941
  this.touched = true;
31950
31942
  this.validation.validate(this);
31951
31943
  }
31944
+
31945
+ // Prevents cursor jumping in Safari. Setting `this.value` triggers a Lit
31946
+ // update that can re-render the input and reset the native cursor; we
31947
+ // capture the caret position before that update commits and restore it
31948
+ // via `setSelectionRange` once the update has flushed. Gated on
31949
+ // `setSelectionInputTypes` so credit-card (and other masked types whose
31950
+ // formatter manages the cursor itself) doesn't get a competing write.
31951
+ // Capture the caret position INSIDE the gate — reading `selectionStart`
31952
+ // on input types that don't support text selection (number, email in
31953
+ // some browsers) throws InvalidStateError, which would crash all input
31954
+ // handling. Wrap the read in try/catch belt-and-suspenders even though
31955
+ // the gated types currently support it, since the list is a public
31956
+ // property a consumer could mutate.
31957
+ if (this.setSelectionInputTypes.includes(this.type)) {
31958
+ let selectionStart;
31959
+ try {
31960
+ selectionStart = this.inputElement.selectionStart;
31961
+ } catch (error) { // eslint-disable-line no-unused-vars
31962
+ return;
31963
+ }
31964
+ if (typeof selectionStart !== 'number') {
31965
+ return;
31966
+ }
31967
+ this.updateComplete.then(() => {
31968
+ try {
31969
+ this.inputElement.setSelectionRange(selectionStart, selectionStart);
31970
+ } catch (error) { // eslint-disable-line no-unused-vars
31971
+ // Some input types (number/email in certain UAs) throw on
31972
+ // setSelectionRange; swallow and let the native cursor stand.
31973
+ }
31974
+ });
31975
+ }
31952
31976
  }
31953
31977
 
31954
31978
  /**
@@ -32575,7 +32599,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$1 {
32575
32599
  }
32576
32600
  };
32577
32601
 
32578
- var formkitVersion = '202606252142';
32602
+ var formkitVersion = '202606252337';
32579
32603
 
32580
32604
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
32581
32605
  // See LICENSE in the project root for license information.
@@ -33078,6 +33102,7 @@ class AuroInput extends BaseInput {
33078
33102
  <${this.buttonTag}
33079
33103
  @click="${this.handleClickShowPassword}"
33080
33104
  appearance="${this.onDark ? 'inverse' : this.appearance}"
33105
+ aria-pressed="${this.showPassword ? 'true' : 'false'}"
33081
33106
  class="notificationBtn passwordBtn"
33082
33107
  shape="circle"
33083
33108
  size="sm"
@@ -33151,25 +33176,29 @@ class AuroInput extends BaseInput {
33151
33176
  * @returns {html} - Returns HTML for the help text and error message.
33152
33177
  */
33153
33178
  renderHtmlHelpText() {
33179
+ // Single `<p>` with stable identity across validity transitions —
33180
+ // previously two distinct templates (valid vs invalid) caused Lit to
33181
+ // replace the node entirely on a flip, and VoiceOver wouldn't
33182
+ // re-announce because the live-region element it was watching had been
33183
+ // removed and a new one inserted. Keeping one node means the `role`,
33184
+ // `aria-live`, and text content all change in-place, which AT does
33185
+ // observe and announce.
33186
+ const isError = this.validity && this.validity !== 'valid';
33154
33187
  return u$a`
33155
- ${!this.validity || this.validity === undefined || this.validity === 'valid'
33156
- ? u$a`
33157
- <${this.helpTextTag}
33158
- appearance="${this.onDark ? 'inverse' : this.appearance}">
33159
- <p id="${this.uniqueId}" part="helpText">
33160
- <slot name="helpText">${this.getHelpText()}</slot>
33161
- </p>
33162
- </${this.helpTextTag}>
33163
- `
33164
- : u$a`
33165
- <${this.helpTextTag} error
33166
- appearance="${this.onDark ? 'inverse' : this.appearance}">
33167
- <p id="${this.uniqueId}" role="alert" aria-live="assertive" part="helpText">
33168
- ${this.errorMessage}
33169
- </p>
33170
- </${this.helpTextTag}>
33171
- `
33172
- }
33188
+ <${this.helpTextTag}
33189
+ appearance="${this.onDark ? 'inverse' : this.appearance}"
33190
+ ?error=${isError}>
33191
+ <p
33192
+ id="${this.uniqueId}"
33193
+ part="helpText"
33194
+ role="${o$2(isError ? 'alert' : undefined)}"
33195
+ aria-live="${o$2(isError ? 'assertive' : undefined)}">
33196
+ ${isError
33197
+ ? this.errorMessage
33198
+ : u$a`<slot name="helpText">${this.getHelpText()}</slot>`
33199
+ }
33200
+ </p>
33201
+ </${this.helpTextTag}>
33173
33202
  `;
33174
33203
  }
33175
33204
 
@@ -33316,6 +33345,15 @@ function formatISODate(isoStr, format) {
33316
33345
  try {
33317
33346
  const date = dateFormatter.stringToDateInstance(isoStr);
33318
33347
 
33348
+ // `stringToDateInstance` returns an `Invalid Date` for malformed strings
33349
+ // and `null` for non-string input — it does NOT throw. Without this
33350
+ // guard, `getFullYear()`/`getMonth()`/`getDate()` on an Invalid Date
33351
+ // yield `NaN`, and `String(NaN).padStart(4, '0')` produces literals
33352
+ // like "0NaN/0NaN/0NaN" instead of `undefined`.
33353
+ if (!(date instanceof Date) || Number.isNaN(date.getTime())) {
33354
+ return undefined;
33355
+ }
33356
+
33319
33357
  const year = String(date.getFullYear()).padStart(4, '0');
33320
33358
  const month = String(date.getMonth() + 1).padStart(2, '0');
33321
33359
  const day = String(date.getDate()).padStart(2, '0');
@@ -33326,7 +33364,10 @@ function formatISODate(isoStr, format) {
33326
33364
  replace(/mm/iu, month).
33327
33365
  replace(/dd/iu, day);
33328
33366
  } catch (err) {
33329
- // If the input string is not a valid date, return undefined
33367
+ // Defensive: the Date-returning path is guarded above, but `parseDate`
33368
+ // (inside `stringToDateInstance`) could throw on pathological input
33369
+ // future-library-versions might introduce. Treat any thrown error as
33370
+ // "not a valid date" and return undefined.
33330
33371
  return undefined;
33331
33372
  }
33332
33373
  }