@aurodesignsystem-dev/auro-formkit 0.0.0-pr1435.2 → 0.0.0-pr1438.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 (37) hide show
  1. package/components/checkbox/demo/api.min.js +1 -1
  2. package/components/checkbox/demo/index.min.js +1 -1
  3. package/components/checkbox/dist/index.js +1 -1
  4. package/components/checkbox/dist/registered.js +1 -1
  5. package/components/combobox/demo/api.min.js +31 -3
  6. package/components/combobox/demo/index.min.js +31 -3
  7. package/components/combobox/dist/index.js +31 -3
  8. package/components/combobox/dist/registered.js +31 -3
  9. package/components/counter/demo/api.min.js +41 -32
  10. package/components/counter/demo/index.min.js +41 -32
  11. package/components/counter/dist/auro-counter.d.ts +0 -7
  12. package/components/counter/dist/index.js +41 -32
  13. package/components/counter/dist/registered.js +41 -32
  14. package/components/datepicker/demo/api.min.js +31 -3
  15. package/components/datepicker/demo/index.min.js +31 -3
  16. package/components/datepicker/dist/index.js +31 -3
  17. package/components/datepicker/dist/registered.js +31 -3
  18. package/components/dropdown/demo/api.min.js +29 -1
  19. package/components/dropdown/demo/index.min.js +29 -1
  20. package/components/dropdown/dist/index.js +29 -1
  21. package/components/dropdown/dist/registered.js +29 -1
  22. package/components/form/demo/api.min.js +136 -43
  23. package/components/form/demo/index.min.js +136 -43
  24. package/components/input/demo/api.min.js +1 -1
  25. package/components/input/demo/index.min.js +1 -1
  26. package/components/input/dist/index.js +1 -1
  27. package/components/input/dist/registered.js +1 -1
  28. package/components/radio/demo/api.min.js +1 -1
  29. package/components/radio/demo/index.min.js +1 -1
  30. package/components/radio/dist/index.js +1 -1
  31. package/components/radio/dist/registered.js +1 -1
  32. package/components/select/demo/api.min.js +30 -2
  33. package/components/select/demo/index.min.js +30 -2
  34. package/components/select/dist/index.js +30 -2
  35. package/components/select/dist/registered.js +30 -2
  36. package/custom-elements.json +0 -15
  37. package/package.json +2 -2
@@ -1687,7 +1687,7 @@ class AuroHelpText extends i$2 {
1687
1687
  }
1688
1688
  }
1689
1689
 
1690
- var formkitVersion = '202604091759';
1690
+ var formkitVersion = '202604101946';
1691
1691
 
1692
1692
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
1693
1693
  // See LICENSE in the project root for license information.
@@ -1679,7 +1679,7 @@ class AuroHelpText extends i$2 {
1679
1679
  }
1680
1680
  }
1681
1681
 
1682
- var formkitVersion = '202604091759';
1682
+ var formkitVersion = '202604101946';
1683
1683
 
1684
1684
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
1685
1685
  // See LICENSE in the project root for license information.
@@ -1632,7 +1632,7 @@ class AuroHelpText extends LitElement {
1632
1632
  }
1633
1633
  }
1634
1634
 
1635
- var formkitVersion = '202604091759';
1635
+ var formkitVersion = '202604101946';
1636
1636
 
1637
1637
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
1638
1638
  // See LICENSE in the project root for license information.
@@ -1632,7 +1632,7 @@ class AuroHelpText extends LitElement {
1632
1632
  }
1633
1633
  }
1634
1634
 
1635
- var formkitVersion = '202604091759';
1635
+ var formkitVersion = '202604101946';
1636
1636
 
1637
1637
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
1638
1638
  // See LICENSE in the project root for license information.
@@ -3294,6 +3294,7 @@ class AuroFloatingUI {
3294
3294
  this.focusHandler = null;
3295
3295
  this.clickHandler = null;
3296
3296
  this.keyDownHandler = null;
3297
+ this.touchHandler = null;
3297
3298
 
3298
3299
  /**
3299
3300
  * @private
@@ -3711,6 +3712,28 @@ class AuroFloatingUI {
3711
3712
  setTimeout(() => {
3712
3713
  window.addEventListener("click", this.clickHandler);
3713
3714
  }, 0);
3715
+
3716
+ // iOS Safari does not fire `click` on non-interactive elements, so
3717
+ // tapping an inert backdrop never reaches the click handler above.
3718
+ // Mirror the same outside-tap logic with a passive touchstart listener.
3719
+ this.touchHandler = (evt) => {
3720
+ const element = this.element;
3721
+ if (!element?.bib) {
3722
+ return;
3723
+ }
3724
+
3725
+ // fullscreen (modal) dialog handles its own dismissal
3726
+ if (element.bib.hasAttribute("isfullscreen")) {
3727
+ return;
3728
+ }
3729
+
3730
+ const path = evt.composedPath();
3731
+ if (!path.includes(element.trigger) && !path.includes(element.bib)) {
3732
+ this.hideBib("click");
3733
+ }
3734
+ };
3735
+
3736
+ window.addEventListener("touchstart", this.touchHandler, { passive: true });
3714
3737
  }
3715
3738
 
3716
3739
  cleanupHideHandlers() {
@@ -3726,6 +3749,11 @@ class AuroFloatingUI {
3726
3749
  this.clickHandler = null;
3727
3750
  }
3728
3751
 
3752
+ if (this.touchHandler) {
3753
+ window.removeEventListener("touchstart", this.touchHandler);
3754
+ this.touchHandler = null;
3755
+ }
3756
+
3729
3757
  if (this.keyDownHandler) {
3730
3758
  document.removeEventListener("keydown", this.keyDownHandler);
3731
3759
  this.keyDownHandler = null;
@@ -5200,7 +5228,7 @@ let AuroHelpText$2 = class AuroHelpText extends i$4 {
5200
5228
  }
5201
5229
  };
5202
5230
 
5203
- var formkitVersion$2 = '202604091759';
5231
+ var formkitVersion$2 = '202604101946';
5204
5232
 
5205
5233
  let AuroElement$2 = class AuroElement extends i$4 {
5206
5234
  static get properties() {
@@ -12964,7 +12992,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$4 {
12964
12992
  }
12965
12993
  };
12966
12994
 
12967
- var formkitVersion$1 = '202604091759';
12995
+ var formkitVersion$1 = '202604101946';
12968
12996
 
12969
12997
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
12970
12998
  // See LICENSE in the project root for license information.
@@ -14029,7 +14057,7 @@ class AuroBibtemplate extends i$4 {
14029
14057
  }
14030
14058
  }
14031
14059
 
14032
- var formkitVersion = '202604091759';
14060
+ var formkitVersion = '202604101946';
14033
14061
 
14034
14062
  var styleCss$3 = i$7`.util_displayInline{display:inline}.util_displayInlineBlock{display:inline-block}.util_displayBlock{display:block}.util_displayFlex{display:flex}.util_displayHidden{display:none}.util_displayHiddenVisually{position:absolute;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);width:1px;height:1px;padding:0;border:0}:host{display:block;text-align:left}:host [auro-dropdown]{--ds-auro-dropdown-trigger-background-color: transparent}:host #inputInBib::part(wrapper){box-shadow:none}:host #inputInBib::part(accent-left){display:none}:host([layout*=classic]) [auro-input]{width:100%}:host([layout*=classic]) [auro-input]::part(helpText){display:none}:host([layout*=classic]) #slotHolder{display:none}`;
14035
14063
 
@@ -3206,6 +3206,7 @@ class AuroFloatingUI {
3206
3206
  this.focusHandler = null;
3207
3207
  this.clickHandler = null;
3208
3208
  this.keyDownHandler = null;
3209
+ this.touchHandler = null;
3209
3210
 
3210
3211
  /**
3211
3212
  * @private
@@ -3623,6 +3624,28 @@ class AuroFloatingUI {
3623
3624
  setTimeout(() => {
3624
3625
  window.addEventListener("click", this.clickHandler);
3625
3626
  }, 0);
3627
+
3628
+ // iOS Safari does not fire `click` on non-interactive elements, so
3629
+ // tapping an inert backdrop never reaches the click handler above.
3630
+ // Mirror the same outside-tap logic with a passive touchstart listener.
3631
+ this.touchHandler = (evt) => {
3632
+ const element = this.element;
3633
+ if (!element?.bib) {
3634
+ return;
3635
+ }
3636
+
3637
+ // fullscreen (modal) dialog handles its own dismissal
3638
+ if (element.bib.hasAttribute("isfullscreen")) {
3639
+ return;
3640
+ }
3641
+
3642
+ const path = evt.composedPath();
3643
+ if (!path.includes(element.trigger) && !path.includes(element.bib)) {
3644
+ this.hideBib("click");
3645
+ }
3646
+ };
3647
+
3648
+ window.addEventListener("touchstart", this.touchHandler, { passive: true });
3626
3649
  }
3627
3650
 
3628
3651
  cleanupHideHandlers() {
@@ -3638,6 +3661,11 @@ class AuroFloatingUI {
3638
3661
  this.clickHandler = null;
3639
3662
  }
3640
3663
 
3664
+ if (this.touchHandler) {
3665
+ window.removeEventListener("touchstart", this.touchHandler);
3666
+ this.touchHandler = null;
3667
+ }
3668
+
3641
3669
  if (this.keyDownHandler) {
3642
3670
  document.removeEventListener("keydown", this.keyDownHandler);
3643
3671
  this.keyDownHandler = null;
@@ -5112,7 +5140,7 @@ let AuroHelpText$2 = class AuroHelpText extends i$4 {
5112
5140
  }
5113
5141
  };
5114
5142
 
5115
- var formkitVersion$2 = '202604091759';
5143
+ var formkitVersion$2 = '202604101946';
5116
5144
 
5117
5145
  let AuroElement$2 = class AuroElement extends i$4 {
5118
5146
  static get properties() {
@@ -12876,7 +12904,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$4 {
12876
12904
  }
12877
12905
  };
12878
12906
 
12879
- var formkitVersion$1 = '202604091759';
12907
+ var formkitVersion$1 = '202604101946';
12880
12908
 
12881
12909
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
12882
12910
  // See LICENSE in the project root for license information.
@@ -13941,7 +13969,7 @@ class AuroBibtemplate extends i$4 {
13941
13969
  }
13942
13970
  }
13943
13971
 
13944
- var formkitVersion = '202604091759';
13972
+ var formkitVersion = '202604101946';
13945
13973
 
13946
13974
  var styleCss$3 = i$7`.util_displayInline{display:inline}.util_displayInlineBlock{display:inline-block}.util_displayBlock{display:block}.util_displayFlex{display:flex}.util_displayHidden{display:none}.util_displayHiddenVisually{position:absolute;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);width:1px;height:1px;padding:0;border:0}:host{display:block;text-align:left}:host [auro-dropdown]{--ds-auro-dropdown-trigger-background-color: transparent}:host #inputInBib::part(wrapper){box-shadow:none}:host #inputInBib::part(accent-left){display:none}:host([layout*=classic]) [auro-input]{width:100%}:host([layout*=classic]) [auro-input]::part(helpText){display:none}:host([layout*=classic]) #slotHolder{display:none}`;
13947
13975
 
@@ -3139,6 +3139,7 @@ class AuroFloatingUI {
3139
3139
  this.focusHandler = null;
3140
3140
  this.clickHandler = null;
3141
3141
  this.keyDownHandler = null;
3142
+ this.touchHandler = null;
3142
3143
 
3143
3144
  /**
3144
3145
  * @private
@@ -3556,6 +3557,28 @@ class AuroFloatingUI {
3556
3557
  setTimeout(() => {
3557
3558
  window.addEventListener("click", this.clickHandler);
3558
3559
  }, 0);
3560
+
3561
+ // iOS Safari does not fire `click` on non-interactive elements, so
3562
+ // tapping an inert backdrop never reaches the click handler above.
3563
+ // Mirror the same outside-tap logic with a passive touchstart listener.
3564
+ this.touchHandler = (evt) => {
3565
+ const element = this.element;
3566
+ if (!element?.bib) {
3567
+ return;
3568
+ }
3569
+
3570
+ // fullscreen (modal) dialog handles its own dismissal
3571
+ if (element.bib.hasAttribute("isfullscreen")) {
3572
+ return;
3573
+ }
3574
+
3575
+ const path = evt.composedPath();
3576
+ if (!path.includes(element.trigger) && !path.includes(element.bib)) {
3577
+ this.hideBib("click");
3578
+ }
3579
+ };
3580
+
3581
+ window.addEventListener("touchstart", this.touchHandler, { passive: true });
3559
3582
  }
3560
3583
 
3561
3584
  cleanupHideHandlers() {
@@ -3571,6 +3594,11 @@ class AuroFloatingUI {
3571
3594
  this.clickHandler = null;
3572
3595
  }
3573
3596
 
3597
+ if (this.touchHandler) {
3598
+ window.removeEventListener("touchstart", this.touchHandler);
3599
+ this.touchHandler = null;
3600
+ }
3601
+
3574
3602
  if (this.keyDownHandler) {
3575
3603
  document.removeEventListener("keydown", this.keyDownHandler);
3576
3604
  this.keyDownHandler = null;
@@ -5045,7 +5073,7 @@ let AuroHelpText$2 = class AuroHelpText extends LitElement {
5045
5073
  }
5046
5074
  };
5047
5075
 
5048
- var formkitVersion$2 = '202604091759';
5076
+ var formkitVersion$2 = '202604101946';
5049
5077
 
5050
5078
  let AuroElement$2 = class AuroElement extends LitElement {
5051
5079
  static get properties() {
@@ -12802,7 +12830,7 @@ let AuroHelpText$1 = class AuroHelpText extends LitElement {
12802
12830
  }
12803
12831
  };
12804
12832
 
12805
- var formkitVersion$1 = '202604091759';
12833
+ var formkitVersion$1 = '202604101946';
12806
12834
 
12807
12835
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
12808
12836
  // See LICENSE in the project root for license information.
@@ -13867,7 +13895,7 @@ class AuroBibtemplate extends LitElement {
13867
13895
  }
13868
13896
  }
13869
13897
 
13870
- var formkitVersion = '202604091759';
13898
+ var formkitVersion = '202604101946';
13871
13899
 
13872
13900
  var styleCss$1 = css`.util_displayInline{display:inline}.util_displayInlineBlock{display:inline-block}.util_displayBlock{display:block}.util_displayFlex{display:flex}.util_displayHidden{display:none}.util_displayHiddenVisually{position:absolute;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);width:1px;height:1px;padding:0;border:0}:host{display:block;text-align:left}:host [auro-dropdown]{--ds-auro-dropdown-trigger-background-color: transparent}:host #inputInBib::part(wrapper){box-shadow:none}:host #inputInBib::part(accent-left){display:none}:host([layout*=classic]) [auro-input]{width:100%}:host([layout*=classic]) [auro-input]::part(helpText){display:none}:host([layout*=classic]) #slotHolder{display:none}`;
13873
13901
 
@@ -3139,6 +3139,7 @@ class AuroFloatingUI {
3139
3139
  this.focusHandler = null;
3140
3140
  this.clickHandler = null;
3141
3141
  this.keyDownHandler = null;
3142
+ this.touchHandler = null;
3142
3143
 
3143
3144
  /**
3144
3145
  * @private
@@ -3556,6 +3557,28 @@ class AuroFloatingUI {
3556
3557
  setTimeout(() => {
3557
3558
  window.addEventListener("click", this.clickHandler);
3558
3559
  }, 0);
3560
+
3561
+ // iOS Safari does not fire `click` on non-interactive elements, so
3562
+ // tapping an inert backdrop never reaches the click handler above.
3563
+ // Mirror the same outside-tap logic with a passive touchstart listener.
3564
+ this.touchHandler = (evt) => {
3565
+ const element = this.element;
3566
+ if (!element?.bib) {
3567
+ return;
3568
+ }
3569
+
3570
+ // fullscreen (modal) dialog handles its own dismissal
3571
+ if (element.bib.hasAttribute("isfullscreen")) {
3572
+ return;
3573
+ }
3574
+
3575
+ const path = evt.composedPath();
3576
+ if (!path.includes(element.trigger) && !path.includes(element.bib)) {
3577
+ this.hideBib("click");
3578
+ }
3579
+ };
3580
+
3581
+ window.addEventListener("touchstart", this.touchHandler, { passive: true });
3559
3582
  }
3560
3583
 
3561
3584
  cleanupHideHandlers() {
@@ -3571,6 +3594,11 @@ class AuroFloatingUI {
3571
3594
  this.clickHandler = null;
3572
3595
  }
3573
3596
 
3597
+ if (this.touchHandler) {
3598
+ window.removeEventListener("touchstart", this.touchHandler);
3599
+ this.touchHandler = null;
3600
+ }
3601
+
3574
3602
  if (this.keyDownHandler) {
3575
3603
  document.removeEventListener("keydown", this.keyDownHandler);
3576
3604
  this.keyDownHandler = null;
@@ -5045,7 +5073,7 @@ let AuroHelpText$2 = class AuroHelpText extends LitElement {
5045
5073
  }
5046
5074
  };
5047
5075
 
5048
- var formkitVersion$2 = '202604091759';
5076
+ var formkitVersion$2 = '202604101946';
5049
5077
 
5050
5078
  let AuroElement$2 = class AuroElement extends LitElement {
5051
5079
  static get properties() {
@@ -12802,7 +12830,7 @@ let AuroHelpText$1 = class AuroHelpText extends LitElement {
12802
12830
  }
12803
12831
  };
12804
12832
 
12805
- var formkitVersion$1 = '202604091759';
12833
+ var formkitVersion$1 = '202604101946';
12806
12834
 
12807
12835
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
12808
12836
  // See LICENSE in the project root for license information.
@@ -13867,7 +13895,7 @@ class AuroBibtemplate extends LitElement {
13867
13895
  }
13868
13896
  }
13869
13897
 
13870
- var formkitVersion = '202604091759';
13898
+ var formkitVersion = '202604101946';
13871
13899
 
13872
13900
  var styleCss$1 = css`.util_displayInline{display:inline}.util_displayInlineBlock{display:inline-block}.util_displayBlock{display:block}.util_displayFlex{display:flex}.util_displayHidden{display:none}.util_displayHiddenVisually{position:absolute;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);width:1px;height:1px;padding:0;border:0}:host{display:block;text-align:left}:host [auro-dropdown]{--ds-auro-dropdown-trigger-background-color: transparent}:host #inputInBib::part(wrapper){box-shadow:none}:host #inputInBib::part(accent-left){display:none}:host([layout*=classic]) [auro-input]{width:100%}:host([layout*=classic]) [auro-input]::part(helpText){display:none}:host([layout*=classic]) #slotHolder{display:none}`;
13873
13901
 
@@ -1521,7 +1521,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$2 {
1521
1521
  }
1522
1522
  };
1523
1523
 
1524
- var formkitVersion$1 = '202604091759';
1524
+ var formkitVersion$1 = '202604101946';
1525
1525
 
1526
1526
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
1527
1527
  // See LICENSE in the project root for license information.
@@ -1862,25 +1862,6 @@ class AuroCounter extends i$2 {
1862
1862
  }
1863
1863
  }
1864
1864
 
1865
- /**
1866
- * Sets ariaDescribedByElements on the spinbutton to the slotted description elements,
1867
- * bridging the shadow DOM boundary for screen readers.
1868
- * @param {Event} event - The slotchange event.
1869
- * @private
1870
- */
1871
- onDescriptionSlotChange(event) {
1872
- const assignedNodes = event.target.assignedElements();
1873
- const spinbutton = this.shadowRoot.querySelector('[role="spinbutton"]');
1874
-
1875
- if (spinbutton) {
1876
- if (assignedNodes.length > 0) {
1877
- spinbutton.ariaDescribedByElements = assignedNodes;
1878
- } else {
1879
- spinbutton.ariaDescribedByElements = [];
1880
- }
1881
- }
1882
- }
1883
-
1884
1865
  updated(changedProperties) {
1885
1866
  if (changedProperties.has("value")) {
1886
1867
  this.validate();
@@ -1932,22 +1913,22 @@ class AuroCounter extends i$2 {
1932
1913
 
1933
1914
  <div class="counterWrapper">
1934
1915
  <div class="counter">
1935
- <div class="content" >
1936
- <label id="counter-label" class="label">
1916
+ <div class="content" id="counter-label">
1917
+ <label class="label">
1937
1918
  <slot @slotchange="${this.onDefaultSlotChange}"></slot>
1938
1919
  </label>
1939
- <slot name="description" class="body-xs" @slotchange="${this.onDescriptionSlotChange}"></slot>
1920
+ <slot name="description" class="body-xs"></slot>
1940
1921
  </div>
1941
- <div
1942
- part="counterControl"
1943
- aria-disabled="${o$2(this.disabled ? 'true' : undefined)}"
1944
- aria-labelledby="counter-label"
1945
- aria-valuemax="${this.max}"
1946
- aria-valuemin="${this.min}"
1922
+ <div
1923
+ part="counterControl"
1924
+ aria-disabled="${o$2(this.disabled ? 'true' : undefined)}"
1925
+ aria-labelledby="counter-label"
1926
+ aria-valuemax="${this.max}"
1927
+ aria-valuemin="${this.min}"
1947
1928
  aria-valuenow="${this.value}"
1948
1929
  aria-valuetext="${this.value !== undefined ? this.value : this.min}"
1949
- role="spinbutton"
1950
- tabindex="${this.disabled ? '-1' : '0'}"
1930
+ role="spinbutton"
1931
+ tabindex="${this.disabled ? '-1' : '0'}"
1951
1932
  >
1952
1933
  <auro-counter-button
1953
1934
  aria-label="${this.runtimeUtils.getSlotText(this, 'ariaLabel.minus') || '−'}"
@@ -3799,6 +3780,7 @@ class AuroFloatingUI {
3799
3780
  this.focusHandler = null;
3800
3781
  this.clickHandler = null;
3801
3782
  this.keyDownHandler = null;
3783
+ this.touchHandler = null;
3802
3784
 
3803
3785
  /**
3804
3786
  * @private
@@ -4216,6 +4198,28 @@ class AuroFloatingUI {
4216
4198
  setTimeout(() => {
4217
4199
  window.addEventListener("click", this.clickHandler);
4218
4200
  }, 0);
4201
+
4202
+ // iOS Safari does not fire `click` on non-interactive elements, so
4203
+ // tapping an inert backdrop never reaches the click handler above.
4204
+ // Mirror the same outside-tap logic with a passive touchstart listener.
4205
+ this.touchHandler = (evt) => {
4206
+ const element = this.element;
4207
+ if (!element?.bib) {
4208
+ return;
4209
+ }
4210
+
4211
+ // fullscreen (modal) dialog handles its own dismissal
4212
+ if (element.bib.hasAttribute("isfullscreen")) {
4213
+ return;
4214
+ }
4215
+
4216
+ const path = evt.composedPath();
4217
+ if (!path.includes(element.trigger) && !path.includes(element.bib)) {
4218
+ this.hideBib("click");
4219
+ }
4220
+ };
4221
+
4222
+ window.addEventListener("touchstart", this.touchHandler, { passive: true });
4219
4223
  }
4220
4224
 
4221
4225
  cleanupHideHandlers() {
@@ -4231,6 +4235,11 @@ class AuroFloatingUI {
4231
4235
  this.clickHandler = null;
4232
4236
  }
4233
4237
 
4238
+ if (this.touchHandler) {
4239
+ window.removeEventListener("touchstart", this.touchHandler);
4240
+ this.touchHandler = null;
4241
+ }
4242
+
4234
4243
  if (this.keyDownHandler) {
4235
4244
  document.removeEventListener("keydown", this.keyDownHandler);
4236
4245
  this.keyDownHandler = null;
@@ -5705,7 +5714,7 @@ class AuroHelpText extends i$2 {
5705
5714
  }
5706
5715
  }
5707
5716
 
5708
- var formkitVersion = '202604091759';
5717
+ var formkitVersion = '202604101946';
5709
5718
 
5710
5719
  let AuroElement$1 = class AuroElement extends i$2 {
5711
5720
  static get properties() {
@@ -1521,7 +1521,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$2 {
1521
1521
  }
1522
1522
  };
1523
1523
 
1524
- var formkitVersion$1 = '202604091759';
1524
+ var formkitVersion$1 = '202604101946';
1525
1525
 
1526
1526
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
1527
1527
  // See LICENSE in the project root for license information.
@@ -1862,25 +1862,6 @@ class AuroCounter extends i$2 {
1862
1862
  }
1863
1863
  }
1864
1864
 
1865
- /**
1866
- * Sets ariaDescribedByElements on the spinbutton to the slotted description elements,
1867
- * bridging the shadow DOM boundary for screen readers.
1868
- * @param {Event} event - The slotchange event.
1869
- * @private
1870
- */
1871
- onDescriptionSlotChange(event) {
1872
- const assignedNodes = event.target.assignedElements();
1873
- const spinbutton = this.shadowRoot.querySelector('[role="spinbutton"]');
1874
-
1875
- if (spinbutton) {
1876
- if (assignedNodes.length > 0) {
1877
- spinbutton.ariaDescribedByElements = assignedNodes;
1878
- } else {
1879
- spinbutton.ariaDescribedByElements = [];
1880
- }
1881
- }
1882
- }
1883
-
1884
1865
  updated(changedProperties) {
1885
1866
  if (changedProperties.has("value")) {
1886
1867
  this.validate();
@@ -1932,22 +1913,22 @@ class AuroCounter extends i$2 {
1932
1913
 
1933
1914
  <div class="counterWrapper">
1934
1915
  <div class="counter">
1935
- <div class="content" >
1936
- <label id="counter-label" class="label">
1916
+ <div class="content" id="counter-label">
1917
+ <label class="label">
1937
1918
  <slot @slotchange="${this.onDefaultSlotChange}"></slot>
1938
1919
  </label>
1939
- <slot name="description" class="body-xs" @slotchange="${this.onDescriptionSlotChange}"></slot>
1920
+ <slot name="description" class="body-xs"></slot>
1940
1921
  </div>
1941
- <div
1942
- part="counterControl"
1943
- aria-disabled="${o$2(this.disabled ? 'true' : undefined)}"
1944
- aria-labelledby="counter-label"
1945
- aria-valuemax="${this.max}"
1946
- aria-valuemin="${this.min}"
1922
+ <div
1923
+ part="counterControl"
1924
+ aria-disabled="${o$2(this.disabled ? 'true' : undefined)}"
1925
+ aria-labelledby="counter-label"
1926
+ aria-valuemax="${this.max}"
1927
+ aria-valuemin="${this.min}"
1947
1928
  aria-valuenow="${this.value}"
1948
1929
  aria-valuetext="${this.value !== undefined ? this.value : this.min}"
1949
- role="spinbutton"
1950
- tabindex="${this.disabled ? '-1' : '0'}"
1930
+ role="spinbutton"
1931
+ tabindex="${this.disabled ? '-1' : '0'}"
1951
1932
  >
1952
1933
  <auro-counter-button
1953
1934
  aria-label="${this.runtimeUtils.getSlotText(this, 'ariaLabel.minus') || '−'}"
@@ -3799,6 +3780,7 @@ class AuroFloatingUI {
3799
3780
  this.focusHandler = null;
3800
3781
  this.clickHandler = null;
3801
3782
  this.keyDownHandler = null;
3783
+ this.touchHandler = null;
3802
3784
 
3803
3785
  /**
3804
3786
  * @private
@@ -4216,6 +4198,28 @@ class AuroFloatingUI {
4216
4198
  setTimeout(() => {
4217
4199
  window.addEventListener("click", this.clickHandler);
4218
4200
  }, 0);
4201
+
4202
+ // iOS Safari does not fire `click` on non-interactive elements, so
4203
+ // tapping an inert backdrop never reaches the click handler above.
4204
+ // Mirror the same outside-tap logic with a passive touchstart listener.
4205
+ this.touchHandler = (evt) => {
4206
+ const element = this.element;
4207
+ if (!element?.bib) {
4208
+ return;
4209
+ }
4210
+
4211
+ // fullscreen (modal) dialog handles its own dismissal
4212
+ if (element.bib.hasAttribute("isfullscreen")) {
4213
+ return;
4214
+ }
4215
+
4216
+ const path = evt.composedPath();
4217
+ if (!path.includes(element.trigger) && !path.includes(element.bib)) {
4218
+ this.hideBib("click");
4219
+ }
4220
+ };
4221
+
4222
+ window.addEventListener("touchstart", this.touchHandler, { passive: true });
4219
4223
  }
4220
4224
 
4221
4225
  cleanupHideHandlers() {
@@ -4231,6 +4235,11 @@ class AuroFloatingUI {
4231
4235
  this.clickHandler = null;
4232
4236
  }
4233
4237
 
4238
+ if (this.touchHandler) {
4239
+ window.removeEventListener("touchstart", this.touchHandler);
4240
+ this.touchHandler = null;
4241
+ }
4242
+
4234
4243
  if (this.keyDownHandler) {
4235
4244
  document.removeEventListener("keydown", this.keyDownHandler);
4236
4245
  this.keyDownHandler = null;
@@ -5705,7 +5714,7 @@ class AuroHelpText extends i$2 {
5705
5714
  }
5706
5715
  }
5707
5716
 
5708
- var formkitVersion = '202604091759';
5717
+ var formkitVersion = '202604101946';
5709
5718
 
5710
5719
  let AuroElement$1 = class AuroElement extends i$2 {
5711
5720
  static get properties() {
@@ -117,13 +117,6 @@ export class AuroCounter extends LitElement {
117
117
  * @private
118
118
  */
119
119
  private onDefaultSlotChange;
120
- /**
121
- * Sets ariaDescribedByElements on the spinbutton to the slotted description elements,
122
- * bridging the shadow DOM boundary for screen readers.
123
- * @param {Event} event - The slotchange event.
124
- * @private
125
- */
126
- private onDescriptionSlotChange;
127
120
  updated(changedProperties: any): void;
128
121
  /**
129
122
  * Returns HTML for the help text and error message.