@aurodesignsystem/auro-formkit 6.0.3 → 6.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +20 -8
- package/components/checkbox/demo/customize.min.js +14 -4
- package/components/checkbox/demo/getting-started.min.js +14 -4
- package/components/checkbox/demo/index.min.js +14 -4
- package/components/checkbox/dist/index.js +14 -4
- package/components/checkbox/dist/registered.js +14 -4
- package/components/combobox/demo/customize.min.js +71 -10
- package/components/combobox/demo/getting-started.min.js +71 -10
- package/components/combobox/demo/index.min.js +71 -10
- package/components/combobox/dist/index.js +71 -10
- package/components/combobox/dist/registered.js +71 -10
- 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 +64 -8
- package/components/datepicker/demo/index.min.js +64 -8
- package/components/datepicker/dist/index.js +64 -8
- package/components/datepicker/dist/registered.js +64 -8
- package/components/dropdown/demo/customize.min.js +1 -1
- package/components/dropdown/demo/getting-started.min.js +63 -7
- 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 +241 -38
- package/components/form/demo/getting-started.min.js +241 -38
- package/components/form/demo/index.min.js +241 -38
- package/components/form/demo/registerDemoDeps.min.js +241 -38
- package/components/input/demo/api.md +1 -1
- package/components/input/demo/css-only.md +2 -2
- package/components/input/demo/customize.md +3 -3
- package/components/input/demo/customize.min.js +62 -6
- package/components/input/demo/getting-started.min.js +62 -6
- package/components/input/demo/index.min.js +62 -6
- package/components/input/demo/why-input.md +2 -3
- package/components/input/dist/auro-input.d.ts +8 -0
- package/components/input/dist/base-input.d.ts +2 -0
- package/components/input/dist/index.js +62 -6
- package/components/input/dist/registered.js +62 -6
- package/components/radio/demo/customize.min.js +15 -4
- package/components/radio/demo/getting-started.min.js +15 -4
- package/components/radio/demo/index.min.js +15 -4
- package/components/radio/dist/auro-radio-group.d.ts +1 -0
- package/components/radio/dist/index.js +15 -4
- package/components/radio/dist/registered.js +15 -4
- package/components/select/demo/customize.min.js +13 -4
- package/components/select/demo/getting-started.min.js +13 -4
- package/components/select/demo/index.min.js +13 -4
- package/components/select/dist/auro-select.d.ts +2 -0
- package/components/select/dist/index.js +13 -4
- package/components/select/dist/registered.js +13 -4
- package/custom-elements.json +1516 -1504
- package/package.json +1 -1
|
@@ -4992,7 +4992,7 @@ let AuroHelpText$2 = class AuroHelpText extends i$3 {
|
|
|
4992
4992
|
}
|
|
4993
4993
|
};
|
|
4994
4994
|
|
|
4995
|
-
var formkitVersion$2 = '
|
|
4995
|
+
var formkitVersion$2 = '202608262225';
|
|
4996
4996
|
|
|
4997
4997
|
let AuroElement$2 = class AuroElement extends i$3 {
|
|
4998
4998
|
static get properties() {
|
|
@@ -17164,6 +17164,8 @@ class BaseInput extends AuroElement$1 {
|
|
|
17164
17164
|
|
|
17165
17165
|
/**
|
|
17166
17166
|
* If set, the label will remain fixed in the active position.
|
|
17167
|
+
* Only applies to the classic/default layout; the emphasized and snowflake
|
|
17168
|
+
* layouts always render the label inside the field, so this has no effect there.
|
|
17167
17169
|
*/
|
|
17168
17170
|
activeLabel: {
|
|
17169
17171
|
type: Boolean,
|
|
@@ -18283,6 +18285,18 @@ class BaseInput extends AuroElement$1 {
|
|
|
18283
18285
|
cardIcon: 'cc-dinersclub',
|
|
18284
18286
|
maskFormat: "0000 000000 0000"
|
|
18285
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
|
+
},
|
|
18286
18300
|
{
|
|
18287
18301
|
name: 'Visa',
|
|
18288
18302
|
regex: /^(?<num>4)\d{0}/u,
|
|
@@ -18314,6 +18328,20 @@ class BaseInput extends AuroElement$1 {
|
|
|
18314
18328
|
errorMessage: CreditCardValidationMessage,
|
|
18315
18329
|
cardIcon: 'cc-discover',
|
|
18316
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"
|
|
18317
18345
|
}
|
|
18318
18346
|
];
|
|
18319
18347
|
|
|
@@ -18331,7 +18359,12 @@ class BaseInput extends AuroElement$1 {
|
|
|
18331
18359
|
}
|
|
18332
18360
|
});
|
|
18333
18361
|
|
|
18334
|
-
|
|
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;
|
|
18335
18368
|
|
|
18336
18369
|
return type;
|
|
18337
18370
|
}
|
|
@@ -18690,7 +18723,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$3 {
|
|
|
18690
18723
|
}
|
|
18691
18724
|
};
|
|
18692
18725
|
|
|
18693
|
-
var formkitVersion$1 = '
|
|
18726
|
+
var formkitVersion$1 = '202608262225';
|
|
18694
18727
|
|
|
18695
18728
|
// Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
18696
18729
|
// See LICENSE in the project root for license information.
|
|
@@ -18791,15 +18824,35 @@ class AuroInput extends BaseInput {
|
|
|
18791
18824
|
* @private
|
|
18792
18825
|
*/
|
|
18793
18826
|
get inputHidden() {
|
|
18827
|
+
// In the classic/default layout, activeLabel keeps the input row visible so
|
|
18828
|
+
// the label stays raised rather than collapsing to the centered placeholder
|
|
18829
|
+
// position. Emphasized/snowflake always render the label inside the field,
|
|
18830
|
+
// so activeLabel does not apply there. This only overrides the empty/
|
|
18831
|
+
// unfocused clause — the display-value clause (combobox/datepicker) is
|
|
18832
|
+
// preserved regardless.
|
|
18833
|
+
const activeLabelRaisesInput = this.activeLabel && this.isClassicLayout;
|
|
18834
|
+
|
|
18794
18835
|
return (
|
|
18795
18836
|
this.hasDisplayValueContent && !this.hasFocus && this.hasValue) ||
|
|
18796
18837
|
(
|
|
18838
|
+
!activeLabelRaisesInput &&
|
|
18797
18839
|
(!this.value || this.value.length === 0) &&
|
|
18798
18840
|
!this.hasFocus &&
|
|
18799
18841
|
(!this.placeholderStr || this.placeholderStr === '')
|
|
18800
18842
|
);
|
|
18801
18843
|
}
|
|
18802
18844
|
|
|
18845
|
+
/**
|
|
18846
|
+
* Whether the component is rendering the classic/default layout, meaning not
|
|
18847
|
+
* emphasized and not snowflake. Kept as a single source of truth so
|
|
18848
|
+
* layout-scoped behavior such as activeLabel stays consistent across getters.
|
|
18849
|
+
* @returns {boolean} - True for the classic/default layout.
|
|
18850
|
+
* @private
|
|
18851
|
+
*/
|
|
18852
|
+
get isClassicLayout() {
|
|
18853
|
+
return !this.layout.startsWith('emphasized') && this.layout !== 'snowflake';
|
|
18854
|
+
}
|
|
18855
|
+
|
|
18803
18856
|
/**
|
|
18804
18857
|
* Determines if the input should display in a state with no focus or value indication.
|
|
18805
18858
|
* Returns true when the input has display content without focus and has a value,
|
|
@@ -18845,7 +18898,7 @@ class AuroInput extends BaseInput {
|
|
|
18845
18898
|
}
|
|
18846
18899
|
|
|
18847
18900
|
// classic layout (default)
|
|
18848
|
-
return ((!this.value || this.value.length === 0) && !this.placeholderStr && !this.hasFocus) ? 'body-default' : 'body-xs';
|
|
18901
|
+
return ((!this.value || this.value.length === 0) && !this.placeholderStr && !this.hasFocus && !this.activeLabel) ? 'body-default' : 'body-xs';
|
|
18849
18902
|
}
|
|
18850
18903
|
|
|
18851
18904
|
/**
|
|
@@ -18941,7 +18994,8 @@ class AuroInput extends BaseInput {
|
|
|
18941
18994
|
'wrapper': true,
|
|
18942
18995
|
'simple': this.simple,
|
|
18943
18996
|
'withValue': this.hasValue,
|
|
18944
|
-
'hasFocus': this.hasFocus
|
|
18997
|
+
'hasFocus': this.hasFocus,
|
|
18998
|
+
'activeLabel': this.activeLabel
|
|
18945
18999
|
};
|
|
18946
19000
|
}
|
|
18947
19001
|
|
|
@@ -19091,7 +19145,10 @@ class AuroInput extends BaseInput {
|
|
|
19091
19145
|
*/
|
|
19092
19146
|
definePattern() {
|
|
19093
19147
|
if (this.type === 'credit-card' && !this.noValidate && this.maxLength) {
|
|
19094
|
-
|
|
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}}`;
|
|
19095
19152
|
}
|
|
19096
19153
|
|
|
19097
19154
|
return this.pattern;
|
|
@@ -19152,7 +19209,6 @@ class AuroInput extends BaseInput {
|
|
|
19152
19209
|
@input="${this.handleInput}"
|
|
19153
19210
|
.placeholder=${this.placeholderStr}
|
|
19154
19211
|
.role=${this.a11yRole}
|
|
19155
|
-
?activeLabel="${this.activeLabel}"
|
|
19156
19212
|
?disabled="${this.disabled}"
|
|
19157
19213
|
?required="${this.required}"
|
|
19158
19214
|
aria-activedescendant=${o(this.a11yActivedescendant)}
|
|
@@ -19846,7 +19902,7 @@ class AuroBibtemplate extends i$3 {
|
|
|
19846
19902
|
}
|
|
19847
19903
|
}
|
|
19848
19904
|
|
|
19849
|
-
var formkitVersion = '
|
|
19905
|
+
var formkitVersion = '202608262225';
|
|
19850
19906
|
|
|
19851
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}`;
|
|
19852
19908
|
|
|
@@ -21541,8 +21597,13 @@ class AuroCombobox extends AuroElement {
|
|
|
21541
21597
|
// and validating against the pre-selection value flashes a stale error
|
|
21542
21598
|
// between mousedown and mouseup. The next focusout fires after the
|
|
21543
21599
|
// dropdown closes and validates against the post-selection value.
|
|
21544
|
-
if (!this.componentHasFocus && !this._inFullscreenTransition && !this.dropdownOpen) {
|
|
21600
|
+
if (!this.noValidate && !this.componentHasFocus && !this._inFullscreenTransition && !this.dropdownOpen) {
|
|
21545
21601
|
this.validate();
|
|
21602
|
+
} else if (this.noValidate && !this.componentHasFocus && !this._inFullscreenTransition && !this.dropdownOpen && this.validity !== undefined && !this.hasAttribute('error')) {
|
|
21603
|
+
// Clear stale error state left by a previous validate(true) call.
|
|
21604
|
+
// Do not clear when the error attribute is set — that is an externally forced error.
|
|
21605
|
+
this.validity = undefined;
|
|
21606
|
+
this.errorMessage = null;
|
|
21546
21607
|
}
|
|
21547
21608
|
});
|
|
21548
21609
|
|
|
@@ -21681,7 +21742,7 @@ class AuroCombobox extends AuroElement {
|
|
|
21681
21742
|
// interaction). In fullscreen dialog mode, componentHasFocus returns false
|
|
21682
21743
|
// because focus is inside the top-layer dialog, so also check
|
|
21683
21744
|
// dropdownOpen and the fullscreen transition flag.
|
|
21684
|
-
if (!this.componentHasFocus && !this.dropdownOpen && !this._inFullscreenTransition) {
|
|
21745
|
+
if (!this.noValidate && !this.componentHasFocus && !this.dropdownOpen && !this._inFullscreenTransition) {
|
|
21685
21746
|
this.validate();
|
|
21686
21747
|
}
|
|
21687
21748
|
|
|
@@ -4910,7 +4910,7 @@ let AuroHelpText$2 = class AuroHelpText extends LitElement {
|
|
|
4910
4910
|
}
|
|
4911
4911
|
};
|
|
4912
4912
|
|
|
4913
|
-
var formkitVersion$2 = '
|
|
4913
|
+
var formkitVersion$2 = '202608262225';
|
|
4914
4914
|
|
|
4915
4915
|
let AuroElement$2 = class AuroElement extends LitElement {
|
|
4916
4916
|
static get properties() {
|
|
@@ -17075,6 +17075,8 @@ class BaseInput extends AuroElement$1 {
|
|
|
17075
17075
|
|
|
17076
17076
|
/**
|
|
17077
17077
|
* If set, the label will remain fixed in the active position.
|
|
17078
|
+
* Only applies to the classic/default layout; the emphasized and snowflake
|
|
17079
|
+
* layouts always render the label inside the field, so this has no effect there.
|
|
17078
17080
|
*/
|
|
17079
17081
|
activeLabel: {
|
|
17080
17082
|
type: Boolean,
|
|
@@ -18194,6 +18196,18 @@ class BaseInput extends AuroElement$1 {
|
|
|
18194
18196
|
cardIcon: 'cc-dinersclub',
|
|
18195
18197
|
maskFormat: "0000 000000 0000"
|
|
18196
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
|
+
},
|
|
18197
18211
|
{
|
|
18198
18212
|
name: 'Visa',
|
|
18199
18213
|
regex: /^(?<num>4)\d{0}/u,
|
|
@@ -18225,6 +18239,20 @@ class BaseInput extends AuroElement$1 {
|
|
|
18225
18239
|
errorMessage: CreditCardValidationMessage,
|
|
18226
18240
|
cardIcon: 'cc-discover',
|
|
18227
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"
|
|
18228
18256
|
}
|
|
18229
18257
|
];
|
|
18230
18258
|
|
|
@@ -18242,7 +18270,12 @@ class BaseInput extends AuroElement$1 {
|
|
|
18242
18270
|
}
|
|
18243
18271
|
});
|
|
18244
18272
|
|
|
18245
|
-
|
|
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;
|
|
18246
18279
|
|
|
18247
18280
|
return type;
|
|
18248
18281
|
}
|
|
@@ -18601,7 +18634,7 @@ let AuroHelpText$1 = class AuroHelpText extends LitElement {
|
|
|
18601
18634
|
}
|
|
18602
18635
|
};
|
|
18603
18636
|
|
|
18604
|
-
var formkitVersion$1 = '
|
|
18637
|
+
var formkitVersion$1 = '202608262225';
|
|
18605
18638
|
|
|
18606
18639
|
// Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
18607
18640
|
// See LICENSE in the project root for license information.
|
|
@@ -18702,15 +18735,35 @@ class AuroInput extends BaseInput {
|
|
|
18702
18735
|
* @private
|
|
18703
18736
|
*/
|
|
18704
18737
|
get inputHidden() {
|
|
18738
|
+
// In the classic/default layout, activeLabel keeps the input row visible so
|
|
18739
|
+
// the label stays raised rather than collapsing to the centered placeholder
|
|
18740
|
+
// position. Emphasized/snowflake always render the label inside the field,
|
|
18741
|
+
// so activeLabel does not apply there. This only overrides the empty/
|
|
18742
|
+
// unfocused clause — the display-value clause (combobox/datepicker) is
|
|
18743
|
+
// preserved regardless.
|
|
18744
|
+
const activeLabelRaisesInput = this.activeLabel && this.isClassicLayout;
|
|
18745
|
+
|
|
18705
18746
|
return (
|
|
18706
18747
|
this.hasDisplayValueContent && !this.hasFocus && this.hasValue) ||
|
|
18707
18748
|
(
|
|
18749
|
+
!activeLabelRaisesInput &&
|
|
18708
18750
|
(!this.value || this.value.length === 0) &&
|
|
18709
18751
|
!this.hasFocus &&
|
|
18710
18752
|
(!this.placeholderStr || this.placeholderStr === '')
|
|
18711
18753
|
);
|
|
18712
18754
|
}
|
|
18713
18755
|
|
|
18756
|
+
/**
|
|
18757
|
+
* Whether the component is rendering the classic/default layout, meaning not
|
|
18758
|
+
* emphasized and not snowflake. Kept as a single source of truth so
|
|
18759
|
+
* layout-scoped behavior such as activeLabel stays consistent across getters.
|
|
18760
|
+
* @returns {boolean} - True for the classic/default layout.
|
|
18761
|
+
* @private
|
|
18762
|
+
*/
|
|
18763
|
+
get isClassicLayout() {
|
|
18764
|
+
return !this.layout.startsWith('emphasized') && this.layout !== 'snowflake';
|
|
18765
|
+
}
|
|
18766
|
+
|
|
18714
18767
|
/**
|
|
18715
18768
|
* Determines if the input should display in a state with no focus or value indication.
|
|
18716
18769
|
* Returns true when the input has display content without focus and has a value,
|
|
@@ -18756,7 +18809,7 @@ class AuroInput extends BaseInput {
|
|
|
18756
18809
|
}
|
|
18757
18810
|
|
|
18758
18811
|
// classic layout (default)
|
|
18759
|
-
return ((!this.value || this.value.length === 0) && !this.placeholderStr && !this.hasFocus) ? 'body-default' : 'body-xs';
|
|
18812
|
+
return ((!this.value || this.value.length === 0) && !this.placeholderStr && !this.hasFocus && !this.activeLabel) ? 'body-default' : 'body-xs';
|
|
18760
18813
|
}
|
|
18761
18814
|
|
|
18762
18815
|
/**
|
|
@@ -18852,7 +18905,8 @@ class AuroInput extends BaseInput {
|
|
|
18852
18905
|
'wrapper': true,
|
|
18853
18906
|
'simple': this.simple,
|
|
18854
18907
|
'withValue': this.hasValue,
|
|
18855
|
-
'hasFocus': this.hasFocus
|
|
18908
|
+
'hasFocus': this.hasFocus,
|
|
18909
|
+
'activeLabel': this.activeLabel
|
|
18856
18910
|
};
|
|
18857
18911
|
}
|
|
18858
18912
|
|
|
@@ -19002,7 +19056,10 @@ class AuroInput extends BaseInput {
|
|
|
19002
19056
|
*/
|
|
19003
19057
|
definePattern() {
|
|
19004
19058
|
if (this.type === 'credit-card' && !this.noValidate && this.maxLength) {
|
|
19005
|
-
|
|
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}}`;
|
|
19006
19063
|
}
|
|
19007
19064
|
|
|
19008
19065
|
return this.pattern;
|
|
@@ -19063,7 +19120,6 @@ class AuroInput extends BaseInput {
|
|
|
19063
19120
|
@input="${this.handleInput}"
|
|
19064
19121
|
.placeholder=${this.placeholderStr}
|
|
19065
19122
|
.role=${this.a11yRole}
|
|
19066
|
-
?activeLabel="${this.activeLabel}"
|
|
19067
19123
|
?disabled="${this.disabled}"
|
|
19068
19124
|
?required="${this.required}"
|
|
19069
19125
|
aria-activedescendant=${ifDefined(this.a11yActivedescendant)}
|
|
@@ -19757,7 +19813,7 @@ class AuroBibtemplate extends LitElement {
|
|
|
19757
19813
|
}
|
|
19758
19814
|
}
|
|
19759
19815
|
|
|
19760
|
-
var formkitVersion = '
|
|
19816
|
+
var formkitVersion = '202608262225';
|
|
19761
19817
|
|
|
19762
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}`;
|
|
19763
19819
|
|
|
@@ -21452,8 +21508,13 @@ class AuroCombobox extends AuroElement {
|
|
|
21452
21508
|
// and validating against the pre-selection value flashes a stale error
|
|
21453
21509
|
// between mousedown and mouseup. The next focusout fires after the
|
|
21454
21510
|
// dropdown closes and validates against the post-selection value.
|
|
21455
|
-
if (!this.componentHasFocus && !this._inFullscreenTransition && !this.dropdownOpen) {
|
|
21511
|
+
if (!this.noValidate && !this.componentHasFocus && !this._inFullscreenTransition && !this.dropdownOpen) {
|
|
21456
21512
|
this.validate();
|
|
21513
|
+
} else if (this.noValidate && !this.componentHasFocus && !this._inFullscreenTransition && !this.dropdownOpen && this.validity !== undefined && !this.hasAttribute('error')) {
|
|
21514
|
+
// Clear stale error state left by a previous validate(true) call.
|
|
21515
|
+
// Do not clear when the error attribute is set — that is an externally forced error.
|
|
21516
|
+
this.validity = undefined;
|
|
21517
|
+
this.errorMessage = null;
|
|
21457
21518
|
}
|
|
21458
21519
|
});
|
|
21459
21520
|
|
|
@@ -21592,7 +21653,7 @@ class AuroCombobox extends AuroElement {
|
|
|
21592
21653
|
// interaction). In fullscreen dialog mode, componentHasFocus returns false
|
|
21593
21654
|
// because focus is inside the top-layer dialog, so also check
|
|
21594
21655
|
// dropdownOpen and the fullscreen transition flag.
|
|
21595
|
-
if (!this.componentHasFocus && !this.dropdownOpen && !this._inFullscreenTransition) {
|
|
21656
|
+
if (!this.noValidate && !this.componentHasFocus && !this.dropdownOpen && !this._inFullscreenTransition) {
|
|
21596
21657
|
this.validate();
|
|
21597
21658
|
}
|
|
21598
21659
|
|
|
@@ -4910,7 +4910,7 @@ let AuroHelpText$2 = class AuroHelpText extends LitElement {
|
|
|
4910
4910
|
}
|
|
4911
4911
|
};
|
|
4912
4912
|
|
|
4913
|
-
var formkitVersion$2 = '
|
|
4913
|
+
var formkitVersion$2 = '202608262225';
|
|
4914
4914
|
|
|
4915
4915
|
let AuroElement$2 = class AuroElement extends LitElement {
|
|
4916
4916
|
static get properties() {
|
|
@@ -17075,6 +17075,8 @@ class BaseInput extends AuroElement$1 {
|
|
|
17075
17075
|
|
|
17076
17076
|
/**
|
|
17077
17077
|
* If set, the label will remain fixed in the active position.
|
|
17078
|
+
* Only applies to the classic/default layout; the emphasized and snowflake
|
|
17079
|
+
* layouts always render the label inside the field, so this has no effect there.
|
|
17078
17080
|
*/
|
|
17079
17081
|
activeLabel: {
|
|
17080
17082
|
type: Boolean,
|
|
@@ -18194,6 +18196,18 @@ class BaseInput extends AuroElement$1 {
|
|
|
18194
18196
|
cardIcon: 'cc-dinersclub',
|
|
18195
18197
|
maskFormat: "0000 000000 0000"
|
|
18196
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
|
+
},
|
|
18197
18211
|
{
|
|
18198
18212
|
name: 'Visa',
|
|
18199
18213
|
regex: /^(?<num>4)\d{0}/u,
|
|
@@ -18225,6 +18239,20 @@ class BaseInput extends AuroElement$1 {
|
|
|
18225
18239
|
errorMessage: CreditCardValidationMessage,
|
|
18226
18240
|
cardIcon: 'cc-discover',
|
|
18227
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"
|
|
18228
18256
|
}
|
|
18229
18257
|
];
|
|
18230
18258
|
|
|
@@ -18242,7 +18270,12 @@ class BaseInput extends AuroElement$1 {
|
|
|
18242
18270
|
}
|
|
18243
18271
|
});
|
|
18244
18272
|
|
|
18245
|
-
|
|
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;
|
|
18246
18279
|
|
|
18247
18280
|
return type;
|
|
18248
18281
|
}
|
|
@@ -18601,7 +18634,7 @@ let AuroHelpText$1 = class AuroHelpText extends LitElement {
|
|
|
18601
18634
|
}
|
|
18602
18635
|
};
|
|
18603
18636
|
|
|
18604
|
-
var formkitVersion$1 = '
|
|
18637
|
+
var formkitVersion$1 = '202608262225';
|
|
18605
18638
|
|
|
18606
18639
|
// Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
18607
18640
|
// See LICENSE in the project root for license information.
|
|
@@ -18702,15 +18735,35 @@ class AuroInput extends BaseInput {
|
|
|
18702
18735
|
* @private
|
|
18703
18736
|
*/
|
|
18704
18737
|
get inputHidden() {
|
|
18738
|
+
// In the classic/default layout, activeLabel keeps the input row visible so
|
|
18739
|
+
// the label stays raised rather than collapsing to the centered placeholder
|
|
18740
|
+
// position. Emphasized/snowflake always render the label inside the field,
|
|
18741
|
+
// so activeLabel does not apply there. This only overrides the empty/
|
|
18742
|
+
// unfocused clause — the display-value clause (combobox/datepicker) is
|
|
18743
|
+
// preserved regardless.
|
|
18744
|
+
const activeLabelRaisesInput = this.activeLabel && this.isClassicLayout;
|
|
18745
|
+
|
|
18705
18746
|
return (
|
|
18706
18747
|
this.hasDisplayValueContent && !this.hasFocus && this.hasValue) ||
|
|
18707
18748
|
(
|
|
18749
|
+
!activeLabelRaisesInput &&
|
|
18708
18750
|
(!this.value || this.value.length === 0) &&
|
|
18709
18751
|
!this.hasFocus &&
|
|
18710
18752
|
(!this.placeholderStr || this.placeholderStr === '')
|
|
18711
18753
|
);
|
|
18712
18754
|
}
|
|
18713
18755
|
|
|
18756
|
+
/**
|
|
18757
|
+
* Whether the component is rendering the classic/default layout, meaning not
|
|
18758
|
+
* emphasized and not snowflake. Kept as a single source of truth so
|
|
18759
|
+
* layout-scoped behavior such as activeLabel stays consistent across getters.
|
|
18760
|
+
* @returns {boolean} - True for the classic/default layout.
|
|
18761
|
+
* @private
|
|
18762
|
+
*/
|
|
18763
|
+
get isClassicLayout() {
|
|
18764
|
+
return !this.layout.startsWith('emphasized') && this.layout !== 'snowflake';
|
|
18765
|
+
}
|
|
18766
|
+
|
|
18714
18767
|
/**
|
|
18715
18768
|
* Determines if the input should display in a state with no focus or value indication.
|
|
18716
18769
|
* Returns true when the input has display content without focus and has a value,
|
|
@@ -18756,7 +18809,7 @@ class AuroInput extends BaseInput {
|
|
|
18756
18809
|
}
|
|
18757
18810
|
|
|
18758
18811
|
// classic layout (default)
|
|
18759
|
-
return ((!this.value || this.value.length === 0) && !this.placeholderStr && !this.hasFocus) ? 'body-default' : 'body-xs';
|
|
18812
|
+
return ((!this.value || this.value.length === 0) && !this.placeholderStr && !this.hasFocus && !this.activeLabel) ? 'body-default' : 'body-xs';
|
|
18760
18813
|
}
|
|
18761
18814
|
|
|
18762
18815
|
/**
|
|
@@ -18852,7 +18905,8 @@ class AuroInput extends BaseInput {
|
|
|
18852
18905
|
'wrapper': true,
|
|
18853
18906
|
'simple': this.simple,
|
|
18854
18907
|
'withValue': this.hasValue,
|
|
18855
|
-
'hasFocus': this.hasFocus
|
|
18908
|
+
'hasFocus': this.hasFocus,
|
|
18909
|
+
'activeLabel': this.activeLabel
|
|
18856
18910
|
};
|
|
18857
18911
|
}
|
|
18858
18912
|
|
|
@@ -19002,7 +19056,10 @@ class AuroInput extends BaseInput {
|
|
|
19002
19056
|
*/
|
|
19003
19057
|
definePattern() {
|
|
19004
19058
|
if (this.type === 'credit-card' && !this.noValidate && this.maxLength) {
|
|
19005
|
-
|
|
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}}`;
|
|
19006
19063
|
}
|
|
19007
19064
|
|
|
19008
19065
|
return this.pattern;
|
|
@@ -19063,7 +19120,6 @@ class AuroInput extends BaseInput {
|
|
|
19063
19120
|
@input="${this.handleInput}"
|
|
19064
19121
|
.placeholder=${this.placeholderStr}
|
|
19065
19122
|
.role=${this.a11yRole}
|
|
19066
|
-
?activeLabel="${this.activeLabel}"
|
|
19067
19123
|
?disabled="${this.disabled}"
|
|
19068
19124
|
?required="${this.required}"
|
|
19069
19125
|
aria-activedescendant=${ifDefined(this.a11yActivedescendant)}
|
|
@@ -19757,7 +19813,7 @@ class AuroBibtemplate extends LitElement {
|
|
|
19757
19813
|
}
|
|
19758
19814
|
}
|
|
19759
19815
|
|
|
19760
|
-
var formkitVersion = '
|
|
19816
|
+
var formkitVersion = '202608262225';
|
|
19761
19817
|
|
|
19762
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}`;
|
|
19763
19819
|
|
|
@@ -21452,8 +21508,13 @@ class AuroCombobox extends AuroElement {
|
|
|
21452
21508
|
// and validating against the pre-selection value flashes a stale error
|
|
21453
21509
|
// between mousedown and mouseup. The next focusout fires after the
|
|
21454
21510
|
// dropdown closes and validates against the post-selection value.
|
|
21455
|
-
if (!this.componentHasFocus && !this._inFullscreenTransition && !this.dropdownOpen) {
|
|
21511
|
+
if (!this.noValidate && !this.componentHasFocus && !this._inFullscreenTransition && !this.dropdownOpen) {
|
|
21456
21512
|
this.validate();
|
|
21513
|
+
} else if (this.noValidate && !this.componentHasFocus && !this._inFullscreenTransition && !this.dropdownOpen && this.validity !== undefined && !this.hasAttribute('error')) {
|
|
21514
|
+
// Clear stale error state left by a previous validate(true) call.
|
|
21515
|
+
// Do not clear when the error attribute is set — that is an externally forced error.
|
|
21516
|
+
this.validity = undefined;
|
|
21517
|
+
this.errorMessage = null;
|
|
21457
21518
|
}
|
|
21458
21519
|
});
|
|
21459
21520
|
|
|
@@ -21592,7 +21653,7 @@ class AuroCombobox extends AuroElement {
|
|
|
21592
21653
|
// interaction). In fullscreen dialog mode, componentHasFocus returns false
|
|
21593
21654
|
// because focus is inside the top-layer dialog, so also check
|
|
21594
21655
|
// dropdownOpen and the fullscreen transition flag.
|
|
21595
|
-
if (!this.componentHasFocus && !this.dropdownOpen && !this._inFullscreenTransition) {
|
|
21656
|
+
if (!this.noValidate && !this.componentHasFocus && !this.dropdownOpen && !this._inFullscreenTransition) {
|
|
21596
21657
|
this.validate();
|
|
21597
21658
|
}
|
|
21598
21659
|
|
|
@@ -1117,7 +1117,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$2 {
|
|
|
1117
1117
|
}
|
|
1118
1118
|
};
|
|
1119
1119
|
|
|
1120
|
-
var formkitVersion$1 = '
|
|
1120
|
+
var formkitVersion$1 = '202608262225';
|
|
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 = '
|
|
5291
|
+
var formkitVersion = '202608262225';
|
|
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 = '
|
|
1120
|
+
var formkitVersion$1 = '202608262225';
|
|
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 = '
|
|
5291
|
+
var formkitVersion = '202608262225';
|
|
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 = '
|
|
1070
|
+
var formkitVersion$1 = '202608262225';
|
|
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 = '
|
|
5223
|
+
var formkitVersion = '202608262225';
|
|
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 = '
|
|
1070
|
+
var formkitVersion$1 = '202608262225';
|
|
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 = '
|
|
5223
|
+
var formkitVersion = '202608262225';
|
|
5224
5224
|
|
|
5225
5225
|
let AuroElement$1 = class AuroElement extends LitElement {
|
|
5226
5226
|
static get properties() {
|