@aurodesignsystem-dev/auro-formkit 0.0.0-pr1489.0 → 0.0.0-pr1489.10

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 +249 -125
  2. package/components/checkbox/demo/getting-started.min.js +249 -125
  3. package/components/checkbox/demo/index.min.js +249 -125
  4. package/components/checkbox/demo/styles.min.css +1 -1
  5. package/components/checkbox/dist/index.js +249 -125
  6. package/components/checkbox/dist/registered.js +249 -125
  7. package/components/combobox/demo/customize.min.js +523 -259
  8. package/components/combobox/demo/getting-started.min.js +523 -259
  9. package/components/combobox/demo/index.min.js +523 -259
  10. package/components/combobox/demo/styles.min.css +1 -1
  11. package/components/combobox/dist/index.js +523 -259
  12. package/components/combobox/dist/registered.js +523 -259
  13. package/components/counter/demo/customize.min.js +271 -131
  14. package/components/counter/demo/index.min.js +271 -131
  15. package/components/counter/demo/styles.min.css +1 -1
  16. package/components/counter/dist/index.js +249 -125
  17. package/components/counter/dist/registered.js +249 -125
  18. package/components/datepicker/demo/accessibility.md +12 -9
  19. package/components/datepicker/demo/api.md +1 -1
  20. package/components/datepicker/demo/customize.md +4 -0
  21. package/components/datepicker/demo/customize.min.js +1638 -654
  22. package/components/datepicker/demo/index.md +35 -5
  23. package/components/datepicker/demo/index.min.js +1654 -659
  24. package/components/datepicker/demo/keyboard-behavior.md +16 -16
  25. package/components/datepicker/demo/styles.min.css +1 -1
  26. package/components/datepicker/demo/voiceover.md +5 -3
  27. package/components/datepicker/demo/why-datepicker.md +2 -2
  28. package/components/datepicker/dist/index.js +1642 -658
  29. package/components/datepicker/dist/registered.js +1642 -658
  30. package/components/datepicker/dist/src/auro-calendar-cell.d.ts +52 -17
  31. package/components/datepicker/dist/src/auro-calendar-month.d.ts +12 -4
  32. package/components/datepicker/dist/src/auro-calendar.d.ts +161 -8
  33. package/components/datepicker/dist/src/auro-datepicker.d.ts +77 -79
  34. package/components/dropdown/demo/customize.min.js +22 -6
  35. package/components/dropdown/demo/getting-started.min.js +22 -6
  36. package/components/dropdown/demo/index.min.js +22 -6
  37. package/components/dropdown/demo/styles.min.css +1 -1
  38. package/components/dropdown/dist/auro-dropdown.d.ts +3 -2
  39. package/components/dropdown/dist/index.js +22 -6
  40. package/components/dropdown/dist/registered.js +22 -6
  41. package/components/form/demo/customize.min.js +3461 -1561
  42. package/components/form/demo/getting-started.min.js +3461 -1561
  43. package/components/form/demo/index.min.js +3461 -1561
  44. package/components/form/demo/registerDemoDeps.min.js +3461 -1561
  45. package/components/form/demo/styles.min.css +1 -1
  46. package/components/input/demo/customize.min.js +249 -125
  47. package/components/input/demo/getting-started.min.js +249 -125
  48. package/components/input/demo/index.min.js +249 -125
  49. package/components/input/demo/styles.min.css +1 -1
  50. package/components/input/dist/index.js +249 -125
  51. package/components/input/dist/registered.js +249 -125
  52. package/components/menu/demo/styles.min.css +1 -1
  53. package/components/radio/demo/customize.min.js +249 -125
  54. package/components/radio/demo/getting-started.min.js +249 -125
  55. package/components/radio/demo/index.min.js +249 -125
  56. package/components/radio/demo/styles.min.css +1 -1
  57. package/components/radio/dist/index.js +249 -125
  58. package/components/radio/dist/registered.js +249 -125
  59. package/components/select/demo/customize.min.js +271 -131
  60. package/components/select/demo/getting-started.min.js +271 -131
  61. package/components/select/demo/index.min.js +271 -131
  62. package/components/select/demo/styles.min.css +1 -1
  63. package/components/select/dist/index.js +271 -131
  64. package/components/select/dist/registered.js +271 -131
  65. package/custom-elements.json +1936 -1614
  66. package/package.json +8 -8
@@ -6,9 +6,6 @@ export class AuroCalendarCell extends LitElement {
6
6
  selected: {
7
7
  type: BooleanConstructor;
8
8
  };
9
- hovered: {
10
- type: BooleanConstructor;
11
- };
12
9
  dateTo: {
13
10
  type: StringConstructor;
14
11
  };
@@ -31,9 +28,6 @@ export class AuroCalendarCell extends LitElement {
31
28
  disabledDays: {
32
29
  type: ArrayConstructor;
33
30
  };
34
- hoveredDate: {
35
- type: StringConstructor;
36
- };
37
31
  isCurrentDate: {
38
32
  type: BooleanConstructor;
39
33
  };
@@ -46,10 +40,6 @@ export class AuroCalendarCell extends LitElement {
46
40
  renderForDateSlot: {
47
41
  type: BooleanConstructor;
48
42
  };
49
- active: {
50
- type: BooleanConstructor;
51
- reflect: boolean;
52
- };
53
43
  hasPopoverContent: {
54
44
  type: BooleanConstructor;
55
45
  };
@@ -57,7 +47,6 @@ export class AuroCalendarCell extends LitElement {
57
47
  static get styles(): import("lit").CSSResult[];
58
48
  day: any;
59
49
  selected: boolean;
60
- hovered: boolean;
61
50
  dateTo: any;
62
51
  dateFrom: any;
63
52
  month: any;
@@ -65,7 +54,6 @@ export class AuroCalendarCell extends LitElement {
65
54
  max: any;
66
55
  disabled: boolean;
67
56
  disabledDays: any[];
68
- hoveredDate: any;
69
57
  isCurrentDate: boolean;
70
58
  _locale: any;
71
59
  dateStr: string | null;
@@ -77,11 +65,12 @@ export class AuroCalendarCell extends LitElement {
77
65
  set locale(value: any);
78
66
  get locale(): any;
79
67
  /**
80
- * Handles selected and hovered states of the calendar cell when the date changes.
68
+ * Handles selected state of the calendar cell when the selection changes.
69
+ * Also clears any imperative range preview classes so classMap is the
70
+ * sole source of truth after a selection update.
81
71
  * @private
82
72
  * @param {Number} dateFrom - Depart date.
83
73
  * @param {Number} dateTo - Return date.
84
- * @param {Number} hoveredDate - Hovered date.
85
74
  * @param {Object} day - An object containing the dateFrom and day of month values.
86
75
  * @returns {void}
87
76
  */
@@ -94,11 +83,21 @@ export class AuroCalendarCell extends LitElement {
94
83
  private handleTap;
95
84
  /**
96
85
  * Handles user hover events and dispatches a custom event.
97
- * Always dispatches for range pickers so the preview updates correctly.
86
+ * Does NOT set any reactive properties the range preview is handled
87
+ * imperatively by the calendar component to avoid O(N) re-renders.
98
88
  * @private
99
89
  * @returns {void}
100
90
  */
101
91
  private handleHover;
92
+ /**
93
+ * Handles focus events on the cell button.
94
+ * Dispatches a lightweight event for the calendar to handle SR
95
+ * announcements and range preview updates without triggering
96
+ * any Lit lifecycle updates.
97
+ * @private
98
+ * @returns {void}
99
+ */
100
+ private handleFocus;
102
101
  /**
103
102
  * Checks if the current date is outside the valid min/max range.
104
103
  * Out-of-range cells are not focusable and are hidden from screen readers.
@@ -185,9 +184,9 @@ export class AuroCalendarCell extends LitElement {
185
184
  */
186
185
  private isLastHoveredDate;
187
186
  /**
188
- * Checks if the current date is a highlighted date.
187
+ * Checks if the current date is a referenced date.
189
188
  * @param {Object} dateStr - The date string in MM_DD_YYYY format.
190
- * @returns Boolean - True if the date is a highlighted date.
189
+ * @returns Boolean - True if the date is a referenced date.
191
190
  */
192
191
  isReferenceDate(dateStr: Object): boolean;
193
192
  /**
@@ -212,6 +211,7 @@ export class AuroCalendarCell extends LitElement {
212
211
  firstUpdated(): void;
213
212
  datepicker: any;
214
213
  _slotContentHandler: (() => void) | undefined;
214
+ _cachedButton: Element | null | undefined;
215
215
  calendarMonth: any;
216
216
  /**
217
217
  * Configures the popover instance with the calendar month boundary.
@@ -223,11 +223,46 @@ export class AuroCalendarCell extends LitElement {
223
223
  private configurePopover;
224
224
  auroPopover: any;
225
225
  updated(properties: any): void;
226
+ /**
227
+ * Updates ARIA attributes on the host element so that
228
+ * ariaActiveDescendantElement can expose cell info to the SR.
229
+ * @private
230
+ * @returns {void}
231
+ */
232
+ private updateHostAria;
226
233
  /**
227
234
  * Programmatically focuses the cell's interactive button element.
235
+ * Uses focusVisible: true so the :focus-visible ring appears even when
236
+ * the bib was opened via mouse click (which sets mouse input modality).
228
237
  * @returns {void}
229
238
  */
230
239
  focusButton(): void;
240
+ /**
241
+ * Imperatively marks this cell as active without triggering a Lit re-render.
242
+ * Note: buttons stay tabindex="-1" because the grid uses aria-activedescendant.
243
+ * @returns {void}
244
+ */
245
+ setActive(): void;
246
+ /**
247
+ * Imperatively marks this cell as inactive without triggering a Lit re-render.
248
+ * @returns {void}
249
+ */
250
+ clearActive(): void;
251
+ /**
252
+ * Updates range preview classes imperatively (no Lit re-render).
253
+ * Called by the calendar component when the hovered date changes
254
+ * during range selection (dateFrom set, dateTo not yet set).
255
+ * @param {Number} hoveredDate - Unix timestamp of the currently hovered/focused date.
256
+ * @param {Number} dateFrom - Unix timestamp of the selected departure date.
257
+ * @returns {void}
258
+ */
259
+ updateRangePreviewClasses(hoveredDate: number, dateFrom: number): void;
260
+ /**
261
+ * Clears all imperative range preview classes from the cell button.
262
+ * Called when a selection occurs so classMap becomes the sole source of truth.
263
+ * @returns {void}
264
+ */
265
+ clearRangePreviewClasses(): void;
231
266
  renderCellButton(): import("lit-html").TemplateResult;
232
267
  render(): import("lit-html").TemplateResult;
233
268
  }
@@ -37,12 +37,20 @@ export class AuroCalendarMonth extends RangeDatepickerCalendar {
37
37
  */
38
38
  getFocusableCells(): any[];
39
39
  /**
40
- * Handles arrow key navigation within the month grid.
41
- * Dispatches a cross-month navigation event when the boundary is reached.
40
+ * Overrides the base class handler to prevent setting `this.hoveredDate`
41
+ * as a reactive property. Instead, just dispatches the event upward so
42
+ * the calendar can handle range preview imperatively.
42
43
  * @private
43
- * @param {KeyboardEvent} event - The keyboard event.
44
+ * @param {CustomEvent} event - The date-is-hovered event from a cell.
44
45
  * @returns {void}
45
46
  */
46
- private handleGridKeyDown;
47
+ private handleDateHovered;
48
+ /**
49
+ * Dispatches a bubbling event when the mouse leaves the date grid body
50
+ * so the parent calendar can clear the range hover preview.
51
+ * @private
52
+ * @returns {void}
53
+ */
54
+ private handleTbodyMouseLeave;
47
55
  }
48
56
  import { RangeDatepickerCalendar } from './vendor/wc-range-datepicker/range-datepicker-calendar.js';
@@ -129,6 +129,12 @@ export class AuroCalendar extends RangeDatepicker {
129
129
  * @private
130
130
  */
131
131
  private activeCellDate;
132
+ /**
133
+ * Whether the #calendarGrid wrapper currently has focus.
134
+ * Used to determine whether the visualFocus ring should be shown.
135
+ * @private
136
+ */
137
+ private _gridHasFocus;
132
138
  /**
133
139
  * @private
134
140
  */
@@ -154,16 +160,40 @@ export class AuroCalendar extends RangeDatepicker {
154
160
  */
155
161
  private buttonTag;
156
162
  dropdown: any;
163
+ /**
164
+ * Unique instance ID for the live region element.
165
+ * @private
166
+ */
167
+ private _calendarInstanceId;
168
+ /**
169
+ * Updates the month and year when the user navigates to the previous calendar month.
170
+ * @private
171
+ * @param {Object} [options] - Optional settings.
172
+ * @param {boolean} [options.skipActiveUpdate=false] - When true, skip the active cell
173
+ * recomputation. Used by arrow key handlers that manage the active cell themselves.
174
+ * @returns {void}
175
+ */
176
+ private handlePrevMonth;
177
+ /**
178
+ * Updates the month and year when the user navigates to the next calendar month.
179
+ * @private
180
+ * @param {Object} [options] - Optional settings.
181
+ * @param {boolean} [options.skipActiveUpdate=false] - When true, skip the active cell
182
+ * recomputation. Used by arrow key handlers that manage the active cell themselves.
183
+ * @returns {void}
184
+ */
185
+ private handleNextMonth;
157
186
  /**
158
187
  * Announces the current month and year via the live region after navigation.
159
188
  * @private
160
189
  * @returns {void}
161
190
  */
162
191
  private announceMonthChange;
192
+ _focusAnnounceTimer: any;
163
193
  /**
164
- * Recomputes and sets the active cell for the newly visible month after
165
- * month navigation. Without this, activeCellDate can point at a date in
166
- * the old month, leaving no tabindex="0" cell in the grid.
194
+ * Updates the active cell after month navigation (prev/next buttons).
195
+ * Always moves the active cell to the first enabled date in the newly
196
+ * visible months so that tabbing back to the grid lands on an enabled cell.
167
197
  * @private
168
198
  * @returns {void}
169
199
  */
@@ -201,17 +231,32 @@ export class AuroCalendar extends RangeDatepicker {
201
231
  private getAllFocusableCells;
202
232
  /**
203
233
  * Sets the active cell across all months. Only one cell has tabindex="0" at a time.
234
+ * Uses imperative DOM manipulation — no Lit re-render triggered.
235
+ * Also updates ariaActiveDescendantElement on the grid wrapper so
236
+ * screen readers announce the active cell without moving DOM focus.
204
237
  * @param {Number} date - Unix timestamp of the cell to activate.
205
238
  * @returns {void}
206
239
  */
207
240
  setActiveCell(date: number): void;
208
241
  /**
209
- * Focuses the currently active cell. If activeCellDate is set but no cell
210
- * has the active attribute yet, sets it first. Waits for the cell's render
211
- * to complete so the focused button is the final DOM element.
242
+ * Focuses the calendar grid wrapper and sets the active cell.
243
+ * DOM focus stays on the grid wrapper; the aria-live region
244
+ * tells the screen reader which cell is "active".
212
245
  * @returns {void}
213
246
  */
214
247
  focusActiveCell(): void;
248
+ /**
249
+ * Shows the activeCell ring when the grid gains focus.
250
+ * @private
251
+ * @returns {void}
252
+ */
253
+ private handleGridFocusIn;
254
+ /**
255
+ * Hides the activeCell ring when the grid loses focus.
256
+ * @private
257
+ * @returns {void}
258
+ */
259
+ private handleGridFocusOut;
215
260
  /**
216
261
  * Computes the initial active date from data properties alone — no DOM required.
217
262
  * Priority:
@@ -223,7 +268,7 @@ export class AuroCalendar extends RangeDatepicker {
223
268
  * 5b. First enabled date scanning forward from finite min (unbounded max)
224
269
  * 5c. First enabled date scanning backward from finite max (unbounded min)
225
270
  * 6. First in-range date (even if blackout) so focus can land somewhere
226
- * 7. undefined — no valid target
271
+ * 7. Undefined — no valid target.
227
272
  *
228
273
  * @private
229
274
  * @param {Object} [options] - Optional settings.
@@ -233,6 +278,24 @@ export class AuroCalendar extends RangeDatepicker {
233
278
  * @returns {Number|undefined} Unix timestamp (seconds) of the date to activate, or undefined.
234
279
  */
235
280
  private computeActiveDate;
281
+ /**
282
+ * Checks if a target date (unix seconds) is within the configured [min, max] range.
283
+ * Returns false if the date falls outside the range, preventing navigation
284
+ * to months where all dates are disabled.
285
+ * @private
286
+ * @param {Number} targetTs - Unix timestamp in seconds.
287
+ * @returns {Boolean} True if the date is within range.
288
+ */
289
+ private isDateInRange;
290
+ /**
291
+ * Handles arrow key navigation on the calendar grid wrapper.
292
+ * Focus stays on the grid wrapper; only ariaActiveDescendantElement
293
+ * and the visual active-cell indicator change.
294
+ * @private
295
+ * @param {KeyboardEvent} event - The keyboard event.
296
+ * @returns {void}
297
+ */
298
+ private handleGridKeyDown;
236
299
  /**
237
300
  * Handles cross-month boundary navigation events from month components.
238
301
  * @private
@@ -247,6 +310,60 @@ export class AuroCalendar extends RangeDatepicker {
247
310
  * @returns {void}
248
311
  */
249
312
  private handleCellActivate;
313
+ /**
314
+ * Handles focus events from calendar cells.
315
+ * Updates the live region with an SR announcement and triggers
316
+ * the imperative range preview if applicable.
317
+ * @private
318
+ * @param {CustomEvent} event - The calendar-cell-focused event.
319
+ * @returns {void}
320
+ */
321
+ private handleCellFocused;
322
+ /**
323
+ * Builds a full SR announcement string for a focused cell date.
324
+ * Includes the localized date, range position, popover content,
325
+ * and blackout status.
326
+ * @private
327
+ * @param {Number} date - Unix timestamp (seconds) of the focused cell.
328
+ * @returns {String} The announcement string.
329
+ */
330
+ private buildFocusAnnouncement;
331
+ /**
332
+ * Determines the range position label for a given date.
333
+ * @private
334
+ * @param {Number} date - Unix timestamp (seconds).
335
+ * @returns {String|null} The range position label, or null.
336
+ */
337
+ private getRangePositionLabel;
338
+ /**
339
+ * Checks whether a given date is a blackout date.
340
+ * @private
341
+ * @param {Number} dateTs - Unix timestamp (seconds).
342
+ * @returns {Boolean} True if the date is blacked out.
343
+ */
344
+ private isDateBlackout;
345
+ /**
346
+ * Updates the range preview classes imperatively across all cells.
347
+ * Only active when in range mode with dateFrom set and dateTo not yet set.
348
+ * @private
349
+ * @param {Number} hoveredDate - Unix timestamp of the hovered/focused date.
350
+ * @returns {void}
351
+ */
352
+ private updateRangePreview;
353
+ /**
354
+ * Clears range preview classes from all cells.
355
+ * @private
356
+ * @returns {void}
357
+ */
358
+ private clearRangePreview;
359
+ /**
360
+ * Overrides the base class handler to prevent setting `this.hoveredDate`
361
+ * as a reactive property. Instead, handles the range preview imperatively.
362
+ * @private
363
+ * @param {CustomEvent} event - The hovered-date-changed event from a month.
364
+ * @returns {void}
365
+ */
366
+ private hoveredDateChanged;
250
367
  /**
251
368
  * Scrolls the calendar to ensure the month containing the active cell is visible.
252
369
  * @private
@@ -254,12 +371,48 @@ export class AuroCalendar extends RangeDatepicker {
254
371
  */
255
372
  private scrollToActiveCell;
256
373
  /**
257
- * Announces a date selection via the live region.
374
+ * Returns (and lazily creates) an aria-live region inside the dropdown's
375
+ * <dialog> element. This placement is critical for two reasons:
376
+ *
377
+ * 1. Inside the dialog's accessible scope — dialog.showModal() makes
378
+ * everything outside the top-layer dialog inert, and desktop modal
379
+ * mode uses _setPageInert() on document.body siblings. A live region
380
+ * on document.body would be invisible to screen readers in both cases.
381
+ *
382
+ * 2. Not nested in shadow DOM — Chrome inconsistently observes aria-live
383
+ * mutations inside shadow DOM across machines and versions. The dialog
384
+ * element is only one shadow root deep (the dropdown bib's shadow DOM),
385
+ * which Chrome handles reliably. The calendar's own shadow DOM (nested
386
+ * inside the bib via slotting) is two+ levels deep and unreliable.
387
+ *
388
+ * @private
389
+ * @returns {HTMLElement} The live region element.
390
+ */
391
+ private getOrCreateLiveRegion;
392
+ _liveRegion: any;
393
+ _announceRafId: any;
394
+ /**
395
+ * Announces a date selection or focus change via the live region.
396
+ * Uses requestAnimationFrame to ensure the clear and set happen in
397
+ * separate rendering frames — Chrome may coalesce synchronous or
398
+ * microtask-deferred mutations into a single accessibility tree update.
258
399
  * @private
259
400
  * @param {String} dateStr - The localized date string to announce.
260
401
  * @returns {void}
261
402
  */
262
403
  private announceSelection;
404
+ /**
405
+ * Debounced version of announceSelection for focus navigation.
406
+ * Uses the assertive live region with a 150ms debounce so only the
407
+ * final cell after rapid arrow-key traversal is announced. We
408
+ * originally tried aria-live="polite" here, but VoiceOver treats
409
+ * polite as "wait until idle" — which never happens during active
410
+ * keyboard navigation — so the announcements were silently dropped.
411
+ * @private
412
+ * @param {String} dateStr - The localized date string to announce.
413
+ * @returns {void}
414
+ */
415
+ private announceFocusDebounced;
263
416
  /**
264
417
  * Formats a Unix timestamp (seconds) as a localized date string for SR announcements.
265
418
  * @private
@@ -39,13 +39,10 @@ export class AuroDatePicker extends AuroElement {
39
39
  static get properties(): {
40
40
  /**
41
41
  * Defines whether the component will be on lighter or darker backgrounds.
42
- * @property {'default', 'inverse'}
42
+ * @type {'default' | 'inverse'}
43
43
  * @default 'default'
44
44
  */
45
- appearance: {
46
- type: StringConstructor;
47
- reflect: boolean;
48
- };
45
+ appearance: "default" | "inverse";
49
46
  /**
50
47
  * If declared, bib's position will be automatically calculated where to appear.
51
48
  * @default false
@@ -54,6 +51,20 @@ export class AuroDatePicker extends AuroElement {
54
51
  type: BooleanConstructor;
55
52
  reflect: boolean;
56
53
  };
54
+ /**
55
+ * Array of dates that cannot be selected. Dates should be in ISO format (YYYY-MM-DD).
56
+ */
57
+ blackoutDates: {
58
+ type: ArrayConstructor;
59
+ reflect: boolean;
60
+ };
61
+ /**
62
+ * Label announced for blackout (disabled but in-range) date cells.
63
+ */
64
+ blackoutLabel: {
65
+ type: StringConstructor;
66
+ reflect: boolean;
67
+ };
57
68
  /**
58
69
  * The last date that may be displayed in the calendar.
59
70
  */
@@ -102,24 +113,6 @@ export class AuroDatePicker extends AuroElement {
102
113
  type: StringConstructor;
103
114
  reflect: boolean;
104
115
  };
105
- hasFocus: {
106
- type: BooleanConstructor;
107
- reflect: boolean;
108
- };
109
- /**
110
- * @private
111
- */
112
- hasValue: {
113
- type: BooleanConstructor;
114
- reflect: boolean;
115
- };
116
- /**
117
- * @private
118
- */
119
- hasAllValues: {
120
- type: BooleanConstructor;
121
- reflect: boolean;
122
- };
123
116
  /**
124
117
  * Specifies the date format. The default is `mm/dd/yyyy`.
125
118
  */
@@ -136,6 +129,24 @@ export class AuroDatePicker extends AuroElement {
136
129
  * @default 'sm'
137
130
  */
138
131
  fullscreenBreakpoint: "xs" | "sm" | "md" | "lg" | "xl" | "disabled";
132
+ /**
133
+ * @private
134
+ */
135
+ hasAllValues: {
136
+ type: BooleanConstructor;
137
+ reflect: boolean;
138
+ };
139
+ hasFocus: {
140
+ type: BooleanConstructor;
141
+ reflect: boolean;
142
+ };
143
+ /**
144
+ * @private
145
+ */
146
+ hasValue: {
147
+ type: BooleanConstructor;
148
+ reflect: boolean;
149
+ };
139
150
  /** Exposes inputmode attribute for input. */
140
151
  inputmode: {
141
152
  type: StringConstructor;
@@ -170,6 +181,12 @@ export class AuroDatePicker extends AuroElement {
170
181
  type: StringConstructor;
171
182
  reflect: boolean;
172
183
  };
184
+ /**
185
+ * @private
186
+ */
187
+ monthFirst: {
188
+ type: BooleanConstructor;
189
+ };
173
190
  /**
174
191
  * Names of all 12 months to render in the calendar, used for localization of date string in mobile layout.
175
192
  */
@@ -177,23 +194,24 @@ export class AuroDatePicker extends AuroElement {
177
194
  type: ArrayConstructor;
178
195
  };
179
196
  /**
180
- * @private
197
+ * Accessible label for the next month navigation button.
181
198
  */
182
- monthFirst: {
183
- type: BooleanConstructor;
199
+ navLabelNextMonth: {
200
+ type: StringConstructor;
201
+ reflect: boolean;
184
202
  };
185
203
  /**
186
- * If declared, the bib will NOT flip to an alternate position
187
- * when there isn't enough space in the specified `placement`.
204
+ * Accessible label for the previous month navigation button.
188
205
  */
189
- noFlip: {
190
- type: BooleanConstructor;
206
+ navLabelPrevMonth: {
207
+ type: StringConstructor;
191
208
  reflect: boolean;
192
209
  };
193
210
  /**
194
- * If declared, the dropdown will shift its position to avoid being cut off by the viewport.
211
+ * If declared, the bib will NOT flip to an alternate position
212
+ * when there isn't enough space in the specified `placement`.
195
213
  */
196
- shift: {
214
+ noFlip: {
197
215
  type: BooleanConstructor;
198
216
  reflect: boolean;
199
217
  };
@@ -249,16 +267,9 @@ export class AuroDatePicker extends AuroElement {
249
267
  reflect: boolean;
250
268
  };
251
269
  /**
252
- * Label announced for the range start date cell.
253
- */
254
- rangeLabelStart: {
255
- type: StringConstructor;
256
- reflect: boolean;
257
- };
258
- /**
259
- * Label announced for the range end date cell.
270
+ * Label announced for cells after the range (or after start when no end is selected).
260
271
  */
261
- rangeLabelEnd: {
272
+ rangeLabelAfterRange: {
262
273
  type: StringConstructor;
263
274
  reflect: boolean;
264
275
  };
@@ -270,44 +281,23 @@ export class AuroDatePicker extends AuroElement {
270
281
  reflect: boolean;
271
282
  };
272
283
  /**
273
- * Label announced for cells within the selected range.
274
- */
275
- rangeLabelInRange: {
276
- type: StringConstructor;
277
- reflect: boolean;
278
- };
279
- /**
280
- * Label announced for cells after the range (or after start when no end is selected).
281
- */
282
- rangeLabelAfterRange: {
283
- type: StringConstructor;
284
- reflect: boolean;
285
- };
286
- /**
287
- * Array of dates that cannot be selected. Dates should be in ISO format (YYYY-MM-DD).
288
- */
289
- blackoutDates: {
290
- type: ArrayConstructor;
291
- reflect: boolean;
292
- };
293
- /**
294
- * Label announced for blackout (disabled but in-range) date cells.
284
+ * Label announced for the range end date cell.
295
285
  */
296
- blackoutLabel: {
286
+ rangeLabelEnd: {
297
287
  type: StringConstructor;
298
288
  reflect: boolean;
299
289
  };
300
290
  /**
301
- * Accessible label for the previous month navigation button.
291
+ * Label announced for cells within the selected range.
302
292
  */
303
- navLabelPrevMonth: {
293
+ rangeLabelInRange: {
304
294
  type: StringConstructor;
305
295
  reflect: boolean;
306
296
  };
307
297
  /**
308
- * Accessible label for the next month navigation button.
298
+ * Label announced for the range start date cell.
309
299
  */
310
- navLabelNextMonth: {
300
+ rangeLabelStart: {
311
301
  type: StringConstructor;
312
302
  reflect: boolean;
313
303
  };
@@ -357,6 +347,13 @@ export class AuroDatePicker extends AuroElement {
357
347
  setCustomValidityValueMissing: {
358
348
  type: StringConstructor;
359
349
  };
350
+ /**
351
+ * If declared, the dropdown will shift its position to avoid being cut off by the viewport.
352
+ */
353
+ shift: {
354
+ type: BooleanConstructor;
355
+ reflect: boolean;
356
+ };
360
357
  /**
361
358
  * Set true to make datepicker stacked style.
362
359
  */
@@ -364,6 +361,15 @@ export class AuroDatePicker extends AuroElement {
364
361
  type: BooleanConstructor;
365
362
  reflect: boolean;
366
363
  };
364
+ /**
365
+ * Indicates whether the datepicker is in a dirty state (has been interacted with).
366
+ * @private
367
+ */
368
+ touched: {
369
+ type: BooleanConstructor;
370
+ reflect: boolean;
371
+ attribute: boolean;
372
+ };
367
373
  /**
368
374
  * Specifies the `validityState` this element is in.
369
375
  */
@@ -383,15 +389,6 @@ export class AuroDatePicker extends AuroElement {
383
389
  valueEnd: {
384
390
  type: StringConstructor;
385
391
  };
386
- /**
387
- * Indicates whether the datepicker is in a dirty state (has been interacted with).
388
- * @private
389
- */
390
- touched: {
391
- type: BooleanConstructor;
392
- reflect: boolean;
393
- attribute: boolean;
394
- };
395
392
  };
396
393
  static get styles(): import("lit").CSSResult[];
397
394
  /**
@@ -507,7 +504,7 @@ export class AuroDatePicker extends AuroElement {
507
504
  /**
508
505
  * Handles click on the clear button.
509
506
  * @private
510
- * @param {MouseEvent} event
507
+ * @param {MouseEvent} event - The mouse event from the clear button click.
511
508
  * @returns {void}
512
509
  */
513
510
  private handleClearClick;
@@ -538,8 +535,9 @@ export class AuroDatePicker extends AuroElement {
538
535
  */
539
536
  private get displayValueFontClass();
540
537
  /**
541
- * @private
542
538
  * Common display value wrapper classes.
539
+ * @private
540
+ * @returns {Object} Class map for Lit's classMap directive.
543
541
  */
544
542
  private get commonDisplayValueWrapperClasses();
545
543
  /**