@aurodesignsystem-dev/auro-formkit 0.0.0-pr1480.1 → 0.0.0-pr1480.11

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 (46) 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/customize.min.js +2 -2
  12. package/components/counter/demo/index.min.js +2 -2
  13. package/components/counter/dist/index.js +45 -441
  14. package/components/counter/dist/registered.js +1 -1
  15. package/components/datepicker/demo/customize.min.js +225 -92
  16. package/components/datepicker/demo/index.min.js +241 -97
  17. package/components/datepicker/dist/index.js +225 -92
  18. package/components/datepicker/dist/registered.js +225 -92
  19. package/components/datepicker/dist/src/auro-calendar-cell.d.ts +3 -4
  20. package/components/datepicker/dist/src/auro-calendar.d.ts +70 -8
  21. package/components/dropdown/demo/customize.min.js +1 -1
  22. package/components/dropdown/demo/getting-started.min.js +1 -1
  23. package/components/dropdown/demo/index.min.js +1 -1
  24. package/components/dropdown/dist/index.js +1 -1
  25. package/components/dropdown/dist/registered.js +1 -1
  26. package/components/form/demo/customize.min.js +1161 -1028
  27. package/components/form/demo/getting-started.min.js +1161 -1028
  28. package/components/form/demo/index.min.js +1161 -1028
  29. package/components/form/demo/registerDemoDeps.min.js +1156 -1023
  30. package/components/input/demo/customize.min.js +1 -1
  31. package/components/input/demo/getting-started.min.js +1 -1
  32. package/components/input/demo/index.min.js +1 -1
  33. package/components/input/dist/index.js +1 -1
  34. package/components/input/dist/registered.js +1 -1
  35. package/components/radio/demo/customize.min.js +1 -1
  36. package/components/radio/demo/getting-started.min.js +1 -1
  37. package/components/radio/demo/index.min.js +1 -1
  38. package/components/radio/dist/index.js +1 -1
  39. package/components/radio/dist/registered.js +1 -1
  40. package/components/select/demo/customize.min.js +2 -2
  41. package/components/select/demo/getting-started.min.js +2 -2
  42. package/components/select/demo/index.min.js +2 -2
  43. package/components/select/dist/index.js +2 -2
  44. package/components/select/dist/registered.js +2 -2
  45. package/custom-elements.json +89 -6
  46. package/package.json +1 -1
@@ -238,14 +238,13 @@ export class AuroCalendarCell extends LitElement {
238
238
  */
239
239
  focusButton(): void;
240
240
  /**
241
- * Imperatively marks this cell as active (tabindex="0") without
242
- * triggering a Lit re-render.
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
243
  * @returns {void}
244
244
  */
245
245
  setActive(): void;
246
246
  /**
247
- * Imperatively marks this cell as inactive (tabindex="-1") without
248
- * triggering a Lit re-render.
247
+ * Imperatively marks this cell as inactive without triggering a Lit re-render.
249
248
  * @returns {void}
250
249
  */
251
250
  clearActive(): void;
@@ -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,35 @@ export class AuroCalendar extends RangeDatepicker {
154
160
  */
155
161
  private buttonTag;
156
162
  dropdown: any;
163
+ /**
164
+ * Updates the month and year when the user navigates to the previous calendar month.
165
+ * @private
166
+ * @param {Object} [options] - Optional settings.
167
+ * @param {boolean} [options.skipActiveUpdate=false] - When true, skip the active cell
168
+ * recomputation. Used by arrow key handlers that manage the active cell themselves.
169
+ * @returns {void}
170
+ */
171
+ private handlePrevMonth;
172
+ /**
173
+ * Updates the month and year when the user navigates to the next calendar month.
174
+ * @private
175
+ * @param {Object} [options] - Optional settings.
176
+ * @param {boolean} [options.skipActiveUpdate=false] - When true, skip the active cell
177
+ * recomputation. Used by arrow key handlers that manage the active cell themselves.
178
+ * @returns {void}
179
+ */
180
+ private handleNextMonth;
157
181
  /**
158
182
  * Announces the current month and year via the live region after navigation.
159
183
  * @private
160
184
  * @returns {void}
161
185
  */
162
186
  private announceMonthChange;
187
+ _focusAnnounceTimer: any;
163
188
  /**
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.
189
+ * Updates the active cell after month navigation (prev/next buttons).
190
+ * Always moves the active cell to the first enabled date in the newly
191
+ * visible months so that tabbing back to the grid lands on an enabled cell.
167
192
  * @private
168
193
  * @returns {void}
169
194
  */
@@ -210,11 +235,23 @@ export class AuroCalendar extends RangeDatepicker {
210
235
  setActiveCell(date: number): void;
211
236
  /**
212
237
  * Focuses the calendar grid wrapper and sets the active cell.
213
- * DOM focus stays on the grid wrapper; ariaActiveDescendantElement
238
+ * DOM focus stays on the grid wrapper; the aria-live region
214
239
  * tells the screen reader which cell is "active".
215
240
  * @returns {void}
216
241
  */
217
242
  focusActiveCell(): void;
243
+ /**
244
+ * Shows the activeCell ring when the grid gains focus.
245
+ * @private
246
+ * @returns {void}
247
+ */
248
+ private handleGridFocusIn;
249
+ /**
250
+ * Hides the activeCell ring when the grid loses focus.
251
+ * @private
252
+ * @returns {void}
253
+ */
254
+ private handleGridFocusOut;
218
255
  /**
219
256
  * Computes the initial active date from data properties alone — no DOM required.
220
257
  * Priority:
@@ -236,6 +273,15 @@ export class AuroCalendar extends RangeDatepicker {
236
273
  * @returns {Number|undefined} Unix timestamp (seconds) of the date to activate, or undefined.
237
274
  */
238
275
  private computeActiveDate;
276
+ /**
277
+ * Checks if a target date (unix seconds) is within the configured [min, max] range.
278
+ * Returns false if the date falls outside the range, preventing navigation
279
+ * to months where all dates are disabled.
280
+ * @private
281
+ * @param {Number} targetTs - Unix timestamp in seconds.
282
+ * @returns {Boolean} True if the date is within range.
283
+ */
284
+ private isDateInRange;
239
285
  /**
240
286
  * Handles arrow key navigation on the calendar grid wrapper.
241
287
  * Focus stays on the grid wrapper; only ariaActiveDescendantElement
@@ -319,8 +365,23 @@ export class AuroCalendar extends RangeDatepicker {
319
365
  * @returns {void}
320
366
  */
321
367
  private scrollToActiveCell;
368
+ /**
369
+ * Returns the aria-live region element from this component's shadow DOM.
370
+ * The region is rendered as part of the Lit template so it lives inside
371
+ * the dialog's accessible scope — both when the dropdown uses
372
+ * showModal() (top layer) and when desktop mode uses _setPageInert().
373
+ * A live region on document.body would be made inert in both cases.
374
+ * @private
375
+ * @returns {HTMLElement} The live region element.
376
+ */
377
+ private getOrCreateLiveRegion;
378
+ _liveRegion: Element | null | undefined;
379
+ _announceRafId: any;
322
380
  /**
323
381
  * Announces a date selection or focus change via the live region.
382
+ * Uses requestAnimationFrame to ensure the clear and set happen in
383
+ * separate rendering frames — Chrome may coalesce synchronous or
384
+ * microtask-deferred mutations into a single accessibility tree update.
324
385
  * @private
325
386
  * @param {String} dateStr - The localized date string to announce.
326
387
  * @returns {void}
@@ -328,15 +389,16 @@ export class AuroCalendar extends RangeDatepicker {
328
389
  private announceSelection;
329
390
  /**
330
391
  * Debounced version of announceSelection for focus navigation.
331
- * Only announces the last focused date after rapid navigation pauses,
332
- * preventing the screen reader from queueing up stale announcements
333
- * that can't keep pace with arrow-key traversal.
392
+ * Uses the assertive live region with a 150ms debounce so only the
393
+ * final cell after rapid arrow-key traversal is announced. We
394
+ * originally tried aria-live="polite" here, but VoiceOver treats
395
+ * polite as "wait until idle" — which never happens during active
396
+ * keyboard navigation — so the announcements were silently dropped.
334
397
  * @private
335
398
  * @param {String} dateStr - The localized date string to announce.
336
399
  * @returns {void}
337
400
  */
338
401
  private announceFocusDebounced;
339
- _focusAnnounceTimer: any;
340
402
  /**
341
403
  * Formats a Unix timestamp (seconds) as a localized date string for SR announcements.
342
404
  * @private
@@ -3942,7 +3942,7 @@ class AuroHelpText extends i {
3942
3942
  }
3943
3943
  }
3944
3944
 
3945
- var formkitVersion = '202605210326';
3945
+ var formkitVersion = '202605262243';
3946
3946
 
3947
3947
  class AuroElement extends i {
3948
3948
  static get properties() {
@@ -3942,7 +3942,7 @@ class AuroHelpText extends i {
3942
3942
  }
3943
3943
  }
3944
3944
 
3945
- var formkitVersion = '202605210326';
3945
+ var formkitVersion = '202605262243';
3946
3946
 
3947
3947
  class AuroElement extends i {
3948
3948
  static get properties() {
@@ -3969,7 +3969,7 @@ class AuroHelpText extends i {
3969
3969
  }
3970
3970
  }
3971
3971
 
3972
- var formkitVersion = '202605210326';
3972
+ var formkitVersion = '202605262243';
3973
3973
 
3974
3974
  class AuroElement extends i {
3975
3975
  static get properties() {
@@ -3874,7 +3874,7 @@ class AuroHelpText extends LitElement {
3874
3874
  }
3875
3875
  }
3876
3876
 
3877
- var formkitVersion = '202605210326';
3877
+ var formkitVersion = '202605262243';
3878
3878
 
3879
3879
  class AuroElement extends LitElement {
3880
3880
  static get properties() {
@@ -3874,7 +3874,7 @@ class AuroHelpText extends LitElement {
3874
3874
  }
3875
3875
  }
3876
3876
 
3877
- var formkitVersion = '202605210326';
3877
+ var formkitVersion = '202605262243';
3878
3878
 
3879
3879
  class AuroElement extends LitElement {
3880
3880
  static get properties() {