@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
@@ -11862,6 +11862,8 @@ let BaseInput$2 = class BaseInput extends AuroElement$6 {
11862
11862
 
11863
11863
  /**
11864
11864
  * If set, the label will remain fixed in the active position.
11865
+ * Only applies to the classic/default layout; the emphasized and snowflake
11866
+ * layouts always render the label inside the field, so this has no effect there.
11865
11867
  */
11866
11868
  activeLabel: {
11867
11869
  type: Boolean,
@@ -12981,6 +12983,18 @@ let BaseInput$2 = class BaseInput extends AuroElement$6 {
12981
12983
  cardIcon: 'cc-dinersclub',
12982
12984
  maskFormat: "0000 000000 0000"
12983
12985
  },
12986
+ {
12987
+ // JCB is variable length (16-19 digits), like UnionPay, so it reuses the
12988
+ // formatMinLength/formatLength range machinery. The 35 prefix overlaps no
12989
+ // other brand (Amex is 34|37, Diners is 30[0-5]|36|38).
12990
+ name: 'JCB',
12991
+ regex: /^(?<num>35)\d{0}/u,
12992
+ formatMinLength: 19,
12993
+ formatLength: 23,
12994
+ errorMessage: CreditCardValidationMessage,
12995
+ cardIcon: 'cc-jcb',
12996
+ maskFormat: "0000 0000 0000 0000 000"
12997
+ },
12984
12998
  {
12985
12999
  name: 'Visa',
12986
13000
  regex: /^(?<num>4)\d{0}/u,
@@ -13012,6 +13026,20 @@ let BaseInput$2 = class BaseInput extends AuroElement$6 {
13012
13026
  errorMessage: CreditCardValidationMessage,
13013
13027
  cardIcon: 'cc-discover',
13014
13028
  maskFormat: "0000 0000 0000 0000"
13029
+ },
13030
+ {
13031
+ // China UnionPay is variable length (16-19 digits). It must come after
13032
+ // Discover so the last-match-wins loop below gives its 62 prefix
13033
+ // precedence over the generic `6` that resolves to Discover. 81 is used
13034
+ // by UnionPay cards issued outside mainland China and overlaps no other
13035
+ // brand. 60 is intentionally excluded (it overlaps real Discover 6011).
13036
+ name: 'China UnionPay',
13037
+ regex: /^(?<num>62|81)\d{0}/u,
13038
+ formatMinLength: 19,
13039
+ formatLength: 23,
13040
+ errorMessage: CreditCardValidationMessage,
13041
+ cardIcon: 'cc-unionpay',
13042
+ maskFormat: "0000 0000 0000 0000 000"
13015
13043
  }
13016
13044
  ];
13017
13045
 
@@ -13029,7 +13057,12 @@ let BaseInput$2 = class BaseInput extends AuroElement$6 {
13029
13057
  }
13030
13058
  });
13031
13059
 
13032
- this.validationCCLength = type.formatLength;
13060
+ // Variable-length brands (both min and max defined, e.g. UnionPay) validate
13061
+ // against the minimum masked length so shorter-but-valid entries are not
13062
+ // flagged tooShort. Fixed-length brands keep their single formatLength.
13063
+ this.validationCCLength = type.formatMinLength && type.formatLength
13064
+ ? type.formatMinLength
13065
+ : type.formatLength;
13033
13066
 
13034
13067
  return type;
13035
13068
  }
@@ -13388,7 +13421,7 @@ let AuroHelpText$8 = class AuroHelpText extends i$3 {
13388
13421
  }
13389
13422
  };
13390
13423
 
13391
- var formkitVersion$8 = '202608111803';
13424
+ var formkitVersion$8 = '202608262225';
13392
13425
 
13393
13426
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
13394
13427
  // See LICENSE in the project root for license information.
@@ -13489,15 +13522,35 @@ let AuroInput$2 = class AuroInput extends BaseInput$2 {
13489
13522
  * @private
13490
13523
  */
13491
13524
  get inputHidden() {
13525
+ // In the classic/default layout, activeLabel keeps the input row visible so
13526
+ // the label stays raised rather than collapsing to the centered placeholder
13527
+ // position. Emphasized/snowflake always render the label inside the field,
13528
+ // so activeLabel does not apply there. This only overrides the empty/
13529
+ // unfocused clause — the display-value clause (combobox/datepicker) is
13530
+ // preserved regardless.
13531
+ const activeLabelRaisesInput = this.activeLabel && this.isClassicLayout;
13532
+
13492
13533
  return (
13493
13534
  this.hasDisplayValueContent && !this.hasFocus && this.hasValue) ||
13494
13535
  (
13536
+ !activeLabelRaisesInput &&
13495
13537
  (!this.value || this.value.length === 0) &&
13496
13538
  !this.hasFocus &&
13497
13539
  (!this.placeholderStr || this.placeholderStr === '')
13498
13540
  );
13499
13541
  }
13500
13542
 
13543
+ /**
13544
+ * Whether the component is rendering the classic/default layout, meaning not
13545
+ * emphasized and not snowflake. Kept as a single source of truth so
13546
+ * layout-scoped behavior such as activeLabel stays consistent across getters.
13547
+ * @returns {boolean} - True for the classic/default layout.
13548
+ * @private
13549
+ */
13550
+ get isClassicLayout() {
13551
+ return !this.layout.startsWith('emphasized') && this.layout !== 'snowflake';
13552
+ }
13553
+
13501
13554
  /**
13502
13555
  * Determines if the input should display in a state with no focus or value indication.
13503
13556
  * Returns true when the input has display content without focus and has a value,
@@ -13543,7 +13596,7 @@ let AuroInput$2 = class AuroInput extends BaseInput$2 {
13543
13596
  }
13544
13597
 
13545
13598
  // classic layout (default)
13546
- return ((!this.value || this.value.length === 0) && !this.placeholderStr && !this.hasFocus) ? 'body-default' : 'body-xs';
13599
+ return ((!this.value || this.value.length === 0) && !this.placeholderStr && !this.hasFocus && !this.activeLabel) ? 'body-default' : 'body-xs';
13547
13600
  }
13548
13601
 
13549
13602
  /**
@@ -13639,7 +13692,8 @@ let AuroInput$2 = class AuroInput extends BaseInput$2 {
13639
13692
  'wrapper': true,
13640
13693
  'simple': this.simple,
13641
13694
  'withValue': this.hasValue,
13642
- 'hasFocus': this.hasFocus
13695
+ 'hasFocus': this.hasFocus,
13696
+ 'activeLabel': this.activeLabel
13643
13697
  };
13644
13698
  }
13645
13699
 
@@ -13789,7 +13843,10 @@ let AuroInput$2 = class AuroInput extends BaseInput$2 {
13789
13843
  */
13790
13844
  definePattern() {
13791
13845
  if (this.type === 'credit-card' && !this.noValidate && this.maxLength) {
13792
- return `.{${this.maxLength},${this.maxLength}}`;
13846
+ // Variable-length brands (e.g. UnionPay) set minLength, so accept a range;
13847
+ // fixed-length brands leave minLength undefined and keep an exact length.
13848
+ const minPatternLength = this.minLength || this.maxLength;
13849
+ return `.{${minPatternLength},${this.maxLength}}`;
13793
13850
  }
13794
13851
 
13795
13852
  return this.pattern;
@@ -13850,7 +13907,6 @@ let AuroInput$2 = class AuroInput extends BaseInput$2 {
13850
13907
  @input="${this.handleInput}"
13851
13908
  .placeholder=${this.placeholderStr}
13852
13909
  .role=${this.a11yRole}
13853
- ?activeLabel="${this.activeLabel}"
13854
13910
  ?disabled="${this.disabled}"
13855
13911
  ?required="${this.required}"
13856
13912
  aria-activedescendant=${o$4(this.a11yActivedescendant)}
@@ -27820,7 +27876,7 @@ let AuroBibtemplate$3 = class AuroBibtemplate extends i$3 {
27820
27876
  }
27821
27877
  };
27822
27878
 
27823
- var formkitVersion$2$1 = '202608111803';
27879
+ var formkitVersion$2$1 = '202608262225';
27824
27880
 
27825
27881
  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$2`${s$3(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$6`: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}
27826
27882
  `,u$4$2=i$6`.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}}
@@ -33551,7 +33607,7 @@ let AuroHelpText$2$1 = class AuroHelpText extends i$3 {
33551
33607
  }
33552
33608
  };
33553
33609
 
33554
- var formkitVersion$1$3 = '202608111803';
33610
+ var formkitVersion$1$3 = '202608262225';
33555
33611
 
33556
33612
  let AuroElement$2$2 = class AuroElement extends i$3 {
33557
33613
  static get properties() {
@@ -45716,6 +45772,8 @@ let BaseInput$1 = class BaseInput extends AuroElement$1$3 {
45716
45772
 
45717
45773
  /**
45718
45774
  * If set, the label will remain fixed in the active position.
45775
+ * Only applies to the classic/default layout; the emphasized and snowflake
45776
+ * layouts always render the label inside the field, so this has no effect there.
45719
45777
  */
45720
45778
  activeLabel: {
45721
45779
  type: Boolean,
@@ -46835,6 +46893,18 @@ let BaseInput$1 = class BaseInput extends AuroElement$1$3 {
46835
46893
  cardIcon: 'cc-dinersclub',
46836
46894
  maskFormat: "0000 000000 0000"
46837
46895
  },
46896
+ {
46897
+ // JCB is variable length (16-19 digits), like UnionPay, so it reuses the
46898
+ // formatMinLength/formatLength range machinery. The 35 prefix overlaps no
46899
+ // other brand (Amex is 34|37, Diners is 30[0-5]|36|38).
46900
+ name: 'JCB',
46901
+ regex: /^(?<num>35)\d{0}/u,
46902
+ formatMinLength: 19,
46903
+ formatLength: 23,
46904
+ errorMessage: CreditCardValidationMessage,
46905
+ cardIcon: 'cc-jcb',
46906
+ maskFormat: "0000 0000 0000 0000 000"
46907
+ },
46838
46908
  {
46839
46909
  name: 'Visa',
46840
46910
  regex: /^(?<num>4)\d{0}/u,
@@ -46866,6 +46936,20 @@ let BaseInput$1 = class BaseInput extends AuroElement$1$3 {
46866
46936
  errorMessage: CreditCardValidationMessage,
46867
46937
  cardIcon: 'cc-discover',
46868
46938
  maskFormat: "0000 0000 0000 0000"
46939
+ },
46940
+ {
46941
+ // China UnionPay is variable length (16-19 digits). It must come after
46942
+ // Discover so the last-match-wins loop below gives its 62 prefix
46943
+ // precedence over the generic `6` that resolves to Discover. 81 is used
46944
+ // by UnionPay cards issued outside mainland China and overlaps no other
46945
+ // brand. 60 is intentionally excluded (it overlaps real Discover 6011).
46946
+ name: 'China UnionPay',
46947
+ regex: /^(?<num>62|81)\d{0}/u,
46948
+ formatMinLength: 19,
46949
+ formatLength: 23,
46950
+ errorMessage: CreditCardValidationMessage,
46951
+ cardIcon: 'cc-unionpay',
46952
+ maskFormat: "0000 0000 0000 0000 000"
46869
46953
  }
46870
46954
  ];
46871
46955
 
@@ -46883,7 +46967,12 @@ let BaseInput$1 = class BaseInput extends AuroElement$1$3 {
46883
46967
  }
46884
46968
  });
46885
46969
 
46886
- this.validationCCLength = type.formatLength;
46970
+ // Variable-length brands (both min and max defined, e.g. UnionPay) validate
46971
+ // against the minimum masked length so shorter-but-valid entries are not
46972
+ // flagged tooShort. Fixed-length brands keep their single formatLength.
46973
+ this.validationCCLength = type.formatMinLength && type.formatLength
46974
+ ? type.formatMinLength
46975
+ : type.formatLength;
46887
46976
 
46888
46977
  return type;
46889
46978
  }
@@ -47242,7 +47331,7 @@ let AuroHelpText$1$3 = class AuroHelpText extends i$3 {
47242
47331
  }
47243
47332
  };
47244
47333
 
47245
- var formkitVersion$7 = '202608111803';
47334
+ var formkitVersion$7 = '202608262225';
47246
47335
 
47247
47336
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
47248
47337
  // See LICENSE in the project root for license information.
@@ -47343,15 +47432,35 @@ let AuroInput$1 = class AuroInput extends BaseInput$1 {
47343
47432
  * @private
47344
47433
  */
47345
47434
  get inputHidden() {
47435
+ // In the classic/default layout, activeLabel keeps the input row visible so
47436
+ // the label stays raised rather than collapsing to the centered placeholder
47437
+ // position. Emphasized/snowflake always render the label inside the field,
47438
+ // so activeLabel does not apply there. This only overrides the empty/
47439
+ // unfocused clause — the display-value clause (combobox/datepicker) is
47440
+ // preserved regardless.
47441
+ const activeLabelRaisesInput = this.activeLabel && this.isClassicLayout;
47442
+
47346
47443
  return (
47347
47444
  this.hasDisplayValueContent && !this.hasFocus && this.hasValue) ||
47348
47445
  (
47446
+ !activeLabelRaisesInput &&
47349
47447
  (!this.value || this.value.length === 0) &&
47350
47448
  !this.hasFocus &&
47351
47449
  (!this.placeholderStr || this.placeholderStr === '')
47352
47450
  );
47353
47451
  }
47354
47452
 
47453
+ /**
47454
+ * Whether the component is rendering the classic/default layout, meaning not
47455
+ * emphasized and not snowflake. Kept as a single source of truth so
47456
+ * layout-scoped behavior such as activeLabel stays consistent across getters.
47457
+ * @returns {boolean} - True for the classic/default layout.
47458
+ * @private
47459
+ */
47460
+ get isClassicLayout() {
47461
+ return !this.layout.startsWith('emphasized') && this.layout !== 'snowflake';
47462
+ }
47463
+
47355
47464
  /**
47356
47465
  * Determines if the input should display in a state with no focus or value indication.
47357
47466
  * Returns true when the input has display content without focus and has a value,
@@ -47397,7 +47506,7 @@ let AuroInput$1 = class AuroInput extends BaseInput$1 {
47397
47506
  }
47398
47507
 
47399
47508
  // classic layout (default)
47400
- return ((!this.value || this.value.length === 0) && !this.placeholderStr && !this.hasFocus) ? 'body-default' : 'body-xs';
47509
+ return ((!this.value || this.value.length === 0) && !this.placeholderStr && !this.hasFocus && !this.activeLabel) ? 'body-default' : 'body-xs';
47401
47510
  }
47402
47511
 
47403
47512
  /**
@@ -47493,7 +47602,8 @@ let AuroInput$1 = class AuroInput extends BaseInput$1 {
47493
47602
  'wrapper': true,
47494
47603
  'simple': this.simple,
47495
47604
  'withValue': this.hasValue,
47496
- 'hasFocus': this.hasFocus
47605
+ 'hasFocus': this.hasFocus,
47606
+ 'activeLabel': this.activeLabel
47497
47607
  };
47498
47608
  }
47499
47609
 
@@ -47643,7 +47753,10 @@ let AuroInput$1 = class AuroInput extends BaseInput$1 {
47643
47753
  */
47644
47754
  definePattern() {
47645
47755
  if (this.type === 'credit-card' && !this.noValidate && this.maxLength) {
47646
- return `.{${this.maxLength},${this.maxLength}}`;
47756
+ // Variable-length brands (e.g. UnionPay) set minLength, so accept a range;
47757
+ // fixed-length brands leave minLength undefined and keep an exact length.
47758
+ const minPatternLength = this.minLength || this.maxLength;
47759
+ return `.{${minPatternLength},${this.maxLength}}`;
47647
47760
  }
47648
47761
 
47649
47762
  return this.pattern;
@@ -47704,7 +47817,6 @@ let AuroInput$1 = class AuroInput extends BaseInput$1 {
47704
47817
  @input="${this.handleInput}"
47705
47818
  .placeholder=${this.placeholderStr}
47706
47819
  .role=${this.a11yRole}
47707
- ?activeLabel="${this.activeLabel}"
47708
47820
  ?disabled="${this.disabled}"
47709
47821
  ?required="${this.required}"
47710
47822
  aria-activedescendant=${o$4(this.a11yActivedescendant)}
@@ -52224,7 +52336,7 @@ let AuroHelpText$1$2 = class AuroHelpText extends i$3 {
52224
52336
  }
52225
52337
  };
52226
52338
 
52227
- var formkitVersion$1$2 = '202608111803';
52339
+ var formkitVersion$1$2 = '202608262225';
52228
52340
 
52229
52341
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
52230
52342
  // See LICENSE in the project root for license information.
@@ -56377,7 +56489,7 @@ let AuroHelpText$6 = class AuroHelpText extends i$3 {
56377
56489
  }
56378
56490
  };
56379
56491
 
56380
- var formkitVersion$6 = '202608111803';
56492
+ var formkitVersion$6 = '202608262225';
56381
56493
 
56382
56494
  let AuroElement$1$2 = class AuroElement extends i$3 {
56383
56495
  static get properties() {
@@ -60440,7 +60552,7 @@ let AuroHelpText$5 = class AuroHelpText extends i$3 {
60440
60552
  }
60441
60553
  };
60442
60554
 
60443
- var formkitVersion$5 = '202608111803';
60555
+ var formkitVersion$5 = '202608262225';
60444
60556
 
60445
60557
  // Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
60446
60558
  // See LICENSE in the project root for license information.
@@ -60686,7 +60798,9 @@ class AuroRadioGroup extends i$3 {
60686
60798
 
60687
60799
  this.optionSelected = event.target;
60688
60800
 
60689
- this.validation.validate(this, this.optionSelected !== undefined);
60801
+ if (!this.noValidate) {
60802
+ this.validation.validate(this, this.optionSelected !== undefined);
60803
+ }
60690
60804
  }
60691
60805
 
60692
60806
  /**
@@ -60696,7 +60810,14 @@ class AuroRadioGroup extends i$3 {
60696
60810
  */
60697
60811
  handleRadioBlur() {
60698
60812
  this.touched = true;
60699
- this.validation.validate(this);
60813
+ if (!this.noValidate) {
60814
+ this.validation.validate(this);
60815
+ } else if (this.validity !== undefined && !this.hasAttribute('error')) {
60816
+ // Clear stale error state left by a previous validate(true) call.
60817
+ // Do not clear when the error attribute is set — that is an externally forced error.
60818
+ this.validity = undefined;
60819
+ this.errorMessage = '';
60820
+ }
60700
60821
  }
60701
60822
 
60702
60823
  /**
@@ -60872,7 +60993,9 @@ class AuroRadioGroup extends i$3 {
60872
60993
  this.value = event.target.value;
60873
60994
  this.optionSelected = event.target;
60874
60995
 
60875
- this.validation.validate(this);
60996
+ if (!this.noValidate) {
60997
+ this.validation.validate(this);
60998
+ }
60876
60999
  }
60877
61000
 
60878
61001
  /**
@@ -62205,7 +62328,7 @@ let AuroHelpText$4 = class AuroHelpText extends i$3 {
62205
62328
  }
62206
62329
  };
62207
62330
 
62208
- var formkitVersion$4 = '202608111803';
62331
+ var formkitVersion$4 = '202608262225';
62209
62332
 
62210
62333
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
62211
62334
  // See LICENSE in the project root for license information.
@@ -62425,7 +62548,9 @@ class AuroCheckboxGroup extends i$3 {
62425
62548
  composed: true,
62426
62549
  }));
62427
62550
 
62428
- this.validate(true);
62551
+ if (!this.noValidate) {
62552
+ this.validate(true);
62553
+ }
62429
62554
  }
62430
62555
 
62431
62556
  firstUpdated() {
@@ -62436,11 +62561,19 @@ class AuroCheckboxGroup extends i$3 {
62436
62561
  const checkFocusWithin = function(evt) {
62437
62562
  if (document.auroCheckboxGroupActive && !document.auroCheckboxGroupActive.contains(evt.target)) {
62438
62563
  // if focus has left the group, cleanup and validate
62439
- document.auroCheckboxGroupActive.focusWithin = false;
62564
+ const group = document.auroCheckboxGroupActive;
62565
+ group.focusWithin = false;
62440
62566
  window.removeEventListener('focusin', checkFocusWithin);
62441
62567
  document.removeEventListener('click', checkFocusWithin);
62442
62568
  // execute the validation
62443
- document.auroCheckboxGroupActive.validation.validate(document.auroCheckboxGroupActive);
62569
+ if (!group.noValidate) {
62570
+ group.validation.validate(group);
62571
+ } else if (group.validity !== undefined && !group.hasAttribute('error')) {
62572
+ // Clear stale error state left by a previous validate(true) call.
62573
+ // Do not clear when the error attribute is set — that is an externally forced error.
62574
+ group.validity = undefined;
62575
+ group.errorMessage = '';
62576
+ }
62444
62577
  }
62445
62578
  };
62446
62579
 
@@ -67524,7 +67657,7 @@ let AuroHelpText$2 = class AuroHelpText extends i$3 {
67524
67657
  }
67525
67658
  };
67526
67659
 
67527
- var formkitVersion$2 = '202608111803';
67660
+ var formkitVersion$2 = '202608262225';
67528
67661
 
67529
67662
  let AuroElement$2$1 = class AuroElement extends i$3 {
67530
67663
  static get properties() {
@@ -79689,6 +79822,8 @@ class BaseInput extends AuroElement$1$1 {
79689
79822
 
79690
79823
  /**
79691
79824
  * If set, the label will remain fixed in the active position.
79825
+ * Only applies to the classic/default layout; the emphasized and snowflake
79826
+ * layouts always render the label inside the field, so this has no effect there.
79692
79827
  */
79693
79828
  activeLabel: {
79694
79829
  type: Boolean,
@@ -80808,6 +80943,18 @@ class BaseInput extends AuroElement$1$1 {
80808
80943
  cardIcon: 'cc-dinersclub',
80809
80944
  maskFormat: "0000 000000 0000"
80810
80945
  },
80946
+ {
80947
+ // JCB is variable length (16-19 digits), like UnionPay, so it reuses the
80948
+ // formatMinLength/formatLength range machinery. The 35 prefix overlaps no
80949
+ // other brand (Amex is 34|37, Diners is 30[0-5]|36|38).
80950
+ name: 'JCB',
80951
+ regex: /^(?<num>35)\d{0}/u,
80952
+ formatMinLength: 19,
80953
+ formatLength: 23,
80954
+ errorMessage: CreditCardValidationMessage,
80955
+ cardIcon: 'cc-jcb',
80956
+ maskFormat: "0000 0000 0000 0000 000"
80957
+ },
80811
80958
  {
80812
80959
  name: 'Visa',
80813
80960
  regex: /^(?<num>4)\d{0}/u,
@@ -80839,6 +80986,20 @@ class BaseInput extends AuroElement$1$1 {
80839
80986
  errorMessage: CreditCardValidationMessage,
80840
80987
  cardIcon: 'cc-discover',
80841
80988
  maskFormat: "0000 0000 0000 0000"
80989
+ },
80990
+ {
80991
+ // China UnionPay is variable length (16-19 digits). It must come after
80992
+ // Discover so the last-match-wins loop below gives its 62 prefix
80993
+ // precedence over the generic `6` that resolves to Discover. 81 is used
80994
+ // by UnionPay cards issued outside mainland China and overlaps no other
80995
+ // brand. 60 is intentionally excluded (it overlaps real Discover 6011).
80996
+ name: 'China UnionPay',
80997
+ regex: /^(?<num>62|81)\d{0}/u,
80998
+ formatMinLength: 19,
80999
+ formatLength: 23,
81000
+ errorMessage: CreditCardValidationMessage,
81001
+ cardIcon: 'cc-unionpay',
81002
+ maskFormat: "0000 0000 0000 0000 000"
80842
81003
  }
80843
81004
  ];
80844
81005
 
@@ -80856,7 +81017,12 @@ class BaseInput extends AuroElement$1$1 {
80856
81017
  }
80857
81018
  });
80858
81019
 
80859
- this.validationCCLength = type.formatLength;
81020
+ // Variable-length brands (both min and max defined, e.g. UnionPay) validate
81021
+ // against the minimum masked length so shorter-but-valid entries are not
81022
+ // flagged tooShort. Fixed-length brands keep their single formatLength.
81023
+ this.validationCCLength = type.formatMinLength && type.formatLength
81024
+ ? type.formatMinLength
81025
+ : type.formatLength;
80860
81026
 
80861
81027
  return type;
80862
81028
  }
@@ -81215,7 +81381,7 @@ let AuroHelpText$1$1 = class AuroHelpText extends i$3 {
81215
81381
  }
81216
81382
  };
81217
81383
 
81218
- var formkitVersion$1$1 = '202608111803';
81384
+ var formkitVersion$1$1 = '202608262225';
81219
81385
 
81220
81386
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
81221
81387
  // See LICENSE in the project root for license information.
@@ -81316,15 +81482,35 @@ class AuroInput extends BaseInput {
81316
81482
  * @private
81317
81483
  */
81318
81484
  get inputHidden() {
81485
+ // In the classic/default layout, activeLabel keeps the input row visible so
81486
+ // the label stays raised rather than collapsing to the centered placeholder
81487
+ // position. Emphasized/snowflake always render the label inside the field,
81488
+ // so activeLabel does not apply there. This only overrides the empty/
81489
+ // unfocused clause — the display-value clause (combobox/datepicker) is
81490
+ // preserved regardless.
81491
+ const activeLabelRaisesInput = this.activeLabel && this.isClassicLayout;
81492
+
81319
81493
  return (
81320
81494
  this.hasDisplayValueContent && !this.hasFocus && this.hasValue) ||
81321
81495
  (
81496
+ !activeLabelRaisesInput &&
81322
81497
  (!this.value || this.value.length === 0) &&
81323
81498
  !this.hasFocus &&
81324
81499
  (!this.placeholderStr || this.placeholderStr === '')
81325
81500
  );
81326
81501
  }
81327
81502
 
81503
+ /**
81504
+ * Whether the component is rendering the classic/default layout, meaning not
81505
+ * emphasized and not snowflake. Kept as a single source of truth so
81506
+ * layout-scoped behavior such as activeLabel stays consistent across getters.
81507
+ * @returns {boolean} - True for the classic/default layout.
81508
+ * @private
81509
+ */
81510
+ get isClassicLayout() {
81511
+ return !this.layout.startsWith('emphasized') && this.layout !== 'snowflake';
81512
+ }
81513
+
81328
81514
  /**
81329
81515
  * Determines if the input should display in a state with no focus or value indication.
81330
81516
  * Returns true when the input has display content without focus and has a value,
@@ -81370,7 +81556,7 @@ class AuroInput extends BaseInput {
81370
81556
  }
81371
81557
 
81372
81558
  // classic layout (default)
81373
- return ((!this.value || this.value.length === 0) && !this.placeholderStr && !this.hasFocus) ? 'body-default' : 'body-xs';
81559
+ return ((!this.value || this.value.length === 0) && !this.placeholderStr && !this.hasFocus && !this.activeLabel) ? 'body-default' : 'body-xs';
81374
81560
  }
81375
81561
 
81376
81562
  /**
@@ -81466,7 +81652,8 @@ class AuroInput extends BaseInput {
81466
81652
  'wrapper': true,
81467
81653
  'simple': this.simple,
81468
81654
  'withValue': this.hasValue,
81469
- 'hasFocus': this.hasFocus
81655
+ 'hasFocus': this.hasFocus,
81656
+ 'activeLabel': this.activeLabel
81470
81657
  };
81471
81658
  }
81472
81659
 
@@ -81616,7 +81803,10 @@ class AuroInput extends BaseInput {
81616
81803
  */
81617
81804
  definePattern() {
81618
81805
  if (this.type === 'credit-card' && !this.noValidate && this.maxLength) {
81619
- return `.{${this.maxLength},${this.maxLength}}`;
81806
+ // Variable-length brands (e.g. UnionPay) set minLength, so accept a range;
81807
+ // fixed-length brands leave minLength undefined and keep an exact length.
81808
+ const minPatternLength = this.minLength || this.maxLength;
81809
+ return `.{${minPatternLength},${this.maxLength}}`;
81620
81810
  }
81621
81811
 
81622
81812
  return this.pattern;
@@ -81677,7 +81867,6 @@ class AuroInput extends BaseInput {
81677
81867
  @input="${this.handleInput}"
81678
81868
  .placeholder=${this.placeholderStr}
81679
81869
  .role=${this.a11yRole}
81680
- ?activeLabel="${this.activeLabel}"
81681
81870
  ?disabled="${this.disabled}"
81682
81871
  ?required="${this.required}"
81683
81872
  aria-activedescendant=${o$4(this.a11yActivedescendant)}
@@ -82371,7 +82560,7 @@ let AuroBibtemplate$1 = class AuroBibtemplate extends i$3 {
82371
82560
  }
82372
82561
  };
82373
82562
 
82374
- var formkitVersion$3 = '202608111803';
82563
+ var formkitVersion$3 = '202608262225';
82375
82564
 
82376
82565
  var styleCss$1$3 = i$6`.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}`;
82377
82566
 
@@ -84066,8 +84255,13 @@ class AuroCombobox extends AuroElement$3 {
84066
84255
  // and validating against the pre-selection value flashes a stale error
84067
84256
  // between mousedown and mouseup. The next focusout fires after the
84068
84257
  // dropdown closes and validates against the post-selection value.
84069
- if (!this.componentHasFocus && !this._inFullscreenTransition && !this.dropdownOpen) {
84258
+ if (!this.noValidate && !this.componentHasFocus && !this._inFullscreenTransition && !this.dropdownOpen) {
84070
84259
  this.validate();
84260
+ } else if (this.noValidate && !this.componentHasFocus && !this._inFullscreenTransition && !this.dropdownOpen && this.validity !== undefined && !this.hasAttribute('error')) {
84261
+ // Clear stale error state left by a previous validate(true) call.
84262
+ // Do not clear when the error attribute is set — that is an externally forced error.
84263
+ this.validity = undefined;
84264
+ this.errorMessage = null;
84071
84265
  }
84072
84266
  });
84073
84267
 
@@ -84206,7 +84400,7 @@ class AuroCombobox extends AuroElement$3 {
84206
84400
  // interaction). In fullscreen dialog mode, componentHasFocus returns false
84207
84401
  // because focus is inside the top-layer dialog, so also check
84208
84402
  // dropdownOpen and the fullscreen transition flag.
84209
- if (!this.componentHasFocus && !this.dropdownOpen && !this._inFullscreenTransition) {
84403
+ if (!this.noValidate && !this.componentHasFocus && !this.dropdownOpen && !this._inFullscreenTransition) {
84210
84404
  this.validate();
84211
84405
  }
84212
84406
 
@@ -91571,7 +91765,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$3 {
91571
91765
  }
91572
91766
  };
91573
91767
 
91574
- var formkitVersion$1 = '202608111803';
91768
+ var formkitVersion$1 = '202608262225';
91575
91769
 
91576
91770
  class AuroElement extends i$3 {
91577
91771
  static get properties() {
@@ -93682,7 +93876,7 @@ class AuroHelpText extends i$3 {
93682
93876
  }
93683
93877
  }
93684
93878
 
93685
- var formkitVersion = '202608111803';
93879
+ var formkitVersion = '202608262225';
93686
93880
 
93687
93881
  var styleCss = i$6`.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}`;
93688
93882
 
@@ -94679,7 +94873,14 @@ class AuroSelect extends AuroElement$1 {
94679
94873
  this.addEventListener('focusin', this.handleFocusin);
94680
94874
 
94681
94875
  this.addEventListener('blur', () => {
94682
- this.validate();
94876
+ if (!this.noValidate) {
94877
+ this.validate();
94878
+ } else if (this.validity !== undefined && !this.hasAttribute('error')) {
94879
+ // Clear stale error state left by a previous validate(true) call.
94880
+ // Do not clear when the error attribute is set — that is an externally forced error.
94881
+ this.validity = undefined;
94882
+ this.errorMessage = '';
94883
+ }
94683
94884
  this.hasFocus = false;
94684
94885
  this._clearTypeaheadBuffer();
94685
94886
  });
@@ -95014,7 +95215,9 @@ class AuroSelect extends AuroElement$1 {
95014
95215
  this.setMenuValue(this.value);
95015
95216
 
95016
95217
  this._updateNativeSelect();
95017
- this.validate();
95218
+ if (!this.noValidate) {
95219
+ this.validate();
95220
+ }
95018
95221
  if (!this.multiSelect) {
95019
95222
  this.hideBib();
95020
95223
  }