@aurodesignsystem-dev/auro-formkit 0.0.0-pr1429.0 → 0.0.0-pr1430.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 +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.html +0 -1
  6. package/components/combobox/demo/api.js +1 -3
  7. package/components/combobox/demo/api.md +0 -75
  8. package/components/combobox/demo/api.min.js +120 -30
  9. package/components/combobox/demo/index.min.js +119 -17
  10. package/components/combobox/dist/comboboxKeyboardStrategy.d.ts +1 -1
  11. package/components/combobox/dist/index.js +119 -17
  12. package/components/combobox/dist/registered.js +119 -17
  13. package/components/counter/demo/api.html +0 -3
  14. package/components/counter/demo/api.js +0 -4
  15. package/components/counter/demo/api.md +0 -130
  16. package/components/counter/demo/api.min.js +129 -58
  17. package/components/counter/demo/index.min.js +129 -38
  18. package/components/counter/dist/index.js +129 -38
  19. package/components/counter/dist/registered.js +129 -38
  20. package/components/datepicker/demo/api.html +0 -1
  21. package/components/datepicker/demo/api.js +0 -2
  22. package/components/datepicker/demo/api.md +0 -55
  23. package/components/datepicker/demo/api.min.js +121 -102
  24. package/components/datepicker/demo/index.min.js +121 -90
  25. package/components/datepicker/dist/datepickerKeyboardStrategy.d.ts +1 -3
  26. package/components/datepicker/dist/index.js +121 -90
  27. package/components/datepicker/dist/registered.js +121 -90
  28. package/components/dropdown/demo/api.html +0 -1
  29. package/components/dropdown/demo/api.js +0 -2
  30. package/components/dropdown/demo/api.md +0 -95
  31. package/components/dropdown/demo/api.min.js +115 -24
  32. package/components/dropdown/demo/index.min.js +115 -4
  33. package/components/dropdown/dist/index.js +115 -4
  34. package/components/dropdown/dist/registered.js +115 -4
  35. package/components/form/demo/api.min.js +533 -201
  36. package/components/form/demo/index.min.js +533 -201
  37. package/components/input/demo/api.min.js +1 -1
  38. package/components/input/demo/index.min.js +1 -1
  39. package/components/input/dist/index.js +1 -1
  40. package/components/input/dist/registered.js +1 -1
  41. package/components/radio/demo/api.min.js +1 -1
  42. package/components/radio/demo/index.min.js +1 -1
  43. package/components/radio/dist/index.js +1 -1
  44. package/components/radio/dist/registered.js +1 -1
  45. package/components/select/demo/api.html +0 -1
  46. package/components/select/demo/api.js +0 -2
  47. package/components/select/demo/api.md +0 -79
  48. package/components/select/demo/api.min.js +127 -35
  49. package/components/select/demo/index.min.js +127 -19
  50. package/components/select/dist/index.js +123 -15
  51. package/components/select/dist/registered.js +123 -15
  52. package/custom-elements.json +3 -27
  53. package/package.json +2 -3
  54. package/components/counter/dist/counterGroupKeyboardStrategy.d.ts +0 -3
@@ -120,7 +120,7 @@ let l$1 = class l{generateElementName(t,e){let o=t;return o+="-",o+=e.replace(/[
120
120
 
121
121
  /* eslint-disable line-comment-position, no-inline-comments, no-confusing-arrow, no-nested-ternary, implicit-arrow-linebreak */
122
122
 
123
- let AuroLibraryRuntimeUtils$4 = class AuroLibraryRuntimeUtils {
123
+ let AuroLibraryRuntimeUtils$5 = class AuroLibraryRuntimeUtils {
124
124
 
125
125
  /* eslint-disable jsdoc/require-param */
126
126
 
@@ -226,7 +226,7 @@ class AuroCounterButton extends T$1 {
226
226
  *
227
227
  */
228
228
  static register(name = "auro-counter-button") {
229
- AuroLibraryRuntimeUtils$4.prototype.registerComponent(name, AuroCounterButton);
229
+ AuroLibraryRuntimeUtils$5.prototype.registerComponent(name, AuroCounterButton);
230
230
  }
231
231
  }
232
232
 
@@ -718,7 +718,7 @@ const {
718
718
  class AuroFormValidation {
719
719
 
720
720
  constructor() {
721
- this.runtimeUtils = new AuroLibraryRuntimeUtils$4();
721
+ this.runtimeUtils = new AuroLibraryRuntimeUtils$5();
722
722
  }
723
723
 
724
724
  /**
@@ -1306,7 +1306,7 @@ var tokensCss$2 = i$5`:host{--ds-auro-helptext-color: var(--ds-basic-color-texti
1306
1306
 
1307
1307
  /* eslint-disable line-comment-position, no-inline-comments, no-confusing-arrow, no-nested-ternary, implicit-arrow-linebreak */
1308
1308
 
1309
- let AuroLibraryRuntimeUtils$3 = class AuroLibraryRuntimeUtils {
1309
+ let AuroLibraryRuntimeUtils$4 = class AuroLibraryRuntimeUtils {
1310
1310
 
1311
1311
  /* eslint-disable jsdoc/require-param */
1312
1312
 
@@ -1399,7 +1399,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$2 {
1399
1399
  this.onDark = false;
1400
1400
  this.hasTextContent = false;
1401
1401
 
1402
- AuroLibraryRuntimeUtils$3.prototype.handleComponentTagRename(this, 'auro-helptext');
1402
+ AuroLibraryRuntimeUtils$4.prototype.handleComponentTagRename(this, 'auro-helptext');
1403
1403
  }
1404
1404
 
1405
1405
  static get styles() {
@@ -1465,7 +1465,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$2 {
1465
1465
  *
1466
1466
  */
1467
1467
  static register(name = "auro-helptext") {
1468
- AuroLibraryRuntimeUtils$3.prototype.registerComponent(name, AuroHelpText);
1468
+ AuroLibraryRuntimeUtils$4.prototype.registerComponent(name, AuroHelpText);
1469
1469
  }
1470
1470
 
1471
1471
  updated() {
@@ -1521,7 +1521,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$2 {
1521
1521
  }
1522
1522
  };
1523
1523
 
1524
- var formkitVersion$1 = '202604081917';
1524
+ var formkitVersion$1 = '202604082129';
1525
1525
 
1526
1526
  // Copyright (c) 2026 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
1527
1527
  // See LICENSE in the project root for license information.
@@ -1612,7 +1612,7 @@ class AuroCounter extends i$2 {
1612
1612
  /**
1613
1613
  * @private
1614
1614
  */
1615
- this.runtimeUtils = new AuroLibraryRuntimeUtils$4();
1615
+ this.runtimeUtils = new AuroLibraryRuntimeUtils$5();
1616
1616
 
1617
1617
  }
1618
1618
 
@@ -1754,7 +1754,7 @@ class AuroCounter extends i$2 {
1754
1754
  * AuroCounter.register("custom-counter") // registers <custom-counter/>
1755
1755
  */
1756
1756
  static register(name = "auro-counter") {
1757
- AuroLibraryRuntimeUtils$4.prototype.registerComponent(name, AuroCounter);
1757
+ AuroLibraryRuntimeUtils$5.prototype.registerComponent(name, AuroCounter);
1758
1758
  }
1759
1759
 
1760
1760
  static get styles() {
@@ -2010,7 +2010,7 @@ var shapeSizeCss$1 = i$5`.shape-classic-xl,.shape-classic-lg,.shape-classic-md,.
2010
2010
 
2011
2011
  /* eslint-disable line-comment-position, no-inline-comments, no-confusing-arrow, no-nested-ternary, implicit-arrow-linebreak */
2012
2012
 
2013
- let AuroLibraryRuntimeUtils$1 = class AuroLibraryRuntimeUtils {
2013
+ let AuroLibraryRuntimeUtils$2 = class AuroLibraryRuntimeUtils {
2014
2014
 
2015
2015
  /* eslint-disable jsdoc/require-param */
2016
2016
 
@@ -3799,6 +3799,7 @@ class AuroFloatingUI {
3799
3799
  this.focusHandler = null;
3800
3800
  this.clickHandler = null;
3801
3801
  this.keyDownHandler = null;
3802
+ this.touchHandler = null;
3802
3803
 
3803
3804
  /**
3804
3805
  * @private
@@ -4216,6 +4217,28 @@ class AuroFloatingUI {
4216
4217
  setTimeout(() => {
4217
4218
  window.addEventListener("click", this.clickHandler);
4218
4219
  }, 0);
4220
+
4221
+ // iOS Safari does not fire `click` on non-interactive elements, so
4222
+ // tapping an inert backdrop never reaches the click handler above.
4223
+ // Mirror the same outside-tap logic with a passive touchstart listener.
4224
+ this.touchHandler = (evt) => {
4225
+ const element = this.element;
4226
+ if (!element?.bib) {
4227
+ return;
4228
+ }
4229
+
4230
+ // fullscreen (modal) dialog handles its own dismissal
4231
+ if (element.bib.hasAttribute("isfullscreen")) {
4232
+ return;
4233
+ }
4234
+
4235
+ const path = evt.composedPath();
4236
+ if (!path.includes(element.trigger) && !path.includes(element.bib)) {
4237
+ this.hideBib("click");
4238
+ }
4239
+ };
4240
+
4241
+ window.addEventListener("touchstart", this.touchHandler, { passive: true });
4219
4242
  }
4220
4243
 
4221
4244
  cleanupHideHandlers() {
@@ -4231,6 +4254,11 @@ class AuroFloatingUI {
4231
4254
  this.clickHandler = null;
4232
4255
  }
4233
4256
 
4257
+ if (this.touchHandler) {
4258
+ window.removeEventListener("touchstart", this.touchHandler);
4259
+ this.touchHandler = null;
4260
+ }
4261
+
4234
4262
  if (this.keyDownHandler) {
4235
4263
  document.removeEventListener("keydown", this.keyDownHandler);
4236
4264
  this.keyDownHandler = null;
@@ -5023,6 +5051,89 @@ let p$2 = class p{registerComponent(t,a){customElements.get(t)||customElements.d
5023
5051
 
5024
5052
  var iconVersion$1 = '9.1.2';
5025
5053
 
5054
+ // Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
5055
+ // See LICENSE in the project root for license information.
5056
+
5057
+ // ---------------------------------------------------------------------
5058
+
5059
+ /* eslint-disable line-comment-position, no-inline-comments, no-confusing-arrow, no-nested-ternary, implicit-arrow-linebreak */
5060
+
5061
+ let AuroLibraryRuntimeUtils$1 = class AuroLibraryRuntimeUtils {
5062
+
5063
+ /* eslint-disable jsdoc/require-param */
5064
+
5065
+ /**
5066
+ * This will register a new custom element with the browser.
5067
+ * @param {String} name - The name of the custom element.
5068
+ * @param {Object} componentClass - The class to register as a custom element.
5069
+ * @returns {void}
5070
+ */
5071
+ registerComponent(name, componentClass) {
5072
+ if (!customElements.get(name)) {
5073
+ customElements.define(name, class extends componentClass {});
5074
+ }
5075
+ }
5076
+
5077
+ /**
5078
+ * Finds and returns the closest HTML Element based on a selector.
5079
+ * @returns {void}
5080
+ */
5081
+ closestElement(
5082
+ selector, // selector like in .closest()
5083
+ base = this, // extra functionality to skip a parent
5084
+ __Closest = (el, found = el && el.closest(selector)) =>
5085
+ !el || el === document || el === window
5086
+ ? null // standard .closest() returns null for non-found selectors also
5087
+ : found
5088
+ ? found // found a selector INside this element
5089
+ : __Closest(el.getRootNode().host) // recursion!! break out to parent DOM
5090
+ ) {
5091
+ return __Closest(base);
5092
+ }
5093
+ /* eslint-enable jsdoc/require-param */
5094
+
5095
+ /**
5096
+ * 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.
5097
+ * @param {Object} elem - The element to check.
5098
+ * @param {String} tagName - The name of the Auro component to check for or add as an attribute.
5099
+ * @returns {void}
5100
+ */
5101
+ handleComponentTagRename(elem, tagName) {
5102
+ const tag = tagName.toLowerCase();
5103
+ const elemTag = elem.tagName.toLowerCase();
5104
+
5105
+ if (elemTag !== tag) {
5106
+ elem.setAttribute(tag, true);
5107
+ }
5108
+ }
5109
+
5110
+ /**
5111
+ * Validates if an element is a specific Auro component.
5112
+ * @param {Object} elem - The element to validate.
5113
+ * @param {String} tagName - The name of the Auro component to check against.
5114
+ * @returns {Boolean} - Returns true if the element is the specified Auro component.
5115
+ */
5116
+ elementMatch(elem, tagName) {
5117
+ const tag = tagName.toLowerCase();
5118
+ const elemTag = elem.tagName.toLowerCase();
5119
+
5120
+ return elemTag === tag || elem.hasAttribute(tag);
5121
+ }
5122
+
5123
+ /**
5124
+ * Gets the text content of a named slot.
5125
+ * @returns {String}
5126
+ * @private
5127
+ */
5128
+ getSlotText(elem, name) {
5129
+ const slot = elem.shadowRoot?.querySelector(`slot[name="${name}"]`);
5130
+ const nodes = slot?.assignedNodes({ flatten: true }) || [];
5131
+ const text = nodes.map(n => n.textContent?.trim()).join(' ').trim();
5132
+
5133
+ return text || null;
5134
+ }
5135
+ };
5136
+
5026
5137
  /**
5027
5138
  * Computes display state once per keydown event.
5028
5139
  * Centralizes null-safety checks and makes the shared/modal/popover branching explicit.
@@ -5490,7 +5601,7 @@ var tokensCss = i$5`:host{--ds-auro-helptext-color: var(--ds-basic-color-textico
5490
5601
 
5491
5602
  /* eslint-disable line-comment-position, no-inline-comments, no-confusing-arrow, no-nested-ternary, implicit-arrow-linebreak */
5492
5603
 
5493
- let AuroLibraryRuntimeUtils$2 = class AuroLibraryRuntimeUtils {
5604
+ let AuroLibraryRuntimeUtils$3 = class AuroLibraryRuntimeUtils {
5494
5605
 
5495
5606
  /* eslint-disable jsdoc/require-param */
5496
5607
 
@@ -5583,7 +5694,7 @@ class AuroHelpText extends i$2 {
5583
5694
  this.onDark = false;
5584
5695
  this.hasTextContent = false;
5585
5696
 
5586
- AuroLibraryRuntimeUtils$2.prototype.handleComponentTagRename(this, 'auro-helptext');
5697
+ AuroLibraryRuntimeUtils$3.prototype.handleComponentTagRename(this, 'auro-helptext');
5587
5698
  }
5588
5699
 
5589
5700
  static get styles() {
@@ -5649,7 +5760,7 @@ class AuroHelpText extends i$2 {
5649
5760
  *
5650
5761
  */
5651
5762
  static register(name = "auro-helptext") {
5652
- AuroLibraryRuntimeUtils$2.prototype.registerComponent(name, AuroHelpText);
5763
+ AuroLibraryRuntimeUtils$3.prototype.registerComponent(name, AuroHelpText);
5653
5764
  }
5654
5765
 
5655
5766
  updated() {
@@ -5705,7 +5816,7 @@ class AuroHelpText extends i$2 {
5705
5816
  }
5706
5817
  }
5707
5818
 
5708
- var formkitVersion = '202604081917';
5819
+ var formkitVersion = '202604082129';
5709
5820
 
5710
5821
  let AuroElement$1 = class AuroElement extends i$2 {
5711
5822
  static get properties() {
@@ -5916,7 +6027,7 @@ class AuroDropdown extends AuroElement$1 {
5916
6027
  /**
5917
6028
  * @private
5918
6029
  */
5919
- this.runtimeUtils = new AuroLibraryRuntimeUtils$1();
6030
+ this.runtimeUtils = new AuroLibraryRuntimeUtils$2();
5920
6031
 
5921
6032
  /**
5922
6033
  * @private
@@ -6334,7 +6445,7 @@ class AuroDropdown extends AuroElement$1 {
6334
6445
  *
6335
6446
  */
6336
6447
  static register(name = "auro-dropdown") {
6337
- AuroLibraryRuntimeUtils$1.prototype.registerComponent(name, AuroDropdown);
6448
+ AuroLibraryRuntimeUtils$2.prototype.registerComponent(name, AuroDropdown);
6338
6449
  }
6339
6450
 
6340
6451
  /**
@@ -7260,7 +7371,7 @@ class AuroCounterWrapper extends i$2 {
7260
7371
  * AuroCounterWrapper.register("custom-counter-wrapper") // registers <custom-counter-wrapper/>
7261
7372
  */
7262
7373
  static register(name = "auro-counter-wrapper") {
7263
- AuroLibraryRuntimeUtils$4.prototype.registerComponent(name, AuroCounterWrapper);
7374
+ AuroLibraryRuntimeUtils$5.prototype.registerComponent(name, AuroCounterWrapper);
7264
7375
  }
7265
7376
 
7266
7377
  // function that renders the HTML and CSS into the scope of the component
@@ -7379,22 +7490,6 @@ class AuroElement extends i$2 {
7379
7490
  }
7380
7491
  }
7381
7492
 
7382
- // Copyright (c) 2026 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
7383
- // See LICENSE in the project root for license information.
7384
-
7385
- const counterGroupKeyboardStrategy = {
7386
- Escape(component, evt) {
7387
- // Prevent the Escape key from bubbling up and closing any parent dialogs / drawers / popups.
7388
- // Because stopPropagation prevents the document-level floatingUI keydown handler from
7389
- // seeing this event, we must also close the dropdown explicitly.
7390
- evt.stopPropagation();
7391
-
7392
- if (component.dropdown && component.dropdown.isPopoverVisible) {
7393
- component.dropdown.hide();
7394
- }
7395
- },
7396
- };
7397
-
7398
7493
  /* 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,
7399
7494
  */
7400
7495
 
@@ -7995,10 +8090,6 @@ class AuroCounterGroup extends AuroElement {
7995
8090
  super.firstUpdated();
7996
8091
  this.updateValue();
7997
8092
  this.updateValueText();
7998
-
7999
- if (this.isDropdown) {
8000
- applyKeyboardStrategy$1(this, counterGroupKeyboardStrategy);
8001
- }
8002
8093
  }
8003
8094
 
8004
8095
  /**
@@ -8008,7 +8099,7 @@ class AuroCounterGroup extends AuroElement {
8008
8099
  * AuroCounterGroup.register("custom-counter-group") // registers <custom-counter-group/>
8009
8100
  */
8010
8101
  static register(name = "auro-counter-group") {
8011
- AuroLibraryRuntimeUtils$4.prototype.registerComponent(name, AuroCounterGroup);
8102
+ AuroLibraryRuntimeUtils$5.prototype.registerComponent(name, AuroCounterGroup);
8012
8103
  }
8013
8104
 
8014
8105
  /**
@@ -8236,24 +8327,6 @@ function eventCounterExample() {
8236
8327
  });
8237
8328
  }
8238
8329
 
8239
- function inDialogExample() {
8240
- document.querySelector("#counter-dialog-opener").addEventListener("click", () => {
8241
- const dialog = document.querySelector("#counter-dialog");
8242
- dialog.open = true;
8243
- });
8244
- }
8245
-
8246
- function inDrawerExample() {
8247
- document.querySelector("#counter-drawer-opener").addEventListener("click", () => {
8248
- const drawer = document.querySelector("#counter-drawer");
8249
- if (drawer.hasAttribute('open')) {
8250
- drawer.removeAttribute('open');
8251
- } else {
8252
- drawer.setAttribute('open', true);
8253
- }
8254
- });
8255
- }
8256
-
8257
8330
  /* eslint-disable jsdoc/require-jsdoc, no-magic-numbers */
8258
8331
 
8259
8332
  function initExamples(initialCount = 0) {
@@ -8261,8 +8334,6 @@ function initExamples(initialCount = 0) {
8261
8334
  // javascript example function calls to be added here upon creation to test examples
8262
8335
  // dropdownCounterExample();
8263
8336
  eventCounterExample();
8264
- inDialogExample();
8265
- inDrawerExample();
8266
8337
 
8267
8338
  } catch (err) {
8268
8339
  if (initialCount <= 20) {
@@ -120,7 +120,7 @@ let l$1 = class l{generateElementName(t,e){let o=t;return o+="-",o+=e.replace(/[
120
120
 
121
121
  /* eslint-disable line-comment-position, no-inline-comments, no-confusing-arrow, no-nested-ternary, implicit-arrow-linebreak */
122
122
 
123
- let AuroLibraryRuntimeUtils$4 = class AuroLibraryRuntimeUtils {
123
+ let AuroLibraryRuntimeUtils$5 = class AuroLibraryRuntimeUtils {
124
124
 
125
125
  /* eslint-disable jsdoc/require-param */
126
126
 
@@ -226,7 +226,7 @@ class AuroCounterButton extends T$1 {
226
226
  *
227
227
  */
228
228
  static register(name = "auro-counter-button") {
229
- AuroLibraryRuntimeUtils$4.prototype.registerComponent(name, AuroCounterButton);
229
+ AuroLibraryRuntimeUtils$5.prototype.registerComponent(name, AuroCounterButton);
230
230
  }
231
231
  }
232
232
 
@@ -718,7 +718,7 @@ const {
718
718
  class AuroFormValidation {
719
719
 
720
720
  constructor() {
721
- this.runtimeUtils = new AuroLibraryRuntimeUtils$4();
721
+ this.runtimeUtils = new AuroLibraryRuntimeUtils$5();
722
722
  }
723
723
 
724
724
  /**
@@ -1306,7 +1306,7 @@ var tokensCss$2 = i$5`:host{--ds-auro-helptext-color: var(--ds-basic-color-texti
1306
1306
 
1307
1307
  /* eslint-disable line-comment-position, no-inline-comments, no-confusing-arrow, no-nested-ternary, implicit-arrow-linebreak */
1308
1308
 
1309
- let AuroLibraryRuntimeUtils$3 = class AuroLibraryRuntimeUtils {
1309
+ let AuroLibraryRuntimeUtils$4 = class AuroLibraryRuntimeUtils {
1310
1310
 
1311
1311
  /* eslint-disable jsdoc/require-param */
1312
1312
 
@@ -1399,7 +1399,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$2 {
1399
1399
  this.onDark = false;
1400
1400
  this.hasTextContent = false;
1401
1401
 
1402
- AuroLibraryRuntimeUtils$3.prototype.handleComponentTagRename(this, 'auro-helptext');
1402
+ AuroLibraryRuntimeUtils$4.prototype.handleComponentTagRename(this, 'auro-helptext');
1403
1403
  }
1404
1404
 
1405
1405
  static get styles() {
@@ -1465,7 +1465,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$2 {
1465
1465
  *
1466
1466
  */
1467
1467
  static register(name = "auro-helptext") {
1468
- AuroLibraryRuntimeUtils$3.prototype.registerComponent(name, AuroHelpText);
1468
+ AuroLibraryRuntimeUtils$4.prototype.registerComponent(name, AuroHelpText);
1469
1469
  }
1470
1470
 
1471
1471
  updated() {
@@ -1521,7 +1521,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$2 {
1521
1521
  }
1522
1522
  };
1523
1523
 
1524
- var formkitVersion$1 = '202604081917';
1524
+ var formkitVersion$1 = '202604082129';
1525
1525
 
1526
1526
  // Copyright (c) 2026 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
1527
1527
  // See LICENSE in the project root for license information.
@@ -1612,7 +1612,7 @@ class AuroCounter extends i$2 {
1612
1612
  /**
1613
1613
  * @private
1614
1614
  */
1615
- this.runtimeUtils = new AuroLibraryRuntimeUtils$4();
1615
+ this.runtimeUtils = new AuroLibraryRuntimeUtils$5();
1616
1616
 
1617
1617
  }
1618
1618
 
@@ -1754,7 +1754,7 @@ class AuroCounter extends i$2 {
1754
1754
  * AuroCounter.register("custom-counter") // registers <custom-counter/>
1755
1755
  */
1756
1756
  static register(name = "auro-counter") {
1757
- AuroLibraryRuntimeUtils$4.prototype.registerComponent(name, AuroCounter);
1757
+ AuroLibraryRuntimeUtils$5.prototype.registerComponent(name, AuroCounter);
1758
1758
  }
1759
1759
 
1760
1760
  static get styles() {
@@ -2010,7 +2010,7 @@ var shapeSizeCss$1 = i$5`.shape-classic-xl,.shape-classic-lg,.shape-classic-md,.
2010
2010
 
2011
2011
  /* eslint-disable line-comment-position, no-inline-comments, no-confusing-arrow, no-nested-ternary, implicit-arrow-linebreak */
2012
2012
 
2013
- let AuroLibraryRuntimeUtils$1 = class AuroLibraryRuntimeUtils {
2013
+ let AuroLibraryRuntimeUtils$2 = class AuroLibraryRuntimeUtils {
2014
2014
 
2015
2015
  /* eslint-disable jsdoc/require-param */
2016
2016
 
@@ -3799,6 +3799,7 @@ class AuroFloatingUI {
3799
3799
  this.focusHandler = null;
3800
3800
  this.clickHandler = null;
3801
3801
  this.keyDownHandler = null;
3802
+ this.touchHandler = null;
3802
3803
 
3803
3804
  /**
3804
3805
  * @private
@@ -4216,6 +4217,28 @@ class AuroFloatingUI {
4216
4217
  setTimeout(() => {
4217
4218
  window.addEventListener("click", this.clickHandler);
4218
4219
  }, 0);
4220
+
4221
+ // iOS Safari does not fire `click` on non-interactive elements, so
4222
+ // tapping an inert backdrop never reaches the click handler above.
4223
+ // Mirror the same outside-tap logic with a passive touchstart listener.
4224
+ this.touchHandler = (evt) => {
4225
+ const element = this.element;
4226
+ if (!element?.bib) {
4227
+ return;
4228
+ }
4229
+
4230
+ // fullscreen (modal) dialog handles its own dismissal
4231
+ if (element.bib.hasAttribute("isfullscreen")) {
4232
+ return;
4233
+ }
4234
+
4235
+ const path = evt.composedPath();
4236
+ if (!path.includes(element.trigger) && !path.includes(element.bib)) {
4237
+ this.hideBib("click");
4238
+ }
4239
+ };
4240
+
4241
+ window.addEventListener("touchstart", this.touchHandler, { passive: true });
4219
4242
  }
4220
4243
 
4221
4244
  cleanupHideHandlers() {
@@ -4231,6 +4254,11 @@ class AuroFloatingUI {
4231
4254
  this.clickHandler = null;
4232
4255
  }
4233
4256
 
4257
+ if (this.touchHandler) {
4258
+ window.removeEventListener("touchstart", this.touchHandler);
4259
+ this.touchHandler = null;
4260
+ }
4261
+
4234
4262
  if (this.keyDownHandler) {
4235
4263
  document.removeEventListener("keydown", this.keyDownHandler);
4236
4264
  this.keyDownHandler = null;
@@ -5023,6 +5051,89 @@ let p$2 = class p{registerComponent(t,a){customElements.get(t)||customElements.d
5023
5051
 
5024
5052
  var iconVersion$1 = '9.1.2';
5025
5053
 
5054
+ // Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
5055
+ // See LICENSE in the project root for license information.
5056
+
5057
+ // ---------------------------------------------------------------------
5058
+
5059
+ /* eslint-disable line-comment-position, no-inline-comments, no-confusing-arrow, no-nested-ternary, implicit-arrow-linebreak */
5060
+
5061
+ let AuroLibraryRuntimeUtils$1 = class AuroLibraryRuntimeUtils {
5062
+
5063
+ /* eslint-disable jsdoc/require-param */
5064
+
5065
+ /**
5066
+ * This will register a new custom element with the browser.
5067
+ * @param {String} name - The name of the custom element.
5068
+ * @param {Object} componentClass - The class to register as a custom element.
5069
+ * @returns {void}
5070
+ */
5071
+ registerComponent(name, componentClass) {
5072
+ if (!customElements.get(name)) {
5073
+ customElements.define(name, class extends componentClass {});
5074
+ }
5075
+ }
5076
+
5077
+ /**
5078
+ * Finds and returns the closest HTML Element based on a selector.
5079
+ * @returns {void}
5080
+ */
5081
+ closestElement(
5082
+ selector, // selector like in .closest()
5083
+ base = this, // extra functionality to skip a parent
5084
+ __Closest = (el, found = el && el.closest(selector)) =>
5085
+ !el || el === document || el === window
5086
+ ? null // standard .closest() returns null for non-found selectors also
5087
+ : found
5088
+ ? found // found a selector INside this element
5089
+ : __Closest(el.getRootNode().host) // recursion!! break out to parent DOM
5090
+ ) {
5091
+ return __Closest(base);
5092
+ }
5093
+ /* eslint-enable jsdoc/require-param */
5094
+
5095
+ /**
5096
+ * 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.
5097
+ * @param {Object} elem - The element to check.
5098
+ * @param {String} tagName - The name of the Auro component to check for or add as an attribute.
5099
+ * @returns {void}
5100
+ */
5101
+ handleComponentTagRename(elem, tagName) {
5102
+ const tag = tagName.toLowerCase();
5103
+ const elemTag = elem.tagName.toLowerCase();
5104
+
5105
+ if (elemTag !== tag) {
5106
+ elem.setAttribute(tag, true);
5107
+ }
5108
+ }
5109
+
5110
+ /**
5111
+ * Validates if an element is a specific Auro component.
5112
+ * @param {Object} elem - The element to validate.
5113
+ * @param {String} tagName - The name of the Auro component to check against.
5114
+ * @returns {Boolean} - Returns true if the element is the specified Auro component.
5115
+ */
5116
+ elementMatch(elem, tagName) {
5117
+ const tag = tagName.toLowerCase();
5118
+ const elemTag = elem.tagName.toLowerCase();
5119
+
5120
+ return elemTag === tag || elem.hasAttribute(tag);
5121
+ }
5122
+
5123
+ /**
5124
+ * Gets the text content of a named slot.
5125
+ * @returns {String}
5126
+ * @private
5127
+ */
5128
+ getSlotText(elem, name) {
5129
+ const slot = elem.shadowRoot?.querySelector(`slot[name="${name}"]`);
5130
+ const nodes = slot?.assignedNodes({ flatten: true }) || [];
5131
+ const text = nodes.map(n => n.textContent?.trim()).join(' ').trim();
5132
+
5133
+ return text || null;
5134
+ }
5135
+ };
5136
+
5026
5137
  /**
5027
5138
  * Computes display state once per keydown event.
5028
5139
  * Centralizes null-safety checks and makes the shared/modal/popover branching explicit.
@@ -5490,7 +5601,7 @@ var tokensCss = i$5`:host{--ds-auro-helptext-color: var(--ds-basic-color-textico
5490
5601
 
5491
5602
  /* eslint-disable line-comment-position, no-inline-comments, no-confusing-arrow, no-nested-ternary, implicit-arrow-linebreak */
5492
5603
 
5493
- let AuroLibraryRuntimeUtils$2 = class AuroLibraryRuntimeUtils {
5604
+ let AuroLibraryRuntimeUtils$3 = class AuroLibraryRuntimeUtils {
5494
5605
 
5495
5606
  /* eslint-disable jsdoc/require-param */
5496
5607
 
@@ -5583,7 +5694,7 @@ class AuroHelpText extends i$2 {
5583
5694
  this.onDark = false;
5584
5695
  this.hasTextContent = false;
5585
5696
 
5586
- AuroLibraryRuntimeUtils$2.prototype.handleComponentTagRename(this, 'auro-helptext');
5697
+ AuroLibraryRuntimeUtils$3.prototype.handleComponentTagRename(this, 'auro-helptext');
5587
5698
  }
5588
5699
 
5589
5700
  static get styles() {
@@ -5649,7 +5760,7 @@ class AuroHelpText extends i$2 {
5649
5760
  *
5650
5761
  */
5651
5762
  static register(name = "auro-helptext") {
5652
- AuroLibraryRuntimeUtils$2.prototype.registerComponent(name, AuroHelpText);
5763
+ AuroLibraryRuntimeUtils$3.prototype.registerComponent(name, AuroHelpText);
5653
5764
  }
5654
5765
 
5655
5766
  updated() {
@@ -5705,7 +5816,7 @@ class AuroHelpText extends i$2 {
5705
5816
  }
5706
5817
  }
5707
5818
 
5708
- var formkitVersion = '202604081917';
5819
+ var formkitVersion = '202604082129';
5709
5820
 
5710
5821
  let AuroElement$1 = class AuroElement extends i$2 {
5711
5822
  static get properties() {
@@ -5916,7 +6027,7 @@ class AuroDropdown extends AuroElement$1 {
5916
6027
  /**
5917
6028
  * @private
5918
6029
  */
5919
- this.runtimeUtils = new AuroLibraryRuntimeUtils$1();
6030
+ this.runtimeUtils = new AuroLibraryRuntimeUtils$2();
5920
6031
 
5921
6032
  /**
5922
6033
  * @private
@@ -6334,7 +6445,7 @@ class AuroDropdown extends AuroElement$1 {
6334
6445
  *
6335
6446
  */
6336
6447
  static register(name = "auro-dropdown") {
6337
- AuroLibraryRuntimeUtils$1.prototype.registerComponent(name, AuroDropdown);
6448
+ AuroLibraryRuntimeUtils$2.prototype.registerComponent(name, AuroDropdown);
6338
6449
  }
6339
6450
 
6340
6451
  /**
@@ -7260,7 +7371,7 @@ class AuroCounterWrapper extends i$2 {
7260
7371
  * AuroCounterWrapper.register("custom-counter-wrapper") // registers <custom-counter-wrapper/>
7261
7372
  */
7262
7373
  static register(name = "auro-counter-wrapper") {
7263
- AuroLibraryRuntimeUtils$4.prototype.registerComponent(name, AuroCounterWrapper);
7374
+ AuroLibraryRuntimeUtils$5.prototype.registerComponent(name, AuroCounterWrapper);
7264
7375
  }
7265
7376
 
7266
7377
  // function that renders the HTML and CSS into the scope of the component
@@ -7379,22 +7490,6 @@ class AuroElement extends i$2 {
7379
7490
  }
7380
7491
  }
7381
7492
 
7382
- // Copyright (c) 2026 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
7383
- // See LICENSE in the project root for license information.
7384
-
7385
- const counterGroupKeyboardStrategy = {
7386
- Escape(component, evt) {
7387
- // Prevent the Escape key from bubbling up and closing any parent dialogs / drawers / popups.
7388
- // Because stopPropagation prevents the document-level floatingUI keydown handler from
7389
- // seeing this event, we must also close the dropdown explicitly.
7390
- evt.stopPropagation();
7391
-
7392
- if (component.dropdown && component.dropdown.isPopoverVisible) {
7393
- component.dropdown.hide();
7394
- }
7395
- },
7396
- };
7397
-
7398
7493
  /* 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,
7399
7494
  */
7400
7495
 
@@ -7995,10 +8090,6 @@ class AuroCounterGroup extends AuroElement {
7995
8090
  super.firstUpdated();
7996
8091
  this.updateValue();
7997
8092
  this.updateValueText();
7998
-
7999
- if (this.isDropdown) {
8000
- applyKeyboardStrategy$1(this, counterGroupKeyboardStrategy);
8001
- }
8002
8093
  }
8003
8094
 
8004
8095
  /**
@@ -8008,7 +8099,7 @@ class AuroCounterGroup extends AuroElement {
8008
8099
  * AuroCounterGroup.register("custom-counter-group") // registers <custom-counter-group/>
8009
8100
  */
8010
8101
  static register(name = "auro-counter-group") {
8011
- AuroLibraryRuntimeUtils$4.prototype.registerComponent(name, AuroCounterGroup);
8102
+ AuroLibraryRuntimeUtils$5.prototype.registerComponent(name, AuroCounterGroup);
8012
8103
  }
8013
8104
 
8014
8105
  /**