@aurodesignsystem-dev/auro-formkit 0.0.0-pr1430.0 → 0.0.0-pr1431.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.
Files changed (54) hide show
  1. package/components/checkbox/demo/api.min.js +3 -3
  2. package/components/checkbox/demo/index.min.js +3 -3
  3. package/components/checkbox/dist/index.js +3 -3
  4. package/components/checkbox/dist/registered.js +3 -3
  5. package/components/combobox/demo/api.html +1 -0
  6. package/components/combobox/demo/api.js +3 -1
  7. package/components/combobox/demo/api.md +75 -0
  8. package/components/combobox/demo/api.min.js +34 -124
  9. package/components/combobox/demo/index.min.js +21 -123
  10. package/components/combobox/dist/comboboxKeyboardStrategy.d.ts +1 -1
  11. package/components/combobox/dist/index.js +21 -123
  12. package/components/combobox/dist/registered.js +21 -123
  13. package/components/counter/demo/api.html +3 -0
  14. package/components/counter/demo/api.js +4 -0
  15. package/components/counter/demo/api.md +130 -0
  16. package/components/counter/demo/api.min.js +63 -132
  17. package/components/counter/demo/index.min.js +43 -132
  18. package/components/counter/dist/counterGroupKeyboardStrategy.d.ts +3 -0
  19. package/components/counter/dist/index.js +43 -132
  20. package/components/counter/dist/registered.js +43 -132
  21. package/components/datepicker/demo/api.html +1 -0
  22. package/components/datepicker/demo/api.js +2 -0
  23. package/components/datepicker/demo/api.md +57 -0
  24. package/components/datepicker/demo/api.min.js +106 -123
  25. package/components/datepicker/demo/index.min.js +94 -123
  26. package/components/datepicker/dist/datepickerKeyboardStrategy.d.ts +3 -1
  27. package/components/datepicker/dist/index.js +94 -123
  28. package/components/datepicker/dist/registered.js +94 -123
  29. package/components/dropdown/demo/api.html +1 -0
  30. package/components/dropdown/demo/api.js +2 -0
  31. package/components/dropdown/demo/api.md +95 -0
  32. package/components/dropdown/demo/api.min.js +25 -116
  33. package/components/dropdown/demo/index.min.js +5 -116
  34. package/components/dropdown/dist/index.js +5 -116
  35. package/components/dropdown/dist/registered.js +5 -116
  36. package/components/form/demo/api.min.js +220 -547
  37. package/components/form/demo/index.min.js +220 -547
  38. package/components/input/demo/api.min.js +1 -1
  39. package/components/input/demo/index.min.js +1 -1
  40. package/components/input/dist/index.js +1 -1
  41. package/components/input/dist/registered.js +1 -1
  42. package/components/radio/demo/api.min.js +2 -2
  43. package/components/radio/demo/index.min.js +2 -2
  44. package/components/radio/dist/index.js +2 -2
  45. package/components/radio/dist/registered.js +2 -2
  46. package/components/select/demo/api.html +1 -0
  47. package/components/select/demo/api.js +2 -0
  48. package/components/select/demo/api.md +76 -0
  49. package/components/select/demo/api.min.js +35 -129
  50. package/components/select/demo/index.min.js +22 -129
  51. package/components/select/dist/index.js +18 -125
  52. package/components/select/dist/registered.js +18 -125
  53. package/custom-elements.json +1451 -1427
  54. package/package.json +3 -2
@@ -76,7 +76,7 @@ let l$1 = class l{generateElementName(t,e){let o=t;return o+="-",o+=e.replace(/[
76
76
 
77
77
  /* eslint-disable line-comment-position, no-inline-comments, no-confusing-arrow, no-nested-ternary, implicit-arrow-linebreak */
78
78
 
79
- let AuroLibraryRuntimeUtils$5 = class AuroLibraryRuntimeUtils {
79
+ let AuroLibraryRuntimeUtils$4 = class AuroLibraryRuntimeUtils {
80
80
 
81
81
  /* eslint-disable jsdoc/require-param */
82
82
 
@@ -152,7 +152,7 @@ let AuroLibraryRuntimeUtils$5 = class AuroLibraryRuntimeUtils {
152
152
  }
153
153
  };
154
154
 
155
- // Copyright (c) 2026 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
155
+ // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
156
156
  // See LICENSE in the project root for license information.
157
157
 
158
158
 
@@ -182,7 +182,7 @@ class AuroCounterButton extends T$1 {
182
182
  *
183
183
  */
184
184
  static register(name = "auro-counter-button") {
185
- AuroLibraryRuntimeUtils$5.prototype.registerComponent(name, AuroCounterButton);
185
+ AuroLibraryRuntimeUtils$4.prototype.registerComponent(name, AuroCounterButton);
186
186
  }
187
187
  }
188
188
 
@@ -674,7 +674,7 @@ const {
674
674
  class AuroFormValidation {
675
675
 
676
676
  constructor() {
677
- this.runtimeUtils = new AuroLibraryRuntimeUtils$5();
677
+ this.runtimeUtils = new AuroLibraryRuntimeUtils$4();
678
678
  }
679
679
 
680
680
  /**
@@ -1256,7 +1256,7 @@ var tokensCss$2 = css`:host{--ds-auro-helptext-color: var(--ds-basic-color-texti
1256
1256
 
1257
1257
  /* eslint-disable line-comment-position, no-inline-comments, no-confusing-arrow, no-nested-ternary, implicit-arrow-linebreak */
1258
1258
 
1259
- let AuroLibraryRuntimeUtils$4 = class AuroLibraryRuntimeUtils {
1259
+ let AuroLibraryRuntimeUtils$3 = class AuroLibraryRuntimeUtils {
1260
1260
 
1261
1261
  /* eslint-disable jsdoc/require-param */
1262
1262
 
@@ -1349,7 +1349,7 @@ let AuroHelpText$1 = class AuroHelpText extends LitElement {
1349
1349
  this.onDark = false;
1350
1350
  this.hasTextContent = false;
1351
1351
 
1352
- AuroLibraryRuntimeUtils$4.prototype.handleComponentTagRename(this, 'auro-helptext');
1352
+ AuroLibraryRuntimeUtils$3.prototype.handleComponentTagRename(this, 'auro-helptext');
1353
1353
  }
1354
1354
 
1355
1355
  static get styles() {
@@ -1415,7 +1415,7 @@ let AuroHelpText$1 = class AuroHelpText extends LitElement {
1415
1415
  *
1416
1416
  */
1417
1417
  static register(name = "auro-helptext") {
1418
- AuroLibraryRuntimeUtils$4.prototype.registerComponent(name, AuroHelpText);
1418
+ AuroLibraryRuntimeUtils$3.prototype.registerComponent(name, AuroHelpText);
1419
1419
  }
1420
1420
 
1421
1421
  updated() {
@@ -1471,9 +1471,9 @@ let AuroHelpText$1 = class AuroHelpText extends LitElement {
1471
1471
  }
1472
1472
  };
1473
1473
 
1474
- var formkitVersion$1 = '202604082129';
1474
+ var formkitVersion$1 = '202604091424';
1475
1475
 
1476
- // Copyright (c) 2026 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
1476
+ // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
1477
1477
  // See LICENSE in the project root for license information.
1478
1478
 
1479
1479
  const keyboardStrategy = {
@@ -1562,7 +1562,7 @@ class AuroCounter extends LitElement {
1562
1562
  /**
1563
1563
  * @private
1564
1564
  */
1565
- this.runtimeUtils = new AuroLibraryRuntimeUtils$5();
1565
+ this.runtimeUtils = new AuroLibraryRuntimeUtils$4();
1566
1566
 
1567
1567
  }
1568
1568
 
@@ -1704,7 +1704,7 @@ class AuroCounter extends LitElement {
1704
1704
  * AuroCounter.register("custom-counter") // registers <custom-counter/>
1705
1705
  */
1706
1706
  static register(name = "auro-counter") {
1707
- AuroLibraryRuntimeUtils$5.prototype.registerComponent(name, AuroCounter);
1707
+ AuroLibraryRuntimeUtils$4.prototype.registerComponent(name, AuroCounter);
1708
1708
  }
1709
1709
 
1710
1710
  static get styles() {
@@ -1942,7 +1942,7 @@ var shapeSizeCss$1 = css`.shape-classic-xl,.shape-classic-lg,.shape-classic-md,.
1942
1942
 
1943
1943
  /* eslint-disable line-comment-position, no-inline-comments, no-confusing-arrow, no-nested-ternary, implicit-arrow-linebreak */
1944
1944
 
1945
- let AuroLibraryRuntimeUtils$2 = class AuroLibraryRuntimeUtils {
1945
+ let AuroLibraryRuntimeUtils$1 = class AuroLibraryRuntimeUtils {
1946
1946
 
1947
1947
  /* eslint-disable jsdoc/require-param */
1948
1948
 
@@ -3731,7 +3731,6 @@ class AuroFloatingUI {
3731
3731
  this.focusHandler = null;
3732
3732
  this.clickHandler = null;
3733
3733
  this.keyDownHandler = null;
3734
- this.touchHandler = null;
3735
3734
 
3736
3735
  /**
3737
3736
  * @private
@@ -4149,28 +4148,6 @@ class AuroFloatingUI {
4149
4148
  setTimeout(() => {
4150
4149
  window.addEventListener("click", this.clickHandler);
4151
4150
  }, 0);
4152
-
4153
- // iOS Safari does not fire `click` on non-interactive elements, so
4154
- // tapping an inert backdrop never reaches the click handler above.
4155
- // Mirror the same outside-tap logic with a passive touchstart listener.
4156
- this.touchHandler = (evt) => {
4157
- const element = this.element;
4158
- if (!element?.bib) {
4159
- return;
4160
- }
4161
-
4162
- // fullscreen (modal) dialog handles its own dismissal
4163
- if (element.bib.hasAttribute("isfullscreen")) {
4164
- return;
4165
- }
4166
-
4167
- const path = evt.composedPath();
4168
- if (!path.includes(element.trigger) && !path.includes(element.bib)) {
4169
- this.hideBib("click");
4170
- }
4171
- };
4172
-
4173
- window.addEventListener("touchstart", this.touchHandler, { passive: true });
4174
4151
  }
4175
4152
 
4176
4153
  cleanupHideHandlers() {
@@ -4186,11 +4163,6 @@ class AuroFloatingUI {
4186
4163
  this.clickHandler = null;
4187
4164
  }
4188
4165
 
4189
- if (this.touchHandler) {
4190
- window.removeEventListener("touchstart", this.touchHandler);
4191
- this.touchHandler = null;
4192
- }
4193
-
4194
4166
  if (this.keyDownHandler) {
4195
4167
  document.removeEventListener("keydown", this.keyDownHandler);
4196
4168
  this.keyDownHandler = null;
@@ -4983,89 +4955,6 @@ let p$2 = class p{registerComponent(t,a){customElements.get(t)||customElements.d
4983
4955
 
4984
4956
  var iconVersion$1 = '9.1.2';
4985
4957
 
4986
- // Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
4987
- // See LICENSE in the project root for license information.
4988
-
4989
- // ---------------------------------------------------------------------
4990
-
4991
- /* eslint-disable line-comment-position, no-inline-comments, no-confusing-arrow, no-nested-ternary, implicit-arrow-linebreak */
4992
-
4993
- let AuroLibraryRuntimeUtils$1 = class AuroLibraryRuntimeUtils {
4994
-
4995
- /* eslint-disable jsdoc/require-param */
4996
-
4997
- /**
4998
- * This will register a new custom element with the browser.
4999
- * @param {String} name - The name of the custom element.
5000
- * @param {Object} componentClass - The class to register as a custom element.
5001
- * @returns {void}
5002
- */
5003
- registerComponent(name, componentClass) {
5004
- if (!customElements.get(name)) {
5005
- customElements.define(name, class extends componentClass {});
5006
- }
5007
- }
5008
-
5009
- /**
5010
- * Finds and returns the closest HTML Element based on a selector.
5011
- * @returns {void}
5012
- */
5013
- closestElement(
5014
- selector, // selector like in .closest()
5015
- base = this, // extra functionality to skip a parent
5016
- __Closest = (el, found = el && el.closest(selector)) =>
5017
- !el || el === document || el === window
5018
- ? null // standard .closest() returns null for non-found selectors also
5019
- : found
5020
- ? found // found a selector INside this element
5021
- : __Closest(el.getRootNode().host) // recursion!! break out to parent DOM
5022
- ) {
5023
- return __Closest(base);
5024
- }
5025
- /* eslint-enable jsdoc/require-param */
5026
-
5027
- /**
5028
- * If the element passed is registered with a different tag name than what is passed in, the tag name is added as an attribute to the element.
5029
- * @param {Object} elem - The element to check.
5030
- * @param {String} tagName - The name of the Auro component to check for or add as an attribute.
5031
- * @returns {void}
5032
- */
5033
- handleComponentTagRename(elem, tagName) {
5034
- const tag = tagName.toLowerCase();
5035
- const elemTag = elem.tagName.toLowerCase();
5036
-
5037
- if (elemTag !== tag) {
5038
- elem.setAttribute(tag, true);
5039
- }
5040
- }
5041
-
5042
- /**
5043
- * Validates if an element is a specific Auro component.
5044
- * @param {Object} elem - The element to validate.
5045
- * @param {String} tagName - The name of the Auro component to check against.
5046
- * @returns {Boolean} - Returns true if the element is the specified Auro component.
5047
- */
5048
- elementMatch(elem, tagName) {
5049
- const tag = tagName.toLowerCase();
5050
- const elemTag = elem.tagName.toLowerCase();
5051
-
5052
- return elemTag === tag || elem.hasAttribute(tag);
5053
- }
5054
-
5055
- /**
5056
- * Gets the text content of a named slot.
5057
- * @returns {String}
5058
- * @private
5059
- */
5060
- getSlotText(elem, name) {
5061
- const slot = elem.shadowRoot?.querySelector(`slot[name="${name}"]`);
5062
- const nodes = slot?.assignedNodes({ flatten: true }) || [];
5063
- const text = nodes.map(n => n.textContent?.trim()).join(' ').trim();
5064
-
5065
- return text || null;
5066
- }
5067
- };
5068
-
5069
4958
  /**
5070
4959
  * Computes display state once per keydown event.
5071
4960
  * Centralizes null-safety checks and makes the shared/modal/popover branching explicit.
@@ -5533,7 +5422,7 @@ var tokensCss = css`:host{--ds-auro-helptext-color: var(--ds-basic-color-textico
5533
5422
 
5534
5423
  /* eslint-disable line-comment-position, no-inline-comments, no-confusing-arrow, no-nested-ternary, implicit-arrow-linebreak */
5535
5424
 
5536
- let AuroLibraryRuntimeUtils$3 = class AuroLibraryRuntimeUtils {
5425
+ let AuroLibraryRuntimeUtils$2 = class AuroLibraryRuntimeUtils {
5537
5426
 
5538
5427
  /* eslint-disable jsdoc/require-param */
5539
5428
 
@@ -5626,7 +5515,7 @@ class AuroHelpText extends LitElement {
5626
5515
  this.onDark = false;
5627
5516
  this.hasTextContent = false;
5628
5517
 
5629
- AuroLibraryRuntimeUtils$3.prototype.handleComponentTagRename(this, 'auro-helptext');
5518
+ AuroLibraryRuntimeUtils$2.prototype.handleComponentTagRename(this, 'auro-helptext');
5630
5519
  }
5631
5520
 
5632
5521
  static get styles() {
@@ -5692,7 +5581,7 @@ class AuroHelpText extends LitElement {
5692
5581
  *
5693
5582
  */
5694
5583
  static register(name = "auro-helptext") {
5695
- AuroLibraryRuntimeUtils$3.prototype.registerComponent(name, AuroHelpText);
5584
+ AuroLibraryRuntimeUtils$2.prototype.registerComponent(name, AuroHelpText);
5696
5585
  }
5697
5586
 
5698
5587
  updated() {
@@ -5748,7 +5637,7 @@ class AuroHelpText extends LitElement {
5748
5637
  }
5749
5638
  }
5750
5639
 
5751
- var formkitVersion = '202604082129';
5640
+ var formkitVersion = '202604091424';
5752
5641
 
5753
5642
  let AuroElement$1 = class AuroElement extends LitElement {
5754
5643
  static get properties() {
@@ -5854,7 +5743,7 @@ let AuroElement$1 = class AuroElement extends LitElement {
5854
5743
  }
5855
5744
  };
5856
5745
 
5857
- // Copyright (c) 2026 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
5746
+ // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
5858
5747
  // See LICENSE in the project root for license information.
5859
5748
 
5860
5749
 
@@ -5959,7 +5848,7 @@ class AuroDropdown extends AuroElement$1 {
5959
5848
  /**
5960
5849
  * @private
5961
5850
  */
5962
- this.runtimeUtils = new AuroLibraryRuntimeUtils$2();
5851
+ this.runtimeUtils = new AuroLibraryRuntimeUtils$1();
5963
5852
 
5964
5853
  /**
5965
5854
  * @private
@@ -6377,7 +6266,7 @@ class AuroDropdown extends AuroElement$1 {
6377
6266
  *
6378
6267
  */
6379
6268
  static register(name = "auro-dropdown") {
6380
- AuroLibraryRuntimeUtils$2.prototype.registerComponent(name, AuroDropdown);
6269
+ AuroLibraryRuntimeUtils$1.prototype.registerComponent(name, AuroDropdown);
6381
6270
  }
6382
6271
 
6383
6272
  /**
@@ -7303,7 +7192,7 @@ class AuroCounterWrapper extends LitElement {
7303
7192
  * AuroCounterWrapper.register("custom-counter-wrapper") // registers <custom-counter-wrapper/>
7304
7193
  */
7305
7194
  static register(name = "auro-counter-wrapper") {
7306
- AuroLibraryRuntimeUtils$5.prototype.registerComponent(name, AuroCounterWrapper);
7195
+ AuroLibraryRuntimeUtils$4.prototype.registerComponent(name, AuroCounterWrapper);
7307
7196
  }
7308
7197
 
7309
7198
  // function that renders the HTML and CSS into the scope of the component
@@ -7422,6 +7311,24 @@ class AuroElement extends LitElement {
7422
7311
  }
7423
7312
  }
7424
7313
 
7314
+ // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
7315
+ // See LICENSE in the project root for license information.
7316
+
7317
+ const counterGroupKeyboardStrategy = {
7318
+ Escape(component, evt) {
7319
+ if (!component.dropdown || !component.dropdown.isPopoverVisible) {
7320
+ return;
7321
+ }
7322
+
7323
+ // Prevent the Escape key from bubbling up and closing any parent dialogs / drawers / popups.
7324
+ // Because stopPropagation prevents the document-level floatingUI keydown handler from
7325
+ // seeing this event, we must also close the dropdown explicitly.
7326
+ evt.stopPropagation();
7327
+
7328
+ component.dropdown.hide();
7329
+ },
7330
+ };
7331
+
7425
7332
  /* eslint-disable lit/no-invalid-html, lit/binding-positions, max-lines, no-underscore-dangle, arrow-parens, no-confusing-arrow, curly, dot-location, no-inline-comments, line-comment-position,
7426
7333
  */
7427
7334
 
@@ -8022,6 +7929,10 @@ class AuroCounterGroup extends AuroElement {
8022
7929
  super.firstUpdated();
8023
7930
  this.updateValue();
8024
7931
  this.updateValueText();
7932
+
7933
+ if (this.isDropdown) {
7934
+ applyKeyboardStrategy$1(this, counterGroupKeyboardStrategy);
7935
+ }
8025
7936
  }
8026
7937
 
8027
7938
  /**
@@ -8031,7 +7942,7 @@ class AuroCounterGroup extends AuroElement {
8031
7942
  * AuroCounterGroup.register("custom-counter-group") // registers <custom-counter-group/>
8032
7943
  */
8033
7944
  static register(name = "auro-counter-group") {
8034
- AuroLibraryRuntimeUtils$5.prototype.registerComponent(name, AuroCounterGroup);
7945
+ AuroLibraryRuntimeUtils$4.prototype.registerComponent(name, AuroCounterGroup);
8035
7946
  }
8036
7947
 
8037
7948
  /**
@@ -76,7 +76,7 @@ let l$1 = class l{generateElementName(t,e){let o=t;return o+="-",o+=e.replace(/[
76
76
 
77
77
  /* eslint-disable line-comment-position, no-inline-comments, no-confusing-arrow, no-nested-ternary, implicit-arrow-linebreak */
78
78
 
79
- let AuroLibraryRuntimeUtils$5 = class AuroLibraryRuntimeUtils {
79
+ let AuroLibraryRuntimeUtils$4 = class AuroLibraryRuntimeUtils {
80
80
 
81
81
  /* eslint-disable jsdoc/require-param */
82
82
 
@@ -152,7 +152,7 @@ let AuroLibraryRuntimeUtils$5 = class AuroLibraryRuntimeUtils {
152
152
  }
153
153
  };
154
154
 
155
- // Copyright (c) 2026 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
155
+ // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
156
156
  // See LICENSE in the project root for license information.
157
157
 
158
158
 
@@ -182,7 +182,7 @@ class AuroCounterButton extends T$1 {
182
182
  *
183
183
  */
184
184
  static register(name = "auro-counter-button") {
185
- AuroLibraryRuntimeUtils$5.prototype.registerComponent(name, AuroCounterButton);
185
+ AuroLibraryRuntimeUtils$4.prototype.registerComponent(name, AuroCounterButton);
186
186
  }
187
187
  }
188
188
 
@@ -674,7 +674,7 @@ const {
674
674
  class AuroFormValidation {
675
675
 
676
676
  constructor() {
677
- this.runtimeUtils = new AuroLibraryRuntimeUtils$5();
677
+ this.runtimeUtils = new AuroLibraryRuntimeUtils$4();
678
678
  }
679
679
 
680
680
  /**
@@ -1256,7 +1256,7 @@ var tokensCss$2 = css`:host{--ds-auro-helptext-color: var(--ds-basic-color-texti
1256
1256
 
1257
1257
  /* eslint-disable line-comment-position, no-inline-comments, no-confusing-arrow, no-nested-ternary, implicit-arrow-linebreak */
1258
1258
 
1259
- let AuroLibraryRuntimeUtils$4 = class AuroLibraryRuntimeUtils {
1259
+ let AuroLibraryRuntimeUtils$3 = class AuroLibraryRuntimeUtils {
1260
1260
 
1261
1261
  /* eslint-disable jsdoc/require-param */
1262
1262
 
@@ -1349,7 +1349,7 @@ let AuroHelpText$1 = class AuroHelpText extends LitElement {
1349
1349
  this.onDark = false;
1350
1350
  this.hasTextContent = false;
1351
1351
 
1352
- AuroLibraryRuntimeUtils$4.prototype.handleComponentTagRename(this, 'auro-helptext');
1352
+ AuroLibraryRuntimeUtils$3.prototype.handleComponentTagRename(this, 'auro-helptext');
1353
1353
  }
1354
1354
 
1355
1355
  static get styles() {
@@ -1415,7 +1415,7 @@ let AuroHelpText$1 = class AuroHelpText extends LitElement {
1415
1415
  *
1416
1416
  */
1417
1417
  static register(name = "auro-helptext") {
1418
- AuroLibraryRuntimeUtils$4.prototype.registerComponent(name, AuroHelpText);
1418
+ AuroLibraryRuntimeUtils$3.prototype.registerComponent(name, AuroHelpText);
1419
1419
  }
1420
1420
 
1421
1421
  updated() {
@@ -1471,9 +1471,9 @@ let AuroHelpText$1 = class AuroHelpText extends LitElement {
1471
1471
  }
1472
1472
  };
1473
1473
 
1474
- var formkitVersion$1 = '202604082129';
1474
+ var formkitVersion$1 = '202604091424';
1475
1475
 
1476
- // Copyright (c) 2026 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
1476
+ // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
1477
1477
  // See LICENSE in the project root for license information.
1478
1478
 
1479
1479
  const keyboardStrategy = {
@@ -1562,7 +1562,7 @@ class AuroCounter extends LitElement {
1562
1562
  /**
1563
1563
  * @private
1564
1564
  */
1565
- this.runtimeUtils = new AuroLibraryRuntimeUtils$5();
1565
+ this.runtimeUtils = new AuroLibraryRuntimeUtils$4();
1566
1566
 
1567
1567
  }
1568
1568
 
@@ -1704,7 +1704,7 @@ class AuroCounter extends LitElement {
1704
1704
  * AuroCounter.register("custom-counter") // registers <custom-counter/>
1705
1705
  */
1706
1706
  static register(name = "auro-counter") {
1707
- AuroLibraryRuntimeUtils$5.prototype.registerComponent(name, AuroCounter);
1707
+ AuroLibraryRuntimeUtils$4.prototype.registerComponent(name, AuroCounter);
1708
1708
  }
1709
1709
 
1710
1710
  static get styles() {
@@ -1942,7 +1942,7 @@ var shapeSizeCss$1 = css`.shape-classic-xl,.shape-classic-lg,.shape-classic-md,.
1942
1942
 
1943
1943
  /* eslint-disable line-comment-position, no-inline-comments, no-confusing-arrow, no-nested-ternary, implicit-arrow-linebreak */
1944
1944
 
1945
- let AuroLibraryRuntimeUtils$2 = class AuroLibraryRuntimeUtils {
1945
+ let AuroLibraryRuntimeUtils$1 = class AuroLibraryRuntimeUtils {
1946
1946
 
1947
1947
  /* eslint-disable jsdoc/require-param */
1948
1948
 
@@ -3731,7 +3731,6 @@ class AuroFloatingUI {
3731
3731
  this.focusHandler = null;
3732
3732
  this.clickHandler = null;
3733
3733
  this.keyDownHandler = null;
3734
- this.touchHandler = null;
3735
3734
 
3736
3735
  /**
3737
3736
  * @private
@@ -4149,28 +4148,6 @@ class AuroFloatingUI {
4149
4148
  setTimeout(() => {
4150
4149
  window.addEventListener("click", this.clickHandler);
4151
4150
  }, 0);
4152
-
4153
- // iOS Safari does not fire `click` on non-interactive elements, so
4154
- // tapping an inert backdrop never reaches the click handler above.
4155
- // Mirror the same outside-tap logic with a passive touchstart listener.
4156
- this.touchHandler = (evt) => {
4157
- const element = this.element;
4158
- if (!element?.bib) {
4159
- return;
4160
- }
4161
-
4162
- // fullscreen (modal) dialog handles its own dismissal
4163
- if (element.bib.hasAttribute("isfullscreen")) {
4164
- return;
4165
- }
4166
-
4167
- const path = evt.composedPath();
4168
- if (!path.includes(element.trigger) && !path.includes(element.bib)) {
4169
- this.hideBib("click");
4170
- }
4171
- };
4172
-
4173
- window.addEventListener("touchstart", this.touchHandler, { passive: true });
4174
4151
  }
4175
4152
 
4176
4153
  cleanupHideHandlers() {
@@ -4186,11 +4163,6 @@ class AuroFloatingUI {
4186
4163
  this.clickHandler = null;
4187
4164
  }
4188
4165
 
4189
- if (this.touchHandler) {
4190
- window.removeEventListener("touchstart", this.touchHandler);
4191
- this.touchHandler = null;
4192
- }
4193
-
4194
4166
  if (this.keyDownHandler) {
4195
4167
  document.removeEventListener("keydown", this.keyDownHandler);
4196
4168
  this.keyDownHandler = null;
@@ -4983,89 +4955,6 @@ let p$2 = class p{registerComponent(t,a){customElements.get(t)||customElements.d
4983
4955
 
4984
4956
  var iconVersion$1 = '9.1.2';
4985
4957
 
4986
- // Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
4987
- // See LICENSE in the project root for license information.
4988
-
4989
- // ---------------------------------------------------------------------
4990
-
4991
- /* eslint-disable line-comment-position, no-inline-comments, no-confusing-arrow, no-nested-ternary, implicit-arrow-linebreak */
4992
-
4993
- let AuroLibraryRuntimeUtils$1 = class AuroLibraryRuntimeUtils {
4994
-
4995
- /* eslint-disable jsdoc/require-param */
4996
-
4997
- /**
4998
- * This will register a new custom element with the browser.
4999
- * @param {String} name - The name of the custom element.
5000
- * @param {Object} componentClass - The class to register as a custom element.
5001
- * @returns {void}
5002
- */
5003
- registerComponent(name, componentClass) {
5004
- if (!customElements.get(name)) {
5005
- customElements.define(name, class extends componentClass {});
5006
- }
5007
- }
5008
-
5009
- /**
5010
- * Finds and returns the closest HTML Element based on a selector.
5011
- * @returns {void}
5012
- */
5013
- closestElement(
5014
- selector, // selector like in .closest()
5015
- base = this, // extra functionality to skip a parent
5016
- __Closest = (el, found = el && el.closest(selector)) =>
5017
- !el || el === document || el === window
5018
- ? null // standard .closest() returns null for non-found selectors also
5019
- : found
5020
- ? found // found a selector INside this element
5021
- : __Closest(el.getRootNode().host) // recursion!! break out to parent DOM
5022
- ) {
5023
- return __Closest(base);
5024
- }
5025
- /* eslint-enable jsdoc/require-param */
5026
-
5027
- /**
5028
- * If the element passed is registered with a different tag name than what is passed in, the tag name is added as an attribute to the element.
5029
- * @param {Object} elem - The element to check.
5030
- * @param {String} tagName - The name of the Auro component to check for or add as an attribute.
5031
- * @returns {void}
5032
- */
5033
- handleComponentTagRename(elem, tagName) {
5034
- const tag = tagName.toLowerCase();
5035
- const elemTag = elem.tagName.toLowerCase();
5036
-
5037
- if (elemTag !== tag) {
5038
- elem.setAttribute(tag, true);
5039
- }
5040
- }
5041
-
5042
- /**
5043
- * Validates if an element is a specific Auro component.
5044
- * @param {Object} elem - The element to validate.
5045
- * @param {String} tagName - The name of the Auro component to check against.
5046
- * @returns {Boolean} - Returns true if the element is the specified Auro component.
5047
- */
5048
- elementMatch(elem, tagName) {
5049
- const tag = tagName.toLowerCase();
5050
- const elemTag = elem.tagName.toLowerCase();
5051
-
5052
- return elemTag === tag || elem.hasAttribute(tag);
5053
- }
5054
-
5055
- /**
5056
- * Gets the text content of a named slot.
5057
- * @returns {String}
5058
- * @private
5059
- */
5060
- getSlotText(elem, name) {
5061
- const slot = elem.shadowRoot?.querySelector(`slot[name="${name}"]`);
5062
- const nodes = slot?.assignedNodes({ flatten: true }) || [];
5063
- const text = nodes.map(n => n.textContent?.trim()).join(' ').trim();
5064
-
5065
- return text || null;
5066
- }
5067
- };
5068
-
5069
4958
  /**
5070
4959
  * Computes display state once per keydown event.
5071
4960
  * Centralizes null-safety checks and makes the shared/modal/popover branching explicit.
@@ -5533,7 +5422,7 @@ var tokensCss = css`:host{--ds-auro-helptext-color: var(--ds-basic-color-textico
5533
5422
 
5534
5423
  /* eslint-disable line-comment-position, no-inline-comments, no-confusing-arrow, no-nested-ternary, implicit-arrow-linebreak */
5535
5424
 
5536
- let AuroLibraryRuntimeUtils$3 = class AuroLibraryRuntimeUtils {
5425
+ let AuroLibraryRuntimeUtils$2 = class AuroLibraryRuntimeUtils {
5537
5426
 
5538
5427
  /* eslint-disable jsdoc/require-param */
5539
5428
 
@@ -5626,7 +5515,7 @@ class AuroHelpText extends LitElement {
5626
5515
  this.onDark = false;
5627
5516
  this.hasTextContent = false;
5628
5517
 
5629
- AuroLibraryRuntimeUtils$3.prototype.handleComponentTagRename(this, 'auro-helptext');
5518
+ AuroLibraryRuntimeUtils$2.prototype.handleComponentTagRename(this, 'auro-helptext');
5630
5519
  }
5631
5520
 
5632
5521
  static get styles() {
@@ -5692,7 +5581,7 @@ class AuroHelpText extends LitElement {
5692
5581
  *
5693
5582
  */
5694
5583
  static register(name = "auro-helptext") {
5695
- AuroLibraryRuntimeUtils$3.prototype.registerComponent(name, AuroHelpText);
5584
+ AuroLibraryRuntimeUtils$2.prototype.registerComponent(name, AuroHelpText);
5696
5585
  }
5697
5586
 
5698
5587
  updated() {
@@ -5748,7 +5637,7 @@ class AuroHelpText extends LitElement {
5748
5637
  }
5749
5638
  }
5750
5639
 
5751
- var formkitVersion = '202604082129';
5640
+ var formkitVersion = '202604091424';
5752
5641
 
5753
5642
  let AuroElement$1 = class AuroElement extends LitElement {
5754
5643
  static get properties() {
@@ -5854,7 +5743,7 @@ let AuroElement$1 = class AuroElement extends LitElement {
5854
5743
  }
5855
5744
  };
5856
5745
 
5857
- // Copyright (c) 2026 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
5746
+ // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
5858
5747
  // See LICENSE in the project root for license information.
5859
5748
 
5860
5749
 
@@ -5959,7 +5848,7 @@ class AuroDropdown extends AuroElement$1 {
5959
5848
  /**
5960
5849
  * @private
5961
5850
  */
5962
- this.runtimeUtils = new AuroLibraryRuntimeUtils$2();
5851
+ this.runtimeUtils = new AuroLibraryRuntimeUtils$1();
5963
5852
 
5964
5853
  /**
5965
5854
  * @private
@@ -6377,7 +6266,7 @@ class AuroDropdown extends AuroElement$1 {
6377
6266
  *
6378
6267
  */
6379
6268
  static register(name = "auro-dropdown") {
6380
- AuroLibraryRuntimeUtils$2.prototype.registerComponent(name, AuroDropdown);
6269
+ AuroLibraryRuntimeUtils$1.prototype.registerComponent(name, AuroDropdown);
6381
6270
  }
6382
6271
 
6383
6272
  /**
@@ -7303,7 +7192,7 @@ class AuroCounterWrapper extends LitElement {
7303
7192
  * AuroCounterWrapper.register("custom-counter-wrapper") // registers <custom-counter-wrapper/>
7304
7193
  */
7305
7194
  static register(name = "auro-counter-wrapper") {
7306
- AuroLibraryRuntimeUtils$5.prototype.registerComponent(name, AuroCounterWrapper);
7195
+ AuroLibraryRuntimeUtils$4.prototype.registerComponent(name, AuroCounterWrapper);
7307
7196
  }
7308
7197
 
7309
7198
  // function that renders the HTML and CSS into the scope of the component
@@ -7422,6 +7311,24 @@ class AuroElement extends LitElement {
7422
7311
  }
7423
7312
  }
7424
7313
 
7314
+ // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
7315
+ // See LICENSE in the project root for license information.
7316
+
7317
+ const counterGroupKeyboardStrategy = {
7318
+ Escape(component, evt) {
7319
+ if (!component.dropdown || !component.dropdown.isPopoverVisible) {
7320
+ return;
7321
+ }
7322
+
7323
+ // Prevent the Escape key from bubbling up and closing any parent dialogs / drawers / popups.
7324
+ // Because stopPropagation prevents the document-level floatingUI keydown handler from
7325
+ // seeing this event, we must also close the dropdown explicitly.
7326
+ evt.stopPropagation();
7327
+
7328
+ component.dropdown.hide();
7329
+ },
7330
+ };
7331
+
7425
7332
  /* eslint-disable lit/no-invalid-html, lit/binding-positions, max-lines, no-underscore-dangle, arrow-parens, no-confusing-arrow, curly, dot-location, no-inline-comments, line-comment-position,
7426
7333
  */
7427
7334
 
@@ -8022,6 +7929,10 @@ class AuroCounterGroup extends AuroElement {
8022
7929
  super.firstUpdated();
8023
7930
  this.updateValue();
8024
7931
  this.updateValueText();
7932
+
7933
+ if (this.isDropdown) {
7934
+ applyKeyboardStrategy$1(this, counterGroupKeyboardStrategy);
7935
+ }
8025
7936
  }
8026
7937
 
8027
7938
  /**
@@ -8031,7 +7942,7 @@ class AuroCounterGroup extends AuroElement {
8031
7942
  * AuroCounterGroup.register("custom-counter-group") // registers <custom-counter-group/>
8032
7943
  */
8033
7944
  static register(name = "auro-counter-group") {
8034
- AuroLibraryRuntimeUtils$5.prototype.registerComponent(name, AuroCounterGroup);
7945
+ AuroLibraryRuntimeUtils$4.prototype.registerComponent(name, AuroCounterGroup);
8035
7946
  }
8036
7947
 
8037
7948
  /**