@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
@@ -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$4 = class AuroLibraryRuntimeUtils {
79
+ let AuroLibraryRuntimeUtils$5 = class AuroLibraryRuntimeUtils {
80
80
 
81
81
  /* eslint-disable jsdoc/require-param */
82
82
 
@@ -182,7 +182,7 @@ class AuroCounterButton extends T$1 {
182
182
  *
183
183
  */
184
184
  static register(name = "auro-counter-button") {
185
- AuroLibraryRuntimeUtils$4.prototype.registerComponent(name, AuroCounterButton);
185
+ AuroLibraryRuntimeUtils$5.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$4();
677
+ this.runtimeUtils = new AuroLibraryRuntimeUtils$5();
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$3 = class AuroLibraryRuntimeUtils {
1259
+ let AuroLibraryRuntimeUtils$4 = 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$3.prototype.handleComponentTagRename(this, 'auro-helptext');
1352
+ AuroLibraryRuntimeUtils$4.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$3.prototype.registerComponent(name, AuroHelpText);
1418
+ AuroLibraryRuntimeUtils$4.prototype.registerComponent(name, AuroHelpText);
1419
1419
  }
1420
1420
 
1421
1421
  updated() {
@@ -1471,7 +1471,7 @@ let AuroHelpText$1 = class AuroHelpText extends LitElement {
1471
1471
  }
1472
1472
  };
1473
1473
 
1474
- var formkitVersion$1 = '202604081917';
1474
+ var formkitVersion$1 = '202604082129';
1475
1475
 
1476
1476
  // Copyright (c) 2026 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
1477
1477
  // See LICENSE in the project root for license information.
@@ -1562,7 +1562,7 @@ class AuroCounter extends LitElement {
1562
1562
  /**
1563
1563
  * @private
1564
1564
  */
1565
- this.runtimeUtils = new AuroLibraryRuntimeUtils$4();
1565
+ this.runtimeUtils = new AuroLibraryRuntimeUtils$5();
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$4.prototype.registerComponent(name, AuroCounter);
1707
+ AuroLibraryRuntimeUtils$5.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$1 = class AuroLibraryRuntimeUtils {
1945
+ let AuroLibraryRuntimeUtils$2 = class AuroLibraryRuntimeUtils {
1946
1946
 
1947
1947
  /* eslint-disable jsdoc/require-param */
1948
1948
 
@@ -3731,6 +3731,7 @@ class AuroFloatingUI {
3731
3731
  this.focusHandler = null;
3732
3732
  this.clickHandler = null;
3733
3733
  this.keyDownHandler = null;
3734
+ this.touchHandler = null;
3734
3735
 
3735
3736
  /**
3736
3737
  * @private
@@ -4148,6 +4149,28 @@ class AuroFloatingUI {
4148
4149
  setTimeout(() => {
4149
4150
  window.addEventListener("click", this.clickHandler);
4150
4151
  }, 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 });
4151
4174
  }
4152
4175
 
4153
4176
  cleanupHideHandlers() {
@@ -4163,6 +4186,11 @@ class AuroFloatingUI {
4163
4186
  this.clickHandler = null;
4164
4187
  }
4165
4188
 
4189
+ if (this.touchHandler) {
4190
+ window.removeEventListener("touchstart", this.touchHandler);
4191
+ this.touchHandler = null;
4192
+ }
4193
+
4166
4194
  if (this.keyDownHandler) {
4167
4195
  document.removeEventListener("keydown", this.keyDownHandler);
4168
4196
  this.keyDownHandler = null;
@@ -4955,6 +4983,89 @@ let p$2 = class p{registerComponent(t,a){customElements.get(t)||customElements.d
4955
4983
 
4956
4984
  var iconVersion$1 = '9.1.2';
4957
4985
 
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
+
4958
5069
  /**
4959
5070
  * Computes display state once per keydown event.
4960
5071
  * Centralizes null-safety checks and makes the shared/modal/popover branching explicit.
@@ -5422,7 +5533,7 @@ var tokensCss = css`:host{--ds-auro-helptext-color: var(--ds-basic-color-textico
5422
5533
 
5423
5534
  /* eslint-disable line-comment-position, no-inline-comments, no-confusing-arrow, no-nested-ternary, implicit-arrow-linebreak */
5424
5535
 
5425
- let AuroLibraryRuntimeUtils$2 = class AuroLibraryRuntimeUtils {
5536
+ let AuroLibraryRuntimeUtils$3 = class AuroLibraryRuntimeUtils {
5426
5537
 
5427
5538
  /* eslint-disable jsdoc/require-param */
5428
5539
 
@@ -5515,7 +5626,7 @@ class AuroHelpText extends LitElement {
5515
5626
  this.onDark = false;
5516
5627
  this.hasTextContent = false;
5517
5628
 
5518
- AuroLibraryRuntimeUtils$2.prototype.handleComponentTagRename(this, 'auro-helptext');
5629
+ AuroLibraryRuntimeUtils$3.prototype.handleComponentTagRename(this, 'auro-helptext');
5519
5630
  }
5520
5631
 
5521
5632
  static get styles() {
@@ -5581,7 +5692,7 @@ class AuroHelpText extends LitElement {
5581
5692
  *
5582
5693
  */
5583
5694
  static register(name = "auro-helptext") {
5584
- AuroLibraryRuntimeUtils$2.prototype.registerComponent(name, AuroHelpText);
5695
+ AuroLibraryRuntimeUtils$3.prototype.registerComponent(name, AuroHelpText);
5585
5696
  }
5586
5697
 
5587
5698
  updated() {
@@ -5637,7 +5748,7 @@ class AuroHelpText extends LitElement {
5637
5748
  }
5638
5749
  }
5639
5750
 
5640
- var formkitVersion = '202604081917';
5751
+ var formkitVersion = '202604082129';
5641
5752
 
5642
5753
  let AuroElement$1 = class AuroElement extends LitElement {
5643
5754
  static get properties() {
@@ -5848,7 +5959,7 @@ class AuroDropdown extends AuroElement$1 {
5848
5959
  /**
5849
5960
  * @private
5850
5961
  */
5851
- this.runtimeUtils = new AuroLibraryRuntimeUtils$1();
5962
+ this.runtimeUtils = new AuroLibraryRuntimeUtils$2();
5852
5963
 
5853
5964
  /**
5854
5965
  * @private
@@ -6266,7 +6377,7 @@ class AuroDropdown extends AuroElement$1 {
6266
6377
  *
6267
6378
  */
6268
6379
  static register(name = "auro-dropdown") {
6269
- AuroLibraryRuntimeUtils$1.prototype.registerComponent(name, AuroDropdown);
6380
+ AuroLibraryRuntimeUtils$2.prototype.registerComponent(name, AuroDropdown);
6270
6381
  }
6271
6382
 
6272
6383
  /**
@@ -7192,7 +7303,7 @@ class AuroCounterWrapper extends LitElement {
7192
7303
  * AuroCounterWrapper.register("custom-counter-wrapper") // registers <custom-counter-wrapper/>
7193
7304
  */
7194
7305
  static register(name = "auro-counter-wrapper") {
7195
- AuroLibraryRuntimeUtils$4.prototype.registerComponent(name, AuroCounterWrapper);
7306
+ AuroLibraryRuntimeUtils$5.prototype.registerComponent(name, AuroCounterWrapper);
7196
7307
  }
7197
7308
 
7198
7309
  // function that renders the HTML and CSS into the scope of the component
@@ -7311,22 +7422,6 @@ class AuroElement extends LitElement {
7311
7422
  }
7312
7423
  }
7313
7424
 
7314
- // Copyright (c) 2026 Alaska Airlines. All right 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
- // Prevent the Escape key from bubbling up and closing any parent dialogs / drawers / popups.
7320
- // Because stopPropagation prevents the document-level floatingUI keydown handler from
7321
- // seeing this event, we must also close the dropdown explicitly.
7322
- evt.stopPropagation();
7323
-
7324
- if (component.dropdown && component.dropdown.isPopoverVisible) {
7325
- component.dropdown.hide();
7326
- }
7327
- },
7328
- };
7329
-
7330
7425
  /* 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,
7331
7426
  */
7332
7427
 
@@ -7927,10 +8022,6 @@ class AuroCounterGroup extends AuroElement {
7927
8022
  super.firstUpdated();
7928
8023
  this.updateValue();
7929
8024
  this.updateValueText();
7930
-
7931
- if (this.isDropdown) {
7932
- applyKeyboardStrategy$1(this, counterGroupKeyboardStrategy);
7933
- }
7934
8025
  }
7935
8026
 
7936
8027
  /**
@@ -7940,7 +8031,7 @@ class AuroCounterGroup extends AuroElement {
7940
8031
  * AuroCounterGroup.register("custom-counter-group") // registers <custom-counter-group/>
7941
8032
  */
7942
8033
  static register(name = "auro-counter-group") {
7943
- AuroLibraryRuntimeUtils$4.prototype.registerComponent(name, AuroCounterGroup);
8034
+ AuroLibraryRuntimeUtils$5.prototype.registerComponent(name, AuroCounterGroup);
7944
8035
  }
7945
8036
 
7946
8037
  /**
@@ -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$4 = class AuroLibraryRuntimeUtils {
79
+ let AuroLibraryRuntimeUtils$5 = class AuroLibraryRuntimeUtils {
80
80
 
81
81
  /* eslint-disable jsdoc/require-param */
82
82
 
@@ -182,7 +182,7 @@ class AuroCounterButton extends T$1 {
182
182
  *
183
183
  */
184
184
  static register(name = "auro-counter-button") {
185
- AuroLibraryRuntimeUtils$4.prototype.registerComponent(name, AuroCounterButton);
185
+ AuroLibraryRuntimeUtils$5.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$4();
677
+ this.runtimeUtils = new AuroLibraryRuntimeUtils$5();
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$3 = class AuroLibraryRuntimeUtils {
1259
+ let AuroLibraryRuntimeUtils$4 = 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$3.prototype.handleComponentTagRename(this, 'auro-helptext');
1352
+ AuroLibraryRuntimeUtils$4.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$3.prototype.registerComponent(name, AuroHelpText);
1418
+ AuroLibraryRuntimeUtils$4.prototype.registerComponent(name, AuroHelpText);
1419
1419
  }
1420
1420
 
1421
1421
  updated() {
@@ -1471,7 +1471,7 @@ let AuroHelpText$1 = class AuroHelpText extends LitElement {
1471
1471
  }
1472
1472
  };
1473
1473
 
1474
- var formkitVersion$1 = '202604081917';
1474
+ var formkitVersion$1 = '202604082129';
1475
1475
 
1476
1476
  // Copyright (c) 2026 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
1477
1477
  // See LICENSE in the project root for license information.
@@ -1562,7 +1562,7 @@ class AuroCounter extends LitElement {
1562
1562
  /**
1563
1563
  * @private
1564
1564
  */
1565
- this.runtimeUtils = new AuroLibraryRuntimeUtils$4();
1565
+ this.runtimeUtils = new AuroLibraryRuntimeUtils$5();
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$4.prototype.registerComponent(name, AuroCounter);
1707
+ AuroLibraryRuntimeUtils$5.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$1 = class AuroLibraryRuntimeUtils {
1945
+ let AuroLibraryRuntimeUtils$2 = class AuroLibraryRuntimeUtils {
1946
1946
 
1947
1947
  /* eslint-disable jsdoc/require-param */
1948
1948
 
@@ -3731,6 +3731,7 @@ class AuroFloatingUI {
3731
3731
  this.focusHandler = null;
3732
3732
  this.clickHandler = null;
3733
3733
  this.keyDownHandler = null;
3734
+ this.touchHandler = null;
3734
3735
 
3735
3736
  /**
3736
3737
  * @private
@@ -4148,6 +4149,28 @@ class AuroFloatingUI {
4148
4149
  setTimeout(() => {
4149
4150
  window.addEventListener("click", this.clickHandler);
4150
4151
  }, 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 });
4151
4174
  }
4152
4175
 
4153
4176
  cleanupHideHandlers() {
@@ -4163,6 +4186,11 @@ class AuroFloatingUI {
4163
4186
  this.clickHandler = null;
4164
4187
  }
4165
4188
 
4189
+ if (this.touchHandler) {
4190
+ window.removeEventListener("touchstart", this.touchHandler);
4191
+ this.touchHandler = null;
4192
+ }
4193
+
4166
4194
  if (this.keyDownHandler) {
4167
4195
  document.removeEventListener("keydown", this.keyDownHandler);
4168
4196
  this.keyDownHandler = null;
@@ -4955,6 +4983,89 @@ let p$2 = class p{registerComponent(t,a){customElements.get(t)||customElements.d
4955
4983
 
4956
4984
  var iconVersion$1 = '9.1.2';
4957
4985
 
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
+
4958
5069
  /**
4959
5070
  * Computes display state once per keydown event.
4960
5071
  * Centralizes null-safety checks and makes the shared/modal/popover branching explicit.
@@ -5422,7 +5533,7 @@ var tokensCss = css`:host{--ds-auro-helptext-color: var(--ds-basic-color-textico
5422
5533
 
5423
5534
  /* eslint-disable line-comment-position, no-inline-comments, no-confusing-arrow, no-nested-ternary, implicit-arrow-linebreak */
5424
5535
 
5425
- let AuroLibraryRuntimeUtils$2 = class AuroLibraryRuntimeUtils {
5536
+ let AuroLibraryRuntimeUtils$3 = class AuroLibraryRuntimeUtils {
5426
5537
 
5427
5538
  /* eslint-disable jsdoc/require-param */
5428
5539
 
@@ -5515,7 +5626,7 @@ class AuroHelpText extends LitElement {
5515
5626
  this.onDark = false;
5516
5627
  this.hasTextContent = false;
5517
5628
 
5518
- AuroLibraryRuntimeUtils$2.prototype.handleComponentTagRename(this, 'auro-helptext');
5629
+ AuroLibraryRuntimeUtils$3.prototype.handleComponentTagRename(this, 'auro-helptext');
5519
5630
  }
5520
5631
 
5521
5632
  static get styles() {
@@ -5581,7 +5692,7 @@ class AuroHelpText extends LitElement {
5581
5692
  *
5582
5693
  */
5583
5694
  static register(name = "auro-helptext") {
5584
- AuroLibraryRuntimeUtils$2.prototype.registerComponent(name, AuroHelpText);
5695
+ AuroLibraryRuntimeUtils$3.prototype.registerComponent(name, AuroHelpText);
5585
5696
  }
5586
5697
 
5587
5698
  updated() {
@@ -5637,7 +5748,7 @@ class AuroHelpText extends LitElement {
5637
5748
  }
5638
5749
  }
5639
5750
 
5640
- var formkitVersion = '202604081917';
5751
+ var formkitVersion = '202604082129';
5641
5752
 
5642
5753
  let AuroElement$1 = class AuroElement extends LitElement {
5643
5754
  static get properties() {
@@ -5848,7 +5959,7 @@ class AuroDropdown extends AuroElement$1 {
5848
5959
  /**
5849
5960
  * @private
5850
5961
  */
5851
- this.runtimeUtils = new AuroLibraryRuntimeUtils$1();
5962
+ this.runtimeUtils = new AuroLibraryRuntimeUtils$2();
5852
5963
 
5853
5964
  /**
5854
5965
  * @private
@@ -6266,7 +6377,7 @@ class AuroDropdown extends AuroElement$1 {
6266
6377
  *
6267
6378
  */
6268
6379
  static register(name = "auro-dropdown") {
6269
- AuroLibraryRuntimeUtils$1.prototype.registerComponent(name, AuroDropdown);
6380
+ AuroLibraryRuntimeUtils$2.prototype.registerComponent(name, AuroDropdown);
6270
6381
  }
6271
6382
 
6272
6383
  /**
@@ -7192,7 +7303,7 @@ class AuroCounterWrapper extends LitElement {
7192
7303
  * AuroCounterWrapper.register("custom-counter-wrapper") // registers <custom-counter-wrapper/>
7193
7304
  */
7194
7305
  static register(name = "auro-counter-wrapper") {
7195
- AuroLibraryRuntimeUtils$4.prototype.registerComponent(name, AuroCounterWrapper);
7306
+ AuroLibraryRuntimeUtils$5.prototype.registerComponent(name, AuroCounterWrapper);
7196
7307
  }
7197
7308
 
7198
7309
  // function that renders the HTML and CSS into the scope of the component
@@ -7311,22 +7422,6 @@ class AuroElement extends LitElement {
7311
7422
  }
7312
7423
  }
7313
7424
 
7314
- // Copyright (c) 2026 Alaska Airlines. All right 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
- // Prevent the Escape key from bubbling up and closing any parent dialogs / drawers / popups.
7320
- // Because stopPropagation prevents the document-level floatingUI keydown handler from
7321
- // seeing this event, we must also close the dropdown explicitly.
7322
- evt.stopPropagation();
7323
-
7324
- if (component.dropdown && component.dropdown.isPopoverVisible) {
7325
- component.dropdown.hide();
7326
- }
7327
- },
7328
- };
7329
-
7330
7425
  /* 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,
7331
7426
  */
7332
7427
 
@@ -7927,10 +8022,6 @@ class AuroCounterGroup extends AuroElement {
7927
8022
  super.firstUpdated();
7928
8023
  this.updateValue();
7929
8024
  this.updateValueText();
7930
-
7931
- if (this.isDropdown) {
7932
- applyKeyboardStrategy$1(this, counterGroupKeyboardStrategy);
7933
- }
7934
8025
  }
7935
8026
 
7936
8027
  /**
@@ -7940,7 +8031,7 @@ class AuroCounterGroup extends AuroElement {
7940
8031
  * AuroCounterGroup.register("custom-counter-group") // registers <custom-counter-group/>
7941
8032
  */
7942
8033
  static register(name = "auro-counter-group") {
7943
- AuroLibraryRuntimeUtils$4.prototype.registerComponent(name, AuroCounterGroup);
8034
+ AuroLibraryRuntimeUtils$5.prototype.registerComponent(name, AuroCounterGroup);
7944
8035
  }
7945
8036
 
7946
8037
  /**
@@ -53,7 +53,6 @@
53
53
  <script src="https://cdn.jsdelivr.net/npm/@aurodesignsystem/auro-accordion@latest/+esm" type="module"></script>
54
54
  <script src="https://cdn.jsdelivr.net/npm/@aurodesignsystem/auro-button@latest/+esm" type="module"></script>
55
55
  <script src="https://cdn.jsdelivr.net/npm/@aurodesignsystem/auro-dialog@latest/+esm" type="module"></script>
56
- <script src="https://cdn.jsdelivr.net/npm/@aurodesignsystem/auro-drawer@latest/+esm" type="module"></script>
57
56
 
58
57
  <script type="module" data-demo-script="true">
59
58
  import { initExamples } from "./api.min.js";
@@ -6,7 +6,6 @@ import { updateMaxDateExample } from './../apiExamples/update-max-date';
6
6
  import { updateMinDateExample } from './../apiExamples/update-min-date';
7
7
  import { validityExample } from './../apiExamples/validity';
8
8
  import { inDialogExample } from '../apiExamples/in-dialog';
9
- import { inDrawerExample } from '../apiExamples/in-drawer';
10
9
  import { localizationExample } from '../apiExamples/localization';
11
10
  import { resetStateExample } from '../apiExamples/reset-state';
12
11
  import '../src/registered.js';
@@ -23,7 +22,6 @@ export function initExamples(initCount) {
23
22
  updateMinDateExample();
24
23
  validityExample();
25
24
  inDialogExample();
26
- inDrawerExample();
27
25
  localizationExample();
28
26
  resetStateExample();
29
27
  } catch (error) {