@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
package/CHANGELOG.md
CHANGED
|
@@ -1,15 +1,27 @@
|
|
|
1
|
-
|
|
1
|
+
# [6.1.0](https://github.com/AlaskaAirlines/auro-formkit/compare/v6.0.3...v6.1.0) (2026-08-26)
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
### Bug Fixes
|
|
5
5
|
|
|
6
|
-
* **dropdown:** align js example system AB[#1611713](https://github.com/AlaskaAirlines/auro-formkit/issues/1611713) ([
|
|
7
|
-
* **dropdown:** re-configure floater on reconnect to restore trigger event listeners AB[#1611656](https://github.com/AlaskaAirlines/auro-formkit/issues/1611656) ([
|
|
8
|
-
* ellipses dp value at small widths AB[#1602084](https://github.com/AlaskaAirlines/auro-formkit/issues/1602084) ([
|
|
9
|
-
* ensure range inputs maintain equal size with long labels AB[#1494482](https://github.com/AlaskaAirlines/auro-formkit/issues/1494482) ([
|
|
10
|
-
*
|
|
11
|
-
* **
|
|
12
|
-
*
|
|
6
|
+
* **dropdown:** align js example system AB[#1611713](https://github.com/AlaskaAirlines/auro-formkit/issues/1611713) ([50a787d](https://github.com/AlaskaAirlines/auro-formkit/commit/50a787d6f163b34f7eba68c0a0ba37a5357f10a7))
|
|
7
|
+
* **dropdown:** re-configure floater on reconnect to restore trigger event listeners AB[#1611656](https://github.com/AlaskaAirlines/auro-formkit/issues/1611656) ([a769d8f](https://github.com/AlaskaAirlines/auro-formkit/commit/a769d8f5e2d78fe4b9ff31264fd571cb38d9d5b5))
|
|
8
|
+
* ellipses dp value at small widths AB[#1602084](https://github.com/AlaskaAirlines/auro-formkit/issues/1602084) ([08dcaa4](https://github.com/AlaskaAirlines/auro-formkit/commit/08dcaa40dd6a45d3cfbf8996b47c728595cbe171))
|
|
9
|
+
* ensure range inputs maintain equal size with long labels AB[#1494482](https://github.com/AlaskaAirlines/auro-formkit/issues/1494482) ([1d9e95d](https://github.com/AlaskaAirlines/auro-formkit/commit/1d9e95d2bcef01d66c80cef514c958e22746b85a))
|
|
10
|
+
* honor noValidate on blur in select, combobox, radio-group, and checkbox-group AB[#1594311](https://github.com/AlaskaAirlines/auro-formkit/issues/1594311) ([f50b0c5](https://github.com/AlaskaAirlines/auro-formkit/commit/f50b0c53342904cdfb5f2b9db2f4dd3f8e90408c))
|
|
11
|
+
* **input:** enable activeLabel functionality AB[#1494433](https://github.com/AlaskaAirlines/auro-formkit/issues/1494433) ([78a5cba](https://github.com/AlaskaAirlines/auro-formkit/commit/78a5cba84972cc05dc583e0b78709fe15789cdde))
|
|
12
|
+
* **menu:** distinguish menu options that share a value AB[#1602086](https://github.com/AlaskaAirlines/auro-formkit/issues/1602086) ([d93d0cf](https://github.com/AlaskaAirlines/auro-formkit/commit/d93d0cf4ef494eccb653f0459986291e67379623))
|
|
13
|
+
* **menu:** re-select highlighted option via Enter after emptying selection AB[#1606433](https://github.com/AlaskaAirlines/auro-formkit/issues/1606433) ([f0fe516](https://github.com/AlaskaAirlines/auro-formkit/commit/f0fe5168055d193fcafc323193eb8c440416f743))
|
|
14
|
+
* preserve error attribute state on blur when noValidate is set AB[#1629494](https://github.com/AlaskaAirlines/auro-formkit/issues/1629494) ([6d16d46](https://github.com/AlaskaAirlines/auro-formkit/commit/6d16d46fd6f994b170b3e455f0c260a234c7d734))
|
|
15
|
+
* stringfy counter's aria-valuetext AB[#1443553](https://github.com/AlaskaAirlines/auro-formkit/issues/1443553) ([1902b94](https://github.com/AlaskaAirlines/auro-formkit/commit/1902b94f0cbbaf55daff88ac234b6b807a24592a))
|
|
16
|
+
* suppress selection-triggered validation when noValidate is set [#1588](https://github.com/AlaskaAirlines/auro-formkit/issues/1588) ([761110b](https://github.com/AlaskaAirlines/auro-formkit/commit/761110bfee5f902cfd9f725875989f92993d66f2))
|
|
17
|
+
* suppress selection-triggered validation when noValidate is set [#1588](https://github.com/AlaskaAirlines/auro-formkit/issues/1588) ([20222bc](https://github.com/AlaskaAirlines/auro-formkit/commit/20222bc7035bdc509626bf04a253e94f2aaf8df0))
|
|
18
|
+
* use hasAttribute('error') to guard stale-clear and cover empty error="" case [#1594](https://github.com/AlaskaAirlines/auro-formkit/issues/1594) ([1e0c1d7](https://github.com/AlaskaAirlines/auro-formkit/commit/1e0c1d75878e891cb4df0f9707ff88c8118cb04d))
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
### Features
|
|
22
|
+
|
|
23
|
+
* **cc:** support chinese union pay credit cards AB[#1551772](https://github.com/AlaskaAirlines/auro-formkit/issues/1551772) ([eb0a268](https://github.com/AlaskaAirlines/auro-formkit/commit/eb0a26862c929307eced6cb68dd4a95b74f5805c))
|
|
24
|
+
* **cc:** support JCB credit cards AB[#1550294](https://github.com/AlaskaAirlines/auro-formkit/issues/1550294) ([574a68d](https://github.com/AlaskaAirlines/auro-formkit/commit/574a68df7847ff38590eb105829715028a3035d7))
|
|
13
25
|
|
|
14
26
|
# Changelog
|
|
15
27
|
|
|
@@ -1275,7 +1275,7 @@ class AuroHelpText extends i$2 {
|
|
|
1275
1275
|
}
|
|
1276
1276
|
}
|
|
1277
1277
|
|
|
1278
|
-
var formkitVersion = '
|
|
1278
|
+
var formkitVersion = '202608262225';
|
|
1279
1279
|
|
|
1280
1280
|
// Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
|
|
1281
1281
|
// See LICENSE in the project root for license information.
|
|
@@ -1495,7 +1495,9 @@ class AuroCheckboxGroup extends i$2 {
|
|
|
1495
1495
|
composed: true,
|
|
1496
1496
|
}));
|
|
1497
1497
|
|
|
1498
|
-
this.
|
|
1498
|
+
if (!this.noValidate) {
|
|
1499
|
+
this.validate(true);
|
|
1500
|
+
}
|
|
1499
1501
|
}
|
|
1500
1502
|
|
|
1501
1503
|
firstUpdated() {
|
|
@@ -1506,11 +1508,19 @@ class AuroCheckboxGroup extends i$2 {
|
|
|
1506
1508
|
const checkFocusWithin = function(evt) {
|
|
1507
1509
|
if (document.auroCheckboxGroupActive && !document.auroCheckboxGroupActive.contains(evt.target)) {
|
|
1508
1510
|
// if focus has left the group, cleanup and validate
|
|
1509
|
-
document.auroCheckboxGroupActive
|
|
1511
|
+
const group = document.auroCheckboxGroupActive;
|
|
1512
|
+
group.focusWithin = false;
|
|
1510
1513
|
window.removeEventListener('focusin', checkFocusWithin);
|
|
1511
1514
|
document.removeEventListener('click', checkFocusWithin);
|
|
1512
1515
|
// execute the validation
|
|
1513
|
-
|
|
1516
|
+
if (!group.noValidate) {
|
|
1517
|
+
group.validation.validate(group);
|
|
1518
|
+
} else if (group.validity !== undefined && !group.hasAttribute('error')) {
|
|
1519
|
+
// Clear stale error state left by a previous validate(true) call.
|
|
1520
|
+
// Do not clear when the error attribute is set — that is an externally forced error.
|
|
1521
|
+
group.validity = undefined;
|
|
1522
|
+
group.errorMessage = '';
|
|
1523
|
+
}
|
|
1514
1524
|
}
|
|
1515
1525
|
};
|
|
1516
1526
|
|
|
@@ -1275,7 +1275,7 @@ class AuroHelpText extends i$2 {
|
|
|
1275
1275
|
}
|
|
1276
1276
|
}
|
|
1277
1277
|
|
|
1278
|
-
var formkitVersion = '
|
|
1278
|
+
var formkitVersion = '202608262225';
|
|
1279
1279
|
|
|
1280
1280
|
// Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
|
|
1281
1281
|
// See LICENSE in the project root for license information.
|
|
@@ -1495,7 +1495,9 @@ class AuroCheckboxGroup extends i$2 {
|
|
|
1495
1495
|
composed: true,
|
|
1496
1496
|
}));
|
|
1497
1497
|
|
|
1498
|
-
this.
|
|
1498
|
+
if (!this.noValidate) {
|
|
1499
|
+
this.validate(true);
|
|
1500
|
+
}
|
|
1499
1501
|
}
|
|
1500
1502
|
|
|
1501
1503
|
firstUpdated() {
|
|
@@ -1506,11 +1508,19 @@ class AuroCheckboxGroup extends i$2 {
|
|
|
1506
1508
|
const checkFocusWithin = function(evt) {
|
|
1507
1509
|
if (document.auroCheckboxGroupActive && !document.auroCheckboxGroupActive.contains(evt.target)) {
|
|
1508
1510
|
// if focus has left the group, cleanup and validate
|
|
1509
|
-
document.auroCheckboxGroupActive
|
|
1511
|
+
const group = document.auroCheckboxGroupActive;
|
|
1512
|
+
group.focusWithin = false;
|
|
1510
1513
|
window.removeEventListener('focusin', checkFocusWithin);
|
|
1511
1514
|
document.removeEventListener('click', checkFocusWithin);
|
|
1512
1515
|
// execute the validation
|
|
1513
|
-
|
|
1516
|
+
if (!group.noValidate) {
|
|
1517
|
+
group.validation.validate(group);
|
|
1518
|
+
} else if (group.validity !== undefined && !group.hasAttribute('error')) {
|
|
1519
|
+
// Clear stale error state left by a previous validate(true) call.
|
|
1520
|
+
// Do not clear when the error attribute is set — that is an externally forced error.
|
|
1521
|
+
group.validity = undefined;
|
|
1522
|
+
group.errorMessage = '';
|
|
1523
|
+
}
|
|
1514
1524
|
}
|
|
1515
1525
|
};
|
|
1516
1526
|
|
|
@@ -1275,7 +1275,7 @@ class AuroHelpText extends i$2 {
|
|
|
1275
1275
|
}
|
|
1276
1276
|
}
|
|
1277
1277
|
|
|
1278
|
-
var formkitVersion = '
|
|
1278
|
+
var formkitVersion = '202608262225';
|
|
1279
1279
|
|
|
1280
1280
|
// Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
|
|
1281
1281
|
// See LICENSE in the project root for license information.
|
|
@@ -1495,7 +1495,9 @@ class AuroCheckboxGroup extends i$2 {
|
|
|
1495
1495
|
composed: true,
|
|
1496
1496
|
}));
|
|
1497
1497
|
|
|
1498
|
-
this.
|
|
1498
|
+
if (!this.noValidate) {
|
|
1499
|
+
this.validate(true);
|
|
1500
|
+
}
|
|
1499
1501
|
}
|
|
1500
1502
|
|
|
1501
1503
|
firstUpdated() {
|
|
@@ -1506,11 +1508,19 @@ class AuroCheckboxGroup extends i$2 {
|
|
|
1506
1508
|
const checkFocusWithin = function(evt) {
|
|
1507
1509
|
if (document.auroCheckboxGroupActive && !document.auroCheckboxGroupActive.contains(evt.target)) {
|
|
1508
1510
|
// if focus has left the group, cleanup and validate
|
|
1509
|
-
document.auroCheckboxGroupActive
|
|
1511
|
+
const group = document.auroCheckboxGroupActive;
|
|
1512
|
+
group.focusWithin = false;
|
|
1510
1513
|
window.removeEventListener('focusin', checkFocusWithin);
|
|
1511
1514
|
document.removeEventListener('click', checkFocusWithin);
|
|
1512
1515
|
// execute the validation
|
|
1513
|
-
|
|
1516
|
+
if (!group.noValidate) {
|
|
1517
|
+
group.validation.validate(group);
|
|
1518
|
+
} else if (group.validity !== undefined && !group.hasAttribute('error')) {
|
|
1519
|
+
// Clear stale error state left by a previous validate(true) call.
|
|
1520
|
+
// Do not clear when the error attribute is set — that is an externally forced error.
|
|
1521
|
+
group.validity = undefined;
|
|
1522
|
+
group.errorMessage = '';
|
|
1523
|
+
}
|
|
1514
1524
|
}
|
|
1515
1525
|
};
|
|
1516
1526
|
|
|
@@ -1228,7 +1228,7 @@ class AuroHelpText extends LitElement {
|
|
|
1228
1228
|
}
|
|
1229
1229
|
}
|
|
1230
1230
|
|
|
1231
|
-
var formkitVersion = '
|
|
1231
|
+
var formkitVersion = '202608262225';
|
|
1232
1232
|
|
|
1233
1233
|
// Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
|
|
1234
1234
|
// See LICENSE in the project root for license information.
|
|
@@ -1448,7 +1448,9 @@ class AuroCheckboxGroup extends LitElement {
|
|
|
1448
1448
|
composed: true,
|
|
1449
1449
|
}));
|
|
1450
1450
|
|
|
1451
|
-
this.
|
|
1451
|
+
if (!this.noValidate) {
|
|
1452
|
+
this.validate(true);
|
|
1453
|
+
}
|
|
1452
1454
|
}
|
|
1453
1455
|
|
|
1454
1456
|
firstUpdated() {
|
|
@@ -1459,11 +1461,19 @@ class AuroCheckboxGroup extends LitElement {
|
|
|
1459
1461
|
const checkFocusWithin = function(evt) {
|
|
1460
1462
|
if (document.auroCheckboxGroupActive && !document.auroCheckboxGroupActive.contains(evt.target)) {
|
|
1461
1463
|
// if focus has left the group, cleanup and validate
|
|
1462
|
-
document.auroCheckboxGroupActive
|
|
1464
|
+
const group = document.auroCheckboxGroupActive;
|
|
1465
|
+
group.focusWithin = false;
|
|
1463
1466
|
window.removeEventListener('focusin', checkFocusWithin);
|
|
1464
1467
|
document.removeEventListener('click', checkFocusWithin);
|
|
1465
1468
|
// execute the validation
|
|
1466
|
-
|
|
1469
|
+
if (!group.noValidate) {
|
|
1470
|
+
group.validation.validate(group);
|
|
1471
|
+
} else if (group.validity !== undefined && !group.hasAttribute('error')) {
|
|
1472
|
+
// Clear stale error state left by a previous validate(true) call.
|
|
1473
|
+
// Do not clear when the error attribute is set — that is an externally forced error.
|
|
1474
|
+
group.validity = undefined;
|
|
1475
|
+
group.errorMessage = '';
|
|
1476
|
+
}
|
|
1467
1477
|
}
|
|
1468
1478
|
};
|
|
1469
1479
|
|
|
@@ -1228,7 +1228,7 @@ class AuroHelpText extends LitElement {
|
|
|
1228
1228
|
}
|
|
1229
1229
|
}
|
|
1230
1230
|
|
|
1231
|
-
var formkitVersion = '
|
|
1231
|
+
var formkitVersion = '202608262225';
|
|
1232
1232
|
|
|
1233
1233
|
// Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
|
|
1234
1234
|
// See LICENSE in the project root for license information.
|
|
@@ -1448,7 +1448,9 @@ class AuroCheckboxGroup extends LitElement {
|
|
|
1448
1448
|
composed: true,
|
|
1449
1449
|
}));
|
|
1450
1450
|
|
|
1451
|
-
this.
|
|
1451
|
+
if (!this.noValidate) {
|
|
1452
|
+
this.validate(true);
|
|
1453
|
+
}
|
|
1452
1454
|
}
|
|
1453
1455
|
|
|
1454
1456
|
firstUpdated() {
|
|
@@ -1459,11 +1461,19 @@ class AuroCheckboxGroup extends LitElement {
|
|
|
1459
1461
|
const checkFocusWithin = function(evt) {
|
|
1460
1462
|
if (document.auroCheckboxGroupActive && !document.auroCheckboxGroupActive.contains(evt.target)) {
|
|
1461
1463
|
// if focus has left the group, cleanup and validate
|
|
1462
|
-
document.auroCheckboxGroupActive
|
|
1464
|
+
const group = document.auroCheckboxGroupActive;
|
|
1465
|
+
group.focusWithin = false;
|
|
1463
1466
|
window.removeEventListener('focusin', checkFocusWithin);
|
|
1464
1467
|
document.removeEventListener('click', checkFocusWithin);
|
|
1465
1468
|
// execute the validation
|
|
1466
|
-
|
|
1469
|
+
if (!group.noValidate) {
|
|
1470
|
+
group.validation.validate(group);
|
|
1471
|
+
} else if (group.validity !== undefined && !group.hasAttribute('error')) {
|
|
1472
|
+
// Clear stale error state left by a previous validate(true) call.
|
|
1473
|
+
// Do not clear when the error attribute is set — that is an externally forced error.
|
|
1474
|
+
group.validity = undefined;
|
|
1475
|
+
group.errorMessage = '';
|
|
1476
|
+
}
|
|
1467
1477
|
}
|
|
1468
1478
|
};
|
|
1469
1479
|
|
|
@@ -4977,7 +4977,7 @@ let AuroHelpText$2 = class AuroHelpText extends i$3 {
|
|
|
4977
4977
|
}
|
|
4978
4978
|
};
|
|
4979
4979
|
|
|
4980
|
-
var formkitVersion$2 = '
|
|
4980
|
+
var formkitVersion$2 = '202608262225';
|
|
4981
4981
|
|
|
4982
4982
|
let AuroElement$2 = class AuroElement extends i$3 {
|
|
4983
4983
|
static get properties() {
|
|
@@ -17149,6 +17149,8 @@ class BaseInput extends AuroElement$1 {
|
|
|
17149
17149
|
|
|
17150
17150
|
/**
|
|
17151
17151
|
* If set, the label will remain fixed in the active position.
|
|
17152
|
+
* Only applies to the classic/default layout; the emphasized and snowflake
|
|
17153
|
+
* layouts always render the label inside the field, so this has no effect there.
|
|
17152
17154
|
*/
|
|
17153
17155
|
activeLabel: {
|
|
17154
17156
|
type: Boolean,
|
|
@@ -18268,6 +18270,18 @@ class BaseInput extends AuroElement$1 {
|
|
|
18268
18270
|
cardIcon: 'cc-dinersclub',
|
|
18269
18271
|
maskFormat: "0000 000000 0000"
|
|
18270
18272
|
},
|
|
18273
|
+
{
|
|
18274
|
+
// JCB is variable length (16-19 digits), like UnionPay, so it reuses the
|
|
18275
|
+
// formatMinLength/formatLength range machinery. The 35 prefix overlaps no
|
|
18276
|
+
// other brand (Amex is 34|37, Diners is 30[0-5]|36|38).
|
|
18277
|
+
name: 'JCB',
|
|
18278
|
+
regex: /^(?<num>35)\d{0}/u,
|
|
18279
|
+
formatMinLength: 19,
|
|
18280
|
+
formatLength: 23,
|
|
18281
|
+
errorMessage: CreditCardValidationMessage,
|
|
18282
|
+
cardIcon: 'cc-jcb',
|
|
18283
|
+
maskFormat: "0000 0000 0000 0000 000"
|
|
18284
|
+
},
|
|
18271
18285
|
{
|
|
18272
18286
|
name: 'Visa',
|
|
18273
18287
|
regex: /^(?<num>4)\d{0}/u,
|
|
@@ -18299,6 +18313,20 @@ class BaseInput extends AuroElement$1 {
|
|
|
18299
18313
|
errorMessage: CreditCardValidationMessage,
|
|
18300
18314
|
cardIcon: 'cc-discover',
|
|
18301
18315
|
maskFormat: "0000 0000 0000 0000"
|
|
18316
|
+
},
|
|
18317
|
+
{
|
|
18318
|
+
// China UnionPay is variable length (16-19 digits). It must come after
|
|
18319
|
+
// Discover so the last-match-wins loop below gives its 62 prefix
|
|
18320
|
+
// precedence over the generic `6` that resolves to Discover. 81 is used
|
|
18321
|
+
// by UnionPay cards issued outside mainland China and overlaps no other
|
|
18322
|
+
// brand. 60 is intentionally excluded (it overlaps real Discover 6011).
|
|
18323
|
+
name: 'China UnionPay',
|
|
18324
|
+
regex: /^(?<num>62|81)\d{0}/u,
|
|
18325
|
+
formatMinLength: 19,
|
|
18326
|
+
formatLength: 23,
|
|
18327
|
+
errorMessage: CreditCardValidationMessage,
|
|
18328
|
+
cardIcon: 'cc-unionpay',
|
|
18329
|
+
maskFormat: "0000 0000 0000 0000 000"
|
|
18302
18330
|
}
|
|
18303
18331
|
];
|
|
18304
18332
|
|
|
@@ -18316,7 +18344,12 @@ class BaseInput extends AuroElement$1 {
|
|
|
18316
18344
|
}
|
|
18317
18345
|
});
|
|
18318
18346
|
|
|
18319
|
-
|
|
18347
|
+
// Variable-length brands (both min and max defined, e.g. UnionPay) validate
|
|
18348
|
+
// against the minimum masked length so shorter-but-valid entries are not
|
|
18349
|
+
// flagged tooShort. Fixed-length brands keep their single formatLength.
|
|
18350
|
+
this.validationCCLength = type.formatMinLength && type.formatLength
|
|
18351
|
+
? type.formatMinLength
|
|
18352
|
+
: type.formatLength;
|
|
18320
18353
|
|
|
18321
18354
|
return type;
|
|
18322
18355
|
}
|
|
@@ -18675,7 +18708,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$3 {
|
|
|
18675
18708
|
}
|
|
18676
18709
|
};
|
|
18677
18710
|
|
|
18678
|
-
var formkitVersion$1 = '
|
|
18711
|
+
var formkitVersion$1 = '202608262225';
|
|
18679
18712
|
|
|
18680
18713
|
// Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
18681
18714
|
// See LICENSE in the project root for license information.
|
|
@@ -18776,15 +18809,35 @@ class AuroInput extends BaseInput {
|
|
|
18776
18809
|
* @private
|
|
18777
18810
|
*/
|
|
18778
18811
|
get inputHidden() {
|
|
18812
|
+
// In the classic/default layout, activeLabel keeps the input row visible so
|
|
18813
|
+
// the label stays raised rather than collapsing to the centered placeholder
|
|
18814
|
+
// position. Emphasized/snowflake always render the label inside the field,
|
|
18815
|
+
// so activeLabel does not apply there. This only overrides the empty/
|
|
18816
|
+
// unfocused clause — the display-value clause (combobox/datepicker) is
|
|
18817
|
+
// preserved regardless.
|
|
18818
|
+
const activeLabelRaisesInput = this.activeLabel && this.isClassicLayout;
|
|
18819
|
+
|
|
18779
18820
|
return (
|
|
18780
18821
|
this.hasDisplayValueContent && !this.hasFocus && this.hasValue) ||
|
|
18781
18822
|
(
|
|
18823
|
+
!activeLabelRaisesInput &&
|
|
18782
18824
|
(!this.value || this.value.length === 0) &&
|
|
18783
18825
|
!this.hasFocus &&
|
|
18784
18826
|
(!this.placeholderStr || this.placeholderStr === '')
|
|
18785
18827
|
);
|
|
18786
18828
|
}
|
|
18787
18829
|
|
|
18830
|
+
/**
|
|
18831
|
+
* Whether the component is rendering the classic/default layout, meaning not
|
|
18832
|
+
* emphasized and not snowflake. Kept as a single source of truth so
|
|
18833
|
+
* layout-scoped behavior such as activeLabel stays consistent across getters.
|
|
18834
|
+
* @returns {boolean} - True for the classic/default layout.
|
|
18835
|
+
* @private
|
|
18836
|
+
*/
|
|
18837
|
+
get isClassicLayout() {
|
|
18838
|
+
return !this.layout.startsWith('emphasized') && this.layout !== 'snowflake';
|
|
18839
|
+
}
|
|
18840
|
+
|
|
18788
18841
|
/**
|
|
18789
18842
|
* Determines if the input should display in a state with no focus or value indication.
|
|
18790
18843
|
* Returns true when the input has display content without focus and has a value,
|
|
@@ -18830,7 +18883,7 @@ class AuroInput extends BaseInput {
|
|
|
18830
18883
|
}
|
|
18831
18884
|
|
|
18832
18885
|
// classic layout (default)
|
|
18833
|
-
return ((!this.value || this.value.length === 0) && !this.placeholderStr && !this.hasFocus) ? 'body-default' : 'body-xs';
|
|
18886
|
+
return ((!this.value || this.value.length === 0) && !this.placeholderStr && !this.hasFocus && !this.activeLabel) ? 'body-default' : 'body-xs';
|
|
18834
18887
|
}
|
|
18835
18888
|
|
|
18836
18889
|
/**
|
|
@@ -18926,7 +18979,8 @@ class AuroInput extends BaseInput {
|
|
|
18926
18979
|
'wrapper': true,
|
|
18927
18980
|
'simple': this.simple,
|
|
18928
18981
|
'withValue': this.hasValue,
|
|
18929
|
-
'hasFocus': this.hasFocus
|
|
18982
|
+
'hasFocus': this.hasFocus,
|
|
18983
|
+
'activeLabel': this.activeLabel
|
|
18930
18984
|
};
|
|
18931
18985
|
}
|
|
18932
18986
|
|
|
@@ -19076,7 +19130,10 @@ class AuroInput extends BaseInput {
|
|
|
19076
19130
|
*/
|
|
19077
19131
|
definePattern() {
|
|
19078
19132
|
if (this.type === 'credit-card' && !this.noValidate && this.maxLength) {
|
|
19079
|
-
|
|
19133
|
+
// Variable-length brands (e.g. UnionPay) set minLength, so accept a range;
|
|
19134
|
+
// fixed-length brands leave minLength undefined and keep an exact length.
|
|
19135
|
+
const minPatternLength = this.minLength || this.maxLength;
|
|
19136
|
+
return `.{${minPatternLength},${this.maxLength}}`;
|
|
19080
19137
|
}
|
|
19081
19138
|
|
|
19082
19139
|
return this.pattern;
|
|
@@ -19137,7 +19194,6 @@ class AuroInput extends BaseInput {
|
|
|
19137
19194
|
@input="${this.handleInput}"
|
|
19138
19195
|
.placeholder=${this.placeholderStr}
|
|
19139
19196
|
.role=${this.a11yRole}
|
|
19140
|
-
?activeLabel="${this.activeLabel}"
|
|
19141
19197
|
?disabled="${this.disabled}"
|
|
19142
19198
|
?required="${this.required}"
|
|
19143
19199
|
aria-activedescendant=${o(this.a11yActivedescendant)}
|
|
@@ -19831,7 +19887,7 @@ class AuroBibtemplate extends i$3 {
|
|
|
19831
19887
|
}
|
|
19832
19888
|
}
|
|
19833
19889
|
|
|
19834
|
-
var formkitVersion = '
|
|
19890
|
+
var formkitVersion = '202608262225';
|
|
19835
19891
|
|
|
19836
19892
|
var styleCss$3 = i$6`.util_displayInline{display:inline}.util_displayInlineBlock{display:inline-block}.util_displayBlock{display:block}.util_displayFlex{display:flex}.util_displayHidden{display:none}.util_displayHiddenVisually{position:absolute;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);width:1px;height:1px;padding:0;border:0}:host{display:block;text-align:left}:host [auro-dropdown]{--ds-auro-dropdown-trigger-background-color: transparent}:host #inputInBib::part(wrapper){box-shadow:none}:host #inputInBib::part(accent-left){display:none}:host([layout*=classic]) [auro-input]{width:100%}:host([layout*=classic]) [auro-input]::part(helpText){display:none}:host([layout*=classic]) #slotHolder{display:none}`;
|
|
19837
19893
|
|
|
@@ -21526,8 +21582,13 @@ class AuroCombobox extends AuroElement {
|
|
|
21526
21582
|
// and validating against the pre-selection value flashes a stale error
|
|
21527
21583
|
// between mousedown and mouseup. The next focusout fires after the
|
|
21528
21584
|
// dropdown closes and validates against the post-selection value.
|
|
21529
|
-
if (!this.componentHasFocus && !this._inFullscreenTransition && !this.dropdownOpen) {
|
|
21585
|
+
if (!this.noValidate && !this.componentHasFocus && !this._inFullscreenTransition && !this.dropdownOpen) {
|
|
21530
21586
|
this.validate();
|
|
21587
|
+
} else if (this.noValidate && !this.componentHasFocus && !this._inFullscreenTransition && !this.dropdownOpen && this.validity !== undefined && !this.hasAttribute('error')) {
|
|
21588
|
+
// Clear stale error state left by a previous validate(true) call.
|
|
21589
|
+
// Do not clear when the error attribute is set — that is an externally forced error.
|
|
21590
|
+
this.validity = undefined;
|
|
21591
|
+
this.errorMessage = null;
|
|
21531
21592
|
}
|
|
21532
21593
|
});
|
|
21533
21594
|
|
|
@@ -21666,7 +21727,7 @@ class AuroCombobox extends AuroElement {
|
|
|
21666
21727
|
// interaction). In fullscreen dialog mode, componentHasFocus returns false
|
|
21667
21728
|
// because focus is inside the top-layer dialog, so also check
|
|
21668
21729
|
// dropdownOpen and the fullscreen transition flag.
|
|
21669
|
-
if (!this.componentHasFocus && !this.dropdownOpen && !this._inFullscreenTransition) {
|
|
21730
|
+
if (!this.noValidate && !this.componentHasFocus && !this.dropdownOpen && !this._inFullscreenTransition) {
|
|
21670
21731
|
this.validate();
|
|
21671
21732
|
}
|
|
21672
21733
|
|
|
@@ -4977,7 +4977,7 @@ let AuroHelpText$2 = class AuroHelpText extends i$3 {
|
|
|
4977
4977
|
}
|
|
4978
4978
|
};
|
|
4979
4979
|
|
|
4980
|
-
var formkitVersion$2 = '
|
|
4980
|
+
var formkitVersion$2 = '202608262225';
|
|
4981
4981
|
|
|
4982
4982
|
let AuroElement$2 = class AuroElement extends i$3 {
|
|
4983
4983
|
static get properties() {
|
|
@@ -17149,6 +17149,8 @@ class BaseInput extends AuroElement$1 {
|
|
|
17149
17149
|
|
|
17150
17150
|
/**
|
|
17151
17151
|
* If set, the label will remain fixed in the active position.
|
|
17152
|
+
* Only applies to the classic/default layout; the emphasized and snowflake
|
|
17153
|
+
* layouts always render the label inside the field, so this has no effect there.
|
|
17152
17154
|
*/
|
|
17153
17155
|
activeLabel: {
|
|
17154
17156
|
type: Boolean,
|
|
@@ -18268,6 +18270,18 @@ class BaseInput extends AuroElement$1 {
|
|
|
18268
18270
|
cardIcon: 'cc-dinersclub',
|
|
18269
18271
|
maskFormat: "0000 000000 0000"
|
|
18270
18272
|
},
|
|
18273
|
+
{
|
|
18274
|
+
// JCB is variable length (16-19 digits), like UnionPay, so it reuses the
|
|
18275
|
+
// formatMinLength/formatLength range machinery. The 35 prefix overlaps no
|
|
18276
|
+
// other brand (Amex is 34|37, Diners is 30[0-5]|36|38).
|
|
18277
|
+
name: 'JCB',
|
|
18278
|
+
regex: /^(?<num>35)\d{0}/u,
|
|
18279
|
+
formatMinLength: 19,
|
|
18280
|
+
formatLength: 23,
|
|
18281
|
+
errorMessage: CreditCardValidationMessage,
|
|
18282
|
+
cardIcon: 'cc-jcb',
|
|
18283
|
+
maskFormat: "0000 0000 0000 0000 000"
|
|
18284
|
+
},
|
|
18271
18285
|
{
|
|
18272
18286
|
name: 'Visa',
|
|
18273
18287
|
regex: /^(?<num>4)\d{0}/u,
|
|
@@ -18299,6 +18313,20 @@ class BaseInput extends AuroElement$1 {
|
|
|
18299
18313
|
errorMessage: CreditCardValidationMessage,
|
|
18300
18314
|
cardIcon: 'cc-discover',
|
|
18301
18315
|
maskFormat: "0000 0000 0000 0000"
|
|
18316
|
+
},
|
|
18317
|
+
{
|
|
18318
|
+
// China UnionPay is variable length (16-19 digits). It must come after
|
|
18319
|
+
// Discover so the last-match-wins loop below gives its 62 prefix
|
|
18320
|
+
// precedence over the generic `6` that resolves to Discover. 81 is used
|
|
18321
|
+
// by UnionPay cards issued outside mainland China and overlaps no other
|
|
18322
|
+
// brand. 60 is intentionally excluded (it overlaps real Discover 6011).
|
|
18323
|
+
name: 'China UnionPay',
|
|
18324
|
+
regex: /^(?<num>62|81)\d{0}/u,
|
|
18325
|
+
formatMinLength: 19,
|
|
18326
|
+
formatLength: 23,
|
|
18327
|
+
errorMessage: CreditCardValidationMessage,
|
|
18328
|
+
cardIcon: 'cc-unionpay',
|
|
18329
|
+
maskFormat: "0000 0000 0000 0000 000"
|
|
18302
18330
|
}
|
|
18303
18331
|
];
|
|
18304
18332
|
|
|
@@ -18316,7 +18344,12 @@ class BaseInput extends AuroElement$1 {
|
|
|
18316
18344
|
}
|
|
18317
18345
|
});
|
|
18318
18346
|
|
|
18319
|
-
|
|
18347
|
+
// Variable-length brands (both min and max defined, e.g. UnionPay) validate
|
|
18348
|
+
// against the minimum masked length so shorter-but-valid entries are not
|
|
18349
|
+
// flagged tooShort. Fixed-length brands keep their single formatLength.
|
|
18350
|
+
this.validationCCLength = type.formatMinLength && type.formatLength
|
|
18351
|
+
? type.formatMinLength
|
|
18352
|
+
: type.formatLength;
|
|
18320
18353
|
|
|
18321
18354
|
return type;
|
|
18322
18355
|
}
|
|
@@ -18675,7 +18708,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$3 {
|
|
|
18675
18708
|
}
|
|
18676
18709
|
};
|
|
18677
18710
|
|
|
18678
|
-
var formkitVersion$1 = '
|
|
18711
|
+
var formkitVersion$1 = '202608262225';
|
|
18679
18712
|
|
|
18680
18713
|
// Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
18681
18714
|
// See LICENSE in the project root for license information.
|
|
@@ -18776,15 +18809,35 @@ class AuroInput extends BaseInput {
|
|
|
18776
18809
|
* @private
|
|
18777
18810
|
*/
|
|
18778
18811
|
get inputHidden() {
|
|
18812
|
+
// In the classic/default layout, activeLabel keeps the input row visible so
|
|
18813
|
+
// the label stays raised rather than collapsing to the centered placeholder
|
|
18814
|
+
// position. Emphasized/snowflake always render the label inside the field,
|
|
18815
|
+
// so activeLabel does not apply there. This only overrides the empty/
|
|
18816
|
+
// unfocused clause — the display-value clause (combobox/datepicker) is
|
|
18817
|
+
// preserved regardless.
|
|
18818
|
+
const activeLabelRaisesInput = this.activeLabel && this.isClassicLayout;
|
|
18819
|
+
|
|
18779
18820
|
return (
|
|
18780
18821
|
this.hasDisplayValueContent && !this.hasFocus && this.hasValue) ||
|
|
18781
18822
|
(
|
|
18823
|
+
!activeLabelRaisesInput &&
|
|
18782
18824
|
(!this.value || this.value.length === 0) &&
|
|
18783
18825
|
!this.hasFocus &&
|
|
18784
18826
|
(!this.placeholderStr || this.placeholderStr === '')
|
|
18785
18827
|
);
|
|
18786
18828
|
}
|
|
18787
18829
|
|
|
18830
|
+
/**
|
|
18831
|
+
* Whether the component is rendering the classic/default layout, meaning not
|
|
18832
|
+
* emphasized and not snowflake. Kept as a single source of truth so
|
|
18833
|
+
* layout-scoped behavior such as activeLabel stays consistent across getters.
|
|
18834
|
+
* @returns {boolean} - True for the classic/default layout.
|
|
18835
|
+
* @private
|
|
18836
|
+
*/
|
|
18837
|
+
get isClassicLayout() {
|
|
18838
|
+
return !this.layout.startsWith('emphasized') && this.layout !== 'snowflake';
|
|
18839
|
+
}
|
|
18840
|
+
|
|
18788
18841
|
/**
|
|
18789
18842
|
* Determines if the input should display in a state with no focus or value indication.
|
|
18790
18843
|
* Returns true when the input has display content without focus and has a value,
|
|
@@ -18830,7 +18883,7 @@ class AuroInput extends BaseInput {
|
|
|
18830
18883
|
}
|
|
18831
18884
|
|
|
18832
18885
|
// classic layout (default)
|
|
18833
|
-
return ((!this.value || this.value.length === 0) && !this.placeholderStr && !this.hasFocus) ? 'body-default' : 'body-xs';
|
|
18886
|
+
return ((!this.value || this.value.length === 0) && !this.placeholderStr && !this.hasFocus && !this.activeLabel) ? 'body-default' : 'body-xs';
|
|
18834
18887
|
}
|
|
18835
18888
|
|
|
18836
18889
|
/**
|
|
@@ -18926,7 +18979,8 @@ class AuroInput extends BaseInput {
|
|
|
18926
18979
|
'wrapper': true,
|
|
18927
18980
|
'simple': this.simple,
|
|
18928
18981
|
'withValue': this.hasValue,
|
|
18929
|
-
'hasFocus': this.hasFocus
|
|
18982
|
+
'hasFocus': this.hasFocus,
|
|
18983
|
+
'activeLabel': this.activeLabel
|
|
18930
18984
|
};
|
|
18931
18985
|
}
|
|
18932
18986
|
|
|
@@ -19076,7 +19130,10 @@ class AuroInput extends BaseInput {
|
|
|
19076
19130
|
*/
|
|
19077
19131
|
definePattern() {
|
|
19078
19132
|
if (this.type === 'credit-card' && !this.noValidate && this.maxLength) {
|
|
19079
|
-
|
|
19133
|
+
// Variable-length brands (e.g. UnionPay) set minLength, so accept a range;
|
|
19134
|
+
// fixed-length brands leave minLength undefined and keep an exact length.
|
|
19135
|
+
const minPatternLength = this.minLength || this.maxLength;
|
|
19136
|
+
return `.{${minPatternLength},${this.maxLength}}`;
|
|
19080
19137
|
}
|
|
19081
19138
|
|
|
19082
19139
|
return this.pattern;
|
|
@@ -19137,7 +19194,6 @@ class AuroInput extends BaseInput {
|
|
|
19137
19194
|
@input="${this.handleInput}"
|
|
19138
19195
|
.placeholder=${this.placeholderStr}
|
|
19139
19196
|
.role=${this.a11yRole}
|
|
19140
|
-
?activeLabel="${this.activeLabel}"
|
|
19141
19197
|
?disabled="${this.disabled}"
|
|
19142
19198
|
?required="${this.required}"
|
|
19143
19199
|
aria-activedescendant=${o(this.a11yActivedescendant)}
|
|
@@ -19831,7 +19887,7 @@ class AuroBibtemplate extends i$3 {
|
|
|
19831
19887
|
}
|
|
19832
19888
|
}
|
|
19833
19889
|
|
|
19834
|
-
var formkitVersion = '
|
|
19890
|
+
var formkitVersion = '202608262225';
|
|
19835
19891
|
|
|
19836
19892
|
var styleCss$3 = i$6`.util_displayInline{display:inline}.util_displayInlineBlock{display:inline-block}.util_displayBlock{display:block}.util_displayFlex{display:flex}.util_displayHidden{display:none}.util_displayHiddenVisually{position:absolute;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);width:1px;height:1px;padding:0;border:0}:host{display:block;text-align:left}:host [auro-dropdown]{--ds-auro-dropdown-trigger-background-color: transparent}:host #inputInBib::part(wrapper){box-shadow:none}:host #inputInBib::part(accent-left){display:none}:host([layout*=classic]) [auro-input]{width:100%}:host([layout*=classic]) [auro-input]::part(helpText){display:none}:host([layout*=classic]) #slotHolder{display:none}`;
|
|
19837
19893
|
|
|
@@ -21526,8 +21582,13 @@ class AuroCombobox extends AuroElement {
|
|
|
21526
21582
|
// and validating against the pre-selection value flashes a stale error
|
|
21527
21583
|
// between mousedown and mouseup. The next focusout fires after the
|
|
21528
21584
|
// dropdown closes and validates against the post-selection value.
|
|
21529
|
-
if (!this.componentHasFocus && !this._inFullscreenTransition && !this.dropdownOpen) {
|
|
21585
|
+
if (!this.noValidate && !this.componentHasFocus && !this._inFullscreenTransition && !this.dropdownOpen) {
|
|
21530
21586
|
this.validate();
|
|
21587
|
+
} else if (this.noValidate && !this.componentHasFocus && !this._inFullscreenTransition && !this.dropdownOpen && this.validity !== undefined && !this.hasAttribute('error')) {
|
|
21588
|
+
// Clear stale error state left by a previous validate(true) call.
|
|
21589
|
+
// Do not clear when the error attribute is set — that is an externally forced error.
|
|
21590
|
+
this.validity = undefined;
|
|
21591
|
+
this.errorMessage = null;
|
|
21531
21592
|
}
|
|
21532
21593
|
});
|
|
21533
21594
|
|
|
@@ -21666,7 +21727,7 @@ class AuroCombobox extends AuroElement {
|
|
|
21666
21727
|
// interaction). In fullscreen dialog mode, componentHasFocus returns false
|
|
21667
21728
|
// because focus is inside the top-layer dialog, so also check
|
|
21668
21729
|
// dropdownOpen and the fullscreen transition flag.
|
|
21669
|
-
if (!this.componentHasFocus && !this.dropdownOpen && !this._inFullscreenTransition) {
|
|
21730
|
+
if (!this.noValidate && !this.componentHasFocus && !this.dropdownOpen && !this._inFullscreenTransition) {
|
|
21670
21731
|
this.validate();
|
|
21671
21732
|
}
|
|
21672
21733
|
|