@aurodesignsystem/auro-formkit 6.0.3 → 6.1.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 (53) hide show
  1. package/CHANGELOG.md +20 -8
  2. package/components/checkbox/demo/customize.min.js +14 -4
  3. package/components/checkbox/demo/getting-started.min.js +14 -4
  4. package/components/checkbox/demo/index.min.js +14 -4
  5. package/components/checkbox/dist/index.js +14 -4
  6. package/components/checkbox/dist/registered.js +14 -4
  7. package/components/combobox/demo/customize.min.js +71 -10
  8. package/components/combobox/demo/getting-started.min.js +71 -10
  9. package/components/combobox/demo/index.min.js +71 -10
  10. package/components/combobox/dist/index.js +71 -10
  11. package/components/combobox/dist/registered.js +71 -10
  12. package/components/counter/demo/customize.min.js +2 -2
  13. package/components/counter/demo/index.min.js +2 -2
  14. package/components/counter/dist/index.js +2 -2
  15. package/components/counter/dist/registered.js +2 -2
  16. package/components/datepicker/demo/customize.min.js +64 -8
  17. package/components/datepicker/demo/index.min.js +64 -8
  18. package/components/datepicker/dist/index.js +64 -8
  19. package/components/datepicker/dist/registered.js +64 -8
  20. package/components/dropdown/demo/customize.min.js +1 -1
  21. package/components/dropdown/demo/getting-started.min.js +63 -7
  22. package/components/dropdown/demo/index.min.js +1 -1
  23. package/components/dropdown/dist/index.js +1 -1
  24. package/components/dropdown/dist/registered.js +1 -1
  25. package/components/form/demo/customize.min.js +241 -38
  26. package/components/form/demo/getting-started.min.js +241 -38
  27. package/components/form/demo/index.min.js +241 -38
  28. package/components/form/demo/registerDemoDeps.min.js +241 -38
  29. package/components/input/demo/api.md +1 -1
  30. package/components/input/demo/css-only.md +2 -2
  31. package/components/input/demo/customize.md +3 -3
  32. package/components/input/demo/customize.min.js +62 -6
  33. package/components/input/demo/getting-started.min.js +62 -6
  34. package/components/input/demo/index.min.js +62 -6
  35. package/components/input/demo/why-input.md +2 -3
  36. package/components/input/dist/auro-input.d.ts +8 -0
  37. package/components/input/dist/base-input.d.ts +2 -0
  38. package/components/input/dist/index.js +62 -6
  39. package/components/input/dist/registered.js +62 -6
  40. package/components/radio/demo/customize.min.js +15 -4
  41. package/components/radio/demo/getting-started.min.js +15 -4
  42. package/components/radio/demo/index.min.js +15 -4
  43. package/components/radio/dist/auro-radio-group.d.ts +1 -0
  44. package/components/radio/dist/index.js +15 -4
  45. package/components/radio/dist/registered.js +15 -4
  46. package/components/select/demo/customize.min.js +13 -4
  47. package/components/select/demo/getting-started.min.js +13 -4
  48. package/components/select/demo/index.min.js +13 -4
  49. package/components/select/dist/auro-select.d.ts +2 -0
  50. package/components/select/dist/index.js +13 -4
  51. package/components/select/dist/registered.js +13 -4
  52. package/custom-elements.json +1516 -1504
  53. package/package.json +1 -1
@@ -10813,6 +10813,8 @@ let BaseInput$2 = class BaseInput extends AuroElement$6 {
10813
10813
 
10814
10814
  /**
10815
10815
  * If set, the label will remain fixed in the active position.
10816
+ * Only applies to the classic/default layout; the emphasized and snowflake
10817
+ * layouts always render the label inside the field, so this has no effect there.
10816
10818
  */
10817
10819
  activeLabel: {
10818
10820
  type: Boolean,
@@ -11932,6 +11934,18 @@ let BaseInput$2 = class BaseInput extends AuroElement$6 {
11932
11934
  cardIcon: 'cc-dinersclub',
11933
11935
  maskFormat: "0000 000000 0000"
11934
11936
  },
11937
+ {
11938
+ // JCB is variable length (16-19 digits), like UnionPay, so it reuses the
11939
+ // formatMinLength/formatLength range machinery. The 35 prefix overlaps no
11940
+ // other brand (Amex is 34|37, Diners is 30[0-5]|36|38).
11941
+ name: 'JCB',
11942
+ regex: /^(?<num>35)\d{0}/u,
11943
+ formatMinLength: 19,
11944
+ formatLength: 23,
11945
+ errorMessage: CreditCardValidationMessage,
11946
+ cardIcon: 'cc-jcb',
11947
+ maskFormat: "0000 0000 0000 0000 000"
11948
+ },
11935
11949
  {
11936
11950
  name: 'Visa',
11937
11951
  regex: /^(?<num>4)\d{0}/u,
@@ -11963,6 +11977,20 @@ let BaseInput$2 = class BaseInput extends AuroElement$6 {
11963
11977
  errorMessage: CreditCardValidationMessage,
11964
11978
  cardIcon: 'cc-discover',
11965
11979
  maskFormat: "0000 0000 0000 0000"
11980
+ },
11981
+ {
11982
+ // China UnionPay is variable length (16-19 digits). It must come after
11983
+ // Discover so the last-match-wins loop below gives its 62 prefix
11984
+ // precedence over the generic `6` that resolves to Discover. 81 is used
11985
+ // by UnionPay cards issued outside mainland China and overlaps no other
11986
+ // brand. 60 is intentionally excluded (it overlaps real Discover 6011).
11987
+ name: 'China UnionPay',
11988
+ regex: /^(?<num>62|81)\d{0}/u,
11989
+ formatMinLength: 19,
11990
+ formatLength: 23,
11991
+ errorMessage: CreditCardValidationMessage,
11992
+ cardIcon: 'cc-unionpay',
11993
+ maskFormat: "0000 0000 0000 0000 000"
11966
11994
  }
11967
11995
  ];
11968
11996
 
@@ -11980,7 +12008,12 @@ let BaseInput$2 = class BaseInput extends AuroElement$6 {
11980
12008
  }
11981
12009
  });
11982
12010
 
11983
- this.validationCCLength = type.formatLength;
12011
+ // Variable-length brands (both min and max defined, e.g. UnionPay) validate
12012
+ // against the minimum masked length so shorter-but-valid entries are not
12013
+ // flagged tooShort. Fixed-length brands keep their single formatLength.
12014
+ this.validationCCLength = type.formatMinLength && type.formatLength
12015
+ ? type.formatMinLength
12016
+ : type.formatLength;
11984
12017
 
11985
12018
  return type;
11986
12019
  }
@@ -12339,7 +12372,7 @@ let AuroHelpText$8 = class AuroHelpText extends i$2 {
12339
12372
  }
12340
12373
  };
12341
12374
 
12342
- var formkitVersion$8 = '202608111803';
12375
+ var formkitVersion$8 = '202608262225';
12343
12376
 
12344
12377
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
12345
12378
  // See LICENSE in the project root for license information.
@@ -12440,15 +12473,35 @@ let AuroInput$2 = class AuroInput extends BaseInput$2 {
12440
12473
  * @private
12441
12474
  */
12442
12475
  get inputHidden() {
12476
+ // In the classic/default layout, activeLabel keeps the input row visible so
12477
+ // the label stays raised rather than collapsing to the centered placeholder
12478
+ // position. Emphasized/snowflake always render the label inside the field,
12479
+ // so activeLabel does not apply there. This only overrides the empty/
12480
+ // unfocused clause — the display-value clause (combobox/datepicker) is
12481
+ // preserved regardless.
12482
+ const activeLabelRaisesInput = this.activeLabel && this.isClassicLayout;
12483
+
12443
12484
  return (
12444
12485
  this.hasDisplayValueContent && !this.hasFocus && this.hasValue) ||
12445
12486
  (
12487
+ !activeLabelRaisesInput &&
12446
12488
  (!this.value || this.value.length === 0) &&
12447
12489
  !this.hasFocus &&
12448
12490
  (!this.placeholderStr || this.placeholderStr === '')
12449
12491
  );
12450
12492
  }
12451
12493
 
12494
+ /**
12495
+ * Whether the component is rendering the classic/default layout, meaning not
12496
+ * emphasized and not snowflake. Kept as a single source of truth so
12497
+ * layout-scoped behavior such as activeLabel stays consistent across getters.
12498
+ * @returns {boolean} - True for the classic/default layout.
12499
+ * @private
12500
+ */
12501
+ get isClassicLayout() {
12502
+ return !this.layout.startsWith('emphasized') && this.layout !== 'snowflake';
12503
+ }
12504
+
12452
12505
  /**
12453
12506
  * Determines if the input should display in a state with no focus or value indication.
12454
12507
  * Returns true when the input has display content without focus and has a value,
@@ -12494,7 +12547,7 @@ let AuroInput$2 = class AuroInput extends BaseInput$2 {
12494
12547
  }
12495
12548
 
12496
12549
  // classic layout (default)
12497
- return ((!this.value || this.value.length === 0) && !this.placeholderStr && !this.hasFocus) ? 'body-default' : 'body-xs';
12550
+ return ((!this.value || this.value.length === 0) && !this.placeholderStr && !this.hasFocus && !this.activeLabel) ? 'body-default' : 'body-xs';
12498
12551
  }
12499
12552
 
12500
12553
  /**
@@ -12590,7 +12643,8 @@ let AuroInput$2 = class AuroInput extends BaseInput$2 {
12590
12643
  'wrapper': true,
12591
12644
  'simple': this.simple,
12592
12645
  'withValue': this.hasValue,
12593
- 'hasFocus': this.hasFocus
12646
+ 'hasFocus': this.hasFocus,
12647
+ 'activeLabel': this.activeLabel
12594
12648
  };
12595
12649
  }
12596
12650
 
@@ -12740,7 +12794,10 @@ let AuroInput$2 = class AuroInput extends BaseInput$2 {
12740
12794
  */
12741
12795
  definePattern() {
12742
12796
  if (this.type === 'credit-card' && !this.noValidate && this.maxLength) {
12743
- return `.{${this.maxLength},${this.maxLength}}`;
12797
+ // Variable-length brands (e.g. UnionPay) set minLength, so accept a range;
12798
+ // fixed-length brands leave minLength undefined and keep an exact length.
12799
+ const minPatternLength = this.minLength || this.maxLength;
12800
+ return `.{${minPatternLength},${this.maxLength}}`;
12744
12801
  }
12745
12802
 
12746
12803
  return this.pattern;
@@ -12801,7 +12858,6 @@ let AuroInput$2 = class AuroInput extends BaseInput$2 {
12801
12858
  @input="${this.handleInput}"
12802
12859
  .placeholder=${this.placeholderStr}
12803
12860
  .role=${this.a11yRole}
12804
- ?activeLabel="${this.activeLabel}"
12805
12861
  ?disabled="${this.disabled}"
12806
12862
  ?required="${this.required}"
12807
12863
  aria-activedescendant=${o$4(this.a11yActivedescendant)}
@@ -26771,7 +26827,7 @@ let AuroBibtemplate$3 = class AuroBibtemplate extends i$2 {
26771
26827
  }
26772
26828
  };
26773
26829
 
26774
- var formkitVersion$2$1 = '202608111803';
26830
+ var formkitVersion$2$1 = '202608262225';
26775
26831
 
26776
26832
  let l$1$2 = class l{generateElementName(t,e){let o=t;return o+="-",o+=e.replace(/[.]/g,"_"),o}generateTag(o,s,a){const r=this.generateElementName(o,s),i=i$5`${s$5(r)}`;return customElements.get(r)||customElements.define(r,class extends a{}),i}};let d$1$2 = class d{registerComponent(t,e){customElements.get(t)||customElements.define(t,class extends e{});}closestElement(t,e=this,o=(e,s=e&&e.closest(t))=>e&&e!==document&&e!==window?s||o(e.getRootNode().host):null){return o(e)}handleComponentTagRename(t,e){const o=e.toLowerCase();t.tagName.toLowerCase()!==o&&t.setAttribute(o,true);}elementMatch(t,e){const o=e.toLowerCase();return t.tagName.toLowerCase()===o||t.hasAttribute(o)}getSlotText(t,e){const o=t.shadowRoot?.querySelector(`slot[name="${e}"]`),s=(o?.assignedNodes({flatten:true})||[]).map(t=>t.textContent?.trim()).join(" ").trim();return s||null}};let h$1$2 = class h{registerComponent(t,e){customElements.get(t)||customElements.define(t,class extends e{});}closestElement(t,e=this,o=(e,s=e&&e.closest(t))=>e&&e!==document&&e!==window?s||o(e.getRootNode().host):null){return o(e)}handleComponentTagRename(t,e){const o=e.toLowerCase();t.tagName.toLowerCase()!==o&&t.setAttribute(o,true);}elementMatch(t,e){const o=e.toLowerCase();return t.tagName.toLowerCase()===o||t.hasAttribute(o)}};var c$1$3=i$4`:host{color:var(--ds-auro-loader-color)}:host>span{background-color:var(--ds-auro-loader-background-color);border-color:var(--ds-auro-loader-border-color)}:host([onlight]),:host([appearance=brand]){--ds-auro-loader-color: var(--ds-basic-color-brand-primary, #01426a)}:host([ondark]),:host([appearance=inverse]){--ds-auro-loader-color: var(--ds-basic-color-texticon-inverse, #ffffff)}:host([orbit])>span{--ds-auro-loader-background-color: transparent}:host([orbit])>span:nth-child(1){--ds-auro-loader-border-color: currentcolor;opacity:.25}:host([orbit])>span:nth-child(2){--ds-auro-loader-border-color: currentcolor;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent}
26777
26833
  `,u$4$2=i$4`.body-default{font-size:var(--wcss-body-default-font-size, 1rem);line-height:var(--wcss-body-default-line-height, 1.5rem)}.body-default,.body-lg{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-weight, 450);letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-lg{font-size:var(--wcss-body-lg-font-size, 1.125rem);line-height:var(--wcss-body-lg-line-height, 1.625rem)}.body-sm{font-size:var(--wcss-body-sm-font-size, .875rem);line-height:var(--wcss-body-sm-line-height, 1.25rem)}.body-sm,.body-xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-weight, 450);letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-xs{font-size:var(--wcss-body-xs-font-size, .75rem);line-height:var(--wcss-body-xs-line-height, 1rem)}.body-2xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:var(--wcss-body-2xs-font-size, .625rem);font-weight:var(--wcss-body-weight, 450);letter-spacing:var(--wcss-body-letter-spacing, 0);line-height:var(--wcss-body-2xs-line-height, .875rem)}.display-2xl{font-family:var(--wcss-display-2xl-family, "AS Circular"),var(--wcss-display-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-2xl-font-size, clamp(3.5rem, 6vw, 5.375rem));font-weight:var(--wcss-display-2xl-weight, 300);letter-spacing:var(--wcss-display-2xl-letter-spacing, 0);line-height:var(--wcss-display-2xl-line-height, 1.3)}.display-xl{font-family:var(--wcss-display-xl-family, "AS Circular"),var(--wcss-display-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-xl-font-size, clamp(3rem, 5.3333333333vw, 4.5rem));font-weight:var(--wcss-display-xl-weight, 300);letter-spacing:var(--wcss-display-xl-letter-spacing, 0);line-height:var(--wcss-display-xl-line-height, 1.3)}.display-lg{font-family:var(--wcss-display-lg-family, "AS Circular"),var(--wcss-display-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-lg-font-size, clamp(2.75rem, 4.6666666667vw, 4rem));font-weight:var(--wcss-display-lg-weight, 300);letter-spacing:var(--wcss-display-lg-letter-spacing, 0);line-height:var(--wcss-display-lg-line-height, 1.3)}.display-md{font-family:var(--wcss-display-md-family, "AS Circular"),var(--wcss-display-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-md-font-size, clamp(2.5rem, 4vw, 3.5rem));font-weight:var(--wcss-display-md-weight, 300);letter-spacing:var(--wcss-display-md-letter-spacing, 0);line-height:var(--wcss-display-md-line-height, 1.3)}.display-sm{font-family:var(--wcss-display-sm-family, "AS Circular"),var(--wcss-display-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-sm-font-size, clamp(2rem, 3.6666666667vw, 3rem));font-weight:var(--wcss-display-sm-weight, 300);letter-spacing:var(--wcss-display-sm-letter-spacing, 0);line-height:var(--wcss-display-sm-line-height, 1.3)}.display-xs{font-family:var(--wcss-display-xs-family, "AS Circular"),var(--wcss-display-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-xs-font-size, clamp(1.75rem, 3vw, 2.375rem));font-weight:var(--wcss-display-xs-weight, 300);letter-spacing:var(--wcss-display-xs-letter-spacing, 0);line-height:var(--wcss-display-xs-line-height, 1.3)}.heading-xl{font-family:var(--wcss-heading-xl-family, "AS Circular"),var(--wcss-heading-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-xl-font-size, clamp(2rem, 3vw, 2.5rem));font-weight:var(--wcss-heading-xl-weight, 300);letter-spacing:var(--wcss-heading-xl-letter-spacing, 0);line-height:var(--wcss-heading-xl-line-height, 1.3)}.heading-lg{font-family:var(--wcss-heading-lg-family, "AS Circular"),var(--wcss-heading-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-lg-font-size, clamp(1.75rem, 2.6666666667vw, 2.25rem));font-weight:var(--wcss-heading-lg-weight, 300);letter-spacing:var(--wcss-heading-lg-letter-spacing, 0);line-height:var(--wcss-heading-lg-line-height, 1.3)}.heading-md{font-family:var(--wcss-heading-md-family, "AS Circular"),var(--wcss-heading-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-md-font-size, clamp(1.625rem, 2.3333333333vw, 1.75rem));font-weight:var(--wcss-heading-md-weight, 300);letter-spacing:var(--wcss-heading-md-letter-spacing, 0);line-height:var(--wcss-heading-md-line-height, 1.3)}.heading-sm{font-family:var(--wcss-heading-sm-family, "AS Circular"),var(--wcss-heading-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-sm-font-size, clamp(1.375rem, 2vw, 1.5rem));font-weight:var(--wcss-heading-sm-weight, 300);letter-spacing:var(--wcss-heading-sm-letter-spacing, 0);line-height:var(--wcss-heading-sm-line-height, 1.3)}.heading-xs{font-family:var(--wcss-heading-xs-family, "AS Circular"),var(--wcss-heading-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-xs-font-size, clamp(1.25rem, 1.6666666667vw, 1.25rem));font-weight:var(--wcss-heading-xs-weight, 450);letter-spacing:var(--wcss-heading-xs-letter-spacing, 0);line-height:var(--wcss-heading-xs-line-height, 1.3)}.heading-2xs{font-family:var(--wcss-heading-2xs-family, "AS Circular"),var(--wcss-heading-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-2xs-font-size, clamp(1.125rem, 1.5vw, 1.125rem));font-weight:var(--wcss-heading-2xs-weight, 450);letter-spacing:var(--wcss-heading-2xs-letter-spacing, 0);line-height:var(--wcss-heading-2xs-line-height, 1.3)}.accent-2xl{font-family:var(--wcss-accent-2xl-family, "Good OT"),var(--wcss-accent-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-2xl-font-size, clamp(2rem, 3.1666666667vw, 2.375rem));font-weight:var(--wcss-accent-2xl-weight, 450);letter-spacing:var(--wcss-accent-2xl-letter-spacing, .05em);line-height:var(--wcss-accent-2xl-line-height, 1)}.accent-2xl,.accent-xl{text-transform:uppercase}.accent-xl{font-family:var(--wcss-accent-xl-family, "Good OT"),var(--wcss-accent-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-xl-font-size, clamp(1.625rem, 2.3333333333vw, 2rem));font-weight:var(--wcss-accent-xl-weight, 450);letter-spacing:var(--wcss-accent-xl-letter-spacing, .05em);line-height:var(--wcss-accent-xl-line-height, 1.3)}.accent-lg{font-family:var(--wcss-accent-lg-family, "Good OT"),var(--wcss-accent-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-lg-font-size, clamp(1.5rem, 2.1666666667vw, 1.75rem));font-weight:var(--wcss-accent-lg-weight, 450);letter-spacing:var(--wcss-accent-lg-letter-spacing, .05em);line-height:var(--wcss-accent-lg-line-height, 1.3)}.accent-lg,.accent-md{text-transform:uppercase}.accent-md{font-family:var(--wcss-accent-md-family, "Good OT"),var(--wcss-accent-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-md-font-size, clamp(1.375rem, 1.8333333333vw, 1.5rem));font-weight:var(--wcss-accent-md-weight, 500);letter-spacing:var(--wcss-accent-md-letter-spacing, .05em);line-height:var(--wcss-accent-md-line-height, 1.3)}.accent-sm{font-family:var(--wcss-accent-sm-family, "Good OT"),var(--wcss-accent-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-sm-font-size, clamp(1.125rem, 1.5vw, 1.25rem));font-weight:var(--wcss-accent-sm-weight, 500);letter-spacing:var(--wcss-accent-sm-letter-spacing, .05em);line-height:var(--wcss-accent-sm-line-height, 1.3)}.accent-sm,.accent-xs{text-transform:uppercase}.accent-xs{font-family:var(--wcss-accent-xs-family, "Good OT"),var(--wcss-accent-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-xs-font-size, clamp(1rem, 1.3333333333vw, 1rem));font-weight:var(--wcss-accent-xs-weight, 500);letter-spacing:var(--wcss-accent-xs-letter-spacing, .1em);line-height:var(--wcss-accent-xs-line-height, 1.3)}.accent-2xs{font-family:var(--wcss-accent-2xs-family, "Good OT"),var(--wcss-accent-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-2xs-font-size, clamp(.875rem, 1.1666666667vw, .875rem));font-weight:var(--wcss-accent-2xs-weight, 450);letter-spacing:var(--wcss-accent-2xs-letter-spacing, .1em);line-height:var(--wcss-accent-2xs-line-height, 1.3);text-transform:uppercase}:focus:not(:focus-visible){outline:3px solid transparent}:host,:host>span{position:relative}:host{width:2rem;height:2rem;display:inline-block;font-size:0}:host>span{position:absolute;display:inline-block;float:none;top:0;left:0;width:2rem;height:2rem;border-radius:100%;border-style:solid;border-width:0;box-sizing:border-box}:host([xs]),:host([xs])>span{width:1.2rem;height:1.2rem}:host([sm]),:host([sm])>span{width:3rem;height:3rem}:host([md]),:host([md])>span{width:5rem;height:5rem}:host([lg]),:host([lg])>span{width:8rem;height:8rem}:host{--margin: .375rem;--margin-xs: .2rem;--margin-sm: .5rem;--margin-md: .75rem;--margin-lg: 1rem}:host([pulse]),:host([pulse])>span{position:relative}:host([pulse]){width:calc(3rem + var(--margin) * 6);height:calc(1rem + var(--margin) * 2)}:host([pulse])>span{width:1rem;height:1rem;margin:var(--margin);animation:pulse 1.5s ease infinite}:host([pulse][xs]){width:calc(1.95rem + var(--margin-xs) * 6);height:calc(.65rem + var(--margin-xs) * 2)}:host([pulse][xs])>span{margin:var(--margin-xs);width:.65rem;height:.65rem}:host([pulse][sm]){width:calc(6rem + var(--margin-sm) * 6);height:calc(2rem + var(--margin-sm) * 2)}:host([pulse][sm])>span{margin:var(--margin-sm);width:2rem;height:2rem}:host([pulse][md]){width:calc(9rem + var(--margin-md) * 6);height:calc(3rem + var(--margin-md) * 2)}:host([pulse][md])>span{margin:var(--margin-md);width:3rem;height:3rem}:host([pulse][lg]){width:calc(15rem + var(--margin-lg) * 6);height:calc(5rem + var(--margin-lg) * 2)}:host([pulse][lg])>span{margin:var(--margin-lg);width:5rem;height:5rem}:host([pulse])>span:nth-child(1){animation-delay:-.4s}:host([pulse])>span:nth-child(2){animation-delay:-.2s}:host([pulse])>span:nth-child(3){animation-delay:0ms}@keyframes pulse{0%,to{opacity:.1;transform:scale(.9)}50%{opacity:1;transform:scale(1.1)}}:host([orbit]),:host([orbit])>span{opacity:1}:host([orbit])>span{border-width:5px}:host([orbit])>span:nth-child(2){animation:orbit 2s linear infinite}:host([orbit][sm])>span{border-width:8px}:host([orbit][md])>span{border-width:13px}:host([orbit][lg])>span{border-width:21px}@keyframes orbit{0%{transform:rotate(0)}to{transform:rotate(360deg)}}:host([ringworm])>svg{animation:rotate 2s linear infinite;height:100%;width:100%;stroke:currentcolor;stroke-width:8}:host([ringworm]) .path{stroke-dashoffset:0;animation:ringworm 1.5s ease-in-out infinite;stroke-linecap:round}@keyframes rotate{to{transform:rotate(360deg)}}@keyframes ringworm{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px}to{stroke-dasharray:89,200;stroke-dashoffset:-124px}}:host([laser]){position:static;width:100%;display:block;height:0;overflow:hidden;font-size:unset}:host([laser])>span{position:fixed;width:100%;height:.25rem;border-radius:0;z-index:100}:host([laser])>span:nth-child(1){border-color:currentcolor;opacity:.25}:host([laser])>span:nth-child(2){border-color:currentcolor;animation:laser 2s linear infinite;opacity:1;width:50%}:host([laser][sm])>span:nth-child(2){width:20%}:host([laser][md])>span:nth-child(2){width:30%}:host([laser][lg])>span:nth-child(2){width:50%;animation-duration:1.5s}:host([laser][xl])>span:nth-child(2){width:80%;animation-duration:1.5s}@keyframes laser{0%{left:-100%}to{left:110%}}:host>.no-animation{display:none}@media (prefers-reduced-motion: reduce){:host{display:flex;align-items:center;justify-content:center}:host>span{opacity:1}:host>.loader{display:none}:host>svg{display:none}:host>.no-animation{display:block}}
@@ -32502,7 +32558,7 @@ let AuroHelpText$2$1 = class AuroHelpText extends i$2 {
32502
32558
  }
32503
32559
  };
32504
32560
 
32505
- var formkitVersion$1$3 = '202608111803';
32561
+ var formkitVersion$1$3 = '202608262225';
32506
32562
 
32507
32563
  let AuroElement$2$2 = class AuroElement extends i$2 {
32508
32564
  static get properties() {
@@ -44667,6 +44723,8 @@ let BaseInput$1 = class BaseInput extends AuroElement$1$3 {
44667
44723
 
44668
44724
  /**
44669
44725
  * If set, the label will remain fixed in the active position.
44726
+ * Only applies to the classic/default layout; the emphasized and snowflake
44727
+ * layouts always render the label inside the field, so this has no effect there.
44670
44728
  */
44671
44729
  activeLabel: {
44672
44730
  type: Boolean,
@@ -45786,6 +45844,18 @@ let BaseInput$1 = class BaseInput extends AuroElement$1$3 {
45786
45844
  cardIcon: 'cc-dinersclub',
45787
45845
  maskFormat: "0000 000000 0000"
45788
45846
  },
45847
+ {
45848
+ // JCB is variable length (16-19 digits), like UnionPay, so it reuses the
45849
+ // formatMinLength/formatLength range machinery. The 35 prefix overlaps no
45850
+ // other brand (Amex is 34|37, Diners is 30[0-5]|36|38).
45851
+ name: 'JCB',
45852
+ regex: /^(?<num>35)\d{0}/u,
45853
+ formatMinLength: 19,
45854
+ formatLength: 23,
45855
+ errorMessage: CreditCardValidationMessage,
45856
+ cardIcon: 'cc-jcb',
45857
+ maskFormat: "0000 0000 0000 0000 000"
45858
+ },
45789
45859
  {
45790
45860
  name: 'Visa',
45791
45861
  regex: /^(?<num>4)\d{0}/u,
@@ -45817,6 +45887,20 @@ let BaseInput$1 = class BaseInput extends AuroElement$1$3 {
45817
45887
  errorMessage: CreditCardValidationMessage,
45818
45888
  cardIcon: 'cc-discover',
45819
45889
  maskFormat: "0000 0000 0000 0000"
45890
+ },
45891
+ {
45892
+ // China UnionPay is variable length (16-19 digits). It must come after
45893
+ // Discover so the last-match-wins loop below gives its 62 prefix
45894
+ // precedence over the generic `6` that resolves to Discover. 81 is used
45895
+ // by UnionPay cards issued outside mainland China and overlaps no other
45896
+ // brand. 60 is intentionally excluded (it overlaps real Discover 6011).
45897
+ name: 'China UnionPay',
45898
+ regex: /^(?<num>62|81)\d{0}/u,
45899
+ formatMinLength: 19,
45900
+ formatLength: 23,
45901
+ errorMessage: CreditCardValidationMessage,
45902
+ cardIcon: 'cc-unionpay',
45903
+ maskFormat: "0000 0000 0000 0000 000"
45820
45904
  }
45821
45905
  ];
45822
45906
 
@@ -45834,7 +45918,12 @@ let BaseInput$1 = class BaseInput extends AuroElement$1$3 {
45834
45918
  }
45835
45919
  });
45836
45920
 
45837
- this.validationCCLength = type.formatLength;
45921
+ // Variable-length brands (both min and max defined, e.g. UnionPay) validate
45922
+ // against the minimum masked length so shorter-but-valid entries are not
45923
+ // flagged tooShort. Fixed-length brands keep their single formatLength.
45924
+ this.validationCCLength = type.formatMinLength && type.formatLength
45925
+ ? type.formatMinLength
45926
+ : type.formatLength;
45838
45927
 
45839
45928
  return type;
45840
45929
  }
@@ -46193,7 +46282,7 @@ let AuroHelpText$1$3 = class AuroHelpText extends i$2 {
46193
46282
  }
46194
46283
  };
46195
46284
 
46196
- var formkitVersion$7 = '202608111803';
46285
+ var formkitVersion$7 = '202608262225';
46197
46286
 
46198
46287
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
46199
46288
  // See LICENSE in the project root for license information.
@@ -46294,15 +46383,35 @@ let AuroInput$1 = class AuroInput extends BaseInput$1 {
46294
46383
  * @private
46295
46384
  */
46296
46385
  get inputHidden() {
46386
+ // In the classic/default layout, activeLabel keeps the input row visible so
46387
+ // the label stays raised rather than collapsing to the centered placeholder
46388
+ // position. Emphasized/snowflake always render the label inside the field,
46389
+ // so activeLabel does not apply there. This only overrides the empty/
46390
+ // unfocused clause — the display-value clause (combobox/datepicker) is
46391
+ // preserved regardless.
46392
+ const activeLabelRaisesInput = this.activeLabel && this.isClassicLayout;
46393
+
46297
46394
  return (
46298
46395
  this.hasDisplayValueContent && !this.hasFocus && this.hasValue) ||
46299
46396
  (
46397
+ !activeLabelRaisesInput &&
46300
46398
  (!this.value || this.value.length === 0) &&
46301
46399
  !this.hasFocus &&
46302
46400
  (!this.placeholderStr || this.placeholderStr === '')
46303
46401
  );
46304
46402
  }
46305
46403
 
46404
+ /**
46405
+ * Whether the component is rendering the classic/default layout, meaning not
46406
+ * emphasized and not snowflake. Kept as a single source of truth so
46407
+ * layout-scoped behavior such as activeLabel stays consistent across getters.
46408
+ * @returns {boolean} - True for the classic/default layout.
46409
+ * @private
46410
+ */
46411
+ get isClassicLayout() {
46412
+ return !this.layout.startsWith('emphasized') && this.layout !== 'snowflake';
46413
+ }
46414
+
46306
46415
  /**
46307
46416
  * Determines if the input should display in a state with no focus or value indication.
46308
46417
  * Returns true when the input has display content without focus and has a value,
@@ -46348,7 +46457,7 @@ let AuroInput$1 = class AuroInput extends BaseInput$1 {
46348
46457
  }
46349
46458
 
46350
46459
  // classic layout (default)
46351
- return ((!this.value || this.value.length === 0) && !this.placeholderStr && !this.hasFocus) ? 'body-default' : 'body-xs';
46460
+ return ((!this.value || this.value.length === 0) && !this.placeholderStr && !this.hasFocus && !this.activeLabel) ? 'body-default' : 'body-xs';
46352
46461
  }
46353
46462
 
46354
46463
  /**
@@ -46444,7 +46553,8 @@ let AuroInput$1 = class AuroInput extends BaseInput$1 {
46444
46553
  'wrapper': true,
46445
46554
  'simple': this.simple,
46446
46555
  'withValue': this.hasValue,
46447
- 'hasFocus': this.hasFocus
46556
+ 'hasFocus': this.hasFocus,
46557
+ 'activeLabel': this.activeLabel
46448
46558
  };
46449
46559
  }
46450
46560
 
@@ -46594,7 +46704,10 @@ let AuroInput$1 = class AuroInput extends BaseInput$1 {
46594
46704
  */
46595
46705
  definePattern() {
46596
46706
  if (this.type === 'credit-card' && !this.noValidate && this.maxLength) {
46597
- return `.{${this.maxLength},${this.maxLength}}`;
46707
+ // Variable-length brands (e.g. UnionPay) set minLength, so accept a range;
46708
+ // fixed-length brands leave minLength undefined and keep an exact length.
46709
+ const minPatternLength = this.minLength || this.maxLength;
46710
+ return `.{${minPatternLength},${this.maxLength}}`;
46598
46711
  }
46599
46712
 
46600
46713
  return this.pattern;
@@ -46655,7 +46768,6 @@ let AuroInput$1 = class AuroInput extends BaseInput$1 {
46655
46768
  @input="${this.handleInput}"
46656
46769
  .placeholder=${this.placeholderStr}
46657
46770
  .role=${this.a11yRole}
46658
- ?activeLabel="${this.activeLabel}"
46659
46771
  ?disabled="${this.disabled}"
46660
46772
  ?required="${this.required}"
46661
46773
  aria-activedescendant=${o$4(this.a11yActivedescendant)}
@@ -51175,7 +51287,7 @@ let AuroHelpText$1$2 = class AuroHelpText extends i$2 {
51175
51287
  }
51176
51288
  };
51177
51289
 
51178
- var formkitVersion$1$2 = '202608111803';
51290
+ var formkitVersion$1$2 = '202608262225';
51179
51291
 
51180
51292
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
51181
51293
  // See LICENSE in the project root for license information.
@@ -55328,7 +55440,7 @@ let AuroHelpText$6 = class AuroHelpText extends i$2 {
55328
55440
  }
55329
55441
  };
55330
55442
 
55331
- var formkitVersion$6 = '202608111803';
55443
+ var formkitVersion$6 = '202608262225';
55332
55444
 
55333
55445
  let AuroElement$1$2 = class AuroElement extends i$2 {
55334
55446
  static get properties() {
@@ -59391,7 +59503,7 @@ let AuroHelpText$5 = class AuroHelpText extends i$2 {
59391
59503
  }
59392
59504
  };
59393
59505
 
59394
- var formkitVersion$5 = '202608111803';
59506
+ var formkitVersion$5 = '202608262225';
59395
59507
 
59396
59508
  // Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
59397
59509
  // See LICENSE in the project root for license information.
@@ -59637,7 +59749,9 @@ class AuroRadioGroup extends i$2 {
59637
59749
 
59638
59750
  this.optionSelected = event.target;
59639
59751
 
59640
- this.validation.validate(this, this.optionSelected !== undefined);
59752
+ if (!this.noValidate) {
59753
+ this.validation.validate(this, this.optionSelected !== undefined);
59754
+ }
59641
59755
  }
59642
59756
 
59643
59757
  /**
@@ -59647,7 +59761,14 @@ class AuroRadioGroup extends i$2 {
59647
59761
  */
59648
59762
  handleRadioBlur() {
59649
59763
  this.touched = true;
59650
- this.validation.validate(this);
59764
+ if (!this.noValidate) {
59765
+ this.validation.validate(this);
59766
+ } else if (this.validity !== undefined && !this.hasAttribute('error')) {
59767
+ // Clear stale error state left by a previous validate(true) call.
59768
+ // Do not clear when the error attribute is set — that is an externally forced error.
59769
+ this.validity = undefined;
59770
+ this.errorMessage = '';
59771
+ }
59651
59772
  }
59652
59773
 
59653
59774
  /**
@@ -59823,7 +59944,9 @@ class AuroRadioGroup extends i$2 {
59823
59944
  this.value = event.target.value;
59824
59945
  this.optionSelected = event.target;
59825
59946
 
59826
- this.validation.validate(this);
59947
+ if (!this.noValidate) {
59948
+ this.validation.validate(this);
59949
+ }
59827
59950
  }
59828
59951
 
59829
59952
  /**
@@ -61156,7 +61279,7 @@ let AuroHelpText$4 = class AuroHelpText extends i$2 {
61156
61279
  }
61157
61280
  };
61158
61281
 
61159
- var formkitVersion$4 = '202608111803';
61282
+ var formkitVersion$4 = '202608262225';
61160
61283
 
61161
61284
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
61162
61285
  // See LICENSE in the project root for license information.
@@ -61376,7 +61499,9 @@ class AuroCheckboxGroup extends i$2 {
61376
61499
  composed: true,
61377
61500
  }));
61378
61501
 
61379
- this.validate(true);
61502
+ if (!this.noValidate) {
61503
+ this.validate(true);
61504
+ }
61380
61505
  }
61381
61506
 
61382
61507
  firstUpdated() {
@@ -61387,11 +61512,19 @@ class AuroCheckboxGroup extends i$2 {
61387
61512
  const checkFocusWithin = function(evt) {
61388
61513
  if (document.auroCheckboxGroupActive && !document.auroCheckboxGroupActive.contains(evt.target)) {
61389
61514
  // if focus has left the group, cleanup and validate
61390
- document.auroCheckboxGroupActive.focusWithin = false;
61515
+ const group = document.auroCheckboxGroupActive;
61516
+ group.focusWithin = false;
61391
61517
  window.removeEventListener('focusin', checkFocusWithin);
61392
61518
  document.removeEventListener('click', checkFocusWithin);
61393
61519
  // execute the validation
61394
- document.auroCheckboxGroupActive.validation.validate(document.auroCheckboxGroupActive);
61520
+ if (!group.noValidate) {
61521
+ group.validation.validate(group);
61522
+ } else if (group.validity !== undefined && !group.hasAttribute('error')) {
61523
+ // Clear stale error state left by a previous validate(true) call.
61524
+ // Do not clear when the error attribute is set — that is an externally forced error.
61525
+ group.validity = undefined;
61526
+ group.errorMessage = '';
61527
+ }
61395
61528
  }
61396
61529
  };
61397
61530
 
@@ -66475,7 +66608,7 @@ let AuroHelpText$2 = class AuroHelpText extends i$2 {
66475
66608
  }
66476
66609
  };
66477
66610
 
66478
- var formkitVersion$2 = '202608111803';
66611
+ var formkitVersion$2 = '202608262225';
66479
66612
 
66480
66613
  let AuroElement$2$1 = class AuroElement extends i$2 {
66481
66614
  static get properties() {
@@ -78640,6 +78773,8 @@ class BaseInput extends AuroElement$1$1 {
78640
78773
 
78641
78774
  /**
78642
78775
  * If set, the label will remain fixed in the active position.
78776
+ * Only applies to the classic/default layout; the emphasized and snowflake
78777
+ * layouts always render the label inside the field, so this has no effect there.
78643
78778
  */
78644
78779
  activeLabel: {
78645
78780
  type: Boolean,
@@ -79759,6 +79894,18 @@ class BaseInput extends AuroElement$1$1 {
79759
79894
  cardIcon: 'cc-dinersclub',
79760
79895
  maskFormat: "0000 000000 0000"
79761
79896
  },
79897
+ {
79898
+ // JCB is variable length (16-19 digits), like UnionPay, so it reuses the
79899
+ // formatMinLength/formatLength range machinery. The 35 prefix overlaps no
79900
+ // other brand (Amex is 34|37, Diners is 30[0-5]|36|38).
79901
+ name: 'JCB',
79902
+ regex: /^(?<num>35)\d{0}/u,
79903
+ formatMinLength: 19,
79904
+ formatLength: 23,
79905
+ errorMessage: CreditCardValidationMessage,
79906
+ cardIcon: 'cc-jcb',
79907
+ maskFormat: "0000 0000 0000 0000 000"
79908
+ },
79762
79909
  {
79763
79910
  name: 'Visa',
79764
79911
  regex: /^(?<num>4)\d{0}/u,
@@ -79790,6 +79937,20 @@ class BaseInput extends AuroElement$1$1 {
79790
79937
  errorMessage: CreditCardValidationMessage,
79791
79938
  cardIcon: 'cc-discover',
79792
79939
  maskFormat: "0000 0000 0000 0000"
79940
+ },
79941
+ {
79942
+ // China UnionPay is variable length (16-19 digits). It must come after
79943
+ // Discover so the last-match-wins loop below gives its 62 prefix
79944
+ // precedence over the generic `6` that resolves to Discover. 81 is used
79945
+ // by UnionPay cards issued outside mainland China and overlaps no other
79946
+ // brand. 60 is intentionally excluded (it overlaps real Discover 6011).
79947
+ name: 'China UnionPay',
79948
+ regex: /^(?<num>62|81)\d{0}/u,
79949
+ formatMinLength: 19,
79950
+ formatLength: 23,
79951
+ errorMessage: CreditCardValidationMessage,
79952
+ cardIcon: 'cc-unionpay',
79953
+ maskFormat: "0000 0000 0000 0000 000"
79793
79954
  }
79794
79955
  ];
79795
79956
 
@@ -79807,7 +79968,12 @@ class BaseInput extends AuroElement$1$1 {
79807
79968
  }
79808
79969
  });
79809
79970
 
79810
- this.validationCCLength = type.formatLength;
79971
+ // Variable-length brands (both min and max defined, e.g. UnionPay) validate
79972
+ // against the minimum masked length so shorter-but-valid entries are not
79973
+ // flagged tooShort. Fixed-length brands keep their single formatLength.
79974
+ this.validationCCLength = type.formatMinLength && type.formatLength
79975
+ ? type.formatMinLength
79976
+ : type.formatLength;
79811
79977
 
79812
79978
  return type;
79813
79979
  }
@@ -80166,7 +80332,7 @@ let AuroHelpText$1$1 = class AuroHelpText extends i$2 {
80166
80332
  }
80167
80333
  };
80168
80334
 
80169
- var formkitVersion$1$1 = '202608111803';
80335
+ var formkitVersion$1$1 = '202608262225';
80170
80336
 
80171
80337
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
80172
80338
  // See LICENSE in the project root for license information.
@@ -80267,15 +80433,35 @@ class AuroInput extends BaseInput {
80267
80433
  * @private
80268
80434
  */
80269
80435
  get inputHidden() {
80436
+ // In the classic/default layout, activeLabel keeps the input row visible so
80437
+ // the label stays raised rather than collapsing to the centered placeholder
80438
+ // position. Emphasized/snowflake always render the label inside the field,
80439
+ // so activeLabel does not apply there. This only overrides the empty/
80440
+ // unfocused clause — the display-value clause (combobox/datepicker) is
80441
+ // preserved regardless.
80442
+ const activeLabelRaisesInput = this.activeLabel && this.isClassicLayout;
80443
+
80270
80444
  return (
80271
80445
  this.hasDisplayValueContent && !this.hasFocus && this.hasValue) ||
80272
80446
  (
80447
+ !activeLabelRaisesInput &&
80273
80448
  (!this.value || this.value.length === 0) &&
80274
80449
  !this.hasFocus &&
80275
80450
  (!this.placeholderStr || this.placeholderStr === '')
80276
80451
  );
80277
80452
  }
80278
80453
 
80454
+ /**
80455
+ * Whether the component is rendering the classic/default layout, meaning not
80456
+ * emphasized and not snowflake. Kept as a single source of truth so
80457
+ * layout-scoped behavior such as activeLabel stays consistent across getters.
80458
+ * @returns {boolean} - True for the classic/default layout.
80459
+ * @private
80460
+ */
80461
+ get isClassicLayout() {
80462
+ return !this.layout.startsWith('emphasized') && this.layout !== 'snowflake';
80463
+ }
80464
+
80279
80465
  /**
80280
80466
  * Determines if the input should display in a state with no focus or value indication.
80281
80467
  * Returns true when the input has display content without focus and has a value,
@@ -80321,7 +80507,7 @@ class AuroInput extends BaseInput {
80321
80507
  }
80322
80508
 
80323
80509
  // classic layout (default)
80324
- return ((!this.value || this.value.length === 0) && !this.placeholderStr && !this.hasFocus) ? 'body-default' : 'body-xs';
80510
+ return ((!this.value || this.value.length === 0) && !this.placeholderStr && !this.hasFocus && !this.activeLabel) ? 'body-default' : 'body-xs';
80325
80511
  }
80326
80512
 
80327
80513
  /**
@@ -80417,7 +80603,8 @@ class AuroInput extends BaseInput {
80417
80603
  'wrapper': true,
80418
80604
  'simple': this.simple,
80419
80605
  'withValue': this.hasValue,
80420
- 'hasFocus': this.hasFocus
80606
+ 'hasFocus': this.hasFocus,
80607
+ 'activeLabel': this.activeLabel
80421
80608
  };
80422
80609
  }
80423
80610
 
@@ -80567,7 +80754,10 @@ class AuroInput extends BaseInput {
80567
80754
  */
80568
80755
  definePattern() {
80569
80756
  if (this.type === 'credit-card' && !this.noValidate && this.maxLength) {
80570
- return `.{${this.maxLength},${this.maxLength}}`;
80757
+ // Variable-length brands (e.g. UnionPay) set minLength, so accept a range;
80758
+ // fixed-length brands leave minLength undefined and keep an exact length.
80759
+ const minPatternLength = this.minLength || this.maxLength;
80760
+ return `.{${minPatternLength},${this.maxLength}}`;
80571
80761
  }
80572
80762
 
80573
80763
  return this.pattern;
@@ -80628,7 +80818,6 @@ class AuroInput extends BaseInput {
80628
80818
  @input="${this.handleInput}"
80629
80819
  .placeholder=${this.placeholderStr}
80630
80820
  .role=${this.a11yRole}
80631
- ?activeLabel="${this.activeLabel}"
80632
80821
  ?disabled="${this.disabled}"
80633
80822
  ?required="${this.required}"
80634
80823
  aria-activedescendant=${o$4(this.a11yActivedescendant)}
@@ -81322,7 +81511,7 @@ let AuroBibtemplate$1 = class AuroBibtemplate extends i$2 {
81322
81511
  }
81323
81512
  };
81324
81513
 
81325
- var formkitVersion$3 = '202608111803';
81514
+ var formkitVersion$3 = '202608262225';
81326
81515
 
81327
81516
  var styleCss$1$3 = i$4`.util_displayInline{display:inline}.util_displayInlineBlock{display:inline-block}.util_displayBlock{display:block}.util_displayFlex{display:flex}.util_displayHidden{display:none}.util_displayHiddenVisually{position:absolute;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);width:1px;height:1px;padding:0;border:0}:host{display:block;text-align:left}:host [auro-dropdown]{--ds-auro-dropdown-trigger-background-color: transparent}:host #inputInBib::part(wrapper){box-shadow:none}:host #inputInBib::part(accent-left){display:none}:host([layout*=classic]) [auro-input]{width:100%}:host([layout*=classic]) [auro-input]::part(helpText){display:none}:host([layout*=classic]) #slotHolder{display:none}`;
81328
81517
 
@@ -83017,8 +83206,13 @@ class AuroCombobox extends AuroElement$3 {
83017
83206
  // and validating against the pre-selection value flashes a stale error
83018
83207
  // between mousedown and mouseup. The next focusout fires after the
83019
83208
  // dropdown closes and validates against the post-selection value.
83020
- if (!this.componentHasFocus && !this._inFullscreenTransition && !this.dropdownOpen) {
83209
+ if (!this.noValidate && !this.componentHasFocus && !this._inFullscreenTransition && !this.dropdownOpen) {
83021
83210
  this.validate();
83211
+ } else if (this.noValidate && !this.componentHasFocus && !this._inFullscreenTransition && !this.dropdownOpen && this.validity !== undefined && !this.hasAttribute('error')) {
83212
+ // Clear stale error state left by a previous validate(true) call.
83213
+ // Do not clear when the error attribute is set — that is an externally forced error.
83214
+ this.validity = undefined;
83215
+ this.errorMessage = null;
83022
83216
  }
83023
83217
  });
83024
83218
 
@@ -83157,7 +83351,7 @@ class AuroCombobox extends AuroElement$3 {
83157
83351
  // interaction). In fullscreen dialog mode, componentHasFocus returns false
83158
83352
  // because focus is inside the top-layer dialog, so also check
83159
83353
  // dropdownOpen and the fullscreen transition flag.
83160
- if (!this.componentHasFocus && !this.dropdownOpen && !this._inFullscreenTransition) {
83354
+ if (!this.noValidate && !this.componentHasFocus && !this.dropdownOpen && !this._inFullscreenTransition) {
83161
83355
  this.validate();
83162
83356
  }
83163
83357
 
@@ -90522,7 +90716,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$2 {
90522
90716
  }
90523
90717
  };
90524
90718
 
90525
- var formkitVersion$1 = '202608111803';
90719
+ var formkitVersion$1 = '202608262225';
90526
90720
 
90527
90721
  class AuroElement extends i$2 {
90528
90722
  static get properties() {
@@ -92633,7 +92827,7 @@ class AuroHelpText extends i$2 {
92633
92827
  }
92634
92828
  }
92635
92829
 
92636
- var formkitVersion = '202608111803';
92830
+ var formkitVersion = '202608262225';
92637
92831
 
92638
92832
  var styleCss = i$4`.util_displayInline{display:inline}.util_displayInlineBlock{display:inline-block}.util_displayBlock{display:block}.util_displayFlex{display:flex}.util_displayHidden{display:none}.util_displayHiddenVisually{position:absolute;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);width:1px;height:1px;padding:0;border:0}.body-default{font-size:var(--wcss-body-default-font-size, 1rem);font-weight:var(--wcss-body-default-weight, );line-height:var(--wcss-body-default-line-height, 1.5rem)}.body-default,.body-default-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-default-emphasized{font-size:var(--wcss-body-default-emphasized-font-size, 1rem);font-weight:var(--wcss-body-default-emphasized-weight, );line-height:var(--wcss-body-default-emphasized-line-height, 1.5rem)}.body-lg{font-size:var(--wcss-body-lg-font-size, 1.125rem);font-weight:var(--wcss-body-lg-weight, );line-height:var(--wcss-body-lg-line-height, 1.625rem)}.body-lg,.body-lg-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-lg-emphasized{font-size:var(--wcss-body-lg-emphasized-font-size, 1.125rem);font-weight:var(--wcss-body-lg-emphasized-weight, );line-height:var(--wcss-body-lg-emphasized-line-height, 1.625rem)}.body-sm{font-size:var(--wcss-body-sm-font-size, 0.875rem);font-weight:var(--wcss-body-sm-weight, );line-height:var(--wcss-body-sm-line-height, 1.25rem)}.body-sm,.body-sm-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-sm-emphasized{font-size:var(--wcss-body-sm-emphasized-font-size, 0.875rem);font-weight:var(--wcss-body-sm-emphasized-weight, );line-height:var(--wcss-body-sm-emphasized-line-height, 1.25rem)}.body-xs{font-size:var(--wcss-body-xs-font-size, 0.75rem);font-weight:var(--wcss-body-xs-weight, );line-height:var(--wcss-body-xs-line-height, 1rem)}.body-xs,.body-xs-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-xs-emphasized{font-size:var(--wcss-body-xs-emphasized-font-size, 0.75rem);font-weight:var(--wcss-body-xs-emphasized-weight, );line-height:var(--wcss-body-xs-emphasized-line-height, 1rem)}.body-2xs{font-size:var(--wcss-body-2xs-font-size, 0.625rem);font-weight:var(--wcss-body-2xs-weight, );line-height:var(--wcss-body-2xs-line-height, 0.875rem)}.body-2xs,.body-2xs-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-2xs-emphasized{font-size:var(--wcss-body-2xs-emphasized-font-size, 0.625rem);font-weight:var(--wcss-body-2xs-emphasized-weight, );line-height:var(--wcss-body-2xs-emphasized-line-height, 0.875rem)}.display-2xl{font-family:var(--wcss-display-2xl-family, "AS Circular"),var(--wcss-display-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-2xl-font-size, clamp(3.5rem, 6vw, 5.375rem));font-weight:var(--wcss-display-2xl-weight, 300);letter-spacing:var(--wcss-display-2xl-letter-spacing, 0);line-height:var(--wcss-display-2xl-line-height, 1.3)}.display-xl{font-family:var(--wcss-display-xl-family, "AS Circular"),var(--wcss-display-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-xl-font-size, clamp(3rem, 5.3333333333vw, 4.5rem));font-weight:var(--wcss-display-xl-weight, 300);letter-spacing:var(--wcss-display-xl-letter-spacing, 0);line-height:var(--wcss-display-xl-line-height, 1.3)}.display-lg{font-family:var(--wcss-display-lg-family, "AS Circular"),var(--wcss-display-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-lg-font-size, clamp(2.75rem, 4.6666666667vw, 4rem));font-weight:var(--wcss-display-lg-weight, 300);letter-spacing:var(--wcss-display-lg-letter-spacing, 0);line-height:var(--wcss-display-lg-line-height, 1.3)}.display-md{font-family:var(--wcss-display-md-family, "AS Circular"),var(--wcss-display-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-md-font-size, clamp(2.5rem, 4vw, 3.5rem));font-weight:var(--wcss-display-md-weight, 300);letter-spacing:var(--wcss-display-md-letter-spacing, 0);line-height:var(--wcss-display-md-line-height, 1.3)}.display-sm{font-family:var(--wcss-display-sm-family, "AS Circular"),var(--wcss-display-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-sm-font-size, clamp(2rem, 3.6666666667vw, 3rem));font-weight:var(--wcss-display-sm-weight, 300);letter-spacing:var(--wcss-display-sm-letter-spacing, 0);line-height:var(--wcss-display-sm-line-height, 1.3)}.display-xs{font-family:var(--wcss-display-xs-family, "AS Circular"),var(--wcss-display-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-xs-font-size, clamp(1.75rem, 3vw, 2.375rem));font-weight:var(--wcss-display-xs-weight, 300);letter-spacing:var(--wcss-display-xs-letter-spacing, 0);line-height:var(--wcss-display-xs-line-height, 1.3)}.heading-xl{font-family:var(--wcss-heading-xl-family, "AS Circular"),var(--wcss-heading-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-xl-font-size, clamp(2rem, 3vw, 2.5rem));font-weight:var(--wcss-heading-xl-weight, 300);letter-spacing:var(--wcss-heading-xl-letter-spacing, 0);line-height:var(--wcss-heading-xl-line-height, 1.3)}.heading-lg{font-family:var(--wcss-heading-lg-family, "AS Circular"),var(--wcss-heading-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-lg-font-size, clamp(1.75rem, 2.6666666667vw, 2.25rem));font-weight:var(--wcss-heading-lg-weight, 300);letter-spacing:var(--wcss-heading-lg-letter-spacing, 0);line-height:var(--wcss-heading-lg-line-height, 1.3)}.heading-md{font-family:var(--wcss-heading-md-family, "AS Circular"),var(--wcss-heading-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-md-font-size, clamp(1.625rem, 2.3333333333vw, 1.75rem));font-weight:var(--wcss-heading-md-weight, 300);letter-spacing:var(--wcss-heading-md-letter-spacing, 0);line-height:var(--wcss-heading-md-line-height, 1.3)}.heading-sm{font-family:var(--wcss-heading-sm-family, "AS Circular"),var(--wcss-heading-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-sm-font-size, clamp(1.375rem, 2vw, 1.5rem));font-weight:var(--wcss-heading-sm-weight, 300);letter-spacing:var(--wcss-heading-sm-letter-spacing, 0);line-height:var(--wcss-heading-sm-line-height, 1.3)}.heading-xs{font-family:var(--wcss-heading-xs-family, "AS Circular"),var(--wcss-heading-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-xs-font-size, clamp(1.25rem, 1.6666666667vw, 1.25rem));font-weight:var(--wcss-heading-xs-weight, 300);letter-spacing:var(--wcss-heading-xs-letter-spacing, 0);line-height:var(--wcss-heading-xs-line-height, 1.3)}.heading-2xs{font-family:var(--wcss-heading-2xs-family, "AS Circular"),var(--wcss-heading-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-2xs-font-size, clamp(1.125rem, 1.5vw, 1.125rem));font-weight:var(--wcss-heading-2xs-weight, 300);letter-spacing:var(--wcss-heading-2xs-letter-spacing, 0);line-height:var(--wcss-heading-2xs-line-height, 1.3)}.accent-2xl{font-family:var(--wcss-accent-2xl-family, "Good OT"),var(--wcss-accent-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-2xl-font-size, clamp(2rem, 3.1666666667vw, 2.375rem));font-weight:var(--wcss-accent-2xl-weight, 450);letter-spacing:var(--wcss-accent-2xl-letter-spacing, 0.05em);line-height:var(--wcss-accent-2xl-line-height, 1)}.accent-2xl,.accent-xl{text-transform:uppercase}.accent-xl{font-family:var(--wcss-accent-xl-family, "Good OT"),var(--wcss-accent-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-xl-font-size, clamp(1.625rem, 2.3333333333vw, 2rem));font-weight:var(--wcss-accent-xl-weight, 450);letter-spacing:var(--wcss-accent-xl-letter-spacing, 0.05em);line-height:var(--wcss-accent-xl-line-height, 1.3)}.accent-lg{font-family:var(--wcss-accent-lg-family, "Good OT"),var(--wcss-accent-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-lg-font-size, clamp(1.5rem, 2.1666666667vw, 1.75rem));font-weight:var(--wcss-accent-lg-weight, 450);letter-spacing:var(--wcss-accent-lg-letter-spacing, 0.05em);line-height:var(--wcss-accent-lg-line-height, 1.3)}.accent-lg,.accent-md{text-transform:uppercase}.accent-md{font-family:var(--wcss-accent-md-family, "Good OT"),var(--wcss-accent-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-md-font-size, clamp(1.375rem, 1.8333333333vw, 1.5rem));font-weight:var(--wcss-accent-md-weight, 500);letter-spacing:var(--wcss-accent-md-letter-spacing, 0.05em);line-height:var(--wcss-accent-md-line-height, 1.3)}.accent-sm{font-family:var(--wcss-accent-sm-family, "Good OT"),var(--wcss-accent-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-sm-font-size, clamp(1.125rem, 1.5vw, 1.25rem));font-weight:var(--wcss-accent-sm-weight, 500);letter-spacing:var(--wcss-accent-sm-letter-spacing, 0.05em);line-height:var(--wcss-accent-sm-line-height, 1.3)}.accent-sm,.accent-xs{text-transform:uppercase}.accent-xs{font-family:var(--wcss-accent-xs-family, "Good OT"),var(--wcss-accent-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-xs-font-size, clamp(1rem, 1.3333333333vw, 1rem));font-weight:var(--wcss-accent-xs-weight, 500);letter-spacing:var(--wcss-accent-xs-letter-spacing, 0.1em);line-height:var(--wcss-accent-xs-line-height, 1.3)}.accent-2xs{font-family:var(--wcss-accent-2xs-family, "Good OT"),var(--wcss-accent-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-2xs-font-size, clamp(0.875rem, 1.1666666667vw, 0.875rem));font-weight:var(--wcss-accent-2xs-weight, 450);letter-spacing:var(--wcss-accent-2xs-letter-spacing, 0.1em);line-height:var(--wcss-accent-2xs-line-height, 1.3);text-transform:uppercase}[auro-dropdown]{--ds-auro-dropdown-trigger-border-color: var(--ds-auro-select-border-color);--ds-auro-dropdown-trigger-background-color: var(--ds-auro-select-background-color);--ds-auro-dropdown-trigger-container-color: var(--ds-auro-select-background-color);--ds-auro-dropdown-trigger-outline-color: var(--ds-auro-select-outline-color)}:host{display:inline-block;text-align:left;vertical-align:top}:host([layout*=emphasized]) [auro-dropdown],:host([layout*=snowflake]) [auro-dropdown]{--ds-auro-select-border-color: transparent}:host([layout*=emphasized]) .mainContent,:host([layout*=snowflake]) .mainContent{text-align:center}.mainContent{position:relative;display:flex;overflow:hidden;flex:1;flex-direction:column;align-items:center;justify-content:center}.valueContainer{max-width:100%}.accents{display:flex;flex-direction:row;align-items:center;justify-content:center}::slotted([slot=typeIcon]){margin-right:var(--ds-size-100, 0.5rem)}.displayValue{display:block}.displayValue:not(.force){display:none}.displayValue:not(.force).hasContent:is(.withValue):not(.hasFocus){display:block}.triggerContent{display:flex;width:100%;box-sizing:border-box;align-items:center;justify-content:center}:host([layout*=emphasized]) .triggerContent{padding:0 var(--ds-size-100, 0.5rem) 0 var(--ds-size-300, 1.5rem)}:host([layout*=snowflake]) .triggerContent{padding:0 var(--ds-size-100, 0.5rem) 0 var(--ds-size-200, 1rem)}:host([layout*=snowflake]) label{padding-block:var(--ds-size-25, 0.125rem)}:host([layout*=classic]) .triggerContent{padding:0 var(--ds-size-100, 0.5rem)}:host([layout*=classic]) .mainContent{align-items:start}:host([layout*=classic]) label{overflow:hidden;cursor:text;text-overflow:ellipsis;white-space:nowrap}:host([layout*=classic]) .value{overflow:hidden;height:auto;text-overflow:ellipsis;white-space:nowrap}label{color:var(--ds-auro-select-label-text-color)}:host(:is([validity]:not([validity=valid]))) [auro-dropdown]{--ds-auro-select-border-color: var(--ds-basic-color-status-error, #e31f26);--ds-auro-select-outline-color: var(--ds-basic-color-status-error, #e31f26);--ds-auro-dropdown-helptext-text-color: var(--ds-basic-color-texticon-default, #2a2a2a)}:host([ondark]:is([validity]:not([validity=valid]))) [auro-dropdown],:host([appearance=inverse]:is([validity]:not([validity=valid]))) [auro-dropdown]{--ds-auro-select-border-color: var(--ds-advanced-color-state-error-inverse, #f9a4a8);--ds-auro-select-outline-color: var(--ds-advanced-color-state-error-inverse, #f9a4a8);--ds-auro-dropdown-helptext-text-color: var(--ds-basic-color-texticon-inverse, #ffffff)}#slotHolder{display:none}:host([fluid]){width:100%}:host([disabled]){pointer-events:none;user-select:none}:host([disabled]:not([ondark])) [auro-dropdown],:host([disabled]:not([appearance=inverse])) [auro-dropdown]{--ds-auro-select-border-color: var(--ds-basic-color-border-subtle, #dddddd)}:host(:not([layout*=classic])[disabled][ondark]) [auro-dropdown],:host(:not([layout*=classic])[disabled][appearance=inverse]) [auro-dropdown]{--ds-auro-select-border-color: transparent}`;
92639
92833
 
@@ -93630,7 +93824,14 @@ class AuroSelect extends AuroElement$1 {
93630
93824
  this.addEventListener('focusin', this.handleFocusin);
93631
93825
 
93632
93826
  this.addEventListener('blur', () => {
93633
- this.validate();
93827
+ if (!this.noValidate) {
93828
+ this.validate();
93829
+ } else if (this.validity !== undefined && !this.hasAttribute('error')) {
93830
+ // Clear stale error state left by a previous validate(true) call.
93831
+ // Do not clear when the error attribute is set — that is an externally forced error.
93832
+ this.validity = undefined;
93833
+ this.errorMessage = '';
93834
+ }
93634
93835
  this.hasFocus = false;
93635
93836
  this._clearTypeaheadBuffer();
93636
93837
  });
@@ -93965,7 +94166,9 @@ class AuroSelect extends AuroElement$1 {
93965
94166
  this.setMenuValue(this.value);
93966
94167
 
93967
94168
  this._updateNativeSelect();
93968
- this.validate();
94169
+ if (!this.noValidate) {
94170
+ this.validate();
94171
+ }
93969
94172
  if (!this.multiSelect) {
93970
94173
  this.hideBib();
93971
94174
  }