@aurodesignsystem-dev/auro-formkit 0.0.0-pr1628.1 → 0.0.0-pr1628.3

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 (66) hide show
  1. package/components/checkbox/demo/customize.min.js +1 -1
  2. package/components/checkbox/demo/getting-started.min.js +1 -1
  3. package/components/checkbox/demo/index.min.js +1 -1
  4. package/components/checkbox/dist/index.js +1 -1
  5. package/components/checkbox/dist/registered.js +1 -1
  6. package/components/combobox/demo/customize.min.js +3 -3
  7. package/components/combobox/demo/getting-started.min.js +3 -3
  8. package/components/combobox/demo/index.min.js +3 -3
  9. package/components/combobox/dist/index.js +3 -3
  10. package/components/combobox/dist/registered.js +3 -3
  11. package/components/counter/demo/api.md +18 -18
  12. package/components/counter/demo/customize.min.js +16 -16
  13. package/components/counter/demo/design.md +1 -1
  14. package/components/counter/demo/getting-started.md +29 -2
  15. package/components/counter/demo/getting-started.min.js +16 -16
  16. package/components/counter/demo/index.min.js +16 -16
  17. package/components/counter/dist/auro-counter-group.d.ts +11 -11
  18. package/components/counter/dist/auro-counter.d.ts +1 -1
  19. package/components/counter/dist/index.js +16 -16
  20. package/components/counter/dist/registered.js +16 -16
  21. package/components/datepicker/demo/accessibility.md +3 -3
  22. package/components/datepicker/demo/api.md +3 -3
  23. package/components/datepicker/demo/customize.md +10 -10
  24. package/components/datepicker/demo/customize.min.js +30 -18
  25. package/components/datepicker/demo/design.md +9 -9
  26. package/components/datepicker/demo/getting-started.md +3 -3
  27. package/components/datepicker/demo/getting-started.min.js +30 -18
  28. package/components/datepicker/demo/index.md +3 -3
  29. package/components/datepicker/demo/index.min.js +30 -18
  30. package/components/datepicker/demo/voiceover.md +1 -1
  31. package/components/datepicker/dist/auro-calendar.d.ts +1 -1
  32. package/components/datepicker/dist/auro-datepicker.d.ts +3 -3
  33. package/components/datepicker/dist/datepickerKeyboardStrategy.d.ts +3 -0
  34. package/components/datepicker/dist/index.js +30 -18
  35. package/components/datepicker/dist/registered.js +30 -18
  36. package/components/datepicker/dist/utilities.d.ts +3 -0
  37. package/components/datepicker/dist/utilitiesCalendar.d.ts +3 -0
  38. package/components/datepicker/dist/utilitiesCalendarRender.d.ts +3 -0
  39. package/components/datepicker/dist/vendor/wc-range-datepicker/range-datepicker-calendar.d.ts +4 -4
  40. package/components/datepicker/dist/vendor/wc-range-datepicker/range-datepicker.d.ts +7 -7
  41. package/components/dropdown/demo/customize.min.js +1 -1
  42. package/components/dropdown/demo/getting-started.min.js +2 -2
  43. package/components/dropdown/demo/index.min.js +1 -1
  44. package/components/dropdown/dist/index.js +1 -1
  45. package/components/dropdown/dist/registered.js +1 -1
  46. package/components/form/demo/customize.min.js +54 -42
  47. package/components/form/demo/getting-started.min.js +54 -42
  48. package/components/form/demo/index.min.js +54 -42
  49. package/components/form/demo/registerDemoDeps.min.js +54 -42
  50. package/components/input/demo/customize.min.js +1 -1
  51. package/components/input/demo/getting-started.min.js +1 -1
  52. package/components/input/demo/index.min.js +1 -1
  53. package/components/input/dist/index.js +1 -1
  54. package/components/input/dist/registered.js +1 -1
  55. package/components/radio/demo/customize.min.js +1 -1
  56. package/components/radio/demo/getting-started.min.js +1 -1
  57. package/components/radio/demo/index.min.js +1 -1
  58. package/components/radio/dist/index.js +1 -1
  59. package/components/radio/dist/registered.js +1 -1
  60. package/components/select/demo/customize.min.js +2 -2
  61. package/components/select/demo/getting-started.min.js +2 -2
  62. package/components/select/demo/index.min.js +2 -2
  63. package/components/select/dist/index.js +2 -2
  64. package/components/select/dist/registered.js +2 -2
  65. package/custom-elements.json +22 -21
  66. package/package.json +1 -1
@@ -1164,7 +1164,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$2 {
1164
1164
  }
1165
1165
  };
1166
1166
 
1167
- var formkitVersion$1 = '202611081756';
1167
+ var formkitVersion$1 = '202611081821';
1168
1168
 
1169
1169
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
1170
1170
  // See LICENSE in the project root for license information.
@@ -1229,7 +1229,7 @@ const keyboardStrategy = {
1229
1229
  * @csspart controlPlus - The plus button, which raises the value by 1.
1230
1230
  * @csspart helpText - The paragraph that shows the help text, or the error message while the counter is invalid.
1231
1231
  *
1232
- * @event input - Notifies that the counter's value has changed.
1232
+ * @event input - Fires whenever `value` changes, including when the counter sets its starting value, with the new number in `event.detail.value`. It doesn't currently bubble, so listen on the counter itself.
1233
1233
  */
1234
1234
  class AuroCounter extends i$2 {
1235
1235
 
@@ -1350,7 +1350,7 @@ class AuroCounter extends i$2 {
1350
1350
  },
1351
1351
 
1352
1352
  /**
1353
- * The trimmed text of the default slot, which `auro-counter-group` shows in its dropdown summary.
1353
+ * Holds the trimmed text of the default slot, which `auro-counter-group` shows in its dropdown summary.
1354
1354
  * @private
1355
1355
  */
1356
1356
  defaultSlot: {
@@ -1388,7 +1388,7 @@ class AuroCounter extends i$2 {
1388
1388
  },
1389
1389
 
1390
1390
  /**
1391
- * Sets a custom error message, such as "Select at least one adult", and marks the counter invalid. The message replaces the help text. Set it with the `error` attribute: setting only the `error` property doesn't currently mark the counter invalid.
1391
+ * Sets a custom error message, such as "Select at least one adult", and marks the counter invalid. The message replaces the help text. Set the `error` attribute before the counter first renders, or call `validate()` after changing it: setting only the property, or changing the attribute later, doesn't currently update `validity`.
1392
1392
  * @category behavior
1393
1393
  */
1394
1394
  error: {
@@ -5779,7 +5779,7 @@ class AuroHelpText extends i$2 {
5779
5779
  }
5780
5780
  }
5781
5781
 
5782
- var formkitVersion = '202611081756';
5782
+ var formkitVersion = '202611081821';
5783
5783
 
5784
5784
  /**
5785
5785
  * Shared base class for layout-aware Auro form components, such as `auro-input`, `auro-select`, and `auro-menu`.
@@ -8380,7 +8380,7 @@ const counterGroupKeyboardStrategy = {
8380
8380
  * @csspart helpText - The paragraph that shows the help text, or the combined error message while a counter is invalid. Rendered only when `isDropdown` is set.
8381
8381
  *
8382
8382
  * @event auroFormElement-validated - Fires each time the group is validated, with the result in `event.detail.validity` and `event.detail.message`.
8383
- * @event input - Fires when any counter's value changes, with the new `total` and `value` in `event.detail`.
8383
+ * @event input - Fires when any counter's value changes, with the new `total` and `value` in `event.detail`. It doesn't currently bubble, so listen on the group itself.
8384
8384
  */
8385
8385
  class AuroCounterGroup extends AuroElement {
8386
8386
  constructor() {
@@ -8512,8 +8512,8 @@ class AuroCounterGroup extends AuroElement {
8512
8512
  },
8513
8513
 
8514
8514
  /**
8515
- * The current error message to display when the component is invalid.
8516
- * This is set by validation and isn't available to consumers.
8515
+ * Holds the error message shown while the group is invalid.
8516
+ * Validation sets it, and it isn't available to consumers.
8517
8517
  * @private
8518
8518
  */
8519
8519
  errorMessage: {
@@ -8710,7 +8710,7 @@ class AuroCounterGroup extends AuroElement {
8710
8710
  },
8711
8711
 
8712
8712
  /**
8713
- * The current text in the valueText slot.
8713
+ * Holds the text in the `valueText` slot.
8714
8714
  * @category behavior
8715
8715
  * @private
8716
8716
  */
@@ -8782,9 +8782,9 @@ class AuroCounterGroup extends AuroElement {
8782
8782
  };
8783
8783
 
8784
8784
  /**
8785
- * Synchronously recomputes this.validity/this.errorMessage from the current
8786
- * validity of the child counters. Extracted from updateValidity() so that
8787
- * validate() can re-apply this aggregation immediately after the shared
8785
+ * Synchronously recomputes `this.validity` and `this.errorMessage` from the current
8786
+ * validity of the child counters. Extracted from `updateValidity()` so that
8787
+ * `validate()` can re-apply this aggregation immediately after the shared
8788
8788
  * validation engine runs, instead of waiting on a deferred timer.
8789
8789
  * @returns {void}
8790
8790
  * @private
@@ -8869,9 +8869,9 @@ class AuroCounterGroup extends AuroElement {
8869
8869
  }
8870
8870
 
8871
8871
  /**
8872
- * Configures the dropdown counters by selecting all `auro-counter` elements,
8873
- * appending them to the `auro-counter-wrapper` element within the shadow DOM,
8874
- * and setting up keyboard navigation and input event listeners.
8872
+ * Finds the dropdown and the counters slotted into its `auro-counter-wrapper`,
8873
+ * adds `input` and `auroFormElement-validated` listeners to each counter, and
8874
+ * updates `value` and the group's validity. Also sets up the bib template when `isDropdown` is set.
8875
8875
  * @private
8876
8876
  */
8877
8877
  configureDropdownCounters() {
@@ -8903,7 +8903,7 @@ class AuroCounterGroup extends AuroElement {
8903
8903
  }
8904
8904
 
8905
8905
  /**
8906
- * Sets up a close event listener and moves any slotted `bib.fullscreen.headline` and `bib.fullscreen.footer` content into the bibtemplate.
8906
+ * Finds the bib template, closes the dropdown when its close button is clicked, and moves focus to the close button when the fullscreen dropdown opens.
8907
8907
  * @private
8908
8908
  */
8909
8909
  configureBibtemplate() {
@@ -40,7 +40,7 @@
40
40
  * @csspart helpText - The paragraph that shows the help text, or the combined error message while a counter is invalid. Rendered only when `isDropdown` is set.
41
41
  *
42
42
  * @event auroFormElement-validated - Fires each time the group is validated, with the result in `event.detail.validity` and `event.detail.message`.
43
- * @event input - Fires when any counter's value changes, with the new `total` and `value` in `event.detail`.
43
+ * @event input - Fires when any counter's value changes, with the new `total` and `value` in `event.detail`. It doesn't currently bubble, so listen on the group itself.
44
44
  */
45
45
  export class AuroCounterGroup extends AuroElement {
46
46
  static get styles(): import("lit").CSSResult[];
@@ -65,8 +65,8 @@ export class AuroCounterGroup extends AuroElement {
65
65
  reflect: boolean;
66
66
  };
67
67
  /**
68
- * The current error message to display when the component is invalid.
69
- * This is set by validation and isn't available to consumers.
68
+ * Holds the error message shown while the group is invalid.
69
+ * Validation sets it, and it isn't available to consumers.
70
70
  * @private
71
71
  */
72
72
  errorMessage: {
@@ -207,7 +207,7 @@ export class AuroCounterGroup extends AuroElement {
207
207
  };
208
208
  value: Record<string, number>;
209
209
  /**
210
- * The current text in the valueText slot.
210
+ * Holds the text in the `valueText` slot.
211
211
  * @category behavior
212
212
  * @private
213
213
  */
@@ -327,9 +327,9 @@ export class AuroCounterGroup extends AuroElement {
327
327
  */
328
328
  private getErrorMessages;
329
329
  /**
330
- * Synchronously recomputes this.validity/this.errorMessage from the current
331
- * validity of the child counters. Extracted from updateValidity() so that
332
- * validate() can re-apply this aggregation immediately after the shared
330
+ * Synchronously recomputes `this.validity` and `this.errorMessage` from the current
331
+ * validity of the child counters. Extracted from `updateValidity()` so that
332
+ * `validate()` can re-apply this aggregation immediately after the shared
333
333
  * validation engine runs, instead of waiting on a deferred timer.
334
334
  * @returns {void}
335
335
  * @private
@@ -347,14 +347,14 @@ export class AuroCounterGroup extends AuroElement {
347
347
  */
348
348
  showBib(): void;
349
349
  /**
350
- * Configures the dropdown counters by selecting all `auro-counter` elements,
351
- * appending them to the `auro-counter-wrapper` element within the shadow DOM,
352
- * and setting up keyboard navigation and input event listeners.
350
+ * Finds the dropdown and the counters slotted into its `auro-counter-wrapper`,
351
+ * adds `input` and `auroFormElement-validated` listeners to each counter, and
352
+ * updates `value` and the group's validity. Also sets up the bib template when `isDropdown` is set.
353
353
  * @private
354
354
  */
355
355
  private configureDropdownCounters;
356
356
  /**
357
- * Sets up a close event listener and moves any slotted `bib.fullscreen.headline` and `bib.fullscreen.footer` content into the bibtemplate.
357
+ * Finds the bib template, closes the dropdown when its close button is clicked, and moves focus to the close button when the fullscreen dropdown opens.
358
358
  * @private
359
359
  */
360
360
  private configureBibtemplate;
@@ -31,7 +31,7 @@
31
31
  * @csspart controlPlus - The plus button, which raises the value by 1.
32
32
  * @csspart helpText - The paragraph that shows the help text, or the error message while the counter is invalid.
33
33
  *
34
- * @event input - Notifies that the counter's value has changed.
34
+ * @event input - Fires whenever `value` changes, including when the counter sets its starting value, with the new number in `event.detail.value`. It doesn't currently bubble, so listen on the counter itself.
35
35
  */
36
36
  export class AuroCounter extends LitElement {
37
37
  /**
@@ -1114,7 +1114,7 @@ let AuroHelpText$1 = class AuroHelpText extends LitElement {
1114
1114
  }
1115
1115
  };
1116
1116
 
1117
- var formkitVersion$1 = '202611081756';
1117
+ var formkitVersion$1 = '202611081821';
1118
1118
 
1119
1119
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
1120
1120
  // See LICENSE in the project root for license information.
@@ -1179,7 +1179,7 @@ const keyboardStrategy = {
1179
1179
  * @csspart controlPlus - The plus button, which raises the value by 1.
1180
1180
  * @csspart helpText - The paragraph that shows the help text, or the error message while the counter is invalid.
1181
1181
  *
1182
- * @event input - Notifies that the counter's value has changed.
1182
+ * @event input - Fires whenever `value` changes, including when the counter sets its starting value, with the new number in `event.detail.value`. It doesn't currently bubble, so listen on the counter itself.
1183
1183
  */
1184
1184
  class AuroCounter extends LitElement {
1185
1185
 
@@ -1300,7 +1300,7 @@ class AuroCounter extends LitElement {
1300
1300
  },
1301
1301
 
1302
1302
  /**
1303
- * The trimmed text of the default slot, which `auro-counter-group` shows in its dropdown summary.
1303
+ * Holds the trimmed text of the default slot, which `auro-counter-group` shows in its dropdown summary.
1304
1304
  * @private
1305
1305
  */
1306
1306
  defaultSlot: {
@@ -1338,7 +1338,7 @@ class AuroCounter extends LitElement {
1338
1338
  },
1339
1339
 
1340
1340
  /**
1341
- * Sets a custom error message, such as "Select at least one adult", and marks the counter invalid. The message replaces the help text. Set it with the `error` attribute: setting only the `error` property doesn't currently mark the counter invalid.
1341
+ * Sets a custom error message, such as "Select at least one adult", and marks the counter invalid. The message replaces the help text. Set the `error` attribute before the counter first renders, or call `validate()` after changing it: setting only the property, or changing the attribute later, doesn't currently update `validity`.
1342
1342
  * @category behavior
1343
1343
  */
1344
1344
  error: {
@@ -5711,7 +5711,7 @@ class AuroHelpText extends LitElement {
5711
5711
  }
5712
5712
  }
5713
5713
 
5714
- var formkitVersion = '202611081756';
5714
+ var formkitVersion = '202611081821';
5715
5715
 
5716
5716
  /**
5717
5717
  * Shared base class for layout-aware Auro form components, such as `auro-input`, `auro-select`, and `auro-menu`.
@@ -8312,7 +8312,7 @@ const counterGroupKeyboardStrategy = {
8312
8312
  * @csspart helpText - The paragraph that shows the help text, or the combined error message while a counter is invalid. Rendered only when `isDropdown` is set.
8313
8313
  *
8314
8314
  * @event auroFormElement-validated - Fires each time the group is validated, with the result in `event.detail.validity` and `event.detail.message`.
8315
- * @event input - Fires when any counter's value changes, with the new `total` and `value` in `event.detail`.
8315
+ * @event input - Fires when any counter's value changes, with the new `total` and `value` in `event.detail`. It doesn't currently bubble, so listen on the group itself.
8316
8316
  */
8317
8317
  class AuroCounterGroup extends AuroElement {
8318
8318
  constructor() {
@@ -8444,8 +8444,8 @@ class AuroCounterGroup extends AuroElement {
8444
8444
  },
8445
8445
 
8446
8446
  /**
8447
- * The current error message to display when the component is invalid.
8448
- * This is set by validation and isn't available to consumers.
8447
+ * Holds the error message shown while the group is invalid.
8448
+ * Validation sets it, and it isn't available to consumers.
8449
8449
  * @private
8450
8450
  */
8451
8451
  errorMessage: {
@@ -8642,7 +8642,7 @@ class AuroCounterGroup extends AuroElement {
8642
8642
  },
8643
8643
 
8644
8644
  /**
8645
- * The current text in the valueText slot.
8645
+ * Holds the text in the `valueText` slot.
8646
8646
  * @category behavior
8647
8647
  * @private
8648
8648
  */
@@ -8714,9 +8714,9 @@ class AuroCounterGroup extends AuroElement {
8714
8714
  };
8715
8715
 
8716
8716
  /**
8717
- * Synchronously recomputes this.validity/this.errorMessage from the current
8718
- * validity of the child counters. Extracted from updateValidity() so that
8719
- * validate() can re-apply this aggregation immediately after the shared
8717
+ * Synchronously recomputes `this.validity` and `this.errorMessage` from the current
8718
+ * validity of the child counters. Extracted from `updateValidity()` so that
8719
+ * `validate()` can re-apply this aggregation immediately after the shared
8720
8720
  * validation engine runs, instead of waiting on a deferred timer.
8721
8721
  * @returns {void}
8722
8722
  * @private
@@ -8801,9 +8801,9 @@ class AuroCounterGroup extends AuroElement {
8801
8801
  }
8802
8802
 
8803
8803
  /**
8804
- * Configures the dropdown counters by selecting all `auro-counter` elements,
8805
- * appending them to the `auro-counter-wrapper` element within the shadow DOM,
8806
- * and setting up keyboard navigation and input event listeners.
8804
+ * Finds the dropdown and the counters slotted into its `auro-counter-wrapper`,
8805
+ * adds `input` and `auroFormElement-validated` listeners to each counter, and
8806
+ * updates `value` and the group's validity. Also sets up the bib template when `isDropdown` is set.
8807
8807
  * @private
8808
8808
  */
8809
8809
  configureDropdownCounters() {
@@ -8835,7 +8835,7 @@ class AuroCounterGroup extends AuroElement {
8835
8835
  }
8836
8836
 
8837
8837
  /**
8838
- * Sets up a close event listener and moves any slotted `bib.fullscreen.headline` and `bib.fullscreen.footer` content into the bibtemplate.
8838
+ * Finds the bib template, closes the dropdown when its close button is clicked, and moves focus to the close button when the fullscreen dropdown opens.
8839
8839
  * @private
8840
8840
  */
8841
8841
  configureBibtemplate() {
@@ -1114,7 +1114,7 @@ let AuroHelpText$1 = class AuroHelpText extends LitElement {
1114
1114
  }
1115
1115
  };
1116
1116
 
1117
- var formkitVersion$1 = '202611081756';
1117
+ var formkitVersion$1 = '202611081821';
1118
1118
 
1119
1119
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
1120
1120
  // See LICENSE in the project root for license information.
@@ -1179,7 +1179,7 @@ const keyboardStrategy = {
1179
1179
  * @csspart controlPlus - The plus button, which raises the value by 1.
1180
1180
  * @csspart helpText - The paragraph that shows the help text, or the error message while the counter is invalid.
1181
1181
  *
1182
- * @event input - Notifies that the counter's value has changed.
1182
+ * @event input - Fires whenever `value` changes, including when the counter sets its starting value, with the new number in `event.detail.value`. It doesn't currently bubble, so listen on the counter itself.
1183
1183
  */
1184
1184
  class AuroCounter extends LitElement {
1185
1185
 
@@ -1300,7 +1300,7 @@ class AuroCounter extends LitElement {
1300
1300
  },
1301
1301
 
1302
1302
  /**
1303
- * The trimmed text of the default slot, which `auro-counter-group` shows in its dropdown summary.
1303
+ * Holds the trimmed text of the default slot, which `auro-counter-group` shows in its dropdown summary.
1304
1304
  * @private
1305
1305
  */
1306
1306
  defaultSlot: {
@@ -1338,7 +1338,7 @@ class AuroCounter extends LitElement {
1338
1338
  },
1339
1339
 
1340
1340
  /**
1341
- * Sets a custom error message, such as "Select at least one adult", and marks the counter invalid. The message replaces the help text. Set it with the `error` attribute: setting only the `error` property doesn't currently mark the counter invalid.
1341
+ * Sets a custom error message, such as "Select at least one adult", and marks the counter invalid. The message replaces the help text. Set the `error` attribute before the counter first renders, or call `validate()` after changing it: setting only the property, or changing the attribute later, doesn't currently update `validity`.
1342
1342
  * @category behavior
1343
1343
  */
1344
1344
  error: {
@@ -5711,7 +5711,7 @@ class AuroHelpText extends LitElement {
5711
5711
  }
5712
5712
  }
5713
5713
 
5714
- var formkitVersion = '202611081756';
5714
+ var formkitVersion = '202611081821';
5715
5715
 
5716
5716
  /**
5717
5717
  * Shared base class for layout-aware Auro form components, such as `auro-input`, `auro-select`, and `auro-menu`.
@@ -8312,7 +8312,7 @@ const counterGroupKeyboardStrategy = {
8312
8312
  * @csspart helpText - The paragraph that shows the help text, or the combined error message while a counter is invalid. Rendered only when `isDropdown` is set.
8313
8313
  *
8314
8314
  * @event auroFormElement-validated - Fires each time the group is validated, with the result in `event.detail.validity` and `event.detail.message`.
8315
- * @event input - Fires when any counter's value changes, with the new `total` and `value` in `event.detail`.
8315
+ * @event input - Fires when any counter's value changes, with the new `total` and `value` in `event.detail`. It doesn't currently bubble, so listen on the group itself.
8316
8316
  */
8317
8317
  class AuroCounterGroup extends AuroElement {
8318
8318
  constructor() {
@@ -8444,8 +8444,8 @@ class AuroCounterGroup extends AuroElement {
8444
8444
  },
8445
8445
 
8446
8446
  /**
8447
- * The current error message to display when the component is invalid.
8448
- * This is set by validation and isn't available to consumers.
8447
+ * Holds the error message shown while the group is invalid.
8448
+ * Validation sets it, and it isn't available to consumers.
8449
8449
  * @private
8450
8450
  */
8451
8451
  errorMessage: {
@@ -8642,7 +8642,7 @@ class AuroCounterGroup extends AuroElement {
8642
8642
  },
8643
8643
 
8644
8644
  /**
8645
- * The current text in the valueText slot.
8645
+ * Holds the text in the `valueText` slot.
8646
8646
  * @category behavior
8647
8647
  * @private
8648
8648
  */
@@ -8714,9 +8714,9 @@ class AuroCounterGroup extends AuroElement {
8714
8714
  };
8715
8715
 
8716
8716
  /**
8717
- * Synchronously recomputes this.validity/this.errorMessage from the current
8718
- * validity of the child counters. Extracted from updateValidity() so that
8719
- * validate() can re-apply this aggregation immediately after the shared
8717
+ * Synchronously recomputes `this.validity` and `this.errorMessage` from the current
8718
+ * validity of the child counters. Extracted from `updateValidity()` so that
8719
+ * `validate()` can re-apply this aggregation immediately after the shared
8720
8720
  * validation engine runs, instead of waiting on a deferred timer.
8721
8721
  * @returns {void}
8722
8722
  * @private
@@ -8801,9 +8801,9 @@ class AuroCounterGroup extends AuroElement {
8801
8801
  }
8802
8802
 
8803
8803
  /**
8804
- * Configures the dropdown counters by selecting all `auro-counter` elements,
8805
- * appending them to the `auro-counter-wrapper` element within the shadow DOM,
8806
- * and setting up keyboard navigation and input event listeners.
8804
+ * Finds the dropdown and the counters slotted into its `auro-counter-wrapper`,
8805
+ * adds `input` and `auroFormElement-validated` listeners to each counter, and
8806
+ * updates `value` and the group's validity. Also sets up the bib template when `isDropdown` is set.
8807
8807
  * @private
8808
8808
  */
8809
8809
  configureDropdownCounters() {
@@ -8835,7 +8835,7 @@ class AuroCounterGroup extends AuroElement {
8835
8835
  }
8836
8836
 
8837
8837
  /**
8838
- * Sets up a close event listener and moves any slotted `bib.fullscreen.headline` and `bib.fullscreen.footer` content into the bibtemplate.
8838
+ * Finds the bib template, closes the dropdown when its close button is clicked, and moves focus to the close button when the fullscreen dropdown opens.
8839
8839
  * @private
8840
8840
  */
8841
8841
  configureBibtemplate() {
@@ -13,7 +13,7 @@ The trigger contains one or two `<auro-input>` elements (depending on whether `r
13
13
  | Attribute | Value | Description |
14
14
  |---|---|---|
15
15
  | `<label for>` | slot text | The input gets its accessible name from a `<label>` that holds the `fromLabel` or `toLabel` slot content. |
16
- | `aria-invalid` | `true` / `false` | Reflects whether the current value fails validation. |
16
+ | `aria-invalid` | `true` / `false` | Set to `true` when the value fails validation and `false` when it passes. It's also `true` before the datepicker is first validated, so screen readers can announce a new, empty datepicker as invalid. |
17
17
 
18
18
  <auro-header level="3" id="clearButton">Clear button</auro-header>
19
19
  The clear button (shown when the input has a value) exposes:
@@ -31,7 +31,7 @@ The calendar uses the WAI-ARIA grid pattern for screen reader navigation:
31
31
 
32
32
  | Attribute | Applied to | Description |
33
33
  |---|---|---|
34
- | `role="grid"` | Calendar table | Identifies the calendar as a grid. The month heading is rendered as visible text adjacent to the grid but is excluded from the accessibility tree (announcements are handled via the live region described below). |
34
+ | `role="grid"` | Calendar table | Identifies each month's days as a grid. The month heading above the grid is visible text that screen readers can reach, but it isn't linked to the grid as its name. The live region described below announces month changes. |
35
35
  | `role="rowgroup"` | Body group | Groups the week rows. |
36
36
  | `role="row"` | Week row | Groups each week of date cells. |
37
37
  | `role="columnheader"` | Day-of-week header | Each weekday cell in the header row exposes the abbreviated day name as visible text and the full localized day name via `aria-label`, for example `aria-label="Sunday"`. |
@@ -62,7 +62,7 @@ When the calendar bib opens, focus moves to the calendar grid wrapper (`#calenda
62
62
  <auro-header level="2" id="screenReaderAnnouncements">Screen reader announcements</auro-header>
63
63
  - **Date selection**: When a date is selected, the calendar's live region (`aria-live="assertive"`) announces the formatted date followed by "selected", for example "Wednesday, January 15, 2025, selected". For range datepickers, both the start and end date selections are announced, with the `rangeLabelStart` or `rangeLabelEnd` text.
64
64
  - **Debounced navigation announcement**: During arrow-key navigation, a debounced live region (150 ms) announces the full date context (date, slot content, range position, availability) after the user pauses. This prevents overlapping announcements during rapid navigation.
65
- - **Date cell labels**: Each date cell has an `aria-label` on the host element with the full localized label, including any date slot content, such as a price. VoiceOver reads this content instead of `aria-label`, which iOS VoiceOver does not reliably announce on buttons.
65
+ - **Date cell labels**: Each date cell has an `aria-label` on the host element with the full localized label, including any date slot content, such as a price. The cell's button content is hidden from screen readers, so the date isn't read twice.
66
66
  - **Validation errors**: When a validation error occurs, the error message is rendered with `role="alert"` and `aria-live="assertive"`, causing it to be announced immediately without requiring focus.
67
67
  - **Help text**: The help text isn't currently linked to the inputs with `aria-describedby`, so screen readers don't announce it when an input gets focus.
68
68
 
@@ -10,7 +10,7 @@ A date field that lets people type a date or choose it from a calendar, includin
10
10
  - **Limits and unavailable dates**: `minDate` and `maxDate` turn off dates outside a range, and `blackoutDates` marks single dates people can't select.
11
11
  - **Validation**: `required` shows an error when no date is chosen, and the `setCustomValidity` attributes replace the built-in error messages.
12
12
  - **Content on dates**: The `date_YYYY_MM_DD` and `popover_YYYY_MM_DD` slots add content to a date in the calendar, such as a price.
13
- - **Localization**: `locale` sets the date format and the month and weekday names, and attributes and slots let you translate every other label.
13
+ - **Localization**: `locale` sets the date format and the month and weekday names, and attributes and slots let you translate most other text, except the calendar's Done button and the word "selected" in screen reader announcements.
14
14
  - **Fullscreen on small screens**: `fullscreenBreakpoint` sets the screen size at or below which the calendar opens fullscreen.
15
15
 
16
16
  **Example**
@@ -38,9 +38,9 @@ A date field that lets people type a date or choose it from a calendar, includin
38
38
  | placeholderEndDate | placeholderenddate | | string | | ui | `range` | Sets the hint text shown in the end date input of a range when it's empty. When not set, the end date input uses `placeholder`. |
39
39
  | placement | placement | | `top` \| `right` \| `bottom` \| `left` \| `bottom-start` \| `top-start` \| `top-end` \| `right-start` \| `right-end` \| `bottom-end` \| `left-start` \| `left-end` | `bottom-start` | ui | | Sets where the calendar dropdown opens relative to the input, such as `bottom-start` (below the input, lined up with its start edge). The dropdown still flips to the opposite side when it doesn't fit, unless `noFlip` is set. |
40
40
  | referenceDates | referencedates | | string[] | | ui | | Sets dates to mark in the calendar for comparison, such as the dates of an earlier trip, as an array of ISO date strings (`YYYY-MM-DD`). Marked dates get an outline. Add `popover_YYYY_MM_DD` content to explain why each date is marked. |
41
- | shape | shape | | `box` \| `classic` \| `pill` \| `pill-left` \| `pill-right` \| `rounded` \| `snowflake` | `classic` | ui | | Sets the shape of the datepicker. |
41
+ | shape | shape | | `box` \| `classic` \| `pill` \| `pill-left` \| `pill-right` \| `rounded` \| `snowflake` | `classic` | ui | | Sets the shape of the date field. Use `classic` (the default) with the `classic` layout, and `snowflake` with the `snowflake` layout. |
42
42
  | shift | shift | | boolean | `false` | ui | | Moves the calendar dropdown along the input's edge so the edge of the screen doesn't cut it off. |
43
- | size | size | | `xs` \| `sm` \| `md` \| `lg` \| `xl` | `lg` | ui | | Sets the size of the datepicker. |
43
+ | size | size | | `xs` \| `sm` \| `md` \| `lg` \| `xl` | `lg` | ui | | Sets the height of the date field, from `xs`, the shortest, to `xl`, the tallest. The `classic` and `snowflake` shapes have a fixed height, so `size` doesn't change them. The `rounded` shape supports only `lg`, and the `pill`, `pill-left`, and `pill-right` shapes support only `md` and `xl`. |
44
44
  | stacked | stacked | | boolean | `false` | ui | | Doesn't currently change the datepicker's appearance or behavior. |
45
45
  | autoPlacement | autoplacement | | boolean | `false` | ui | | Deprecated: Use `placement` instead.<br>Places the calendar dropdown on whichever side of the input has the most space. The dropdown already flips to the opposite side when it doesn't fit, unless `noFlip` is set. |
46
46
  | onDark | ondark | | boolean | `false` | ui | | Deprecated: Use `appearance="inverse"` instead.<br>Switches the datepicker to colors designed for dark backgrounds. |
@@ -121,17 +121,17 @@
121
121
  </tr>
122
122
  </thead>
123
123
  <tbody>
124
- <tr><td><code>dropdown</code></td><td>The outer dropdown container.</td></tr>
125
- <tr><td><code>trigger</code></td><td>The trigger content container.</td></tr>
124
+ <tr><td><code>dropdown</code></td><td>The dropdown that holds the trigger, the calendar, and the help text.</td></tr>
125
+ <tr><td><code>trigger</code></td><td>The <code>&lt;div&gt;</code> in the dropdown's trigger that holds the calendar icon, the inputs, and the clear button or error icon.</td></tr>
126
126
  <tr><td><code>wrapper</code></td><td>The container inside <code>trigger</code> that lays out the calendar icon, the inputs, and the clear button or error icon.</td></tr>
127
127
  <tr><td><code>mainLabel</code></td><td>The label for the whole datepicker, rendered only when <code>layout="snowflake"</code>.</td></tr>
128
128
  <tr><td><code>inputSection</code></td><td>The container that holds the date inputs.</td></tr>
129
129
  <tr><td><code>accentIcon</code></td><td>The calendar icon shown before the inputs in the <code>snowflake</code> layout. The <code>classic</code> layout hides it and shows the start date input's own calendar icon instead.</td></tr>
130
- <tr><td><code>input</code></td><td>The date input element(s).</td></tr>
130
+ <tr><td><code>input</code></td><td>Each date input: one, or two when <code>range</code> is set.</td></tr>
131
131
  <tr><td><code>calendarWrapper</code></td><td>The container in the dropdown that holds the calendar.</td></tr>
132
- <tr><td><code>calendar</code></td><td>The calendar element.</td></tr>
133
- <tr><td><code>helpTextSpan</code></td><td>The help text container wrapper.</td></tr>
134
- <tr><td><code>helpText</code></td><td>The help text element.</td></tr>
132
+ <tr><td><code>calendar</code></td><td>The calendar in the dropdown, with the month grids, the previous and next month buttons, and the Done button.</td></tr>
133
+ <tr><td><code>helpTextSpan</code></td><td>The <code>&lt;div&gt;</code> that holds the help text or error message.</td></tr>
134
+ <tr><td><code>helpText</code></td><td>The <code>&lt;p&gt;</code> inside <code>helpTextSpan</code> that holds the help text or error message.</td></tr>
135
135
  </tbody>
136
136
  </table>
137
137
  <!-- AURO-GENERATED-CONTENT:END -->
@@ -268,10 +268,10 @@
268
268
  <auro-header level="3" id="localization">Localization</auro-header>
269
269
  <!-- AURO-GENERATED-CONTENT:START (FILE:src=./../docs/partials/customize/localization.md) -->
270
270
  <!-- The below content is automatically added from ./../docs/partials/customize/localization.md -->
271
- <p>The component supports complete localization, including visible strings, screen reader announcements, and locale-based date formatting.</p>
271
+ <p>The component supports localization of the date format, the calendar's month and weekday names, and most visible strings and screen reader announcements. A few strings don't currently have a slot or attribute, such as the calendar's Done button and the word "selected" in date selection announcements, so they're always in English.</p>
272
272
  <auro-header level="4" id="localizationTrigger">Trigger</auro-header>
273
273
  <auro-header level="5" id="localizationTriggerVisibleStrings">Visible strings</auro-header>
274
- <p>The visible strings rendered in the input, trigger, and fullscreen calendar aren't derived from <code>locale</code>. They're projected through named slots so each language can supply its own translation. Pass a <code>&lt;span&gt;</code> with the matching <code>slot</code> attribute for every string you need to localize.</p>
274
+ <p>The visible strings rendered in the input, trigger, and fullscreen calendar aren't derived from <code>locale</code>. Most of them are projected through named slots so each language can supply its own translation. Pass a <code>&lt;span&gt;</code> with the matching <code>slot</code> attribute for every string you need to localize.</p>
275
275
  <!-- AURO-GENERATED-CONTENT:START (FILE:src=./../apiExamples/localization-visible-strings.html) -->
276
276
  <!-- The below content is automatically added from ./../apiExamples/localization-visible-strings.html -->
277
277
  <pre class="language-diff"><code class="language-diff"> &lt;auro-datepicker&gt;
@@ -491,7 +491,7 @@
491
491
  navLabelNextMonth="Nächster Monat"
492
492
  calendarGridLabel="Kalendertage des Monats">
493
493
  <span slot="ariaLabel.bib.close">Kalender schließen</span>
494
- <span slot="fromLabel">Abreisedatum (geerbt aus `data-locale="de-DE"`)</span>
494
+ <span slot="fromLabel">Abreisedatum (geerbt aus <code>data-locale="de-DE"</code>)</span>
495
495
  <span slot="toLabel">Rückkehrdatum</span>
496
496
  <span slot="helpText">Hilfetext</span>
497
497
  <span slot="optionalFromLabel">(freiwillig)</span>
@@ -591,7 +591,7 @@
591
591
  navLabelNextMonth="Nächster Monat"
592
592
  calendarGridLabel="Kalendertage des Monats"&gt;
593
593
  &lt;span slot="ariaLabel.bib.close"&gt;Kalender schließen&lt;/span&gt;
594
- &lt;span slot="fromLabel"&gt;Abreisedatum (geerbt aus `data-locale="de-DE"`)&lt;/span&gt;
594
+ &lt;span slot="fromLabel"&gt;Abreisedatum (geerbt aus &lt;code&gt;data-locale="de-DE"&lt;/code&gt;)&lt;/span&gt;
595
595
  &lt;span slot="toLabel"&gt;Rückkehrdatum&lt;/span&gt;
596
596
  &lt;span slot="helpText"&gt;Hilfetext&lt;/span&gt;
597
597
  &lt;span slot="optionalFromLabel"&gt;(freiwillig)&lt;/span&gt;