@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.
- package/components/checkbox/demo/customize.min.js +1 -1
- package/components/checkbox/demo/getting-started.min.js +1 -1
- package/components/checkbox/demo/index.min.js +1 -1
- package/components/checkbox/dist/index.js +1 -1
- package/components/checkbox/dist/registered.js +1 -1
- package/components/combobox/demo/customize.min.js +39 -5
- package/components/combobox/demo/getting-started.min.js +39 -5
- package/components/combobox/demo/index.min.js +39 -5
- package/components/combobox/dist/index.js +39 -5
- package/components/combobox/dist/registered.js +39 -5
- package/components/counter/demo/customize.min.js +2 -2
- package/components/counter/demo/index.min.js +2 -2
- package/components/counter/dist/index.js +2 -2
- package/components/counter/dist/registered.js +2 -2
- package/components/datepicker/demo/customize.min.js +39 -5
- package/components/datepicker/demo/index.min.js +39 -5
- package/components/datepicker/dist/index.js +39 -5
- package/components/datepicker/dist/registered.js +39 -5
- package/components/dropdown/demo/customize.min.js +1 -1
- package/components/dropdown/demo/getting-started.min.js +38 -4
- package/components/dropdown/demo/index.min.js +1 -1
- package/components/dropdown/dist/index.js +1 -1
- package/components/dropdown/dist/registered.js +1 -1
- package/components/form/demo/customize.min.js +121 -19
- package/components/form/demo/getting-started.min.js +121 -19
- package/components/form/demo/index.min.js +121 -19
- package/components/form/demo/registerDemoDeps.min.js +121 -19
- package/components/input/demo/css-only.md +2 -2
- package/components/input/demo/customize.min.js +37 -3
- package/components/input/demo/getting-started.min.js +37 -3
- package/components/input/demo/index.min.js +37 -3
- package/components/input/demo/why-input.md +2 -3
- package/components/input/dist/index.js +37 -3
- package/components/input/dist/registered.js +37 -3
- package/components/radio/demo/customize.min.js +1 -1
- package/components/radio/demo/getting-started.min.js +1 -1
- package/components/radio/demo/index.min.js +1 -1
- package/components/radio/dist/index.js +1 -1
- package/components/radio/dist/registered.js +1 -1
- package/components/select/demo/customize.min.js +2 -2
- package/components/select/demo/getting-started.min.js +2 -2
- package/components/select/demo/index.min.js +2 -2
- package/components/select/dist/index.js +2 -2
- package/components/select/dist/registered.js +2 -2
- package/package.json +1 -1
|
@@ -11934,6 +11934,18 @@ let BaseInput$2 = class BaseInput extends AuroElement$6 {
|
|
|
11934
11934
|
cardIcon: 'cc-dinersclub',
|
|
11935
11935
|
maskFormat: "0000 000000 0000"
|
|
11936
11936
|
},
|
|
11937
|
+
{
|
|
11938
|
+
// JCB is variable length (16-19 digits), like UnionPay, so it reuses the
|
|
11939
|
+
// formatMinLength/formatLength range machinery. The 35 prefix overlaps no
|
|
11940
|
+
// other brand (Amex is 34|37, Diners is 30[0-5]|36|38).
|
|
11941
|
+
name: 'JCB',
|
|
11942
|
+
regex: /^(?<num>35)\d{0}/u,
|
|
11943
|
+
formatMinLength: 19,
|
|
11944
|
+
formatLength: 23,
|
|
11945
|
+
errorMessage: CreditCardValidationMessage,
|
|
11946
|
+
cardIcon: 'cc-jcb',
|
|
11947
|
+
maskFormat: "0000 0000 0000 0000 000"
|
|
11948
|
+
},
|
|
11937
11949
|
{
|
|
11938
11950
|
name: 'Visa',
|
|
11939
11951
|
regex: /^(?<num>4)\d{0}/u,
|
|
@@ -11965,6 +11977,20 @@ let BaseInput$2 = class BaseInput extends AuroElement$6 {
|
|
|
11965
11977
|
errorMessage: CreditCardValidationMessage,
|
|
11966
11978
|
cardIcon: 'cc-discover',
|
|
11967
11979
|
maskFormat: "0000 0000 0000 0000"
|
|
11980
|
+
},
|
|
11981
|
+
{
|
|
11982
|
+
// China UnionPay is variable length (16-19 digits). It must come after
|
|
11983
|
+
// Discover so the last-match-wins loop below gives its 62 prefix
|
|
11984
|
+
// precedence over the generic `6` that resolves to Discover. 81 is used
|
|
11985
|
+
// by UnionPay cards issued outside mainland China and overlaps no other
|
|
11986
|
+
// brand. 60 is intentionally excluded (it overlaps real Discover 6011).
|
|
11987
|
+
name: 'China UnionPay',
|
|
11988
|
+
regex: /^(?<num>62|81)\d{0}/u,
|
|
11989
|
+
formatMinLength: 19,
|
|
11990
|
+
formatLength: 23,
|
|
11991
|
+
errorMessage: CreditCardValidationMessage,
|
|
11992
|
+
cardIcon: 'cc-unionpay',
|
|
11993
|
+
maskFormat: "0000 0000 0000 0000 000"
|
|
11968
11994
|
}
|
|
11969
11995
|
];
|
|
11970
11996
|
|
|
@@ -11982,7 +12008,12 @@ let BaseInput$2 = class BaseInput extends AuroElement$6 {
|
|
|
11982
12008
|
}
|
|
11983
12009
|
});
|
|
11984
12010
|
|
|
11985
|
-
|
|
12011
|
+
// Variable-length brands (both min and max defined, e.g. UnionPay) validate
|
|
12012
|
+
// against the minimum masked length so shorter-but-valid entries are not
|
|
12013
|
+
// flagged tooShort. Fixed-length brands keep their single formatLength.
|
|
12014
|
+
this.validationCCLength = type.formatMinLength && type.formatLength
|
|
12015
|
+
? type.formatMinLength
|
|
12016
|
+
: type.formatLength;
|
|
11986
12017
|
|
|
11987
12018
|
return type;
|
|
11988
12019
|
}
|
|
@@ -12341,7 +12372,7 @@ let AuroHelpText$8 = class AuroHelpText extends i$2 {
|
|
|
12341
12372
|
}
|
|
12342
12373
|
};
|
|
12343
12374
|
|
|
12344
|
-
var formkitVersion$8 = '
|
|
12375
|
+
var formkitVersion$8 = '202608211843';
|
|
12345
12376
|
|
|
12346
12377
|
// Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
12347
12378
|
// See LICENSE in the project root for license information.
|
|
@@ -12763,7 +12794,10 @@ let AuroInput$2 = class AuroInput extends BaseInput$2 {
|
|
|
12763
12794
|
*/
|
|
12764
12795
|
definePattern() {
|
|
12765
12796
|
if (this.type === 'credit-card' && !this.noValidate && this.maxLength) {
|
|
12766
|
-
|
|
12797
|
+
// Variable-length brands (e.g. UnionPay) set minLength, so accept a range;
|
|
12798
|
+
// fixed-length brands leave minLength undefined and keep an exact length.
|
|
12799
|
+
const minPatternLength = this.minLength || this.maxLength;
|
|
12800
|
+
return `.{${minPatternLength},${this.maxLength}}`;
|
|
12767
12801
|
}
|
|
12768
12802
|
|
|
12769
12803
|
return this.pattern;
|
|
@@ -26793,7 +26827,7 @@ let AuroBibtemplate$3 = class AuroBibtemplate extends i$2 {
|
|
|
26793
26827
|
}
|
|
26794
26828
|
};
|
|
26795
26829
|
|
|
26796
|
-
var formkitVersion$2$1 = '
|
|
26830
|
+
var formkitVersion$2$1 = '202608211843';
|
|
26797
26831
|
|
|
26798
26832
|
let l$1$2 = class l{generateElementName(t,e){let o=t;return o+="-",o+=e.replace(/[.]/g,"_"),o}generateTag(o,s,a){const r=this.generateElementName(o,s),i=i$5`${s$5(r)}`;return customElements.get(r)||customElements.define(r,class extends a{}),i}};let d$1$2 = class d{registerComponent(t,e){customElements.get(t)||customElements.define(t,class extends e{});}closestElement(t,e=this,o=(e,s=e&&e.closest(t))=>e&&e!==document&&e!==window?s||o(e.getRootNode().host):null){return o(e)}handleComponentTagRename(t,e){const o=e.toLowerCase();t.tagName.toLowerCase()!==o&&t.setAttribute(o,true);}elementMatch(t,e){const o=e.toLowerCase();return t.tagName.toLowerCase()===o||t.hasAttribute(o)}getSlotText(t,e){const o=t.shadowRoot?.querySelector(`slot[name="${e}"]`),s=(o?.assignedNodes({flatten:true})||[]).map(t=>t.textContent?.trim()).join(" ").trim();return s||null}};let h$1$2 = class h{registerComponent(t,e){customElements.get(t)||customElements.define(t,class extends e{});}closestElement(t,e=this,o=(e,s=e&&e.closest(t))=>e&&e!==document&&e!==window?s||o(e.getRootNode().host):null){return o(e)}handleComponentTagRename(t,e){const o=e.toLowerCase();t.tagName.toLowerCase()!==o&&t.setAttribute(o,true);}elementMatch(t,e){const o=e.toLowerCase();return t.tagName.toLowerCase()===o||t.hasAttribute(o)}};var c$1$3=i$4`:host{color:var(--ds-auro-loader-color)}:host>span{background-color:var(--ds-auro-loader-background-color);border-color:var(--ds-auro-loader-border-color)}:host([onlight]),:host([appearance=brand]){--ds-auro-loader-color: var(--ds-basic-color-brand-primary, #01426a)}:host([ondark]),:host([appearance=inverse]){--ds-auro-loader-color: var(--ds-basic-color-texticon-inverse, #ffffff)}:host([orbit])>span{--ds-auro-loader-background-color: transparent}:host([orbit])>span:nth-child(1){--ds-auro-loader-border-color: currentcolor;opacity:.25}:host([orbit])>span:nth-child(2){--ds-auro-loader-border-color: currentcolor;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent}
|
|
26799
26833
|
`,u$4$2=i$4`.body-default{font-size:var(--wcss-body-default-font-size, 1rem);line-height:var(--wcss-body-default-line-height, 1.5rem)}.body-default,.body-lg{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-weight, 450);letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-lg{font-size:var(--wcss-body-lg-font-size, 1.125rem);line-height:var(--wcss-body-lg-line-height, 1.625rem)}.body-sm{font-size:var(--wcss-body-sm-font-size, .875rem);line-height:var(--wcss-body-sm-line-height, 1.25rem)}.body-sm,.body-xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-weight, 450);letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-xs{font-size:var(--wcss-body-xs-font-size, .75rem);line-height:var(--wcss-body-xs-line-height, 1rem)}.body-2xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:var(--wcss-body-2xs-font-size, .625rem);font-weight:var(--wcss-body-weight, 450);letter-spacing:var(--wcss-body-letter-spacing, 0);line-height:var(--wcss-body-2xs-line-height, .875rem)}.display-2xl{font-family:var(--wcss-display-2xl-family, "AS Circular"),var(--wcss-display-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-2xl-font-size, clamp(3.5rem, 6vw, 5.375rem));font-weight:var(--wcss-display-2xl-weight, 300);letter-spacing:var(--wcss-display-2xl-letter-spacing, 0);line-height:var(--wcss-display-2xl-line-height, 1.3)}.display-xl{font-family:var(--wcss-display-xl-family, "AS Circular"),var(--wcss-display-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-xl-font-size, clamp(3rem, 5.3333333333vw, 4.5rem));font-weight:var(--wcss-display-xl-weight, 300);letter-spacing:var(--wcss-display-xl-letter-spacing, 0);line-height:var(--wcss-display-xl-line-height, 1.3)}.display-lg{font-family:var(--wcss-display-lg-family, "AS Circular"),var(--wcss-display-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-lg-font-size, clamp(2.75rem, 4.6666666667vw, 4rem));font-weight:var(--wcss-display-lg-weight, 300);letter-spacing:var(--wcss-display-lg-letter-spacing, 0);line-height:var(--wcss-display-lg-line-height, 1.3)}.display-md{font-family:var(--wcss-display-md-family, "AS Circular"),var(--wcss-display-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-md-font-size, clamp(2.5rem, 4vw, 3.5rem));font-weight:var(--wcss-display-md-weight, 300);letter-spacing:var(--wcss-display-md-letter-spacing, 0);line-height:var(--wcss-display-md-line-height, 1.3)}.display-sm{font-family:var(--wcss-display-sm-family, "AS Circular"),var(--wcss-display-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-sm-font-size, clamp(2rem, 3.6666666667vw, 3rem));font-weight:var(--wcss-display-sm-weight, 300);letter-spacing:var(--wcss-display-sm-letter-spacing, 0);line-height:var(--wcss-display-sm-line-height, 1.3)}.display-xs{font-family:var(--wcss-display-xs-family, "AS Circular"),var(--wcss-display-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-xs-font-size, clamp(1.75rem, 3vw, 2.375rem));font-weight:var(--wcss-display-xs-weight, 300);letter-spacing:var(--wcss-display-xs-letter-spacing, 0);line-height:var(--wcss-display-xs-line-height, 1.3)}.heading-xl{font-family:var(--wcss-heading-xl-family, "AS Circular"),var(--wcss-heading-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-xl-font-size, clamp(2rem, 3vw, 2.5rem));font-weight:var(--wcss-heading-xl-weight, 300);letter-spacing:var(--wcss-heading-xl-letter-spacing, 0);line-height:var(--wcss-heading-xl-line-height, 1.3)}.heading-lg{font-family:var(--wcss-heading-lg-family, "AS Circular"),var(--wcss-heading-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-lg-font-size, clamp(1.75rem, 2.6666666667vw, 2.25rem));font-weight:var(--wcss-heading-lg-weight, 300);letter-spacing:var(--wcss-heading-lg-letter-spacing, 0);line-height:var(--wcss-heading-lg-line-height, 1.3)}.heading-md{font-family:var(--wcss-heading-md-family, "AS Circular"),var(--wcss-heading-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-md-font-size, clamp(1.625rem, 2.3333333333vw, 1.75rem));font-weight:var(--wcss-heading-md-weight, 300);letter-spacing:var(--wcss-heading-md-letter-spacing, 0);line-height:var(--wcss-heading-md-line-height, 1.3)}.heading-sm{font-family:var(--wcss-heading-sm-family, "AS Circular"),var(--wcss-heading-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-sm-font-size, clamp(1.375rem, 2vw, 1.5rem));font-weight:var(--wcss-heading-sm-weight, 300);letter-spacing:var(--wcss-heading-sm-letter-spacing, 0);line-height:var(--wcss-heading-sm-line-height, 1.3)}.heading-xs{font-family:var(--wcss-heading-xs-family, "AS Circular"),var(--wcss-heading-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-xs-font-size, clamp(1.25rem, 1.6666666667vw, 1.25rem));font-weight:var(--wcss-heading-xs-weight, 450);letter-spacing:var(--wcss-heading-xs-letter-spacing, 0);line-height:var(--wcss-heading-xs-line-height, 1.3)}.heading-2xs{font-family:var(--wcss-heading-2xs-family, "AS Circular"),var(--wcss-heading-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-2xs-font-size, clamp(1.125rem, 1.5vw, 1.125rem));font-weight:var(--wcss-heading-2xs-weight, 450);letter-spacing:var(--wcss-heading-2xs-letter-spacing, 0);line-height:var(--wcss-heading-2xs-line-height, 1.3)}.accent-2xl{font-family:var(--wcss-accent-2xl-family, "Good OT"),var(--wcss-accent-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-2xl-font-size, clamp(2rem, 3.1666666667vw, 2.375rem));font-weight:var(--wcss-accent-2xl-weight, 450);letter-spacing:var(--wcss-accent-2xl-letter-spacing, .05em);line-height:var(--wcss-accent-2xl-line-height, 1)}.accent-2xl,.accent-xl{text-transform:uppercase}.accent-xl{font-family:var(--wcss-accent-xl-family, "Good OT"),var(--wcss-accent-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-xl-font-size, clamp(1.625rem, 2.3333333333vw, 2rem));font-weight:var(--wcss-accent-xl-weight, 450);letter-spacing:var(--wcss-accent-xl-letter-spacing, .05em);line-height:var(--wcss-accent-xl-line-height, 1.3)}.accent-lg{font-family:var(--wcss-accent-lg-family, "Good OT"),var(--wcss-accent-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-lg-font-size, clamp(1.5rem, 2.1666666667vw, 1.75rem));font-weight:var(--wcss-accent-lg-weight, 450);letter-spacing:var(--wcss-accent-lg-letter-spacing, .05em);line-height:var(--wcss-accent-lg-line-height, 1.3)}.accent-lg,.accent-md{text-transform:uppercase}.accent-md{font-family:var(--wcss-accent-md-family, "Good OT"),var(--wcss-accent-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-md-font-size, clamp(1.375rem, 1.8333333333vw, 1.5rem));font-weight:var(--wcss-accent-md-weight, 500);letter-spacing:var(--wcss-accent-md-letter-spacing, .05em);line-height:var(--wcss-accent-md-line-height, 1.3)}.accent-sm{font-family:var(--wcss-accent-sm-family, "Good OT"),var(--wcss-accent-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-sm-font-size, clamp(1.125rem, 1.5vw, 1.25rem));font-weight:var(--wcss-accent-sm-weight, 500);letter-spacing:var(--wcss-accent-sm-letter-spacing, .05em);line-height:var(--wcss-accent-sm-line-height, 1.3)}.accent-sm,.accent-xs{text-transform:uppercase}.accent-xs{font-family:var(--wcss-accent-xs-family, "Good OT"),var(--wcss-accent-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-xs-font-size, clamp(1rem, 1.3333333333vw, 1rem));font-weight:var(--wcss-accent-xs-weight, 500);letter-spacing:var(--wcss-accent-xs-letter-spacing, .1em);line-height:var(--wcss-accent-xs-line-height, 1.3)}.accent-2xs{font-family:var(--wcss-accent-2xs-family, "Good OT"),var(--wcss-accent-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-2xs-font-size, clamp(.875rem, 1.1666666667vw, .875rem));font-weight:var(--wcss-accent-2xs-weight, 450);letter-spacing:var(--wcss-accent-2xs-letter-spacing, .1em);line-height:var(--wcss-accent-2xs-line-height, 1.3);text-transform:uppercase}:focus:not(:focus-visible){outline:3px solid transparent}:host,:host>span{position:relative}:host{width:2rem;height:2rem;display:inline-block;font-size:0}:host>span{position:absolute;display:inline-block;float:none;top:0;left:0;width:2rem;height:2rem;border-radius:100%;border-style:solid;border-width:0;box-sizing:border-box}:host([xs]),:host([xs])>span{width:1.2rem;height:1.2rem}:host([sm]),:host([sm])>span{width:3rem;height:3rem}:host([md]),:host([md])>span{width:5rem;height:5rem}:host([lg]),:host([lg])>span{width:8rem;height:8rem}:host{--margin: .375rem;--margin-xs: .2rem;--margin-sm: .5rem;--margin-md: .75rem;--margin-lg: 1rem}:host([pulse]),:host([pulse])>span{position:relative}:host([pulse]){width:calc(3rem + var(--margin) * 6);height:calc(1rem + var(--margin) * 2)}:host([pulse])>span{width:1rem;height:1rem;margin:var(--margin);animation:pulse 1.5s ease infinite}:host([pulse][xs]){width:calc(1.95rem + var(--margin-xs) * 6);height:calc(.65rem + var(--margin-xs) * 2)}:host([pulse][xs])>span{margin:var(--margin-xs);width:.65rem;height:.65rem}:host([pulse][sm]){width:calc(6rem + var(--margin-sm) * 6);height:calc(2rem + var(--margin-sm) * 2)}:host([pulse][sm])>span{margin:var(--margin-sm);width:2rem;height:2rem}:host([pulse][md]){width:calc(9rem + var(--margin-md) * 6);height:calc(3rem + var(--margin-md) * 2)}:host([pulse][md])>span{margin:var(--margin-md);width:3rem;height:3rem}:host([pulse][lg]){width:calc(15rem + var(--margin-lg) * 6);height:calc(5rem + var(--margin-lg) * 2)}:host([pulse][lg])>span{margin:var(--margin-lg);width:5rem;height:5rem}:host([pulse])>span:nth-child(1){animation-delay:-.4s}:host([pulse])>span:nth-child(2){animation-delay:-.2s}:host([pulse])>span:nth-child(3){animation-delay:0ms}@keyframes pulse{0%,to{opacity:.1;transform:scale(.9)}50%{opacity:1;transform:scale(1.1)}}:host([orbit]),:host([orbit])>span{opacity:1}:host([orbit])>span{border-width:5px}:host([orbit])>span:nth-child(2){animation:orbit 2s linear infinite}:host([orbit][sm])>span{border-width:8px}:host([orbit][md])>span{border-width:13px}:host([orbit][lg])>span{border-width:21px}@keyframes orbit{0%{transform:rotate(0)}to{transform:rotate(360deg)}}:host([ringworm])>svg{animation:rotate 2s linear infinite;height:100%;width:100%;stroke:currentcolor;stroke-width:8}:host([ringworm]) .path{stroke-dashoffset:0;animation:ringworm 1.5s ease-in-out infinite;stroke-linecap:round}@keyframes rotate{to{transform:rotate(360deg)}}@keyframes ringworm{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px}to{stroke-dasharray:89,200;stroke-dashoffset:-124px}}:host([laser]){position:static;width:100%;display:block;height:0;overflow:hidden;font-size:unset}:host([laser])>span{position:fixed;width:100%;height:.25rem;border-radius:0;z-index:100}:host([laser])>span:nth-child(1){border-color:currentcolor;opacity:.25}:host([laser])>span:nth-child(2){border-color:currentcolor;animation:laser 2s linear infinite;opacity:1;width:50%}:host([laser][sm])>span:nth-child(2){width:20%}:host([laser][md])>span:nth-child(2){width:30%}:host([laser][lg])>span:nth-child(2){width:50%;animation-duration:1.5s}:host([laser][xl])>span:nth-child(2){width:80%;animation-duration:1.5s}@keyframes laser{0%{left:-100%}to{left:110%}}:host>.no-animation{display:none}@media (prefers-reduced-motion: reduce){:host{display:flex;align-items:center;justify-content:center}:host>span{opacity:1}:host>.loader{display:none}:host>svg{display:none}:host>.no-animation{display:block}}
|
|
@@ -32524,7 +32558,7 @@ let AuroHelpText$2$1 = class AuroHelpText extends i$2 {
|
|
|
32524
32558
|
}
|
|
32525
32559
|
};
|
|
32526
32560
|
|
|
32527
|
-
var formkitVersion$1$3 = '
|
|
32561
|
+
var formkitVersion$1$3 = '202608211843';
|
|
32528
32562
|
|
|
32529
32563
|
let AuroElement$2$2 = class AuroElement extends i$2 {
|
|
32530
32564
|
static get properties() {
|
|
@@ -45810,6 +45844,18 @@ let BaseInput$1 = class BaseInput extends AuroElement$1$3 {
|
|
|
45810
45844
|
cardIcon: 'cc-dinersclub',
|
|
45811
45845
|
maskFormat: "0000 000000 0000"
|
|
45812
45846
|
},
|
|
45847
|
+
{
|
|
45848
|
+
// JCB is variable length (16-19 digits), like UnionPay, so it reuses the
|
|
45849
|
+
// formatMinLength/formatLength range machinery. The 35 prefix overlaps no
|
|
45850
|
+
// other brand (Amex is 34|37, Diners is 30[0-5]|36|38).
|
|
45851
|
+
name: 'JCB',
|
|
45852
|
+
regex: /^(?<num>35)\d{0}/u,
|
|
45853
|
+
formatMinLength: 19,
|
|
45854
|
+
formatLength: 23,
|
|
45855
|
+
errorMessage: CreditCardValidationMessage,
|
|
45856
|
+
cardIcon: 'cc-jcb',
|
|
45857
|
+
maskFormat: "0000 0000 0000 0000 000"
|
|
45858
|
+
},
|
|
45813
45859
|
{
|
|
45814
45860
|
name: 'Visa',
|
|
45815
45861
|
regex: /^(?<num>4)\d{0}/u,
|
|
@@ -45841,6 +45887,20 @@ let BaseInput$1 = class BaseInput extends AuroElement$1$3 {
|
|
|
45841
45887
|
errorMessage: CreditCardValidationMessage,
|
|
45842
45888
|
cardIcon: 'cc-discover',
|
|
45843
45889
|
maskFormat: "0000 0000 0000 0000"
|
|
45890
|
+
},
|
|
45891
|
+
{
|
|
45892
|
+
// China UnionPay is variable length (16-19 digits). It must come after
|
|
45893
|
+
// Discover so the last-match-wins loop below gives its 62 prefix
|
|
45894
|
+
// precedence over the generic `6` that resolves to Discover. 81 is used
|
|
45895
|
+
// by UnionPay cards issued outside mainland China and overlaps no other
|
|
45896
|
+
// brand. 60 is intentionally excluded (it overlaps real Discover 6011).
|
|
45897
|
+
name: 'China UnionPay',
|
|
45898
|
+
regex: /^(?<num>62|81)\d{0}/u,
|
|
45899
|
+
formatMinLength: 19,
|
|
45900
|
+
formatLength: 23,
|
|
45901
|
+
errorMessage: CreditCardValidationMessage,
|
|
45902
|
+
cardIcon: 'cc-unionpay',
|
|
45903
|
+
maskFormat: "0000 0000 0000 0000 000"
|
|
45844
45904
|
}
|
|
45845
45905
|
];
|
|
45846
45906
|
|
|
@@ -45858,7 +45918,12 @@ let BaseInput$1 = class BaseInput extends AuroElement$1$3 {
|
|
|
45858
45918
|
}
|
|
45859
45919
|
});
|
|
45860
45920
|
|
|
45861
|
-
|
|
45921
|
+
// Variable-length brands (both min and max defined, e.g. UnionPay) validate
|
|
45922
|
+
// against the minimum masked length so shorter-but-valid entries are not
|
|
45923
|
+
// flagged tooShort. Fixed-length brands keep their single formatLength.
|
|
45924
|
+
this.validationCCLength = type.formatMinLength && type.formatLength
|
|
45925
|
+
? type.formatMinLength
|
|
45926
|
+
: type.formatLength;
|
|
45862
45927
|
|
|
45863
45928
|
return type;
|
|
45864
45929
|
}
|
|
@@ -46217,7 +46282,7 @@ let AuroHelpText$1$3 = class AuroHelpText extends i$2 {
|
|
|
46217
46282
|
}
|
|
46218
46283
|
};
|
|
46219
46284
|
|
|
46220
|
-
var formkitVersion$7 = '
|
|
46285
|
+
var formkitVersion$7 = '202608211843';
|
|
46221
46286
|
|
|
46222
46287
|
// Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
46223
46288
|
// See LICENSE in the project root for license information.
|
|
@@ -46639,7 +46704,10 @@ let AuroInput$1 = class AuroInput extends BaseInput$1 {
|
|
|
46639
46704
|
*/
|
|
46640
46705
|
definePattern() {
|
|
46641
46706
|
if (this.type === 'credit-card' && !this.noValidate && this.maxLength) {
|
|
46642
|
-
|
|
46707
|
+
// Variable-length brands (e.g. UnionPay) set minLength, so accept a range;
|
|
46708
|
+
// fixed-length brands leave minLength undefined and keep an exact length.
|
|
46709
|
+
const minPatternLength = this.minLength || this.maxLength;
|
|
46710
|
+
return `.{${minPatternLength},${this.maxLength}}`;
|
|
46643
46711
|
}
|
|
46644
46712
|
|
|
46645
46713
|
return this.pattern;
|
|
@@ -51219,7 +51287,7 @@ let AuroHelpText$1$2 = class AuroHelpText extends i$2 {
|
|
|
51219
51287
|
}
|
|
51220
51288
|
};
|
|
51221
51289
|
|
|
51222
|
-
var formkitVersion$1$2 = '
|
|
51290
|
+
var formkitVersion$1$2 = '202608211843';
|
|
51223
51291
|
|
|
51224
51292
|
// Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
|
|
51225
51293
|
// See LICENSE in the project root for license information.
|
|
@@ -55372,7 +55440,7 @@ let AuroHelpText$6 = class AuroHelpText extends i$2 {
|
|
|
55372
55440
|
}
|
|
55373
55441
|
};
|
|
55374
55442
|
|
|
55375
|
-
var formkitVersion$6 = '
|
|
55443
|
+
var formkitVersion$6 = '202608211843';
|
|
55376
55444
|
|
|
55377
55445
|
let AuroElement$1$2 = class AuroElement extends i$2 {
|
|
55378
55446
|
static get properties() {
|
|
@@ -59435,7 +59503,7 @@ let AuroHelpText$5 = class AuroHelpText extends i$2 {
|
|
|
59435
59503
|
}
|
|
59436
59504
|
};
|
|
59437
59505
|
|
|
59438
|
-
var formkitVersion$5 = '
|
|
59506
|
+
var formkitVersion$5 = '202608211843';
|
|
59439
59507
|
|
|
59440
59508
|
// Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
|
|
59441
59509
|
// See LICENSE in the project root for license information.
|
|
@@ -61210,7 +61278,7 @@ let AuroHelpText$4 = class AuroHelpText extends i$2 {
|
|
|
61210
61278
|
}
|
|
61211
61279
|
};
|
|
61212
61280
|
|
|
61213
|
-
var formkitVersion$4 = '
|
|
61281
|
+
var formkitVersion$4 = '202608211843';
|
|
61214
61282
|
|
|
61215
61283
|
// Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
|
|
61216
61284
|
// See LICENSE in the project root for license information.
|
|
@@ -66538,7 +66606,7 @@ let AuroHelpText$2 = class AuroHelpText extends i$2 {
|
|
|
66538
66606
|
}
|
|
66539
66607
|
};
|
|
66540
66608
|
|
|
66541
|
-
var formkitVersion$2 = '
|
|
66609
|
+
var formkitVersion$2 = '202608211843';
|
|
66542
66610
|
|
|
66543
66611
|
let AuroElement$2$1 = class AuroElement extends i$2 {
|
|
66544
66612
|
static get properties() {
|
|
@@ -79824,6 +79892,18 @@ class BaseInput extends AuroElement$1$1 {
|
|
|
79824
79892
|
cardIcon: 'cc-dinersclub',
|
|
79825
79893
|
maskFormat: "0000 000000 0000"
|
|
79826
79894
|
},
|
|
79895
|
+
{
|
|
79896
|
+
// JCB is variable length (16-19 digits), like UnionPay, so it reuses the
|
|
79897
|
+
// formatMinLength/formatLength range machinery. The 35 prefix overlaps no
|
|
79898
|
+
// other brand (Amex is 34|37, Diners is 30[0-5]|36|38).
|
|
79899
|
+
name: 'JCB',
|
|
79900
|
+
regex: /^(?<num>35)\d{0}/u,
|
|
79901
|
+
formatMinLength: 19,
|
|
79902
|
+
formatLength: 23,
|
|
79903
|
+
errorMessage: CreditCardValidationMessage,
|
|
79904
|
+
cardIcon: 'cc-jcb',
|
|
79905
|
+
maskFormat: "0000 0000 0000 0000 000"
|
|
79906
|
+
},
|
|
79827
79907
|
{
|
|
79828
79908
|
name: 'Visa',
|
|
79829
79909
|
regex: /^(?<num>4)\d{0}/u,
|
|
@@ -79855,6 +79935,20 @@ class BaseInput extends AuroElement$1$1 {
|
|
|
79855
79935
|
errorMessage: CreditCardValidationMessage,
|
|
79856
79936
|
cardIcon: 'cc-discover',
|
|
79857
79937
|
maskFormat: "0000 0000 0000 0000"
|
|
79938
|
+
},
|
|
79939
|
+
{
|
|
79940
|
+
// China UnionPay is variable length (16-19 digits). It must come after
|
|
79941
|
+
// Discover so the last-match-wins loop below gives its 62 prefix
|
|
79942
|
+
// precedence over the generic `6` that resolves to Discover. 81 is used
|
|
79943
|
+
// by UnionPay cards issued outside mainland China and overlaps no other
|
|
79944
|
+
// brand. 60 is intentionally excluded (it overlaps real Discover 6011).
|
|
79945
|
+
name: 'China UnionPay',
|
|
79946
|
+
regex: /^(?<num>62|81)\d{0}/u,
|
|
79947
|
+
formatMinLength: 19,
|
|
79948
|
+
formatLength: 23,
|
|
79949
|
+
errorMessage: CreditCardValidationMessage,
|
|
79950
|
+
cardIcon: 'cc-unionpay',
|
|
79951
|
+
maskFormat: "0000 0000 0000 0000 000"
|
|
79858
79952
|
}
|
|
79859
79953
|
];
|
|
79860
79954
|
|
|
@@ -79872,7 +79966,12 @@ class BaseInput extends AuroElement$1$1 {
|
|
|
79872
79966
|
}
|
|
79873
79967
|
});
|
|
79874
79968
|
|
|
79875
|
-
|
|
79969
|
+
// Variable-length brands (both min and max defined, e.g. UnionPay) validate
|
|
79970
|
+
// against the minimum masked length so shorter-but-valid entries are not
|
|
79971
|
+
// flagged tooShort. Fixed-length brands keep their single formatLength.
|
|
79972
|
+
this.validationCCLength = type.formatMinLength && type.formatLength
|
|
79973
|
+
? type.formatMinLength
|
|
79974
|
+
: type.formatLength;
|
|
79876
79975
|
|
|
79877
79976
|
return type;
|
|
79878
79977
|
}
|
|
@@ -80231,7 +80330,7 @@ let AuroHelpText$1$1 = class AuroHelpText extends i$2 {
|
|
|
80231
80330
|
}
|
|
80232
80331
|
};
|
|
80233
80332
|
|
|
80234
|
-
var formkitVersion$1$1 = '
|
|
80333
|
+
var formkitVersion$1$1 = '202608211843';
|
|
80235
80334
|
|
|
80236
80335
|
// Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
80237
80336
|
// See LICENSE in the project root for license information.
|
|
@@ -80653,7 +80752,10 @@ class AuroInput extends BaseInput {
|
|
|
80653
80752
|
*/
|
|
80654
80753
|
definePattern() {
|
|
80655
80754
|
if (this.type === 'credit-card' && !this.noValidate && this.maxLength) {
|
|
80656
|
-
|
|
80755
|
+
// Variable-length brands (e.g. UnionPay) set minLength, so accept a range;
|
|
80756
|
+
// fixed-length brands leave minLength undefined and keep an exact length.
|
|
80757
|
+
const minPatternLength = this.minLength || this.maxLength;
|
|
80758
|
+
return `.{${minPatternLength},${this.maxLength}}`;
|
|
80657
80759
|
}
|
|
80658
80760
|
|
|
80659
80761
|
return this.pattern;
|
|
@@ -81407,7 +81509,7 @@ let AuroBibtemplate$1 = class AuroBibtemplate extends i$2 {
|
|
|
81407
81509
|
}
|
|
81408
81510
|
};
|
|
81409
81511
|
|
|
81410
|
-
var formkitVersion$3 = '
|
|
81512
|
+
var formkitVersion$3 = '202608211843';
|
|
81411
81513
|
|
|
81412
81514
|
var styleCss$1$3 = i$4`.util_displayInline{display:inline}.util_displayInlineBlock{display:inline-block}.util_displayBlock{display:block}.util_displayFlex{display:flex}.util_displayHidden{display:none}.util_displayHiddenVisually{position:absolute;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);width:1px;height:1px;padding:0;border:0}:host{display:block;text-align:left}:host [auro-dropdown]{--ds-auro-dropdown-trigger-background-color: transparent}:host #inputInBib::part(wrapper){box-shadow:none}:host #inputInBib::part(accent-left){display:none}:host([layout*=classic]) [auro-input]{width:100%}:host([layout*=classic]) [auro-input]::part(helpText){display:none}:host([layout*=classic]) #slotHolder{display:none}`;
|
|
81413
81515
|
|
|
@@ -90611,7 +90713,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$2 {
|
|
|
90611
90713
|
}
|
|
90612
90714
|
};
|
|
90613
90715
|
|
|
90614
|
-
var formkitVersion$1 = '
|
|
90716
|
+
var formkitVersion$1 = '202608211843';
|
|
90615
90717
|
|
|
90616
90718
|
class AuroElement extends i$2 {
|
|
90617
90719
|
static get properties() {
|
|
@@ -92722,7 +92824,7 @@ class AuroHelpText extends i$2 {
|
|
|
92722
92824
|
}
|
|
92723
92825
|
}
|
|
92724
92826
|
|
|
92725
|
-
var formkitVersion = '
|
|
92827
|
+
var formkitVersion = '202608211843';
|
|
92726
92828
|
|
|
92727
92829
|
var styleCss = i$4`.util_displayInline{display:inline}.util_displayInlineBlock{display:inline-block}.util_displayBlock{display:block}.util_displayFlex{display:flex}.util_displayHidden{display:none}.util_displayHiddenVisually{position:absolute;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);width:1px;height:1px;padding:0;border:0}.body-default{font-size:var(--wcss-body-default-font-size, 1rem);font-weight:var(--wcss-body-default-weight, );line-height:var(--wcss-body-default-line-height, 1.5rem)}.body-default,.body-default-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-default-emphasized{font-size:var(--wcss-body-default-emphasized-font-size, 1rem);font-weight:var(--wcss-body-default-emphasized-weight, );line-height:var(--wcss-body-default-emphasized-line-height, 1.5rem)}.body-lg{font-size:var(--wcss-body-lg-font-size, 1.125rem);font-weight:var(--wcss-body-lg-weight, );line-height:var(--wcss-body-lg-line-height, 1.625rem)}.body-lg,.body-lg-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-lg-emphasized{font-size:var(--wcss-body-lg-emphasized-font-size, 1.125rem);font-weight:var(--wcss-body-lg-emphasized-weight, );line-height:var(--wcss-body-lg-emphasized-line-height, 1.625rem)}.body-sm{font-size:var(--wcss-body-sm-font-size, 0.875rem);font-weight:var(--wcss-body-sm-weight, );line-height:var(--wcss-body-sm-line-height, 1.25rem)}.body-sm,.body-sm-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-sm-emphasized{font-size:var(--wcss-body-sm-emphasized-font-size, 0.875rem);font-weight:var(--wcss-body-sm-emphasized-weight, );line-height:var(--wcss-body-sm-emphasized-line-height, 1.25rem)}.body-xs{font-size:var(--wcss-body-xs-font-size, 0.75rem);font-weight:var(--wcss-body-xs-weight, );line-height:var(--wcss-body-xs-line-height, 1rem)}.body-xs,.body-xs-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-xs-emphasized{font-size:var(--wcss-body-xs-emphasized-font-size, 0.75rem);font-weight:var(--wcss-body-xs-emphasized-weight, );line-height:var(--wcss-body-xs-emphasized-line-height, 1rem)}.body-2xs{font-size:var(--wcss-body-2xs-font-size, 0.625rem);font-weight:var(--wcss-body-2xs-weight, );line-height:var(--wcss-body-2xs-line-height, 0.875rem)}.body-2xs,.body-2xs-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-2xs-emphasized{font-size:var(--wcss-body-2xs-emphasized-font-size, 0.625rem);font-weight:var(--wcss-body-2xs-emphasized-weight, );line-height:var(--wcss-body-2xs-emphasized-line-height, 0.875rem)}.display-2xl{font-family:var(--wcss-display-2xl-family, "AS Circular"),var(--wcss-display-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-2xl-font-size, clamp(3.5rem, 6vw, 5.375rem));font-weight:var(--wcss-display-2xl-weight, 300);letter-spacing:var(--wcss-display-2xl-letter-spacing, 0);line-height:var(--wcss-display-2xl-line-height, 1.3)}.display-xl{font-family:var(--wcss-display-xl-family, "AS Circular"),var(--wcss-display-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-xl-font-size, clamp(3rem, 5.3333333333vw, 4.5rem));font-weight:var(--wcss-display-xl-weight, 300);letter-spacing:var(--wcss-display-xl-letter-spacing, 0);line-height:var(--wcss-display-xl-line-height, 1.3)}.display-lg{font-family:var(--wcss-display-lg-family, "AS Circular"),var(--wcss-display-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-lg-font-size, clamp(2.75rem, 4.6666666667vw, 4rem));font-weight:var(--wcss-display-lg-weight, 300);letter-spacing:var(--wcss-display-lg-letter-spacing, 0);line-height:var(--wcss-display-lg-line-height, 1.3)}.display-md{font-family:var(--wcss-display-md-family, "AS Circular"),var(--wcss-display-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-md-font-size, clamp(2.5rem, 4vw, 3.5rem));font-weight:var(--wcss-display-md-weight, 300);letter-spacing:var(--wcss-display-md-letter-spacing, 0);line-height:var(--wcss-display-md-line-height, 1.3)}.display-sm{font-family:var(--wcss-display-sm-family, "AS Circular"),var(--wcss-display-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-sm-font-size, clamp(2rem, 3.6666666667vw, 3rem));font-weight:var(--wcss-display-sm-weight, 300);letter-spacing:var(--wcss-display-sm-letter-spacing, 0);line-height:var(--wcss-display-sm-line-height, 1.3)}.display-xs{font-family:var(--wcss-display-xs-family, "AS Circular"),var(--wcss-display-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-xs-font-size, clamp(1.75rem, 3vw, 2.375rem));font-weight:var(--wcss-display-xs-weight, 300);letter-spacing:var(--wcss-display-xs-letter-spacing, 0);line-height:var(--wcss-display-xs-line-height, 1.3)}.heading-xl{font-family:var(--wcss-heading-xl-family, "AS Circular"),var(--wcss-heading-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-xl-font-size, clamp(2rem, 3vw, 2.5rem));font-weight:var(--wcss-heading-xl-weight, 300);letter-spacing:var(--wcss-heading-xl-letter-spacing, 0);line-height:var(--wcss-heading-xl-line-height, 1.3)}.heading-lg{font-family:var(--wcss-heading-lg-family, "AS Circular"),var(--wcss-heading-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-lg-font-size, clamp(1.75rem, 2.6666666667vw, 2.25rem));font-weight:var(--wcss-heading-lg-weight, 300);letter-spacing:var(--wcss-heading-lg-letter-spacing, 0);line-height:var(--wcss-heading-lg-line-height, 1.3)}.heading-md{font-family:var(--wcss-heading-md-family, "AS Circular"),var(--wcss-heading-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-md-font-size, clamp(1.625rem, 2.3333333333vw, 1.75rem));font-weight:var(--wcss-heading-md-weight, 300);letter-spacing:var(--wcss-heading-md-letter-spacing, 0);line-height:var(--wcss-heading-md-line-height, 1.3)}.heading-sm{font-family:var(--wcss-heading-sm-family, "AS Circular"),var(--wcss-heading-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-sm-font-size, clamp(1.375rem, 2vw, 1.5rem));font-weight:var(--wcss-heading-sm-weight, 300);letter-spacing:var(--wcss-heading-sm-letter-spacing, 0);line-height:var(--wcss-heading-sm-line-height, 1.3)}.heading-xs{font-family:var(--wcss-heading-xs-family, "AS Circular"),var(--wcss-heading-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-xs-font-size, clamp(1.25rem, 1.6666666667vw, 1.25rem));font-weight:var(--wcss-heading-xs-weight, 300);letter-spacing:var(--wcss-heading-xs-letter-spacing, 0);line-height:var(--wcss-heading-xs-line-height, 1.3)}.heading-2xs{font-family:var(--wcss-heading-2xs-family, "AS Circular"),var(--wcss-heading-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-2xs-font-size, clamp(1.125rem, 1.5vw, 1.125rem));font-weight:var(--wcss-heading-2xs-weight, 300);letter-spacing:var(--wcss-heading-2xs-letter-spacing, 0);line-height:var(--wcss-heading-2xs-line-height, 1.3)}.accent-2xl{font-family:var(--wcss-accent-2xl-family, "Good OT"),var(--wcss-accent-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-2xl-font-size, clamp(2rem, 3.1666666667vw, 2.375rem));font-weight:var(--wcss-accent-2xl-weight, 450);letter-spacing:var(--wcss-accent-2xl-letter-spacing, 0.05em);line-height:var(--wcss-accent-2xl-line-height, 1)}.accent-2xl,.accent-xl{text-transform:uppercase}.accent-xl{font-family:var(--wcss-accent-xl-family, "Good OT"),var(--wcss-accent-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-xl-font-size, clamp(1.625rem, 2.3333333333vw, 2rem));font-weight:var(--wcss-accent-xl-weight, 450);letter-spacing:var(--wcss-accent-xl-letter-spacing, 0.05em);line-height:var(--wcss-accent-xl-line-height, 1.3)}.accent-lg{font-family:var(--wcss-accent-lg-family, "Good OT"),var(--wcss-accent-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-lg-font-size, clamp(1.5rem, 2.1666666667vw, 1.75rem));font-weight:var(--wcss-accent-lg-weight, 450);letter-spacing:var(--wcss-accent-lg-letter-spacing, 0.05em);line-height:var(--wcss-accent-lg-line-height, 1.3)}.accent-lg,.accent-md{text-transform:uppercase}.accent-md{font-family:var(--wcss-accent-md-family, "Good OT"),var(--wcss-accent-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-md-font-size, clamp(1.375rem, 1.8333333333vw, 1.5rem));font-weight:var(--wcss-accent-md-weight, 500);letter-spacing:var(--wcss-accent-md-letter-spacing, 0.05em);line-height:var(--wcss-accent-md-line-height, 1.3)}.accent-sm{font-family:var(--wcss-accent-sm-family, "Good OT"),var(--wcss-accent-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-sm-font-size, clamp(1.125rem, 1.5vw, 1.25rem));font-weight:var(--wcss-accent-sm-weight, 500);letter-spacing:var(--wcss-accent-sm-letter-spacing, 0.05em);line-height:var(--wcss-accent-sm-line-height, 1.3)}.accent-sm,.accent-xs{text-transform:uppercase}.accent-xs{font-family:var(--wcss-accent-xs-family, "Good OT"),var(--wcss-accent-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-xs-font-size, clamp(1rem, 1.3333333333vw, 1rem));font-weight:var(--wcss-accent-xs-weight, 500);letter-spacing:var(--wcss-accent-xs-letter-spacing, 0.1em);line-height:var(--wcss-accent-xs-line-height, 1.3)}.accent-2xs{font-family:var(--wcss-accent-2xs-family, "Good OT"),var(--wcss-accent-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-2xs-font-size, clamp(0.875rem, 1.1666666667vw, 0.875rem));font-weight:var(--wcss-accent-2xs-weight, 450);letter-spacing:var(--wcss-accent-2xs-letter-spacing, 0.1em);line-height:var(--wcss-accent-2xs-line-height, 1.3);text-transform:uppercase}[auro-dropdown]{--ds-auro-dropdown-trigger-border-color: var(--ds-auro-select-border-color);--ds-auro-dropdown-trigger-background-color: var(--ds-auro-select-background-color);--ds-auro-dropdown-trigger-container-color: var(--ds-auro-select-background-color);--ds-auro-dropdown-trigger-outline-color: var(--ds-auro-select-outline-color)}:host{display:inline-block;text-align:left;vertical-align:top}:host([layout*=emphasized]) [auro-dropdown],:host([layout*=snowflake]) [auro-dropdown]{--ds-auro-select-border-color: transparent}:host([layout*=emphasized]) .mainContent,:host([layout*=snowflake]) .mainContent{text-align:center}.mainContent{position:relative;display:flex;overflow:hidden;flex:1;flex-direction:column;align-items:center;justify-content:center}.valueContainer{max-width:100%}.accents{display:flex;flex-direction:row;align-items:center;justify-content:center}::slotted([slot=typeIcon]){margin-right:var(--ds-size-100, 0.5rem)}.displayValue{display:block}.displayValue:not(.force){display:none}.displayValue:not(.force).hasContent:is(.withValue):not(.hasFocus){display:block}.triggerContent{display:flex;width:100%;box-sizing:border-box;align-items:center;justify-content:center}:host([layout*=emphasized]) .triggerContent{padding:0 var(--ds-size-100, 0.5rem) 0 var(--ds-size-300, 1.5rem)}:host([layout*=snowflake]) .triggerContent{padding:0 var(--ds-size-100, 0.5rem) 0 var(--ds-size-200, 1rem)}:host([layout*=snowflake]) label{padding-block:var(--ds-size-25, 0.125rem)}:host([layout*=classic]) .triggerContent{padding:0 var(--ds-size-100, 0.5rem)}:host([layout*=classic]) .mainContent{align-items:start}:host([layout*=classic]) label{overflow:hidden;cursor:text;text-overflow:ellipsis;white-space:nowrap}:host([layout*=classic]) .value{overflow:hidden;height:auto;text-overflow:ellipsis;white-space:nowrap}label{color:var(--ds-auro-select-label-text-color)}:host(:is([validity]:not([validity=valid]))) [auro-dropdown]{--ds-auro-select-border-color: var(--ds-basic-color-status-error, #e31f26);--ds-auro-select-outline-color: var(--ds-basic-color-status-error, #e31f26);--ds-auro-dropdown-helptext-text-color: var(--ds-basic-color-texticon-default, #2a2a2a)}:host([ondark]:is([validity]:not([validity=valid]))) [auro-dropdown],:host([appearance=inverse]:is([validity]:not([validity=valid]))) [auro-dropdown]{--ds-auro-select-border-color: var(--ds-advanced-color-state-error-inverse, #f9a4a8);--ds-auro-select-outline-color: var(--ds-advanced-color-state-error-inverse, #f9a4a8);--ds-auro-dropdown-helptext-text-color: var(--ds-basic-color-texticon-inverse, #ffffff)}#slotHolder{display:none}:host([fluid]){width:100%}:host([disabled]){pointer-events:none;user-select:none}:host([disabled]:not([ondark])) [auro-dropdown],:host([disabled]:not([appearance=inverse])) [auro-dropdown]{--ds-auro-select-border-color: var(--ds-basic-color-border-subtle, #dddddd)}:host(:not([layout*=classic])[disabled][ondark]) [auro-dropdown],:host(:not([layout*=classic])[disabled][appearance=inverse]) [auro-dropdown]{--ds-auro-select-border-color: transparent}`;
|
|
92728
92830
|
|
|
@@ -83,7 +83,7 @@
|
|
|
83
83
|
<auro-header level="3">Input masking</auro-header>
|
|
84
84
|
<p><code>auro-input</code> integrates IMask to apply format patterns as the user types — for example <code>format="(###) ###-####"</code> for phone numbers or <code>format="mm/dd/yyyy"</code> for dates. Native inputs have no concept of input masks, so you must integrate a third-party masking library and manage cursor position, paste handling, and value reconciliation yourself.</p>
|
|
85
85
|
<auro-header level="3">Credit-card formatting and detection</auro-header>
|
|
86
|
-
<p><code>auro-input</code> with <code>type="credit-card"</code> auto-detects Visa, Mastercard, American Express, Discover, Diners Club, and Alaska Airlines cards from the first digits, applies the correct digit grouping (e.g., 4-4-4-4 for Visa, 4-6-5 for Amex), displays the matching card brand icon
|
|
86
|
+
<p><code>auro-input</code> with <code>type="credit-card"</code> auto-detects Visa, Mastercard, American Express, Discover, Diners Club, JCB, China UnionPay, and Alaska Airlines cards from the first digits, applies the correct digit grouping (e.g., 4-4-4-4 for Visa, 4-6-5 for Amex), and displays the matching card brand icon. None of this is available natively.</p>
|
|
87
87
|
<auro-header level="3">Password show/hide toggle</auro-header>
|
|
88
88
|
<p><code>auro-input</code> with <code>type="password"</code> includes an accessible show/hide toggle with customizable ARIA labels via the <code>ariaLabel.password.show</code> and <code>ariaLabel.password.hide</code> slots. A native password input only masks the value — you must build the toggle button, swap the <code>type</code> attribute, and manage its accessible name yourself.</p>
|
|
89
89
|
<auro-header level="3">Clear button</auro-header>
|
|
@@ -131,7 +131,7 @@
|
|
|
131
131
|
<tr>
|
|
132
132
|
<td>Credit-card detection and formatting</td>
|
|
133
133
|
<td>Not supported</td>
|
|
134
|
-
<td>Auto-detect with icon
|
|
134
|
+
<td>Auto-detect with icon</td>
|
|
135
135
|
</tr>
|
|
136
136
|
<tr>
|
|
137
137
|
<td>Password show/hide toggle</td>
|
|
@@ -11863,6 +11863,18 @@ class BaseInput extends AuroElement {
|
|
|
11863
11863
|
cardIcon: 'cc-dinersclub',
|
|
11864
11864
|
maskFormat: "0000 000000 0000"
|
|
11865
11865
|
},
|
|
11866
|
+
{
|
|
11867
|
+
// JCB is variable length (16-19 digits), like UnionPay, so it reuses the
|
|
11868
|
+
// formatMinLength/formatLength range machinery. The 35 prefix overlaps no
|
|
11869
|
+
// other brand (Amex is 34|37, Diners is 30[0-5]|36|38).
|
|
11870
|
+
name: 'JCB',
|
|
11871
|
+
regex: /^(?<num>35)\d{0}/u,
|
|
11872
|
+
formatMinLength: 19,
|
|
11873
|
+
formatLength: 23,
|
|
11874
|
+
errorMessage: CreditCardValidationMessage,
|
|
11875
|
+
cardIcon: 'cc-jcb',
|
|
11876
|
+
maskFormat: "0000 0000 0000 0000 000"
|
|
11877
|
+
},
|
|
11866
11878
|
{
|
|
11867
11879
|
name: 'Visa',
|
|
11868
11880
|
regex: /^(?<num>4)\d{0}/u,
|
|
@@ -11894,6 +11906,20 @@ class BaseInput extends AuroElement {
|
|
|
11894
11906
|
errorMessage: CreditCardValidationMessage,
|
|
11895
11907
|
cardIcon: 'cc-discover',
|
|
11896
11908
|
maskFormat: "0000 0000 0000 0000"
|
|
11909
|
+
},
|
|
11910
|
+
{
|
|
11911
|
+
// China UnionPay is variable length (16-19 digits). It must come after
|
|
11912
|
+
// Discover so the last-match-wins loop below gives its 62 prefix
|
|
11913
|
+
// precedence over the generic `6` that resolves to Discover. 81 is used
|
|
11914
|
+
// by UnionPay cards issued outside mainland China and overlaps no other
|
|
11915
|
+
// brand. 60 is intentionally excluded (it overlaps real Discover 6011).
|
|
11916
|
+
name: 'China UnionPay',
|
|
11917
|
+
regex: /^(?<num>62|81)\d{0}/u,
|
|
11918
|
+
formatMinLength: 19,
|
|
11919
|
+
formatLength: 23,
|
|
11920
|
+
errorMessage: CreditCardValidationMessage,
|
|
11921
|
+
cardIcon: 'cc-unionpay',
|
|
11922
|
+
maskFormat: "0000 0000 0000 0000 000"
|
|
11897
11923
|
}
|
|
11898
11924
|
];
|
|
11899
11925
|
|
|
@@ -11911,7 +11937,12 @@ class BaseInput extends AuroElement {
|
|
|
11911
11937
|
}
|
|
11912
11938
|
});
|
|
11913
11939
|
|
|
11914
|
-
|
|
11940
|
+
// Variable-length brands (both min and max defined, e.g. UnionPay) validate
|
|
11941
|
+
// against the minimum masked length so shorter-but-valid entries are not
|
|
11942
|
+
// flagged tooShort. Fixed-length brands keep their single formatLength.
|
|
11943
|
+
this.validationCCLength = type.formatMinLength && type.formatLength
|
|
11944
|
+
? type.formatMinLength
|
|
11945
|
+
: type.formatLength;
|
|
11915
11946
|
|
|
11916
11947
|
return type;
|
|
11917
11948
|
}
|
|
@@ -12270,7 +12301,7 @@ class AuroHelpText extends i$3 {
|
|
|
12270
12301
|
}
|
|
12271
12302
|
}
|
|
12272
12303
|
|
|
12273
|
-
var formkitVersion = '
|
|
12304
|
+
var formkitVersion = '202608211843';
|
|
12274
12305
|
|
|
12275
12306
|
/**
|
|
12276
12307
|
* @license
|
|
@@ -12704,7 +12735,10 @@ class AuroInput extends BaseInput {
|
|
|
12704
12735
|
*/
|
|
12705
12736
|
definePattern() {
|
|
12706
12737
|
if (this.type === 'credit-card' && !this.noValidate && this.maxLength) {
|
|
12707
|
-
|
|
12738
|
+
// Variable-length brands (e.g. UnionPay) set minLength, so accept a range;
|
|
12739
|
+
// fixed-length brands leave minLength undefined and keep an exact length.
|
|
12740
|
+
const minPatternLength = this.minLength || this.maxLength;
|
|
12741
|
+
return `.{${minPatternLength},${this.maxLength}}`;
|
|
12708
12742
|
}
|
|
12709
12743
|
|
|
12710
12744
|
return this.pattern;
|
|
@@ -11863,6 +11863,18 @@ class BaseInput extends AuroElement {
|
|
|
11863
11863
|
cardIcon: 'cc-dinersclub',
|
|
11864
11864
|
maskFormat: "0000 000000 0000"
|
|
11865
11865
|
},
|
|
11866
|
+
{
|
|
11867
|
+
// JCB is variable length (16-19 digits), like UnionPay, so it reuses the
|
|
11868
|
+
// formatMinLength/formatLength range machinery. The 35 prefix overlaps no
|
|
11869
|
+
// other brand (Amex is 34|37, Diners is 30[0-5]|36|38).
|
|
11870
|
+
name: 'JCB',
|
|
11871
|
+
regex: /^(?<num>35)\d{0}/u,
|
|
11872
|
+
formatMinLength: 19,
|
|
11873
|
+
formatLength: 23,
|
|
11874
|
+
errorMessage: CreditCardValidationMessage,
|
|
11875
|
+
cardIcon: 'cc-jcb',
|
|
11876
|
+
maskFormat: "0000 0000 0000 0000 000"
|
|
11877
|
+
},
|
|
11866
11878
|
{
|
|
11867
11879
|
name: 'Visa',
|
|
11868
11880
|
regex: /^(?<num>4)\d{0}/u,
|
|
@@ -11894,6 +11906,20 @@ class BaseInput extends AuroElement {
|
|
|
11894
11906
|
errorMessage: CreditCardValidationMessage,
|
|
11895
11907
|
cardIcon: 'cc-discover',
|
|
11896
11908
|
maskFormat: "0000 0000 0000 0000"
|
|
11909
|
+
},
|
|
11910
|
+
{
|
|
11911
|
+
// China UnionPay is variable length (16-19 digits). It must come after
|
|
11912
|
+
// Discover so the last-match-wins loop below gives its 62 prefix
|
|
11913
|
+
// precedence over the generic `6` that resolves to Discover. 81 is used
|
|
11914
|
+
// by UnionPay cards issued outside mainland China and overlaps no other
|
|
11915
|
+
// brand. 60 is intentionally excluded (it overlaps real Discover 6011).
|
|
11916
|
+
name: 'China UnionPay',
|
|
11917
|
+
regex: /^(?<num>62|81)\d{0}/u,
|
|
11918
|
+
formatMinLength: 19,
|
|
11919
|
+
formatLength: 23,
|
|
11920
|
+
errorMessage: CreditCardValidationMessage,
|
|
11921
|
+
cardIcon: 'cc-unionpay',
|
|
11922
|
+
maskFormat: "0000 0000 0000 0000 000"
|
|
11897
11923
|
}
|
|
11898
11924
|
];
|
|
11899
11925
|
|
|
@@ -11911,7 +11937,12 @@ class BaseInput extends AuroElement {
|
|
|
11911
11937
|
}
|
|
11912
11938
|
});
|
|
11913
11939
|
|
|
11914
|
-
|
|
11940
|
+
// Variable-length brands (both min and max defined, e.g. UnionPay) validate
|
|
11941
|
+
// against the minimum masked length so shorter-but-valid entries are not
|
|
11942
|
+
// flagged tooShort. Fixed-length brands keep their single formatLength.
|
|
11943
|
+
this.validationCCLength = type.formatMinLength && type.formatLength
|
|
11944
|
+
? type.formatMinLength
|
|
11945
|
+
: type.formatLength;
|
|
11915
11946
|
|
|
11916
11947
|
return type;
|
|
11917
11948
|
}
|
|
@@ -12270,7 +12301,7 @@ class AuroHelpText extends i$3 {
|
|
|
12270
12301
|
}
|
|
12271
12302
|
}
|
|
12272
12303
|
|
|
12273
|
-
var formkitVersion = '
|
|
12304
|
+
var formkitVersion = '202608211843';
|
|
12274
12305
|
|
|
12275
12306
|
/**
|
|
12276
12307
|
* @license
|
|
@@ -12704,7 +12735,10 @@ class AuroInput extends BaseInput {
|
|
|
12704
12735
|
*/
|
|
12705
12736
|
definePattern() {
|
|
12706
12737
|
if (this.type === 'credit-card' && !this.noValidate && this.maxLength) {
|
|
12707
|
-
|
|
12738
|
+
// Variable-length brands (e.g. UnionPay) set minLength, so accept a range;
|
|
12739
|
+
// fixed-length brands leave minLength undefined and keep an exact length.
|
|
12740
|
+
const minPatternLength = this.minLength || this.maxLength;
|
|
12741
|
+
return `.{${minPatternLength},${this.maxLength}}`;
|
|
12708
12742
|
}
|
|
12709
12743
|
|
|
12710
12744
|
return this.pattern;
|
|
@@ -11863,6 +11863,18 @@ class BaseInput extends AuroElement {
|
|
|
11863
11863
|
cardIcon: 'cc-dinersclub',
|
|
11864
11864
|
maskFormat: "0000 000000 0000"
|
|
11865
11865
|
},
|
|
11866
|
+
{
|
|
11867
|
+
// JCB is variable length (16-19 digits), like UnionPay, so it reuses the
|
|
11868
|
+
// formatMinLength/formatLength range machinery. The 35 prefix overlaps no
|
|
11869
|
+
// other brand (Amex is 34|37, Diners is 30[0-5]|36|38).
|
|
11870
|
+
name: 'JCB',
|
|
11871
|
+
regex: /^(?<num>35)\d{0}/u,
|
|
11872
|
+
formatMinLength: 19,
|
|
11873
|
+
formatLength: 23,
|
|
11874
|
+
errorMessage: CreditCardValidationMessage,
|
|
11875
|
+
cardIcon: 'cc-jcb',
|
|
11876
|
+
maskFormat: "0000 0000 0000 0000 000"
|
|
11877
|
+
},
|
|
11866
11878
|
{
|
|
11867
11879
|
name: 'Visa',
|
|
11868
11880
|
regex: /^(?<num>4)\d{0}/u,
|
|
@@ -11894,6 +11906,20 @@ class BaseInput extends AuroElement {
|
|
|
11894
11906
|
errorMessage: CreditCardValidationMessage,
|
|
11895
11907
|
cardIcon: 'cc-discover',
|
|
11896
11908
|
maskFormat: "0000 0000 0000 0000"
|
|
11909
|
+
},
|
|
11910
|
+
{
|
|
11911
|
+
// China UnionPay is variable length (16-19 digits). It must come after
|
|
11912
|
+
// Discover so the last-match-wins loop below gives its 62 prefix
|
|
11913
|
+
// precedence over the generic `6` that resolves to Discover. 81 is used
|
|
11914
|
+
// by UnionPay cards issued outside mainland China and overlaps no other
|
|
11915
|
+
// brand. 60 is intentionally excluded (it overlaps real Discover 6011).
|
|
11916
|
+
name: 'China UnionPay',
|
|
11917
|
+
regex: /^(?<num>62|81)\d{0}/u,
|
|
11918
|
+
formatMinLength: 19,
|
|
11919
|
+
formatLength: 23,
|
|
11920
|
+
errorMessage: CreditCardValidationMessage,
|
|
11921
|
+
cardIcon: 'cc-unionpay',
|
|
11922
|
+
maskFormat: "0000 0000 0000 0000 000"
|
|
11897
11923
|
}
|
|
11898
11924
|
];
|
|
11899
11925
|
|
|
@@ -11911,7 +11937,12 @@ class BaseInput extends AuroElement {
|
|
|
11911
11937
|
}
|
|
11912
11938
|
});
|
|
11913
11939
|
|
|
11914
|
-
|
|
11940
|
+
// Variable-length brands (both min and max defined, e.g. UnionPay) validate
|
|
11941
|
+
// against the minimum masked length so shorter-but-valid entries are not
|
|
11942
|
+
// flagged tooShort. Fixed-length brands keep their single formatLength.
|
|
11943
|
+
this.validationCCLength = type.formatMinLength && type.formatLength
|
|
11944
|
+
? type.formatMinLength
|
|
11945
|
+
: type.formatLength;
|
|
11915
11946
|
|
|
11916
11947
|
return type;
|
|
11917
11948
|
}
|
|
@@ -12270,7 +12301,7 @@ class AuroHelpText extends i$3 {
|
|
|
12270
12301
|
}
|
|
12271
12302
|
}
|
|
12272
12303
|
|
|
12273
|
-
var formkitVersion = '
|
|
12304
|
+
var formkitVersion = '202608211843';
|
|
12274
12305
|
|
|
12275
12306
|
/**
|
|
12276
12307
|
* @license
|
|
@@ -12704,7 +12735,10 @@ class AuroInput extends BaseInput {
|
|
|
12704
12735
|
*/
|
|
12705
12736
|
definePattern() {
|
|
12706
12737
|
if (this.type === 'credit-card' && !this.noValidate && this.maxLength) {
|
|
12707
|
-
|
|
12738
|
+
// Variable-length brands (e.g. UnionPay) set minLength, so accept a range;
|
|
12739
|
+
// fixed-length brands leave minLength undefined and keep an exact length.
|
|
12740
|
+
const minPatternLength = this.minLength || this.maxLength;
|
|
12741
|
+
return `.{${minPatternLength},${this.maxLength}}`;
|
|
12708
12742
|
}
|
|
12709
12743
|
|
|
12710
12744
|
return this.pattern;
|
|
@@ -22,17 +22,16 @@
|
|
|
22
22
|
<p>There is no native way to detect a credit card type from input, apply the correct formatting mask, or display the appropriate card icon.</p>
|
|
23
23
|
<p><code>auro-input</code> with <code>type="credit-card"</code> provides:</p>
|
|
24
24
|
<ul>
|
|
25
|
-
<li><strong>Auto-detection</strong> — Identifies Visa, Mastercard, American Express, Discover, Diners Club, and Alaska Airlines cards from the first digits typed.</li>
|
|
25
|
+
<li><strong>Auto-detection</strong> — Identifies Visa, Mastercard, American Express, Discover, Diners Club, JCB, China UnionPay, and Alaska Airlines cards from the first digits typed.</li>
|
|
26
26
|
<li><strong>Dynamic formatting</strong> — Applies the correct digit grouping (e.g., 4-4-4-4 for Visa, 4-6-5 for Amex).</li>
|
|
27
27
|
<li><strong>Card icon</strong> — Displays the detected card brand icon automatically.</li>
|
|
28
|
-
<li><strong>Luhn validation</strong> — Validates the card number using the Luhn algorithm.</li>
|
|
29
28
|
</ul>
|
|
30
29
|
<auro-header level="2" id="validation">Validation</auro-header>
|
|
31
30
|
<p>Native input validation provides <code>required</code>, <code>min</code>, <code>max</code>, <code>minlength</code>, <code>maxlength</code>, and <code>pattern</code>, but error messages are browser-controlled and cannot be customized.</p>
|
|
32
31
|
<p><code>auro-input</code> provides:</p>
|
|
33
32
|
<ul>
|
|
34
33
|
<li>Custom error messages for every validity state: <code>setCustomValidityValueMissing</code>, <code>setCustomValidityRangeOverflow</code>, <code>setCustomValidityRangeUnderflow</code>, <code>setCustomValidityTooLong</code>, <code>setCustomValidityTooShort</code>, <code>setCustomValidityBadInput</code>, <code>setCustomValidityCustomError</code>, <code>setCustomValidityForType</code></li>
|
|
35
|
-
<li>Type-specific validation (email format, credit card
|
|
34
|
+
<li>Type-specific validation (email format, credit card format, phone format, date format)</li>
|
|
36
35
|
<li>Validation timing control: on blur (default), on every input (<code>validateOnInput</code>), or disabled (<code>noValidate</code>)</li>
|
|
37
36
|
<li>Programmatic vs. user input distinction — the component tracks whether a value change was user-initiated or programmatic</li>
|
|
38
37
|
</ul>
|