@aurodesignsystem-dev/auro-formkit 0.0.0-pr1492.4 → 0.0.0-pr1493.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (153) hide show
  1. package/components/bibtemplate/dist/auro-bibtemplate.d.ts +7 -0
  2. package/components/bibtemplate/dist/index.js +9 -1
  3. package/components/bibtemplate/dist/registered.js +9 -1
  4. package/components/checkbox/demo/css-only.html +57 -0
  5. package/components/checkbox/demo/css-only.md +146 -0
  6. package/components/checkbox/demo/customize.min.js +2 -2
  7. package/components/checkbox/demo/getting-started.min.js +2 -2
  8. package/components/checkbox/demo/index.min.js +2 -2
  9. package/components/checkbox/demo/pages.json +1 -1
  10. package/components/checkbox/demo/styles.min.css +1 -1
  11. package/components/checkbox/demo/why-checkbox.html +57 -0
  12. package/components/checkbox/demo/why-checkbox.md +86 -0
  13. package/components/checkbox/dist/index.js +2 -2
  14. package/components/checkbox/dist/registered.js +2 -2
  15. package/components/combobox/demo/css-only.html +57 -0
  16. package/components/combobox/demo/css-only.md +209 -0
  17. package/components/combobox/demo/customize.md +7 -3
  18. package/components/combobox/demo/customize.min.js +1846 -1804
  19. package/components/combobox/demo/getting-started.min.js +1846 -1804
  20. package/components/combobox/demo/index.min.js +1846 -1804
  21. package/components/combobox/demo/pages.json +1 -1
  22. package/components/combobox/demo/styles.min.css +1 -1
  23. package/components/combobox/demo/why-combobox.html +57 -0
  24. package/components/combobox/demo/why-combobox.md +113 -0
  25. package/components/combobox/dist/auro-combobox.d.ts +5 -0
  26. package/components/combobox/dist/index.js +796 -179
  27. package/components/combobox/dist/registered.js +796 -179
  28. package/components/counter/demo/css-only.html +57 -0
  29. package/components/counter/demo/css-only.md +184 -0
  30. package/components/counter/demo/customize.min.js +276 -16
  31. package/components/counter/demo/index.min.js +276 -16
  32. package/components/counter/demo/keyboard-behavior.md +1 -0
  33. package/components/counter/demo/pages.json +1 -1
  34. package/components/counter/demo/styles.min.css +1 -1
  35. package/components/counter/demo/why-counter.html +57 -0
  36. package/components/counter/demo/why-counter.md +108 -0
  37. package/components/counter/dist/index.js +5457 -193
  38. package/components/counter/dist/registered.js +5457 -193
  39. package/components/datepicker/demo/accessibility.md +54 -3
  40. package/components/datepicker/demo/api.md +65 -55
  41. package/components/datepicker/demo/css-only.html +57 -0
  42. package/components/datepicker/demo/css-only.md +151 -0
  43. package/components/datepicker/demo/customize.html +2 -0
  44. package/components/datepicker/demo/customize.js +19 -0
  45. package/components/datepicker/demo/customize.md +474 -298
  46. package/components/datepicker/demo/customize.min.js +36243 -0
  47. package/components/datepicker/demo/design.md +5 -3
  48. package/components/datepicker/demo/getting-started.md +6 -6
  49. package/components/datepicker/demo/index.js +5 -1
  50. package/components/datepicker/demo/index.md +113 -16
  51. package/components/datepicker/demo/index.min.js +2736 -398
  52. package/components/datepicker/demo/keyboard-behavior.md +201 -2
  53. package/components/datepicker/demo/pages.json +1 -1
  54. package/components/datepicker/demo/styles.min.css +1 -1
  55. package/components/datepicker/demo/voiceover.md +21 -12
  56. package/components/datepicker/demo/why-datepicker.html +57 -0
  57. package/components/datepicker/demo/why-datepicker.md +133 -0
  58. package/components/datepicker/dist/index.js +2650 -399
  59. package/components/datepicker/dist/registered.js +2650 -399
  60. package/components/datepicker/dist/src/auro-calendar-cell.d.ts +116 -14
  61. package/components/datepicker/dist/src/auro-calendar-month.d.ts +54 -1
  62. package/components/datepicker/dist/src/auro-calendar.d.ts +264 -0
  63. package/components/datepicker/dist/src/auro-datepicker.d.ts +189 -53
  64. package/components/datepicker/dist/src/datepickerKeyboardStrategy.d.ts +5 -3
  65. package/components/datepicker/dist/src/utilities.d.ts +0 -14
  66. package/components/dropdown/demo/accessibility.md +11 -0
  67. package/components/dropdown/demo/api.md +1 -0
  68. package/components/dropdown/demo/css-only.html +57 -0
  69. package/components/dropdown/demo/css-only.md +219 -0
  70. package/components/dropdown/demo/customize.md +3 -0
  71. package/components/dropdown/demo/customize.min.js +265 -13
  72. package/components/dropdown/demo/getting-started.min.js +265 -13
  73. package/components/dropdown/demo/index.min.js +265 -13
  74. package/components/dropdown/demo/keyboard-behavior.md +1 -0
  75. package/components/dropdown/demo/pages.json +1 -1
  76. package/components/dropdown/demo/styles.min.css +1 -1
  77. package/components/dropdown/demo/why-dropdown.html +57 -0
  78. package/components/dropdown/demo/why-dropdown.md +97 -0
  79. package/components/dropdown/dist/auro-dropdown.d.ts +36 -1
  80. package/components/dropdown/dist/index.js +265 -13
  81. package/components/dropdown/dist/registered.js +265 -13
  82. package/components/form/demo/css-only.html +57 -0
  83. package/components/form/demo/css-only.md +156 -0
  84. package/components/form/demo/customize.min.js +11085 -8074
  85. package/components/form/demo/getting-started.min.js +11085 -8074
  86. package/components/form/demo/index.min.js +11085 -8074
  87. package/components/form/demo/pages.json +1 -1
  88. package/components/form/demo/registerDemoDeps.min.js +11084 -8073
  89. package/components/form/demo/styles.min.css +1 -1
  90. package/components/form/demo/why-form.html +57 -0
  91. package/components/form/demo/why-form.md +101 -0
  92. package/components/input/demo/css-only.html +57 -0
  93. package/components/input/demo/css-only.md +199 -0
  94. package/components/input/demo/customize.md +625 -636
  95. package/components/input/demo/customize.min.js +150 -75
  96. package/components/input/demo/getting-started.md +16 -6
  97. package/components/input/demo/getting-started.min.js +150 -75
  98. package/components/input/demo/index.min.js +150 -75
  99. package/components/input/demo/pages.json +1 -1
  100. package/components/input/demo/styles.min.css +1 -1
  101. package/components/input/demo/why-input.html +57 -0
  102. package/components/input/demo/why-input.md +121 -0
  103. package/components/input/dist/auro-input-util.d.ts +1 -1
  104. package/components/input/dist/base-input.d.ts +16 -0
  105. package/components/input/dist/index.js +150 -75
  106. package/components/input/dist/registered.js +150 -75
  107. package/components/input/dist/utilities.d.ts +1 -2
  108. package/components/menu/demo/api.md +41 -45
  109. package/components/menu/demo/css-only.html +57 -0
  110. package/components/menu/demo/css-only.md +166 -0
  111. package/components/menu/demo/customize.md +0 -28
  112. package/components/menu/demo/index.min.js +779 -1354
  113. package/components/menu/demo/pages.json +1 -1
  114. package/components/menu/demo/styles.min.css +1 -1
  115. package/components/menu/demo/why-menu.html +57 -0
  116. package/components/menu/demo/why-menu.md +104 -0
  117. package/components/menu/dist/auro-menu.d.ts +95 -110
  118. package/components/menu/dist/auro-menuoption.d.ts +32 -138
  119. package/components/menu/dist/index.js +753 -1308
  120. package/components/menu/dist/registered.js +765 -1308
  121. package/components/radio/demo/css-only.html +57 -0
  122. package/components/radio/demo/css-only.md +151 -0
  123. package/components/radio/demo/customize.min.js +1764 -0
  124. package/components/radio/demo/demo-support.min.js +55807 -0
  125. package/components/radio/demo/getting-started.js +1 -1
  126. package/components/radio/demo/getting-started.md +1 -1
  127. package/components/radio/demo/getting-started.min.js +1783 -0
  128. package/components/radio/demo/index.min.js +2 -2
  129. package/components/radio/demo/pages.json +1 -1
  130. package/components/radio/demo/styles.min.css +1 -1
  131. package/components/radio/demo/why-radio.html +57 -0
  132. package/components/radio/demo/why-radio.md +92 -0
  133. package/components/radio/dist/index.js +2 -2
  134. package/components/radio/dist/registered.js +2 -2
  135. package/components/select/demo/api.md +1 -0
  136. package/components/select/demo/css-only.html +57 -0
  137. package/components/select/demo/css-only.md +203 -0
  138. package/components/select/demo/customize.md +78 -3
  139. package/components/select/demo/customize.min.js +1341 -1533
  140. package/components/select/demo/getting-started.min.js +1341 -1533
  141. package/components/select/demo/index.min.js +1341 -1533
  142. package/components/select/demo/keyboard-behavior.md +19 -0
  143. package/components/select/demo/pages.json +1 -1
  144. package/components/select/demo/styles.min.css +1 -1
  145. package/components/select/demo/why-select.html +57 -0
  146. package/components/select/demo/why-select.md +128 -0
  147. package/components/select/dist/auro-select.d.ts +38 -2
  148. package/components/select/dist/index.js +435 -52
  149. package/components/select/dist/registered.js +435 -52
  150. package/components/select/dist/selectUtils.d.ts +12 -0
  151. package/custom-elements.json +3051 -2553
  152. package/package.json +8 -8
  153. package/components/menu/dist/auro-menu.context.d.ts +0 -238
@@ -12,8 +12,8 @@
12
12
  * @slot label - Defines the label content for the entire datepicker when `layout="snowflake"`.
13
13
  * @slot toLabel - Defines the label content for the second input when the `range` attribute is used.
14
14
  * @slot fromLabel - Defines the label content for the first input.
15
- * @slot date_MM_DD_YYYY - Defines the content to display in the auro-calendar-cell for the specified date. The content text is colored using the success state token when the `highlight` attribute is applied to the slot.
16
- * @slot popover_MM_DD_YYYY - Defines the content to display in the auro-calendar-cell popover for the specified date.
15
+ * @slot date_YYYY_MM_DD - Defines the content to display in the auro-calendar-cell for the specified date. The content text is colored using the success state token when the `highlight` attribute is applied to the slot.
16
+ * @slot popover_YYYY_MM_DD - Defines the content to display in the auro-calendar-cell popover for the specified date.
17
17
  * @csspart dropdown - Use for customizing the style of the dropdown.
18
18
  * @csspart trigger - Use for customizing the style of the datepicker trigger.
19
19
  * @csspart input - Use for customizing the style of the datepicker inputs.
@@ -38,13 +38,10 @@ export class AuroDatePicker extends AuroElement {
38
38
  static get properties(): {
39
39
  /**
40
40
  * Defines whether the component will be on lighter or darker backgrounds.
41
- * @property {'default', 'inverse'}
41
+ * @type {'default' | 'inverse'}
42
42
  * @default 'default'
43
43
  */
44
- appearance: {
45
- type: StringConstructor;
46
- reflect: boolean;
47
- };
44
+ appearance: "default" | "inverse";
48
45
  /**
49
46
  * If declared, bib's position will be automatically calculated where to appear.
50
47
  * @default false
@@ -53,6 +50,20 @@ export class AuroDatePicker extends AuroElement {
53
50
  type: BooleanConstructor;
54
51
  reflect: boolean;
55
52
  };
53
+ /**
54
+ * Array of dates that cannot be selected. Dates should be in ISO format (YYYY-MM-DD).
55
+ */
56
+ blackoutDates: {
57
+ type: ArrayConstructor;
58
+ reflect: boolean;
59
+ };
60
+ /**
61
+ * Label announced for blackout (disabled but in-range) date cells.
62
+ */
63
+ blackoutLabel: {
64
+ type: StringConstructor;
65
+ reflect: boolean;
66
+ };
56
67
  /**
57
68
  * The last date that may be displayed in the calendar.
58
69
  */
@@ -60,6 +71,13 @@ export class AuroDatePicker extends AuroElement {
60
71
  type: StringConstructor;
61
72
  reflect: boolean;
62
73
  };
74
+ /**
75
+ * Accessible label for the calendar grid containing the days of the month.
76
+ */
77
+ calendarGridLabel: {
78
+ type: StringConstructor;
79
+ reflect: boolean;
80
+ };
63
81
  /**
64
82
  * The date that will first be visually rendered to the user in the calendar.
65
83
  */
@@ -101,24 +119,6 @@ export class AuroDatePicker extends AuroElement {
101
119
  type: StringConstructor;
102
120
  reflect: boolean;
103
121
  };
104
- hasFocus: {
105
- type: BooleanConstructor;
106
- reflect: boolean;
107
- };
108
- /**
109
- * @private
110
- */
111
- hasValue: {
112
- type: BooleanConstructor;
113
- reflect: boolean;
114
- };
115
- /**
116
- * @private
117
- */
118
- hasAllValues: {
119
- type: BooleanConstructor;
120
- reflect: boolean;
121
- };
122
122
  /**
123
123
  * Specifies the date format. The default is `mm/dd/yyyy`.
124
124
  */
@@ -142,6 +142,24 @@ export class AuroDatePicker extends AuroElement {
142
142
  * @default 'sm'
143
143
  */
144
144
  fullscreenBreakpoint: "xs" | "sm" | "md" | "lg" | "xl" | "disabled";
145
+ /**
146
+ * @private
147
+ */
148
+ hasAllValues: {
149
+ type: BooleanConstructor;
150
+ reflect: boolean;
151
+ };
152
+ hasFocus: {
153
+ type: BooleanConstructor;
154
+ reflect: boolean;
155
+ };
156
+ /**
157
+ * @private
158
+ */
159
+ hasValue: {
160
+ type: BooleanConstructor;
161
+ reflect: boolean;
162
+ };
145
163
  /** Exposes inputmode attribute for input. */
146
164
  inputmode: {
147
165
  type: StringConstructor;
@@ -176,6 +194,12 @@ export class AuroDatePicker extends AuroElement {
176
194
  type: StringConstructor;
177
195
  reflect: boolean;
178
196
  };
197
+ /**
198
+ * @private
199
+ */
200
+ monthFirst: {
201
+ type: BooleanConstructor;
202
+ };
179
203
  /**
180
204
  * Names of all 12 months to render in the calendar.
181
205
  * When omitted, month names will be automatically populated from the active `locale` (falling back to `en-US`).
@@ -184,17 +208,24 @@ export class AuroDatePicker extends AuroElement {
184
208
  type: ArrayConstructor;
185
209
  };
186
210
  /**
187
- * If declared, the bib will NOT flip to an alternate position
188
- * when there isn't enough space in the specified `placement`.
211
+ * Accessible label for the next month navigation button.
189
212
  */
190
- noFlip: {
191
- type: BooleanConstructor;
213
+ navLabelNextMonth: {
214
+ type: StringConstructor;
192
215
  reflect: boolean;
193
216
  };
194
217
  /**
195
- * If declared, the dropdown will shift its position to avoid being cut off by the viewport.
218
+ * Accessible label for the previous month navigation button.
196
219
  */
197
- shift: {
220
+ navLabelPrevMonth: {
221
+ type: StringConstructor;
222
+ reflect: boolean;
223
+ };
224
+ /**
225
+ * If declared, the bib will NOT flip to an alternate position
226
+ * when there isn't enough space in the specified `placement`.
227
+ */
228
+ noFlip: {
198
229
  type: BooleanConstructor;
199
230
  reflect: boolean;
200
231
  };
@@ -249,6 +280,41 @@ export class AuroDatePicker extends AuroElement {
249
280
  type: BooleanConstructor;
250
281
  reflect: boolean;
251
282
  };
283
+ /**
284
+ * Label announced for cells after the range (or after start when no end is selected).
285
+ */
286
+ rangeLabelAfterRange: {
287
+ type: StringConstructor;
288
+ reflect: boolean;
289
+ };
290
+ /**
291
+ * Label announced for cells before the range start.
292
+ */
293
+ rangeLabelBeforeRange: {
294
+ type: StringConstructor;
295
+ reflect: boolean;
296
+ };
297
+ /**
298
+ * Label announced for the range end date cell.
299
+ */
300
+ rangeLabelEnd: {
301
+ type: StringConstructor;
302
+ reflect: boolean;
303
+ };
304
+ /**
305
+ * Label announced for cells within the selected range.
306
+ */
307
+ rangeLabelInRange: {
308
+ type: StringConstructor;
309
+ reflect: boolean;
310
+ };
311
+ /**
312
+ * Label announced for the range start date cell.
313
+ */
314
+ rangeLabelStart: {
315
+ type: StringConstructor;
316
+ reflect: boolean;
317
+ };
252
318
  /**
253
319
  * Dates that the user should have for reference as part of their decision making when selecting a date.
254
320
  * This should be a JSON string array of ISO date strings (`YYYY-MM-DD`).
@@ -272,6 +338,7 @@ export class AuroDatePicker extends AuroElement {
272
338
  };
273
339
  /**
274
340
  * Custom help text message to display when validity = `customError`.
341
+ * Also used as the validation message when a blackout date is typed into the input.
275
342
  */
276
343
  setCustomValidityCustomError: {
277
344
  type: StringConstructor;
@@ -294,6 +361,13 @@ export class AuroDatePicker extends AuroElement {
294
361
  setCustomValidityValueMissing: {
295
362
  type: StringConstructor;
296
363
  };
364
+ /**
365
+ * If declared, the dropdown will shift its position to avoid being cut off by the viewport.
366
+ */
367
+ shift: {
368
+ type: BooleanConstructor;
369
+ reflect: boolean;
370
+ };
297
371
  /**
298
372
  * Set true to make datepicker stacked style.
299
373
  */
@@ -301,6 +375,15 @@ export class AuroDatePicker extends AuroElement {
301
375
  type: BooleanConstructor;
302
376
  reflect: boolean;
303
377
  };
378
+ /**
379
+ * Indicates whether the datepicker is in a dirty state (has been interacted with).
380
+ * @private
381
+ */
382
+ touched: {
383
+ type: BooleanConstructor;
384
+ reflect: boolean;
385
+ attribute: boolean;
386
+ };
304
387
  /**
305
388
  * Specifies the `validityState` this element is in.
306
389
  */
@@ -320,15 +403,6 @@ export class AuroDatePicker extends AuroElement {
320
403
  valueEnd: {
321
404
  type: StringConstructor;
322
405
  };
323
- /**
324
- * Indicates whether the datepicker is in a dirty state (has been interacted with).
325
- * @private
326
- */
327
- touched: {
328
- type: BooleanConstructor;
329
- reflect: boolean;
330
- attribute: boolean;
331
- };
332
406
  };
333
407
  static get styles(): import("lit").CSSResult[];
334
408
  /**
@@ -359,6 +433,16 @@ export class AuroDatePicker extends AuroElement {
359
433
  required: boolean;
360
434
  onDark: boolean;
361
435
  range: boolean;
436
+ rangeLabelStart: string;
437
+ rangeLabelEnd: string;
438
+ rangeLabelBeforeRange: string;
439
+ rangeLabelInRange: string;
440
+ rangeLabelAfterRange: string;
441
+ blackoutDates: any[];
442
+ blackoutLabel: string;
443
+ navLabelPrevMonth: string;
444
+ navLabelNextMonth: string;
445
+ calendarGridLabel: string;
362
446
  stacked: boolean;
363
447
  noValidate: boolean;
364
448
  validity: any;
@@ -368,6 +452,7 @@ export class AuroDatePicker extends AuroElement {
368
452
  calendarEndDate: any;
369
453
  calendarFocusDate: any;
370
454
  fullscreenBreakpoint: string;
455
+ _validLocale: string;
371
456
  placement: string;
372
457
  offset: number;
373
458
  noFlip: boolean;
@@ -436,7 +521,7 @@ export class AuroDatePicker extends AuroElement {
436
521
  /**
437
522
  * Handles click on the clear button.
438
523
  * @private
439
- * @param {MouseEvent} event - The click event object.
524
+ * @param {MouseEvent} event - The mouse event from the clear button click.
440
525
  * @returns {void}
441
526
  */
442
527
  private handleClearClick;
@@ -469,7 +554,7 @@ export class AuroDatePicker extends AuroElement {
469
554
  /**
470
555
  * Common display value wrapper classes.
471
556
  * @private
472
- * @return {Object} - An object containing the common classes for the display value wrapper.
557
+ * @returns {Object} Class map for Lit's classMap directive.
473
558
  */
474
559
  private get commonDisplayValueWrapperClasses();
475
560
  /**
@@ -509,21 +594,45 @@ export class AuroDatePicker extends AuroElement {
509
594
  * @param {String} time - Unix timestamp to be converted to a date object.
510
595
  * @returns {Date} Date formatted as a string.
511
596
  */
512
- /** @returns {Date|undefined} */
597
+ /**
598
+ * Read-only `Date` object derived from `value`. Returns `undefined` when `value` is empty or not a valid date.
599
+ * @returns {Date|undefined}
600
+ */
513
601
  get valueObject(): Date | undefined;
514
- /** @returns {Date|undefined} */
602
+ /**
603
+ * Read-only `Date` object derived from `valueEnd`. Returns `undefined` when `valueEnd` is empty or not a valid date.
604
+ * @returns {Date|undefined}
605
+ */
515
606
  get valueEndObject(): Date | undefined;
516
- /** @returns {Date|undefined} */
607
+ /**
608
+ * Read-only `Date` object derived from `minDate`. Returns `undefined` when `minDate` is empty or not a valid date.
609
+ * @returns {Date|undefined}
610
+ */
517
611
  get minDateObject(): Date | undefined;
518
- /** @returns {Date|undefined} */
612
+ /**
613
+ * Read-only `Date` object derived from `maxDate`. Returns `undefined` when `maxDate` is empty or not a valid date.
614
+ * @returns {Date|undefined}
615
+ */
519
616
  get maxDateObject(): Date | undefined;
520
- /** @returns {Date|undefined} */
617
+ /**
618
+ * Read-only `Date` object derived from `calendarStartDate`. Returns `undefined` when `calendarStartDate` is empty or not a valid date.
619
+ * @returns {Date|undefined}
620
+ */
521
621
  get calendarStartDateObject(): Date | undefined;
522
- /** @returns {Date|undefined} */
622
+ /**
623
+ * Read-only `Date` object derived from `calendarEndDate`. Returns `undefined` when `calendarEndDate` is empty or not a valid date.
624
+ * @returns {Date|undefined}
625
+ */
523
626
  get calendarEndDateObject(): Date | undefined;
524
- /** @returns {Date|undefined} */
627
+ /**
628
+ * Read-only `Date` object derived from `centralDate`. Returns `undefined` when `centralDate` is empty or not a valid date.
629
+ * @returns {Date|undefined}
630
+ */
525
631
  get centralDateObject(): Date | undefined;
526
- /** @returns {Date|undefined} */
632
+ /**
633
+ * Read-only `Date` object derived from `calendarFocusDate`. Returns `undefined` when `calendarFocusDate` is empty or not a valid date.
634
+ * @returns {Date|undefined}
635
+ */
527
636
  get calendarFocusDateObject(): Date | undefined;
528
637
  /**
529
638
  * Converts a Unix timestamp (seconds) from the vendor calendar to an ISO date string.
@@ -557,6 +666,13 @@ export class AuroDatePicker extends AuroElement {
557
666
  * @returns {void}
558
667
  */
559
668
  private notifyMonthChanged;
669
+ /**
670
+ * Attempts to focus the active calendar cell using a rAF retry loop.
671
+ * Shared by both fullscreen and desktop open paths.
672
+ * @private
673
+ * @returns {void}
674
+ */
675
+ private focusActiveCellWhenReady;
560
676
  /**
561
677
  * Binds all behavior needed to the dropdown after rendering.
562
678
  * @private
@@ -564,6 +680,7 @@ export class AuroDatePicker extends AuroElement {
564
680
  */
565
681
  private configureDropdown;
566
682
  dropdown: any;
683
+ centralDate: any;
567
684
  /**
568
685
  * Binds all behavior needed to the input after rendering.
569
686
  * @private
@@ -631,6 +748,13 @@ export class AuroDatePicker extends AuroElement {
631
748
  * @returns {void}
632
749
  */
633
750
  clear(): void;
751
+ /**
752
+ * Checks whether a formatted date string matches a blackout date.
753
+ * @private
754
+ * @param {string} dateStr - A date string in the component's configured format.
755
+ * @returns {boolean} True if the date is in the blackoutDates list.
756
+ */
757
+ private isBlackoutDate;
634
758
  /**
635
759
  * Validates value.
636
760
  * @param {boolean} [force=false] - Whether to force validation.
@@ -641,10 +765,22 @@ export class AuroDatePicker extends AuroElement {
641
765
  * @private
642
766
  */
643
767
  private setHasValue;
768
+ /**
769
+ * Returns `true` when the datepicker has an active validation error.
770
+ * @returns {boolean}
771
+ */
644
772
  get hasError(): boolean;
645
- updated(changedProperties: any): void;
773
+ /**
774
+ * Lifecycle method to check if the locale is valid.
775
+ * @ignore
776
+ * @param {Map} changedProperties - The map of properties that have changed since the last update.
777
+ * @returns {void}
778
+ */
779
+ willUpdate(changedProperties: Map<any, any>): void;
646
780
  format: string | undefined;
781
+ updated(changedProperties: any): void;
647
782
  previousTabIndex: string | null | undefined;
783
+ wasCellClick: boolean | undefined;
648
784
  /**
649
785
  * Handles the transfer of content between slots in the component.
650
786
  *
@@ -684,14 +820,14 @@ export class AuroDatePicker extends AuroElement {
684
820
  * Simple formatter that ONLY WORKS FOR US DATES.
685
821
  * Returns formatted date like Apr 21 or Dec 25.
686
822
  * @private
687
- * @param {string} date - Date format should be in a format Date constructor accepts, like '2023-04-21' or '2023/04/21'.
823
+ * @param {Date} date - Date format should be in a format Date constructor accepts, like '2023-04-21' or '2023/04/21'.
688
824
  * @returns {string}
689
825
  */
690
826
  private formatShortDate;
691
827
  /**
692
828
  * Format and render the provided date value.
693
829
  * @private
694
- * @param {string} dateValue - The date value to format and render.
830
+ * @param {Date} date - The date value to format and render.
695
831
  * @returns {import('lit').TemplateResult}
696
832
  */
697
833
  private renderDisplayTextDate;
@@ -1,3 +1,5 @@
1
- export namespace datepickerKeyboardStrategy {
2
- function Escape(component: any, evt: any): void;
3
- }
1
+ export const datepickerKeyboardStrategy: {
2
+ Escape(component: any, evt: any, ctx: any): void;
3
+ Enter(component: any, evt: any, ctx: any): void;
4
+ ' '(component: any, evt: any, ctx: any): void;
5
+ };
@@ -1,11 +1,4 @@
1
1
  export class AuroDatepickerUtilities {
2
- /**
3
- * Converts an ISO date string (yyyy-mm-dd) to any display format.
4
- * @param {string} isoStr - ISO date string.
5
- * @param {string} format - Target display format (e.g. "mm/dd/yyyy", "dd/mm/yyyy").
6
- * @returns {string|undefined}
7
- */
8
- toCustomFormat(isoStr: string, format: string): string | undefined;
9
2
  /**
10
3
  * Converts any date object to a date object representing the first day of the month.
11
4
  * @param {Object} date - Date to convert to the first day of the month.
@@ -19,13 +12,6 @@ export class AuroDatepickerUtilities {
19
12
  * @returns {Number}
20
13
  */
21
14
  monthDiff(date1: Object, date2: Object): number;
22
- /**
23
- * Function to format a number to two digits.
24
- * @private
25
- * @param {Number} num - Number to format.
26
- * @returns {String}
27
- */
28
- private formatTwoDigits;
29
15
  /**
30
16
  * Function to generate checkmark svg.
31
17
  * @private
@@ -28,12 +28,23 @@
28
28
  </ol>
29
29
  </section>
30
30
  <section>
31
+ <auro-header level="2" id="desktopModal">Desktop Modal</auro-header>
32
+ <p>When the <code>desktopModal</code> attribute is set, the dropdown behaves as a modal dialog on desktop viewports:</p>
33
+ <ul>
34
+ <li>All sibling elements on the page are marked <code>inert</code>, preventing interaction with content outside the dropdown.</li>
35
+ <li>Focus is trapped within the bib content using a Tab-key handler.</li>
36
+ <li>The <code>inert</code> state and focus trap are automatically cleaned up when the bib is closed or the component is disconnected.</li>
37
+ </ul>
38
+ <p>In fullscreen mode, the native <code>&lt;dialog&gt;</code> <code>showModal()</code> API provides equivalent behavior, so <code>desktopModal</code> only applies to desktop-sized viewports.</p>
39
+ </section>
40
+ <section>
31
41
  <auro-header level="2" id="tabBehavior">Tab Behavior</auro-header>
32
42
  <!-- AURO-GENERATED-CONTENT:START (FILE:src=./../docs/partials/tabindex.md) -->
33
43
  <!-- The below content is automatically added from ./../docs/partials/tabindex.md -->
34
44
  <p>The trigger is a focusable element and participates in the standard tab order, responding to <code>Tab</code> and <code>Shift+Tab</code> key events per <auro-hyperlink href="https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Global_attributes/tabindex">native browser behavior</auro-hyperlink>, i.e., these keys step through the browser tabindex sequence.</p>
35
45
  <p>When the component is <code>disabled</code> it is removed from the <code>tabindex</code> sequence. VoiceOver's virtual cursor <em>(swipe navigation)</em> can still encounter the component, but standard keyboard <code>Tab</code> navigation skips it.</p>
36
46
  <p>When the bib is collapsed, the bib content is excluded from the tab sequence. When <strong>expanded</strong>, focusable elements within the bib content are included in the natural tab order. In fullscreen mode, focus is trapped within the bib, and the tab sequence cycles through the bib content focusable elements until the bib is closed or the viewport no longer meets the fullscreen condition and is rendered as a popover.</p>
47
+ <p>When the <code>desktopModal</code> attribute is set, focus is also trapped within the bib on desktop viewports. All sibling elements on the page are marked <code>inert</code>, preventing interaction with content outside the dropdown until it is closed.</p>
37
48
  <!-- AURO-GENERATED-CONTENT:END -->
38
49
  </section>
39
50
  <section>
@@ -13,6 +13,7 @@ The `auro-dropdown` element provides a way to place content in a bib that can be
13
13
  | `appearance` | `appearance` | `'default' \| 'inverse'` | "'default'" | Defines whether the component will be on lighter or darker backgrounds. |
14
14
  | `autoPlacement` | `autoPlacement` | `boolean` | | If declared, bib's position will be automatically calculated where to appear. |
15
15
  | `chevron` | `chevron` | `boolean` | | If declared, the dropdown displays a chevron on the right. |
16
+ | `desktopModal` | `desktopModal` | `boolean` | | If declared, the dropdown will behave as a modal dialog when in a desktop viewport size. |
16
17
  | `disableEventShow` | `disableEventShow` | `boolean` | | If declared, the dropdown will only show by calling the API .show() public method. |
17
18
  | `disableKeyboardHandling` | `disableKeyboardHandling` | `boolean` | | If declared, the dropdown will not handle keyboard events and will require the consumer to manage this behavior. |
18
19
  | `disabled` | `disabled` | `boolean` | | If declared, the dropdown is not interactive. |
@@ -0,0 +1,57 @@
1
+ <!--
2
+ Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
3
+ See LICENSE in the project root for license information.
4
+
5
+ HTML in this document is standardized and NOT to be edited.
6
+ All demo code should be added/edited in ./demo/css-only.md
7
+
8
+ With the exception of adding custom elements if needed for the demo.
9
+
10
+ ----------------------- DO NOT EDIT -----------------------------
11
+
12
+ -->
13
+
14
+ <!DOCTYPE html>
15
+ <html lang="en">
16
+ <head>
17
+ <meta charset="UTF-8" />
18
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
19
+ <title>Auro Web Component Demo | auro-dropdown | CSS only</title>
20
+
21
+ <!-- highlight.js Stylesheet -->
22
+ <link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.9.0/build/styles/github.min.css"/>
23
+
24
+ <!-- Legacy reference is still needed to support auro-dropdown's use of legacy token values at this time -->
25
+ <link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/@aurodesignsystem/design-tokens@latest/dist/legacy/auro-classic/CSSCustomProperties.css"/>
26
+
27
+ <!-- Design Token Alaska Theme -->
28
+ <link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/@aurodesignsystem/design-tokens@latest/dist/themes/alaska/CSSCustomProperties--alaska.min.css"/>
29
+
30
+ <!-- Webcore Stylesheet Alaska Theme -->
31
+ <link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/@aurodesignsystem/webcorestylesheets@latest/dist/bundled/themes/alaska.global.min.css" />
32
+
33
+ <!-- Demo Specific Styles -->
34
+ <link rel="stylesheet" type="text/css" href="./styles.min.css" />
35
+ <style>
36
+ table {
37
+ --ds-color-container-secondary-default: transparent;
38
+ }
39
+
40
+ tr:not(:last-of-type) {
41
+ border-bottom: 1px solid var(--ds-color-border-tertiary-default);
42
+ }
43
+ </style>
44
+ </head>
45
+ <body class="auro-markdown">
46
+ <main></main>
47
+
48
+ <script type="module">
49
+ import { renderPage } from './demo-support.min.js';
50
+ await renderPage('./css-only.md');
51
+ </script>
52
+
53
+ <!-- If additional elements are needed for the demo, add them here. -->
54
+ <script src="https://cdn.jsdelivr.net/npm/@aurodesignsystem/auro-header@latest/+esm" type="module"></script>
55
+ <script src="https://cdn.jsdelivr.net/npm/@aurodesignsystem/auro-hyperlink@latest/+esm" type="module"></script>
56
+ </body>
57
+ </html>