@aurodesignsystem-dev/auro-formkit 0.0.0-pr1431.2 → 0.0.0-pr1432.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 (44) hide show
  1. package/components/checkbox/demo/api.min.js +2 -7
  2. package/components/checkbox/demo/index.min.js +2 -7
  3. package/components/checkbox/dist/auro-checkbox.d.ts +1 -1
  4. package/components/checkbox/dist/index.js +2 -7
  5. package/components/checkbox/dist/registered.js +2 -7
  6. package/components/combobox/demo/api.min.js +37 -7
  7. package/components/combobox/demo/index.min.js +37 -7
  8. package/components/combobox/dist/index.js +34 -6
  9. package/components/combobox/dist/registered.js +34 -6
  10. package/components/counter/demo/api.min.js +41 -32
  11. package/components/counter/demo/index.min.js +41 -32
  12. package/components/counter/dist/auro-counter.d.ts +0 -7
  13. package/components/counter/dist/index.js +41 -32
  14. package/components/counter/dist/registered.js +41 -32
  15. package/components/datepicker/demo/api.min.js +31 -3
  16. package/components/datepicker/demo/index.min.js +31 -3
  17. package/components/datepicker/dist/index.js +31 -3
  18. package/components/datepicker/dist/registered.js +31 -3
  19. package/components/dropdown/demo/api.min.js +29 -1
  20. package/components/dropdown/demo/index.min.js +29 -1
  21. package/components/dropdown/dist/index.js +29 -1
  22. package/components/dropdown/dist/registered.js +29 -1
  23. package/components/form/demo/api.min.js +143 -53
  24. package/components/form/demo/index.min.js +143 -53
  25. package/components/input/demo/api.min.js +1 -1
  26. package/components/input/demo/index.min.js +1 -1
  27. package/components/input/dist/index.js +1 -1
  28. package/components/input/dist/registered.js +1 -1
  29. package/components/menu/demo/api.md +1 -1
  30. package/components/menu/demo/api.min.js +3 -1
  31. package/components/menu/demo/index.min.js +3 -1
  32. package/components/menu/dist/auro-menuoption.d.ts +2 -0
  33. package/components/menu/dist/index.js +3 -1
  34. package/components/menu/dist/registered.js +3 -1
  35. package/components/radio/demo/api.min.js +1 -1
  36. package/components/radio/demo/index.min.js +1 -1
  37. package/components/radio/dist/index.js +1 -1
  38. package/components/radio/dist/registered.js +1 -1
  39. package/components/select/demo/api.min.js +33 -3
  40. package/components/select/demo/index.min.js +33 -3
  41. package/components/select/dist/index.js +30 -2
  42. package/components/select/dist/registered.js +30 -2
  43. package/custom-elements.json +1678 -1691
  44. package/package.json +2 -2
@@ -1521,7 +1521,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$2 {
1521
1521
  }
1522
1522
  };
1523
1523
 
1524
- var formkitVersion$1 = '202604091435';
1524
+ var formkitVersion$1 = '202604141823';
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 = '202604091435';
5717
+ var formkitVersion = '202604141823';
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 = '202604091435';
1524
+ var formkitVersion$1 = '202604141823';
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 = '202604091435';
5717
+ var formkitVersion = '202604141823';
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.
@@ -1471,7 +1471,7 @@ let AuroHelpText$1 = class AuroHelpText extends LitElement {
1471
1471
  }
1472
1472
  };
1473
1473
 
1474
- var formkitVersion$1 = '202604091435';
1474
+ var formkitVersion$1 = '202604141823';
1475
1475
 
1476
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.
@@ -1812,25 +1812,6 @@ class AuroCounter extends LitElement {
1812
1812
  }
1813
1813
  }
1814
1814
 
1815
- /**
1816
- * Sets ariaDescribedByElements on the spinbutton to the slotted description elements,
1817
- * bridging the shadow DOM boundary for screen readers.
1818
- * @param {Event} event - The slotchange event.
1819
- * @private
1820
- */
1821
- onDescriptionSlotChange(event) {
1822
- const assignedNodes = event.target.assignedElements();
1823
- const spinbutton = this.shadowRoot.querySelector('[role="spinbutton"]');
1824
-
1825
- if (spinbutton) {
1826
- if (assignedNodes.length > 0) {
1827
- spinbutton.ariaDescribedByElements = assignedNodes;
1828
- } else {
1829
- spinbutton.ariaDescribedByElements = [];
1830
- }
1831
- }
1832
- }
1833
-
1834
1815
  updated(changedProperties) {
1835
1816
  if (changedProperties.has("value")) {
1836
1817
  this.validate();
@@ -1882,22 +1863,22 @@ class AuroCounter extends LitElement {
1882
1863
 
1883
1864
  <div class="counterWrapper">
1884
1865
  <div class="counter">
1885
- <div class="content" >
1886
- <label id="counter-label" class="label">
1866
+ <div class="content" id="counter-label">
1867
+ <label class="label">
1887
1868
  <slot @slotchange="${this.onDefaultSlotChange}"></slot>
1888
1869
  </label>
1889
- <slot name="description" class="body-xs" @slotchange="${this.onDescriptionSlotChange}"></slot>
1870
+ <slot name="description" class="body-xs"></slot>
1890
1871
  </div>
1891
- <div
1892
- part="counterControl"
1893
- aria-disabled="${ifDefined(this.disabled ? 'true' : undefined)}"
1894
- aria-labelledby="counter-label"
1895
- aria-valuemax="${this.max}"
1896
- aria-valuemin="${this.min}"
1872
+ <div
1873
+ part="counterControl"
1874
+ aria-disabled="${ifDefined(this.disabled ? 'true' : undefined)}"
1875
+ aria-labelledby="counter-label"
1876
+ aria-valuemax="${this.max}"
1877
+ aria-valuemin="${this.min}"
1897
1878
  aria-valuenow="${this.value}"
1898
1879
  aria-valuetext="${this.value !== undefined ? this.value : this.min}"
1899
- role="spinbutton"
1900
- tabindex="${this.disabled ? '-1' : '0'}"
1880
+ role="spinbutton"
1881
+ tabindex="${this.disabled ? '-1' : '0'}"
1901
1882
  >
1902
1883
  <auro-counter-button
1903
1884
  aria-label="${this.runtimeUtils.getSlotText(this, 'ariaLabel.minus') || '−'}"
@@ -3731,6 +3712,7 @@ class AuroFloatingUI {
3731
3712
  this.focusHandler = null;
3732
3713
  this.clickHandler = null;
3733
3714
  this.keyDownHandler = null;
3715
+ this.touchHandler = null;
3734
3716
 
3735
3717
  /**
3736
3718
  * @private
@@ -4148,6 +4130,28 @@ class AuroFloatingUI {
4148
4130
  setTimeout(() => {
4149
4131
  window.addEventListener("click", this.clickHandler);
4150
4132
  }, 0);
4133
+
4134
+ // iOS Safari does not fire `click` on non-interactive elements, so
4135
+ // tapping an inert backdrop never reaches the click handler above.
4136
+ // Mirror the same outside-tap logic with a passive touchstart listener.
4137
+ this.touchHandler = (evt) => {
4138
+ const element = this.element;
4139
+ if (!element?.bib) {
4140
+ return;
4141
+ }
4142
+
4143
+ // fullscreen (modal) dialog handles its own dismissal
4144
+ if (element.bib.hasAttribute("isfullscreen")) {
4145
+ return;
4146
+ }
4147
+
4148
+ const path = evt.composedPath();
4149
+ if (!path.includes(element.trigger) && !path.includes(element.bib)) {
4150
+ this.hideBib("click");
4151
+ }
4152
+ };
4153
+
4154
+ window.addEventListener("touchstart", this.touchHandler, { passive: true });
4151
4155
  }
4152
4156
 
4153
4157
  cleanupHideHandlers() {
@@ -4163,6 +4167,11 @@ class AuroFloatingUI {
4163
4167
  this.clickHandler = null;
4164
4168
  }
4165
4169
 
4170
+ if (this.touchHandler) {
4171
+ window.removeEventListener("touchstart", this.touchHandler);
4172
+ this.touchHandler = null;
4173
+ }
4174
+
4166
4175
  if (this.keyDownHandler) {
4167
4176
  document.removeEventListener("keydown", this.keyDownHandler);
4168
4177
  this.keyDownHandler = null;
@@ -5637,7 +5646,7 @@ class AuroHelpText extends LitElement {
5637
5646
  }
5638
5647
  }
5639
5648
 
5640
- var formkitVersion = '202604091435';
5649
+ var formkitVersion = '202604141823';
5641
5650
 
5642
5651
  let AuroElement$1 = class AuroElement extends LitElement {
5643
5652
  static get properties() {
@@ -1471,7 +1471,7 @@ let AuroHelpText$1 = class AuroHelpText extends LitElement {
1471
1471
  }
1472
1472
  };
1473
1473
 
1474
- var formkitVersion$1 = '202604091435';
1474
+ var formkitVersion$1 = '202604141823';
1475
1475
 
1476
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.
@@ -1812,25 +1812,6 @@ class AuroCounter extends LitElement {
1812
1812
  }
1813
1813
  }
1814
1814
 
1815
- /**
1816
- * Sets ariaDescribedByElements on the spinbutton to the slotted description elements,
1817
- * bridging the shadow DOM boundary for screen readers.
1818
- * @param {Event} event - The slotchange event.
1819
- * @private
1820
- */
1821
- onDescriptionSlotChange(event) {
1822
- const assignedNodes = event.target.assignedElements();
1823
- const spinbutton = this.shadowRoot.querySelector('[role="spinbutton"]');
1824
-
1825
- if (spinbutton) {
1826
- if (assignedNodes.length > 0) {
1827
- spinbutton.ariaDescribedByElements = assignedNodes;
1828
- } else {
1829
- spinbutton.ariaDescribedByElements = [];
1830
- }
1831
- }
1832
- }
1833
-
1834
1815
  updated(changedProperties) {
1835
1816
  if (changedProperties.has("value")) {
1836
1817
  this.validate();
@@ -1882,22 +1863,22 @@ class AuroCounter extends LitElement {
1882
1863
 
1883
1864
  <div class="counterWrapper">
1884
1865
  <div class="counter">
1885
- <div class="content" >
1886
- <label id="counter-label" class="label">
1866
+ <div class="content" id="counter-label">
1867
+ <label class="label">
1887
1868
  <slot @slotchange="${this.onDefaultSlotChange}"></slot>
1888
1869
  </label>
1889
- <slot name="description" class="body-xs" @slotchange="${this.onDescriptionSlotChange}"></slot>
1870
+ <slot name="description" class="body-xs"></slot>
1890
1871
  </div>
1891
- <div
1892
- part="counterControl"
1893
- aria-disabled="${ifDefined(this.disabled ? 'true' : undefined)}"
1894
- aria-labelledby="counter-label"
1895
- aria-valuemax="${this.max}"
1896
- aria-valuemin="${this.min}"
1872
+ <div
1873
+ part="counterControl"
1874
+ aria-disabled="${ifDefined(this.disabled ? 'true' : undefined)}"
1875
+ aria-labelledby="counter-label"
1876
+ aria-valuemax="${this.max}"
1877
+ aria-valuemin="${this.min}"
1897
1878
  aria-valuenow="${this.value}"
1898
1879
  aria-valuetext="${this.value !== undefined ? this.value : this.min}"
1899
- role="spinbutton"
1900
- tabindex="${this.disabled ? '-1' : '0'}"
1880
+ role="spinbutton"
1881
+ tabindex="${this.disabled ? '-1' : '0'}"
1901
1882
  >
1902
1883
  <auro-counter-button
1903
1884
  aria-label="${this.runtimeUtils.getSlotText(this, 'ariaLabel.minus') || '−'}"
@@ -3731,6 +3712,7 @@ class AuroFloatingUI {
3731
3712
  this.focusHandler = null;
3732
3713
  this.clickHandler = null;
3733
3714
  this.keyDownHandler = null;
3715
+ this.touchHandler = null;
3734
3716
 
3735
3717
  /**
3736
3718
  * @private
@@ -4148,6 +4130,28 @@ class AuroFloatingUI {
4148
4130
  setTimeout(() => {
4149
4131
  window.addEventListener("click", this.clickHandler);
4150
4132
  }, 0);
4133
+
4134
+ // iOS Safari does not fire `click` on non-interactive elements, so
4135
+ // tapping an inert backdrop never reaches the click handler above.
4136
+ // Mirror the same outside-tap logic with a passive touchstart listener.
4137
+ this.touchHandler = (evt) => {
4138
+ const element = this.element;
4139
+ if (!element?.bib) {
4140
+ return;
4141
+ }
4142
+
4143
+ // fullscreen (modal) dialog handles its own dismissal
4144
+ if (element.bib.hasAttribute("isfullscreen")) {
4145
+ return;
4146
+ }
4147
+
4148
+ const path = evt.composedPath();
4149
+ if (!path.includes(element.trigger) && !path.includes(element.bib)) {
4150
+ this.hideBib("click");
4151
+ }
4152
+ };
4153
+
4154
+ window.addEventListener("touchstart", this.touchHandler, { passive: true });
4151
4155
  }
4152
4156
 
4153
4157
  cleanupHideHandlers() {
@@ -4163,6 +4167,11 @@ class AuroFloatingUI {
4163
4167
  this.clickHandler = null;
4164
4168
  }
4165
4169
 
4170
+ if (this.touchHandler) {
4171
+ window.removeEventListener("touchstart", this.touchHandler);
4172
+ this.touchHandler = null;
4173
+ }
4174
+
4166
4175
  if (this.keyDownHandler) {
4167
4176
  document.removeEventListener("keydown", this.keyDownHandler);
4168
4177
  this.keyDownHandler = null;
@@ -5637,7 +5646,7 @@ class AuroHelpText extends LitElement {
5637
5646
  }
5638
5647
  }
5639
5648
 
5640
- var formkitVersion = '202604091435';
5649
+ var formkitVersion = '202604141823';
5641
5650
 
5642
5651
  let AuroElement$1 = class AuroElement extends LitElement {
5643
5652
  static get properties() {
@@ -9560,7 +9560,7 @@ class AuroBibtemplate extends i$1 {
9560
9560
  }
9561
9561
  }
9562
9562
 
9563
- var formkitVersion$2 = '202604091435';
9563
+ var formkitVersion$2 = '202604141823';
9564
9564
 
9565
9565
  let l$1 = class l{generateElementName(t,e){let o=t;return o+="-",o+=e.replace(/[.]/g,"_"),o}generateTag(o,s,a){const r=this.generateElementName(o,s),i=i$5`${s$5(r)}`;return customElements.get(r)||customElements.define(r,class extends a{}),i}};let d$1 = class d{registerComponent(t,e){customElements.get(t)||customElements.define(t,class extends e{});}closestElement(t,e=this,o=(e,s=e&&e.closest(t))=>e&&e!==document&&e!==window?s||o(e.getRootNode().host):null){return o(e)}handleComponentTagRename(t,e){const o=e.toLowerCase();t.tagName.toLowerCase()!==o&&t.setAttribute(o,true);}elementMatch(t,e){const o=e.toLowerCase();return t.tagName.toLowerCase()===o||t.hasAttribute(o)}getSlotText(t,e){const o=t.shadowRoot?.querySelector(`slot[name="${e}"]`),s=(o?.assignedNodes({flatten:true})||[]).map(t=>t.textContent?.trim()).join(" ").trim();return s||null}};let h$4 = class h{registerComponent(t,e){customElements.get(t)||customElements.define(t,class extends e{});}closestElement(t,e=this,o=(e,s=e&&e.closest(t))=>e&&e!==document&&e!==window?s||o(e.getRootNode().host):null){return o(e)}handleComponentTagRename(t,e){const o=e.toLowerCase();t.tagName.toLowerCase()!==o&&t.setAttribute(o,true);}elementMatch(t,e){const o=e.toLowerCase();return t.tagName.toLowerCase()===o||t.hasAttribute(o)}};var c$3=i$3`:host{color:var(--ds-auro-loader-color)}:host>span{background-color:var(--ds-auro-loader-background-color);border-color:var(--ds-auro-loader-border-color)}:host([onlight]),:host([appearance=brand]){--ds-auro-loader-color: var(--ds-basic-color-brand-primary, #01426a)}:host([ondark]),:host([appearance=inverse]){--ds-auro-loader-color: var(--ds-basic-color-texticon-inverse, #ffffff)}:host([orbit])>span{--ds-auro-loader-background-color: transparent}:host([orbit])>span:nth-child(1){--ds-auro-loader-border-color: currentcolor;opacity:.25}:host([orbit])>span:nth-child(2){--ds-auro-loader-border-color: currentcolor;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent}
9566
9566
  `,u$6=i$3`.body-default{font-size:var(--wcss-body-default-font-size, 1rem);line-height:var(--wcss-body-default-line-height, 1.5rem)}.body-default,.body-lg{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-weight, 450);letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-lg{font-size:var(--wcss-body-lg-font-size, 1.125rem);line-height:var(--wcss-body-lg-line-height, 1.625rem)}.body-sm{font-size:var(--wcss-body-sm-font-size, .875rem);line-height:var(--wcss-body-sm-line-height, 1.25rem)}.body-sm,.body-xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-weight, 450);letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-xs{font-size:var(--wcss-body-xs-font-size, .75rem);line-height:var(--wcss-body-xs-line-height, 1rem)}.body-2xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:var(--wcss-body-2xs-font-size, .625rem);font-weight:var(--wcss-body-weight, 450);letter-spacing:var(--wcss-body-letter-spacing, 0);line-height:var(--wcss-body-2xs-line-height, .875rem)}.display-2xl{font-family:var(--wcss-display-2xl-family, "AS Circular"),var(--wcss-display-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-2xl-font-size, clamp(3.5rem, 6vw, 5.375rem));font-weight:var(--wcss-display-2xl-weight, 300);letter-spacing:var(--wcss-display-2xl-letter-spacing, 0);line-height:var(--wcss-display-2xl-line-height, 1.3)}.display-xl{font-family:var(--wcss-display-xl-family, "AS Circular"),var(--wcss-display-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-xl-font-size, clamp(3rem, 5.3333333333vw, 4.5rem));font-weight:var(--wcss-display-xl-weight, 300);letter-spacing:var(--wcss-display-xl-letter-spacing, 0);line-height:var(--wcss-display-xl-line-height, 1.3)}.display-lg{font-family:var(--wcss-display-lg-family, "AS Circular"),var(--wcss-display-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-lg-font-size, clamp(2.75rem, 4.6666666667vw, 4rem));font-weight:var(--wcss-display-lg-weight, 300);letter-spacing:var(--wcss-display-lg-letter-spacing, 0);line-height:var(--wcss-display-lg-line-height, 1.3)}.display-md{font-family:var(--wcss-display-md-family, "AS Circular"),var(--wcss-display-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-md-font-size, clamp(2.5rem, 4vw, 3.5rem));font-weight:var(--wcss-display-md-weight, 300);letter-spacing:var(--wcss-display-md-letter-spacing, 0);line-height:var(--wcss-display-md-line-height, 1.3)}.display-sm{font-family:var(--wcss-display-sm-family, "AS Circular"),var(--wcss-display-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-sm-font-size, clamp(2rem, 3.6666666667vw, 3rem));font-weight:var(--wcss-display-sm-weight, 300);letter-spacing:var(--wcss-display-sm-letter-spacing, 0);line-height:var(--wcss-display-sm-line-height, 1.3)}.display-xs{font-family:var(--wcss-display-xs-family, "AS Circular"),var(--wcss-display-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-xs-font-size, clamp(1.75rem, 3vw, 2.375rem));font-weight:var(--wcss-display-xs-weight, 300);letter-spacing:var(--wcss-display-xs-letter-spacing, 0);line-height:var(--wcss-display-xs-line-height, 1.3)}.heading-xl{font-family:var(--wcss-heading-xl-family, "AS Circular"),var(--wcss-heading-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-xl-font-size, clamp(2rem, 3vw, 2.5rem));font-weight:var(--wcss-heading-xl-weight, 300);letter-spacing:var(--wcss-heading-xl-letter-spacing, 0);line-height:var(--wcss-heading-xl-line-height, 1.3)}.heading-lg{font-family:var(--wcss-heading-lg-family, "AS Circular"),var(--wcss-heading-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-lg-font-size, clamp(1.75rem, 2.6666666667vw, 2.25rem));font-weight:var(--wcss-heading-lg-weight, 300);letter-spacing:var(--wcss-heading-lg-letter-spacing, 0);line-height:var(--wcss-heading-lg-line-height, 1.3)}.heading-md{font-family:var(--wcss-heading-md-family, "AS Circular"),var(--wcss-heading-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-md-font-size, clamp(1.625rem, 2.3333333333vw, 1.75rem));font-weight:var(--wcss-heading-md-weight, 300);letter-spacing:var(--wcss-heading-md-letter-spacing, 0);line-height:var(--wcss-heading-md-line-height, 1.3)}.heading-sm{font-family:var(--wcss-heading-sm-family, "AS Circular"),var(--wcss-heading-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-sm-font-size, clamp(1.375rem, 2vw, 1.5rem));font-weight:var(--wcss-heading-sm-weight, 300);letter-spacing:var(--wcss-heading-sm-letter-spacing, 0);line-height:var(--wcss-heading-sm-line-height, 1.3)}.heading-xs{font-family:var(--wcss-heading-xs-family, "AS Circular"),var(--wcss-heading-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-xs-font-size, clamp(1.25rem, 1.6666666667vw, 1.25rem));font-weight:var(--wcss-heading-xs-weight, 450);letter-spacing:var(--wcss-heading-xs-letter-spacing, 0);line-height:var(--wcss-heading-xs-line-height, 1.3)}.heading-2xs{font-family:var(--wcss-heading-2xs-family, "AS Circular"),var(--wcss-heading-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-2xs-font-size, clamp(1.125rem, 1.5vw, 1.125rem));font-weight:var(--wcss-heading-2xs-weight, 450);letter-spacing:var(--wcss-heading-2xs-letter-spacing, 0);line-height:var(--wcss-heading-2xs-line-height, 1.3)}.accent-2xl{font-family:var(--wcss-accent-2xl-family, "Good OT"),var(--wcss-accent-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-2xl-font-size, clamp(2rem, 3.1666666667vw, 2.375rem));font-weight:var(--wcss-accent-2xl-weight, 450);letter-spacing:var(--wcss-accent-2xl-letter-spacing, .05em);line-height:var(--wcss-accent-2xl-line-height, 1)}.accent-2xl,.accent-xl{text-transform:uppercase}.accent-xl{font-family:var(--wcss-accent-xl-family, "Good OT"),var(--wcss-accent-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-xl-font-size, clamp(1.625rem, 2.3333333333vw, 2rem));font-weight:var(--wcss-accent-xl-weight, 450);letter-spacing:var(--wcss-accent-xl-letter-spacing, .05em);line-height:var(--wcss-accent-xl-line-height, 1.3)}.accent-lg{font-family:var(--wcss-accent-lg-family, "Good OT"),var(--wcss-accent-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-lg-font-size, clamp(1.5rem, 2.1666666667vw, 1.75rem));font-weight:var(--wcss-accent-lg-weight, 450);letter-spacing:var(--wcss-accent-lg-letter-spacing, .05em);line-height:var(--wcss-accent-lg-line-height, 1.3)}.accent-lg,.accent-md{text-transform:uppercase}.accent-md{font-family:var(--wcss-accent-md-family, "Good OT"),var(--wcss-accent-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-md-font-size, clamp(1.375rem, 1.8333333333vw, 1.5rem));font-weight:var(--wcss-accent-md-weight, 500);letter-spacing:var(--wcss-accent-md-letter-spacing, .05em);line-height:var(--wcss-accent-md-line-height, 1.3)}.accent-sm{font-family:var(--wcss-accent-sm-family, "Good OT"),var(--wcss-accent-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-sm-font-size, clamp(1.125rem, 1.5vw, 1.25rem));font-weight:var(--wcss-accent-sm-weight, 500);letter-spacing:var(--wcss-accent-sm-letter-spacing, .05em);line-height:var(--wcss-accent-sm-line-height, 1.3)}.accent-sm,.accent-xs{text-transform:uppercase}.accent-xs{font-family:var(--wcss-accent-xs-family, "Good OT"),var(--wcss-accent-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-xs-font-size, clamp(1rem, 1.3333333333vw, 1rem));font-weight:var(--wcss-accent-xs-weight, 500);letter-spacing:var(--wcss-accent-xs-letter-spacing, .1em);line-height:var(--wcss-accent-xs-line-height, 1.3)}.accent-2xs{font-family:var(--wcss-accent-2xs-family, "Good OT"),var(--wcss-accent-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-2xs-font-size, clamp(.875rem, 1.1666666667vw, .875rem));font-weight:var(--wcss-accent-2xs-weight, 450);letter-spacing:var(--wcss-accent-2xs-letter-spacing, .1em);line-height:var(--wcss-accent-2xs-line-height, 1.3);text-transform:uppercase}:focus:not(:focus-visible){outline:3px solid transparent}:host,:host>span{position:relative}:host{width:2rem;height:2rem;display:inline-block;font-size:0}:host>span{position:absolute;display:inline-block;float:none;top:0;left:0;width:2rem;height:2rem;border-radius:100%;border-style:solid;border-width:0;box-sizing:border-box}:host([xs]),:host([xs])>span{width:1.2rem;height:1.2rem}:host([sm]),:host([sm])>span{width:3rem;height:3rem}:host([md]),:host([md])>span{width:5rem;height:5rem}:host([lg]),:host([lg])>span{width:8rem;height:8rem}:host{--margin: .375rem;--margin-xs: .2rem;--margin-sm: .5rem;--margin-md: .75rem;--margin-lg: 1rem}:host([pulse]),:host([pulse])>span{position:relative}:host([pulse]){width:calc(3rem + var(--margin) * 6);height:calc(1rem + var(--margin) * 2)}:host([pulse])>span{width:1rem;height:1rem;margin:var(--margin);animation:pulse 1.5s ease infinite}:host([pulse][xs]){width:calc(1.95rem + var(--margin-xs) * 6);height:calc(.65rem + var(--margin-xs) * 2)}:host([pulse][xs])>span{margin:var(--margin-xs);width:.65rem;height:.65rem}:host([pulse][sm]){width:calc(6rem + var(--margin-sm) * 6);height:calc(2rem + var(--margin-sm) * 2)}:host([pulse][sm])>span{margin:var(--margin-sm);width:2rem;height:2rem}:host([pulse][md]){width:calc(9rem + var(--margin-md) * 6);height:calc(3rem + var(--margin-md) * 2)}:host([pulse][md])>span{margin:var(--margin-md);width:3rem;height:3rem}:host([pulse][lg]){width:calc(15rem + var(--margin-lg) * 6);height:calc(5rem + var(--margin-lg) * 2)}:host([pulse][lg])>span{margin:var(--margin-lg);width:5rem;height:5rem}:host([pulse])>span:nth-child(1){animation-delay:-.4s}:host([pulse])>span:nth-child(2){animation-delay:-.2s}:host([pulse])>span:nth-child(3){animation-delay:0ms}@keyframes pulse{0%,to{opacity:.1;transform:scale(.9)}50%{opacity:1;transform:scale(1.1)}}:host([orbit]),:host([orbit])>span{opacity:1}:host([orbit])>span{border-width:5px}:host([orbit])>span:nth-child(2){animation:orbit 2s linear infinite}:host([orbit][sm])>span{border-width:8px}:host([orbit][md])>span{border-width:13px}:host([orbit][lg])>span{border-width:21px}@keyframes orbit{0%{transform:rotate(0)}to{transform:rotate(360deg)}}:host([ringworm])>svg{animation:rotate 2s linear infinite;height:100%;width:100%;stroke:currentcolor;stroke-width:8}:host([ringworm]) .path{stroke-dashoffset:0;animation:ringworm 1.5s ease-in-out infinite;stroke-linecap:round}@keyframes rotate{to{transform:rotate(360deg)}}@keyframes ringworm{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px}to{stroke-dasharray:89,200;stroke-dashoffset:-124px}}:host([laser]){position:static;width:100%;display:block;height:0;overflow:hidden;font-size:unset}:host([laser])>span{position:fixed;width:100%;height:.25rem;border-radius:0;z-index:100}:host([laser])>span:nth-child(1){border-color:currentcolor;opacity:.25}:host([laser])>span:nth-child(2){border-color:currentcolor;animation:laser 2s linear infinite;opacity:1;width:50%}:host([laser][sm])>span:nth-child(2){width:20%}:host([laser][md])>span:nth-child(2){width:30%}:host([laser][lg])>span:nth-child(2){width:50%;animation-duration:1.5s}:host([laser][xl])>span:nth-child(2){width:80%;animation-duration:1.5s}@keyframes laser{0%{left:-100%}to{left:110%}}:host>.no-animation{display:none}@media (prefers-reduced-motion: reduce){:host{display:flex;align-items:center;justify-content:center}:host>span{opacity:1}:host>.loader{display:none}:host>svg{display:none}:host>.no-animation{display:block}}
@@ -11856,6 +11856,7 @@ class AuroFloatingUI {
11856
11856
  this.focusHandler = null;
11857
11857
  this.clickHandler = null;
11858
11858
  this.keyDownHandler = null;
11859
+ this.touchHandler = null;
11859
11860
 
11860
11861
  /**
11861
11862
  * @private
@@ -12273,6 +12274,28 @@ class AuroFloatingUI {
12273
12274
  setTimeout(() => {
12274
12275
  window.addEventListener("click", this.clickHandler);
12275
12276
  }, 0);
12277
+
12278
+ // iOS Safari does not fire `click` on non-interactive elements, so
12279
+ // tapping an inert backdrop never reaches the click handler above.
12280
+ // Mirror the same outside-tap logic with a passive touchstart listener.
12281
+ this.touchHandler = (evt) => {
12282
+ const element = this.element;
12283
+ if (!element?.bib) {
12284
+ return;
12285
+ }
12286
+
12287
+ // fullscreen (modal) dialog handles its own dismissal
12288
+ if (element.bib.hasAttribute("isfullscreen")) {
12289
+ return;
12290
+ }
12291
+
12292
+ const path = evt.composedPath();
12293
+ if (!path.includes(element.trigger) && !path.includes(element.bib)) {
12294
+ this.hideBib("click");
12295
+ }
12296
+ };
12297
+
12298
+ window.addEventListener("touchstart", this.touchHandler, { passive: true });
12276
12299
  }
12277
12300
 
12278
12301
  cleanupHideHandlers() {
@@ -12288,6 +12311,11 @@ class AuroFloatingUI {
12288
12311
  this.clickHandler = null;
12289
12312
  }
12290
12313
 
12314
+ if (this.touchHandler) {
12315
+ window.removeEventListener("touchstart", this.touchHandler);
12316
+ this.touchHandler = null;
12317
+ }
12318
+
12291
12319
  if (this.keyDownHandler) {
12292
12320
  document.removeEventListener("keydown", this.keyDownHandler);
12293
12321
  this.keyDownHandler = null;
@@ -13762,7 +13790,7 @@ let AuroHelpText$2 = class AuroHelpText extends i$1 {
13762
13790
  }
13763
13791
  };
13764
13792
 
13765
- var formkitVersion$1 = '202604091435';
13793
+ var formkitVersion$1 = '202604141823';
13766
13794
 
13767
13795
  let AuroElement$2 = class AuroElement extends i$1 {
13768
13796
  static get properties() {
@@ -21526,7 +21554,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$1 {
21526
21554
  }
21527
21555
  };
21528
21556
 
21529
- var formkitVersion = '202604091435';
21557
+ var formkitVersion = '202604141823';
21530
21558
 
21531
21559
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
21532
21560
  // See LICENSE in the project root for license information.