@aurodesignsystem-dev/auro-formkit 0.0.0-pr1604.0 → 0.0.0-pr1608.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 +31 -10
- package/components/checkbox/demo/getting-started.min.js +31 -10
- package/components/checkbox/demo/index.min.js +31 -10
- package/components/checkbox/dist/auro-checkbox-group.d.ts +4 -0
- package/components/checkbox/dist/index.js +31 -10
- package/components/checkbox/dist/registered.js +31 -10
- package/components/combobox/demo/customize.min.js +110 -4
- package/components/combobox/demo/getting-started.min.js +110 -4
- package/components/combobox/demo/index.min.js +110 -4
- package/components/combobox/dist/auro-combobox.d.ts +22 -0
- package/components/combobox/dist/index.js +94 -4
- package/components/combobox/dist/registered.js +94 -4
- package/components/counter/demo/customize.min.js +2 -2
- package/components/counter/demo/getting-started.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 +3 -3
- package/components/datepicker/demo/getting-started.min.js +3 -3
- package/components/datepicker/demo/index.min.js +3 -3
- package/components/datepicker/dist/index.js +3 -3
- package/components/datepicker/dist/registered.js +3 -3
- package/components/dropdown/demo/customize.min.js +1 -1
- package/components/dropdown/demo/getting-started.min.js +2 -2
- 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 +186 -34
- package/components/form/demo/getting-started.min.js +186 -34
- package/components/form/demo/index.min.js +186 -34
- package/components/form/demo/registerDemoDeps.min.js +186 -34
- package/components/input/demo/customize.min.js +1 -1
- package/components/input/demo/getting-started.min.js +1 -1
- package/components/input/demo/index.min.js +1 -1
- package/components/input/dist/index.js +1 -1
- package/components/input/dist/registered.js +1 -1
- package/components/menu/demo/index.min.js +16 -0
- package/components/menu/dist/index.js +16 -0
- package/components/menu/dist/registered.js +16 -0
- package/components/radio/demo/customize.min.js +33 -8
- package/components/radio/demo/getting-started.min.js +33 -8
- package/components/radio/demo/index.min.js +33 -8
- package/components/radio/dist/auro-radio-group.d.ts +4 -0
- package/components/radio/dist/index.js +33 -8
- package/components/radio/dist/registered.js +33 -8
- package/components/select/demo/customize.min.js +18 -2
- package/components/select/demo/getting-started.min.js +18 -2
- package/components/select/demo/index.min.js +18 -2
- package/components/select/dist/index.js +2 -2
- package/components/select/dist/registered.js +2 -2
- package/custom-elements.json +1567 -1547
- package/package.json +1 -1
|
@@ -1046,6 +1046,22 @@ class AuroDependencyVersioning {
|
|
|
1046
1046
|
}
|
|
1047
1047
|
}
|
|
1048
1048
|
|
|
1049
|
+
/**
|
|
1050
|
+
* Class for generating unique hashes based on the current timestamp.
|
|
1051
|
+
* This can be used to create unique identifiers for elements or data within an application,
|
|
1052
|
+
* ensuring that each identifier is distinct and can be easily generated without the need
|
|
1053
|
+
* for external libraries or complex algorithms.
|
|
1054
|
+
*/
|
|
1055
|
+
class UniqueId {
|
|
1056
|
+
/**
|
|
1057
|
+
* Creates a unique hash based on the current timestamp.
|
|
1058
|
+
* @returns {Function} Timestamp as a base-36 string
|
|
1059
|
+
*/
|
|
1060
|
+
create() {
|
|
1061
|
+
return Date.now().toString(36);
|
|
1062
|
+
}
|
|
1063
|
+
}
|
|
1064
|
+
|
|
1049
1065
|
var styleCss$1 = i$5`:host{display:block;padding-bottom:var(--ds-size-150, 0.75rem)}.displayFlex legend+slot{display:flex;white-space:nowrap}fieldset{all:unset}legend{margin-bottom:var(--ds-size-150, 0.75rem)}[auro-helptext]{margin-top:var(--ds-size-150, 0.75rem)}`;
|
|
1050
1066
|
|
|
1051
1067
|
var colorCss$1 = i$5`:host{color:var(--ds-auro-checkbox-group-text-color)}:host([disabled]){--ds-auro-checkbox-group-text-color: var(--ds-basic-color-texticon-disabled, #d0d0d0)}:host([onDark]),:host([appearance=inverse]){--ds-auro-checkbox-group-text-color: var(--ds-basic-color-texticon-inverse, #ffffff)}:host([onDark][disabled]),:host([appearance=inverse][disabled]){--ds-auro-checkbox-group-text-color: var(--ds-basic-color-texticon-inverse-disabled, #7e8894)}`;
|
|
@@ -1284,7 +1300,7 @@ class AuroHelpText extends i$2 {
|
|
|
1284
1300
|
}
|
|
1285
1301
|
}
|
|
1286
1302
|
|
|
1287
|
-
var formkitVersion = '
|
|
1303
|
+
var formkitVersion = '202609021913';
|
|
1288
1304
|
|
|
1289
1305
|
// Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
|
|
1290
1306
|
// See LICENSE in the project root for license information.
|
|
@@ -1361,6 +1377,11 @@ class AuroCheckboxGroup extends i$2 {
|
|
|
1361
1377
|
* @private
|
|
1362
1378
|
*/
|
|
1363
1379
|
this.helpTextTag = versioning.generateTag('auro-formkit-checkbox-helptext', formkitVersion, AuroHelpText);
|
|
1380
|
+
|
|
1381
|
+
/**
|
|
1382
|
+
* @private
|
|
1383
|
+
*/
|
|
1384
|
+
this.uniqueId = new UniqueId().create();
|
|
1364
1385
|
}
|
|
1365
1386
|
|
|
1366
1387
|
static get styles() {
|
|
@@ -1646,8 +1667,10 @@ class AuroCheckboxGroup extends i$2 {
|
|
|
1646
1667
|
this.checkboxes.forEach((el) => {
|
|
1647
1668
|
if (this.validity && this.validity !== 'valid') {
|
|
1648
1669
|
el.setAttribute('error', true);
|
|
1670
|
+
el.setAttribute('aria-invalid', 'true');
|
|
1649
1671
|
} else {
|
|
1650
1672
|
el.removeAttribute('error');
|
|
1673
|
+
el.removeAttribute('aria-invalid');
|
|
1651
1674
|
}
|
|
1652
1675
|
});
|
|
1653
1676
|
}
|
|
@@ -1673,12 +1696,6 @@ class AuroCheckboxGroup extends i$2 {
|
|
|
1673
1696
|
}
|
|
1674
1697
|
|
|
1675
1698
|
if (changedProperties.has('error')) {
|
|
1676
|
-
if (this.error) {
|
|
1677
|
-
this.setAttribute('aria-invalid', true);
|
|
1678
|
-
} else {
|
|
1679
|
-
this.removeAttribute('aria-invalid');
|
|
1680
|
-
}
|
|
1681
|
-
|
|
1682
1699
|
this.validate(true);
|
|
1683
1700
|
}
|
|
1684
1701
|
}
|
|
@@ -1697,7 +1714,11 @@ class AuroCheckboxGroup extends i$2 {
|
|
|
1697
1714
|
};
|
|
1698
1715
|
|
|
1699
1716
|
return u`
|
|
1700
|
-
<fieldset
|
|
1717
|
+
<fieldset
|
|
1718
|
+
class="${e(groupClasses)}"
|
|
1719
|
+
aria-invalid="${o$1(this.validity && this.validity !== 'valid' ? 'true' : undefined)}"
|
|
1720
|
+
aria-describedby="${this.uniqueId}"
|
|
1721
|
+
>
|
|
1701
1722
|
<legend>
|
|
1702
1723
|
<slot name="legend"></slot>
|
|
1703
1724
|
${this.required ? undefined : u`<slot name="optionalLabel"> (optional)</slot>`}
|
|
@@ -1707,11 +1728,11 @@ class AuroCheckboxGroup extends i$2 {
|
|
|
1707
1728
|
|
|
1708
1729
|
${!this.validity || this.validity === undefined || this.validity === 'valid'
|
|
1709
1730
|
? u`
|
|
1710
|
-
<${this.helpTextTag} part="helpText" appearance="${this.onDark ? 'inverse' : this.appearance}">
|
|
1731
|
+
<${this.helpTextTag} id="${this.uniqueId}" part="helpText" appearance="${this.onDark ? 'inverse' : this.appearance}">
|
|
1711
1732
|
<slot name="helpText"></slot>
|
|
1712
1733
|
</${this.helpTextTag}>`
|
|
1713
1734
|
: u`
|
|
1714
|
-
<${this.helpTextTag} error appearance="${this.onDark ? 'inverse' : this.appearance}"
|
|
1735
|
+
<${this.helpTextTag} id="${this.uniqueId}" error appearance="${this.onDark ? 'inverse' : this.appearance}" role="alert" aria-live="assertive" part="helpText">
|
|
1715
1736
|
${this.errorMessage}
|
|
1716
1737
|
</${this.helpTextTag}>`
|
|
1717
1738
|
}
|
|
@@ -1046,6 +1046,22 @@ class AuroDependencyVersioning {
|
|
|
1046
1046
|
}
|
|
1047
1047
|
}
|
|
1048
1048
|
|
|
1049
|
+
/**
|
|
1050
|
+
* Class for generating unique hashes based on the current timestamp.
|
|
1051
|
+
* This can be used to create unique identifiers for elements or data within an application,
|
|
1052
|
+
* ensuring that each identifier is distinct and can be easily generated without the need
|
|
1053
|
+
* for external libraries or complex algorithms.
|
|
1054
|
+
*/
|
|
1055
|
+
class UniqueId {
|
|
1056
|
+
/**
|
|
1057
|
+
* Creates a unique hash based on the current timestamp.
|
|
1058
|
+
* @returns {Function} Timestamp as a base-36 string
|
|
1059
|
+
*/
|
|
1060
|
+
create() {
|
|
1061
|
+
return Date.now().toString(36);
|
|
1062
|
+
}
|
|
1063
|
+
}
|
|
1064
|
+
|
|
1049
1065
|
var styleCss$1 = i$5`:host{display:block;padding-bottom:var(--ds-size-150, 0.75rem)}.displayFlex legend+slot{display:flex;white-space:nowrap}fieldset{all:unset}legend{margin-bottom:var(--ds-size-150, 0.75rem)}[auro-helptext]{margin-top:var(--ds-size-150, 0.75rem)}`;
|
|
1050
1066
|
|
|
1051
1067
|
var colorCss$1 = i$5`:host{color:var(--ds-auro-checkbox-group-text-color)}:host([disabled]){--ds-auro-checkbox-group-text-color: var(--ds-basic-color-texticon-disabled, #d0d0d0)}:host([onDark]),:host([appearance=inverse]){--ds-auro-checkbox-group-text-color: var(--ds-basic-color-texticon-inverse, #ffffff)}:host([onDark][disabled]),:host([appearance=inverse][disabled]){--ds-auro-checkbox-group-text-color: var(--ds-basic-color-texticon-inverse-disabled, #7e8894)}`;
|
|
@@ -1284,7 +1300,7 @@ class AuroHelpText extends i$2 {
|
|
|
1284
1300
|
}
|
|
1285
1301
|
}
|
|
1286
1302
|
|
|
1287
|
-
var formkitVersion = '
|
|
1303
|
+
var formkitVersion = '202609021913';
|
|
1288
1304
|
|
|
1289
1305
|
// Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
|
|
1290
1306
|
// See LICENSE in the project root for license information.
|
|
@@ -1361,6 +1377,11 @@ class AuroCheckboxGroup extends i$2 {
|
|
|
1361
1377
|
* @private
|
|
1362
1378
|
*/
|
|
1363
1379
|
this.helpTextTag = versioning.generateTag('auro-formkit-checkbox-helptext', formkitVersion, AuroHelpText);
|
|
1380
|
+
|
|
1381
|
+
/**
|
|
1382
|
+
* @private
|
|
1383
|
+
*/
|
|
1384
|
+
this.uniqueId = new UniqueId().create();
|
|
1364
1385
|
}
|
|
1365
1386
|
|
|
1366
1387
|
static get styles() {
|
|
@@ -1646,8 +1667,10 @@ class AuroCheckboxGroup extends i$2 {
|
|
|
1646
1667
|
this.checkboxes.forEach((el) => {
|
|
1647
1668
|
if (this.validity && this.validity !== 'valid') {
|
|
1648
1669
|
el.setAttribute('error', true);
|
|
1670
|
+
el.setAttribute('aria-invalid', 'true');
|
|
1649
1671
|
} else {
|
|
1650
1672
|
el.removeAttribute('error');
|
|
1673
|
+
el.removeAttribute('aria-invalid');
|
|
1651
1674
|
}
|
|
1652
1675
|
});
|
|
1653
1676
|
}
|
|
@@ -1673,12 +1696,6 @@ class AuroCheckboxGroup extends i$2 {
|
|
|
1673
1696
|
}
|
|
1674
1697
|
|
|
1675
1698
|
if (changedProperties.has('error')) {
|
|
1676
|
-
if (this.error) {
|
|
1677
|
-
this.setAttribute('aria-invalid', true);
|
|
1678
|
-
} else {
|
|
1679
|
-
this.removeAttribute('aria-invalid');
|
|
1680
|
-
}
|
|
1681
|
-
|
|
1682
1699
|
this.validate(true);
|
|
1683
1700
|
}
|
|
1684
1701
|
}
|
|
@@ -1697,7 +1714,11 @@ class AuroCheckboxGroup extends i$2 {
|
|
|
1697
1714
|
};
|
|
1698
1715
|
|
|
1699
1716
|
return u`
|
|
1700
|
-
<fieldset
|
|
1717
|
+
<fieldset
|
|
1718
|
+
class="${e(groupClasses)}"
|
|
1719
|
+
aria-invalid="${o$1(this.validity && this.validity !== 'valid' ? 'true' : undefined)}"
|
|
1720
|
+
aria-describedby="${this.uniqueId}"
|
|
1721
|
+
>
|
|
1701
1722
|
<legend>
|
|
1702
1723
|
<slot name="legend"></slot>
|
|
1703
1724
|
${this.required ? undefined : u`<slot name="optionalLabel"> (optional)</slot>`}
|
|
@@ -1707,11 +1728,11 @@ class AuroCheckboxGroup extends i$2 {
|
|
|
1707
1728
|
|
|
1708
1729
|
${!this.validity || this.validity === undefined || this.validity === 'valid'
|
|
1709
1730
|
? u`
|
|
1710
|
-
<${this.helpTextTag} part="helpText" appearance="${this.onDark ? 'inverse' : this.appearance}">
|
|
1731
|
+
<${this.helpTextTag} id="${this.uniqueId}" part="helpText" appearance="${this.onDark ? 'inverse' : this.appearance}">
|
|
1711
1732
|
<slot name="helpText"></slot>
|
|
1712
1733
|
</${this.helpTextTag}>`
|
|
1713
1734
|
: u`
|
|
1714
|
-
<${this.helpTextTag} error appearance="${this.onDark ? 'inverse' : this.appearance}"
|
|
1735
|
+
<${this.helpTextTag} id="${this.uniqueId}" error appearance="${this.onDark ? 'inverse' : this.appearance}" role="alert" aria-live="assertive" part="helpText">
|
|
1715
1736
|
${this.errorMessage}
|
|
1716
1737
|
</${this.helpTextTag}>`
|
|
1717
1738
|
}
|
|
@@ -1046,6 +1046,22 @@ class AuroDependencyVersioning {
|
|
|
1046
1046
|
}
|
|
1047
1047
|
}
|
|
1048
1048
|
|
|
1049
|
+
/**
|
|
1050
|
+
* Class for generating unique hashes based on the current timestamp.
|
|
1051
|
+
* This can be used to create unique identifiers for elements or data within an application,
|
|
1052
|
+
* ensuring that each identifier is distinct and can be easily generated without the need
|
|
1053
|
+
* for external libraries or complex algorithms.
|
|
1054
|
+
*/
|
|
1055
|
+
class UniqueId {
|
|
1056
|
+
/**
|
|
1057
|
+
* Creates a unique hash based on the current timestamp.
|
|
1058
|
+
* @returns {Function} Timestamp as a base-36 string
|
|
1059
|
+
*/
|
|
1060
|
+
create() {
|
|
1061
|
+
return Date.now().toString(36);
|
|
1062
|
+
}
|
|
1063
|
+
}
|
|
1064
|
+
|
|
1049
1065
|
var styleCss$1 = i$5`:host{display:block;padding-bottom:var(--ds-size-150, 0.75rem)}.displayFlex legend+slot{display:flex;white-space:nowrap}fieldset{all:unset}legend{margin-bottom:var(--ds-size-150, 0.75rem)}[auro-helptext]{margin-top:var(--ds-size-150, 0.75rem)}`;
|
|
1050
1066
|
|
|
1051
1067
|
var colorCss$1 = i$5`:host{color:var(--ds-auro-checkbox-group-text-color)}:host([disabled]){--ds-auro-checkbox-group-text-color: var(--ds-basic-color-texticon-disabled, #d0d0d0)}:host([onDark]),:host([appearance=inverse]){--ds-auro-checkbox-group-text-color: var(--ds-basic-color-texticon-inverse, #ffffff)}:host([onDark][disabled]),:host([appearance=inverse][disabled]){--ds-auro-checkbox-group-text-color: var(--ds-basic-color-texticon-inverse-disabled, #7e8894)}`;
|
|
@@ -1284,7 +1300,7 @@ class AuroHelpText extends i$2 {
|
|
|
1284
1300
|
}
|
|
1285
1301
|
}
|
|
1286
1302
|
|
|
1287
|
-
var formkitVersion = '
|
|
1303
|
+
var formkitVersion = '202609021913';
|
|
1288
1304
|
|
|
1289
1305
|
// Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
|
|
1290
1306
|
// See LICENSE in the project root for license information.
|
|
@@ -1361,6 +1377,11 @@ class AuroCheckboxGroup extends i$2 {
|
|
|
1361
1377
|
* @private
|
|
1362
1378
|
*/
|
|
1363
1379
|
this.helpTextTag = versioning.generateTag('auro-formkit-checkbox-helptext', formkitVersion, AuroHelpText);
|
|
1380
|
+
|
|
1381
|
+
/**
|
|
1382
|
+
* @private
|
|
1383
|
+
*/
|
|
1384
|
+
this.uniqueId = new UniqueId().create();
|
|
1364
1385
|
}
|
|
1365
1386
|
|
|
1366
1387
|
static get styles() {
|
|
@@ -1646,8 +1667,10 @@ class AuroCheckboxGroup extends i$2 {
|
|
|
1646
1667
|
this.checkboxes.forEach((el) => {
|
|
1647
1668
|
if (this.validity && this.validity !== 'valid') {
|
|
1648
1669
|
el.setAttribute('error', true);
|
|
1670
|
+
el.setAttribute('aria-invalid', 'true');
|
|
1649
1671
|
} else {
|
|
1650
1672
|
el.removeAttribute('error');
|
|
1673
|
+
el.removeAttribute('aria-invalid');
|
|
1651
1674
|
}
|
|
1652
1675
|
});
|
|
1653
1676
|
}
|
|
@@ -1673,12 +1696,6 @@ class AuroCheckboxGroup extends i$2 {
|
|
|
1673
1696
|
}
|
|
1674
1697
|
|
|
1675
1698
|
if (changedProperties.has('error')) {
|
|
1676
|
-
if (this.error) {
|
|
1677
|
-
this.setAttribute('aria-invalid', true);
|
|
1678
|
-
} else {
|
|
1679
|
-
this.removeAttribute('aria-invalid');
|
|
1680
|
-
}
|
|
1681
|
-
|
|
1682
1699
|
this.validate(true);
|
|
1683
1700
|
}
|
|
1684
1701
|
}
|
|
@@ -1697,7 +1714,11 @@ class AuroCheckboxGroup extends i$2 {
|
|
|
1697
1714
|
};
|
|
1698
1715
|
|
|
1699
1716
|
return u`
|
|
1700
|
-
<fieldset
|
|
1717
|
+
<fieldset
|
|
1718
|
+
class="${e(groupClasses)}"
|
|
1719
|
+
aria-invalid="${o$1(this.validity && this.validity !== 'valid' ? 'true' : undefined)}"
|
|
1720
|
+
aria-describedby="${this.uniqueId}"
|
|
1721
|
+
>
|
|
1701
1722
|
<legend>
|
|
1702
1723
|
<slot name="legend"></slot>
|
|
1703
1724
|
${this.required ? undefined : u`<slot name="optionalLabel"> (optional)</slot>`}
|
|
@@ -1707,11 +1728,11 @@ class AuroCheckboxGroup extends i$2 {
|
|
|
1707
1728
|
|
|
1708
1729
|
${!this.validity || this.validity === undefined || this.validity === 'valid'
|
|
1709
1730
|
? u`
|
|
1710
|
-
<${this.helpTextTag} part="helpText" appearance="${this.onDark ? 'inverse' : this.appearance}">
|
|
1731
|
+
<${this.helpTextTag} id="${this.uniqueId}" part="helpText" appearance="${this.onDark ? 'inverse' : this.appearance}">
|
|
1711
1732
|
<slot name="helpText"></slot>
|
|
1712
1733
|
</${this.helpTextTag}>`
|
|
1713
1734
|
: u`
|
|
1714
|
-
<${this.helpTextTag} error appearance="${this.onDark ? 'inverse' : this.appearance}"
|
|
1735
|
+
<${this.helpTextTag} id="${this.uniqueId}" error appearance="${this.onDark ? 'inverse' : this.appearance}" role="alert" aria-live="assertive" part="helpText">
|
|
1715
1736
|
${this.errorMessage}
|
|
1716
1737
|
</${this.helpTextTag}>`
|
|
1717
1738
|
}
|
|
@@ -999,6 +999,22 @@ class AuroDependencyVersioning {
|
|
|
999
999
|
}
|
|
1000
1000
|
}
|
|
1001
1001
|
|
|
1002
|
+
/**
|
|
1003
|
+
* Class for generating unique hashes based on the current timestamp.
|
|
1004
|
+
* This can be used to create unique identifiers for elements or data within an application,
|
|
1005
|
+
* ensuring that each identifier is distinct and can be easily generated without the need
|
|
1006
|
+
* for external libraries or complex algorithms.
|
|
1007
|
+
*/
|
|
1008
|
+
class UniqueId {
|
|
1009
|
+
/**
|
|
1010
|
+
* Creates a unique hash based on the current timestamp.
|
|
1011
|
+
* @returns {Function} Timestamp as a base-36 string
|
|
1012
|
+
*/
|
|
1013
|
+
create() {
|
|
1014
|
+
return Date.now().toString(36);
|
|
1015
|
+
}
|
|
1016
|
+
}
|
|
1017
|
+
|
|
1002
1018
|
var styleCss$1 = css`:host{display:block;padding-bottom:var(--ds-size-150, 0.75rem)}.displayFlex legend+slot{display:flex;white-space:nowrap}fieldset{all:unset}legend{margin-bottom:var(--ds-size-150, 0.75rem)}[auro-helptext]{margin-top:var(--ds-size-150, 0.75rem)}`;
|
|
1003
1019
|
|
|
1004
1020
|
var colorCss$1 = css`:host{color:var(--ds-auro-checkbox-group-text-color)}:host([disabled]){--ds-auro-checkbox-group-text-color: var(--ds-basic-color-texticon-disabled, #d0d0d0)}:host([onDark]),:host([appearance=inverse]){--ds-auro-checkbox-group-text-color: var(--ds-basic-color-texticon-inverse, #ffffff)}:host([onDark][disabled]),:host([appearance=inverse][disabled]){--ds-auro-checkbox-group-text-color: var(--ds-basic-color-texticon-inverse-disabled, #7e8894)}`;
|
|
@@ -1237,7 +1253,7 @@ class AuroHelpText extends LitElement {
|
|
|
1237
1253
|
}
|
|
1238
1254
|
}
|
|
1239
1255
|
|
|
1240
|
-
var formkitVersion = '
|
|
1256
|
+
var formkitVersion = '202609021913';
|
|
1241
1257
|
|
|
1242
1258
|
// Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
|
|
1243
1259
|
// See LICENSE in the project root for license information.
|
|
@@ -1314,6 +1330,11 @@ class AuroCheckboxGroup extends LitElement {
|
|
|
1314
1330
|
* @private
|
|
1315
1331
|
*/
|
|
1316
1332
|
this.helpTextTag = versioning.generateTag('auro-formkit-checkbox-helptext', formkitVersion, AuroHelpText);
|
|
1333
|
+
|
|
1334
|
+
/**
|
|
1335
|
+
* @private
|
|
1336
|
+
*/
|
|
1337
|
+
this.uniqueId = new UniqueId().create();
|
|
1317
1338
|
}
|
|
1318
1339
|
|
|
1319
1340
|
static get styles() {
|
|
@@ -1599,8 +1620,10 @@ class AuroCheckboxGroup extends LitElement {
|
|
|
1599
1620
|
this.checkboxes.forEach((el) => {
|
|
1600
1621
|
if (this.validity && this.validity !== 'valid') {
|
|
1601
1622
|
el.setAttribute('error', true);
|
|
1623
|
+
el.setAttribute('aria-invalid', 'true');
|
|
1602
1624
|
} else {
|
|
1603
1625
|
el.removeAttribute('error');
|
|
1626
|
+
el.removeAttribute('aria-invalid');
|
|
1604
1627
|
}
|
|
1605
1628
|
});
|
|
1606
1629
|
}
|
|
@@ -1626,12 +1649,6 @@ class AuroCheckboxGroup extends LitElement {
|
|
|
1626
1649
|
}
|
|
1627
1650
|
|
|
1628
1651
|
if (changedProperties.has('error')) {
|
|
1629
|
-
if (this.error) {
|
|
1630
|
-
this.setAttribute('aria-invalid', true);
|
|
1631
|
-
} else {
|
|
1632
|
-
this.removeAttribute('aria-invalid');
|
|
1633
|
-
}
|
|
1634
|
-
|
|
1635
1652
|
this.validate(true);
|
|
1636
1653
|
}
|
|
1637
1654
|
}
|
|
@@ -1650,7 +1667,11 @@ class AuroCheckboxGroup extends LitElement {
|
|
|
1650
1667
|
};
|
|
1651
1668
|
|
|
1652
1669
|
return html$1`
|
|
1653
|
-
<fieldset
|
|
1670
|
+
<fieldset
|
|
1671
|
+
class="${classMap(groupClasses)}"
|
|
1672
|
+
aria-invalid="${ifDefined(this.validity && this.validity !== 'valid' ? 'true' : undefined)}"
|
|
1673
|
+
aria-describedby="${this.uniqueId}"
|
|
1674
|
+
>
|
|
1654
1675
|
<legend>
|
|
1655
1676
|
<slot name="legend"></slot>
|
|
1656
1677
|
${this.required ? undefined : html$1`<slot name="optionalLabel"> (optional)</slot>`}
|
|
@@ -1660,11 +1681,11 @@ class AuroCheckboxGroup extends LitElement {
|
|
|
1660
1681
|
|
|
1661
1682
|
${!this.validity || this.validity === undefined || this.validity === 'valid'
|
|
1662
1683
|
? html$1`
|
|
1663
|
-
<${this.helpTextTag} part="helpText" appearance="${this.onDark ? 'inverse' : this.appearance}">
|
|
1684
|
+
<${this.helpTextTag} id="${this.uniqueId}" part="helpText" appearance="${this.onDark ? 'inverse' : this.appearance}">
|
|
1664
1685
|
<slot name="helpText"></slot>
|
|
1665
1686
|
</${this.helpTextTag}>`
|
|
1666
1687
|
: html$1`
|
|
1667
|
-
<${this.helpTextTag} error appearance="${this.onDark ? 'inverse' : this.appearance}"
|
|
1688
|
+
<${this.helpTextTag} id="${this.uniqueId}" error appearance="${this.onDark ? 'inverse' : this.appearance}" role="alert" aria-live="assertive" part="helpText">
|
|
1668
1689
|
${this.errorMessage}
|
|
1669
1690
|
</${this.helpTextTag}>`
|
|
1670
1691
|
}
|
|
@@ -999,6 +999,22 @@ class AuroDependencyVersioning {
|
|
|
999
999
|
}
|
|
1000
1000
|
}
|
|
1001
1001
|
|
|
1002
|
+
/**
|
|
1003
|
+
* Class for generating unique hashes based on the current timestamp.
|
|
1004
|
+
* This can be used to create unique identifiers for elements or data within an application,
|
|
1005
|
+
* ensuring that each identifier is distinct and can be easily generated without the need
|
|
1006
|
+
* for external libraries or complex algorithms.
|
|
1007
|
+
*/
|
|
1008
|
+
class UniqueId {
|
|
1009
|
+
/**
|
|
1010
|
+
* Creates a unique hash based on the current timestamp.
|
|
1011
|
+
* @returns {Function} Timestamp as a base-36 string
|
|
1012
|
+
*/
|
|
1013
|
+
create() {
|
|
1014
|
+
return Date.now().toString(36);
|
|
1015
|
+
}
|
|
1016
|
+
}
|
|
1017
|
+
|
|
1002
1018
|
var styleCss$1 = css`:host{display:block;padding-bottom:var(--ds-size-150, 0.75rem)}.displayFlex legend+slot{display:flex;white-space:nowrap}fieldset{all:unset}legend{margin-bottom:var(--ds-size-150, 0.75rem)}[auro-helptext]{margin-top:var(--ds-size-150, 0.75rem)}`;
|
|
1003
1019
|
|
|
1004
1020
|
var colorCss$1 = css`:host{color:var(--ds-auro-checkbox-group-text-color)}:host([disabled]){--ds-auro-checkbox-group-text-color: var(--ds-basic-color-texticon-disabled, #d0d0d0)}:host([onDark]),:host([appearance=inverse]){--ds-auro-checkbox-group-text-color: var(--ds-basic-color-texticon-inverse, #ffffff)}:host([onDark][disabled]),:host([appearance=inverse][disabled]){--ds-auro-checkbox-group-text-color: var(--ds-basic-color-texticon-inverse-disabled, #7e8894)}`;
|
|
@@ -1237,7 +1253,7 @@ class AuroHelpText extends LitElement {
|
|
|
1237
1253
|
}
|
|
1238
1254
|
}
|
|
1239
1255
|
|
|
1240
|
-
var formkitVersion = '
|
|
1256
|
+
var formkitVersion = '202609021913';
|
|
1241
1257
|
|
|
1242
1258
|
// Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
|
|
1243
1259
|
// See LICENSE in the project root for license information.
|
|
@@ -1314,6 +1330,11 @@ class AuroCheckboxGroup extends LitElement {
|
|
|
1314
1330
|
* @private
|
|
1315
1331
|
*/
|
|
1316
1332
|
this.helpTextTag = versioning.generateTag('auro-formkit-checkbox-helptext', formkitVersion, AuroHelpText);
|
|
1333
|
+
|
|
1334
|
+
/**
|
|
1335
|
+
* @private
|
|
1336
|
+
*/
|
|
1337
|
+
this.uniqueId = new UniqueId().create();
|
|
1317
1338
|
}
|
|
1318
1339
|
|
|
1319
1340
|
static get styles() {
|
|
@@ -1599,8 +1620,10 @@ class AuroCheckboxGroup extends LitElement {
|
|
|
1599
1620
|
this.checkboxes.forEach((el) => {
|
|
1600
1621
|
if (this.validity && this.validity !== 'valid') {
|
|
1601
1622
|
el.setAttribute('error', true);
|
|
1623
|
+
el.setAttribute('aria-invalid', 'true');
|
|
1602
1624
|
} else {
|
|
1603
1625
|
el.removeAttribute('error');
|
|
1626
|
+
el.removeAttribute('aria-invalid');
|
|
1604
1627
|
}
|
|
1605
1628
|
});
|
|
1606
1629
|
}
|
|
@@ -1626,12 +1649,6 @@ class AuroCheckboxGroup extends LitElement {
|
|
|
1626
1649
|
}
|
|
1627
1650
|
|
|
1628
1651
|
if (changedProperties.has('error')) {
|
|
1629
|
-
if (this.error) {
|
|
1630
|
-
this.setAttribute('aria-invalid', true);
|
|
1631
|
-
} else {
|
|
1632
|
-
this.removeAttribute('aria-invalid');
|
|
1633
|
-
}
|
|
1634
|
-
|
|
1635
1652
|
this.validate(true);
|
|
1636
1653
|
}
|
|
1637
1654
|
}
|
|
@@ -1650,7 +1667,11 @@ class AuroCheckboxGroup extends LitElement {
|
|
|
1650
1667
|
};
|
|
1651
1668
|
|
|
1652
1669
|
return html$1`
|
|
1653
|
-
<fieldset
|
|
1670
|
+
<fieldset
|
|
1671
|
+
class="${classMap(groupClasses)}"
|
|
1672
|
+
aria-invalid="${ifDefined(this.validity && this.validity !== 'valid' ? 'true' : undefined)}"
|
|
1673
|
+
aria-describedby="${this.uniqueId}"
|
|
1674
|
+
>
|
|
1654
1675
|
<legend>
|
|
1655
1676
|
<slot name="legend"></slot>
|
|
1656
1677
|
${this.required ? undefined : html$1`<slot name="optionalLabel"> (optional)</slot>`}
|
|
@@ -1660,11 +1681,11 @@ class AuroCheckboxGroup extends LitElement {
|
|
|
1660
1681
|
|
|
1661
1682
|
${!this.validity || this.validity === undefined || this.validity === 'valid'
|
|
1662
1683
|
? html$1`
|
|
1663
|
-
<${this.helpTextTag} part="helpText" appearance="${this.onDark ? 'inverse' : this.appearance}">
|
|
1684
|
+
<${this.helpTextTag} id="${this.uniqueId}" part="helpText" appearance="${this.onDark ? 'inverse' : this.appearance}">
|
|
1664
1685
|
<slot name="helpText"></slot>
|
|
1665
1686
|
</${this.helpTextTag}>`
|
|
1666
1687
|
: html$1`
|
|
1667
|
-
<${this.helpTextTag} error appearance="${this.onDark ? 'inverse' : this.appearance}"
|
|
1688
|
+
<${this.helpTextTag} id="${this.uniqueId}" error appearance="${this.onDark ? 'inverse' : this.appearance}" role="alert" aria-live="assertive" part="helpText">
|
|
1668
1689
|
${this.errorMessage}
|
|
1669
1690
|
</${this.helpTextTag}>`
|
|
1670
1691
|
}
|
|
@@ -5066,7 +5066,7 @@ let AuroHelpText$2 = class AuroHelpText extends i$3 {
|
|
|
5066
5066
|
}
|
|
5067
5067
|
};
|
|
5068
5068
|
|
|
5069
|
-
var formkitVersion$2 = '
|
|
5069
|
+
var formkitVersion$2 = '202609021913';
|
|
5070
5070
|
|
|
5071
5071
|
/**
|
|
5072
5072
|
* AuroElement is the shared base class for layout-aware Auro form components.
|
|
@@ -18935,7 +18935,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$3 {
|
|
|
18935
18935
|
}
|
|
18936
18936
|
};
|
|
18937
18937
|
|
|
18938
|
-
var formkitVersion$1 = '
|
|
18938
|
+
var formkitVersion$1 = '202609021913';
|
|
18939
18939
|
|
|
18940
18940
|
// Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
18941
18941
|
// See LICENSE in the project root for license information.
|
|
@@ -20127,7 +20127,7 @@ class AuroBibtemplate extends i$3 {
|
|
|
20127
20127
|
}
|
|
20128
20128
|
}
|
|
20129
20129
|
|
|
20130
|
-
var formkitVersion = '
|
|
20130
|
+
var formkitVersion = '202609021913';
|
|
20131
20131
|
|
|
20132
20132
|
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}`;
|
|
20133
20133
|
|
|
@@ -20568,6 +20568,11 @@ class AuroCombobox extends AuroElement {
|
|
|
20568
20568
|
this.behavior = "suggestion";
|
|
20569
20569
|
this.clearBtnFocused = false;
|
|
20570
20570
|
|
|
20571
|
+
// One-shot: set when the input's clear button is activated so the
|
|
20572
|
+
// SPA-preselect guard in handleInputValueChange doesn't swallow the
|
|
20573
|
+
// genuine clear (AB#1634257).
|
|
20574
|
+
this._clearBtnActivated = false;
|
|
20575
|
+
|
|
20571
20576
|
// Defaults that effect the overall layout of the combobox
|
|
20572
20577
|
this.checkmark = false;
|
|
20573
20578
|
this.dvInputOnly = false;
|
|
@@ -21525,6 +21530,13 @@ class AuroCombobox extends AuroElement {
|
|
|
21525
21530
|
this.bibtemplate = this.dropdown.querySelector(this.bibtemplateTag._$litStatic$);
|
|
21526
21531
|
this.inputInBib = this.bibtemplate.querySelector(this.inputTag._$litStatic$);
|
|
21527
21532
|
|
|
21533
|
+
// Mirror the trigger's clear-button tracking onto the fullscreen bib input
|
|
21534
|
+
// so clearing there also fully resets the combobox (AB#1634257). See
|
|
21535
|
+
// trackClearBtnActivation for why this must run in the capture phase.
|
|
21536
|
+
if (this.inputInBib && this.inputInBib !== this.input) {
|
|
21537
|
+
this.trackClearBtnActivation(this.inputInBib);
|
|
21538
|
+
}
|
|
21539
|
+
|
|
21528
21540
|
// Pass label text to the dropdown bib for accessible dialog naming
|
|
21529
21541
|
const labelElement = this.querySelector('[slot="label"]');
|
|
21530
21542
|
if (labelElement) {
|
|
@@ -21910,6 +21922,52 @@ class AuroCombobox extends AuroElement {
|
|
|
21910
21922
|
this.clearBtnFocused = false;
|
|
21911
21923
|
}
|
|
21912
21924
|
});
|
|
21925
|
+
|
|
21926
|
+
this.trackClearBtnActivation(this.input);
|
|
21927
|
+
}
|
|
21928
|
+
|
|
21929
|
+
/**
|
|
21930
|
+
* Flags genuine clear-button activations on an auro-input so the SPA-preselect
|
|
21931
|
+
* guard in handleInputValueChange doesn't swallow them.
|
|
21932
|
+
*
|
|
21933
|
+
* The auro-input clear button fires an `isProgrammatic` input event (via
|
|
21934
|
+
* notifyValueChanged) that is indistinguishable in shape from the
|
|
21935
|
+
* SPA-preselect echo that guard bails on (isProgrammatic + set value + empty
|
|
21936
|
+
* input). Without this one-shot flag, clicking clear would leave
|
|
21937
|
+
* this.value/optionSelected stale (AB#1634257).
|
|
21938
|
+
*
|
|
21939
|
+
* Delegated on the shadow root so it works regardless of when .clearBtn
|
|
21940
|
+
* renders (it only exists after a value is set), and covers both real clicks
|
|
21941
|
+
* and programmatic clearBtn.click() (which no focusin precedes). Registered in
|
|
21942
|
+
* the CAPTURE phase so the flag is set BEFORE the button's own @click
|
|
21943
|
+
* (handleClickClear) fires its synchronous input event — which is when
|
|
21944
|
+
* handleInputValueChange reads the flag.
|
|
21945
|
+
* @private
|
|
21946
|
+
* @param {Element} inputEl - The auro-input whose clear button to track.
|
|
21947
|
+
* @returns {void}
|
|
21948
|
+
*/
|
|
21949
|
+
trackClearBtnActivation(inputEl) {
|
|
21950
|
+
if (!inputEl || !inputEl.shadowRoot) {
|
|
21951
|
+
return;
|
|
21952
|
+
}
|
|
21953
|
+
inputEl.shadowRoot.addEventListener('click', (event) => {
|
|
21954
|
+
if (event.target.closest('.clearBtn')) {
|
|
21955
|
+
this._clearBtnActivated = true;
|
|
21956
|
+
|
|
21957
|
+
// Bound the flag's lifetime to this synchronous clear -> input window.
|
|
21958
|
+
// auro-input's handleClickClear fires its input event synchronously
|
|
21959
|
+
// (before any macrotask runs), so handleInputValueChange consumes the
|
|
21960
|
+
// flag first and this reset is a harmless no-op. It only does real work
|
|
21961
|
+
// if that input event never arrives (e.g. auro-input throws mid-clear),
|
|
21962
|
+
// guaranteeing the flag can't survive to be misread as a genuine clear
|
|
21963
|
+
// by a later unrelated event such as an SPA-preselect echo (AB#1634257).
|
|
21964
|
+
// Scheduled via _scheduleTimer so disconnectedCallback cancels it if the
|
|
21965
|
+
// component tears down inside that window.
|
|
21966
|
+
this._scheduleTimer(() => {
|
|
21967
|
+
this._clearBtnActivated = false;
|
|
21968
|
+
}, 0);
|
|
21969
|
+
}
|
|
21970
|
+
}, true);
|
|
21913
21971
|
}
|
|
21914
21972
|
|
|
21915
21973
|
/**
|
|
@@ -21951,6 +22009,17 @@ class AuroCombobox extends AuroElement {
|
|
|
21951
22009
|
* @returns {void}
|
|
21952
22010
|
*/
|
|
21953
22011
|
handleInputValueChange(event) {
|
|
22012
|
+
// Consume the one-shot clear-button flag on EVERY entry, before any branch
|
|
22013
|
+
// below can early-return. trackClearBtnActivation sets it in the capture
|
|
22014
|
+
// phase right before auro-input's clear button fires its synchronous input
|
|
22015
|
+
// event; reading and immediately clearing it here guarantees the flag never
|
|
22016
|
+
// survives a handleInputValueChange call to leak into a later event (e.g.
|
|
22017
|
+
// the bib branch bailing at _syncingDisplayValue, or an SPA-preselect echo)
|
|
22018
|
+
// where it would defeat the guard below. Held in a local so that guard can
|
|
22019
|
+
// still tell a genuine clear from the init-render echo (AB#1634257).
|
|
22020
|
+
const clearBtnActivated = this._clearBtnActivated;
|
|
22021
|
+
this._clearBtnActivated = false;
|
|
22022
|
+
|
|
21954
22023
|
// When the event comes from the fullscreen bib input, sync the value to
|
|
21955
22024
|
// the trigger input. Setting trigger.value triggers Lit's updated()
|
|
21956
22025
|
// (async, microtask) which fires notifyValueChanged() → another 'input'
|
|
@@ -21998,7 +22067,12 @@ class AuroCombobox extends AuroElement {
|
|
|
21998
22067
|
// to the exact shape of that echo (isProgrammatic + non-empty combobox
|
|
21999
22068
|
// value + empty input.value) so it doesn't affect the swap/typed paths
|
|
22000
22069
|
// where value/input already track each other through the sync helpers.
|
|
22001
|
-
|
|
22070
|
+
// The clear button's echo has the same shape (isProgrammatic + set value +
|
|
22071
|
+
// empty input) but is a genuine user clear that MUST reset this.value and
|
|
22072
|
+
// optionSelected below. clearBtnActivated (consumed at the top of this
|
|
22073
|
+
// method) is true only for that genuine clear, so only the real
|
|
22074
|
+
// SPA-preselect echo bails (AB#1634257).
|
|
22075
|
+
if (event && event.isProgrammatic && this.value && !this.input.value && !clearBtnActivated) {
|
|
22002
22076
|
return;
|
|
22003
22077
|
}
|
|
22004
22078
|
|
|
@@ -22143,6 +22217,14 @@ class AuroCombobox extends AuroElement {
|
|
|
22143
22217
|
// retry would otherwise keep rescheduling itself indefinitely.
|
|
22144
22218
|
this._pendingTimers.forEach((id) => clearTimeout(id));
|
|
22145
22219
|
this._pendingTimers.clear();
|
|
22220
|
+
|
|
22221
|
+
// Cancelling the timers above drops the macrotask that would have reset
|
|
22222
|
+
// _clearBtnActivated, so reset it here too. Otherwise a disconnect inside
|
|
22223
|
+
// the clear-click -> macrotask window strands the flag `true`; instance
|
|
22224
|
+
// state survives reconnect, and the first matching input event (including
|
|
22225
|
+
// an SPA-preselect echo) would then bypass the guard in
|
|
22226
|
+
// handleInputValueChange and silently clear value/optionSelected (AB#1634257).
|
|
22227
|
+
this._clearBtnActivated = false;
|
|
22146
22228
|
}
|
|
22147
22229
|
|
|
22148
22230
|
firstUpdated() {
|
|
@@ -22241,6 +22323,14 @@ class AuroCombobox extends AuroElement {
|
|
|
22241
22323
|
}
|
|
22242
22324
|
if (this.menu.value || this.menu.optionSelected) {
|
|
22243
22325
|
this.menu.reset();
|
|
22326
|
+
} else {
|
|
22327
|
+
// The menu's selection properties are already cleared, but option
|
|
22328
|
+
// elements can still carry a stale `selected` attribute (e.g. the menu
|
|
22329
|
+
// options were rebuilt after the value was set, orphaning the DOM from
|
|
22330
|
+
// the now-null optionSelected). reset() is skipped above in that case,
|
|
22331
|
+
// so re-sync the option DOM directly to guarantee no option renders as
|
|
22332
|
+
// selected once the field is cleared (AB#1634259).
|
|
22333
|
+
this.menu.clearSelection();
|
|
22244
22334
|
}
|
|
22245
22335
|
} finally {
|
|
22246
22336
|
this._clearing = false;
|
|
@@ -23692,6 +23782,22 @@ class AuroMenu extends AuroElement {
|
|
|
23692
23782
|
this.value = undefined;
|
|
23693
23783
|
this._selectedKey = undefined;
|
|
23694
23784
|
this._index = -1;
|
|
23785
|
+
|
|
23786
|
+
// Eagerly sync the option DOM to the now-empty selection. Nulling the
|
|
23787
|
+
// reactive properties above normally schedules updated() → updateItemsState,
|
|
23788
|
+
// but that only runs when a property actually changes. If an option still
|
|
23789
|
+
// carries a stale `selected`/`aria-selected` attribute while these
|
|
23790
|
+
// properties are already undefined (e.g. options were rebuilt after a value
|
|
23791
|
+
// was set), no re-render fires and the option keeps rendering as selected.
|
|
23792
|
+
// Strip that state now so no option looks selected after a clear (AB#1634259).
|
|
23793
|
+
// Intentionally leaves `active`/`optionActive` untouched so a highlighted
|
|
23794
|
+
// option remains keyboard-re-selectable after emptying the value (AB#1606433).
|
|
23795
|
+
this.updateItemsState(new Map([
|
|
23796
|
+
[
|
|
23797
|
+
'optionSelected',
|
|
23798
|
+
true
|
|
23799
|
+
]
|
|
23800
|
+
]));
|
|
23695
23801
|
}
|
|
23696
23802
|
|
|
23697
23803
|
/**
|