@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
@@ -5135,7 +5135,7 @@ function normalizeDates$3(context, ...dates) {
5135
5135
  * const result = startOfDay(new Date(2014, 8, 2, 11, 55, 0))
5136
5136
  * //=> Tue Sep 02 2014 00:00:00
5137
5137
  */
5138
- function startOfDay$4(date, options) {
5138
+ function startOfDay$3(date, options) {
5139
5139
  const _date = toDate$3(date, options?.in);
5140
5140
  _date.setHours(0, 0, 0, 0);
5141
5141
  return _date;
@@ -5183,8 +5183,8 @@ function differenceInCalendarDays$3(laterDate, earlierDate, options) {
5183
5183
  earlierDate,
5184
5184
  );
5185
5185
 
5186
- const laterStartOfDay = startOfDay$4(laterDate_);
5187
- const earlierStartOfDay = startOfDay$4(earlierDate_);
5186
+ const laterStartOfDay = startOfDay$3(laterDate_);
5187
+ const earlierStartOfDay = startOfDay$3(earlierDate_);
5188
5188
 
5189
5189
  const laterTimestamp =
5190
5190
  +laterStartOfDay - getTimezoneOffsetInMilliseconds$3(laterStartOfDay);
@@ -11270,15 +11270,6 @@ let BaseInput$2 = class BaseInput extends AuroElement$6 {
11270
11270
  this.wrapperElement.addEventListener('click', this.handleClick);
11271
11271
  }
11272
11272
 
11273
- // add attribute for query selectors when auro-input is registered under a custom name
11274
- // COVERAGE: the body of this branch is unreachable in WTR — connectedCallback
11275
- // performs the same `setAttribute('auro-input', '')` earlier (see L665-667),
11276
- // so by the time firstUpdated runs the attribute is already present and the
11277
- // `!hasAttribute('auro-input')` guard is false. Retained as a defensive
11278
- // safety net in case connectedCallback is ever short-circuited.
11279
- if (this.tagName.toLowerCase() !== 'auro-input' && !this.hasAttribute('auro-input')) {
11280
- this.setAttribute('auro-input', '');
11281
- }
11282
11273
  this.inputId = this.id ? `${this.id}-input` : window.crypto.randomUUID();
11283
11274
 
11284
11275
  // use validity message override if declared when initializing the component
@@ -11849,13 +11840,7 @@ let BaseInput$2 = class BaseInput extends AuroElement$6 {
11849
11840
  */
11850
11841
  get placeholderStr() {
11851
11842
  if (!this.placeholder && this.type === 'date') {
11852
- // COVERAGE: the `'MM/DD/YYYY'` literal fallback is unreachable in WTR.
11853
- // connectedCallback (L682) calls configureDataForType, which at L1266-1268
11854
- // assigns `this.format = this.util.getDateMaskFromLocale().toLowerCase()`
11855
- // when type=date and format is unset. That runs before the first render
11856
- // reads this getter, so the ternary's truthy arm always wins. Retained
11857
- // as a defensive fallback for direct getter calls before connection.
11858
- return this.format ? this.format.toUpperCase() : 'MM/DD/YYYY';
11843
+ return this.format.toUpperCase();
11859
11844
  }
11860
11845
  return this.placeholder || "";
11861
11846
  }
@@ -12346,7 +12331,7 @@ let AuroHelpText$8 = class AuroHelpText extends i$2 {
12346
12331
  }
12347
12332
  };
12348
12333
 
12349
- var formkitVersion$8 = '202606232113';
12334
+ var formkitVersion$8 = '202606251933';
12350
12335
 
12351
12336
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
12352
12337
  // See LICENSE in the project root for license information.
@@ -14430,7 +14415,7 @@ function normalizeDates$1(context, ...dates) {
14430
14415
  * const result = startOfDay(new Date(2014, 8, 2, 11, 55, 0))
14431
14416
  * //=> Tue Sep 02 2014 00:00:00
14432
14417
  */
14433
- function startOfDay$2(date, options) {
14418
+ function startOfDay$1(date, options) {
14434
14419
  const _date = toDate$1(date, options?.in);
14435
14420
  _date.setHours(0, 0, 0, 0);
14436
14421
  return _date;
@@ -14478,8 +14463,8 @@ function differenceInCalendarDays$1(laterDate, earlierDate, options) {
14478
14463
  earlierDate,
14479
14464
  );
14480
14465
 
14481
- const laterStartOfDay = startOfDay$2(laterDate_);
14482
- const earlierStartOfDay = startOfDay$2(earlierDate_);
14466
+ const laterStartOfDay = startOfDay$1(laterDate_);
14467
+ const earlierStartOfDay = startOfDay$1(earlierDate_);
14483
14468
 
14484
14469
  const laterTimestamp =
14485
14470
  +laterStartOfDay - getTimezoneOffsetInMilliseconds$1(laterStartOfDay);
@@ -23936,8 +23921,8 @@ class RangeDatepickerCell extends i$2 {
23936
23921
  const parsedDateFrom = parseInt(dateFrom, 10);
23937
23922
  const parsedDateTo = parseInt(dateTo, 10);
23938
23923
  if (day) {
23939
- if (getTime(startOfDay$2(parsedDateTo * 1000)) / 1000 === day.date ||
23940
- getTime(startOfDay$2(parsedDateFrom * 1000)) / 1000 === day.date) {
23924
+ if (getTime(startOfDay$1(parsedDateTo * 1000)) / 1000 === day.date ||
23925
+ getTime(startOfDay$1(parsedDateFrom * 1000)) / 1000 === day.date) {
23941
23926
  this.selected = true;
23942
23927
  }
23943
23928
  if (((hoveredDate === day.date || day.date < hoveredDate) &&
@@ -24125,7 +24110,7 @@ class RangeDatepickerCalendar extends i$2 {
24125
24110
  this.dayNamesOfTheWeek = [];
24126
24111
  this.daysOfMonth = [];
24127
24112
  this._locale = null;
24128
- this.currentDate = parseInt(format$1(startOfDay$2(Date.now()), 't'), 10);
24113
+ this.currentDate = parseInt(format$1(startOfDay$1(Date.now()), 't'), 10);
24129
24114
  this.localeChanged();
24130
24115
  this.yearAndMonthChanged(this.year, this.month);
24131
24116
  }
@@ -24599,7 +24584,7 @@ __decorate([n$4({ type: Array })], RangeDatepickerCalendar.prototype, "dayNamesO
24599
24584
  __decorate([n$4({ type: Array })], RangeDatepickerCalendar.prototype, "daysOfMonth", void 0);
24600
24585
  AuroLibraryRuntimeUtils$5$1.prototype.registerComponent('wc-range-datepicker-calendar', RangeDatepickerCalendar);
24601
24586
 
24602
- var styleCss$5$2 = i$4`.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}`;
24587
+ var styleCss$5$2 = i$4`.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}`;
24603
24588
 
24604
24589
  var colorCss$5$2 = i$4`: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}`;
24605
24590
 
@@ -24626,12 +24611,6 @@ var popoverVersion = '6.0.1';
24626
24611
 
24627
24612
  /* 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 */
24628
24613
 
24629
- const startOfDay$1 = (ms) => {
24630
- const date = new Date(ms);
24631
- date.setHours(0, 0, 0, 0);
24632
- return date.getTime();
24633
- };
24634
-
24635
24614
  class AuroCalendarCell extends i$2 {
24636
24615
  constructor() {
24637
24616
  super();
@@ -24678,6 +24657,14 @@ class AuroCalendarCell extends i$2 {
24678
24657
  type: Boolean,
24679
24658
  reflect: true
24680
24659
  },
24660
+ /**
24661
+ * @deprecated Propagated from the legacy `auro-calendar.disabledDays`
24662
+ * Unix-timestamp array. The cell honors it for backward compatibility
24663
+ * (see the divergence-check fallback inside `isBlackout`), but
24664
+ * consumers should migrate to `auro-datepicker.blackoutDates`
24665
+ * (YYYY-MM-DD ISO strings). The calendar emits a one-time
24666
+ * deprecation warning the first time a non-empty value is observed.
24667
+ */
24681
24668
  disabledDays: { type: Array },
24682
24669
  isCurrentDate: { type: Boolean },
24683
24670
  locale: { type: String },
@@ -24723,8 +24710,8 @@ class AuroCalendarCell extends i$2 {
24723
24710
  const parsedDateTo = parseInt(dateTo, 10);
24724
24711
 
24725
24712
  if (day) {
24726
- const departTimestamp = startOfDay$1(parsedDateFrom * 1000) / 1000;
24727
- const returnTimestamp = startOfDay$1(parsedDateTo * 1000) / 1000;
24713
+ const departTimestamp = new Date(parsedDateFrom * 1000).setHours(0, 0, 0, 0) / 1000;
24714
+ const returnTimestamp = new Date(parsedDateTo * 1000).setHours(0, 0, 0, 0) / 1000;
24728
24715
 
24729
24716
  if (day.date === departTimestamp || day.date === returnTimestamp) {
24730
24717
  this.selected = true;
@@ -24808,22 +24795,42 @@ class AuroCalendarCell extends i$2 {
24808
24795
  return false;
24809
24796
  }
24810
24797
 
24811
- // Check against disabledDays timestamps (legacy path)
24798
+ // Delegate to the calendar's memoized blackout Set for O(1) lookup
24799
+ // (instead of rescanning disabledDays + blackoutDates per render). The
24800
+ // Set is rebuilt only when either source array reference changes — see
24801
+ // auro-calendar.js#_getBlackoutSet.
24802
+ if (this.calendar && typeof this.calendar._getBlackoutSet === 'function') {
24803
+ if (this.calendar._getBlackoutSet().has(this.day.date)) {
24804
+ return true;
24805
+ }
24806
+ // If the cell's local disabledDays diverged from the calendar's (a
24807
+ // consumer or test mutated cell.disabledDays directly), the Set does
24808
+ // not reflect that addition — fall through to the per-cell scan only
24809
+ // when the reference no longer matches. Production data flow keeps
24810
+ // these identical, so this branch stays cold.
24811
+ if (this.disabledDays && this.disabledDays !== this.calendar.disabledDays && this.disabledDays.length > 0) {
24812
+ if (this.disabledDays.findIndex((dd) => parseInt(dd, 10) === this.day.date) !== -1) {
24813
+ return true;
24814
+ }
24815
+ }
24816
+ return false;
24817
+ }
24818
+
24819
+ // Pre-firstUpdated fallback — the cell may render once before the
24820
+ // ancestor calendar is wired up. Uses the legacy O(N) scan so the
24821
+ // result stays correct, just slower for the very first render.
24812
24822
  if (Array.isArray(this.disabledDays) && this.disabledDays.length > 0 &&
24813
24823
  (this.disabledDays.findIndex(dd => parseInt(dd, 10) === this.day.date) !== -1)) {
24814
24824
  return true;
24815
24825
  }
24816
24826
 
24817
- // Check against blackoutDates (ISO format YYYY-MM-DD) on the datepicker
24818
24827
  const blackoutDates = this.datepicker?.blackoutDates;
24819
-
24820
24828
  if (Array.isArray(blackoutDates) && blackoutDates.length > 0) {
24821
24829
  const date = new Date(this.day.date * 1000);
24822
24830
  const yyyy = date.getFullYear();
24823
24831
  const mm = String(date.getMonth() + 1).padStart(2, '0');
24824
24832
  const dd = String(date.getDate()).padStart(2, '0');
24825
- const cellDate = `${yyyy}-${mm}-${dd}`;
24826
- if (blackoutDates.includes(cellDate)) {
24833
+ if (blackoutDates.includes(`${yyyy}-${mm}-${dd}`)) {
24827
24834
  return true;
24828
24835
  }
24829
24836
  }
@@ -24934,12 +24941,12 @@ class AuroCalendarCell extends i$2 {
24934
24941
  const parsedDateFrom = Number.parseInt(this.dateFrom, 10);
24935
24942
  if (!Number.isFinite(parsedDateFrom)) return null;
24936
24943
 
24937
- const departTimestamp = startOfDay$1(parsedDateFrom * 1000) / 1000;
24944
+ const departTimestamp = new Date(parsedDateFrom * 1000).setHours(0, 0, 0, 0) / 1000;
24938
24945
  const dayDate = this.day.date;
24939
24946
 
24940
24947
  const parsedDateTo = Number.parseInt(this.dateTo, 10);
24941
24948
  const hasDateTo = Number.isFinite(parsedDateTo);
24942
- const returnTimestamp = hasDateTo ? startOfDay$1(parsedDateTo * 1000) / 1000 : null;
24949
+ const returnTimestamp = hasDateTo ? new Date(parsedDateTo * 1000).setHours(0, 0, 0, 0) / 1000 : null;
24943
24950
 
24944
24951
  if (dayDate === departTimestamp) return this.datepicker.rangeLabelStart || 'range start';
24945
24952
 
@@ -24949,7 +24956,9 @@ class AuroCalendarCell extends i$2 {
24949
24956
 
24950
24957
  if (hasDateTo && dayDate > departTimestamp && dayDate < returnTimestamp) return this.datepicker.rangeLabelInRange || 'in range';
24951
24958
 
24952
- // After start date, no end date yet, or after end date
24959
+ if (!hasDateTo && dayDate > departTimestamp) return this.datepicker.rangeLabelEndPreview || 'previewing range end';
24960
+
24961
+ // After end date when both dateFrom and dateTo are set.
24953
24962
  return this.datepicker.rangeLabelAfterRange || 'after range';
24954
24963
  }
24955
24964
 
@@ -24962,7 +24971,7 @@ class AuroCalendarCell extends i$2 {
24962
24971
  */
24963
24972
  isDepartDate(day, dateFrom) {
24964
24973
  const parsedDateFrom = parseInt(dateFrom, 10);
24965
- const departTimestamp = startOfDay$1(parsedDateFrom * 1000) / 1000;
24974
+ const departTimestamp = new Date(parsedDateFrom * 1000).setHours(0, 0, 0, 0) / 1000;
24966
24975
 
24967
24976
  return this.selected && day.date === departTimestamp;
24968
24977
  }
@@ -24977,7 +24986,7 @@ class AuroCalendarCell extends i$2 {
24977
24986
  */
24978
24987
  isReturnDate(day, dateFrom, dateTo) {
24979
24988
  const parsedDateTo = parseInt(dateTo, 10);
24980
- const returnTimestamp = startOfDay$1(parsedDateTo * 1000) / 1000;
24989
+ const returnTimestamp = new Date(parsedDateTo * 1000).setHours(0, 0, 0, 0) / 1000;
24981
24990
 
24982
24991
  return this.selected && day.date === returnTimestamp && dateFrom;
24983
24992
  }
@@ -25141,6 +25150,7 @@ class AuroCalendarCell extends i$2 {
25141
25150
  setTimeout(() => this.firstUpdated(), 0);
25142
25151
  return;
25143
25152
  }
25153
+ this.calendar = calendar;
25144
25154
  this.datepicker = calendar.datepicker;
25145
25155
  this._slotContentHandler = () => {
25146
25156
  this.handleSlotContent();
@@ -25198,12 +25208,13 @@ class AuroCalendarCell extends i$2 {
25198
25208
  this._cachedButton = this.shadowRoot.querySelector('button.day');
25199
25209
  });
25200
25210
 
25201
- // Update host-level aria attributes for ariaActiveDescendantElement.
25211
+ // Keep the host's gridcell aria attributes in sync with the day data.
25202
25212
  this.updateHostAria();
25203
25213
  }
25204
25214
 
25205
25215
  // Update host aria when selection changes (aria-selected, range labels)
25206
- if (properties.has('dateFrom') || properties.has('dateTo') || properties.has('selected')) {
25216
+ // or when isCurrentDate flips (aria-current).
25217
+ if (properties.has('dateFrom') || properties.has('dateTo') || properties.has('selected') || properties.has('isCurrentDate')) {
25207
25218
  this.updateHostAria();
25208
25219
  }
25209
25220
 
@@ -25214,8 +25225,8 @@ class AuroCalendarCell extends i$2 {
25214
25225
  }
25215
25226
 
25216
25227
  /**
25217
- * Updates ARIA attributes on the host element so that
25218
- * ariaActiveDescendantElement can expose cell info to the SR.
25228
+ * Sets host-level ARIA so each cell exposes its date, selection state,
25229
+ * and blackout status to assistive tech browsing the month grid.
25219
25230
  * @private
25220
25231
  * @returns {void}
25221
25232
  */
@@ -25226,14 +25237,20 @@ class AuroCalendarCell extends i$2 {
25226
25237
  if (outOfRange) {
25227
25238
  this.removeAttribute('role');
25228
25239
  this.removeAttribute('aria-label');
25240
+ this.removeAttribute('aria-current');
25229
25241
  return;
25230
25242
  }
25231
25243
 
25232
- // The host acts as the gridcell for ariaActiveDescendantElement.
25233
25244
  this.setAttribute('role', 'gridcell');
25234
25245
  this.setAttribute('aria-label', this.getAriaLabel());
25235
25246
  this.setAttribute('aria-selected', this.selected ? 'true' : 'false');
25236
25247
 
25248
+ if (this.isCurrentDate) {
25249
+ this.setAttribute('aria-current', 'date');
25250
+ } else {
25251
+ this.removeAttribute('aria-current');
25252
+ }
25253
+
25237
25254
  if (this.isBlackout()) {
25238
25255
  this.setAttribute('aria-disabled', 'true');
25239
25256
  } else {
@@ -25248,7 +25265,7 @@ class AuroCalendarCell extends i$2 {
25248
25265
  * @returns {void}
25249
25266
  */
25250
25267
  focusButton() {
25251
- const button = this._cachedButton || this.shadowRoot.querySelector('button:not([aria-hidden])');
25268
+ const button = this._cachedButton || this.shadowRoot.querySelector('button:not([disabled])');
25252
25269
  if (button) {
25253
25270
  button.focus({ focusVisible: true });
25254
25271
  }
@@ -25256,7 +25273,9 @@ class AuroCalendarCell extends i$2 {
25256
25273
 
25257
25274
  /**
25258
25275
  * Imperatively marks this cell as active without triggering a Lit re-render.
25259
- * Note: buttons stay tabindex="-1" because the grid uses aria-activedescendant.
25276
+ * Buttons stay tabindex="-1" because DOM focus stays on the grid wrapper
25277
+ * arrow keys move the active cell imperatively and the live region carries
25278
+ * the SR announcement.
25260
25279
  * @returns {void}
25261
25280
  */
25262
25281
  setActive() {
@@ -25298,10 +25317,13 @@ class AuroCalendarCell extends i$2 {
25298
25317
  if (!btn || !this.day) return;
25299
25318
 
25300
25319
  const dayDate = this.day.date;
25301
- const departTimestamp = startOfDay$1(dateFrom * 1000) / 1000;
25320
+ const departTimestamp = new Date(dateFrom * 1000).setHours(0, 0, 0, 0) / 1000;
25302
25321
  const isInRange = dayDate > departTimestamp && dayDate < hoveredDate;
25303
- const isLastHovered = dayDate === hoveredDate && hoveredDate > departTimestamp;
25304
- const isDepartWithPreview = dayDate === departTimestamp && hoveredDate > departTimestamp;
25322
+ // `>=` so hovering the depart cell itself (a same-day round-trip
25323
+ // preview) still surfaces a visual cue: the depart cell receives both
25324
+ // rangeDepartDate and lastHoveredDate.
25325
+ const isLastHovered = dayDate === hoveredDate && hoveredDate >= departTimestamp;
25326
+ const isDepartWithPreview = dayDate === departTimestamp && hoveredDate >= departTimestamp;
25305
25327
 
25306
25328
  btn.classList.toggle('inRange', isInRange);
25307
25329
  btn.classList.toggle('lastHoveredDate', isLastHovered);
@@ -25359,7 +25381,6 @@ class AuroCalendarCell extends i$2 {
25359
25381
  @focus="${outOfRange ? undefined : this.handleFocus}"
25360
25382
  class="${e$2(buttonClasses)}"
25361
25383
  ?disabled="${outOfRange}"
25362
- aria-hidden="${outOfRange ? 'true' : A$7}"
25363
25384
  tabindex="-1">
25364
25385
  <div class="buttonWrapper" aria-hidden="true">
25365
25386
  <div class="currentDayMarker">${this.day?.title || A$7}</div>
@@ -26465,7 +26486,7 @@ let AuroBibtemplate$3 = class AuroBibtemplate extends i$2 {
26465
26486
  }
26466
26487
  };
26467
26488
 
26468
- var formkitVersion$2$1 = '202606232113';
26489
+ var formkitVersion$2$1 = '202606251933';
26469
26490
 
26470
26491
  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$5`${s$5(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$4`: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}
26471
26492
  `,u$4$2=i$4`.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}}
@@ -26588,7 +26609,11 @@ class AuroCalendar extends RangeDatepicker {
26588
26609
  this.calendarRangeMonths = null;
26589
26610
 
26590
26611
  /**
26591
- * Legacy array of disabled-date timestamps.
26612
+ * @deprecated Use `auro-datepicker.blackoutDates` (an array of
26613
+ * `YYYY-MM-DD` ISO strings) instead. This legacy array of Unix
26614
+ * timestamps is still honored for backward compatibility but emits a
26615
+ * one-time `console.debug` the first time a non-empty value is observed.
26616
+ * Support will be removed in a future major release.
26592
26617
  * @private
26593
26618
  */
26594
26619
  this.disabledDays = [];
@@ -26845,17 +26870,44 @@ class AuroCalendar extends RangeDatepicker {
26845
26870
  * @returns {void}
26846
26871
  */
26847
26872
  updateActiveCellForVisibleMonth() {
26848
- // Use double-rAF to ensure child month/cell components have fully
26849
- // rendered and cached their button references before we set tabindex.
26850
- requestAnimationFrame(() => {
26851
- requestAnimationFrame(() => {
26852
- const newDate = this.computeActiveDate({ skipDateFrom: true });
26873
+ this._afterMonthRender(() => {
26874
+ const newDate = this.computeActiveDate({ skipDateFrom: true });
26853
26875
 
26854
- if (newDate !== null && newDate !== undefined) {
26855
- this.activeCellDate = newDate;
26856
- this.setActiveCell(this.activeCellDate);
26857
- }
26858
- });
26876
+ if (newDate !== null && newDate !== undefined) {
26877
+ this.activeCellDate = newDate;
26878
+ this.setActiveCell(this.activeCellDate);
26879
+ }
26880
+ });
26881
+ }
26882
+
26883
+ /**
26884
+ * Schedules `callback` two animation frames out, giving the child
26885
+ * `auro-formkit-calendar-month` and `auro-formkit-calendar-cell` elements
26886
+ * a full render-and-paint cycle to settle before the callback reads or
26887
+ * mutates DOM.
26888
+ *
26889
+ * Why two frames, not one:
26890
+ * 1. Lit batches property updates and renders in a microtask, so frame N
26891
+ * schedules the render but the new DOM may not be painted yet.
26892
+ * 2. Cells re-cache `_cachedButton` inside their own `updateComplete.then`,
26893
+ * which also lands a tick later. Reading buttons from frame N+1
26894
+ * (after both renders + cache refresh have flushed) reliably hits the
26895
+ * new month's cells.
26896
+ *
26897
+ * Used by every code path that calls `handleNextMonth`/`handlePrevMonth`
26898
+ * and then needs to inspect the freshly-rendered cells (cross-month
26899
+ * keyboard nav, boundary events, `updateActiveCellForVisibleMonth`).
26900
+ * Do NOT collapse to a single rAF — it intermittently lands before
26901
+ * `_cachedButton` is refreshed, which silently breaks focus restoration
26902
+ * and `setActiveCell` lookups.
26903
+ * @private
26904
+ * @param {() => void} callback - Runs once after the month re-render and
26905
+ * the cells' button caches have refreshed.
26906
+ * @returns {void}
26907
+ */
26908
+ _afterMonthRender(callback) {
26909
+ requestAnimationFrame(() => {
26910
+ requestAnimationFrame(callback);
26859
26911
  });
26860
26912
  }
26861
26913
 
@@ -26973,6 +27025,47 @@ class AuroCalendar extends RangeDatepicker {
26973
27025
  return Array.from(this.shadowRoot.querySelectorAll('auro-formkit-calendar-month'));
26974
27026
  }
26975
27027
 
27028
+ /**
27029
+ * Picks the focusable cell whose date is closest to targetTs. Used as a
27030
+ * fallback after a month-boundary nav when the exact target date isn't
27031
+ * focusable — typically because the month re-render lagged or the date
27032
+ * was filtered out by isOutOfRange. When two cells are equidistant, the
27033
+ * navigation direction breaks the tie so the user moves the way they
27034
+ * pressed (forward → later cell, backward → earlier cell).
27035
+ * @private
27036
+ * @param {Array} cells - Focusable cells from getAllFocusableCells.
27037
+ * @param {Number} targetTs - Desired Unix timestamp (seconds).
27038
+ * @param {'next'|'prev'} direction - Navigation direction.
27039
+ * @returns {Object|null} The nearest cell, or null when cells is empty.
27040
+ */
27041
+ pickNearestCell(cells, targetTs, direction) {
27042
+ if (!cells.length) {
27043
+ return null;
27044
+ }
27045
+ const forward = direction === 'next';
27046
+ let best = null;
27047
+ let bestDelta = Infinity;
27048
+ cells.forEach((cell) => {
27049
+ if (!cell.day) {
27050
+ return;
27051
+ }
27052
+ const distance = Math.abs(cell.day.date - targetTs);
27053
+ if (distance < bestDelta) {
27054
+ best = cell;
27055
+ bestDelta = distance;
27056
+ return;
27057
+ }
27058
+ if (distance === bestDelta && best) {
27059
+ if (forward && cell.day.date > best.day.date) {
27060
+ best = cell;
27061
+ } else if (!forward && cell.day.date < best.day.date) {
27062
+ best = cell;
27063
+ }
27064
+ }
27065
+ });
27066
+ return best;
27067
+ }
27068
+
26976
27069
  /**
26977
27070
  * Gets all focusable cells across all rendered months.
26978
27071
  * @private
@@ -26989,9 +27082,9 @@ class AuroCalendar extends RangeDatepicker {
26989
27082
 
26990
27083
  /**
26991
27084
  * Sets the active cell across all months. Only one cell has tabindex="0" at a time.
26992
- * Uses imperative DOM manipulation — no Lit re-render triggered.
26993
- * Also updates ariaActiveDescendantElement on the grid wrapper so
26994
- * screen readers announce the active cell without moving DOM focus.
27085
+ * Uses imperative DOM manipulation — no Lit re-render triggered. DOM focus
27086
+ * stays on the grid wrapper; the live region (see getOrCreateLiveRegion)
27087
+ * is what announces the active cell to assistive tech.
26995
27088
  * @param {Number} date - Unix timestamp of the cell to activate.
26996
27089
  * @returns {void}
26997
27090
  */
@@ -27072,6 +27165,72 @@ class AuroCalendar extends RangeDatepicker {
27072
27165
  this.clearRangePreview();
27073
27166
  }
27074
27167
 
27168
+ /**
27169
+ * Returns a memoized Set of blackout timestamps (seconds) drawn from both
27170
+ * the legacy `disabledDays` array and the datepicker's ISO `blackoutDates`.
27171
+ * The cache invalidates when either source array's reference changes, which
27172
+ * matches Lit's own reactive identity semantics for array properties.
27173
+ * @private
27174
+ * @returns {Set<Number>}
27175
+ */
27176
+ _getBlackoutSet() {
27177
+ const disabledDays = this.disabledDays || [];
27178
+ const blackoutDates = this.datepicker?.blackoutDates;
27179
+ if (this._blackoutSet
27180
+ && this._cachedBlackoutDisabledDays === disabledDays
27181
+ && this._cachedBlackoutDates === blackoutDates) {
27182
+ return this._blackoutSet;
27183
+ }
27184
+
27185
+ if (disabledDays.length > 0) {
27186
+ this._warnDisabledDaysDeprecated();
27187
+ }
27188
+
27189
+ const set = new Set(disabledDays.map((day) => parseInt(day, 10)));
27190
+
27191
+ // Parse YYYY-MM-DD as local date to avoid UTC shift issues.
27192
+ if (Array.isArray(blackoutDates)) {
27193
+ for (const isoStr of blackoutDates) {
27194
+ const parts = isoStr.split('-');
27195
+ const ts = Math.floor(new Date(parseInt(parts[0], 10), parseInt(parts[1], 10) - 1, parseInt(parts[2], 10)).getTime() / 1000);
27196
+ if (Number.isFinite(ts)) {
27197
+ set.add(ts);
27198
+ }
27199
+ }
27200
+ }
27201
+
27202
+ this._blackoutSet = set;
27203
+ this._cachedBlackoutDisabledDays = disabledDays;
27204
+ this._cachedBlackoutDates = blackoutDates;
27205
+ return set;
27206
+ }
27207
+
27208
+ /**
27209
+ * Per-class flag that gates the `disabledDays` deprecation warning so it
27210
+ * fires exactly once per page no matter how many calendars or rebuild
27211
+ * cycles encounter the legacy array.
27212
+ * @private
27213
+ */
27214
+ static _warnedDisabledDaysDeprecation = false;
27215
+
27216
+ /**
27217
+ * One-time `console.debug` directing consumers from the legacy
27218
+ * `disabledDays` Unix-timestamp API to the ISO `blackoutDates` API. Fires
27219
+ * the first time `_getBlackoutSet` rebuilds from a non-empty
27220
+ * `disabledDays`; subsequent calls (on this or any other AuroCalendar
27221
+ * instance on the page) are silent.
27222
+ * @private
27223
+ * @returns {void}
27224
+ */
27225
+ _warnDisabledDaysDeprecated() {
27226
+ if (AuroCalendar._warnedDisabledDaysDeprecation) {
27227
+ return;
27228
+ }
27229
+ AuroCalendar._warnedDisabledDaysDeprecation = true;
27230
+ // eslint-disable-next-line no-console
27231
+ 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.');
27232
+ }
27233
+
27075
27234
  /**
27076
27235
  * Computes the initial active date from data properties alone — no DOM required.
27077
27236
  * Priority:
@@ -27116,21 +27275,10 @@ class AuroCalendar extends RangeDatepicker {
27116
27275
  const minTs = Number.isFinite(rawMin) ? rawMin : -Infinity;
27117
27276
  const maxTs = Number.isFinite(rawMax) ? rawMax : Infinity;
27118
27277
 
27119
- // Build a Set of blackout timestamps for O(1) lookup.
27120
- const blackoutSet = new Set(this.disabledDays.map((day) => parseInt(day, 10)));
27121
-
27122
- // Also include ISO-format blackoutDates from the datepicker if available.
27123
- // Parse YYYY-MM-DD as local date to avoid UTC shift issues.
27124
- const isoBlackouts = this.datepicker?.blackoutDates;
27125
- if (Array.isArray(isoBlackouts)) {
27126
- for (const isoStr of isoBlackouts) {
27127
- const parts = isoStr.split('-');
27128
- const ts = Math.floor(new Date(parseInt(parts[0], 10), parseInt(parts[1], 10) - 1, parseInt(parts[2], 10)).getTime() / 1000);
27129
- if (Number.isFinite(ts)) {
27130
- blackoutSet.add(ts);
27131
- }
27132
- }
27133
- }
27278
+ // Build a Set of blackout timestamps for O(1) lookup. Memoized by the
27279
+ // identity of the source arrays so rapid month nav doesn't rebuild the
27280
+ // Set (and re-parse every ISO string) on every keypress.
27281
+ const blackoutSet = this._getBlackoutSet();
27134
27282
 
27135
27283
  /**
27136
27284
  * A date (unix timestamp in seconds, midnight-aligned) is "enabled" when
@@ -27326,8 +27474,8 @@ class AuroCalendar extends RangeDatepicker {
27326
27474
 
27327
27475
  /**
27328
27476
  * Handles arrow key navigation on the calendar grid wrapper.
27329
- * Focus stays on the grid wrapper; only ariaActiveDescendantElement
27330
- * and the visual active-cell indicator change.
27477
+ * Focus stays on the grid wrapper; only the visual active-cell indicator
27478
+ * changes. The live region announces the new active cell.
27331
27479
  * @private
27332
27480
  * @param {KeyboardEvent} event - The keyboard event.
27333
27481
  * @returns {void}
@@ -27392,21 +27540,21 @@ class AuroCalendar extends RangeDatepicker {
27392
27540
  } else {
27393
27541
  this.handlePrevMonth({ skipActiveUpdate: true });
27394
27542
  }
27395
- requestAnimationFrame(() => {
27396
- requestAnimationFrame(() => {
27397
- const cells = this.getAllFocusableCells();
27398
- const target = cells.find((cell) => cell.day && cell.day.date === targetTs);
27399
- if (target) {
27400
- this.setActiveCell(target.day.date);
27401
- this.handleCellFocused({ detail: { date: target.day.date } });
27402
- } else if (cells.length > 0) {
27403
- const fallback = navDir === 'next' ? cells[cells.length - 1] : cells[0];
27543
+ this._afterMonthRender(() => {
27544
+ const cells = this.getAllFocusableCells();
27545
+ const target = cells.find((cell) => cell.day && cell.day.date === targetTs);
27546
+ if (target) {
27547
+ this.setActiveCell(target.day.date);
27548
+ this.handleCellFocused({ detail: { date: target.day.date } });
27549
+ } else {
27550
+ const fallback = this.pickNearestCell(cells, targetTs, navDir);
27551
+ if (fallback) {
27404
27552
  this.setActiveCell(fallback.day.date);
27405
27553
  this.handleCellFocused({ detail: { date: fallback.day.date } });
27406
27554
  }
27407
- // Re-focus grid wrapper after month change re-render
27408
- this.focusActiveCell();
27409
- });
27555
+ }
27556
+ // Re-focus grid wrapper after month change re-render
27557
+ this.focusActiveCell();
27410
27558
  });
27411
27559
  }
27412
27560
  }
@@ -27432,26 +27580,20 @@ class AuroCalendar extends RangeDatepicker {
27432
27580
  } else {
27433
27581
  this.handlePrevMonth({ skipActiveUpdate: true });
27434
27582
  }
27435
- requestAnimationFrame(() => {
27436
- requestAnimationFrame(() => {
27437
- const cells = this.getAllFocusableCells();
27438
- const target = cells.find((cell) => cell.day && cell.day.date === targetDate);
27439
- if (target) {
27440
- this.setActiveCell(target.day.date);
27441
- this.handleCellFocused({ detail: { date: target.day.date } });
27442
- } else if (cells.length > 0) {
27443
- let nearest = null;
27444
-
27445
- if (navDirection === 'next') {
27446
- [nearest] = cells;
27447
- } else {
27448
- nearest = cells[cells.length - 1];
27449
- }
27583
+ this._afterMonthRender(() => {
27584
+ const cells = this.getAllFocusableCells();
27585
+ const target = cells.find((cell) => cell.day && cell.day.date === targetDate);
27586
+ if (target) {
27587
+ this.setActiveCell(target.day.date);
27588
+ this.handleCellFocused({ detail: { date: target.day.date } });
27589
+ } else {
27590
+ const nearest = this.pickNearestCell(cells, targetDate, navDirection);
27591
+ if (nearest) {
27450
27592
  this.setActiveCell(nearest.day.date);
27451
27593
  this.handleCellFocused({ detail: { date: nearest.day.date } });
27452
27594
  }
27453
- this.focusActiveCell();
27454
- });
27595
+ }
27596
+ this.focusActiveCell();
27455
27597
  });
27456
27598
  }
27457
27599
  }
@@ -27501,19 +27643,17 @@ class AuroCalendar extends RangeDatepicker {
27501
27643
  }
27502
27644
 
27503
27645
  this.handleNextMonth({ skipActiveUpdate: true });
27504
- requestAnimationFrame(() => {
27505
- requestAnimationFrame(() => {
27506
- const cells = this.getAllFocusableCells();
27507
- const target = cells.find((cell) => cell.day && cell.day.date === nextTs);
27508
- if (target) {
27509
- this.setActiveCell(target.day.date);
27510
- this.focusActiveCell();
27511
- } else if (cells.length > 0) {
27512
- // Fallback: first cell of the last rendered month
27513
- this.setActiveCell(cells[cells.length - 1].day.date);
27514
- this.focusActiveCell();
27515
- }
27516
- });
27646
+ this._afterMonthRender(() => {
27647
+ const cells = this.getAllFocusableCells();
27648
+ const target = cells.find((cell) => cell.day && cell.day.date === nextTs);
27649
+ if (target) {
27650
+ this.setActiveCell(target.day.date);
27651
+ this.focusActiveCell();
27652
+ } else if (cells.length > 0) {
27653
+ // Fallback: first cell of the last rendered month
27654
+ this.setActiveCell(cells[cells.length - 1].day.date);
27655
+ this.focusActiveCell();
27656
+ }
27517
27657
  });
27518
27658
  } else if (direction === 'prev' && this.showPrevMonthBtn) {
27519
27659
  // Navigate to previous month and focus the computed previous date.
@@ -27527,19 +27667,17 @@ class AuroCalendar extends RangeDatepicker {
27527
27667
  }
27528
27668
 
27529
27669
  this.handlePrevMonth({ skipActiveUpdate: true });
27530
- requestAnimationFrame(() => {
27531
- requestAnimationFrame(() => {
27532
- const cells = this.getAllFocusableCells();
27533
- const target = cells.find((cell) => cell.day && cell.day.date === prevTs);
27534
- if (target) {
27535
- this.setActiveCell(target.day.date);
27536
- this.focusActiveCell();
27537
- } else if (cells.length > 0) {
27538
- // Fallback: last cell of the first rendered month
27539
- this.setActiveCell(cells[0].day.date);
27540
- this.focusActiveCell();
27541
- }
27542
- });
27670
+ this._afterMonthRender(() => {
27671
+ const cells = this.getAllFocusableCells();
27672
+ const target = cells.find((cell) => cell.day && cell.day.date === prevTs);
27673
+ if (target) {
27674
+ this.setActiveCell(target.day.date);
27675
+ this.focusActiveCell();
27676
+ } else if (cells.length > 0) {
27677
+ // Fallback: last cell of the first rendered month
27678
+ this.setActiveCell(cells[0].day.date);
27679
+ this.focusActiveCell();
27680
+ }
27543
27681
  });
27544
27682
  }
27545
27683
  } else if (key === 'ArrowDown' || key === 'ArrowUp') {
@@ -27567,20 +27705,18 @@ class AuroCalendar extends RangeDatepicker {
27567
27705
  } else {
27568
27706
  this.handlePrevMonth({ skipActiveUpdate: true });
27569
27707
  }
27570
- requestAnimationFrame(() => {
27571
- requestAnimationFrame(() => {
27572
- const cells = this.getAllFocusableCells();
27573
- const target = cells.find((cell) => cell.day && cell.day.date === targetDate);
27574
- if (target) {
27575
- this.setActiveCell(target.day.date);
27576
- this.focusActiveCell();
27577
- } else if (cells.length > 0) {
27578
- // Clamp to nearest focusable cell
27579
- const nearest = navDirection === 'next' ? cells[0] : cells[cells.length - 1];
27580
- this.setActiveCell(nearest.day.date);
27581
- this.focusActiveCell();
27582
- }
27583
- });
27708
+ this._afterMonthRender(() => {
27709
+ const cells = this.getAllFocusableCells();
27710
+ const target = cells.find((cell) => cell.day && cell.day.date === targetDate);
27711
+ if (target) {
27712
+ this.setActiveCell(target.day.date);
27713
+ this.focusActiveCell();
27714
+ } else if (cells.length > 0) {
27715
+ // Clamp to nearest focusable cell
27716
+ const nearest = navDirection === 'next' ? cells[0] : cells[cells.length - 1];
27717
+ this.setActiveCell(nearest.day.date);
27718
+ this.focusActiveCell();
27719
+ }
27584
27720
  });
27585
27721
  }
27586
27722
  }
@@ -27619,8 +27755,9 @@ class AuroCalendar extends RangeDatepicker {
27619
27755
  return;
27620
27756
  }
27621
27757
 
27622
- // With aria-activedescendant, the button no longer receives native focus,
27623
- // so we use the debounced live region for the full context announcement.
27758
+ // DOM focus stays on the grid wrapper while arrow keys move the active
27759
+ // cell, so cell buttons never receive native focus. The debounced live
27760
+ // region carries the full-context announcement instead.
27624
27761
  const announcement = this.buildFocusAnnouncement(date);
27625
27762
  this.announceFocusDebounced(announcement);
27626
27763
 
@@ -27690,10 +27827,10 @@ class AuroCalendar extends RangeDatepicker {
27690
27827
  return null;
27691
27828
  }
27692
27829
 
27693
- const departTs = startOfDay$2(parsedFrom * 1000) / 1000;
27830
+ const departTs = new Date(parsedFrom * 1000).setHours(0, 0, 0, 0) / 1000;
27694
27831
  const parsedTo = Number.parseInt(this.dateTo, 10);
27695
27832
  const hasTo = Number.isFinite(parsedTo);
27696
- const returnTs = hasTo ? startOfDay$2(parsedTo * 1000) / 1000 : null;
27833
+ const returnTs = hasTo ? new Date(parsedTo * 1000).setHours(0, 0, 0, 0) / 1000 : null;
27697
27834
 
27698
27835
  if (date === departTs) {
27699
27836
  return this.datepicker.rangeLabelStart || 'range start';
@@ -27707,6 +27844,9 @@ class AuroCalendar extends RangeDatepicker {
27707
27844
  if (hasTo && date > departTs && date < returnTs) {
27708
27845
  return this.datepicker.rangeLabelInRange || 'in range';
27709
27846
  }
27847
+ if (!hasTo && date > departTs) {
27848
+ return this.datepicker.rangeLabelEndPreview || 'previewing range end';
27849
+ }
27710
27850
  return this.datepicker.rangeLabelAfterRange || 'after range';
27711
27851
  }
27712
27852
 
@@ -27903,9 +28043,34 @@ class AuroCalendar extends RangeDatepicker {
27903
28043
  // the last one.
27904
28044
  if (this._announceRafId) {
27905
28045
  cancelAnimationFrame(this._announceRafId);
28046
+ this._announceRafId = null;
27906
28047
  }
28048
+ this._deliverAnnouncement(dateStr, 0);
28049
+ }
28050
+
28051
+ /**
28052
+ * Writes `dateStr` to the live region. If the dropdown's dialog hasn't
28053
+ * mounted yet (so getOrCreateLiveRegion can't attach), retries on the
28054
+ * next animation frame up to MAX_LIVE_REGION_RETRIES instead of silently
28055
+ * dropping the announcement. The retry uses the same `_announceRafId`
28056
+ * the double-rAF below uses, so a newer announceSelection call (or
28057
+ * disconnectedCallback) cancels any in-flight retry.
28058
+ * @private
28059
+ * @param {String} dateStr - The localized date string to announce.
28060
+ * @param {Number} attempts - Number of prior retry attempts.
28061
+ * @returns {void}
28062
+ */
28063
+ _deliverAnnouncement(dateStr, attempts) {
27907
28064
  const liveRegion = this.getOrCreateLiveRegion();
27908
28065
  if (!liveRegion) {
28066
+ const MAX_LIVE_REGION_RETRIES = 10;
28067
+ if (attempts < MAX_LIVE_REGION_RETRIES) {
28068
+ this._announceRafId = requestAnimationFrame(() => {
28069
+ this._deliverAnnouncement(dateStr, attempts + 1);
28070
+ });
28071
+ } else {
28072
+ this._announceRafId = null;
28073
+ }
27909
28074
  return;
27910
28075
  }
27911
28076
 
@@ -28091,7 +28256,7 @@ class AuroCalendar extends RangeDatepicker {
28091
28256
  </button>
28092
28257
  ` : undefined}
28093
28258
  </div>
28094
- <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}">
28259
+ <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}">
28095
28260
  ${this.renderAllCalendars()}
28096
28261
  </div>
28097
28262
  </div>
@@ -31976,7 +32141,7 @@ let AuroHelpText$2$1 = class AuroHelpText extends i$2 {
31976
32141
  }
31977
32142
  };
31978
32143
 
31979
- var formkitVersion$1$3 = '202606232113';
32144
+ var formkitVersion$1$3 = '202606251933';
31980
32145
 
31981
32146
  let AuroElement$2$2 = class AuroElement extends i$2 {
31982
32147
  static get properties() {
@@ -38373,7 +38538,7 @@ function normalizeDates$2(context, ...dates) {
38373
38538
  * const result = startOfDay(new Date(2014, 8, 2, 11, 55, 0))
38374
38539
  * //=> Tue Sep 02 2014 00:00:00
38375
38540
  */
38376
- function startOfDay$3(date, options) {
38541
+ function startOfDay$2(date, options) {
38377
38542
  const _date = toDate$2(date, options?.in);
38378
38543
  _date.setHours(0, 0, 0, 0);
38379
38544
  return _date;
@@ -38421,8 +38586,8 @@ function differenceInCalendarDays$2(laterDate, earlierDate, options) {
38421
38586
  earlierDate,
38422
38587
  );
38423
38588
 
38424
- const laterStartOfDay = startOfDay$3(laterDate_);
38425
- const earlierStartOfDay = startOfDay$3(earlierDate_);
38589
+ const laterStartOfDay = startOfDay$2(laterDate_);
38590
+ const earlierStartOfDay = startOfDay$2(earlierDate_);
38426
38591
 
38427
38592
  const laterTimestamp =
38428
38593
  +laterStartOfDay - getTimezoneOffsetInMilliseconds$2(laterStartOfDay);
@@ -44508,15 +44673,6 @@ let BaseInput$1 = class BaseInput extends AuroElement$1$3 {
44508
44673
  this.wrapperElement.addEventListener('click', this.handleClick);
44509
44674
  }
44510
44675
 
44511
- // add attribute for query selectors when auro-input is registered under a custom name
44512
- // COVERAGE: the body of this branch is unreachable in WTR — connectedCallback
44513
- // performs the same `setAttribute('auro-input', '')` earlier (see L665-667),
44514
- // so by the time firstUpdated runs the attribute is already present and the
44515
- // `!hasAttribute('auro-input')` guard is false. Retained as a defensive
44516
- // safety net in case connectedCallback is ever short-circuited.
44517
- if (this.tagName.toLowerCase() !== 'auro-input' && !this.hasAttribute('auro-input')) {
44518
- this.setAttribute('auro-input', '');
44519
- }
44520
44676
  this.inputId = this.id ? `${this.id}-input` : window.crypto.randomUUID();
44521
44677
 
44522
44678
  // use validity message override if declared when initializing the component
@@ -45087,13 +45243,7 @@ let BaseInput$1 = class BaseInput extends AuroElement$1$3 {
45087
45243
  */
45088
45244
  get placeholderStr() {
45089
45245
  if (!this.placeholder && this.type === 'date') {
45090
- // COVERAGE: the `'MM/DD/YYYY'` literal fallback is unreachable in WTR.
45091
- // connectedCallback (L682) calls configureDataForType, which at L1266-1268
45092
- // assigns `this.format = this.util.getDateMaskFromLocale().toLowerCase()`
45093
- // when type=date and format is unset. That runs before the first render
45094
- // reads this getter, so the ternary's truthy arm always wins. Retained
45095
- // as a defensive fallback for direct getter calls before connection.
45096
- return this.format ? this.format.toUpperCase() : 'MM/DD/YYYY';
45246
+ return this.format.toUpperCase();
45097
45247
  }
45098
45248
  return this.placeholder || "";
45099
45249
  }
@@ -45584,7 +45734,7 @@ let AuroHelpText$1$3 = class AuroHelpText extends i$2 {
45584
45734
  }
45585
45735
  };
45586
45736
 
45587
- var formkitVersion$7 = '202606232113';
45737
+ var formkitVersion$7 = '202606251933';
45588
45738
 
45589
45739
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
45590
45740
  // See LICENSE in the project root for license information.
@@ -47061,6 +47211,7 @@ class AuroDatePicker extends AuroElement$5 {
47061
47211
  this.rangeLabelBeforeRange = 'before range';
47062
47212
  this.rangeLabelInRange = 'in range';
47063
47213
  this.rangeLabelAfterRange = 'after range';
47214
+ this.rangeLabelEndPreview = 'previewing range end';
47064
47215
  this.blackoutDates = [];
47065
47216
  this.blackoutLabel = 'unavailable';
47066
47217
  this.navLabelPrevMonth = 'Previous month';
@@ -47160,6 +47311,22 @@ class AuroDatePicker extends AuroElement$5 {
47160
47311
  */
47161
47312
  this.handleClick = this.handleClick.bind(this);
47162
47313
 
47314
+ /**
47315
+ * Single AbortController shared by every listener registered in the
47316
+ * configure* methods. Lets disconnectedCallback tear all of them down
47317
+ * with one abort() call.
47318
+ *
47319
+ * The genuine leak risk is the listeners attached to children that can
47320
+ * outlive the host if they get reparented — `this.dropdown`,
47321
+ * `this.calendar`, and the inputs inside the dropdown's slot.
47322
+ * Listeners attached to `this` (e.g. focusin/focusout on the host)
47323
+ * form a self-contained reference graph that the GC can collect with
47324
+ * the host anyway, but they share the same signal so the cleanup
47325
+ * pattern stays uniform across all configure* sites.
47326
+ * @private
47327
+ */
47328
+ this._listenerAbortController = new AbortController();
47329
+
47163
47330
  /**
47164
47331
  * @private
47165
47332
  */
@@ -47208,6 +47375,7 @@ class AuroDatePicker extends AuroElement$5 {
47208
47375
 
47209
47376
  /**
47210
47377
  * Label announced for blackout (disabled but in-range) date cells.
47378
+ * @default 'unavailable'
47211
47379
  */
47212
47380
  blackoutLabel: {
47213
47381
  type: String,
@@ -47224,6 +47392,7 @@ class AuroDatePicker extends AuroElement$5 {
47224
47392
 
47225
47393
  /**
47226
47394
  * Accessible label for the calendar grid containing the days of the month.
47395
+ * @default 'Calendar days of the month'
47227
47396
  */
47228
47397
  calendarGridLabel: {
47229
47398
  type: String,
@@ -47386,6 +47555,7 @@ class AuroDatePicker extends AuroElement$5 {
47386
47555
 
47387
47556
  /**
47388
47557
  * Accessible label for the next month navigation button.
47558
+ * @default 'Next month'
47389
47559
  */
47390
47560
  navLabelNextMonth: {
47391
47561
  type: String,
@@ -47394,6 +47564,7 @@ class AuroDatePicker extends AuroElement$5 {
47394
47564
 
47395
47565
  /**
47396
47566
  * Accessible label for the previous month navigation button.
47567
+ * @default 'Previous month'
47397
47568
  */
47398
47569
  navLabelPrevMonth: {
47399
47570
  type: String,
@@ -47472,6 +47643,7 @@ class AuroDatePicker extends AuroElement$5 {
47472
47643
 
47473
47644
  /**
47474
47645
  * Label announced for cells after the range (or after start when no end is selected).
47646
+ * @default 'after range'
47475
47647
  */
47476
47648
  rangeLabelAfterRange: {
47477
47649
  type: String,
@@ -47480,6 +47652,7 @@ class AuroDatePicker extends AuroElement$5 {
47480
47652
 
47481
47653
  /**
47482
47654
  * Label announced for cells before the range start.
47655
+ * @default 'before range'
47483
47656
  */
47484
47657
  rangeLabelBeforeRange: {
47485
47658
  type: String,
@@ -47488,14 +47661,27 @@ class AuroDatePicker extends AuroElement$5 {
47488
47661
 
47489
47662
  /**
47490
47663
  * Label announced for the range end date cell.
47664
+ * @default 'range end'
47491
47665
  */
47492
47666
  rangeLabelEnd: {
47493
47667
  type: String,
47494
47668
  reflect: true
47495
47669
  },
47496
47670
 
47671
+ /**
47672
+ * Label announced for the focused cell while previewing a range end
47673
+ * (dateFrom set, dateTo not yet selected). Tells AT users that
47674
+ * pressing Enter would commit this cell as the range end.
47675
+ * @default 'previewing range end'
47676
+ */
47677
+ rangeLabelEndPreview: {
47678
+ type: String,
47679
+ reflect: true
47680
+ },
47681
+
47497
47682
  /**
47498
47683
  * Label announced for cells within the selected range.
47684
+ * @default 'in range'
47499
47685
  */
47500
47686
  rangeLabelInRange: {
47501
47687
  type: String,
@@ -47504,6 +47690,7 @@ class AuroDatePicker extends AuroElement$5 {
47504
47690
 
47505
47691
  /**
47506
47692
  * Label announced for the range start date cell.
47693
+ * @default 'range start'
47507
47694
  */
47508
47695
  rangeLabelStart: {
47509
47696
  type: String,
@@ -47868,10 +48055,26 @@ class AuroDatePicker extends AuroElement$5 {
47868
48055
  // ─── Vendor calendar time conversions ─────────────────────────────────────
47869
48056
 
47870
48057
  /**
47871
- * Converts a Unix timestamp (seconds) from the vendor calendar to an ISO date string.
48058
+ * Converts a Unix timestamp (seconds) from the vendored range-datepicker
48059
+ * (`src/vendor/wc-range-datepicker/day.js`) to an ISO date string.
48060
+ *
48061
+ * Timezone contract:
48062
+ * - INPUT: `time` is assumed to be the seconds-since-epoch of **local
48063
+ * midnight** for the intended calendar day. The vendor's Day constructor
48064
+ * builds it via `date-fns format(date, 't')` from a locally-constructed
48065
+ * Date, so this assumption currently holds end-to-end.
48066
+ * - OUTPUT: `dateFormatter.toISOFormatString` reads the Date's local
48067
+ * getFullYear/getMonth/getDate components, so the returned YYYY-MM-DD
48068
+ * string matches the local calendar day.
48069
+ *
48070
+ * If the vendor ever switches to emitting UTC-midnight timestamps, this
48071
+ * conversion will silently shift the returned date by one day in zones
48072
+ * west of UTC. Any vendor swap should re-verify this contract; the TZ
48073
+ * regression suite (`npm run test:hst`, UTC-10) will catch the symptom.
48074
+ *
47872
48075
  * @private
47873
- * @param {number} time - Unix timestamp in seconds.
47874
- * @returns {string} ISO date string (yyyy-mm-dd).
48076
+ * @param {number} time - Unix timestamp (seconds), local midnight of the day.
48077
+ * @returns {string} ISO date string (yyyy-mm-dd) reflecting the local calendar day.
47875
48078
  */
47876
48079
  convertWcTimeToDate(time) {
47877
48080
  return dateFormatter$1.toISOFormatString(new Date(time * 1000));
@@ -47973,8 +48176,8 @@ class AuroDatePicker extends AuroElement$5 {
47973
48176
  }
47974
48177
  }
47975
48178
 
47976
- // Focus the calendar grid wrapper (aria-activedescendant handles
47977
- // the SR announcement for the active cell).
48179
+ // Focus the calendar grid wrapper. The live region (announced just
48180
+ // below) handles the SR announcement for the active cell.
47978
48181
  if (activeCell) {
47979
48182
  this.calendar.focusActiveCell();
47980
48183
 
@@ -48024,11 +48227,13 @@ class AuroDatePicker extends AuroElement$5 {
48024
48227
  this.dropdown.bibDialogLabel = labelElement.textContent.trim() || undefined;
48025
48228
  }
48026
48229
 
48230
+ const { signal } = this._listenerAbortController;
48231
+
48027
48232
  this.dropdown.addEventListener('auroDropdown-triggerClick', () => {
48028
48233
  if (!this.isPopoverVisible) {
48029
48234
  this.dropdown.show();
48030
48235
  }
48031
- });
48236
+ }, { signal });
48032
48237
 
48033
48238
  this.dropdown.addEventListener('auroDropdown-toggled', () => {
48034
48239
  this.notifyDatepickerToggled();
@@ -48046,7 +48251,7 @@ class AuroDatePicker extends AuroElement$5 {
48046
48251
  if (this.valueObject) {
48047
48252
  this.centralDate = this.value;
48048
48253
  } else if (!this.centralDate && !this.calendarStartDate && !this.minDate) {
48049
- this.centralDate = new Date();
48254
+ this.centralDate = dateFormatter$1.toISOFormatString(new Date());
48050
48255
  }
48051
48256
  }
48052
48257
 
@@ -48126,7 +48331,7 @@ class AuroDatePicker extends AuroElement$5 {
48126
48331
  this.forceScrollOnNextMobileCalendarRender = false;
48127
48332
  }, 0);
48128
48333
  }
48129
- });
48334
+ }, { signal });
48130
48335
 
48131
48336
  // Handle responsive strategy changes while the dropdown is open
48132
48337
  // (e.g. resizing from desktop → mobile or vice versa).
@@ -48173,7 +48378,7 @@ class AuroDatePicker extends AuroElement$5 {
48173
48378
  });
48174
48379
  });
48175
48380
  }
48176
- });
48381
+ }, { signal });
48177
48382
  }
48178
48383
 
48179
48384
  /**
@@ -48186,6 +48391,8 @@ class AuroDatePicker extends AuroElement$5 {
48186
48391
 
48187
48392
  this.inputList = [...this.dropdown.querySelectorAll(this.inputTag._$litStatic$)];
48188
48393
 
48394
+ const { signal } = this._listenerAbortController;
48395
+
48189
48396
  this.inputList.forEach((input, index) => {
48190
48397
  input.addEventListener('input', (event) => {
48191
48398
  event.stopPropagation();
@@ -48197,7 +48404,7 @@ class AuroDatePicker extends AuroElement$5 {
48197
48404
  }
48198
48405
 
48199
48406
  this.notifyValueChanged();
48200
- });
48407
+ }, { signal });
48201
48408
 
48202
48409
  input.addEventListener('auroFormElement-validated', (evt) => {
48203
48410
  // not to bubble up input's validated event.
@@ -48213,7 +48420,7 @@ class AuroDatePicker extends AuroElement$5 {
48213
48420
  this.validity = evt.detail.validity;
48214
48421
  this.errorMessage = evt.detail.message;
48215
48422
  }
48216
- });
48423
+ }, { signal });
48217
48424
  });
48218
48425
  }
48219
48426
 
@@ -48227,6 +48434,8 @@ class AuroDatePicker extends AuroElement$5 {
48227
48434
  this.calendar.datepicker = this;
48228
48435
  this.calendar.dropdown = this.dropdown;
48229
48436
 
48437
+ const { signal } = this._listenerAbortController;
48438
+
48230
48439
  this.calendar.addEventListener('auroCalendar-dateSelected', () => {
48231
48440
  if (this.inputList[0].value !== this.calendar.dateFrom && this.calendar.dateFrom !== undefined) {
48232
48441
  this.inputList[0].value = this.convertWcTimeToDate(this.calendar.dateFrom);
@@ -48235,11 +48444,11 @@ class AuroDatePicker extends AuroElement$5 {
48235
48444
  if (this.inputList[1] && this.calendar.dateTo && this.inputList[1].value !== this.calendar.dateTo) {
48236
48445
  this.inputList[1].value = this.convertWcTimeToDate(this.calendar.dateTo);
48237
48446
  }
48238
- });
48447
+ }, { signal });
48239
48448
 
48240
48449
  this.calendar.addEventListener('auroCalendar-dismissRequest', () => {
48241
48450
  this.dropdown.hide();
48242
- });
48451
+ }, { signal });
48243
48452
 
48244
48453
  this.calendar.addEventListener('auroCalendar-centralDateChanged', (event) => {
48245
48454
  const match = this.centralDateObject && this.util.datesMatch(event.detail.date, this.centralDateObject);
@@ -48249,7 +48458,7 @@ class AuroDatePicker extends AuroElement$5 {
48249
48458
  }
48250
48459
 
48251
48460
  this.notifyMonthChanged(event);
48252
- });
48461
+ }, { signal });
48253
48462
  }
48254
48463
 
48255
48464
  /**
@@ -48258,10 +48467,17 @@ class AuroDatePicker extends AuroElement$5 {
48258
48467
  * @returns {void}
48259
48468
  */
48260
48469
  configureDatepicker() {
48470
+ // These listeners are on `this` (the host), so they would GC with the
48471
+ // host even without the abort signal — see the leak rationale on
48472
+ // `_listenerAbortController`. The signal is still passed for uniform
48473
+ // cleanup semantics with the child-element listeners in the other
48474
+ // configure* methods.
48475
+ const { signal } = this._listenerAbortController;
48476
+
48261
48477
  this.addEventListener('focusin', () => {
48262
48478
  this.touched = true;
48263
48479
  this.hasFocus = true;
48264
- });
48480
+ }, { signal });
48265
48481
 
48266
48482
  this.addEventListener('focusout', () => {
48267
48483
  this.hasFocus = false;
@@ -48273,7 +48489,7 @@ class AuroDatePicker extends AuroElement$5 {
48273
48489
  if (!this.matches(':focus-within')) {
48274
48490
  this.validate();
48275
48491
  }
48276
- });
48492
+ }, { signal });
48277
48493
 
48278
48494
  if (this.valueObject) {
48279
48495
  this.calendar.dateFrom = this.convertToWcValidTime(this.valueObject);
@@ -48471,6 +48687,36 @@ class AuroDatePicker extends AuroElement$5 {
48471
48687
  return this.validity !== undefined && this.validity !== 'valid';
48472
48688
  }
48473
48689
 
48690
+ /**
48691
+ * Per-class dedup set used by `_warnInvalidLocale`. Static so the dedup
48692
+ * spans every datepicker instance on the page; lives on the class (not
48693
+ * at module scope) so it stays an encapsulated implementation detail of
48694
+ * this component and does not interfere with WCA's class-JSDoc
48695
+ * attachment.
48696
+ * @private
48697
+ */
48698
+ static _warnedInvalidLocales = new Set();
48699
+
48700
+ /**
48701
+ * Logs a one-time `console.debug` when an unsupported locale falls back to
48702
+ * en-US. Deduped by the offending tag so noisy re-renders that resurface
48703
+ * the same bad value stay quiet, but each new bad value still signals so
48704
+ * consumers can spot the typo or missing tag.
48705
+ * @private
48706
+ * @param {string|undefined} badLocale - The locale value that failed.
48707
+ * @returns {void}
48708
+ */
48709
+ _warnInvalidLocale(badLocale) {
48710
+ const key = String(badLocale ?? '');
48711
+ const seen = AuroDatePicker._warnedInvalidLocales;
48712
+ if (seen.has(key)) {
48713
+ return;
48714
+ }
48715
+ seen.add(key);
48716
+ // eslint-disable-next-line no-console
48717
+ 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".`);
48718
+ }
48719
+
48474
48720
  /**
48475
48721
  * Lifecycle method to check if the locale is valid.
48476
48722
  * @ignore
@@ -48481,10 +48727,15 @@ class AuroDatePicker extends AuroElement$5 {
48481
48727
  if (changedProperties.has('locale')) {
48482
48728
  try {
48483
48729
  const supported = Intl.DateTimeFormat.supportedLocalesOf([this.locale], { localeMatcher: 'lookup' });
48484
- this._validLocale = supported.length > 0 ? this.locale : 'en-US';
48730
+ if (supported.length > 0) {
48731
+ this._validLocale = this.locale;
48732
+ } else {
48733
+ this._validLocale = 'en-US';
48734
+ this._warnInvalidLocale(this.locale);
48735
+ }
48485
48736
  } catch {
48486
- console.debug(`[AuroDatePicker] The locale "${this.locale}" is not valid. Falling back to "en-US".`); // eslint-disable-line no-console
48487
48737
  this._validLocale = 'en-US';
48738
+ this._warnInvalidLocale(this.locale);
48488
48739
  }
48489
48740
 
48490
48741
  const previousLocaleFormat = getDateFormatFromLocale$1(changedProperties.get('locale'));
@@ -48566,8 +48817,6 @@ class AuroDatePicker extends AuroElement$5 {
48566
48817
  // Skip centralDate update when user clicked a cell in range mode
48567
48818
  // to prevent the displayed months from shifting
48568
48819
  this.centralDate = this.value;
48569
- //TODO: TEST THIS CHANGE
48570
- // this.calendarRenderUtil.updateCentralDate(this, this.value);
48571
48820
  }
48572
48821
 
48573
48822
  this.setHasValue();
@@ -48627,8 +48876,6 @@ class AuroDatePicker extends AuroElement$5 {
48627
48876
  // Skip centralDate update when user clicked a cell in range mode
48628
48877
  // to prevent the displayed months from shifting
48629
48878
  this.centralDate = this.valueEnd;
48630
- // TODO: TEST THIS CHANGE
48631
- // this.calendarRenderUtil.updateCentralDate(this, this.formattedValueEnd);
48632
48879
  }
48633
48880
 
48634
48881
  this.validate();
@@ -48770,7 +49017,7 @@ class AuroDatePicker extends AuroElement$5 {
48770
49017
  * @returns {void}
48771
49018
  */
48772
49019
  configureClickHandler() {
48773
- this.addEventListener('click', this.handleClick);
49020
+ this.addEventListener('click', this.handleClick, { signal: this._listenerAbortController.signal });
48774
49021
  }
48775
49022
 
48776
49023
  firstUpdated() {
@@ -48792,6 +49039,17 @@ class AuroDatePicker extends AuroElement$5 {
48792
49039
  this.locale = this.domHandler.getLocale(this);
48793
49040
  }
48794
49041
 
49042
+ disconnectedCallback() {
49043
+ super.disconnectedCallback();
49044
+ // Defer so that re-parenting (auro-drawer slotting it into a dialog,
49045
+ // for example) does not abort listeners we still need after reconnect.
49046
+ queueMicrotask(() => {
49047
+ if (!this.isConnected) {
49048
+ this._listenerAbortController.abort();
49049
+ }
49050
+ });
49051
+ }
49052
+
48795
49053
  // layout render methods
48796
49054
  // ------------------------------------
48797
49055
 
@@ -50287,7 +50545,7 @@ let AuroHelpText$1$2 = class AuroHelpText extends i$2 {
50287
50545
  }
50288
50546
  };
50289
50547
 
50290
- var formkitVersion$1$2 = '202606232113';
50548
+ var formkitVersion$1$2 = '202606251933';
50291
50549
 
50292
50550
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
50293
50551
  // See LICENSE in the project root for license information.
@@ -54615,7 +54873,7 @@ let AuroHelpText$6 = class AuroHelpText extends i$2 {
54615
54873
  }
54616
54874
  };
54617
54875
 
54618
- var formkitVersion$6 = '202606232113';
54876
+ var formkitVersion$6 = '202606251933';
54619
54877
 
54620
54878
  let AuroElement$1$2 = class AuroElement extends i$2 {
54621
54879
  static get properties() {
@@ -58555,7 +58813,7 @@ let AuroHelpText$5 = class AuroHelpText extends i$2 {
58555
58813
  }
58556
58814
  };
58557
58815
 
58558
- var formkitVersion$5 = '202606232113';
58816
+ var formkitVersion$5 = '202606251933';
58559
58817
 
58560
58818
  // Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
58561
58819
  // See LICENSE in the project root for license information.
@@ -60305,7 +60563,7 @@ let AuroHelpText$4 = class AuroHelpText extends i$2 {
60305
60563
  }
60306
60564
  };
60307
60565
 
60308
- var formkitVersion$4 = '202606232113';
60566
+ var formkitVersion$4 = '202606251933';
60309
60567
 
60310
60568
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
60311
60569
  // See LICENSE in the project root for license information.
@@ -65520,7 +65778,7 @@ let AuroHelpText$2 = class AuroHelpText extends i$2 {
65520
65778
  }
65521
65779
  };
65522
65780
 
65523
- var formkitVersion$2 = '202606232113';
65781
+ var formkitVersion$2 = '202606251933';
65524
65782
 
65525
65783
  let AuroElement$2$1 = class AuroElement extends i$2 {
65526
65784
  static get properties() {
@@ -78052,15 +78310,6 @@ class BaseInput extends AuroElement$1$1 {
78052
78310
  this.wrapperElement.addEventListener('click', this.handleClick);
78053
78311
  }
78054
78312
 
78055
- // add attribute for query selectors when auro-input is registered under a custom name
78056
- // COVERAGE: the body of this branch is unreachable in WTR — connectedCallback
78057
- // performs the same `setAttribute('auro-input', '')` earlier (see L665-667),
78058
- // so by the time firstUpdated runs the attribute is already present and the
78059
- // `!hasAttribute('auro-input')` guard is false. Retained as a defensive
78060
- // safety net in case connectedCallback is ever short-circuited.
78061
- if (this.tagName.toLowerCase() !== 'auro-input' && !this.hasAttribute('auro-input')) {
78062
- this.setAttribute('auro-input', '');
78063
- }
78064
78313
  this.inputId = this.id ? `${this.id}-input` : window.crypto.randomUUID();
78065
78314
 
78066
78315
  // use validity message override if declared when initializing the component
@@ -78631,13 +78880,7 @@ class BaseInput extends AuroElement$1$1 {
78631
78880
  */
78632
78881
  get placeholderStr() {
78633
78882
  if (!this.placeholder && this.type === 'date') {
78634
- // COVERAGE: the `'MM/DD/YYYY'` literal fallback is unreachable in WTR.
78635
- // connectedCallback (L682) calls configureDataForType, which at L1266-1268
78636
- // assigns `this.format = this.util.getDateMaskFromLocale().toLowerCase()`
78637
- // when type=date and format is unset. That runs before the first render
78638
- // reads this getter, so the ternary's truthy arm always wins. Retained
78639
- // as a defensive fallback for direct getter calls before connection.
78640
- return this.format ? this.format.toUpperCase() : 'MM/DD/YYYY';
78883
+ return this.format.toUpperCase();
78641
78884
  }
78642
78885
  return this.placeholder || "";
78643
78886
  }
@@ -79128,7 +79371,7 @@ let AuroHelpText$1$1 = class AuroHelpText extends i$2 {
79128
79371
  }
79129
79372
  };
79130
79373
 
79131
- var formkitVersion$1$1 = '202606232113';
79374
+ var formkitVersion$1$1 = '202606251933';
79132
79375
 
79133
79376
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
79134
79377
  // See LICENSE in the project root for license information.
@@ -80249,7 +80492,7 @@ let AuroBibtemplate$1 = class AuroBibtemplate extends i$2 {
80249
80492
  }
80250
80493
  };
80251
80494
 
80252
- var formkitVersion$3 = '202606232113';
80495
+ var formkitVersion$3 = '202606251933';
80253
80496
 
80254
80497
  var styleCss$1$3 = i$4`.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}`;
80255
80498
 
@@ -89040,7 +89283,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$2 {
89040
89283
  }
89041
89284
  };
89042
89285
 
89043
- var formkitVersion$1 = '202606232113';
89286
+ var formkitVersion$1 = '202606251933';
89044
89287
 
89045
89288
  class AuroElement extends i$2 {
89046
89289
  static get properties() {
@@ -91061,7 +91304,7 @@ class AuroHelpText extends i$2 {
91061
91304
  }
91062
91305
  }
91063
91306
 
91064
- var formkitVersion = '202606232113';
91307
+ var formkitVersion = '202606251933';
91065
91308
 
91066
91309
  var styleCss = i$4`.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}`;
91067
91310