@aurodesignsystem-dev/auro-formkit 0.0.0-pr1424.4 → 0.0.0-pr1424.6

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 (42) hide show
  1. package/components/checkbox/demo/api.min.js +2 -8
  2. package/components/checkbox/demo/index.min.js +2 -8
  3. package/components/checkbox/dist/auro-checkbox.d.ts +1 -1
  4. package/components/checkbox/dist/index.js +2 -8
  5. package/components/checkbox/dist/registered.js +2 -8
  6. package/components/combobox/demo/api.min.js +32 -16
  7. package/components/combobox/demo/index.min.js +32 -16
  8. package/components/combobox/dist/index.js +32 -16
  9. package/components/combobox/dist/registered.js +32 -16
  10. package/components/counter/demo/api.min.js +45 -21
  11. package/components/counter/demo/index.min.js +45 -21
  12. package/components/counter/dist/auro-counter.d.ts +3 -2
  13. package/components/counter/dist/index.js +45 -21
  14. package/components/counter/dist/registered.js +45 -21
  15. package/components/datepicker/demo/api.md +6 -6
  16. package/components/datepicker/demo/api.min.js +51 -29
  17. package/components/datepicker/demo/index.min.js +51 -29
  18. package/components/datepicker/dist/auro-datepicker.d.ts +2 -1
  19. package/components/datepicker/dist/index.js +51 -29
  20. package/components/datepicker/dist/registered.js +51 -29
  21. package/components/dropdown/demo/api.min.js +29 -1
  22. package/components/dropdown/demo/index.min.js +29 -1
  23. package/components/dropdown/dist/index.js +29 -1
  24. package/components/dropdown/dist/registered.js +29 -1
  25. package/components/form/demo/api.min.js +162 -90
  26. package/components/form/demo/index.min.js +162 -90
  27. package/components/input/demo/api.min.js +1 -13
  28. package/components/input/demo/index.min.js +1 -13
  29. package/components/input/dist/base-input.d.ts +0 -7
  30. package/components/input/dist/index.js +1 -13
  31. package/components/input/dist/registered.js +1 -13
  32. package/components/radio/demo/api.min.js +1 -1
  33. package/components/radio/demo/index.min.js +1 -1
  34. package/components/radio/dist/index.js +1 -1
  35. package/components/radio/dist/registered.js +1 -1
  36. package/components/select/demo/api.min.js +30 -2
  37. package/components/select/demo/index.min.js +30 -2
  38. package/components/select/demo/keyboard-behavior.html +81 -0
  39. package/components/select/dist/index.js +30 -2
  40. package/components/select/dist/registered.js +30 -2
  41. package/custom-elements.json +1426 -1470
  42. 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 = '202604091759';
1524
+ var formkitVersion$1 = '202604222001';
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.
@@ -1863,21 +1863,17 @@ class AuroCounter extends i$2 {
1863
1863
  }
1864
1864
 
1865
1865
  /**
1866
- * Sets ariaDescribedByElements on the spinbutton to the slotted description elements,
1867
- * bridging the shadow DOM boundary for screen readers.
1866
+ * Handles the slotchange event for the description slot.
1867
+ * Updates ariaDescribedByElements on the spinbutton.
1868
+ *
1868
1869
  * @param {Event} event - The slotchange event.
1869
1870
  * @private
1870
1871
  */
1871
1872
  onDescriptionSlotChange(event) {
1872
- const assignedNodes = event.target.assignedElements();
1873
1873
  const spinbutton = this.shadowRoot.querySelector('[role="spinbutton"]');
1874
-
1875
1874
  if (spinbutton) {
1876
- if (assignedNodes.length > 0) {
1877
- spinbutton.ariaDescribedByElements = assignedNodes;
1878
- } else {
1879
- spinbutton.ariaDescribedByElements = [];
1880
- }
1875
+ const assigned = event.target.assignedElements();
1876
+ spinbutton.ariaDescribedByElements = assigned.length > 0 ? assigned : [];
1881
1877
  }
1882
1878
  }
1883
1879
 
@@ -1932,22 +1928,22 @@ class AuroCounter extends i$2 {
1932
1928
 
1933
1929
  <div class="counterWrapper">
1934
1930
  <div class="counter">
1935
- <div class="content" >
1936
- <label id="counter-label" class="label">
1931
+ <div class="content" id="counter-label">
1932
+ <label class="label">
1937
1933
  <slot @slotchange="${this.onDefaultSlotChange}"></slot>
1938
1934
  </label>
1939
1935
  <slot name="description" class="body-xs" @slotchange="${this.onDescriptionSlotChange}"></slot>
1940
1936
  </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}"
1937
+ <div
1938
+ part="counterControl"
1939
+ aria-disabled="${o$2(this.disabled ? 'true' : undefined)}"
1940
+ aria-labelledby="counter-label"
1941
+ aria-valuemax="${this.max}"
1942
+ aria-valuemin="${this.min}"
1947
1943
  aria-valuenow="${this.value}"
1948
1944
  aria-valuetext="${this.value !== undefined ? this.value : this.min}"
1949
- role="spinbutton"
1950
- tabindex="${this.disabled ? '-1' : '0'}"
1945
+ role="spinbutton"
1946
+ tabindex="${this.disabled ? '-1' : '0'}"
1951
1947
  >
1952
1948
  <auro-counter-button
1953
1949
  aria-label="${this.runtimeUtils.getSlotText(this, 'ariaLabel.minus') || '−'}"
@@ -3799,6 +3795,7 @@ class AuroFloatingUI {
3799
3795
  this.focusHandler = null;
3800
3796
  this.clickHandler = null;
3801
3797
  this.keyDownHandler = null;
3798
+ this.touchHandler = null;
3802
3799
 
3803
3800
  /**
3804
3801
  * @private
@@ -4216,6 +4213,28 @@ class AuroFloatingUI {
4216
4213
  setTimeout(() => {
4217
4214
  window.addEventListener("click", this.clickHandler);
4218
4215
  }, 0);
4216
+
4217
+ // iOS Safari does not fire `click` on non-interactive elements, so
4218
+ // tapping an inert backdrop never reaches the click handler above.
4219
+ // Mirror the same outside-tap logic with a passive touchstart listener.
4220
+ this.touchHandler = (evt) => {
4221
+ const element = this.element;
4222
+ if (!element?.bib) {
4223
+ return;
4224
+ }
4225
+
4226
+ // fullscreen (modal) dialog handles its own dismissal
4227
+ if (element.bib.hasAttribute("isfullscreen")) {
4228
+ return;
4229
+ }
4230
+
4231
+ const path = evt.composedPath();
4232
+ if (!path.includes(element.trigger) && !path.includes(element.bib)) {
4233
+ this.hideBib("click");
4234
+ }
4235
+ };
4236
+
4237
+ window.addEventListener("touchstart", this.touchHandler, { passive: true });
4219
4238
  }
4220
4239
 
4221
4240
  cleanupHideHandlers() {
@@ -4231,6 +4250,11 @@ class AuroFloatingUI {
4231
4250
  this.clickHandler = null;
4232
4251
  }
4233
4252
 
4253
+ if (this.touchHandler) {
4254
+ window.removeEventListener("touchstart", this.touchHandler);
4255
+ this.touchHandler = null;
4256
+ }
4257
+
4234
4258
  if (this.keyDownHandler) {
4235
4259
  document.removeEventListener("keydown", this.keyDownHandler);
4236
4260
  this.keyDownHandler = null;
@@ -5705,7 +5729,7 @@ class AuroHelpText extends i$2 {
5705
5729
  }
5706
5730
  }
5707
5731
 
5708
- var formkitVersion = '202604091759';
5732
+ var formkitVersion = '202604222001';
5709
5733
 
5710
5734
  let AuroElement$1 = class AuroElement extends i$2 {
5711
5735
  static get properties() {
@@ -118,8 +118,9 @@ export class AuroCounter extends LitElement {
118
118
  */
119
119
  private onDefaultSlotChange;
120
120
  /**
121
- * Sets ariaDescribedByElements on the spinbutton to the slotted description elements,
122
- * bridging the shadow DOM boundary for screen readers.
121
+ * Handles the slotchange event for the description slot.
122
+ * Updates ariaDescribedByElements on the spinbutton.
123
+ *
123
124
  * @param {Event} event - The slotchange event.
124
125
  * @private
125
126
  */
@@ -1471,7 +1471,7 @@ let AuroHelpText$1 = class AuroHelpText extends LitElement {
1471
1471
  }
1472
1472
  };
1473
1473
 
1474
- var formkitVersion$1 = '202604091759';
1474
+ var formkitVersion$1 = '202604222001';
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.
@@ -1813,21 +1813,17 @@ class AuroCounter extends LitElement {
1813
1813
  }
1814
1814
 
1815
1815
  /**
1816
- * Sets ariaDescribedByElements on the spinbutton to the slotted description elements,
1817
- * bridging the shadow DOM boundary for screen readers.
1816
+ * Handles the slotchange event for the description slot.
1817
+ * Updates ariaDescribedByElements on the spinbutton.
1818
+ *
1818
1819
  * @param {Event} event - The slotchange event.
1819
1820
  * @private
1820
1821
  */
1821
1822
  onDescriptionSlotChange(event) {
1822
- const assignedNodes = event.target.assignedElements();
1823
1823
  const spinbutton = this.shadowRoot.querySelector('[role="spinbutton"]');
1824
-
1825
1824
  if (spinbutton) {
1826
- if (assignedNodes.length > 0) {
1827
- spinbutton.ariaDescribedByElements = assignedNodes;
1828
- } else {
1829
- spinbutton.ariaDescribedByElements = [];
1830
- }
1825
+ const assigned = event.target.assignedElements();
1826
+ spinbutton.ariaDescribedByElements = assigned.length > 0 ? assigned : [];
1831
1827
  }
1832
1828
  }
1833
1829
 
@@ -1882,22 +1878,22 @@ class AuroCounter extends LitElement {
1882
1878
 
1883
1879
  <div class="counterWrapper">
1884
1880
  <div class="counter">
1885
- <div class="content" >
1886
- <label id="counter-label" class="label">
1881
+ <div class="content" id="counter-label">
1882
+ <label class="label">
1887
1883
  <slot @slotchange="${this.onDefaultSlotChange}"></slot>
1888
1884
  </label>
1889
1885
  <slot name="description" class="body-xs" @slotchange="${this.onDescriptionSlotChange}"></slot>
1890
1886
  </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}"
1887
+ <div
1888
+ part="counterControl"
1889
+ aria-disabled="${ifDefined(this.disabled ? 'true' : undefined)}"
1890
+ aria-labelledby="counter-label"
1891
+ aria-valuemax="${this.max}"
1892
+ aria-valuemin="${this.min}"
1897
1893
  aria-valuenow="${this.value}"
1898
1894
  aria-valuetext="${this.value !== undefined ? this.value : this.min}"
1899
- role="spinbutton"
1900
- tabindex="${this.disabled ? '-1' : '0'}"
1895
+ role="spinbutton"
1896
+ tabindex="${this.disabled ? '-1' : '0'}"
1901
1897
  >
1902
1898
  <auro-counter-button
1903
1899
  aria-label="${this.runtimeUtils.getSlotText(this, 'ariaLabel.minus') || '−'}"
@@ -3731,6 +3727,7 @@ class AuroFloatingUI {
3731
3727
  this.focusHandler = null;
3732
3728
  this.clickHandler = null;
3733
3729
  this.keyDownHandler = null;
3730
+ this.touchHandler = null;
3734
3731
 
3735
3732
  /**
3736
3733
  * @private
@@ -4148,6 +4145,28 @@ class AuroFloatingUI {
4148
4145
  setTimeout(() => {
4149
4146
  window.addEventListener("click", this.clickHandler);
4150
4147
  }, 0);
4148
+
4149
+ // iOS Safari does not fire `click` on non-interactive elements, so
4150
+ // tapping an inert backdrop never reaches the click handler above.
4151
+ // Mirror the same outside-tap logic with a passive touchstart listener.
4152
+ this.touchHandler = (evt) => {
4153
+ const element = this.element;
4154
+ if (!element?.bib) {
4155
+ return;
4156
+ }
4157
+
4158
+ // fullscreen (modal) dialog handles its own dismissal
4159
+ if (element.bib.hasAttribute("isfullscreen")) {
4160
+ return;
4161
+ }
4162
+
4163
+ const path = evt.composedPath();
4164
+ if (!path.includes(element.trigger) && !path.includes(element.bib)) {
4165
+ this.hideBib("click");
4166
+ }
4167
+ };
4168
+
4169
+ window.addEventListener("touchstart", this.touchHandler, { passive: true });
4151
4170
  }
4152
4171
 
4153
4172
  cleanupHideHandlers() {
@@ -4163,6 +4182,11 @@ class AuroFloatingUI {
4163
4182
  this.clickHandler = null;
4164
4183
  }
4165
4184
 
4185
+ if (this.touchHandler) {
4186
+ window.removeEventListener("touchstart", this.touchHandler);
4187
+ this.touchHandler = null;
4188
+ }
4189
+
4166
4190
  if (this.keyDownHandler) {
4167
4191
  document.removeEventListener("keydown", this.keyDownHandler);
4168
4192
  this.keyDownHandler = null;
@@ -5637,7 +5661,7 @@ class AuroHelpText extends LitElement {
5637
5661
  }
5638
5662
  }
5639
5663
 
5640
- var formkitVersion = '202604091759';
5664
+ var formkitVersion = '202604222001';
5641
5665
 
5642
5666
  let AuroElement$1 = class AuroElement extends LitElement {
5643
5667
  static get properties() {
@@ -1471,7 +1471,7 @@ let AuroHelpText$1 = class AuroHelpText extends LitElement {
1471
1471
  }
1472
1472
  };
1473
1473
 
1474
- var formkitVersion$1 = '202604091759';
1474
+ var formkitVersion$1 = '202604222001';
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.
@@ -1813,21 +1813,17 @@ class AuroCounter extends LitElement {
1813
1813
  }
1814
1814
 
1815
1815
  /**
1816
- * Sets ariaDescribedByElements on the spinbutton to the slotted description elements,
1817
- * bridging the shadow DOM boundary for screen readers.
1816
+ * Handles the slotchange event for the description slot.
1817
+ * Updates ariaDescribedByElements on the spinbutton.
1818
+ *
1818
1819
  * @param {Event} event - The slotchange event.
1819
1820
  * @private
1820
1821
  */
1821
1822
  onDescriptionSlotChange(event) {
1822
- const assignedNodes = event.target.assignedElements();
1823
1823
  const spinbutton = this.shadowRoot.querySelector('[role="spinbutton"]');
1824
-
1825
1824
  if (spinbutton) {
1826
- if (assignedNodes.length > 0) {
1827
- spinbutton.ariaDescribedByElements = assignedNodes;
1828
- } else {
1829
- spinbutton.ariaDescribedByElements = [];
1830
- }
1825
+ const assigned = event.target.assignedElements();
1826
+ spinbutton.ariaDescribedByElements = assigned.length > 0 ? assigned : [];
1831
1827
  }
1832
1828
  }
1833
1829
 
@@ -1882,22 +1878,22 @@ class AuroCounter extends LitElement {
1882
1878
 
1883
1879
  <div class="counterWrapper">
1884
1880
  <div class="counter">
1885
- <div class="content" >
1886
- <label id="counter-label" class="label">
1881
+ <div class="content" id="counter-label">
1882
+ <label class="label">
1887
1883
  <slot @slotchange="${this.onDefaultSlotChange}"></slot>
1888
1884
  </label>
1889
1885
  <slot name="description" class="body-xs" @slotchange="${this.onDescriptionSlotChange}"></slot>
1890
1886
  </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}"
1887
+ <div
1888
+ part="counterControl"
1889
+ aria-disabled="${ifDefined(this.disabled ? 'true' : undefined)}"
1890
+ aria-labelledby="counter-label"
1891
+ aria-valuemax="${this.max}"
1892
+ aria-valuemin="${this.min}"
1897
1893
  aria-valuenow="${this.value}"
1898
1894
  aria-valuetext="${this.value !== undefined ? this.value : this.min}"
1899
- role="spinbutton"
1900
- tabindex="${this.disabled ? '-1' : '0'}"
1895
+ role="spinbutton"
1896
+ tabindex="${this.disabled ? '-1' : '0'}"
1901
1897
  >
1902
1898
  <auro-counter-button
1903
1899
  aria-label="${this.runtimeUtils.getSlotText(this, 'ariaLabel.minus') || '−'}"
@@ -3731,6 +3727,7 @@ class AuroFloatingUI {
3731
3727
  this.focusHandler = null;
3732
3728
  this.clickHandler = null;
3733
3729
  this.keyDownHandler = null;
3730
+ this.touchHandler = null;
3734
3731
 
3735
3732
  /**
3736
3733
  * @private
@@ -4148,6 +4145,28 @@ class AuroFloatingUI {
4148
4145
  setTimeout(() => {
4149
4146
  window.addEventListener("click", this.clickHandler);
4150
4147
  }, 0);
4148
+
4149
+ // iOS Safari does not fire `click` on non-interactive elements, so
4150
+ // tapping an inert backdrop never reaches the click handler above.
4151
+ // Mirror the same outside-tap logic with a passive touchstart listener.
4152
+ this.touchHandler = (evt) => {
4153
+ const element = this.element;
4154
+ if (!element?.bib) {
4155
+ return;
4156
+ }
4157
+
4158
+ // fullscreen (modal) dialog handles its own dismissal
4159
+ if (element.bib.hasAttribute("isfullscreen")) {
4160
+ return;
4161
+ }
4162
+
4163
+ const path = evt.composedPath();
4164
+ if (!path.includes(element.trigger) && !path.includes(element.bib)) {
4165
+ this.hideBib("click");
4166
+ }
4167
+ };
4168
+
4169
+ window.addEventListener("touchstart", this.touchHandler, { passive: true });
4151
4170
  }
4152
4171
 
4153
4172
  cleanupHideHandlers() {
@@ -4163,6 +4182,11 @@ class AuroFloatingUI {
4163
4182
  this.clickHandler = null;
4164
4183
  }
4165
4184
 
4185
+ if (this.touchHandler) {
4186
+ window.removeEventListener("touchstart", this.touchHandler);
4187
+ this.touchHandler = null;
4188
+ }
4189
+
4166
4190
  if (this.keyDownHandler) {
4167
4191
  document.removeEventListener("keydown", this.keyDownHandler);
4168
4192
  this.keyDownHandler = null;
@@ -5637,7 +5661,7 @@ class AuroHelpText extends LitElement {
5637
5661
  }
5638
5662
  }
5639
5663
 
5640
- var formkitVersion = '202604091759';
5664
+ var formkitVersion = '202604222001';
5641
5665
 
5642
5666
  let AuroElement$1 = class AuroElement extends LitElement {
5643
5667
  static get properties() {
@@ -35,7 +35,7 @@ The `auro-datepicker` component provides users with a way to select a date or da
35
35
  | [placeholderEndDate](#placeholderEndDate) | `placeholderEndDate` | | `string` | | Optional placeholder text to display in the second input when using date range.<br />By default, datepicker will use `placeholder` for both inputs if placeholder is<br />specified, but placeholderEndDate is not. |
36
36
  | [placement](#placement) | `placement` | | `'top' \| 'right' \| 'bottom' \| 'left' \| 'bottom-start' \| 'top-start' \| 'top-end' \| 'right-start' \| 'right-end' \| 'bottom-end' \| 'left-start' \| 'left-end'` | "'bottom-start'" | Position where the bib should appear relative to the trigger. |
37
37
  | [range](#range) | `range` | | `boolean` | false | If set, turns on date range functionality in auro-calendar. |
38
- | [referenceDates](#referenceDates) | `referenceDates` | | `array` | | Dates that the user should have for reference as part of their decision making when selecting a date.<br />This should be a JSON string array of dates in the format of `MM-DD-YYYY`. |
38
+ | [referenceDates](#referenceDates) | `referenceDates` | | `array` | | Dates that the user should have for reference as part of their decision making when selecting a date.<br />This should be a JSON string array of dates in the format of `MM/DD/YYYY`. |
39
39
  | [required](#required) | `required` | | `boolean` | false | Populates the `required` attribute on the input. Used for client-side validation. |
40
40
  | [setCustomValidity](#setCustomValidity) | `setCustomValidity` | | `string` | | Sets a custom help text message to display for all validityStates. |
41
41
  | [setCustomValidityCustomError](#setCustomValidityCustomError) | `setCustomValidityCustomError` | | `string` | | Custom help text message to display when validity = `customError`. |
@@ -529,7 +529,7 @@ The `format` attribute is used to define the date format used by the datepicker.
529
529
 
530
530
  You can make the dropdown open in fullscreen at a specific breakpoint by setting `fullscreenBreakpoint`.
531
531
 
532
- The default value of `fullscreenBreakpoint` is `sm`.
532
+ The default value of `fullscreenBreakpoint` is `sm`.
533
533
 
534
534
  Breakpoint token can be found [here](https://auro.alaskaair.com/getting-started/developers/design-tokens).
535
535
 
@@ -814,7 +814,7 @@ export function updateMinDateExample() {
814
814
 
815
815
  ### Month Names Localization
816
816
 
817
- The datepicker supports localized month names through the `monthNames` property.
817
+ The datepicker supports localized month names through the `monthNames` property.
818
818
 
819
819
  This example demonstrates how to set the `monthNames` property to Korean month names, with a Korean date format.
820
820
 
@@ -889,13 +889,13 @@ You can choose to outline dates for the user to reference by passing a string co
889
889
 
890
890
  Example:
891
891
  ```html
892
- <auro-datepicker referenceDates='["10-05-2025", "10-15-2025", "10-20-2025", "10-22-2025"]'></auro-datepicker>
892
+ <auro-datepicker referenceDates='["10/05/2025", "10/15/2025", "10/20/2025", "10/22/2025"]'></auro-datepicker>
893
893
  ```
894
894
 
895
895
  <div class="exampleWrapper">
896
896
  <!-- AURO-GENERATED-CONTENT:START (FILE:src=./../apiExamples/reference-dates.html) -->
897
897
  <!-- The below content is automatically added from ./../apiExamples/reference-dates.html -->
898
- <auro-datepicker referenceDates='["10-05-2025", "10-15-2025", "10-20-2025", "10-22-2025"]' minDate="10-12-2025">
898
+ <auro-datepicker referenceDates='["10/05/2025", "10/15/2025", "10/20/2025", "10/22/2025"]' minDate="10/12/2025">
899
899
  <span slot="ariaLabel.bib.close">Close Calendar</span>
900
900
  <span slot="bib.fullscreen.headline">Datepicker Headline</span>
901
901
  <span slot="fromLabel">Choose a date</span>
@@ -909,7 +909,7 @@ Example:
909
909
  <!-- The below code snippet is automatically added from ./../apiExamples/reference-dates.html -->
910
910
 
911
911
  ```html
912
- <auro-datepicker referenceDates='["10-05-2025", "10-15-2025", "10-20-2025", "10-22-2025"]' minDate="10-12-2025">
912
+ <auro-datepicker referenceDates='["10/05/2025", "10/15/2025", "10/20/2025", "10/22/2025"]' minDate="10/12/2025">
913
913
  <span slot="ariaLabel.bib.close">Close Calendar</span>
914
914
  <span slot="bib.fullscreen.headline">Datepicker Headline</span>
915
915
  <span slot="fromLabel">Choose a date</span>