@aurodesignsystem-dev/auro-formkit 0.0.0-pr1509.0 → 0.0.0-pr1510.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 (50) 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 +4 -19
  7. package/components/combobox/demo/getting-started.min.js +4 -19
  8. package/components/combobox/demo/index.min.js +4 -19
  9. package/components/combobox/dist/index.js +4 -19
  10. package/components/combobox/dist/registered.js +4 -19
  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 +2 -2
  14. package/components/counter/dist/registered.js +2 -2
  15. package/components/datepicker/demo/accessibility.md +2 -1
  16. package/components/datepicker/demo/api.md +63 -62
  17. package/components/datepicker/demo/customize.md +12 -1
  18. package/components/datepicker/demo/customize.min.js +456 -183
  19. package/components/datepicker/demo/index.min.js +456 -183
  20. package/components/datepicker/dist/index.js +456 -183
  21. package/components/datepicker/dist/registered.js +456 -183
  22. package/components/datepicker/dist/src/auro-calendar-cell.d.ts +14 -3
  23. package/components/datepicker/dist/src/auro-calendar.d.ts +87 -5
  24. package/components/datepicker/dist/src/auro-datepicker.d.ts +73 -3
  25. package/components/dropdown/demo/customize.min.js +1 -1
  26. package/components/dropdown/demo/getting-started.min.js +1 -1
  27. package/components/dropdown/demo/index.min.js +1 -1
  28. package/components/dropdown/dist/index.js +1 -1
  29. package/components/dropdown/dist/registered.js +1 -1
  30. package/components/form/demo/customize.min.js +474 -231
  31. package/components/form/demo/getting-started.min.js +474 -231
  32. package/components/form/demo/index.min.js +474 -231
  33. package/components/form/demo/registerDemoDeps.min.js +474 -231
  34. package/components/input/demo/customize.min.js +2 -17
  35. package/components/input/demo/getting-started.min.js +2 -17
  36. package/components/input/demo/index.min.js +2 -17
  37. package/components/input/dist/index.js +2 -17
  38. package/components/input/dist/registered.js +2 -17
  39. package/components/radio/demo/customize.min.js +1 -1
  40. package/components/radio/demo/getting-started.min.js +1 -1
  41. package/components/radio/demo/index.min.js +1 -1
  42. package/components/radio/dist/index.js +1 -1
  43. package/components/radio/dist/registered.js +1 -1
  44. package/components/select/demo/customize.min.js +2 -2
  45. package/components/select/demo/getting-started.min.js +2 -2
  46. package/components/select/demo/index.min.js +2 -2
  47. package/components/select/dist/index.js +2 -2
  48. package/components/select/dist/registered.js +2 -2
  49. package/custom-elements.json +1868 -1696
  50. package/package.json +2 -1
@@ -6176,7 +6176,7 @@ function normalizeDates$3(context, ...dates) {
6176
6176
  * const result = startOfDay(new Date(2014, 8, 2, 11, 55, 0))
6177
6177
  * //=> Tue Sep 02 2014 00:00:00
6178
6178
  */
6179
- function startOfDay$4(date, options) {
6179
+ function startOfDay$3(date, options) {
6180
6180
  const _date = toDate$3(date, options?.in);
6181
6181
  _date.setHours(0, 0, 0, 0);
6182
6182
  return _date;
@@ -6224,8 +6224,8 @@ function differenceInCalendarDays$3(laterDate, earlierDate, options) {
6224
6224
  earlierDate,
6225
6225
  );
6226
6226
 
6227
- const laterStartOfDay = startOfDay$4(laterDate_);
6228
- const earlierStartOfDay = startOfDay$4(earlierDate_);
6227
+ const laterStartOfDay = startOfDay$3(laterDate_);
6228
+ const earlierStartOfDay = startOfDay$3(earlierDate_);
6229
6229
 
6230
6230
  const laterTimestamp =
6231
6231
  +laterStartOfDay - getTimezoneOffsetInMilliseconds$3(laterStartOfDay);
@@ -12311,15 +12311,6 @@ let BaseInput$2 = class BaseInput extends AuroElement$6 {
12311
12311
  this.wrapperElement.addEventListener('click', this.handleClick);
12312
12312
  }
12313
12313
 
12314
- // add attribute for query selectors when auro-input is registered under a custom name
12315
- // COVERAGE: the body of this branch is unreachable in WTR — connectedCallback
12316
- // performs the same `setAttribute('auro-input', '')` earlier (see L665-667),
12317
- // so by the time firstUpdated runs the attribute is already present and the
12318
- // `!hasAttribute('auro-input')` guard is false. Retained as a defensive
12319
- // safety net in case connectedCallback is ever short-circuited.
12320
- if (this.tagName.toLowerCase() !== 'auro-input' && !this.hasAttribute('auro-input')) {
12321
- this.setAttribute('auro-input', '');
12322
- }
12323
12314
  this.inputId = this.id ? `${this.id}-input` : window.crypto.randomUUID();
12324
12315
 
12325
12316
  // use validity message override if declared when initializing the component
@@ -12890,13 +12881,7 @@ let BaseInput$2 = class BaseInput extends AuroElement$6 {
12890
12881
  */
12891
12882
  get placeholderStr() {
12892
12883
  if (!this.placeholder && this.type === 'date') {
12893
- // COVERAGE: the `'MM/DD/YYYY'` literal fallback is unreachable in WTR.
12894
- // connectedCallback (L682) calls configureDataForType, which at L1266-1268
12895
- // assigns `this.format = this.util.getDateMaskFromLocale().toLowerCase()`
12896
- // when type=date and format is unset. That runs before the first render
12897
- // reads this getter, so the ternary's truthy arm always wins. Retained
12898
- // as a defensive fallback for direct getter calls before connection.
12899
- return this.format ? this.format.toUpperCase() : 'MM/DD/YYYY';
12884
+ return this.format.toUpperCase();
12900
12885
  }
12901
12886
  return this.placeholder || "";
12902
12887
  }
@@ -13387,7 +13372,7 @@ let AuroHelpText$8 = class AuroHelpText extends i$3 {
13387
13372
  }
13388
13373
  };
13389
13374
 
13390
- var formkitVersion$8 = '202606232113';
13375
+ var formkitVersion$8 = '202606251933';
13391
13376
 
13392
13377
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
13393
13378
  // See LICENSE in the project root for license information.
@@ -15471,7 +15456,7 @@ function normalizeDates$1(context, ...dates) {
15471
15456
  * const result = startOfDay(new Date(2014, 8, 2, 11, 55, 0))
15472
15457
  * //=> Tue Sep 02 2014 00:00:00
15473
15458
  */
15474
- function startOfDay$2(date, options) {
15459
+ function startOfDay$1(date, options) {
15475
15460
  const _date = toDate$1(date, options?.in);
15476
15461
  _date.setHours(0, 0, 0, 0);
15477
15462
  return _date;
@@ -15519,8 +15504,8 @@ function differenceInCalendarDays$1(laterDate, earlierDate, options) {
15519
15504
  earlierDate,
15520
15505
  );
15521
15506
 
15522
- const laterStartOfDay = startOfDay$2(laterDate_);
15523
- const earlierStartOfDay = startOfDay$2(earlierDate_);
15507
+ const laterStartOfDay = startOfDay$1(laterDate_);
15508
+ const earlierStartOfDay = startOfDay$1(earlierDate_);
15524
15509
 
15525
15510
  const laterTimestamp =
15526
15511
  +laterStartOfDay - getTimezoneOffsetInMilliseconds$1(laterStartOfDay);
@@ -24977,8 +24962,8 @@ class RangeDatepickerCell extends i$3 {
24977
24962
  const parsedDateFrom = parseInt(dateFrom, 10);
24978
24963
  const parsedDateTo = parseInt(dateTo, 10);
24979
24964
  if (day) {
24980
- if (getTime(startOfDay$2(parsedDateTo * 1000)) / 1000 === day.date ||
24981
- getTime(startOfDay$2(parsedDateFrom * 1000)) / 1000 === day.date) {
24965
+ if (getTime(startOfDay$1(parsedDateTo * 1000)) / 1000 === day.date ||
24966
+ getTime(startOfDay$1(parsedDateFrom * 1000)) / 1000 === day.date) {
24982
24967
  this.selected = true;
24983
24968
  }
24984
24969
  if (((hoveredDate === day.date || day.date < hoveredDate) &&
@@ -25166,7 +25151,7 @@ class RangeDatepickerCalendar extends i$3 {
25166
25151
  this.dayNamesOfTheWeek = [];
25167
25152
  this.daysOfMonth = [];
25168
25153
  this._locale = null;
25169
- this.currentDate = parseInt(format$1(startOfDay$2(Date.now()), 't'), 10);
25154
+ this.currentDate = parseInt(format$1(startOfDay$1(Date.now()), 't'), 10);
25170
25155
  this.localeChanged();
25171
25156
  this.yearAndMonthChanged(this.year, this.month);
25172
25157
  }
@@ -25640,7 +25625,7 @@ __decorate([n$4({ type: Array })], RangeDatepickerCalendar.prototype, "dayNamesO
25640
25625
  __decorate([n$4({ type: Array })], RangeDatepickerCalendar.prototype, "daysOfMonth", void 0);
25641
25626
  AuroLibraryRuntimeUtils$5$1.prototype.registerComponent('wc-range-datepicker-calendar', RangeDatepickerCalendar);
25642
25627
 
25643
- var styleCss$5$2 = i$6`.body-default{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-default-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-default-font-size, 1rem);line-height:var(--wcss-body-default-line-height, 1.5rem)}.body-default-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-default-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-default-emphasized-font-size, 1rem);line-height:var(--wcss-body-default-emphasized-line-height, 1.5rem)}.body-lg{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-lg-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-lg-font-size, 1.125rem);line-height:var(--wcss-body-lg-line-height, 1.625rem)}.body-lg-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-lg-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-lg-emphasized-font-size, 1.125rem);line-height:var(--wcss-body-lg-emphasized-line-height, 1.625rem)}.body-sm{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-sm-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-sm-font-size, 0.875rem);line-height:var(--wcss-body-sm-line-height, 1.25rem)}.body-sm-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-sm-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-sm-emphasized-font-size, 0.875rem);line-height:var(--wcss-body-sm-emphasized-line-height, 1.25rem)}.body-xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-xs-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-xs-font-size, 0.75rem);line-height:var(--wcss-body-xs-line-height, 1rem)}.body-xs-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-xs-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-xs-emphasized-font-size, 0.75rem);line-height:var(--wcss-body-xs-emphasized-line-height, 1rem)}.body-2xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-2xs-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-2xs-font-size, 0.625rem);line-height:var(--wcss-body-2xs-line-height, 0.875rem)}.body-2xs-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-2xs-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-2xs-emphasized-font-size, 0.625rem);line-height:var(--wcss-body-2xs-emphasized-line-height, 0.875rem)}.display-2xl{font-family:var(--wcss-display-2xl-family, "AS Circular"),var(--wcss-display-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-2xl-weight, 300);line-height:var(--wcss-display-2xl-line-height, 1.3);font-size:var(--wcss-display-2xl-font-size, clamp(3.5rem, 6vw, 5.375rem));letter-spacing:var(--wcss-display-2xl-letter-spacing, 0)}.display-xl{font-family:var(--wcss-display-xl-family, "AS Circular"),var(--wcss-display-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-xl-weight, 300);line-height:var(--wcss-display-xl-line-height, 1.3);font-size:var(--wcss-display-xl-font-size, clamp(3rem, 5.3333333333vw, 4.5rem));letter-spacing:var(--wcss-display-xl-letter-spacing, 0)}.display-lg{font-family:var(--wcss-display-lg-family, "AS Circular"),var(--wcss-display-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-lg-weight, 300);line-height:var(--wcss-display-lg-line-height, 1.3);font-size:var(--wcss-display-lg-font-size, clamp(2.75rem, 4.6666666667vw, 4rem));letter-spacing:var(--wcss-display-lg-letter-spacing, 0)}.display-md{font-family:var(--wcss-display-md-family, "AS Circular"),var(--wcss-display-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-md-weight, 300);line-height:var(--wcss-display-md-line-height, 1.3);font-size:var(--wcss-display-md-font-size, clamp(2.5rem, 4vw, 3.5rem));letter-spacing:var(--wcss-display-md-letter-spacing, 0)}.display-sm{font-family:var(--wcss-display-sm-family, "AS Circular"),var(--wcss-display-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-sm-weight, 300);line-height:var(--wcss-display-sm-line-height, 1.3);font-size:var(--wcss-display-sm-font-size, clamp(2rem, 3.6666666667vw, 3rem));letter-spacing:var(--wcss-display-sm-letter-spacing, 0)}.display-xs{font-family:var(--wcss-display-xs-family, "AS Circular"),var(--wcss-display-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-xs-weight, 300);line-height:var(--wcss-display-xs-line-height, 1.3);font-size:var(--wcss-display-xs-font-size, clamp(1.75rem, 3vw, 2.375rem));letter-spacing:var(--wcss-display-xs-letter-spacing, 0)}.heading-xl{font-family:var(--wcss-heading-xl-family, "AS Circular"),var(--wcss-heading-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-xl-weight, 300);line-height:var(--wcss-heading-xl-line-height, 1.3);font-size:var(--wcss-heading-xl-font-size, clamp(2rem, 3vw, 2.5rem));letter-spacing:var(--wcss-heading-xl-letter-spacing, 0)}.heading-lg{font-family:var(--wcss-heading-lg-family, "AS Circular"),var(--wcss-heading-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-lg-weight, 300);line-height:var(--wcss-heading-lg-line-height, 1.3);font-size:var(--wcss-heading-lg-font-size, clamp(1.75rem, 2.6666666667vw, 2.25rem));letter-spacing:var(--wcss-heading-lg-letter-spacing, 0)}.heading-md{font-family:var(--wcss-heading-md-family, "AS Circular"),var(--wcss-heading-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-md-weight, 300);line-height:var(--wcss-heading-md-line-height, 1.3);font-size:var(--wcss-heading-md-font-size, clamp(1.625rem, 2.3333333333vw, 1.75rem));letter-spacing:var(--wcss-heading-md-letter-spacing, 0)}.heading-sm{font-family:var(--wcss-heading-sm-family, "AS Circular"),var(--wcss-heading-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-sm-weight, 300);line-height:var(--wcss-heading-sm-line-height, 1.3);font-size:var(--wcss-heading-sm-font-size, clamp(1.375rem, 2vw, 1.5rem));letter-spacing:var(--wcss-heading-sm-letter-spacing, 0)}.heading-xs{font-family:var(--wcss-heading-xs-family, "AS Circular"),var(--wcss-heading-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-xs-weight, 300);line-height:var(--wcss-heading-xs-line-height, 1.3);font-size:var(--wcss-heading-xs-font-size, clamp(1.25rem, 1.6666666667vw, 1.25rem));letter-spacing:var(--wcss-heading-xs-letter-spacing, 0)}.heading-2xs{font-family:var(--wcss-heading-2xs-family, "AS Circular"),var(--wcss-heading-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-2xs-weight, 300);line-height:var(--wcss-heading-2xs-line-height, 1.3);font-size:var(--wcss-heading-2xs-font-size, clamp(1.125rem, 1.5vw, 1.125rem));letter-spacing:var(--wcss-heading-2xs-letter-spacing, 0)}.accent-2xl{font-family:var(--wcss-accent-2xl-family, "Good OT"),var(--wcss-accent-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-2xl-weight, 450);line-height:var(--wcss-accent-2xl-line-height, 1);font-size:var(--wcss-accent-2xl-font-size, clamp(2rem, 3.1666666667vw, 2.375rem));letter-spacing:var(--wcss-accent-2xl-letter-spacing, 0.05em);text-transform:uppercase}.accent-xl{font-family:var(--wcss-accent-xl-family, "Good OT"),var(--wcss-accent-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-xl-weight, 450);line-height:var(--wcss-accent-xl-line-height, 1.3);font-size:var(--wcss-accent-xl-font-size, clamp(1.625rem, 2.3333333333vw, 2rem));letter-spacing:var(--wcss-accent-xl-letter-spacing, 0.05em);text-transform:uppercase}.accent-lg{font-family:var(--wcss-accent-lg-family, "Good OT"),var(--wcss-accent-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-lg-weight, 450);line-height:var(--wcss-accent-lg-line-height, 1.3);font-size:var(--wcss-accent-lg-font-size, clamp(1.5rem, 2.1666666667vw, 1.75rem));letter-spacing:var(--wcss-accent-lg-letter-spacing, 0.05em);text-transform:uppercase}.accent-md{font-family:var(--wcss-accent-md-family, "Good OT"),var(--wcss-accent-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-md-weight, 500);line-height:var(--wcss-accent-md-line-height, 1.3);font-size:var(--wcss-accent-md-font-size, clamp(1.375rem, 1.8333333333vw, 1.5rem));letter-spacing:var(--wcss-accent-md-letter-spacing, 0.05em);text-transform:uppercase}.accent-sm{font-family:var(--wcss-accent-sm-family, "Good OT"),var(--wcss-accent-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-sm-weight, 500);line-height:var(--wcss-accent-sm-line-height, 1.3);font-size:var(--wcss-accent-sm-font-size, clamp(1.125rem, 1.5vw, 1.25rem));letter-spacing:var(--wcss-accent-sm-letter-spacing, 0.05em);text-transform:uppercase}.accent-xs{font-family:var(--wcss-accent-xs-family, "Good OT"),var(--wcss-accent-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-xs-weight, 500);line-height:var(--wcss-accent-xs-line-height, 1.3);font-size:var(--wcss-accent-xs-font-size, clamp(1rem, 1.3333333333vw, 1rem));letter-spacing:var(--wcss-accent-xs-letter-spacing, 0.1em);text-transform:uppercase}.accent-2xs{font-family:var(--wcss-accent-2xs-family, "Good OT"),var(--wcss-accent-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-2xs-weight, 450);line-height:var(--wcss-accent-2xs-line-height, 1.3);font-size:var(--wcss-accent-2xs-font-size, clamp(0.875rem, 1.1666666667vw, 0.875rem));letter-spacing:var(--wcss-accent-2xs-letter-spacing, 0.1em);text-transform:uppercase}@media screen and (max-width: 576px){:host{display:flex;justify-content:center}}.day{position:relative;width:48px;height:56px;padding:0;border-width:2px;border-style:solid;border-radius:10px;cursor:pointer;user-select:none}.day:focus-visible{outline:none;background-color:unset}.day.activeCell{outline-width:2px;outline-style:solid;outline-offset:-4px}.day.disabled{cursor:default !important;pointer-events:none}.day.blackout{cursor:pointer}.day.reference:after{position:absolute;top:-2px;left:-2px;display:block;width:calc(100% + 2px);height:calc(100% + 2px);box-sizing:content-box;border-radius:10px;border-style:solid;border-width:1px;content:""}.day.inRange::before{position:absolute;z-index:-1;top:-2px;left:-2px;display:block;width:calc(100% + 4px);height:calc(100% + 4px);box-sizing:content-box;content:""}.day.rangeDepartDate::before{position:absolute;z-index:-1;top:-2px;left:-2px;display:block;width:calc(100% + 4px);height:calc(100% + 4px);box-sizing:content-box;content:"";border-radius:10px 0 0 10px;overflow:hidden}.day.rangeReturnDate::before,.day.lastHoveredDate::before{position:absolute;z-index:-1;top:-2px;left:-2px;display:block;width:calc(100% + 4px);height:calc(100% + 4px);box-sizing:content-box;content:"";border-radius:0 10px 10px 0;overflow:hidden}.day.firstDayOfMonth::before{border-radius:10px 0 0 10px;overflow:hidden}.day.lastDayOfMonth::before{border-radius:0 10px 10px 0;overflow:hidden}.buttonWrapper{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%}.dateSlot{display:block}::slotted([slot^=date_]){width:100%;white-space:nowrap}::slotted(auro-icon){max-height:24px;max-width:24px}:host([renderForDateSlot]) .buttonWrapper{position:relative;width:100%;height:100%}:host([renderForDateSlot]) .currentDayMarker{position:relative}`;
25628
+ var styleCss$5$2 = i$6`.body-default{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-default-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-default-font-size, 1rem);line-height:var(--wcss-body-default-line-height, 1.5rem)}.body-default-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-default-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-default-emphasized-font-size, 1rem);line-height:var(--wcss-body-default-emphasized-line-height, 1.5rem)}.body-lg{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-lg-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-lg-font-size, 1.125rem);line-height:var(--wcss-body-lg-line-height, 1.625rem)}.body-lg-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-lg-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-lg-emphasized-font-size, 1.125rem);line-height:var(--wcss-body-lg-emphasized-line-height, 1.625rem)}.body-sm{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-sm-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-sm-font-size, 0.875rem);line-height:var(--wcss-body-sm-line-height, 1.25rem)}.body-sm-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-sm-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-sm-emphasized-font-size, 0.875rem);line-height:var(--wcss-body-sm-emphasized-line-height, 1.25rem)}.body-xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-xs-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-xs-font-size, 0.75rem);line-height:var(--wcss-body-xs-line-height, 1rem)}.body-xs-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-xs-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-xs-emphasized-font-size, 0.75rem);line-height:var(--wcss-body-xs-emphasized-line-height, 1rem)}.body-2xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-2xs-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-2xs-font-size, 0.625rem);line-height:var(--wcss-body-2xs-line-height, 0.875rem)}.body-2xs-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-2xs-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-2xs-emphasized-font-size, 0.625rem);line-height:var(--wcss-body-2xs-emphasized-line-height, 0.875rem)}.display-2xl{font-family:var(--wcss-display-2xl-family, "AS Circular"),var(--wcss-display-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-2xl-weight, 300);line-height:var(--wcss-display-2xl-line-height, 1.3);font-size:var(--wcss-display-2xl-font-size, clamp(3.5rem, 6vw, 5.375rem));letter-spacing:var(--wcss-display-2xl-letter-spacing, 0)}.display-xl{font-family:var(--wcss-display-xl-family, "AS Circular"),var(--wcss-display-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-xl-weight, 300);line-height:var(--wcss-display-xl-line-height, 1.3);font-size:var(--wcss-display-xl-font-size, clamp(3rem, 5.3333333333vw, 4.5rem));letter-spacing:var(--wcss-display-xl-letter-spacing, 0)}.display-lg{font-family:var(--wcss-display-lg-family, "AS Circular"),var(--wcss-display-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-lg-weight, 300);line-height:var(--wcss-display-lg-line-height, 1.3);font-size:var(--wcss-display-lg-font-size, clamp(2.75rem, 4.6666666667vw, 4rem));letter-spacing:var(--wcss-display-lg-letter-spacing, 0)}.display-md{font-family:var(--wcss-display-md-family, "AS Circular"),var(--wcss-display-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-md-weight, 300);line-height:var(--wcss-display-md-line-height, 1.3);font-size:var(--wcss-display-md-font-size, clamp(2.5rem, 4vw, 3.5rem));letter-spacing:var(--wcss-display-md-letter-spacing, 0)}.display-sm{font-family:var(--wcss-display-sm-family, "AS Circular"),var(--wcss-display-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-sm-weight, 300);line-height:var(--wcss-display-sm-line-height, 1.3);font-size:var(--wcss-display-sm-font-size, clamp(2rem, 3.6666666667vw, 3rem));letter-spacing:var(--wcss-display-sm-letter-spacing, 0)}.display-xs{font-family:var(--wcss-display-xs-family, "AS Circular"),var(--wcss-display-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-xs-weight, 300);line-height:var(--wcss-display-xs-line-height, 1.3);font-size:var(--wcss-display-xs-font-size, clamp(1.75rem, 3vw, 2.375rem));letter-spacing:var(--wcss-display-xs-letter-spacing, 0)}.heading-xl{font-family:var(--wcss-heading-xl-family, "AS Circular"),var(--wcss-heading-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-xl-weight, 300);line-height:var(--wcss-heading-xl-line-height, 1.3);font-size:var(--wcss-heading-xl-font-size, clamp(2rem, 3vw, 2.5rem));letter-spacing:var(--wcss-heading-xl-letter-spacing, 0)}.heading-lg{font-family:var(--wcss-heading-lg-family, "AS Circular"),var(--wcss-heading-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-lg-weight, 300);line-height:var(--wcss-heading-lg-line-height, 1.3);font-size:var(--wcss-heading-lg-font-size, clamp(1.75rem, 2.6666666667vw, 2.25rem));letter-spacing:var(--wcss-heading-lg-letter-spacing, 0)}.heading-md{font-family:var(--wcss-heading-md-family, "AS Circular"),var(--wcss-heading-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-md-weight, 300);line-height:var(--wcss-heading-md-line-height, 1.3);font-size:var(--wcss-heading-md-font-size, clamp(1.625rem, 2.3333333333vw, 1.75rem));letter-spacing:var(--wcss-heading-md-letter-spacing, 0)}.heading-sm{font-family:var(--wcss-heading-sm-family, "AS Circular"),var(--wcss-heading-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-sm-weight, 300);line-height:var(--wcss-heading-sm-line-height, 1.3);font-size:var(--wcss-heading-sm-font-size, clamp(1.375rem, 2vw, 1.5rem));letter-spacing:var(--wcss-heading-sm-letter-spacing, 0)}.heading-xs{font-family:var(--wcss-heading-xs-family, "AS Circular"),var(--wcss-heading-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-xs-weight, 300);line-height:var(--wcss-heading-xs-line-height, 1.3);font-size:var(--wcss-heading-xs-font-size, clamp(1.25rem, 1.6666666667vw, 1.25rem));letter-spacing:var(--wcss-heading-xs-letter-spacing, 0)}.heading-2xs{font-family:var(--wcss-heading-2xs-family, "AS Circular"),var(--wcss-heading-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-2xs-weight, 300);line-height:var(--wcss-heading-2xs-line-height, 1.3);font-size:var(--wcss-heading-2xs-font-size, clamp(1.125rem, 1.5vw, 1.125rem));letter-spacing:var(--wcss-heading-2xs-letter-spacing, 0)}.accent-2xl{font-family:var(--wcss-accent-2xl-family, "Good OT"),var(--wcss-accent-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-2xl-weight, 450);line-height:var(--wcss-accent-2xl-line-height, 1);font-size:var(--wcss-accent-2xl-font-size, clamp(2rem, 3.1666666667vw, 2.375rem));letter-spacing:var(--wcss-accent-2xl-letter-spacing, 0.05em);text-transform:uppercase}.accent-xl{font-family:var(--wcss-accent-xl-family, "Good OT"),var(--wcss-accent-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-xl-weight, 450);line-height:var(--wcss-accent-xl-line-height, 1.3);font-size:var(--wcss-accent-xl-font-size, clamp(1.625rem, 2.3333333333vw, 2rem));letter-spacing:var(--wcss-accent-xl-letter-spacing, 0.05em);text-transform:uppercase}.accent-lg{font-family:var(--wcss-accent-lg-family, "Good OT"),var(--wcss-accent-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-lg-weight, 450);line-height:var(--wcss-accent-lg-line-height, 1.3);font-size:var(--wcss-accent-lg-font-size, clamp(1.5rem, 2.1666666667vw, 1.75rem));letter-spacing:var(--wcss-accent-lg-letter-spacing, 0.05em);text-transform:uppercase}.accent-md{font-family:var(--wcss-accent-md-family, "Good OT"),var(--wcss-accent-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-md-weight, 500);line-height:var(--wcss-accent-md-line-height, 1.3);font-size:var(--wcss-accent-md-font-size, clamp(1.375rem, 1.8333333333vw, 1.5rem));letter-spacing:var(--wcss-accent-md-letter-spacing, 0.05em);text-transform:uppercase}.accent-sm{font-family:var(--wcss-accent-sm-family, "Good OT"),var(--wcss-accent-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-sm-weight, 500);line-height:var(--wcss-accent-sm-line-height, 1.3);font-size:var(--wcss-accent-sm-font-size, clamp(1.125rem, 1.5vw, 1.25rem));letter-spacing:var(--wcss-accent-sm-letter-spacing, 0.05em);text-transform:uppercase}.accent-xs{font-family:var(--wcss-accent-xs-family, "Good OT"),var(--wcss-accent-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-xs-weight, 500);line-height:var(--wcss-accent-xs-line-height, 1.3);font-size:var(--wcss-accent-xs-font-size, clamp(1rem, 1.3333333333vw, 1rem));letter-spacing:var(--wcss-accent-xs-letter-spacing, 0.1em);text-transform:uppercase}.accent-2xs{font-family:var(--wcss-accent-2xs-family, "Good OT"),var(--wcss-accent-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-2xs-weight, 450);line-height:var(--wcss-accent-2xs-line-height, 1.3);font-size:var(--wcss-accent-2xs-font-size, clamp(0.875rem, 1.1666666667vw, 0.875rem));letter-spacing:var(--wcss-accent-2xs-letter-spacing, 0.1em);text-transform:uppercase}@media screen and (max-width: 576px){:host{display:flex;justify-content:center}}.day{position:relative;width:48px;height:56px;padding:0;border-width:2px;border-style:solid;border-radius:10px;cursor:pointer;user-select:none}.day:focus-visible{outline:none;background-color:unset}.day.activeCell{outline-width:2px;outline-style:solid;outline-offset:-4px}.day.disabled{cursor:default !important;pointer-events:none}.day.blackout{cursor:pointer}.day.reference:after{position:absolute;top:-2px;left:-2px;display:block;width:calc(100% + 2px);height:calc(100% + 2px);box-sizing:content-box;border-radius:10px;border-style:solid;border-width:1px;content:""}.day.inRange::before{position:absolute;z-index:-1;top:-2px;left:-2px;display:block;width:calc(100% + 4px);height:calc(100% + 4px);box-sizing:content-box;content:""}.day.rangeDepartDate::before{position:absolute;z-index:-1;top:-2px;left:-2px;display:block;width:calc(100% + 4px);height:calc(100% + 4px);box-sizing:content-box;content:"";border-radius:10px 0 0 10px;overflow:hidden}.day.rangeReturnDate::before,.day.lastHoveredDate::before{position:absolute;z-index:-1;top:-2px;left:-2px;display:block;width:calc(100% + 4px);height:calc(100% + 4px);box-sizing:content-box;content:"";border-radius:0 10px 10px 0;overflow:hidden}.day.rangeDepartDate.lastHoveredDate::before{border-radius:10px}.day.firstDayOfMonth::before{border-radius:10px 0 0 10px;overflow:hidden}.day.lastDayOfMonth::before{border-radius:0 10px 10px 0;overflow:hidden}.buttonWrapper{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%}.dateSlot{display:block}::slotted([slot^=date_]){width:100%;white-space:nowrap}::slotted(auro-icon){max-height:24px;max-width:24px}:host([renderForDateSlot]) .buttonWrapper{position:relative;width:100%;height:100%}:host([renderForDateSlot]) .currentDayMarker{position:relative}`;
25644
25629
 
25645
25630
  var colorCss$5$2 = i$6`:host ::slotted([slot^=date_]){color:var(--ds-auro-calendar-cell-price-text-color)}:host ::slotted([slot^=date_][highlight]){--ds-auro-calendar-cell-price-text-color: var(--ds-basic-color-status-success, #447a1f)}:host .day{border-color:var(--ds-auro-calendar-cell-border-color);background-color:var(--ds-auro-calendar-cell-container-color);color:var(--ds-auro-calendar-cell-text-color)}:host .day.activeCell:not(.selected){--ds-auro-calendar-cell-container-color: var(--ds-auro-calendar-cell-in-range-color);border-color:var(--ds-advanced-color-state-selected);outline-color:var(--ds-auro-calendar-cell-container-color)}:host .day.selected{--ds-auro-calendar-cell-container-color: var(--ds-advanced-color-state-selected, #01426a);--ds-auro-calendar-cell-text-color: var(--ds-basic-color-texticon-inverse, #ffffff);--ds-auro-calendar-cell-price-text-color: var(--ds-basic-color-texticon-inverse, #ffffff)}:host .day.selected ::slotted([slot^=date_][highlight]){--ds-auro-calendar-cell-price-text-color: var(--ds-basic-color-status-success-subtle, #d6eac7)}:host .day.selected:hover{--ds-auro-calendar-cell-container-color: var(--ds-advanced-color-state-selected-hover, #00274a);--ds-auro-calendar-cell-text-color: var(--ds-basic-color-texticon-inverse, #ffffff)}:host .day.reference:after{border-color:var(--ds-basic-color-border-default, #959595);box-shadow:inset 0 0 0 2px var(--ds-basic-color-surface-default, #ffffff)}:host .day.reference:hover::after{box-shadow:inset 0 0 0 2px var(--ds-advanced-color-shared-background-muted, #f7f7f7)}:host .day:hover{--ds-auro-calendar-cell-container-color: var(--ds-advanced-color-state-background-hover, #f2f2f2);--ds-auro-calendar-cell-text-color: var(--ds-basic-color-texticon-default, #2a2a2a)}:host .day.disabled{--ds-auro-calendar-cell-container-color: transparent;--ds-auro-calendar-cell-text-color: var(--ds-basic-color-texticon-disabled, #d0d0d0);--ds-auro-calendar-cell-price-text-color: var(--ds-basic-color-texticon-disabled, #d0d0d0)}:host .day.blackout{--ds-auro-calendar-cell-container-color: transparent;--ds-auro-calendar-cell-text-color: var(--ds-basic-color-texticon-disabled, #d0d0d0);--ds-auro-calendar-cell-price-text-color: var(--ds-basic-color-texticon-disabled, #d0d0d0)}:host .day.inRange:before,:host .day.rangeDepartDate:before,:host .day.rangeReturnDate:before,:host .day.lastHoveredDate:before{background-color:var(--ds-auro-calendar-cell-in-range-color)}:host .day.sameDateTrip:before{--ds-auro-calendar-cell-in-range-color: transparent}`;
25646
25631
 
@@ -25667,12 +25652,6 @@ var popoverVersion = '6.0.1';
25667
25652
 
25668
25653
  /* eslint-disable curly, max-lines, no-underscore-dangle, no-magic-numbers, no-underscore-dangle, max-params, no-extra-parens, arrow-parens, max-lines, line-comment-position, no-inline-comments, lit/binding-positions, lit/no-invalid-html */
25669
25654
 
25670
- const startOfDay$1 = (ms) => {
25671
- const date = new Date(ms);
25672
- date.setHours(0, 0, 0, 0);
25673
- return date.getTime();
25674
- };
25675
-
25676
25655
  class AuroCalendarCell extends i$3 {
25677
25656
  constructor() {
25678
25657
  super();
@@ -25719,6 +25698,14 @@ class AuroCalendarCell extends i$3 {
25719
25698
  type: Boolean,
25720
25699
  reflect: true
25721
25700
  },
25701
+ /**
25702
+ * @deprecated Propagated from the legacy `auro-calendar.disabledDays`
25703
+ * Unix-timestamp array. The cell honors it for backward compatibility
25704
+ * (see the divergence-check fallback inside `isBlackout`), but
25705
+ * consumers should migrate to `auro-datepicker.blackoutDates`
25706
+ * (YYYY-MM-DD ISO strings). The calendar emits a one-time
25707
+ * deprecation warning the first time a non-empty value is observed.
25708
+ */
25722
25709
  disabledDays: { type: Array },
25723
25710
  isCurrentDate: { type: Boolean },
25724
25711
  locale: { type: String },
@@ -25764,8 +25751,8 @@ class AuroCalendarCell extends i$3 {
25764
25751
  const parsedDateTo = parseInt(dateTo, 10);
25765
25752
 
25766
25753
  if (day) {
25767
- const departTimestamp = startOfDay$1(parsedDateFrom * 1000) / 1000;
25768
- const returnTimestamp = startOfDay$1(parsedDateTo * 1000) / 1000;
25754
+ const departTimestamp = new Date(parsedDateFrom * 1000).setHours(0, 0, 0, 0) / 1000;
25755
+ const returnTimestamp = new Date(parsedDateTo * 1000).setHours(0, 0, 0, 0) / 1000;
25769
25756
 
25770
25757
  if (day.date === departTimestamp || day.date === returnTimestamp) {
25771
25758
  this.selected = true;
@@ -25849,22 +25836,42 @@ class AuroCalendarCell extends i$3 {
25849
25836
  return false;
25850
25837
  }
25851
25838
 
25852
- // Check against disabledDays timestamps (legacy path)
25839
+ // Delegate to the calendar's memoized blackout Set for O(1) lookup
25840
+ // (instead of rescanning disabledDays + blackoutDates per render). The
25841
+ // Set is rebuilt only when either source array reference changes — see
25842
+ // auro-calendar.js#_getBlackoutSet.
25843
+ if (this.calendar && typeof this.calendar._getBlackoutSet === 'function') {
25844
+ if (this.calendar._getBlackoutSet().has(this.day.date)) {
25845
+ return true;
25846
+ }
25847
+ // If the cell's local disabledDays diverged from the calendar's (a
25848
+ // consumer or test mutated cell.disabledDays directly), the Set does
25849
+ // not reflect that addition — fall through to the per-cell scan only
25850
+ // when the reference no longer matches. Production data flow keeps
25851
+ // these identical, so this branch stays cold.
25852
+ if (this.disabledDays && this.disabledDays !== this.calendar.disabledDays && this.disabledDays.length > 0) {
25853
+ if (this.disabledDays.findIndex((dd) => parseInt(dd, 10) === this.day.date) !== -1) {
25854
+ return true;
25855
+ }
25856
+ }
25857
+ return false;
25858
+ }
25859
+
25860
+ // Pre-firstUpdated fallback — the cell may render once before the
25861
+ // ancestor calendar is wired up. Uses the legacy O(N) scan so the
25862
+ // result stays correct, just slower for the very first render.
25853
25863
  if (Array.isArray(this.disabledDays) && this.disabledDays.length > 0 &&
25854
25864
  (this.disabledDays.findIndex(dd => parseInt(dd, 10) === this.day.date) !== -1)) {
25855
25865
  return true;
25856
25866
  }
25857
25867
 
25858
- // Check against blackoutDates (ISO format YYYY-MM-DD) on the datepicker
25859
25868
  const blackoutDates = this.datepicker?.blackoutDates;
25860
-
25861
25869
  if (Array.isArray(blackoutDates) && blackoutDates.length > 0) {
25862
25870
  const date = new Date(this.day.date * 1000);
25863
25871
  const yyyy = date.getFullYear();
25864
25872
  const mm = String(date.getMonth() + 1).padStart(2, '0');
25865
25873
  const dd = String(date.getDate()).padStart(2, '0');
25866
- const cellDate = `${yyyy}-${mm}-${dd}`;
25867
- if (blackoutDates.includes(cellDate)) {
25874
+ if (blackoutDates.includes(`${yyyy}-${mm}-${dd}`)) {
25868
25875
  return true;
25869
25876
  }
25870
25877
  }
@@ -25975,12 +25982,12 @@ class AuroCalendarCell extends i$3 {
25975
25982
  const parsedDateFrom = Number.parseInt(this.dateFrom, 10);
25976
25983
  if (!Number.isFinite(parsedDateFrom)) return null;
25977
25984
 
25978
- const departTimestamp = startOfDay$1(parsedDateFrom * 1000) / 1000;
25985
+ const departTimestamp = new Date(parsedDateFrom * 1000).setHours(0, 0, 0, 0) / 1000;
25979
25986
  const dayDate = this.day.date;
25980
25987
 
25981
25988
  const parsedDateTo = Number.parseInt(this.dateTo, 10);
25982
25989
  const hasDateTo = Number.isFinite(parsedDateTo);
25983
- const returnTimestamp = hasDateTo ? startOfDay$1(parsedDateTo * 1000) / 1000 : null;
25990
+ const returnTimestamp = hasDateTo ? new Date(parsedDateTo * 1000).setHours(0, 0, 0, 0) / 1000 : null;
25984
25991
 
25985
25992
  if (dayDate === departTimestamp) return this.datepicker.rangeLabelStart || 'range start';
25986
25993
 
@@ -25990,7 +25997,9 @@ class AuroCalendarCell extends i$3 {
25990
25997
 
25991
25998
  if (hasDateTo && dayDate > departTimestamp && dayDate < returnTimestamp) return this.datepicker.rangeLabelInRange || 'in range';
25992
25999
 
25993
- // After start date, no end date yet, or after end date
26000
+ if (!hasDateTo && dayDate > departTimestamp) return this.datepicker.rangeLabelEndPreview || 'previewing range end';
26001
+
26002
+ // After end date when both dateFrom and dateTo are set.
25994
26003
  return this.datepicker.rangeLabelAfterRange || 'after range';
25995
26004
  }
25996
26005
 
@@ -26003,7 +26012,7 @@ class AuroCalendarCell extends i$3 {
26003
26012
  */
26004
26013
  isDepartDate(day, dateFrom) {
26005
26014
  const parsedDateFrom = parseInt(dateFrom, 10);
26006
- const departTimestamp = startOfDay$1(parsedDateFrom * 1000) / 1000;
26015
+ const departTimestamp = new Date(parsedDateFrom * 1000).setHours(0, 0, 0, 0) / 1000;
26007
26016
 
26008
26017
  return this.selected && day.date === departTimestamp;
26009
26018
  }
@@ -26018,7 +26027,7 @@ class AuroCalendarCell extends i$3 {
26018
26027
  */
26019
26028
  isReturnDate(day, dateFrom, dateTo) {
26020
26029
  const parsedDateTo = parseInt(dateTo, 10);
26021
- const returnTimestamp = startOfDay$1(parsedDateTo * 1000) / 1000;
26030
+ const returnTimestamp = new Date(parsedDateTo * 1000).setHours(0, 0, 0, 0) / 1000;
26022
26031
 
26023
26032
  return this.selected && day.date === returnTimestamp && dateFrom;
26024
26033
  }
@@ -26182,6 +26191,7 @@ class AuroCalendarCell extends i$3 {
26182
26191
  setTimeout(() => this.firstUpdated(), 0);
26183
26192
  return;
26184
26193
  }
26194
+ this.calendar = calendar;
26185
26195
  this.datepicker = calendar.datepicker;
26186
26196
  this._slotContentHandler = () => {
26187
26197
  this.handleSlotContent();
@@ -26239,12 +26249,13 @@ class AuroCalendarCell extends i$3 {
26239
26249
  this._cachedButton = this.shadowRoot.querySelector('button.day');
26240
26250
  });
26241
26251
 
26242
- // Update host-level aria attributes for ariaActiveDescendantElement.
26252
+ // Keep the host's gridcell aria attributes in sync with the day data.
26243
26253
  this.updateHostAria();
26244
26254
  }
26245
26255
 
26246
26256
  // Update host aria when selection changes (aria-selected, range labels)
26247
- if (properties.has('dateFrom') || properties.has('dateTo') || properties.has('selected')) {
26257
+ // or when isCurrentDate flips (aria-current).
26258
+ if (properties.has('dateFrom') || properties.has('dateTo') || properties.has('selected') || properties.has('isCurrentDate')) {
26248
26259
  this.updateHostAria();
26249
26260
  }
26250
26261
 
@@ -26255,8 +26266,8 @@ class AuroCalendarCell extends i$3 {
26255
26266
  }
26256
26267
 
26257
26268
  /**
26258
- * Updates ARIA attributes on the host element so that
26259
- * ariaActiveDescendantElement can expose cell info to the SR.
26269
+ * Sets host-level ARIA so each cell exposes its date, selection state,
26270
+ * and blackout status to assistive tech browsing the month grid.
26260
26271
  * @private
26261
26272
  * @returns {void}
26262
26273
  */
@@ -26267,14 +26278,20 @@ class AuroCalendarCell extends i$3 {
26267
26278
  if (outOfRange) {
26268
26279
  this.removeAttribute('role');
26269
26280
  this.removeAttribute('aria-label');
26281
+ this.removeAttribute('aria-current');
26270
26282
  return;
26271
26283
  }
26272
26284
 
26273
- // The host acts as the gridcell for ariaActiveDescendantElement.
26274
26285
  this.setAttribute('role', 'gridcell');
26275
26286
  this.setAttribute('aria-label', this.getAriaLabel());
26276
26287
  this.setAttribute('aria-selected', this.selected ? 'true' : 'false');
26277
26288
 
26289
+ if (this.isCurrentDate) {
26290
+ this.setAttribute('aria-current', 'date');
26291
+ } else {
26292
+ this.removeAttribute('aria-current');
26293
+ }
26294
+
26278
26295
  if (this.isBlackout()) {
26279
26296
  this.setAttribute('aria-disabled', 'true');
26280
26297
  } else {
@@ -26289,7 +26306,7 @@ class AuroCalendarCell extends i$3 {
26289
26306
  * @returns {void}
26290
26307
  */
26291
26308
  focusButton() {
26292
- const button = this._cachedButton || this.shadowRoot.querySelector('button:not([aria-hidden])');
26309
+ const button = this._cachedButton || this.shadowRoot.querySelector('button:not([disabled])');
26293
26310
  if (button) {
26294
26311
  button.focus({ focusVisible: true });
26295
26312
  }
@@ -26297,7 +26314,9 @@ class AuroCalendarCell extends i$3 {
26297
26314
 
26298
26315
  /**
26299
26316
  * Imperatively marks this cell as active without triggering a Lit re-render.
26300
- * Note: buttons stay tabindex="-1" because the grid uses aria-activedescendant.
26317
+ * Buttons stay tabindex="-1" because DOM focus stays on the grid wrapper
26318
+ * arrow keys move the active cell imperatively and the live region carries
26319
+ * the SR announcement.
26301
26320
  * @returns {void}
26302
26321
  */
26303
26322
  setActive() {
@@ -26339,10 +26358,13 @@ class AuroCalendarCell extends i$3 {
26339
26358
  if (!btn || !this.day) return;
26340
26359
 
26341
26360
  const dayDate = this.day.date;
26342
- const departTimestamp = startOfDay$1(dateFrom * 1000) / 1000;
26361
+ const departTimestamp = new Date(dateFrom * 1000).setHours(0, 0, 0, 0) / 1000;
26343
26362
  const isInRange = dayDate > departTimestamp && dayDate < hoveredDate;
26344
- const isLastHovered = dayDate === hoveredDate && hoveredDate > departTimestamp;
26345
- const isDepartWithPreview = dayDate === departTimestamp && hoveredDate > departTimestamp;
26363
+ // `>=` so hovering the depart cell itself (a same-day round-trip
26364
+ // preview) still surfaces a visual cue: the depart cell receives both
26365
+ // rangeDepartDate and lastHoveredDate.
26366
+ const isLastHovered = dayDate === hoveredDate && hoveredDate >= departTimestamp;
26367
+ const isDepartWithPreview = dayDate === departTimestamp && hoveredDate >= departTimestamp;
26346
26368
 
26347
26369
  btn.classList.toggle('inRange', isInRange);
26348
26370
  btn.classList.toggle('lastHoveredDate', isLastHovered);
@@ -26400,7 +26422,6 @@ class AuroCalendarCell extends i$3 {
26400
26422
  @focus="${outOfRange ? undefined : this.handleFocus}"
26401
26423
  class="${e$2(buttonClasses)}"
26402
26424
  ?disabled="${outOfRange}"
26403
- aria-hidden="${outOfRange ? 'true' : A$7}"
26404
26425
  tabindex="-1">
26405
26426
  <div class="buttonWrapper" aria-hidden="true">
26406
26427
  <div class="currentDayMarker">${this.day?.title || A$7}</div>
@@ -27506,7 +27527,7 @@ let AuroBibtemplate$3 = class AuroBibtemplate extends i$3 {
27506
27527
  }
27507
27528
  };
27508
27529
 
27509
- var formkitVersion$2$1 = '202606232113';
27530
+ var formkitVersion$2$1 = '202606251933';
27510
27531
 
27511
27532
  let l$1$2 = class l{generateElementName(t,e){let o=t;return o+="-",o+=e.replace(/[.]/g,"_"),o}generateTag(o,s,a){const r=this.generateElementName(o,s),i=i$2`${s$3(r)}`;return customElements.get(r)||customElements.define(r,class extends a{}),i}};let d$1$2 = class d{registerComponent(t,e){customElements.get(t)||customElements.define(t,class extends e{});}closestElement(t,e=this,o=(e,s=e&&e.closest(t))=>e&&e!==document&&e!==window?s||o(e.getRootNode().host):null){return o(e)}handleComponentTagRename(t,e){const o=e.toLowerCase();t.tagName.toLowerCase()!==o&&t.setAttribute(o,true);}elementMatch(t,e){const o=e.toLowerCase();return t.tagName.toLowerCase()===o||t.hasAttribute(o)}getSlotText(t,e){const o=t.shadowRoot?.querySelector(`slot[name="${e}"]`),s=(o?.assignedNodes({flatten:true})||[]).map(t=>t.textContent?.trim()).join(" ").trim();return s||null}};let h$1$2 = class h{registerComponent(t,e){customElements.get(t)||customElements.define(t,class extends e{});}closestElement(t,e=this,o=(e,s=e&&e.closest(t))=>e&&e!==document&&e!==window?s||o(e.getRootNode().host):null){return o(e)}handleComponentTagRename(t,e){const o=e.toLowerCase();t.tagName.toLowerCase()!==o&&t.setAttribute(o,true);}elementMatch(t,e){const o=e.toLowerCase();return t.tagName.toLowerCase()===o||t.hasAttribute(o)}};var c$1$3=i$6`:host{color:var(--ds-auro-loader-color)}:host>span{background-color:var(--ds-auro-loader-background-color);border-color:var(--ds-auro-loader-border-color)}:host([onlight]),:host([appearance=brand]){--ds-auro-loader-color: var(--ds-basic-color-brand-primary, #01426a)}:host([ondark]),:host([appearance=inverse]){--ds-auro-loader-color: var(--ds-basic-color-texticon-inverse, #ffffff)}:host([orbit])>span{--ds-auro-loader-background-color: transparent}:host([orbit])>span:nth-child(1){--ds-auro-loader-border-color: currentcolor;opacity:.25}:host([orbit])>span:nth-child(2){--ds-auro-loader-border-color: currentcolor;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent}
27512
27533
  `,u$4$2=i$6`.body-default{font-size:var(--wcss-body-default-font-size, 1rem);line-height:var(--wcss-body-default-line-height, 1.5rem)}.body-default,.body-lg{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-weight, 450);letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-lg{font-size:var(--wcss-body-lg-font-size, 1.125rem);line-height:var(--wcss-body-lg-line-height, 1.625rem)}.body-sm{font-size:var(--wcss-body-sm-font-size, .875rem);line-height:var(--wcss-body-sm-line-height, 1.25rem)}.body-sm,.body-xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-weight, 450);letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-xs{font-size:var(--wcss-body-xs-font-size, .75rem);line-height:var(--wcss-body-xs-line-height, 1rem)}.body-2xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:var(--wcss-body-2xs-font-size, .625rem);font-weight:var(--wcss-body-weight, 450);letter-spacing:var(--wcss-body-letter-spacing, 0);line-height:var(--wcss-body-2xs-line-height, .875rem)}.display-2xl{font-family:var(--wcss-display-2xl-family, "AS Circular"),var(--wcss-display-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-2xl-font-size, clamp(3.5rem, 6vw, 5.375rem));font-weight:var(--wcss-display-2xl-weight, 300);letter-spacing:var(--wcss-display-2xl-letter-spacing, 0);line-height:var(--wcss-display-2xl-line-height, 1.3)}.display-xl{font-family:var(--wcss-display-xl-family, "AS Circular"),var(--wcss-display-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-xl-font-size, clamp(3rem, 5.3333333333vw, 4.5rem));font-weight:var(--wcss-display-xl-weight, 300);letter-spacing:var(--wcss-display-xl-letter-spacing, 0);line-height:var(--wcss-display-xl-line-height, 1.3)}.display-lg{font-family:var(--wcss-display-lg-family, "AS Circular"),var(--wcss-display-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-lg-font-size, clamp(2.75rem, 4.6666666667vw, 4rem));font-weight:var(--wcss-display-lg-weight, 300);letter-spacing:var(--wcss-display-lg-letter-spacing, 0);line-height:var(--wcss-display-lg-line-height, 1.3)}.display-md{font-family:var(--wcss-display-md-family, "AS Circular"),var(--wcss-display-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-md-font-size, clamp(2.5rem, 4vw, 3.5rem));font-weight:var(--wcss-display-md-weight, 300);letter-spacing:var(--wcss-display-md-letter-spacing, 0);line-height:var(--wcss-display-md-line-height, 1.3)}.display-sm{font-family:var(--wcss-display-sm-family, "AS Circular"),var(--wcss-display-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-sm-font-size, clamp(2rem, 3.6666666667vw, 3rem));font-weight:var(--wcss-display-sm-weight, 300);letter-spacing:var(--wcss-display-sm-letter-spacing, 0);line-height:var(--wcss-display-sm-line-height, 1.3)}.display-xs{font-family:var(--wcss-display-xs-family, "AS Circular"),var(--wcss-display-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-xs-font-size, clamp(1.75rem, 3vw, 2.375rem));font-weight:var(--wcss-display-xs-weight, 300);letter-spacing:var(--wcss-display-xs-letter-spacing, 0);line-height:var(--wcss-display-xs-line-height, 1.3)}.heading-xl{font-family:var(--wcss-heading-xl-family, "AS Circular"),var(--wcss-heading-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-xl-font-size, clamp(2rem, 3vw, 2.5rem));font-weight:var(--wcss-heading-xl-weight, 300);letter-spacing:var(--wcss-heading-xl-letter-spacing, 0);line-height:var(--wcss-heading-xl-line-height, 1.3)}.heading-lg{font-family:var(--wcss-heading-lg-family, "AS Circular"),var(--wcss-heading-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-lg-font-size, clamp(1.75rem, 2.6666666667vw, 2.25rem));font-weight:var(--wcss-heading-lg-weight, 300);letter-spacing:var(--wcss-heading-lg-letter-spacing, 0);line-height:var(--wcss-heading-lg-line-height, 1.3)}.heading-md{font-family:var(--wcss-heading-md-family, "AS Circular"),var(--wcss-heading-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-md-font-size, clamp(1.625rem, 2.3333333333vw, 1.75rem));font-weight:var(--wcss-heading-md-weight, 300);letter-spacing:var(--wcss-heading-md-letter-spacing, 0);line-height:var(--wcss-heading-md-line-height, 1.3)}.heading-sm{font-family:var(--wcss-heading-sm-family, "AS Circular"),var(--wcss-heading-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-sm-font-size, clamp(1.375rem, 2vw, 1.5rem));font-weight:var(--wcss-heading-sm-weight, 300);letter-spacing:var(--wcss-heading-sm-letter-spacing, 0);line-height:var(--wcss-heading-sm-line-height, 1.3)}.heading-xs{font-family:var(--wcss-heading-xs-family, "AS Circular"),var(--wcss-heading-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-xs-font-size, clamp(1.25rem, 1.6666666667vw, 1.25rem));font-weight:var(--wcss-heading-xs-weight, 450);letter-spacing:var(--wcss-heading-xs-letter-spacing, 0);line-height:var(--wcss-heading-xs-line-height, 1.3)}.heading-2xs{font-family:var(--wcss-heading-2xs-family, "AS Circular"),var(--wcss-heading-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-2xs-font-size, clamp(1.125rem, 1.5vw, 1.125rem));font-weight:var(--wcss-heading-2xs-weight, 450);letter-spacing:var(--wcss-heading-2xs-letter-spacing, 0);line-height:var(--wcss-heading-2xs-line-height, 1.3)}.accent-2xl{font-family:var(--wcss-accent-2xl-family, "Good OT"),var(--wcss-accent-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-2xl-font-size, clamp(2rem, 3.1666666667vw, 2.375rem));font-weight:var(--wcss-accent-2xl-weight, 450);letter-spacing:var(--wcss-accent-2xl-letter-spacing, .05em);line-height:var(--wcss-accent-2xl-line-height, 1)}.accent-2xl,.accent-xl{text-transform:uppercase}.accent-xl{font-family:var(--wcss-accent-xl-family, "Good OT"),var(--wcss-accent-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-xl-font-size, clamp(1.625rem, 2.3333333333vw, 2rem));font-weight:var(--wcss-accent-xl-weight, 450);letter-spacing:var(--wcss-accent-xl-letter-spacing, .05em);line-height:var(--wcss-accent-xl-line-height, 1.3)}.accent-lg{font-family:var(--wcss-accent-lg-family, "Good OT"),var(--wcss-accent-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-lg-font-size, clamp(1.5rem, 2.1666666667vw, 1.75rem));font-weight:var(--wcss-accent-lg-weight, 450);letter-spacing:var(--wcss-accent-lg-letter-spacing, .05em);line-height:var(--wcss-accent-lg-line-height, 1.3)}.accent-lg,.accent-md{text-transform:uppercase}.accent-md{font-family:var(--wcss-accent-md-family, "Good OT"),var(--wcss-accent-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-md-font-size, clamp(1.375rem, 1.8333333333vw, 1.5rem));font-weight:var(--wcss-accent-md-weight, 500);letter-spacing:var(--wcss-accent-md-letter-spacing, .05em);line-height:var(--wcss-accent-md-line-height, 1.3)}.accent-sm{font-family:var(--wcss-accent-sm-family, "Good OT"),var(--wcss-accent-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-sm-font-size, clamp(1.125rem, 1.5vw, 1.25rem));font-weight:var(--wcss-accent-sm-weight, 500);letter-spacing:var(--wcss-accent-sm-letter-spacing, .05em);line-height:var(--wcss-accent-sm-line-height, 1.3)}.accent-sm,.accent-xs{text-transform:uppercase}.accent-xs{font-family:var(--wcss-accent-xs-family, "Good OT"),var(--wcss-accent-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-xs-font-size, clamp(1rem, 1.3333333333vw, 1rem));font-weight:var(--wcss-accent-xs-weight, 500);letter-spacing:var(--wcss-accent-xs-letter-spacing, .1em);line-height:var(--wcss-accent-xs-line-height, 1.3)}.accent-2xs{font-family:var(--wcss-accent-2xs-family, "Good OT"),var(--wcss-accent-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-2xs-font-size, clamp(.875rem, 1.1666666667vw, .875rem));font-weight:var(--wcss-accent-2xs-weight, 450);letter-spacing:var(--wcss-accent-2xs-letter-spacing, .1em);line-height:var(--wcss-accent-2xs-line-height, 1.3);text-transform:uppercase}:focus:not(:focus-visible){outline:3px solid transparent}:host,:host>span{position:relative}:host{width:2rem;height:2rem;display:inline-block;font-size:0}:host>span{position:absolute;display:inline-block;float:none;top:0;left:0;width:2rem;height:2rem;border-radius:100%;border-style:solid;border-width:0;box-sizing:border-box}:host([xs]),:host([xs])>span{width:1.2rem;height:1.2rem}:host([sm]),:host([sm])>span{width:3rem;height:3rem}:host([md]),:host([md])>span{width:5rem;height:5rem}:host([lg]),:host([lg])>span{width:8rem;height:8rem}:host{--margin: .375rem;--margin-xs: .2rem;--margin-sm: .5rem;--margin-md: .75rem;--margin-lg: 1rem}:host([pulse]),:host([pulse])>span{position:relative}:host([pulse]){width:calc(3rem + var(--margin) * 6);height:calc(1rem + var(--margin) * 2)}:host([pulse])>span{width:1rem;height:1rem;margin:var(--margin);animation:pulse 1.5s ease infinite}:host([pulse][xs]){width:calc(1.95rem + var(--margin-xs) * 6);height:calc(.65rem + var(--margin-xs) * 2)}:host([pulse][xs])>span{margin:var(--margin-xs);width:.65rem;height:.65rem}:host([pulse][sm]){width:calc(6rem + var(--margin-sm) * 6);height:calc(2rem + var(--margin-sm) * 2)}:host([pulse][sm])>span{margin:var(--margin-sm);width:2rem;height:2rem}:host([pulse][md]){width:calc(9rem + var(--margin-md) * 6);height:calc(3rem + var(--margin-md) * 2)}:host([pulse][md])>span{margin:var(--margin-md);width:3rem;height:3rem}:host([pulse][lg]){width:calc(15rem + var(--margin-lg) * 6);height:calc(5rem + var(--margin-lg) * 2)}:host([pulse][lg])>span{margin:var(--margin-lg);width:5rem;height:5rem}:host([pulse])>span:nth-child(1){animation-delay:-.4s}:host([pulse])>span:nth-child(2){animation-delay:-.2s}:host([pulse])>span:nth-child(3){animation-delay:0ms}@keyframes pulse{0%,to{opacity:.1;transform:scale(.9)}50%{opacity:1;transform:scale(1.1)}}:host([orbit]),:host([orbit])>span{opacity:1}:host([orbit])>span{border-width:5px}:host([orbit])>span:nth-child(2){animation:orbit 2s linear infinite}:host([orbit][sm])>span{border-width:8px}:host([orbit][md])>span{border-width:13px}:host([orbit][lg])>span{border-width:21px}@keyframes orbit{0%{transform:rotate(0)}to{transform:rotate(360deg)}}:host([ringworm])>svg{animation:rotate 2s linear infinite;height:100%;width:100%;stroke:currentcolor;stroke-width:8}:host([ringworm]) .path{stroke-dashoffset:0;animation:ringworm 1.5s ease-in-out infinite;stroke-linecap:round}@keyframes rotate{to{transform:rotate(360deg)}}@keyframes ringworm{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px}to{stroke-dasharray:89,200;stroke-dashoffset:-124px}}:host([laser]){position:static;width:100%;display:block;height:0;overflow:hidden;font-size:unset}:host([laser])>span{position:fixed;width:100%;height:.25rem;border-radius:0;z-index:100}:host([laser])>span:nth-child(1){border-color:currentcolor;opacity:.25}:host([laser])>span:nth-child(2){border-color:currentcolor;animation:laser 2s linear infinite;opacity:1;width:50%}:host([laser][sm])>span:nth-child(2){width:20%}:host([laser][md])>span:nth-child(2){width:30%}:host([laser][lg])>span:nth-child(2){width:50%;animation-duration:1.5s}:host([laser][xl])>span:nth-child(2){width:80%;animation-duration:1.5s}@keyframes laser{0%{left:-100%}to{left:110%}}:host>.no-animation{display:none}@media (prefers-reduced-motion: reduce){:host{display:flex;align-items:center;justify-content:center}:host>span{opacity:1}:host>.loader{display:none}:host>svg{display:none}:host>.no-animation{display:block}}
@@ -27629,7 +27650,11 @@ class AuroCalendar extends RangeDatepicker {
27629
27650
  this.calendarRangeMonths = null;
27630
27651
 
27631
27652
  /**
27632
- * Legacy array of disabled-date timestamps.
27653
+ * @deprecated Use `auro-datepicker.blackoutDates` (an array of
27654
+ * `YYYY-MM-DD` ISO strings) instead. This legacy array of Unix
27655
+ * timestamps is still honored for backward compatibility but emits a
27656
+ * one-time `console.debug` the first time a non-empty value is observed.
27657
+ * Support will be removed in a future major release.
27633
27658
  * @private
27634
27659
  */
27635
27660
  this.disabledDays = [];
@@ -27886,17 +27911,44 @@ class AuroCalendar extends RangeDatepicker {
27886
27911
  * @returns {void}
27887
27912
  */
27888
27913
  updateActiveCellForVisibleMonth() {
27889
- // Use double-rAF to ensure child month/cell components have fully
27890
- // rendered and cached their button references before we set tabindex.
27891
- requestAnimationFrame(() => {
27892
- requestAnimationFrame(() => {
27893
- const newDate = this.computeActiveDate({ skipDateFrom: true });
27914
+ this._afterMonthRender(() => {
27915
+ const newDate = this.computeActiveDate({ skipDateFrom: true });
27894
27916
 
27895
- if (newDate !== null && newDate !== undefined) {
27896
- this.activeCellDate = newDate;
27897
- this.setActiveCell(this.activeCellDate);
27898
- }
27899
- });
27917
+ if (newDate !== null && newDate !== undefined) {
27918
+ this.activeCellDate = newDate;
27919
+ this.setActiveCell(this.activeCellDate);
27920
+ }
27921
+ });
27922
+ }
27923
+
27924
+ /**
27925
+ * Schedules `callback` two animation frames out, giving the child
27926
+ * `auro-formkit-calendar-month` and `auro-formkit-calendar-cell` elements
27927
+ * a full render-and-paint cycle to settle before the callback reads or
27928
+ * mutates DOM.
27929
+ *
27930
+ * Why two frames, not one:
27931
+ * 1. Lit batches property updates and renders in a microtask, so frame N
27932
+ * schedules the render but the new DOM may not be painted yet.
27933
+ * 2. Cells re-cache `_cachedButton` inside their own `updateComplete.then`,
27934
+ * which also lands a tick later. Reading buttons from frame N+1
27935
+ * (after both renders + cache refresh have flushed) reliably hits the
27936
+ * new month's cells.
27937
+ *
27938
+ * Used by every code path that calls `handleNextMonth`/`handlePrevMonth`
27939
+ * and then needs to inspect the freshly-rendered cells (cross-month
27940
+ * keyboard nav, boundary events, `updateActiveCellForVisibleMonth`).
27941
+ * Do NOT collapse to a single rAF — it intermittently lands before
27942
+ * `_cachedButton` is refreshed, which silently breaks focus restoration
27943
+ * and `setActiveCell` lookups.
27944
+ * @private
27945
+ * @param {() => void} callback - Runs once after the month re-render and
27946
+ * the cells' button caches have refreshed.
27947
+ * @returns {void}
27948
+ */
27949
+ _afterMonthRender(callback) {
27950
+ requestAnimationFrame(() => {
27951
+ requestAnimationFrame(callback);
27900
27952
  });
27901
27953
  }
27902
27954
 
@@ -28014,6 +28066,47 @@ class AuroCalendar extends RangeDatepicker {
28014
28066
  return Array.from(this.shadowRoot.querySelectorAll('auro-formkit-calendar-month'));
28015
28067
  }
28016
28068
 
28069
+ /**
28070
+ * Picks the focusable cell whose date is closest to targetTs. Used as a
28071
+ * fallback after a month-boundary nav when the exact target date isn't
28072
+ * focusable — typically because the month re-render lagged or the date
28073
+ * was filtered out by isOutOfRange. When two cells are equidistant, the
28074
+ * navigation direction breaks the tie so the user moves the way they
28075
+ * pressed (forward → later cell, backward → earlier cell).
28076
+ * @private
28077
+ * @param {Array} cells - Focusable cells from getAllFocusableCells.
28078
+ * @param {Number} targetTs - Desired Unix timestamp (seconds).
28079
+ * @param {'next'|'prev'} direction - Navigation direction.
28080
+ * @returns {Object|null} The nearest cell, or null when cells is empty.
28081
+ */
28082
+ pickNearestCell(cells, targetTs, direction) {
28083
+ if (!cells.length) {
28084
+ return null;
28085
+ }
28086
+ const forward = direction === 'next';
28087
+ let best = null;
28088
+ let bestDelta = Infinity;
28089
+ cells.forEach((cell) => {
28090
+ if (!cell.day) {
28091
+ return;
28092
+ }
28093
+ const distance = Math.abs(cell.day.date - targetTs);
28094
+ if (distance < bestDelta) {
28095
+ best = cell;
28096
+ bestDelta = distance;
28097
+ return;
28098
+ }
28099
+ if (distance === bestDelta && best) {
28100
+ if (forward && cell.day.date > best.day.date) {
28101
+ best = cell;
28102
+ } else if (!forward && cell.day.date < best.day.date) {
28103
+ best = cell;
28104
+ }
28105
+ }
28106
+ });
28107
+ return best;
28108
+ }
28109
+
28017
28110
  /**
28018
28111
  * Gets all focusable cells across all rendered months.
28019
28112
  * @private
@@ -28030,9 +28123,9 @@ class AuroCalendar extends RangeDatepicker {
28030
28123
 
28031
28124
  /**
28032
28125
  * Sets the active cell across all months. Only one cell has tabindex="0" at a time.
28033
- * Uses imperative DOM manipulation — no Lit re-render triggered.
28034
- * Also updates ariaActiveDescendantElement on the grid wrapper so
28035
- * screen readers announce the active cell without moving DOM focus.
28126
+ * Uses imperative DOM manipulation — no Lit re-render triggered. DOM focus
28127
+ * stays on the grid wrapper; the live region (see getOrCreateLiveRegion)
28128
+ * is what announces the active cell to assistive tech.
28036
28129
  * @param {Number} date - Unix timestamp of the cell to activate.
28037
28130
  * @returns {void}
28038
28131
  */
@@ -28113,6 +28206,72 @@ class AuroCalendar extends RangeDatepicker {
28113
28206
  this.clearRangePreview();
28114
28207
  }
28115
28208
 
28209
+ /**
28210
+ * Returns a memoized Set of blackout timestamps (seconds) drawn from both
28211
+ * the legacy `disabledDays` array and the datepicker's ISO `blackoutDates`.
28212
+ * The cache invalidates when either source array's reference changes, which
28213
+ * matches Lit's own reactive identity semantics for array properties.
28214
+ * @private
28215
+ * @returns {Set<Number>}
28216
+ */
28217
+ _getBlackoutSet() {
28218
+ const disabledDays = this.disabledDays || [];
28219
+ const blackoutDates = this.datepicker?.blackoutDates;
28220
+ if (this._blackoutSet
28221
+ && this._cachedBlackoutDisabledDays === disabledDays
28222
+ && this._cachedBlackoutDates === blackoutDates) {
28223
+ return this._blackoutSet;
28224
+ }
28225
+
28226
+ if (disabledDays.length > 0) {
28227
+ this._warnDisabledDaysDeprecated();
28228
+ }
28229
+
28230
+ const set = new Set(disabledDays.map((day) => parseInt(day, 10)));
28231
+
28232
+ // Parse YYYY-MM-DD as local date to avoid UTC shift issues.
28233
+ if (Array.isArray(blackoutDates)) {
28234
+ for (const isoStr of blackoutDates) {
28235
+ const parts = isoStr.split('-');
28236
+ const ts = Math.floor(new Date(parseInt(parts[0], 10), parseInt(parts[1], 10) - 1, parseInt(parts[2], 10)).getTime() / 1000);
28237
+ if (Number.isFinite(ts)) {
28238
+ set.add(ts);
28239
+ }
28240
+ }
28241
+ }
28242
+
28243
+ this._blackoutSet = set;
28244
+ this._cachedBlackoutDisabledDays = disabledDays;
28245
+ this._cachedBlackoutDates = blackoutDates;
28246
+ return set;
28247
+ }
28248
+
28249
+ /**
28250
+ * Per-class flag that gates the `disabledDays` deprecation warning so it
28251
+ * fires exactly once per page no matter how many calendars or rebuild
28252
+ * cycles encounter the legacy array.
28253
+ * @private
28254
+ */
28255
+ static _warnedDisabledDaysDeprecation = false;
28256
+
28257
+ /**
28258
+ * One-time `console.debug` directing consumers from the legacy
28259
+ * `disabledDays` Unix-timestamp API to the ISO `blackoutDates` API. Fires
28260
+ * the first time `_getBlackoutSet` rebuilds from a non-empty
28261
+ * `disabledDays`; subsequent calls (on this or any other AuroCalendar
28262
+ * instance on the page) are silent.
28263
+ * @private
28264
+ * @returns {void}
28265
+ */
28266
+ _warnDisabledDaysDeprecated() {
28267
+ if (AuroCalendar._warnedDisabledDaysDeprecation) {
28268
+ return;
28269
+ }
28270
+ AuroCalendar._warnedDisabledDaysDeprecation = true;
28271
+ // eslint-disable-next-line no-console
28272
+ console.debug('[auro-datepicker] The `disabledDays` property (Unix timestamps) is deprecated. Migrate to the `blackoutDates` property on auro-datepicker (an array of `YYYY-MM-DD` ISO strings). `disabledDays` will be removed in a future major release.');
28273
+ }
28274
+
28116
28275
  /**
28117
28276
  * Computes the initial active date from data properties alone — no DOM required.
28118
28277
  * Priority:
@@ -28157,21 +28316,10 @@ class AuroCalendar extends RangeDatepicker {
28157
28316
  const minTs = Number.isFinite(rawMin) ? rawMin : -Infinity;
28158
28317
  const maxTs = Number.isFinite(rawMax) ? rawMax : Infinity;
28159
28318
 
28160
- // Build a Set of blackout timestamps for O(1) lookup.
28161
- const blackoutSet = new Set(this.disabledDays.map((day) => parseInt(day, 10)));
28162
-
28163
- // Also include ISO-format blackoutDates from the datepicker if available.
28164
- // Parse YYYY-MM-DD as local date to avoid UTC shift issues.
28165
- const isoBlackouts = this.datepicker?.blackoutDates;
28166
- if (Array.isArray(isoBlackouts)) {
28167
- for (const isoStr of isoBlackouts) {
28168
- const parts = isoStr.split('-');
28169
- const ts = Math.floor(new Date(parseInt(parts[0], 10), parseInt(parts[1], 10) - 1, parseInt(parts[2], 10)).getTime() / 1000);
28170
- if (Number.isFinite(ts)) {
28171
- blackoutSet.add(ts);
28172
- }
28173
- }
28174
- }
28319
+ // Build a Set of blackout timestamps for O(1) lookup. Memoized by the
28320
+ // identity of the source arrays so rapid month nav doesn't rebuild the
28321
+ // Set (and re-parse every ISO string) on every keypress.
28322
+ const blackoutSet = this._getBlackoutSet();
28175
28323
 
28176
28324
  /**
28177
28325
  * A date (unix timestamp in seconds, midnight-aligned) is "enabled" when
@@ -28367,8 +28515,8 @@ class AuroCalendar extends RangeDatepicker {
28367
28515
 
28368
28516
  /**
28369
28517
  * Handles arrow key navigation on the calendar grid wrapper.
28370
- * Focus stays on the grid wrapper; only ariaActiveDescendantElement
28371
- * and the visual active-cell indicator change.
28518
+ * Focus stays on the grid wrapper; only the visual active-cell indicator
28519
+ * changes. The live region announces the new active cell.
28372
28520
  * @private
28373
28521
  * @param {KeyboardEvent} event - The keyboard event.
28374
28522
  * @returns {void}
@@ -28433,21 +28581,21 @@ class AuroCalendar extends RangeDatepicker {
28433
28581
  } else {
28434
28582
  this.handlePrevMonth({ skipActiveUpdate: true });
28435
28583
  }
28436
- requestAnimationFrame(() => {
28437
- requestAnimationFrame(() => {
28438
- const cells = this.getAllFocusableCells();
28439
- const target = cells.find((cell) => cell.day && cell.day.date === targetTs);
28440
- if (target) {
28441
- this.setActiveCell(target.day.date);
28442
- this.handleCellFocused({ detail: { date: target.day.date } });
28443
- } else if (cells.length > 0) {
28444
- const fallback = navDir === 'next' ? cells[cells.length - 1] : cells[0];
28584
+ this._afterMonthRender(() => {
28585
+ const cells = this.getAllFocusableCells();
28586
+ const target = cells.find((cell) => cell.day && cell.day.date === targetTs);
28587
+ if (target) {
28588
+ this.setActiveCell(target.day.date);
28589
+ this.handleCellFocused({ detail: { date: target.day.date } });
28590
+ } else {
28591
+ const fallback = this.pickNearestCell(cells, targetTs, navDir);
28592
+ if (fallback) {
28445
28593
  this.setActiveCell(fallback.day.date);
28446
28594
  this.handleCellFocused({ detail: { date: fallback.day.date } });
28447
28595
  }
28448
- // Re-focus grid wrapper after month change re-render
28449
- this.focusActiveCell();
28450
- });
28596
+ }
28597
+ // Re-focus grid wrapper after month change re-render
28598
+ this.focusActiveCell();
28451
28599
  });
28452
28600
  }
28453
28601
  }
@@ -28473,26 +28621,20 @@ class AuroCalendar extends RangeDatepicker {
28473
28621
  } else {
28474
28622
  this.handlePrevMonth({ skipActiveUpdate: true });
28475
28623
  }
28476
- requestAnimationFrame(() => {
28477
- requestAnimationFrame(() => {
28478
- const cells = this.getAllFocusableCells();
28479
- const target = cells.find((cell) => cell.day && cell.day.date === targetDate);
28480
- if (target) {
28481
- this.setActiveCell(target.day.date);
28482
- this.handleCellFocused({ detail: { date: target.day.date } });
28483
- } else if (cells.length > 0) {
28484
- let nearest = null;
28485
-
28486
- if (navDirection === 'next') {
28487
- [nearest] = cells;
28488
- } else {
28489
- nearest = cells[cells.length - 1];
28490
- }
28624
+ this._afterMonthRender(() => {
28625
+ const cells = this.getAllFocusableCells();
28626
+ const target = cells.find((cell) => cell.day && cell.day.date === targetDate);
28627
+ if (target) {
28628
+ this.setActiveCell(target.day.date);
28629
+ this.handleCellFocused({ detail: { date: target.day.date } });
28630
+ } else {
28631
+ const nearest = this.pickNearestCell(cells, targetDate, navDirection);
28632
+ if (nearest) {
28491
28633
  this.setActiveCell(nearest.day.date);
28492
28634
  this.handleCellFocused({ detail: { date: nearest.day.date } });
28493
28635
  }
28494
- this.focusActiveCell();
28495
- });
28636
+ }
28637
+ this.focusActiveCell();
28496
28638
  });
28497
28639
  }
28498
28640
  }
@@ -28542,19 +28684,17 @@ class AuroCalendar extends RangeDatepicker {
28542
28684
  }
28543
28685
 
28544
28686
  this.handleNextMonth({ skipActiveUpdate: true });
28545
- requestAnimationFrame(() => {
28546
- requestAnimationFrame(() => {
28547
- const cells = this.getAllFocusableCells();
28548
- const target = cells.find((cell) => cell.day && cell.day.date === nextTs);
28549
- if (target) {
28550
- this.setActiveCell(target.day.date);
28551
- this.focusActiveCell();
28552
- } else if (cells.length > 0) {
28553
- // Fallback: first cell of the last rendered month
28554
- this.setActiveCell(cells[cells.length - 1].day.date);
28555
- this.focusActiveCell();
28556
- }
28557
- });
28687
+ this._afterMonthRender(() => {
28688
+ const cells = this.getAllFocusableCells();
28689
+ const target = cells.find((cell) => cell.day && cell.day.date === nextTs);
28690
+ if (target) {
28691
+ this.setActiveCell(target.day.date);
28692
+ this.focusActiveCell();
28693
+ } else if (cells.length > 0) {
28694
+ // Fallback: first cell of the last rendered month
28695
+ this.setActiveCell(cells[cells.length - 1].day.date);
28696
+ this.focusActiveCell();
28697
+ }
28558
28698
  });
28559
28699
  } else if (direction === 'prev' && this.showPrevMonthBtn) {
28560
28700
  // Navigate to previous month and focus the computed previous date.
@@ -28568,19 +28708,17 @@ class AuroCalendar extends RangeDatepicker {
28568
28708
  }
28569
28709
 
28570
28710
  this.handlePrevMonth({ skipActiveUpdate: true });
28571
- requestAnimationFrame(() => {
28572
- requestAnimationFrame(() => {
28573
- const cells = this.getAllFocusableCells();
28574
- const target = cells.find((cell) => cell.day && cell.day.date === prevTs);
28575
- if (target) {
28576
- this.setActiveCell(target.day.date);
28577
- this.focusActiveCell();
28578
- } else if (cells.length > 0) {
28579
- // Fallback: last cell of the first rendered month
28580
- this.setActiveCell(cells[0].day.date);
28581
- this.focusActiveCell();
28582
- }
28583
- });
28711
+ this._afterMonthRender(() => {
28712
+ const cells = this.getAllFocusableCells();
28713
+ const target = cells.find((cell) => cell.day && cell.day.date === prevTs);
28714
+ if (target) {
28715
+ this.setActiveCell(target.day.date);
28716
+ this.focusActiveCell();
28717
+ } else if (cells.length > 0) {
28718
+ // Fallback: last cell of the first rendered month
28719
+ this.setActiveCell(cells[0].day.date);
28720
+ this.focusActiveCell();
28721
+ }
28584
28722
  });
28585
28723
  }
28586
28724
  } else if (key === 'ArrowDown' || key === 'ArrowUp') {
@@ -28608,20 +28746,18 @@ class AuroCalendar extends RangeDatepicker {
28608
28746
  } else {
28609
28747
  this.handlePrevMonth({ skipActiveUpdate: true });
28610
28748
  }
28611
- requestAnimationFrame(() => {
28612
- requestAnimationFrame(() => {
28613
- const cells = this.getAllFocusableCells();
28614
- const target = cells.find((cell) => cell.day && cell.day.date === targetDate);
28615
- if (target) {
28616
- this.setActiveCell(target.day.date);
28617
- this.focusActiveCell();
28618
- } else if (cells.length > 0) {
28619
- // Clamp to nearest focusable cell
28620
- const nearest = navDirection === 'next' ? cells[0] : cells[cells.length - 1];
28621
- this.setActiveCell(nearest.day.date);
28622
- this.focusActiveCell();
28623
- }
28624
- });
28749
+ this._afterMonthRender(() => {
28750
+ const cells = this.getAllFocusableCells();
28751
+ const target = cells.find((cell) => cell.day && cell.day.date === targetDate);
28752
+ if (target) {
28753
+ this.setActiveCell(target.day.date);
28754
+ this.focusActiveCell();
28755
+ } else if (cells.length > 0) {
28756
+ // Clamp to nearest focusable cell
28757
+ const nearest = navDirection === 'next' ? cells[0] : cells[cells.length - 1];
28758
+ this.setActiveCell(nearest.day.date);
28759
+ this.focusActiveCell();
28760
+ }
28625
28761
  });
28626
28762
  }
28627
28763
  }
@@ -28660,8 +28796,9 @@ class AuroCalendar extends RangeDatepicker {
28660
28796
  return;
28661
28797
  }
28662
28798
 
28663
- // With aria-activedescendant, the button no longer receives native focus,
28664
- // so we use the debounced live region for the full context announcement.
28799
+ // DOM focus stays on the grid wrapper while arrow keys move the active
28800
+ // cell, so cell buttons never receive native focus. The debounced live
28801
+ // region carries the full-context announcement instead.
28665
28802
  const announcement = this.buildFocusAnnouncement(date);
28666
28803
  this.announceFocusDebounced(announcement);
28667
28804
 
@@ -28731,10 +28868,10 @@ class AuroCalendar extends RangeDatepicker {
28731
28868
  return null;
28732
28869
  }
28733
28870
 
28734
- const departTs = startOfDay$2(parsedFrom * 1000) / 1000;
28871
+ const departTs = new Date(parsedFrom * 1000).setHours(0, 0, 0, 0) / 1000;
28735
28872
  const parsedTo = Number.parseInt(this.dateTo, 10);
28736
28873
  const hasTo = Number.isFinite(parsedTo);
28737
- const returnTs = hasTo ? startOfDay$2(parsedTo * 1000) / 1000 : null;
28874
+ const returnTs = hasTo ? new Date(parsedTo * 1000).setHours(0, 0, 0, 0) / 1000 : null;
28738
28875
 
28739
28876
  if (date === departTs) {
28740
28877
  return this.datepicker.rangeLabelStart || 'range start';
@@ -28748,6 +28885,9 @@ class AuroCalendar extends RangeDatepicker {
28748
28885
  if (hasTo && date > departTs && date < returnTs) {
28749
28886
  return this.datepicker.rangeLabelInRange || 'in range';
28750
28887
  }
28888
+ if (!hasTo && date > departTs) {
28889
+ return this.datepicker.rangeLabelEndPreview || 'previewing range end';
28890
+ }
28751
28891
  return this.datepicker.rangeLabelAfterRange || 'after range';
28752
28892
  }
28753
28893
 
@@ -28944,9 +29084,34 @@ class AuroCalendar extends RangeDatepicker {
28944
29084
  // the last one.
28945
29085
  if (this._announceRafId) {
28946
29086
  cancelAnimationFrame(this._announceRafId);
29087
+ this._announceRafId = null;
28947
29088
  }
29089
+ this._deliverAnnouncement(dateStr, 0);
29090
+ }
29091
+
29092
+ /**
29093
+ * Writes `dateStr` to the live region. If the dropdown's dialog hasn't
29094
+ * mounted yet (so getOrCreateLiveRegion can't attach), retries on the
29095
+ * next animation frame up to MAX_LIVE_REGION_RETRIES instead of silently
29096
+ * dropping the announcement. The retry uses the same `_announceRafId`
29097
+ * the double-rAF below uses, so a newer announceSelection call (or
29098
+ * disconnectedCallback) cancels any in-flight retry.
29099
+ * @private
29100
+ * @param {String} dateStr - The localized date string to announce.
29101
+ * @param {Number} attempts - Number of prior retry attempts.
29102
+ * @returns {void}
29103
+ */
29104
+ _deliverAnnouncement(dateStr, attempts) {
28948
29105
  const liveRegion = this.getOrCreateLiveRegion();
28949
29106
  if (!liveRegion) {
29107
+ const MAX_LIVE_REGION_RETRIES = 10;
29108
+ if (attempts < MAX_LIVE_REGION_RETRIES) {
29109
+ this._announceRafId = requestAnimationFrame(() => {
29110
+ this._deliverAnnouncement(dateStr, attempts + 1);
29111
+ });
29112
+ } else {
29113
+ this._announceRafId = null;
29114
+ }
28950
29115
  return;
28951
29116
  }
28952
29117
 
@@ -29132,7 +29297,7 @@ class AuroCalendar extends RangeDatepicker {
29132
29297
  </button>
29133
29298
  ` : undefined}
29134
29299
  </div>
29135
- <div id="calendarGrid" class="calendars" role="group" tabindex="0" aria-label="${this.datepicker?.calendarGridLabel}" @keydown="${this.handleGridKeyDown}" @focusin="${this.handleGridFocusIn}" @focusout="${this.handleGridFocusOut}" @calendar-month-mouseleave="${this.clearRangePreview}">
29300
+ <div id="calendarGrid" class="calendars" role="group" aria-roledescription="calendar" tabindex="0" aria-label="${this.datepicker?.calendarGridLabel}" @keydown="${this.handleGridKeyDown}" @focusin="${this.handleGridFocusIn}" @focusout="${this.handleGridFocusOut}" @calendar-month-mouseleave="${this.clearRangePreview}">
29136
29301
  ${this.renderAllCalendars()}
29137
29302
  </div>
29138
29303
  </div>
@@ -33017,7 +33182,7 @@ let AuroHelpText$2$1 = class AuroHelpText extends i$3 {
33017
33182
  }
33018
33183
  };
33019
33184
 
33020
- var formkitVersion$1$3 = '202606232113';
33185
+ var formkitVersion$1$3 = '202606251933';
33021
33186
 
33022
33187
  let AuroElement$2$2 = class AuroElement extends i$3 {
33023
33188
  static get properties() {
@@ -39414,7 +39579,7 @@ function normalizeDates$2(context, ...dates) {
39414
39579
  * const result = startOfDay(new Date(2014, 8, 2, 11, 55, 0))
39415
39580
  * //=> Tue Sep 02 2014 00:00:00
39416
39581
  */
39417
- function startOfDay$3(date, options) {
39582
+ function startOfDay$2(date, options) {
39418
39583
  const _date = toDate$2(date, options?.in);
39419
39584
  _date.setHours(0, 0, 0, 0);
39420
39585
  return _date;
@@ -39462,8 +39627,8 @@ function differenceInCalendarDays$2(laterDate, earlierDate, options) {
39462
39627
  earlierDate,
39463
39628
  );
39464
39629
 
39465
- const laterStartOfDay = startOfDay$3(laterDate_);
39466
- const earlierStartOfDay = startOfDay$3(earlierDate_);
39630
+ const laterStartOfDay = startOfDay$2(laterDate_);
39631
+ const earlierStartOfDay = startOfDay$2(earlierDate_);
39467
39632
 
39468
39633
  const laterTimestamp =
39469
39634
  +laterStartOfDay - getTimezoneOffsetInMilliseconds$2(laterStartOfDay);
@@ -45549,15 +45714,6 @@ let BaseInput$1 = class BaseInput extends AuroElement$1$3 {
45549
45714
  this.wrapperElement.addEventListener('click', this.handleClick);
45550
45715
  }
45551
45716
 
45552
- // add attribute for query selectors when auro-input is registered under a custom name
45553
- // COVERAGE: the body of this branch is unreachable in WTR — connectedCallback
45554
- // performs the same `setAttribute('auro-input', '')` earlier (see L665-667),
45555
- // so by the time firstUpdated runs the attribute is already present and the
45556
- // `!hasAttribute('auro-input')` guard is false. Retained as a defensive
45557
- // safety net in case connectedCallback is ever short-circuited.
45558
- if (this.tagName.toLowerCase() !== 'auro-input' && !this.hasAttribute('auro-input')) {
45559
- this.setAttribute('auro-input', '');
45560
- }
45561
45717
  this.inputId = this.id ? `${this.id}-input` : window.crypto.randomUUID();
45562
45718
 
45563
45719
  // use validity message override if declared when initializing the component
@@ -46128,13 +46284,7 @@ let BaseInput$1 = class BaseInput extends AuroElement$1$3 {
46128
46284
  */
46129
46285
  get placeholderStr() {
46130
46286
  if (!this.placeholder && this.type === 'date') {
46131
- // COVERAGE: the `'MM/DD/YYYY'` literal fallback is unreachable in WTR.
46132
- // connectedCallback (L682) calls configureDataForType, which at L1266-1268
46133
- // assigns `this.format = this.util.getDateMaskFromLocale().toLowerCase()`
46134
- // when type=date and format is unset. That runs before the first render
46135
- // reads this getter, so the ternary's truthy arm always wins. Retained
46136
- // as a defensive fallback for direct getter calls before connection.
46137
- return this.format ? this.format.toUpperCase() : 'MM/DD/YYYY';
46287
+ return this.format.toUpperCase();
46138
46288
  }
46139
46289
  return this.placeholder || "";
46140
46290
  }
@@ -46625,7 +46775,7 @@ let AuroHelpText$1$3 = class AuroHelpText extends i$3 {
46625
46775
  }
46626
46776
  };
46627
46777
 
46628
- var formkitVersion$7 = '202606232113';
46778
+ var formkitVersion$7 = '202606251933';
46629
46779
 
46630
46780
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
46631
46781
  // See LICENSE in the project root for license information.
@@ -48102,6 +48252,7 @@ class AuroDatePicker extends AuroElement$5 {
48102
48252
  this.rangeLabelBeforeRange = 'before range';
48103
48253
  this.rangeLabelInRange = 'in range';
48104
48254
  this.rangeLabelAfterRange = 'after range';
48255
+ this.rangeLabelEndPreview = 'previewing range end';
48105
48256
  this.blackoutDates = [];
48106
48257
  this.blackoutLabel = 'unavailable';
48107
48258
  this.navLabelPrevMonth = 'Previous month';
@@ -48201,6 +48352,22 @@ class AuroDatePicker extends AuroElement$5 {
48201
48352
  */
48202
48353
  this.handleClick = this.handleClick.bind(this);
48203
48354
 
48355
+ /**
48356
+ * Single AbortController shared by every listener registered in the
48357
+ * configure* methods. Lets disconnectedCallback tear all of them down
48358
+ * with one abort() call.
48359
+ *
48360
+ * The genuine leak risk is the listeners attached to children that can
48361
+ * outlive the host if they get reparented — `this.dropdown`,
48362
+ * `this.calendar`, and the inputs inside the dropdown's slot.
48363
+ * Listeners attached to `this` (e.g. focusin/focusout on the host)
48364
+ * form a self-contained reference graph that the GC can collect with
48365
+ * the host anyway, but they share the same signal so the cleanup
48366
+ * pattern stays uniform across all configure* sites.
48367
+ * @private
48368
+ */
48369
+ this._listenerAbortController = new AbortController();
48370
+
48204
48371
  /**
48205
48372
  * @private
48206
48373
  */
@@ -48249,6 +48416,7 @@ class AuroDatePicker extends AuroElement$5 {
48249
48416
 
48250
48417
  /**
48251
48418
  * Label announced for blackout (disabled but in-range) date cells.
48419
+ * @default 'unavailable'
48252
48420
  */
48253
48421
  blackoutLabel: {
48254
48422
  type: String,
@@ -48265,6 +48433,7 @@ class AuroDatePicker extends AuroElement$5 {
48265
48433
 
48266
48434
  /**
48267
48435
  * Accessible label for the calendar grid containing the days of the month.
48436
+ * @default 'Calendar days of the month'
48268
48437
  */
48269
48438
  calendarGridLabel: {
48270
48439
  type: String,
@@ -48427,6 +48596,7 @@ class AuroDatePicker extends AuroElement$5 {
48427
48596
 
48428
48597
  /**
48429
48598
  * Accessible label for the next month navigation button.
48599
+ * @default 'Next month'
48430
48600
  */
48431
48601
  navLabelNextMonth: {
48432
48602
  type: String,
@@ -48435,6 +48605,7 @@ class AuroDatePicker extends AuroElement$5 {
48435
48605
 
48436
48606
  /**
48437
48607
  * Accessible label for the previous month navigation button.
48608
+ * @default 'Previous month'
48438
48609
  */
48439
48610
  navLabelPrevMonth: {
48440
48611
  type: String,
@@ -48513,6 +48684,7 @@ class AuroDatePicker extends AuroElement$5 {
48513
48684
 
48514
48685
  /**
48515
48686
  * Label announced for cells after the range (or after start when no end is selected).
48687
+ * @default 'after range'
48516
48688
  */
48517
48689
  rangeLabelAfterRange: {
48518
48690
  type: String,
@@ -48521,6 +48693,7 @@ class AuroDatePicker extends AuroElement$5 {
48521
48693
 
48522
48694
  /**
48523
48695
  * Label announced for cells before the range start.
48696
+ * @default 'before range'
48524
48697
  */
48525
48698
  rangeLabelBeforeRange: {
48526
48699
  type: String,
@@ -48529,14 +48702,27 @@ class AuroDatePicker extends AuroElement$5 {
48529
48702
 
48530
48703
  /**
48531
48704
  * Label announced for the range end date cell.
48705
+ * @default 'range end'
48532
48706
  */
48533
48707
  rangeLabelEnd: {
48534
48708
  type: String,
48535
48709
  reflect: true
48536
48710
  },
48537
48711
 
48712
+ /**
48713
+ * Label announced for the focused cell while previewing a range end
48714
+ * (dateFrom set, dateTo not yet selected). Tells AT users that
48715
+ * pressing Enter would commit this cell as the range end.
48716
+ * @default 'previewing range end'
48717
+ */
48718
+ rangeLabelEndPreview: {
48719
+ type: String,
48720
+ reflect: true
48721
+ },
48722
+
48538
48723
  /**
48539
48724
  * Label announced for cells within the selected range.
48725
+ * @default 'in range'
48540
48726
  */
48541
48727
  rangeLabelInRange: {
48542
48728
  type: String,
@@ -48545,6 +48731,7 @@ class AuroDatePicker extends AuroElement$5 {
48545
48731
 
48546
48732
  /**
48547
48733
  * Label announced for the range start date cell.
48734
+ * @default 'range start'
48548
48735
  */
48549
48736
  rangeLabelStart: {
48550
48737
  type: String,
@@ -48909,10 +49096,26 @@ class AuroDatePicker extends AuroElement$5 {
48909
49096
  // ─── Vendor calendar time conversions ─────────────────────────────────────
48910
49097
 
48911
49098
  /**
48912
- * Converts a Unix timestamp (seconds) from the vendor calendar to an ISO date string.
49099
+ * Converts a Unix timestamp (seconds) from the vendored range-datepicker
49100
+ * (`src/vendor/wc-range-datepicker/day.js`) to an ISO date string.
49101
+ *
49102
+ * Timezone contract:
49103
+ * - INPUT: `time` is assumed to be the seconds-since-epoch of **local
49104
+ * midnight** for the intended calendar day. The vendor's Day constructor
49105
+ * builds it via `date-fns format(date, 't')` from a locally-constructed
49106
+ * Date, so this assumption currently holds end-to-end.
49107
+ * - OUTPUT: `dateFormatter.toISOFormatString` reads the Date's local
49108
+ * getFullYear/getMonth/getDate components, so the returned YYYY-MM-DD
49109
+ * string matches the local calendar day.
49110
+ *
49111
+ * If the vendor ever switches to emitting UTC-midnight timestamps, this
49112
+ * conversion will silently shift the returned date by one day in zones
49113
+ * west of UTC. Any vendor swap should re-verify this contract; the TZ
49114
+ * regression suite (`npm run test:hst`, UTC-10) will catch the symptom.
49115
+ *
48913
49116
  * @private
48914
- * @param {number} time - Unix timestamp in seconds.
48915
- * @returns {string} ISO date string (yyyy-mm-dd).
49117
+ * @param {number} time - Unix timestamp (seconds), local midnight of the day.
49118
+ * @returns {string} ISO date string (yyyy-mm-dd) reflecting the local calendar day.
48916
49119
  */
48917
49120
  convertWcTimeToDate(time) {
48918
49121
  return dateFormatter$1.toISOFormatString(new Date(time * 1000));
@@ -49014,8 +49217,8 @@ class AuroDatePicker extends AuroElement$5 {
49014
49217
  }
49015
49218
  }
49016
49219
 
49017
- // Focus the calendar grid wrapper (aria-activedescendant handles
49018
- // the SR announcement for the active cell).
49220
+ // Focus the calendar grid wrapper. The live region (announced just
49221
+ // below) handles the SR announcement for the active cell.
49019
49222
  if (activeCell) {
49020
49223
  this.calendar.focusActiveCell();
49021
49224
 
@@ -49065,11 +49268,13 @@ class AuroDatePicker extends AuroElement$5 {
49065
49268
  this.dropdown.bibDialogLabel = labelElement.textContent.trim() || undefined;
49066
49269
  }
49067
49270
 
49271
+ const { signal } = this._listenerAbortController;
49272
+
49068
49273
  this.dropdown.addEventListener('auroDropdown-triggerClick', () => {
49069
49274
  if (!this.isPopoverVisible) {
49070
49275
  this.dropdown.show();
49071
49276
  }
49072
- });
49277
+ }, { signal });
49073
49278
 
49074
49279
  this.dropdown.addEventListener('auroDropdown-toggled', () => {
49075
49280
  this.notifyDatepickerToggled();
@@ -49087,7 +49292,7 @@ class AuroDatePicker extends AuroElement$5 {
49087
49292
  if (this.valueObject) {
49088
49293
  this.centralDate = this.value;
49089
49294
  } else if (!this.centralDate && !this.calendarStartDate && !this.minDate) {
49090
- this.centralDate = new Date();
49295
+ this.centralDate = dateFormatter$1.toISOFormatString(new Date());
49091
49296
  }
49092
49297
  }
49093
49298
 
@@ -49167,7 +49372,7 @@ class AuroDatePicker extends AuroElement$5 {
49167
49372
  this.forceScrollOnNextMobileCalendarRender = false;
49168
49373
  }, 0);
49169
49374
  }
49170
- });
49375
+ }, { signal });
49171
49376
 
49172
49377
  // Handle responsive strategy changes while the dropdown is open
49173
49378
  // (e.g. resizing from desktop → mobile or vice versa).
@@ -49214,7 +49419,7 @@ class AuroDatePicker extends AuroElement$5 {
49214
49419
  });
49215
49420
  });
49216
49421
  }
49217
- });
49422
+ }, { signal });
49218
49423
  }
49219
49424
 
49220
49425
  /**
@@ -49227,6 +49432,8 @@ class AuroDatePicker extends AuroElement$5 {
49227
49432
 
49228
49433
  this.inputList = [...this.dropdown.querySelectorAll(this.inputTag._$litStatic$)];
49229
49434
 
49435
+ const { signal } = this._listenerAbortController;
49436
+
49230
49437
  this.inputList.forEach((input, index) => {
49231
49438
  input.addEventListener('input', (event) => {
49232
49439
  event.stopPropagation();
@@ -49238,7 +49445,7 @@ class AuroDatePicker extends AuroElement$5 {
49238
49445
  }
49239
49446
 
49240
49447
  this.notifyValueChanged();
49241
- });
49448
+ }, { signal });
49242
49449
 
49243
49450
  input.addEventListener('auroFormElement-validated', (evt) => {
49244
49451
  // not to bubble up input's validated event.
@@ -49254,7 +49461,7 @@ class AuroDatePicker extends AuroElement$5 {
49254
49461
  this.validity = evt.detail.validity;
49255
49462
  this.errorMessage = evt.detail.message;
49256
49463
  }
49257
- });
49464
+ }, { signal });
49258
49465
  });
49259
49466
  }
49260
49467
 
@@ -49268,6 +49475,8 @@ class AuroDatePicker extends AuroElement$5 {
49268
49475
  this.calendar.datepicker = this;
49269
49476
  this.calendar.dropdown = this.dropdown;
49270
49477
 
49478
+ const { signal } = this._listenerAbortController;
49479
+
49271
49480
  this.calendar.addEventListener('auroCalendar-dateSelected', () => {
49272
49481
  if (this.inputList[0].value !== this.calendar.dateFrom && this.calendar.dateFrom !== undefined) {
49273
49482
  this.inputList[0].value = this.convertWcTimeToDate(this.calendar.dateFrom);
@@ -49276,11 +49485,11 @@ class AuroDatePicker extends AuroElement$5 {
49276
49485
  if (this.inputList[1] && this.calendar.dateTo && this.inputList[1].value !== this.calendar.dateTo) {
49277
49486
  this.inputList[1].value = this.convertWcTimeToDate(this.calendar.dateTo);
49278
49487
  }
49279
- });
49488
+ }, { signal });
49280
49489
 
49281
49490
  this.calendar.addEventListener('auroCalendar-dismissRequest', () => {
49282
49491
  this.dropdown.hide();
49283
- });
49492
+ }, { signal });
49284
49493
 
49285
49494
  this.calendar.addEventListener('auroCalendar-centralDateChanged', (event) => {
49286
49495
  const match = this.centralDateObject && this.util.datesMatch(event.detail.date, this.centralDateObject);
@@ -49290,7 +49499,7 @@ class AuroDatePicker extends AuroElement$5 {
49290
49499
  }
49291
49500
 
49292
49501
  this.notifyMonthChanged(event);
49293
- });
49502
+ }, { signal });
49294
49503
  }
49295
49504
 
49296
49505
  /**
@@ -49299,10 +49508,17 @@ class AuroDatePicker extends AuroElement$5 {
49299
49508
  * @returns {void}
49300
49509
  */
49301
49510
  configureDatepicker() {
49511
+ // These listeners are on `this` (the host), so they would GC with the
49512
+ // host even without the abort signal — see the leak rationale on
49513
+ // `_listenerAbortController`. The signal is still passed for uniform
49514
+ // cleanup semantics with the child-element listeners in the other
49515
+ // configure* methods.
49516
+ const { signal } = this._listenerAbortController;
49517
+
49302
49518
  this.addEventListener('focusin', () => {
49303
49519
  this.touched = true;
49304
49520
  this.hasFocus = true;
49305
- });
49521
+ }, { signal });
49306
49522
 
49307
49523
  this.addEventListener('focusout', () => {
49308
49524
  this.hasFocus = false;
@@ -49314,7 +49530,7 @@ class AuroDatePicker extends AuroElement$5 {
49314
49530
  if (!this.matches(':focus-within')) {
49315
49531
  this.validate();
49316
49532
  }
49317
- });
49533
+ }, { signal });
49318
49534
 
49319
49535
  if (this.valueObject) {
49320
49536
  this.calendar.dateFrom = this.convertToWcValidTime(this.valueObject);
@@ -49512,6 +49728,36 @@ class AuroDatePicker extends AuroElement$5 {
49512
49728
  return this.validity !== undefined && this.validity !== 'valid';
49513
49729
  }
49514
49730
 
49731
+ /**
49732
+ * Per-class dedup set used by `_warnInvalidLocale`. Static so the dedup
49733
+ * spans every datepicker instance on the page; lives on the class (not
49734
+ * at module scope) so it stays an encapsulated implementation detail of
49735
+ * this component and does not interfere with WCA's class-JSDoc
49736
+ * attachment.
49737
+ * @private
49738
+ */
49739
+ static _warnedInvalidLocales = new Set();
49740
+
49741
+ /**
49742
+ * Logs a one-time `console.debug` when an unsupported locale falls back to
49743
+ * en-US. Deduped by the offending tag so noisy re-renders that resurface
49744
+ * the same bad value stay quiet, but each new bad value still signals so
49745
+ * consumers can spot the typo or missing tag.
49746
+ * @private
49747
+ * @param {string|undefined} badLocale - The locale value that failed.
49748
+ * @returns {void}
49749
+ */
49750
+ _warnInvalidLocale(badLocale) {
49751
+ const key = String(badLocale ?? '');
49752
+ const seen = AuroDatePicker._warnedInvalidLocales;
49753
+ if (seen.has(key)) {
49754
+ return;
49755
+ }
49756
+ seen.add(key);
49757
+ // eslint-disable-next-line no-console
49758
+ console.debug(`[auro-datepicker] Locale "${key}" is not supported by Intl.DateTimeFormat. Falling back to "en-US". Pass a BCP 47 tag such as "en-US", "fr-FR", or "ja-JP".`);
49759
+ }
49760
+
49515
49761
  /**
49516
49762
  * Lifecycle method to check if the locale is valid.
49517
49763
  * @ignore
@@ -49522,10 +49768,15 @@ class AuroDatePicker extends AuroElement$5 {
49522
49768
  if (changedProperties.has('locale')) {
49523
49769
  try {
49524
49770
  const supported = Intl.DateTimeFormat.supportedLocalesOf([this.locale], { localeMatcher: 'lookup' });
49525
- this._validLocale = supported.length > 0 ? this.locale : 'en-US';
49771
+ if (supported.length > 0) {
49772
+ this._validLocale = this.locale;
49773
+ } else {
49774
+ this._validLocale = 'en-US';
49775
+ this._warnInvalidLocale(this.locale);
49776
+ }
49526
49777
  } catch {
49527
- console.debug(`[AuroDatePicker] The locale "${this.locale}" is not valid. Falling back to "en-US".`); // eslint-disable-line no-console
49528
49778
  this._validLocale = 'en-US';
49779
+ this._warnInvalidLocale(this.locale);
49529
49780
  }
49530
49781
 
49531
49782
  const previousLocaleFormat = getDateFormatFromLocale$1(changedProperties.get('locale'));
@@ -49607,8 +49858,6 @@ class AuroDatePicker extends AuroElement$5 {
49607
49858
  // Skip centralDate update when user clicked a cell in range mode
49608
49859
  // to prevent the displayed months from shifting
49609
49860
  this.centralDate = this.value;
49610
- //TODO: TEST THIS CHANGE
49611
- // this.calendarRenderUtil.updateCentralDate(this, this.value);
49612
49861
  }
49613
49862
 
49614
49863
  this.setHasValue();
@@ -49668,8 +49917,6 @@ class AuroDatePicker extends AuroElement$5 {
49668
49917
  // Skip centralDate update when user clicked a cell in range mode
49669
49918
  // to prevent the displayed months from shifting
49670
49919
  this.centralDate = this.valueEnd;
49671
- // TODO: TEST THIS CHANGE
49672
- // this.calendarRenderUtil.updateCentralDate(this, this.formattedValueEnd);
49673
49920
  }
49674
49921
 
49675
49922
  this.validate();
@@ -49811,7 +50058,7 @@ class AuroDatePicker extends AuroElement$5 {
49811
50058
  * @returns {void}
49812
50059
  */
49813
50060
  configureClickHandler() {
49814
- this.addEventListener('click', this.handleClick);
50061
+ this.addEventListener('click', this.handleClick, { signal: this._listenerAbortController.signal });
49815
50062
  }
49816
50063
 
49817
50064
  firstUpdated() {
@@ -49833,6 +50080,17 @@ class AuroDatePicker extends AuroElement$5 {
49833
50080
  this.locale = this.domHandler.getLocale(this);
49834
50081
  }
49835
50082
 
50083
+ disconnectedCallback() {
50084
+ super.disconnectedCallback();
50085
+ // Defer so that re-parenting (auro-drawer slotting it into a dialog,
50086
+ // for example) does not abort listeners we still need after reconnect.
50087
+ queueMicrotask(() => {
50088
+ if (!this.isConnected) {
50089
+ this._listenerAbortController.abort();
50090
+ }
50091
+ });
50092
+ }
50093
+
49836
50094
  // layout render methods
49837
50095
  // ------------------------------------
49838
50096
 
@@ -51328,7 +51586,7 @@ let AuroHelpText$1$2 = class AuroHelpText extends i$3 {
51328
51586
  }
51329
51587
  };
51330
51588
 
51331
- var formkitVersion$1$2 = '202606232113';
51589
+ var formkitVersion$1$2 = '202606251933';
51332
51590
 
51333
51591
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
51334
51592
  // See LICENSE in the project root for license information.
@@ -55656,7 +55914,7 @@ let AuroHelpText$6 = class AuroHelpText extends i$3 {
55656
55914
  }
55657
55915
  };
55658
55916
 
55659
- var formkitVersion$6 = '202606232113';
55917
+ var formkitVersion$6 = '202606251933';
55660
55918
 
55661
55919
  let AuroElement$1$2 = class AuroElement extends i$3 {
55662
55920
  static get properties() {
@@ -59596,7 +59854,7 @@ let AuroHelpText$5 = class AuroHelpText extends i$3 {
59596
59854
  }
59597
59855
  };
59598
59856
 
59599
- var formkitVersion$5 = '202606232113';
59857
+ var formkitVersion$5 = '202606251933';
59600
59858
 
59601
59859
  // Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
59602
59860
  // See LICENSE in the project root for license information.
@@ -61346,7 +61604,7 @@ let AuroHelpText$4 = class AuroHelpText extends i$3 {
61346
61604
  }
61347
61605
  };
61348
61606
 
61349
- var formkitVersion$4 = '202606232113';
61607
+ var formkitVersion$4 = '202606251933';
61350
61608
 
61351
61609
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
61352
61610
  // See LICENSE in the project root for license information.
@@ -66561,7 +66819,7 @@ let AuroHelpText$2 = class AuroHelpText extends i$3 {
66561
66819
  }
66562
66820
  };
66563
66821
 
66564
- var formkitVersion$2 = '202606232113';
66822
+ var formkitVersion$2 = '202606251933';
66565
66823
 
66566
66824
  let AuroElement$2$1 = class AuroElement extends i$3 {
66567
66825
  static get properties() {
@@ -79093,15 +79351,6 @@ class BaseInput extends AuroElement$1$1 {
79093
79351
  this.wrapperElement.addEventListener('click', this.handleClick);
79094
79352
  }
79095
79353
 
79096
- // add attribute for query selectors when auro-input is registered under a custom name
79097
- // COVERAGE: the body of this branch is unreachable in WTR — connectedCallback
79098
- // performs the same `setAttribute('auro-input', '')` earlier (see L665-667),
79099
- // so by the time firstUpdated runs the attribute is already present and the
79100
- // `!hasAttribute('auro-input')` guard is false. Retained as a defensive
79101
- // safety net in case connectedCallback is ever short-circuited.
79102
- if (this.tagName.toLowerCase() !== 'auro-input' && !this.hasAttribute('auro-input')) {
79103
- this.setAttribute('auro-input', '');
79104
- }
79105
79354
  this.inputId = this.id ? `${this.id}-input` : window.crypto.randomUUID();
79106
79355
 
79107
79356
  // use validity message override if declared when initializing the component
@@ -79672,13 +79921,7 @@ class BaseInput extends AuroElement$1$1 {
79672
79921
  */
79673
79922
  get placeholderStr() {
79674
79923
  if (!this.placeholder && this.type === 'date') {
79675
- // COVERAGE: the `'MM/DD/YYYY'` literal fallback is unreachable in WTR.
79676
- // connectedCallback (L682) calls configureDataForType, which at L1266-1268
79677
- // assigns `this.format = this.util.getDateMaskFromLocale().toLowerCase()`
79678
- // when type=date and format is unset. That runs before the first render
79679
- // reads this getter, so the ternary's truthy arm always wins. Retained
79680
- // as a defensive fallback for direct getter calls before connection.
79681
- return this.format ? this.format.toUpperCase() : 'MM/DD/YYYY';
79924
+ return this.format.toUpperCase();
79682
79925
  }
79683
79926
  return this.placeholder || "";
79684
79927
  }
@@ -80169,7 +80412,7 @@ let AuroHelpText$1$1 = class AuroHelpText extends i$3 {
80169
80412
  }
80170
80413
  };
80171
80414
 
80172
- var formkitVersion$1$1 = '202606232113';
80415
+ var formkitVersion$1$1 = '202606251933';
80173
80416
 
80174
80417
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
80175
80418
  // See LICENSE in the project root for license information.
@@ -81290,7 +81533,7 @@ let AuroBibtemplate$1 = class AuroBibtemplate extends i$3 {
81290
81533
  }
81291
81534
  };
81292
81535
 
81293
- var formkitVersion$3 = '202606232113';
81536
+ var formkitVersion$3 = '202606251933';
81294
81537
 
81295
81538
  var styleCss$1$3 = i$6`.util_displayInline{display:inline}.util_displayInlineBlock{display:inline-block}.util_displayBlock{display:block}.util_displayFlex{display:flex}.util_displayHidden{display:none}.util_displayHiddenVisually{position:absolute;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);width:1px;height:1px;padding:0;border:0}:host{display:block;text-align:left}:host [auro-dropdown]{--ds-auro-dropdown-trigger-background-color: transparent}:host #inputInBib::part(wrapper){box-shadow:none}:host #inputInBib::part(accent-left){display:none}:host([layout*=classic]) [auro-input]{width:100%}:host([layout*=classic]) [auro-input]::part(helpText){display:none}:host([layout*=classic]) #slotHolder{display:none}`;
81296
81539
 
@@ -90081,7 +90324,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$3 {
90081
90324
  }
90082
90325
  };
90083
90326
 
90084
- var formkitVersion$1 = '202606232113';
90327
+ var formkitVersion$1 = '202606251933';
90085
90328
 
90086
90329
  class AuroElement extends i$3 {
90087
90330
  static get properties() {
@@ -92102,7 +92345,7 @@ class AuroHelpText extends i$3 {
92102
92345
  }
92103
92346
  }
92104
92347
 
92105
- var formkitVersion = '202606232113';
92348
+ var formkitVersion = '202606251933';
92106
92349
 
92107
92350
  var styleCss = i$6`.util_displayInline{display:inline}.util_displayInlineBlock{display:inline-block}.util_displayBlock{display:block}.util_displayFlex{display:flex}.util_displayHidden{display:none}.util_displayHiddenVisually{position:absolute;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);width:1px;height:1px;padding:0;border:0}.body-default{font-size:var(--wcss-body-default-font-size, 1rem);font-weight:var(--wcss-body-default-weight, );line-height:var(--wcss-body-default-line-height, 1.5rem)}.body-default,.body-default-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-default-emphasized{font-size:var(--wcss-body-default-emphasized-font-size, 1rem);font-weight:var(--wcss-body-default-emphasized-weight, );line-height:var(--wcss-body-default-emphasized-line-height, 1.5rem)}.body-lg{font-size:var(--wcss-body-lg-font-size, 1.125rem);font-weight:var(--wcss-body-lg-weight, );line-height:var(--wcss-body-lg-line-height, 1.625rem)}.body-lg,.body-lg-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-lg-emphasized{font-size:var(--wcss-body-lg-emphasized-font-size, 1.125rem);font-weight:var(--wcss-body-lg-emphasized-weight, );line-height:var(--wcss-body-lg-emphasized-line-height, 1.625rem)}.body-sm{font-size:var(--wcss-body-sm-font-size, 0.875rem);font-weight:var(--wcss-body-sm-weight, );line-height:var(--wcss-body-sm-line-height, 1.25rem)}.body-sm,.body-sm-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-sm-emphasized{font-size:var(--wcss-body-sm-emphasized-font-size, 0.875rem);font-weight:var(--wcss-body-sm-emphasized-weight, );line-height:var(--wcss-body-sm-emphasized-line-height, 1.25rem)}.body-xs{font-size:var(--wcss-body-xs-font-size, 0.75rem);font-weight:var(--wcss-body-xs-weight, );line-height:var(--wcss-body-xs-line-height, 1rem)}.body-xs,.body-xs-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-xs-emphasized{font-size:var(--wcss-body-xs-emphasized-font-size, 0.75rem);font-weight:var(--wcss-body-xs-emphasized-weight, );line-height:var(--wcss-body-xs-emphasized-line-height, 1rem)}.body-2xs{font-size:var(--wcss-body-2xs-font-size, 0.625rem);font-weight:var(--wcss-body-2xs-weight, );line-height:var(--wcss-body-2xs-line-height, 0.875rem)}.body-2xs,.body-2xs-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-2xs-emphasized{font-size:var(--wcss-body-2xs-emphasized-font-size, 0.625rem);font-weight:var(--wcss-body-2xs-emphasized-weight, );line-height:var(--wcss-body-2xs-emphasized-line-height, 0.875rem)}.display-2xl{font-family:var(--wcss-display-2xl-family, "AS Circular"),var(--wcss-display-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-2xl-font-size, clamp(3.5rem, 6vw, 5.375rem));font-weight:var(--wcss-display-2xl-weight, 300);letter-spacing:var(--wcss-display-2xl-letter-spacing, 0);line-height:var(--wcss-display-2xl-line-height, 1.3)}.display-xl{font-family:var(--wcss-display-xl-family, "AS Circular"),var(--wcss-display-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-xl-font-size, clamp(3rem, 5.3333333333vw, 4.5rem));font-weight:var(--wcss-display-xl-weight, 300);letter-spacing:var(--wcss-display-xl-letter-spacing, 0);line-height:var(--wcss-display-xl-line-height, 1.3)}.display-lg{font-family:var(--wcss-display-lg-family, "AS Circular"),var(--wcss-display-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-lg-font-size, clamp(2.75rem, 4.6666666667vw, 4rem));font-weight:var(--wcss-display-lg-weight, 300);letter-spacing:var(--wcss-display-lg-letter-spacing, 0);line-height:var(--wcss-display-lg-line-height, 1.3)}.display-md{font-family:var(--wcss-display-md-family, "AS Circular"),var(--wcss-display-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-md-font-size, clamp(2.5rem, 4vw, 3.5rem));font-weight:var(--wcss-display-md-weight, 300);letter-spacing:var(--wcss-display-md-letter-spacing, 0);line-height:var(--wcss-display-md-line-height, 1.3)}.display-sm{font-family:var(--wcss-display-sm-family, "AS Circular"),var(--wcss-display-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-sm-font-size, clamp(2rem, 3.6666666667vw, 3rem));font-weight:var(--wcss-display-sm-weight, 300);letter-spacing:var(--wcss-display-sm-letter-spacing, 0);line-height:var(--wcss-display-sm-line-height, 1.3)}.display-xs{font-family:var(--wcss-display-xs-family, "AS Circular"),var(--wcss-display-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-xs-font-size, clamp(1.75rem, 3vw, 2.375rem));font-weight:var(--wcss-display-xs-weight, 300);letter-spacing:var(--wcss-display-xs-letter-spacing, 0);line-height:var(--wcss-display-xs-line-height, 1.3)}.heading-xl{font-family:var(--wcss-heading-xl-family, "AS Circular"),var(--wcss-heading-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-xl-font-size, clamp(2rem, 3vw, 2.5rem));font-weight:var(--wcss-heading-xl-weight, 300);letter-spacing:var(--wcss-heading-xl-letter-spacing, 0);line-height:var(--wcss-heading-xl-line-height, 1.3)}.heading-lg{font-family:var(--wcss-heading-lg-family, "AS Circular"),var(--wcss-heading-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-lg-font-size, clamp(1.75rem, 2.6666666667vw, 2.25rem));font-weight:var(--wcss-heading-lg-weight, 300);letter-spacing:var(--wcss-heading-lg-letter-spacing, 0);line-height:var(--wcss-heading-lg-line-height, 1.3)}.heading-md{font-family:var(--wcss-heading-md-family, "AS Circular"),var(--wcss-heading-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-md-font-size, clamp(1.625rem, 2.3333333333vw, 1.75rem));font-weight:var(--wcss-heading-md-weight, 300);letter-spacing:var(--wcss-heading-md-letter-spacing, 0);line-height:var(--wcss-heading-md-line-height, 1.3)}.heading-sm{font-family:var(--wcss-heading-sm-family, "AS Circular"),var(--wcss-heading-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-sm-font-size, clamp(1.375rem, 2vw, 1.5rem));font-weight:var(--wcss-heading-sm-weight, 300);letter-spacing:var(--wcss-heading-sm-letter-spacing, 0);line-height:var(--wcss-heading-sm-line-height, 1.3)}.heading-xs{font-family:var(--wcss-heading-xs-family, "AS Circular"),var(--wcss-heading-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-xs-font-size, clamp(1.25rem, 1.6666666667vw, 1.25rem));font-weight:var(--wcss-heading-xs-weight, 300);letter-spacing:var(--wcss-heading-xs-letter-spacing, 0);line-height:var(--wcss-heading-xs-line-height, 1.3)}.heading-2xs{font-family:var(--wcss-heading-2xs-family, "AS Circular"),var(--wcss-heading-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-2xs-font-size, clamp(1.125rem, 1.5vw, 1.125rem));font-weight:var(--wcss-heading-2xs-weight, 300);letter-spacing:var(--wcss-heading-2xs-letter-spacing, 0);line-height:var(--wcss-heading-2xs-line-height, 1.3)}.accent-2xl{font-family:var(--wcss-accent-2xl-family, "Good OT"),var(--wcss-accent-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-2xl-font-size, clamp(2rem, 3.1666666667vw, 2.375rem));font-weight:var(--wcss-accent-2xl-weight, 450);letter-spacing:var(--wcss-accent-2xl-letter-spacing, 0.05em);line-height:var(--wcss-accent-2xl-line-height, 1)}.accent-2xl,.accent-xl{text-transform:uppercase}.accent-xl{font-family:var(--wcss-accent-xl-family, "Good OT"),var(--wcss-accent-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-xl-font-size, clamp(1.625rem, 2.3333333333vw, 2rem));font-weight:var(--wcss-accent-xl-weight, 450);letter-spacing:var(--wcss-accent-xl-letter-spacing, 0.05em);line-height:var(--wcss-accent-xl-line-height, 1.3)}.accent-lg{font-family:var(--wcss-accent-lg-family, "Good OT"),var(--wcss-accent-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-lg-font-size, clamp(1.5rem, 2.1666666667vw, 1.75rem));font-weight:var(--wcss-accent-lg-weight, 450);letter-spacing:var(--wcss-accent-lg-letter-spacing, 0.05em);line-height:var(--wcss-accent-lg-line-height, 1.3)}.accent-lg,.accent-md{text-transform:uppercase}.accent-md{font-family:var(--wcss-accent-md-family, "Good OT"),var(--wcss-accent-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-md-font-size, clamp(1.375rem, 1.8333333333vw, 1.5rem));font-weight:var(--wcss-accent-md-weight, 500);letter-spacing:var(--wcss-accent-md-letter-spacing, 0.05em);line-height:var(--wcss-accent-md-line-height, 1.3)}.accent-sm{font-family:var(--wcss-accent-sm-family, "Good OT"),var(--wcss-accent-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-sm-font-size, clamp(1.125rem, 1.5vw, 1.25rem));font-weight:var(--wcss-accent-sm-weight, 500);letter-spacing:var(--wcss-accent-sm-letter-spacing, 0.05em);line-height:var(--wcss-accent-sm-line-height, 1.3)}.accent-sm,.accent-xs{text-transform:uppercase}.accent-xs{font-family:var(--wcss-accent-xs-family, "Good OT"),var(--wcss-accent-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-xs-font-size, clamp(1rem, 1.3333333333vw, 1rem));font-weight:var(--wcss-accent-xs-weight, 500);letter-spacing:var(--wcss-accent-xs-letter-spacing, 0.1em);line-height:var(--wcss-accent-xs-line-height, 1.3)}.accent-2xs{font-family:var(--wcss-accent-2xs-family, "Good OT"),var(--wcss-accent-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-2xs-font-size, clamp(0.875rem, 1.1666666667vw, 0.875rem));font-weight:var(--wcss-accent-2xs-weight, 450);letter-spacing:var(--wcss-accent-2xs-letter-spacing, 0.1em);line-height:var(--wcss-accent-2xs-line-height, 1.3);text-transform:uppercase}[auro-dropdown]{--ds-auro-dropdown-trigger-border-color: var(--ds-auro-select-border-color);--ds-auro-dropdown-trigger-background-color: var(--ds-auro-select-background-color);--ds-auro-dropdown-trigger-container-color: var(--ds-auro-select-background-color);--ds-auro-dropdown-trigger-outline-color: var(--ds-auro-select-outline-color)}:host{display:inline-block;text-align:left;vertical-align:top}:host([layout*=emphasized]) [auro-dropdown],:host([layout*=snowflake]) [auro-dropdown]{--ds-auro-select-border-color: transparent}:host([layout*=emphasized]) .mainContent,:host([layout*=snowflake]) .mainContent{text-align:center}.mainContent{position:relative;display:flex;overflow:hidden;flex:1;flex-direction:column;align-items:center;justify-content:center}.valueContainer [slot=displayValue]{display:none}.accents{display:flex;flex-direction:row;align-items:center;justify-content:center}::slotted([slot=typeIcon]){margin-right:var(--ds-size-100, 0.5rem)}.displayValue{display:block}.displayValue:not(.force){display:none}.displayValue:not(.force).hasContent:is(.withValue):not(.hasFocus){display:block}.triggerContent{display:flex;width:100%;align-items:center;justify-content:center}:host([layout*=emphasized]) .triggerContent{padding:0 var(--ds-size-100, 0.5rem) 0 var(--ds-size-300, 1.5rem)}:host([layout*=snowflake]) .triggerContent{padding:0 var(--ds-size-100, 0.5rem) 0 var(--ds-size-200, 1rem)}:host([layout*=snowflake]) label{padding-block:var(--ds-size-25, 0.125rem)}:host([layout*=classic]) .triggerContent{padding:0 var(--ds-size-100, 0.5rem)}:host([layout*=classic]) .mainContent{align-items:start}:host([layout*=classic]) label{overflow:hidden;cursor:text;text-overflow:ellipsis;white-space:nowrap}:host([layout*=classic]) .value{height:auto}label{color:var(--ds-auro-select-label-text-color)}:host(:is([validity]:not([validity=valid]))) [auro-dropdown]{--ds-auro-select-border-color: var(--ds-basic-color-status-error, #e31f26);--ds-auro-select-outline-color: var(--ds-basic-color-status-error, #e31f26);--ds-auro-dropdown-helptext-text-color: var(--ds-basic-color-texticon-default, #2a2a2a)}:host([ondark]:is([validity]:not([validity=valid]))) [auro-dropdown],:host([appearance=inverse]:is([validity]:not([validity=valid]))) [auro-dropdown]{--ds-auro-select-border-color: var(--ds-advanced-color-state-error-inverse, #f9a4a8);--ds-auro-select-outline-color: var(--ds-advanced-color-state-error-inverse, #f9a4a8);--ds-auro-dropdown-helptext-text-color: var(--ds-basic-color-texticon-inverse, #ffffff)}#slotHolder{display:none}:host([fluid]){width:100%}:host([disabled]){pointer-events:none;user-select:none}:host([disabled]:not([ondark])) [auro-dropdown],:host([disabled]:not([appearance=inverse])) [auro-dropdown]{--ds-auro-select-border-color: var(--ds-basic-color-border-subtle, #dddddd)}:host(:not([layout*=classic])[disabled][ondark]) [auro-dropdown],:host(:not([layout*=classic])[disabled][appearance=inverse]) [auro-dropdown]{--ds-auro-select-border-color: transparent}`;
92108
92351