@aurodesignsystem-dev/auro-formkit 0.0.0-pr1588.2 → 0.0.0-pr1592.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 (45) hide show
  1. package/components/checkbox/demo/customize.min.js +1 -1
  2. package/components/checkbox/demo/getting-started.min.js +1 -1
  3. package/components/checkbox/demo/index.min.js +1 -1
  4. package/components/checkbox/dist/index.js +1 -1
  5. package/components/checkbox/dist/registered.js +1 -1
  6. package/components/combobox/demo/customize.min.js +39 -5
  7. package/components/combobox/demo/getting-started.min.js +39 -5
  8. package/components/combobox/demo/index.min.js +39 -5
  9. package/components/combobox/dist/index.js +39 -5
  10. package/components/combobox/dist/registered.js +39 -5
  11. package/components/counter/demo/customize.min.js +2 -2
  12. package/components/counter/demo/index.min.js +2 -2
  13. package/components/counter/dist/index.js +2 -2
  14. package/components/counter/dist/registered.js +2 -2
  15. package/components/datepicker/demo/customize.min.js +39 -5
  16. package/components/datepicker/demo/index.min.js +39 -5
  17. package/components/datepicker/dist/index.js +39 -5
  18. package/components/datepicker/dist/registered.js +39 -5
  19. package/components/dropdown/demo/customize.min.js +1 -1
  20. package/components/dropdown/demo/getting-started.min.js +38 -4
  21. package/components/dropdown/demo/index.min.js +1 -1
  22. package/components/dropdown/dist/index.js +1 -1
  23. package/components/dropdown/dist/registered.js +1 -1
  24. package/components/form/demo/customize.min.js +121 -19
  25. package/components/form/demo/getting-started.min.js +121 -19
  26. package/components/form/demo/index.min.js +121 -19
  27. package/components/form/demo/registerDemoDeps.min.js +121 -19
  28. package/components/input/demo/css-only.md +2 -2
  29. package/components/input/demo/customize.min.js +37 -3
  30. package/components/input/demo/getting-started.min.js +37 -3
  31. package/components/input/demo/index.min.js +37 -3
  32. package/components/input/demo/why-input.md +2 -3
  33. package/components/input/dist/index.js +37 -3
  34. package/components/input/dist/registered.js +37 -3
  35. package/components/radio/demo/customize.min.js +1 -1
  36. package/components/radio/demo/getting-started.min.js +1 -1
  37. package/components/radio/demo/index.min.js +1 -1
  38. package/components/radio/dist/index.js +1 -1
  39. package/components/radio/dist/registered.js +1 -1
  40. package/components/select/demo/customize.min.js +2 -2
  41. package/components/select/demo/getting-started.min.js +2 -2
  42. package/components/select/demo/index.min.js +2 -2
  43. package/components/select/dist/index.js +2 -2
  44. package/components/select/dist/registered.js +2 -2
  45. package/package.json +1 -1
@@ -1275,7 +1275,7 @@ class AuroHelpText extends i$2 {
1275
1275
  }
1276
1276
  }
1277
1277
 
1278
- var formkitVersion = '202608201531';
1278
+ var formkitVersion = '202608211843';
1279
1279
 
1280
1280
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
1281
1281
  // See LICENSE in the project root for license information.
@@ -1275,7 +1275,7 @@ class AuroHelpText extends i$2 {
1275
1275
  }
1276
1276
  }
1277
1277
 
1278
- var formkitVersion = '202608201531';
1278
+ var formkitVersion = '202608211843';
1279
1279
 
1280
1280
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
1281
1281
  // See LICENSE in the project root for license information.
@@ -1275,7 +1275,7 @@ class AuroHelpText extends i$2 {
1275
1275
  }
1276
1276
  }
1277
1277
 
1278
- var formkitVersion = '202608201531';
1278
+ var formkitVersion = '202608211843';
1279
1279
 
1280
1280
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
1281
1281
  // See LICENSE in the project root for license information.
@@ -1228,7 +1228,7 @@ class AuroHelpText extends LitElement {
1228
1228
  }
1229
1229
  }
1230
1230
 
1231
- var formkitVersion = '202608201531';
1231
+ var formkitVersion = '202608211843';
1232
1232
 
1233
1233
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
1234
1234
  // See LICENSE in the project root for license information.
@@ -1228,7 +1228,7 @@ class AuroHelpText extends LitElement {
1228
1228
  }
1229
1229
  }
1230
1230
 
1231
- var formkitVersion = '202608201531';
1231
+ var formkitVersion = '202608211843';
1232
1232
 
1233
1233
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
1234
1234
  // See LICENSE in the project root for license information.
@@ -4977,7 +4977,7 @@ let AuroHelpText$2 = class AuroHelpText extends i$3 {
4977
4977
  }
4978
4978
  };
4979
4979
 
4980
- var formkitVersion$2 = '202608201531';
4980
+ var formkitVersion$2 = '202608211843';
4981
4981
 
4982
4982
  let AuroElement$2 = class AuroElement extends i$3 {
4983
4983
  static get properties() {
@@ -18270,6 +18270,18 @@ class BaseInput extends AuroElement$1 {
18270
18270
  cardIcon: 'cc-dinersclub',
18271
18271
  maskFormat: "0000 000000 0000"
18272
18272
  },
18273
+ {
18274
+ // JCB is variable length (16-19 digits), like UnionPay, so it reuses the
18275
+ // formatMinLength/formatLength range machinery. The 35 prefix overlaps no
18276
+ // other brand (Amex is 34|37, Diners is 30[0-5]|36|38).
18277
+ name: 'JCB',
18278
+ regex: /^(?<num>35)\d{0}/u,
18279
+ formatMinLength: 19,
18280
+ formatLength: 23,
18281
+ errorMessage: CreditCardValidationMessage,
18282
+ cardIcon: 'cc-jcb',
18283
+ maskFormat: "0000 0000 0000 0000 000"
18284
+ },
18273
18285
  {
18274
18286
  name: 'Visa',
18275
18287
  regex: /^(?<num>4)\d{0}/u,
@@ -18301,6 +18313,20 @@ class BaseInput extends AuroElement$1 {
18301
18313
  errorMessage: CreditCardValidationMessage,
18302
18314
  cardIcon: 'cc-discover',
18303
18315
  maskFormat: "0000 0000 0000 0000"
18316
+ },
18317
+ {
18318
+ // China UnionPay is variable length (16-19 digits). It must come after
18319
+ // Discover so the last-match-wins loop below gives its 62 prefix
18320
+ // precedence over the generic `6` that resolves to Discover. 81 is used
18321
+ // by UnionPay cards issued outside mainland China and overlaps no other
18322
+ // brand. 60 is intentionally excluded (it overlaps real Discover 6011).
18323
+ name: 'China UnionPay',
18324
+ regex: /^(?<num>62|81)\d{0}/u,
18325
+ formatMinLength: 19,
18326
+ formatLength: 23,
18327
+ errorMessage: CreditCardValidationMessage,
18328
+ cardIcon: 'cc-unionpay',
18329
+ maskFormat: "0000 0000 0000 0000 000"
18304
18330
  }
18305
18331
  ];
18306
18332
 
@@ -18318,7 +18344,12 @@ class BaseInput extends AuroElement$1 {
18318
18344
  }
18319
18345
  });
18320
18346
 
18321
- this.validationCCLength = type.formatLength;
18347
+ // Variable-length brands (both min and max defined, e.g. UnionPay) validate
18348
+ // against the minimum masked length so shorter-but-valid entries are not
18349
+ // flagged tooShort. Fixed-length brands keep their single formatLength.
18350
+ this.validationCCLength = type.formatMinLength && type.formatLength
18351
+ ? type.formatMinLength
18352
+ : type.formatLength;
18322
18353
 
18323
18354
  return type;
18324
18355
  }
@@ -18677,7 +18708,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$3 {
18677
18708
  }
18678
18709
  };
18679
18710
 
18680
- var formkitVersion$1 = '202608201531';
18711
+ var formkitVersion$1 = '202608211843';
18681
18712
 
18682
18713
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
18683
18714
  // See LICENSE in the project root for license information.
@@ -19099,7 +19130,10 @@ class AuroInput extends BaseInput {
19099
19130
  */
19100
19131
  definePattern() {
19101
19132
  if (this.type === 'credit-card' && !this.noValidate && this.maxLength) {
19102
- return `.{${this.maxLength},${this.maxLength}}`;
19133
+ // Variable-length brands (e.g. UnionPay) set minLength, so accept a range;
19134
+ // fixed-length brands leave minLength undefined and keep an exact length.
19135
+ const minPatternLength = this.minLength || this.maxLength;
19136
+ return `.{${minPatternLength},${this.maxLength}}`;
19103
19137
  }
19104
19138
 
19105
19139
  return this.pattern;
@@ -19853,7 +19887,7 @@ class AuroBibtemplate extends i$3 {
19853
19887
  }
19854
19888
  }
19855
19889
 
19856
- var formkitVersion = '202608201531';
19890
+ var formkitVersion = '202608211843';
19857
19891
 
19858
19892
  var styleCss$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}`;
19859
19893
 
@@ -4977,7 +4977,7 @@ let AuroHelpText$2 = class AuroHelpText extends i$3 {
4977
4977
  }
4978
4978
  };
4979
4979
 
4980
- var formkitVersion$2 = '202608201531';
4980
+ var formkitVersion$2 = '202608211843';
4981
4981
 
4982
4982
  let AuroElement$2 = class AuroElement extends i$3 {
4983
4983
  static get properties() {
@@ -18270,6 +18270,18 @@ class BaseInput extends AuroElement$1 {
18270
18270
  cardIcon: 'cc-dinersclub',
18271
18271
  maskFormat: "0000 000000 0000"
18272
18272
  },
18273
+ {
18274
+ // JCB is variable length (16-19 digits), like UnionPay, so it reuses the
18275
+ // formatMinLength/formatLength range machinery. The 35 prefix overlaps no
18276
+ // other brand (Amex is 34|37, Diners is 30[0-5]|36|38).
18277
+ name: 'JCB',
18278
+ regex: /^(?<num>35)\d{0}/u,
18279
+ formatMinLength: 19,
18280
+ formatLength: 23,
18281
+ errorMessage: CreditCardValidationMessage,
18282
+ cardIcon: 'cc-jcb',
18283
+ maskFormat: "0000 0000 0000 0000 000"
18284
+ },
18273
18285
  {
18274
18286
  name: 'Visa',
18275
18287
  regex: /^(?<num>4)\d{0}/u,
@@ -18301,6 +18313,20 @@ class BaseInput extends AuroElement$1 {
18301
18313
  errorMessage: CreditCardValidationMessage,
18302
18314
  cardIcon: 'cc-discover',
18303
18315
  maskFormat: "0000 0000 0000 0000"
18316
+ },
18317
+ {
18318
+ // China UnionPay is variable length (16-19 digits). It must come after
18319
+ // Discover so the last-match-wins loop below gives its 62 prefix
18320
+ // precedence over the generic `6` that resolves to Discover. 81 is used
18321
+ // by UnionPay cards issued outside mainland China and overlaps no other
18322
+ // brand. 60 is intentionally excluded (it overlaps real Discover 6011).
18323
+ name: 'China UnionPay',
18324
+ regex: /^(?<num>62|81)\d{0}/u,
18325
+ formatMinLength: 19,
18326
+ formatLength: 23,
18327
+ errorMessage: CreditCardValidationMessage,
18328
+ cardIcon: 'cc-unionpay',
18329
+ maskFormat: "0000 0000 0000 0000 000"
18304
18330
  }
18305
18331
  ];
18306
18332
 
@@ -18318,7 +18344,12 @@ class BaseInput extends AuroElement$1 {
18318
18344
  }
18319
18345
  });
18320
18346
 
18321
- this.validationCCLength = type.formatLength;
18347
+ // Variable-length brands (both min and max defined, e.g. UnionPay) validate
18348
+ // against the minimum masked length so shorter-but-valid entries are not
18349
+ // flagged tooShort. Fixed-length brands keep their single formatLength.
18350
+ this.validationCCLength = type.formatMinLength && type.formatLength
18351
+ ? type.formatMinLength
18352
+ : type.formatLength;
18322
18353
 
18323
18354
  return type;
18324
18355
  }
@@ -18677,7 +18708,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$3 {
18677
18708
  }
18678
18709
  };
18679
18710
 
18680
- var formkitVersion$1 = '202608201531';
18711
+ var formkitVersion$1 = '202608211843';
18681
18712
 
18682
18713
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
18683
18714
  // See LICENSE in the project root for license information.
@@ -19099,7 +19130,10 @@ class AuroInput extends BaseInput {
19099
19130
  */
19100
19131
  definePattern() {
19101
19132
  if (this.type === 'credit-card' && !this.noValidate && this.maxLength) {
19102
- return `.{${this.maxLength},${this.maxLength}}`;
19133
+ // Variable-length brands (e.g. UnionPay) set minLength, so accept a range;
19134
+ // fixed-length brands leave minLength undefined and keep an exact length.
19135
+ const minPatternLength = this.minLength || this.maxLength;
19136
+ return `.{${minPatternLength},${this.maxLength}}`;
19103
19137
  }
19104
19138
 
19105
19139
  return this.pattern;
@@ -19853,7 +19887,7 @@ class AuroBibtemplate extends i$3 {
19853
19887
  }
19854
19888
  }
19855
19889
 
19856
- var formkitVersion = '202608201531';
19890
+ var formkitVersion = '202608211843';
19857
19891
 
19858
19892
  var styleCss$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}`;
19859
19893
 
@@ -4992,7 +4992,7 @@ let AuroHelpText$2 = class AuroHelpText extends i$3 {
4992
4992
  }
4993
4993
  };
4994
4994
 
4995
- var formkitVersion$2 = '202608201531';
4995
+ var formkitVersion$2 = '202608211843';
4996
4996
 
4997
4997
  let AuroElement$2 = class AuroElement extends i$3 {
4998
4998
  static get properties() {
@@ -18285,6 +18285,18 @@ class BaseInput extends AuroElement$1 {
18285
18285
  cardIcon: 'cc-dinersclub',
18286
18286
  maskFormat: "0000 000000 0000"
18287
18287
  },
18288
+ {
18289
+ // JCB is variable length (16-19 digits), like UnionPay, so it reuses the
18290
+ // formatMinLength/formatLength range machinery. The 35 prefix overlaps no
18291
+ // other brand (Amex is 34|37, Diners is 30[0-5]|36|38).
18292
+ name: 'JCB',
18293
+ regex: /^(?<num>35)\d{0}/u,
18294
+ formatMinLength: 19,
18295
+ formatLength: 23,
18296
+ errorMessage: CreditCardValidationMessage,
18297
+ cardIcon: 'cc-jcb',
18298
+ maskFormat: "0000 0000 0000 0000 000"
18299
+ },
18288
18300
  {
18289
18301
  name: 'Visa',
18290
18302
  regex: /^(?<num>4)\d{0}/u,
@@ -18316,6 +18328,20 @@ class BaseInput extends AuroElement$1 {
18316
18328
  errorMessage: CreditCardValidationMessage,
18317
18329
  cardIcon: 'cc-discover',
18318
18330
  maskFormat: "0000 0000 0000 0000"
18331
+ },
18332
+ {
18333
+ // China UnionPay is variable length (16-19 digits). It must come after
18334
+ // Discover so the last-match-wins loop below gives its 62 prefix
18335
+ // precedence over the generic `6` that resolves to Discover. 81 is used
18336
+ // by UnionPay cards issued outside mainland China and overlaps no other
18337
+ // brand. 60 is intentionally excluded (it overlaps real Discover 6011).
18338
+ name: 'China UnionPay',
18339
+ regex: /^(?<num>62|81)\d{0}/u,
18340
+ formatMinLength: 19,
18341
+ formatLength: 23,
18342
+ errorMessage: CreditCardValidationMessage,
18343
+ cardIcon: 'cc-unionpay',
18344
+ maskFormat: "0000 0000 0000 0000 000"
18319
18345
  }
18320
18346
  ];
18321
18347
 
@@ -18333,7 +18359,12 @@ class BaseInput extends AuroElement$1 {
18333
18359
  }
18334
18360
  });
18335
18361
 
18336
- this.validationCCLength = type.formatLength;
18362
+ // Variable-length brands (both min and max defined, e.g. UnionPay) validate
18363
+ // against the minimum masked length so shorter-but-valid entries are not
18364
+ // flagged tooShort. Fixed-length brands keep their single formatLength.
18365
+ this.validationCCLength = type.formatMinLength && type.formatLength
18366
+ ? type.formatMinLength
18367
+ : type.formatLength;
18337
18368
 
18338
18369
  return type;
18339
18370
  }
@@ -18692,7 +18723,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$3 {
18692
18723
  }
18693
18724
  };
18694
18725
 
18695
- var formkitVersion$1 = '202608201531';
18726
+ var formkitVersion$1 = '202608211843';
18696
18727
 
18697
18728
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
18698
18729
  // See LICENSE in the project root for license information.
@@ -19114,7 +19145,10 @@ class AuroInput extends BaseInput {
19114
19145
  */
19115
19146
  definePattern() {
19116
19147
  if (this.type === 'credit-card' && !this.noValidate && this.maxLength) {
19117
- return `.{${this.maxLength},${this.maxLength}}`;
19148
+ // Variable-length brands (e.g. UnionPay) set minLength, so accept a range;
19149
+ // fixed-length brands leave minLength undefined and keep an exact length.
19150
+ const minPatternLength = this.minLength || this.maxLength;
19151
+ return `.{${minPatternLength},${this.maxLength}}`;
19118
19152
  }
19119
19153
 
19120
19154
  return this.pattern;
@@ -19868,7 +19902,7 @@ class AuroBibtemplate extends i$3 {
19868
19902
  }
19869
19903
  }
19870
19904
 
19871
- var formkitVersion = '202608201531';
19905
+ var formkitVersion = '202608211843';
19872
19906
 
19873
19907
  var styleCss$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}`;
19874
19908
 
@@ -4910,7 +4910,7 @@ let AuroHelpText$2 = class AuroHelpText extends LitElement {
4910
4910
  }
4911
4911
  };
4912
4912
 
4913
- var formkitVersion$2 = '202608201531';
4913
+ var formkitVersion$2 = '202608211843';
4914
4914
 
4915
4915
  let AuroElement$2 = class AuroElement extends LitElement {
4916
4916
  static get properties() {
@@ -18196,6 +18196,18 @@ class BaseInput extends AuroElement$1 {
18196
18196
  cardIcon: 'cc-dinersclub',
18197
18197
  maskFormat: "0000 000000 0000"
18198
18198
  },
18199
+ {
18200
+ // JCB is variable length (16-19 digits), like UnionPay, so it reuses the
18201
+ // formatMinLength/formatLength range machinery. The 35 prefix overlaps no
18202
+ // other brand (Amex is 34|37, Diners is 30[0-5]|36|38).
18203
+ name: 'JCB',
18204
+ regex: /^(?<num>35)\d{0}/u,
18205
+ formatMinLength: 19,
18206
+ formatLength: 23,
18207
+ errorMessage: CreditCardValidationMessage,
18208
+ cardIcon: 'cc-jcb',
18209
+ maskFormat: "0000 0000 0000 0000 000"
18210
+ },
18199
18211
  {
18200
18212
  name: 'Visa',
18201
18213
  regex: /^(?<num>4)\d{0}/u,
@@ -18227,6 +18239,20 @@ class BaseInput extends AuroElement$1 {
18227
18239
  errorMessage: CreditCardValidationMessage,
18228
18240
  cardIcon: 'cc-discover',
18229
18241
  maskFormat: "0000 0000 0000 0000"
18242
+ },
18243
+ {
18244
+ // China UnionPay is variable length (16-19 digits). It must come after
18245
+ // Discover so the last-match-wins loop below gives its 62 prefix
18246
+ // precedence over the generic `6` that resolves to Discover. 81 is used
18247
+ // by UnionPay cards issued outside mainland China and overlaps no other
18248
+ // brand. 60 is intentionally excluded (it overlaps real Discover 6011).
18249
+ name: 'China UnionPay',
18250
+ regex: /^(?<num>62|81)\d{0}/u,
18251
+ formatMinLength: 19,
18252
+ formatLength: 23,
18253
+ errorMessage: CreditCardValidationMessage,
18254
+ cardIcon: 'cc-unionpay',
18255
+ maskFormat: "0000 0000 0000 0000 000"
18230
18256
  }
18231
18257
  ];
18232
18258
 
@@ -18244,7 +18270,12 @@ class BaseInput extends AuroElement$1 {
18244
18270
  }
18245
18271
  });
18246
18272
 
18247
- this.validationCCLength = type.formatLength;
18273
+ // Variable-length brands (both min and max defined, e.g. UnionPay) validate
18274
+ // against the minimum masked length so shorter-but-valid entries are not
18275
+ // flagged tooShort. Fixed-length brands keep their single formatLength.
18276
+ this.validationCCLength = type.formatMinLength && type.formatLength
18277
+ ? type.formatMinLength
18278
+ : type.formatLength;
18248
18279
 
18249
18280
  return type;
18250
18281
  }
@@ -18603,7 +18634,7 @@ let AuroHelpText$1 = class AuroHelpText extends LitElement {
18603
18634
  }
18604
18635
  };
18605
18636
 
18606
- var formkitVersion$1 = '202608201531';
18637
+ var formkitVersion$1 = '202608211843';
18607
18638
 
18608
18639
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
18609
18640
  // See LICENSE in the project root for license information.
@@ -19025,7 +19056,10 @@ class AuroInput extends BaseInput {
19025
19056
  */
19026
19057
  definePattern() {
19027
19058
  if (this.type === 'credit-card' && !this.noValidate && this.maxLength) {
19028
- return `.{${this.maxLength},${this.maxLength}}`;
19059
+ // Variable-length brands (e.g. UnionPay) set minLength, so accept a range;
19060
+ // fixed-length brands leave minLength undefined and keep an exact length.
19061
+ const minPatternLength = this.minLength || this.maxLength;
19062
+ return `.{${minPatternLength},${this.maxLength}}`;
19029
19063
  }
19030
19064
 
19031
19065
  return this.pattern;
@@ -19779,7 +19813,7 @@ class AuroBibtemplate extends LitElement {
19779
19813
  }
19780
19814
  }
19781
19815
 
19782
- var formkitVersion = '202608201531';
19816
+ var formkitVersion = '202608211843';
19783
19817
 
19784
19818
  var styleCss$1 = css`.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}`;
19785
19819
 
@@ -4910,7 +4910,7 @@ let AuroHelpText$2 = class AuroHelpText extends LitElement {
4910
4910
  }
4911
4911
  };
4912
4912
 
4913
- var formkitVersion$2 = '202608201531';
4913
+ var formkitVersion$2 = '202608211843';
4914
4914
 
4915
4915
  let AuroElement$2 = class AuroElement extends LitElement {
4916
4916
  static get properties() {
@@ -18196,6 +18196,18 @@ class BaseInput extends AuroElement$1 {
18196
18196
  cardIcon: 'cc-dinersclub',
18197
18197
  maskFormat: "0000 000000 0000"
18198
18198
  },
18199
+ {
18200
+ // JCB is variable length (16-19 digits), like UnionPay, so it reuses the
18201
+ // formatMinLength/formatLength range machinery. The 35 prefix overlaps no
18202
+ // other brand (Amex is 34|37, Diners is 30[0-5]|36|38).
18203
+ name: 'JCB',
18204
+ regex: /^(?<num>35)\d{0}/u,
18205
+ formatMinLength: 19,
18206
+ formatLength: 23,
18207
+ errorMessage: CreditCardValidationMessage,
18208
+ cardIcon: 'cc-jcb',
18209
+ maskFormat: "0000 0000 0000 0000 000"
18210
+ },
18199
18211
  {
18200
18212
  name: 'Visa',
18201
18213
  regex: /^(?<num>4)\d{0}/u,
@@ -18227,6 +18239,20 @@ class BaseInput extends AuroElement$1 {
18227
18239
  errorMessage: CreditCardValidationMessage,
18228
18240
  cardIcon: 'cc-discover',
18229
18241
  maskFormat: "0000 0000 0000 0000"
18242
+ },
18243
+ {
18244
+ // China UnionPay is variable length (16-19 digits). It must come after
18245
+ // Discover so the last-match-wins loop below gives its 62 prefix
18246
+ // precedence over the generic `6` that resolves to Discover. 81 is used
18247
+ // by UnionPay cards issued outside mainland China and overlaps no other
18248
+ // brand. 60 is intentionally excluded (it overlaps real Discover 6011).
18249
+ name: 'China UnionPay',
18250
+ regex: /^(?<num>62|81)\d{0}/u,
18251
+ formatMinLength: 19,
18252
+ formatLength: 23,
18253
+ errorMessage: CreditCardValidationMessage,
18254
+ cardIcon: 'cc-unionpay',
18255
+ maskFormat: "0000 0000 0000 0000 000"
18230
18256
  }
18231
18257
  ];
18232
18258
 
@@ -18244,7 +18270,12 @@ class BaseInput extends AuroElement$1 {
18244
18270
  }
18245
18271
  });
18246
18272
 
18247
- this.validationCCLength = type.formatLength;
18273
+ // Variable-length brands (both min and max defined, e.g. UnionPay) validate
18274
+ // against the minimum masked length so shorter-but-valid entries are not
18275
+ // flagged tooShort. Fixed-length brands keep their single formatLength.
18276
+ this.validationCCLength = type.formatMinLength && type.formatLength
18277
+ ? type.formatMinLength
18278
+ : type.formatLength;
18248
18279
 
18249
18280
  return type;
18250
18281
  }
@@ -18603,7 +18634,7 @@ let AuroHelpText$1 = class AuroHelpText extends LitElement {
18603
18634
  }
18604
18635
  };
18605
18636
 
18606
- var formkitVersion$1 = '202608201531';
18637
+ var formkitVersion$1 = '202608211843';
18607
18638
 
18608
18639
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
18609
18640
  // See LICENSE in the project root for license information.
@@ -19025,7 +19056,10 @@ class AuroInput extends BaseInput {
19025
19056
  */
19026
19057
  definePattern() {
19027
19058
  if (this.type === 'credit-card' && !this.noValidate && this.maxLength) {
19028
- return `.{${this.maxLength},${this.maxLength}}`;
19059
+ // Variable-length brands (e.g. UnionPay) set minLength, so accept a range;
19060
+ // fixed-length brands leave minLength undefined and keep an exact length.
19061
+ const minPatternLength = this.minLength || this.maxLength;
19062
+ return `.{${minPatternLength},${this.maxLength}}`;
19029
19063
  }
19030
19064
 
19031
19065
  return this.pattern;
@@ -19779,7 +19813,7 @@ class AuroBibtemplate extends LitElement {
19779
19813
  }
19780
19814
  }
19781
19815
 
19782
- var formkitVersion = '202608201531';
19816
+ var formkitVersion = '202608211843';
19783
19817
 
19784
19818
  var styleCss$1 = css`.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}`;
19785
19819
 
@@ -1117,7 +1117,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$2 {
1117
1117
  }
1118
1118
  };
1119
1119
 
1120
- var formkitVersion$1 = '202608201531';
1120
+ var formkitVersion$1 = '202608211843';
1121
1121
 
1122
1122
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
1123
1123
  // See LICENSE in the project root for license information.
@@ -5288,7 +5288,7 @@ class AuroHelpText extends i$2 {
5288
5288
  }
5289
5289
  }
5290
5290
 
5291
- var formkitVersion = '202608201531';
5291
+ var formkitVersion = '202608211843';
5292
5292
 
5293
5293
  let AuroElement$1 = class AuroElement extends i$2 {
5294
5294
  static get properties() {
@@ -1117,7 +1117,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$2 {
1117
1117
  }
1118
1118
  };
1119
1119
 
1120
- var formkitVersion$1 = '202608201531';
1120
+ var formkitVersion$1 = '202608211843';
1121
1121
 
1122
1122
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
1123
1123
  // See LICENSE in the project root for license information.
@@ -5288,7 +5288,7 @@ class AuroHelpText extends i$2 {
5288
5288
  }
5289
5289
  }
5290
5290
 
5291
- var formkitVersion = '202608201531';
5291
+ var formkitVersion = '202608211843';
5292
5292
 
5293
5293
  let AuroElement$1 = class AuroElement extends i$2 {
5294
5294
  static get properties() {
@@ -1067,7 +1067,7 @@ let AuroHelpText$1 = class AuroHelpText extends LitElement {
1067
1067
  }
1068
1068
  };
1069
1069
 
1070
- var formkitVersion$1 = '202608201531';
1070
+ var formkitVersion$1 = '202608211843';
1071
1071
 
1072
1072
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
1073
1073
  // See LICENSE in the project root for license information.
@@ -5220,7 +5220,7 @@ class AuroHelpText extends LitElement {
5220
5220
  }
5221
5221
  }
5222
5222
 
5223
- var formkitVersion = '202608201531';
5223
+ var formkitVersion = '202608211843';
5224
5224
 
5225
5225
  let AuroElement$1 = class AuroElement extends LitElement {
5226
5226
  static get properties() {
@@ -1067,7 +1067,7 @@ let AuroHelpText$1 = class AuroHelpText extends LitElement {
1067
1067
  }
1068
1068
  };
1069
1069
 
1070
- var formkitVersion$1 = '202608201531';
1070
+ var formkitVersion$1 = '202608211843';
1071
1071
 
1072
1072
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
1073
1073
  // See LICENSE in the project root for license information.
@@ -5220,7 +5220,7 @@ class AuroHelpText extends LitElement {
5220
5220
  }
5221
5221
  }
5222
5222
 
5223
- var formkitVersion = '202608201531';
5223
+ var formkitVersion = '202608211843';
5224
5224
 
5225
5225
  let AuroElement$1 = class AuroElement extends LitElement {
5226
5226
  static get properties() {