@aurodesignsystem-dev/auro-formkit 0.0.0-pr1318.0 → 0.0.0-pr1318.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/components/checkbox/demo/api.min.js +1 -1
  2. package/components/checkbox/demo/index.min.js +1 -1
  3. package/components/checkbox/dist/index.js +1 -1
  4. package/components/checkbox/dist/registered.js +1 -1
  5. package/components/combobox/demo/api.min.js +63 -7
  6. package/components/combobox/demo/index.min.js +63 -7
  7. package/components/combobox/dist/auro-combobox.d.ts +1 -1
  8. package/components/combobox/dist/index.js +63 -7
  9. package/components/combobox/dist/registered.js +63 -7
  10. package/components/counter/demo/api.min.js +17 -3
  11. package/components/counter/demo/index.min.js +17 -3
  12. package/components/counter/dist/index.js +17 -3
  13. package/components/counter/dist/registered.js +17 -3
  14. package/components/datepicker/demo/api.min.js +43 -5
  15. package/components/datepicker/demo/index.min.js +43 -5
  16. package/components/datepicker/dist/index.js +43 -5
  17. package/components/datepicker/dist/registered.js +43 -5
  18. package/components/dropdown/demo/api.min.js +16 -2
  19. package/components/dropdown/demo/index.min.js +16 -2
  20. package/components/dropdown/dist/auro-dropdown.d.ts +9 -0
  21. package/components/dropdown/dist/index.js +16 -2
  22. package/components/dropdown/dist/registered.js +16 -2
  23. package/components/input/demo/api.md +5 -3
  24. package/components/input/demo/api.min.js +26 -2
  25. package/components/input/demo/index.min.js +26 -2
  26. package/components/input/dist/auro-input.d.ts +1 -0
  27. package/components/input/dist/base-input.d.ts +10 -0
  28. package/components/input/dist/index.js +26 -2
  29. package/components/input/dist/registered.js +26 -2
  30. package/components/radio/demo/api.min.js +1 -1
  31. package/components/radio/demo/index.min.js +1 -1
  32. package/components/radio/dist/index.js +1 -1
  33. package/components/radio/dist/registered.js +1 -1
  34. package/components/select/demo/api.min.js +56 -11
  35. package/components/select/demo/index.min.js +56 -11
  36. package/components/select/dist/auro-select.d.ts +7 -0
  37. package/components/select/dist/index.js +56 -11
  38. package/components/select/dist/registered.js +56 -11
  39. package/custom-elements.json +92 -5
  40. package/package.json +9 -3
@@ -4249,7 +4249,7 @@ let AuroHelpText$2 = class AuroHelpText extends LitElement {
4249
4249
  }
4250
4250
  };
4251
4251
 
4252
- var formkitVersion$2 = '202602031735';
4252
+ var formkitVersion$2 = '202602112105';
4253
4253
 
4254
4254
  let AuroElement$2 = class AuroElement extends LitElement {
4255
4255
  static get properties() {
@@ -4536,6 +4536,20 @@ class AuroDropdown extends AuroElement$2 {
4536
4536
  }
4537
4537
  }
4538
4538
 
4539
+ /**
4540
+ * Sets the active descendant element for accessibility.
4541
+ * Uses ariaActiveDescendantElement to cross shadow DOM boundaries.
4542
+ * This function is used in components that contain `auro-dropdown` to set the active descendant.
4543
+ * @private
4544
+ * @param {HTMLElement|null} element - The element to set as the active descendant, or null to clear.
4545
+ * @returns {void}
4546
+ */
4547
+ setActiveDescendant(element) {
4548
+ if (this.trigger) {
4549
+ this.trigger.ariaActiveDescendantElement = element;
4550
+ }
4551
+ }
4552
+
4539
4553
  // function to define props used within the scope of this component
4540
4554
  static get properties() {
4541
4555
  return {
@@ -5179,7 +5193,7 @@ class AuroDropdown extends AuroElement$2 {
5179
5193
  tabindex="${ifDefined(this.triggerContentFocusable ? undefined : this.tabIndex)}"
5180
5194
  role="${ifDefined(this.triggerContentFocusable ? undefined : this.a11yRole)}"
5181
5195
  aria-expanded="${ifDefined(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : this.isPopoverVisible)}"
5182
- aria-controls="${ifDefined(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : this.dropdownId)}"
5196
+ aria-controls="${ifDefined(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : `${this.dropdownId}-floater-bib`)}"
5183
5197
  aria-labelledby="${ifDefined(this.triggerContentFocusable ? undefined : 'triggerLabel')}"
5184
5198
  @focusin="${this.handleFocusin}"
5185
5199
  @blur="${this.handleFocusOut}">
@@ -10635,6 +10649,7 @@ class BaseInput extends AuroElement$1 {
10635
10649
 
10636
10650
  /**
10637
10651
  * The maximum number of characters the user can enter into the text input. This must be an integer value `0` or higher.
10652
+ * **Note**: This attribute is not intended to be used with a `type` or `format` that already has a defined length, such as credit-cards, dates or phone numbers.
10638
10653
  */
10639
10654
  maxLength: {
10640
10655
  type: Number,
@@ -11160,6 +11175,11 @@ class BaseInput extends AuroElement$1 {
11160
11175
  * @returns {void}
11161
11176
  */
11162
11177
  handleInput(event) {
11178
+ // Process credit card type detection and formatting during input
11179
+ if (this.type === 'credit-card') {
11180
+ this.processCreditCard();
11181
+ }
11182
+
11163
11183
  // Sets value property to value of element value (el.value).
11164
11184
  this.value = this.inputElement.value;
11165
11185
 
@@ -11239,6 +11259,20 @@ class BaseInput extends AuroElement$1 {
11239
11259
  return activeEl;
11240
11260
  }
11241
11261
 
11262
+ /**
11263
+ * Sets the active descendant element for accessibility.
11264
+ * Uses ariaActiveDescendantElement to cross shadow DOM boundaries.
11265
+ * This function is used in components that contain `auro-input` to set the active descendant.
11266
+ * @private
11267
+ * @param {HTMLElement|null} element - The element to set as the active descendant, or null to clear.
11268
+ * @returns {void}
11269
+ */
11270
+ setActiveDescendant(element) {
11271
+ if (this.inputElement) {
11272
+ this.inputElement.ariaActiveDescendantElement = element;
11273
+ }
11274
+ }
11275
+
11242
11276
  /**
11243
11277
  * Validates value.
11244
11278
  * @param {boolean} [force=false] - Whether to force validation.
@@ -11277,6 +11311,7 @@ class BaseInput extends AuroElement$1 {
11277
11311
 
11278
11312
  if (this.type in defaultLengths) {
11279
11313
  this.lengthForType = this.format ? this.format.length : defaultLengths[this.type];
11314
+ this.maxLength = this.lengthForType;
11280
11315
  this.inputmode = this.inputmode || 'numeric';
11281
11316
  } else if (this.type === 'number') {
11282
11317
  this.inputmode = this.inputmode || 'numeric';
@@ -11387,6 +11422,7 @@ class BaseInput extends AuroElement$1 {
11387
11422
  */
11388
11423
  processCreditCard() {
11389
11424
  const creditCard = this.matchInputValueToCreditCard();
11425
+ const previousFormat = this.format;
11390
11426
 
11391
11427
  this.format = creditCard.maskFormat;
11392
11428
 
@@ -11399,7 +11435,8 @@ class BaseInput extends AuroElement$1 {
11399
11435
  this.inputIconName = creditCard.cardIcon;
11400
11436
  }
11401
11437
 
11402
- if (this.inputElement) {
11438
+ // Only reconfigure the mask if the format has changed
11439
+ if (this.inputElement && previousFormat !== this.format) {
11403
11440
  this.configureAutoFormatting();
11404
11441
  }
11405
11442
  }
@@ -11860,7 +11897,7 @@ let AuroHelpText$1 = class AuroHelpText extends LitElement {
11860
11897
  }
11861
11898
  };
11862
11899
 
11863
- var formkitVersion$1 = '202602031735';
11900
+ var formkitVersion$1 = '202602112105';
11864
11901
 
11865
11902
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
11866
11903
  // See LICENSE in the project root for license information.
@@ -12062,6 +12099,7 @@ class AuroInput extends BaseInput {
12062
12099
  /**
12063
12100
  * Common display value wrapper classes.
12064
12101
  * @private
12102
+ * @returns {Record<string, boolean>}
12065
12103
  */
12066
12104
  get commonDisplayValueWrapperClasses() {
12067
12105
  return {
@@ -12885,7 +12923,7 @@ class AuroBibtemplate extends LitElement {
12885
12923
  }
12886
12924
  }
12887
12925
 
12888
- var formkitVersion = '202602031735';
12926
+ var formkitVersion = '202602112105';
12889
12927
 
12890
12928
  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}`;
12891
12929
 
@@ -13649,7 +13687,7 @@ class AuroCombobox extends AuroElement {
13649
13687
  },
13650
13688
 
13651
13689
  /**
13652
- * Specifies the currently active option.
13690
+ * Specifies the currently active/highlighted `auro-menuoption`.
13653
13691
  * @private
13654
13692
  */
13655
13693
  optionActive: {
@@ -13886,6 +13924,12 @@ class AuroCombobox extends AuroElement {
13886
13924
  this.dropdownOpen = ev.detail.expanded;
13887
13925
  this.updateMenuShapeSize();
13888
13926
 
13927
+ // Clear aria-activedescendant when dropdown closes
13928
+ if (!this.dropdownOpen && this.input) {
13929
+ this.input.setActiveDescendant(null);
13930
+ this.optionActive = null;
13931
+ }
13932
+
13889
13933
  // wait a frame in case the bib gets hide immediately after showing because there is no value
13890
13934
  setTimeout(() => {
13891
13935
  if (this.componentHasFocus) {
@@ -13985,6 +14029,13 @@ class AuroCombobox extends AuroElement {
13985
14029
  */
13986
14030
  configureMenu() {
13987
14031
  this.menu = this.querySelector('auro-menu, [auro-menu]');
14032
+
14033
+ const labelElement = this.querySelector('span[slot="label"]');
14034
+
14035
+ if (labelElement) {
14036
+ this.menu.setAttribute('aria-label', labelElement.textContent);
14037
+ }
14038
+
13988
14039
  this.defaultMenuShape = this.menu.getAttribute('shape');
13989
14040
 
13990
14041
  // racing condition on custom-combobox with custom-menu
@@ -14041,6 +14092,10 @@ class AuroCombobox extends AuroElement {
14041
14092
  this.menu.addEventListener('auroMenu-activatedOption', (evt) => {
14042
14093
  this.optionActive = evt.detail;
14043
14094
 
14095
+ if (this.input) {
14096
+ this.input.setActiveDescendant(this.optionActive);
14097
+ }
14098
+
14044
14099
  this.optionActive.scrollIntoView({
14045
14100
  alignToTop: false,
14046
14101
  block: "nearest",
@@ -14108,6 +14163,7 @@ class AuroCombobox extends AuroElement {
14108
14163
 
14109
14164
  this.menu.matchWord = this.input.value;
14110
14165
  this.optionActive = null;
14166
+ this.input.setActiveDescendant(null);
14111
14167
 
14112
14168
  if (!this.input.value) {
14113
14169
  this.clear();
@@ -14536,7 +14592,7 @@ class AuroCombobox extends AuroElement {
14536
14592
  <${this.inputTag}
14537
14593
  id="inputInBib"
14538
14594
  @input="${this.handleInputValueChange}"
14539
- .a11yControls="${this.dropdownId}"
14595
+ .a11yControls=${`${this.dropdownId}-floater-bib`}
14540
14596
  .autocomplete="${this.autocomplete}"
14541
14597
  .format="${this.format}"
14542
14598
  .inputmode="${this.inputmode}"
@@ -1442,7 +1442,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$2 {
1442
1442
  }
1443
1443
  };
1444
1444
 
1445
- var formkitVersion$1 = '202602031735';
1445
+ var formkitVersion$1 = '202602112105';
1446
1446
 
1447
1447
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
1448
1448
  // See LICENSE in the project root for license information.
@@ -5135,7 +5135,7 @@ class AuroHelpText extends i$2 {
5135
5135
  }
5136
5136
  }
5137
5137
 
5138
- var formkitVersion = '202602031735';
5138
+ var formkitVersion = '202602112105';
5139
5139
 
5140
5140
  let AuroElement$1 = class AuroElement extends i$2 {
5141
5141
  static get properties() {
@@ -5422,6 +5422,20 @@ class AuroDropdown extends AuroElement$1 {
5422
5422
  }
5423
5423
  }
5424
5424
 
5425
+ /**
5426
+ * Sets the active descendant element for accessibility.
5427
+ * Uses ariaActiveDescendantElement to cross shadow DOM boundaries.
5428
+ * This function is used in components that contain `auro-dropdown` to set the active descendant.
5429
+ * @private
5430
+ * @param {HTMLElement|null} element - The element to set as the active descendant, or null to clear.
5431
+ * @returns {void}
5432
+ */
5433
+ setActiveDescendant(element) {
5434
+ if (this.trigger) {
5435
+ this.trigger.ariaActiveDescendantElement = element;
5436
+ }
5437
+ }
5438
+
5425
5439
  // function to define props used within the scope of this component
5426
5440
  static get properties() {
5427
5441
  return {
@@ -6065,7 +6079,7 @@ class AuroDropdown extends AuroElement$1 {
6065
6079
  tabindex="${o$2(this.triggerContentFocusable ? undefined : this.tabIndex)}"
6066
6080
  role="${o$2(this.triggerContentFocusable ? undefined : this.a11yRole)}"
6067
6081
  aria-expanded="${o$2(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : this.isPopoverVisible)}"
6068
- aria-controls="${o$2(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : this.dropdownId)}"
6082
+ aria-controls="${o$2(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : `${this.dropdownId}-floater-bib`)}"
6069
6083
  aria-labelledby="${o$2(this.triggerContentFocusable ? undefined : 'triggerLabel')}"
6070
6084
  @focusin="${this.handleFocusin}"
6071
6085
  @blur="${this.handleFocusOut}">
@@ -1442,7 +1442,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$2 {
1442
1442
  }
1443
1443
  };
1444
1444
 
1445
- var formkitVersion$1 = '202602031735';
1445
+ var formkitVersion$1 = '202602112105';
1446
1446
 
1447
1447
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
1448
1448
  // See LICENSE in the project root for license information.
@@ -5135,7 +5135,7 @@ class AuroHelpText extends i$2 {
5135
5135
  }
5136
5136
  }
5137
5137
 
5138
- var formkitVersion = '202602031735';
5138
+ var formkitVersion = '202602112105';
5139
5139
 
5140
5140
  let AuroElement$1 = class AuroElement extends i$2 {
5141
5141
  static get properties() {
@@ -5422,6 +5422,20 @@ class AuroDropdown extends AuroElement$1 {
5422
5422
  }
5423
5423
  }
5424
5424
 
5425
+ /**
5426
+ * Sets the active descendant element for accessibility.
5427
+ * Uses ariaActiveDescendantElement to cross shadow DOM boundaries.
5428
+ * This function is used in components that contain `auro-dropdown` to set the active descendant.
5429
+ * @private
5430
+ * @param {HTMLElement|null} element - The element to set as the active descendant, or null to clear.
5431
+ * @returns {void}
5432
+ */
5433
+ setActiveDescendant(element) {
5434
+ if (this.trigger) {
5435
+ this.trigger.ariaActiveDescendantElement = element;
5436
+ }
5437
+ }
5438
+
5425
5439
  // function to define props used within the scope of this component
5426
5440
  static get properties() {
5427
5441
  return {
@@ -6065,7 +6079,7 @@ class AuroDropdown extends AuroElement$1 {
6065
6079
  tabindex="${o$2(this.triggerContentFocusable ? undefined : this.tabIndex)}"
6066
6080
  role="${o$2(this.triggerContentFocusable ? undefined : this.a11yRole)}"
6067
6081
  aria-expanded="${o$2(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : this.isPopoverVisible)}"
6068
- aria-controls="${o$2(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : this.dropdownId)}"
6082
+ aria-controls="${o$2(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : `${this.dropdownId}-floater-bib`)}"
6069
6083
  aria-labelledby="${o$2(this.triggerContentFocusable ? undefined : 'triggerLabel')}"
6070
6084
  @focusin="${this.handleFocusin}"
6071
6085
  @blur="${this.handleFocusOut}">
@@ -1392,7 +1392,7 @@ let AuroHelpText$1 = class AuroHelpText extends LitElement {
1392
1392
  }
1393
1393
  };
1394
1394
 
1395
- var formkitVersion$1 = '202602031735';
1395
+ var formkitVersion$1 = '202602112105';
1396
1396
 
1397
1397
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
1398
1398
  // See LICENSE in the project root for license information.
@@ -5067,7 +5067,7 @@ class AuroHelpText extends LitElement {
5067
5067
  }
5068
5068
  }
5069
5069
 
5070
- var formkitVersion = '202602031735';
5070
+ var formkitVersion = '202602112105';
5071
5071
 
5072
5072
  let AuroElement$1 = class AuroElement extends LitElement {
5073
5073
  static get properties() {
@@ -5354,6 +5354,20 @@ class AuroDropdown extends AuroElement$1 {
5354
5354
  }
5355
5355
  }
5356
5356
 
5357
+ /**
5358
+ * Sets the active descendant element for accessibility.
5359
+ * Uses ariaActiveDescendantElement to cross shadow DOM boundaries.
5360
+ * This function is used in components that contain `auro-dropdown` to set the active descendant.
5361
+ * @private
5362
+ * @param {HTMLElement|null} element - The element to set as the active descendant, or null to clear.
5363
+ * @returns {void}
5364
+ */
5365
+ setActiveDescendant(element) {
5366
+ if (this.trigger) {
5367
+ this.trigger.ariaActiveDescendantElement = element;
5368
+ }
5369
+ }
5370
+
5357
5371
  // function to define props used within the scope of this component
5358
5372
  static get properties() {
5359
5373
  return {
@@ -5997,7 +6011,7 @@ class AuroDropdown extends AuroElement$1 {
5997
6011
  tabindex="${ifDefined(this.triggerContentFocusable ? undefined : this.tabIndex)}"
5998
6012
  role="${ifDefined(this.triggerContentFocusable ? undefined : this.a11yRole)}"
5999
6013
  aria-expanded="${ifDefined(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : this.isPopoverVisible)}"
6000
- aria-controls="${ifDefined(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : this.dropdownId)}"
6014
+ aria-controls="${ifDefined(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : `${this.dropdownId}-floater-bib`)}"
6001
6015
  aria-labelledby="${ifDefined(this.triggerContentFocusable ? undefined : 'triggerLabel')}"
6002
6016
  @focusin="${this.handleFocusin}"
6003
6017
  @blur="${this.handleFocusOut}">
@@ -1392,7 +1392,7 @@ let AuroHelpText$1 = class AuroHelpText extends LitElement {
1392
1392
  }
1393
1393
  };
1394
1394
 
1395
- var formkitVersion$1 = '202602031735';
1395
+ var formkitVersion$1 = '202602112105';
1396
1396
 
1397
1397
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
1398
1398
  // See LICENSE in the project root for license information.
@@ -5067,7 +5067,7 @@ class AuroHelpText extends LitElement {
5067
5067
  }
5068
5068
  }
5069
5069
 
5070
- var formkitVersion = '202602031735';
5070
+ var formkitVersion = '202602112105';
5071
5071
 
5072
5072
  let AuroElement$1 = class AuroElement extends LitElement {
5073
5073
  static get properties() {
@@ -5354,6 +5354,20 @@ class AuroDropdown extends AuroElement$1 {
5354
5354
  }
5355
5355
  }
5356
5356
 
5357
+ /**
5358
+ * Sets the active descendant element for accessibility.
5359
+ * Uses ariaActiveDescendantElement to cross shadow DOM boundaries.
5360
+ * This function is used in components that contain `auro-dropdown` to set the active descendant.
5361
+ * @private
5362
+ * @param {HTMLElement|null} element - The element to set as the active descendant, or null to clear.
5363
+ * @returns {void}
5364
+ */
5365
+ setActiveDescendant(element) {
5366
+ if (this.trigger) {
5367
+ this.trigger.ariaActiveDescendantElement = element;
5368
+ }
5369
+ }
5370
+
5357
5371
  // function to define props used within the scope of this component
5358
5372
  static get properties() {
5359
5373
  return {
@@ -5997,7 +6011,7 @@ class AuroDropdown extends AuroElement$1 {
5997
6011
  tabindex="${ifDefined(this.triggerContentFocusable ? undefined : this.tabIndex)}"
5998
6012
  role="${ifDefined(this.triggerContentFocusable ? undefined : this.a11yRole)}"
5999
6013
  aria-expanded="${ifDefined(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : this.isPopoverVisible)}"
6000
- aria-controls="${ifDefined(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : this.dropdownId)}"
6014
+ aria-controls="${ifDefined(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : `${this.dropdownId}-floater-bib`)}"
6001
6015
  aria-labelledby="${ifDefined(this.triggerContentFocusable ? undefined : 'triggerLabel')}"
6002
6016
  @focusin="${this.handleFocusin}"
6003
6017
  @blur="${this.handleFocusOut}">
@@ -9537,7 +9537,7 @@ class AuroBibtemplate extends i$1 {
9537
9537
  }
9538
9538
  }
9539
9539
 
9540
- var formkitVersion$2 = '202602031735';
9540
+ var formkitVersion$2 = '202602112105';
9541
9541
 
9542
9542
  let l$1 = class l{generateElementName(t,e){let o=t;return o+="-",o+=e.replace(/[.]/g,"_"),o}generateTag(o,s,a){const r=this.generateElementName(o,s),i=i$5`${s$5(r)}`;return customElements.get(r)||customElements.define(r,class extends a{}),i}};let d$1 = class d{registerComponent(t,e){customElements.get(t)||customElements.define(t,class extends e{});}closestElement(t,e=this,o=(e,s=e&&e.closest(t))=>e&&e!==document&&e!==window?s||o(e.getRootNode().host):null){return o(e)}handleComponentTagRename(t,e){const o=e.toLowerCase();t.tagName.toLowerCase()!==o&&t.setAttribute(o,true);}elementMatch(t,e){const o=e.toLowerCase();return t.tagName.toLowerCase()===o||t.hasAttribute(o)}getSlotText(t,e){const o=t.shadowRoot?.querySelector(`slot[name="${e}"]`),s=(o?.assignedNodes({flatten:true})||[]).map(t=>t.textContent?.trim()).join(" ").trim();return s||null}};let h$4 = class h{registerComponent(t,e){customElements.get(t)||customElements.define(t,class extends e{});}closestElement(t,e=this,o=(e,s=e&&e.closest(t))=>e&&e!==document&&e!==window?s||o(e.getRootNode().host):null){return o(e)}handleComponentTagRename(t,e){const o=e.toLowerCase();t.tagName.toLowerCase()!==o&&t.setAttribute(o,true);}elementMatch(t,e){const o=e.toLowerCase();return t.tagName.toLowerCase()===o||t.hasAttribute(o)}};var c$3=i$3`:host{color:var(--ds-auro-loader-color)}:host>span{background-color:var(--ds-auro-loader-background-color);border-color:var(--ds-auro-loader-border-color)}:host([onlight]),:host([appearance=brand]){--ds-auro-loader-color: var(--ds-basic-color-brand-primary, #01426a)}:host([ondark]),:host([appearance=inverse]){--ds-auro-loader-color: var(--ds-basic-color-texticon-inverse, #ffffff)}:host([orbit])>span{--ds-auro-loader-background-color: transparent}:host([orbit])>span:nth-child(1){--ds-auro-loader-border-color: currentcolor;opacity:.25}:host([orbit])>span:nth-child(2){--ds-auro-loader-border-color: currentcolor;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent}
9543
9543
  `,u$6=i$3`.body-default{font-size:var(--wcss-body-default-font-size, 1rem);line-height:var(--wcss-body-default-line-height, 1.5rem)}.body-default,.body-lg{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-weight, 450);letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-lg{font-size:var(--wcss-body-lg-font-size, 1.125rem);line-height:var(--wcss-body-lg-line-height, 1.625rem)}.body-sm{font-size:var(--wcss-body-sm-font-size, .875rem);line-height:var(--wcss-body-sm-line-height, 1.25rem)}.body-sm,.body-xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-weight, 450);letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-xs{font-size:var(--wcss-body-xs-font-size, .75rem);line-height:var(--wcss-body-xs-line-height, 1rem)}.body-2xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:var(--wcss-body-2xs-font-size, .625rem);font-weight:var(--wcss-body-weight, 450);letter-spacing:var(--wcss-body-letter-spacing, 0);line-height:var(--wcss-body-2xs-line-height, .875rem)}.display-2xl{font-family:var(--wcss-display-2xl-family, "AS Circular"),var(--wcss-display-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-2xl-font-size, clamp(3.5rem, 6vw, 5.375rem));font-weight:var(--wcss-display-2xl-weight, 300);letter-spacing:var(--wcss-display-2xl-letter-spacing, 0);line-height:var(--wcss-display-2xl-line-height, 1.3)}.display-xl{font-family:var(--wcss-display-xl-family, "AS Circular"),var(--wcss-display-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-xl-font-size, clamp(3rem, 5.3333333333vw, 4.5rem));font-weight:var(--wcss-display-xl-weight, 300);letter-spacing:var(--wcss-display-xl-letter-spacing, 0);line-height:var(--wcss-display-xl-line-height, 1.3)}.display-lg{font-family:var(--wcss-display-lg-family, "AS Circular"),var(--wcss-display-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-lg-font-size, clamp(2.75rem, 4.6666666667vw, 4rem));font-weight:var(--wcss-display-lg-weight, 300);letter-spacing:var(--wcss-display-lg-letter-spacing, 0);line-height:var(--wcss-display-lg-line-height, 1.3)}.display-md{font-family:var(--wcss-display-md-family, "AS Circular"),var(--wcss-display-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-md-font-size, clamp(2.5rem, 4vw, 3.5rem));font-weight:var(--wcss-display-md-weight, 300);letter-spacing:var(--wcss-display-md-letter-spacing, 0);line-height:var(--wcss-display-md-line-height, 1.3)}.display-sm{font-family:var(--wcss-display-sm-family, "AS Circular"),var(--wcss-display-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-sm-font-size, clamp(2rem, 3.6666666667vw, 3rem));font-weight:var(--wcss-display-sm-weight, 300);letter-spacing:var(--wcss-display-sm-letter-spacing, 0);line-height:var(--wcss-display-sm-line-height, 1.3)}.display-xs{font-family:var(--wcss-display-xs-family, "AS Circular"),var(--wcss-display-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-xs-font-size, clamp(1.75rem, 3vw, 2.375rem));font-weight:var(--wcss-display-xs-weight, 300);letter-spacing:var(--wcss-display-xs-letter-spacing, 0);line-height:var(--wcss-display-xs-line-height, 1.3)}.heading-xl{font-family:var(--wcss-heading-xl-family, "AS Circular"),var(--wcss-heading-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-xl-font-size, clamp(2rem, 3vw, 2.5rem));font-weight:var(--wcss-heading-xl-weight, 300);letter-spacing:var(--wcss-heading-xl-letter-spacing, 0);line-height:var(--wcss-heading-xl-line-height, 1.3)}.heading-lg{font-family:var(--wcss-heading-lg-family, "AS Circular"),var(--wcss-heading-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-lg-font-size, clamp(1.75rem, 2.6666666667vw, 2.25rem));font-weight:var(--wcss-heading-lg-weight, 300);letter-spacing:var(--wcss-heading-lg-letter-spacing, 0);line-height:var(--wcss-heading-lg-line-height, 1.3)}.heading-md{font-family:var(--wcss-heading-md-family, "AS Circular"),var(--wcss-heading-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-md-font-size, clamp(1.625rem, 2.3333333333vw, 1.75rem));font-weight:var(--wcss-heading-md-weight, 300);letter-spacing:var(--wcss-heading-md-letter-spacing, 0);line-height:var(--wcss-heading-md-line-height, 1.3)}.heading-sm{font-family:var(--wcss-heading-sm-family, "AS Circular"),var(--wcss-heading-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-sm-font-size, clamp(1.375rem, 2vw, 1.5rem));font-weight:var(--wcss-heading-sm-weight, 300);letter-spacing:var(--wcss-heading-sm-letter-spacing, 0);line-height:var(--wcss-heading-sm-line-height, 1.3)}.heading-xs{font-family:var(--wcss-heading-xs-family, "AS Circular"),var(--wcss-heading-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-xs-font-size, clamp(1.25rem, 1.6666666667vw, 1.25rem));font-weight:var(--wcss-heading-xs-weight, 450);letter-spacing:var(--wcss-heading-xs-letter-spacing, 0);line-height:var(--wcss-heading-xs-line-height, 1.3)}.heading-2xs{font-family:var(--wcss-heading-2xs-family, "AS Circular"),var(--wcss-heading-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-2xs-font-size, clamp(1.125rem, 1.5vw, 1.125rem));font-weight:var(--wcss-heading-2xs-weight, 450);letter-spacing:var(--wcss-heading-2xs-letter-spacing, 0);line-height:var(--wcss-heading-2xs-line-height, 1.3)}.accent-2xl{font-family:var(--wcss-accent-2xl-family, "Good OT"),var(--wcss-accent-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-2xl-font-size, clamp(2rem, 3.1666666667vw, 2.375rem));font-weight:var(--wcss-accent-2xl-weight, 450);letter-spacing:var(--wcss-accent-2xl-letter-spacing, .05em);line-height:var(--wcss-accent-2xl-line-height, 1)}.accent-2xl,.accent-xl{text-transform:uppercase}.accent-xl{font-family:var(--wcss-accent-xl-family, "Good OT"),var(--wcss-accent-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-xl-font-size, clamp(1.625rem, 2.3333333333vw, 2rem));font-weight:var(--wcss-accent-xl-weight, 450);letter-spacing:var(--wcss-accent-xl-letter-spacing, .05em);line-height:var(--wcss-accent-xl-line-height, 1.3)}.accent-lg{font-family:var(--wcss-accent-lg-family, "Good OT"),var(--wcss-accent-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-lg-font-size, clamp(1.5rem, 2.1666666667vw, 1.75rem));font-weight:var(--wcss-accent-lg-weight, 450);letter-spacing:var(--wcss-accent-lg-letter-spacing, .05em);line-height:var(--wcss-accent-lg-line-height, 1.3)}.accent-lg,.accent-md{text-transform:uppercase}.accent-md{font-family:var(--wcss-accent-md-family, "Good OT"),var(--wcss-accent-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-md-font-size, clamp(1.375rem, 1.8333333333vw, 1.5rem));font-weight:var(--wcss-accent-md-weight, 500);letter-spacing:var(--wcss-accent-md-letter-spacing, .05em);line-height:var(--wcss-accent-md-line-height, 1.3)}.accent-sm{font-family:var(--wcss-accent-sm-family, "Good OT"),var(--wcss-accent-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-sm-font-size, clamp(1.125rem, 1.5vw, 1.25rem));font-weight:var(--wcss-accent-sm-weight, 500);letter-spacing:var(--wcss-accent-sm-letter-spacing, .05em);line-height:var(--wcss-accent-sm-line-height, 1.3)}.accent-sm,.accent-xs{text-transform:uppercase}.accent-xs{font-family:var(--wcss-accent-xs-family, "Good OT"),var(--wcss-accent-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-xs-font-size, clamp(1rem, 1.3333333333vw, 1rem));font-weight:var(--wcss-accent-xs-weight, 500);letter-spacing:var(--wcss-accent-xs-letter-spacing, .1em);line-height:var(--wcss-accent-xs-line-height, 1.3)}.accent-2xs{font-family:var(--wcss-accent-2xs-family, "Good OT"),var(--wcss-accent-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-2xs-font-size, clamp(.875rem, 1.1666666667vw, .875rem));font-weight:var(--wcss-accent-2xs-weight, 450);letter-spacing:var(--wcss-accent-2xs-letter-spacing, .1em);line-height:var(--wcss-accent-2xs-line-height, 1.3);text-transform:uppercase}:focus:not(:focus-visible){outline:3px solid transparent}:host,:host>span{position:relative}:host{width:2rem;height:2rem;display:inline-block;font-size:0}:host>span{position:absolute;display:inline-block;float:none;top:0;left:0;width:2rem;height:2rem;border-radius:100%;border-style:solid;border-width:0;box-sizing:border-box}:host([xs]),:host([xs])>span{width:1.2rem;height:1.2rem}:host([sm]),:host([sm])>span{width:3rem;height:3rem}:host([md]),:host([md])>span{width:5rem;height:5rem}:host([lg]),:host([lg])>span{width:8rem;height:8rem}:host{--margin: .375rem;--margin-xs: .2rem;--margin-sm: .5rem;--margin-md: .75rem;--margin-lg: 1rem}:host([pulse]),:host([pulse])>span{position:relative}:host([pulse]){width:calc(3rem + var(--margin) * 6);height:calc(1rem + var(--margin) * 2)}:host([pulse])>span{width:1rem;height:1rem;margin:var(--margin);animation:pulse 1.5s ease infinite}:host([pulse][xs]){width:calc(1.95rem + var(--margin-xs) * 6);height:calc(.65rem + var(--margin-xs) * 2)}:host([pulse][xs])>span{margin:var(--margin-xs);width:.65rem;height:.65rem}:host([pulse][sm]){width:calc(6rem + var(--margin-sm) * 6);height:calc(2rem + var(--margin-sm) * 2)}:host([pulse][sm])>span{margin:var(--margin-sm);width:2rem;height:2rem}:host([pulse][md]){width:calc(9rem + var(--margin-md) * 6);height:calc(3rem + var(--margin-md) * 2)}:host([pulse][md])>span{margin:var(--margin-md);width:3rem;height:3rem}:host([pulse][lg]){width:calc(15rem + var(--margin-lg) * 6);height:calc(5rem + var(--margin-lg) * 2)}:host([pulse][lg])>span{margin:var(--margin-lg);width:5rem;height:5rem}:host([pulse])>span:nth-child(1){animation-delay:-.4s}:host([pulse])>span:nth-child(2){animation-delay:-.2s}:host([pulse])>span:nth-child(3){animation-delay:0ms}@keyframes pulse{0%,to{opacity:.1;transform:scale(.9)}50%{opacity:1;transform:scale(1.1)}}:host([orbit]),:host([orbit])>span{opacity:1}:host([orbit])>span{border-width:5px}:host([orbit])>span:nth-child(2){animation:orbit 2s linear infinite}:host([orbit][sm])>span{border-width:8px}:host([orbit][md])>span{border-width:13px}:host([orbit][lg])>span{border-width:21px}@keyframes orbit{0%{transform:rotate(0)}to{transform:rotate(360deg)}}:host([ringworm])>svg{animation:rotate 2s linear infinite;height:100%;width:100%;stroke:currentcolor;stroke-width:8}:host([ringworm]) .path{stroke-dashoffset:0;animation:ringworm 1.5s ease-in-out infinite;stroke-linecap:round}@keyframes rotate{to{transform:rotate(360deg)}}@keyframes ringworm{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px}to{stroke-dasharray:89,200;stroke-dashoffset:-124px}}:host([laser]){position:static;width:100%;display:block;height:0;overflow:hidden;font-size:unset}:host([laser])>span{position:fixed;width:100%;height:.25rem;border-radius:0;z-index:100}:host([laser])>span:nth-child(1){border-color:currentcolor;opacity:.25}:host([laser])>span:nth-child(2){border-color:currentcolor;animation:laser 2s linear infinite;opacity:1;width:50%}:host([laser][sm])>span:nth-child(2){width:20%}:host([laser][md])>span:nth-child(2){width:30%}:host([laser][lg])>span:nth-child(2){width:50%;animation-duration:1.5s}:host([laser][xl])>span:nth-child(2){width:80%;animation-duration:1.5s}@keyframes laser{0%{left:-100%}to{left:110%}}:host>.no-animation{display:none}@media (prefers-reduced-motion: reduce){:host{display:flex;align-items:center;justify-content:center}:host>span{opacity:1}:host>.loader{display:none}:host>svg{display:none}:host>.no-animation{display:block}}
@@ -13268,7 +13268,7 @@ let AuroHelpText$2 = class AuroHelpText extends i$1 {
13268
13268
  }
13269
13269
  };
13270
13270
 
13271
- var formkitVersion$1 = '202602031735';
13271
+ var formkitVersion$1 = '202602112105';
13272
13272
 
13273
13273
  let AuroElement$2 = class AuroElement extends i$1 {
13274
13274
  static get properties() {
@@ -13555,6 +13555,20 @@ class AuroDropdown extends AuroElement$2 {
13555
13555
  }
13556
13556
  }
13557
13557
 
13558
+ /**
13559
+ * Sets the active descendant element for accessibility.
13560
+ * Uses ariaActiveDescendantElement to cross shadow DOM boundaries.
13561
+ * This function is used in components that contain `auro-dropdown` to set the active descendant.
13562
+ * @private
13563
+ * @param {HTMLElement|null} element - The element to set as the active descendant, or null to clear.
13564
+ * @returns {void}
13565
+ */
13566
+ setActiveDescendant(element) {
13567
+ if (this.trigger) {
13568
+ this.trigger.ariaActiveDescendantElement = element;
13569
+ }
13570
+ }
13571
+
13558
13572
  // function to define props used within the scope of this component
13559
13573
  static get properties() {
13560
13574
  return {
@@ -14198,7 +14212,7 @@ class AuroDropdown extends AuroElement$2 {
14198
14212
  tabindex="${o$2(this.triggerContentFocusable ? undefined : this.tabIndex)}"
14199
14213
  role="${o$2(this.triggerContentFocusable ? undefined : this.a11yRole)}"
14200
14214
  aria-expanded="${o$2(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : this.isPopoverVisible)}"
14201
- aria-controls="${o$2(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : this.dropdownId)}"
14215
+ aria-controls="${o$2(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : `${this.dropdownId}-floater-bib`)}"
14202
14216
  aria-labelledby="${o$2(this.triggerContentFocusable ? undefined : 'triggerLabel')}"
14203
14217
  @focusin="${this.handleFocusin}"
14204
14218
  @blur="${this.handleFocusOut}">
@@ -19661,6 +19675,7 @@ class BaseInput extends AuroElement$1 {
19661
19675
 
19662
19676
  /**
19663
19677
  * The maximum number of characters the user can enter into the text input. This must be an integer value `0` or higher.
19678
+ * **Note**: This attribute is not intended to be used with a `type` or `format` that already has a defined length, such as credit-cards, dates or phone numbers.
19664
19679
  */
19665
19680
  maxLength: {
19666
19681
  type: Number,
@@ -20186,6 +20201,11 @@ class BaseInput extends AuroElement$1 {
20186
20201
  * @returns {void}
20187
20202
  */
20188
20203
  handleInput(event) {
20204
+ // Process credit card type detection and formatting during input
20205
+ if (this.type === 'credit-card') {
20206
+ this.processCreditCard();
20207
+ }
20208
+
20189
20209
  // Sets value property to value of element value (el.value).
20190
20210
  this.value = this.inputElement.value;
20191
20211
 
@@ -20265,6 +20285,20 @@ class BaseInput extends AuroElement$1 {
20265
20285
  return activeEl;
20266
20286
  }
20267
20287
 
20288
+ /**
20289
+ * Sets the active descendant element for accessibility.
20290
+ * Uses ariaActiveDescendantElement to cross shadow DOM boundaries.
20291
+ * This function is used in components that contain `auro-input` to set the active descendant.
20292
+ * @private
20293
+ * @param {HTMLElement|null} element - The element to set as the active descendant, or null to clear.
20294
+ * @returns {void}
20295
+ */
20296
+ setActiveDescendant(element) {
20297
+ if (this.inputElement) {
20298
+ this.inputElement.ariaActiveDescendantElement = element;
20299
+ }
20300
+ }
20301
+
20268
20302
  /**
20269
20303
  * Validates value.
20270
20304
  * @param {boolean} [force=false] - Whether to force validation.
@@ -20303,6 +20337,7 @@ class BaseInput extends AuroElement$1 {
20303
20337
 
20304
20338
  if (this.type in defaultLengths) {
20305
20339
  this.lengthForType = this.format ? this.format.length : defaultLengths[this.type];
20340
+ this.maxLength = this.lengthForType;
20306
20341
  this.inputmode = this.inputmode || 'numeric';
20307
20342
  } else if (this.type === 'number') {
20308
20343
  this.inputmode = this.inputmode || 'numeric';
@@ -20413,6 +20448,7 @@ class BaseInput extends AuroElement$1 {
20413
20448
  */
20414
20449
  processCreditCard() {
20415
20450
  const creditCard = this.matchInputValueToCreditCard();
20451
+ const previousFormat = this.format;
20416
20452
 
20417
20453
  this.format = creditCard.maskFormat;
20418
20454
 
@@ -20425,7 +20461,8 @@ class BaseInput extends AuroElement$1 {
20425
20461
  this.inputIconName = creditCard.cardIcon;
20426
20462
  }
20427
20463
 
20428
- if (this.inputElement) {
20464
+ // Only reconfigure the mask if the format has changed
20465
+ if (this.inputElement && previousFormat !== this.format) {
20429
20466
  this.configureAutoFormatting();
20430
20467
  }
20431
20468
  }
@@ -20886,7 +20923,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$1 {
20886
20923
  }
20887
20924
  };
20888
20925
 
20889
- var formkitVersion = '202602031735';
20926
+ var formkitVersion = '202602112105';
20890
20927
 
20891
20928
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
20892
20929
  // See LICENSE in the project root for license information.
@@ -21088,6 +21125,7 @@ class AuroInput extends BaseInput {
21088
21125
  /**
21089
21126
  * Common display value wrapper classes.
21090
21127
  * @private
21128
+ * @returns {Record<string, boolean>}
21091
21129
  */
21092
21130
  get commonDisplayValueWrapperClasses() {
21093
21131
  return {