@aurodesignsystem-dev/auro-formkit 0.0.0-pr1509.1 → 0.0.0-pr1510.1

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 (126) hide show
  1. package/components/checkbox/demo/customize.min.js +1 -1
  2. package/components/checkbox/demo/getting-started.min.js +1 -1
  3. package/components/checkbox/demo/index.min.js +1 -1
  4. package/components/checkbox/dist/index.js +1 -1
  5. package/components/checkbox/dist/registered.js +1 -1
  6. package/components/combobox/demo/customize.min.js +3 -3
  7. package/components/combobox/demo/getting-started.min.js +3 -3
  8. package/components/combobox/demo/index.min.js +3 -3
  9. package/components/combobox/dist/index.js +3 -3
  10. package/components/combobox/dist/registered.js +3 -3
  11. package/components/counter/demo/customize.min.js +2 -2
  12. package/components/counter/demo/index.min.js +2 -2
  13. package/components/counter/dist/index.js +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 +579 -202
  19. package/components/datepicker/demo/index.min.js +579 -202
  20. package/components/datepicker/dist/{src/auro-calendar-cell.d.ts → auro-calendar-cell.d.ts} +14 -3
  21. package/components/datepicker/dist/{src/auro-calendar.d.ts → auro-calendar.d.ts} +90 -6
  22. package/components/datepicker/dist/{src/auro-datepicker.d.ts → auro-datepicker.d.ts} +78 -5
  23. package/components/datepicker/dist/blackoutUtils.d.ts +43 -0
  24. package/components/datepicker/dist/index.js +579 -202
  25. package/components/datepicker/dist/registered.js +579 -202
  26. package/components/dropdown/demo/customize.min.js +1 -1
  27. package/components/dropdown/demo/getting-started.min.js +1 -1
  28. package/components/dropdown/demo/index.min.js +1 -1
  29. package/components/dropdown/dist/index.js +1 -1
  30. package/components/dropdown/dist/registered.js +1 -1
  31. package/components/form/demo/customize.min.js +595 -218
  32. package/components/form/demo/getting-started.min.js +595 -218
  33. package/components/form/demo/index.min.js +595 -218
  34. package/components/form/demo/registerDemoDeps.min.js +595 -218
  35. package/components/input/demo/customize.min.js +1 -1
  36. package/components/input/demo/getting-started.min.js +1 -1
  37. package/components/input/demo/index.min.js +1 -1
  38. package/components/input/dist/index.js +1 -1
  39. package/components/input/dist/registered.js +1 -1
  40. package/components/radio/demo/customize.min.js +1 -1
  41. package/components/radio/demo/getting-started.min.js +1 -1
  42. package/components/radio/demo/index.min.js +1 -1
  43. package/components/radio/dist/index.js +1 -1
  44. package/components/radio/dist/registered.js +1 -1
  45. package/components/select/demo/customize.min.js +2 -2
  46. package/components/select/demo/getting-started.min.js +2 -2
  47. package/components/select/demo/index.min.js +2 -2
  48. package/components/select/dist/index.js +2 -2
  49. package/components/select/dist/registered.js +2 -2
  50. package/custom-elements.json +1696 -1414
  51. package/package.json +6 -2
  52. package/components/checkbox/demo/customize.js +0 -22
  53. package/components/checkbox/demo/demo-support.js +0 -1
  54. package/components/checkbox/demo/getting-started.js +0 -22
  55. package/components/checkbox/demo/index.js +0 -8
  56. package/components/checkbox/demo/styles.scss +0 -1
  57. package/components/combobox/demo/customize.js +0 -24
  58. package/components/combobox/demo/demo-support.js +0 -1
  59. package/components/combobox/demo/getting-started.js +0 -21
  60. package/components/combobox/demo/index.js +0 -23
  61. package/components/combobox/demo/styles.scss +0 -1
  62. package/components/counter/demo/customize.js +0 -21
  63. package/components/counter/demo/demo-support.js +0 -1
  64. package/components/counter/demo/index.js +0 -21
  65. package/components/counter/demo/styles.scss +0 -1
  66. package/components/datepicker/demo/customize.js +0 -17
  67. package/components/datepicker/demo/demo-support.js +0 -1
  68. package/components/datepicker/demo/index.js +0 -23
  69. package/components/datepicker/demo/styles.scss +0 -1
  70. package/components/dropdown/demo/customize.js +0 -9
  71. package/components/dropdown/demo/demo-support.js +0 -1
  72. package/components/dropdown/demo/getting-started.js +0 -9
  73. package/components/dropdown/demo/index.js +0 -16
  74. package/components/dropdown/demo/styles.scss +0 -1
  75. package/components/form/demo/customize.js +0 -28
  76. package/components/form/demo/demo-support.js +0 -1
  77. package/components/form/demo/getting-started.js +0 -9
  78. package/components/form/demo/index.js +0 -5
  79. package/components/form/demo/registerDemoDeps.js +0 -23
  80. package/components/form/demo/styles.scss +0 -1
  81. package/components/input/demo/customize.js +0 -25
  82. package/components/input/demo/demo-support.js +0 -1
  83. package/components/input/demo/getting-started.js +0 -8
  84. package/components/input/demo/index.js +0 -8
  85. package/components/input/demo/styles.css +0 -974
  86. package/components/input/demo/styles.scss +0 -1
  87. package/components/menu/demo/demo-support.js +0 -1
  88. package/components/menu/demo/index.js +0 -25
  89. package/components/menu/demo/styles.scss +0 -1
  90. package/components/radio/demo/customize.js +0 -22
  91. package/components/radio/demo/demo-support.js +0 -1
  92. package/components/radio/demo/getting-started.js +0 -24
  93. package/components/radio/demo/index.js +0 -8
  94. package/components/radio/demo/styles.scss +0 -1
  95. package/components/select/demo/customize.js +0 -11
  96. package/components/select/demo/demo-support.js +0 -1
  97. package/components/select/demo/getting-started.js +0 -26
  98. package/components/select/demo/index.js +0 -11
  99. package/components/select/demo/styles.scss +0 -1
  100. /package/components/datepicker/dist/{src/auro-calendar-month.d.ts → auro-calendar-month.d.ts} +0 -0
  101. /package/components/datepicker/dist/{src/buttonVersion.d.ts → buttonVersion.d.ts} +0 -0
  102. /package/components/datepicker/dist/{src/datepickerKeyboardStrategy.d.ts → datepickerKeyboardStrategy.d.ts} +0 -0
  103. /package/components/datepicker/dist/{src/iconVersion.d.ts → iconVersion.d.ts} +0 -0
  104. /package/components/datepicker/dist/{src/index.d.ts → index.d.ts} +0 -0
  105. /package/components/datepicker/dist/{src/popoverVersion.d.ts → popoverVersion.d.ts} +0 -0
  106. /package/components/datepicker/dist/{src/styles → styles}/classic/color-css.d.ts +0 -0
  107. /package/components/datepicker/dist/{src/styles → styles}/classic/style-css.d.ts +0 -0
  108. /package/components/datepicker/dist/{src/styles → styles}/color-calendar-css.d.ts +0 -0
  109. /package/components/datepicker/dist/{src/styles → styles}/color-cell-css.d.ts +0 -0
  110. /package/components/datepicker/dist/{src/styles → styles}/color-css.d.ts +0 -0
  111. /package/components/datepicker/dist/{src/styles → styles}/color-month-css.d.ts +0 -0
  112. /package/components/datepicker/dist/{src/styles → styles}/shapeSize-css.d.ts +0 -0
  113. /package/components/datepicker/dist/{src/styles → styles}/snowflake/color-css.d.ts +0 -0
  114. /package/components/datepicker/dist/{src/styles → styles}/snowflake/style-css.d.ts +0 -0
  115. /package/components/datepicker/dist/{src/styles → styles}/style-auro-calendar-cell-css.d.ts +0 -0
  116. /package/components/datepicker/dist/{src/styles → styles}/style-auro-calendar-css.d.ts +0 -0
  117. /package/components/datepicker/dist/{src/styles → styles}/style-auro-calendar-month-css.d.ts +0 -0
  118. /package/components/datepicker/dist/{src/styles → styles}/style-css.d.ts +0 -0
  119. /package/components/datepicker/dist/{src/styles → styles}/tokens-css.d.ts +0 -0
  120. /package/components/datepicker/dist/{src/utilities.d.ts → utilities.d.ts} +0 -0
  121. /package/components/datepicker/dist/{src/utilitiesCalendar.d.ts → utilitiesCalendar.d.ts} +0 -0
  122. /package/components/datepicker/dist/{src/utilitiesCalendarRender.d.ts → utilitiesCalendarRender.d.ts} +0 -0
  123. /package/components/datepicker/dist/{src/vendor → vendor}/wc-range-datepicker/day.d.ts +0 -0
  124. /package/components/datepicker/dist/{src/vendor → vendor}/wc-range-datepicker/range-datepicker-calendar.d.ts +0 -0
  125. /package/components/datepicker/dist/{src/vendor → vendor}/wc-range-datepicker/range-datepicker-cell.d.ts +0 -0
  126. /package/components/datepicker/dist/{src/vendor → vendor}/wc-range-datepicker/range-datepicker.d.ts +0 -0
@@ -6176,7 +6176,7 @@ function normalizeDates$3(context, ...dates) {
6176
6176
  * const result = startOfDay(new Date(2014, 8, 2, 11, 55, 0))
6177
6177
  * //=> Tue Sep 02 2014 00:00:00
6178
6178
  */
6179
- function startOfDay$4(date, options) {
6179
+ function startOfDay$3(date, options) {
6180
6180
  const _date = toDate$3(date, options?.in);
6181
6181
  _date.setHours(0, 0, 0, 0);
6182
6182
  return _date;
@@ -6224,8 +6224,8 @@ function differenceInCalendarDays$3(laterDate, earlierDate, options) {
6224
6224
  earlierDate,
6225
6225
  );
6226
6226
 
6227
- const laterStartOfDay = startOfDay$4(laterDate_);
6228
- const earlierStartOfDay = startOfDay$4(earlierDate_);
6227
+ const laterStartOfDay = startOfDay$3(laterDate_);
6228
+ const earlierStartOfDay = startOfDay$3(earlierDate_);
6229
6229
 
6230
6230
  const laterTimestamp =
6231
6231
  +laterStartOfDay - getTimezoneOffsetInMilliseconds$3(laterStartOfDay);
@@ -13372,7 +13372,7 @@ let AuroHelpText$8 = class AuroHelpText extends i$3 {
13372
13372
  }
13373
13373
  };
13374
13374
 
13375
- var formkitVersion$8 = '202606241801';
13375
+ var formkitVersion$8 = '202606252104';
13376
13376
 
13377
13377
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
13378
13378
  // See LICENSE in the project root for license information.
@@ -15456,7 +15456,7 @@ function normalizeDates$1(context, ...dates) {
15456
15456
  * const result = startOfDay(new Date(2014, 8, 2, 11, 55, 0))
15457
15457
  * //=> Tue Sep 02 2014 00:00:00
15458
15458
  */
15459
- function startOfDay$2(date, options) {
15459
+ function startOfDay$1(date, options) {
15460
15460
  const _date = toDate$1(date, options?.in);
15461
15461
  _date.setHours(0, 0, 0, 0);
15462
15462
  return _date;
@@ -15504,8 +15504,8 @@ function differenceInCalendarDays$1(laterDate, earlierDate, options) {
15504
15504
  earlierDate,
15505
15505
  );
15506
15506
 
15507
- const laterStartOfDay = startOfDay$2(laterDate_);
15508
- const earlierStartOfDay = startOfDay$2(earlierDate_);
15507
+ const laterStartOfDay = startOfDay$1(laterDate_);
15508
+ const earlierStartOfDay = startOfDay$1(earlierDate_);
15509
15509
 
15510
15510
  const laterTimestamp =
15511
15511
  +laterStartOfDay - getTimezoneOffsetInMilliseconds$1(laterStartOfDay);
@@ -24962,8 +24962,8 @@ class RangeDatepickerCell extends i$3 {
24962
24962
  const parsedDateFrom = parseInt(dateFrom, 10);
24963
24963
  const parsedDateTo = parseInt(dateTo, 10);
24964
24964
  if (day) {
24965
- if (getTime(startOfDay$2(parsedDateTo * 1000)) / 1000 === day.date ||
24966
- getTime(startOfDay$2(parsedDateFrom * 1000)) / 1000 === day.date) {
24965
+ if (getTime(startOfDay$1(parsedDateTo * 1000)) / 1000 === day.date ||
24966
+ getTime(startOfDay$1(parsedDateFrom * 1000)) / 1000 === day.date) {
24967
24967
  this.selected = true;
24968
24968
  }
24969
24969
  if (((hoveredDate === day.date || day.date < hoveredDate) &&
@@ -25151,7 +25151,7 @@ class RangeDatepickerCalendar extends i$3 {
25151
25151
  this.dayNamesOfTheWeek = [];
25152
25152
  this.daysOfMonth = [];
25153
25153
  this._locale = null;
25154
- this.currentDate = parseInt(format$1(startOfDay$2(Date.now()), 't'), 10);
25154
+ this.currentDate = parseInt(format$1(startOfDay$1(Date.now()), 't'), 10);
25155
25155
  this.localeChanged();
25156
25156
  this.yearAndMonthChanged(this.year, this.month);
25157
25157
  }
@@ -25625,7 +25625,7 @@ __decorate([n$4({ type: Array })], RangeDatepickerCalendar.prototype, "dayNamesO
25625
25625
  __decorate([n$4({ type: Array })], RangeDatepickerCalendar.prototype, "daysOfMonth", void 0);
25626
25626
  AuroLibraryRuntimeUtils$5$1.prototype.registerComponent('wc-range-datepicker-calendar', RangeDatepickerCalendar);
25627
25627
 
25628
- var styleCss$5$2 = i$6`.body-default{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-default-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-default-font-size, 1rem);line-height:var(--wcss-body-default-line-height, 1.5rem)}.body-default-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-default-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-default-emphasized-font-size, 1rem);line-height:var(--wcss-body-default-emphasized-line-height, 1.5rem)}.body-lg{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-lg-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-lg-font-size, 1.125rem);line-height:var(--wcss-body-lg-line-height, 1.625rem)}.body-lg-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-lg-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-lg-emphasized-font-size, 1.125rem);line-height:var(--wcss-body-lg-emphasized-line-height, 1.625rem)}.body-sm{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-sm-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-sm-font-size, 0.875rem);line-height:var(--wcss-body-sm-line-height, 1.25rem)}.body-sm-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-sm-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-sm-emphasized-font-size, 0.875rem);line-height:var(--wcss-body-sm-emphasized-line-height, 1.25rem)}.body-xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-xs-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-xs-font-size, 0.75rem);line-height:var(--wcss-body-xs-line-height, 1rem)}.body-xs-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-xs-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-xs-emphasized-font-size, 0.75rem);line-height:var(--wcss-body-xs-emphasized-line-height, 1rem)}.body-2xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-2xs-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-2xs-font-size, 0.625rem);line-height:var(--wcss-body-2xs-line-height, 0.875rem)}.body-2xs-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-2xs-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-2xs-emphasized-font-size, 0.625rem);line-height:var(--wcss-body-2xs-emphasized-line-height, 0.875rem)}.display-2xl{font-family:var(--wcss-display-2xl-family, "AS Circular"),var(--wcss-display-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-2xl-weight, 300);line-height:var(--wcss-display-2xl-line-height, 1.3);font-size:var(--wcss-display-2xl-font-size, clamp(3.5rem, 6vw, 5.375rem));letter-spacing:var(--wcss-display-2xl-letter-spacing, 0)}.display-xl{font-family:var(--wcss-display-xl-family, "AS Circular"),var(--wcss-display-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-xl-weight, 300);line-height:var(--wcss-display-xl-line-height, 1.3);font-size:var(--wcss-display-xl-font-size, clamp(3rem, 5.3333333333vw, 4.5rem));letter-spacing:var(--wcss-display-xl-letter-spacing, 0)}.display-lg{font-family:var(--wcss-display-lg-family, "AS Circular"),var(--wcss-display-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-lg-weight, 300);line-height:var(--wcss-display-lg-line-height, 1.3);font-size:var(--wcss-display-lg-font-size, clamp(2.75rem, 4.6666666667vw, 4rem));letter-spacing:var(--wcss-display-lg-letter-spacing, 0)}.display-md{font-family:var(--wcss-display-md-family, "AS Circular"),var(--wcss-display-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-md-weight, 300);line-height:var(--wcss-display-md-line-height, 1.3);font-size:var(--wcss-display-md-font-size, clamp(2.5rem, 4vw, 3.5rem));letter-spacing:var(--wcss-display-md-letter-spacing, 0)}.display-sm{font-family:var(--wcss-display-sm-family, "AS Circular"),var(--wcss-display-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-sm-weight, 300);line-height:var(--wcss-display-sm-line-height, 1.3);font-size:var(--wcss-display-sm-font-size, clamp(2rem, 3.6666666667vw, 3rem));letter-spacing:var(--wcss-display-sm-letter-spacing, 0)}.display-xs{font-family:var(--wcss-display-xs-family, "AS Circular"),var(--wcss-display-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-xs-weight, 300);line-height:var(--wcss-display-xs-line-height, 1.3);font-size:var(--wcss-display-xs-font-size, clamp(1.75rem, 3vw, 2.375rem));letter-spacing:var(--wcss-display-xs-letter-spacing, 0)}.heading-xl{font-family:var(--wcss-heading-xl-family, "AS Circular"),var(--wcss-heading-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-xl-weight, 300);line-height:var(--wcss-heading-xl-line-height, 1.3);font-size:var(--wcss-heading-xl-font-size, clamp(2rem, 3vw, 2.5rem));letter-spacing:var(--wcss-heading-xl-letter-spacing, 0)}.heading-lg{font-family:var(--wcss-heading-lg-family, "AS Circular"),var(--wcss-heading-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-lg-weight, 300);line-height:var(--wcss-heading-lg-line-height, 1.3);font-size:var(--wcss-heading-lg-font-size, clamp(1.75rem, 2.6666666667vw, 2.25rem));letter-spacing:var(--wcss-heading-lg-letter-spacing, 0)}.heading-md{font-family:var(--wcss-heading-md-family, "AS Circular"),var(--wcss-heading-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-md-weight, 300);line-height:var(--wcss-heading-md-line-height, 1.3);font-size:var(--wcss-heading-md-font-size, clamp(1.625rem, 2.3333333333vw, 1.75rem));letter-spacing:var(--wcss-heading-md-letter-spacing, 0)}.heading-sm{font-family:var(--wcss-heading-sm-family, "AS Circular"),var(--wcss-heading-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-sm-weight, 300);line-height:var(--wcss-heading-sm-line-height, 1.3);font-size:var(--wcss-heading-sm-font-size, clamp(1.375rem, 2vw, 1.5rem));letter-spacing:var(--wcss-heading-sm-letter-spacing, 0)}.heading-xs{font-family:var(--wcss-heading-xs-family, "AS Circular"),var(--wcss-heading-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-xs-weight, 300);line-height:var(--wcss-heading-xs-line-height, 1.3);font-size:var(--wcss-heading-xs-font-size, clamp(1.25rem, 1.6666666667vw, 1.25rem));letter-spacing:var(--wcss-heading-xs-letter-spacing, 0)}.heading-2xs{font-family:var(--wcss-heading-2xs-family, "AS Circular"),var(--wcss-heading-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-2xs-weight, 300);line-height:var(--wcss-heading-2xs-line-height, 1.3);font-size:var(--wcss-heading-2xs-font-size, clamp(1.125rem, 1.5vw, 1.125rem));letter-spacing:var(--wcss-heading-2xs-letter-spacing, 0)}.accent-2xl{font-family:var(--wcss-accent-2xl-family, "Good OT"),var(--wcss-accent-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-2xl-weight, 450);line-height:var(--wcss-accent-2xl-line-height, 1);font-size:var(--wcss-accent-2xl-font-size, clamp(2rem, 3.1666666667vw, 2.375rem));letter-spacing:var(--wcss-accent-2xl-letter-spacing, 0.05em);text-transform:uppercase}.accent-xl{font-family:var(--wcss-accent-xl-family, "Good OT"),var(--wcss-accent-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-xl-weight, 450);line-height:var(--wcss-accent-xl-line-height, 1.3);font-size:var(--wcss-accent-xl-font-size, clamp(1.625rem, 2.3333333333vw, 2rem));letter-spacing:var(--wcss-accent-xl-letter-spacing, 0.05em);text-transform:uppercase}.accent-lg{font-family:var(--wcss-accent-lg-family, "Good OT"),var(--wcss-accent-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-lg-weight, 450);line-height:var(--wcss-accent-lg-line-height, 1.3);font-size:var(--wcss-accent-lg-font-size, clamp(1.5rem, 2.1666666667vw, 1.75rem));letter-spacing:var(--wcss-accent-lg-letter-spacing, 0.05em);text-transform:uppercase}.accent-md{font-family:var(--wcss-accent-md-family, "Good OT"),var(--wcss-accent-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-md-weight, 500);line-height:var(--wcss-accent-md-line-height, 1.3);font-size:var(--wcss-accent-md-font-size, clamp(1.375rem, 1.8333333333vw, 1.5rem));letter-spacing:var(--wcss-accent-md-letter-spacing, 0.05em);text-transform:uppercase}.accent-sm{font-family:var(--wcss-accent-sm-family, "Good OT"),var(--wcss-accent-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-sm-weight, 500);line-height:var(--wcss-accent-sm-line-height, 1.3);font-size:var(--wcss-accent-sm-font-size, clamp(1.125rem, 1.5vw, 1.25rem));letter-spacing:var(--wcss-accent-sm-letter-spacing, 0.05em);text-transform:uppercase}.accent-xs{font-family:var(--wcss-accent-xs-family, "Good OT"),var(--wcss-accent-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-xs-weight, 500);line-height:var(--wcss-accent-xs-line-height, 1.3);font-size:var(--wcss-accent-xs-font-size, clamp(1rem, 1.3333333333vw, 1rem));letter-spacing:var(--wcss-accent-xs-letter-spacing, 0.1em);text-transform:uppercase}.accent-2xs{font-family:var(--wcss-accent-2xs-family, "Good OT"),var(--wcss-accent-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-2xs-weight, 450);line-height:var(--wcss-accent-2xs-line-height, 1.3);font-size:var(--wcss-accent-2xs-font-size, clamp(0.875rem, 1.1666666667vw, 0.875rem));letter-spacing:var(--wcss-accent-2xs-letter-spacing, 0.1em);text-transform:uppercase}@media screen and (max-width: 576px){:host{display:flex;justify-content:center}}.day{position:relative;width:48px;height:56px;padding:0;border-width:2px;border-style:solid;border-radius:10px;cursor:pointer;user-select:none}.day:focus-visible{outline:none;background-color:unset}.day.activeCell{outline-width:2px;outline-style:solid;outline-offset:-4px}.day.disabled{cursor:default !important;pointer-events:none}.day.blackout{cursor:pointer}.day.reference:after{position:absolute;top:-2px;left:-2px;display:block;width:calc(100% + 2px);height:calc(100% + 2px);box-sizing:content-box;border-radius:10px;border-style:solid;border-width:1px;content:""}.day.inRange::before{position:absolute;z-index:-1;top:-2px;left:-2px;display:block;width:calc(100% + 4px);height:calc(100% + 4px);box-sizing:content-box;content:""}.day.rangeDepartDate::before{position:absolute;z-index:-1;top:-2px;left:-2px;display:block;width:calc(100% + 4px);height:calc(100% + 4px);box-sizing:content-box;content:"";border-radius:10px 0 0 10px;overflow:hidden}.day.rangeReturnDate::before,.day.lastHoveredDate::before{position:absolute;z-index:-1;top:-2px;left:-2px;display:block;width:calc(100% + 4px);height:calc(100% + 4px);box-sizing:content-box;content:"";border-radius:0 10px 10px 0;overflow:hidden}.day.firstDayOfMonth::before{border-radius:10px 0 0 10px;overflow:hidden}.day.lastDayOfMonth::before{border-radius:0 10px 10px 0;overflow:hidden}.buttonWrapper{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%}.dateSlot{display:block}::slotted([slot^=date_]){width:100%;white-space:nowrap}::slotted(auro-icon){max-height:24px;max-width:24px}:host([renderForDateSlot]) .buttonWrapper{position:relative;width:100%;height:100%}:host([renderForDateSlot]) .currentDayMarker{position:relative}`;
25628
+ var styleCss$5$2 = i$6`.body-default{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-default-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-default-font-size, 1rem);line-height:var(--wcss-body-default-line-height, 1.5rem)}.body-default-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-default-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-default-emphasized-font-size, 1rem);line-height:var(--wcss-body-default-emphasized-line-height, 1.5rem)}.body-lg{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-lg-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-lg-font-size, 1.125rem);line-height:var(--wcss-body-lg-line-height, 1.625rem)}.body-lg-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-lg-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-lg-emphasized-font-size, 1.125rem);line-height:var(--wcss-body-lg-emphasized-line-height, 1.625rem)}.body-sm{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-sm-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-sm-font-size, 0.875rem);line-height:var(--wcss-body-sm-line-height, 1.25rem)}.body-sm-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-sm-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-sm-emphasized-font-size, 0.875rem);line-height:var(--wcss-body-sm-emphasized-line-height, 1.25rem)}.body-xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-xs-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-xs-font-size, 0.75rem);line-height:var(--wcss-body-xs-line-height, 1rem)}.body-xs-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-xs-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-xs-emphasized-font-size, 0.75rem);line-height:var(--wcss-body-xs-emphasized-line-height, 1rem)}.body-2xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-2xs-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-2xs-font-size, 0.625rem);line-height:var(--wcss-body-2xs-line-height, 0.875rem)}.body-2xs-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-2xs-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-2xs-emphasized-font-size, 0.625rem);line-height:var(--wcss-body-2xs-emphasized-line-height, 0.875rem)}.display-2xl{font-family:var(--wcss-display-2xl-family, "AS Circular"),var(--wcss-display-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-2xl-weight, 300);line-height:var(--wcss-display-2xl-line-height, 1.3);font-size:var(--wcss-display-2xl-font-size, clamp(3.5rem, 6vw, 5.375rem));letter-spacing:var(--wcss-display-2xl-letter-spacing, 0)}.display-xl{font-family:var(--wcss-display-xl-family, "AS Circular"),var(--wcss-display-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-xl-weight, 300);line-height:var(--wcss-display-xl-line-height, 1.3);font-size:var(--wcss-display-xl-font-size, clamp(3rem, 5.3333333333vw, 4.5rem));letter-spacing:var(--wcss-display-xl-letter-spacing, 0)}.display-lg{font-family:var(--wcss-display-lg-family, "AS Circular"),var(--wcss-display-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-lg-weight, 300);line-height:var(--wcss-display-lg-line-height, 1.3);font-size:var(--wcss-display-lg-font-size, clamp(2.75rem, 4.6666666667vw, 4rem));letter-spacing:var(--wcss-display-lg-letter-spacing, 0)}.display-md{font-family:var(--wcss-display-md-family, "AS Circular"),var(--wcss-display-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-md-weight, 300);line-height:var(--wcss-display-md-line-height, 1.3);font-size:var(--wcss-display-md-font-size, clamp(2.5rem, 4vw, 3.5rem));letter-spacing:var(--wcss-display-md-letter-spacing, 0)}.display-sm{font-family:var(--wcss-display-sm-family, "AS Circular"),var(--wcss-display-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-sm-weight, 300);line-height:var(--wcss-display-sm-line-height, 1.3);font-size:var(--wcss-display-sm-font-size, clamp(2rem, 3.6666666667vw, 3rem));letter-spacing:var(--wcss-display-sm-letter-spacing, 0)}.display-xs{font-family:var(--wcss-display-xs-family, "AS Circular"),var(--wcss-display-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-xs-weight, 300);line-height:var(--wcss-display-xs-line-height, 1.3);font-size:var(--wcss-display-xs-font-size, clamp(1.75rem, 3vw, 2.375rem));letter-spacing:var(--wcss-display-xs-letter-spacing, 0)}.heading-xl{font-family:var(--wcss-heading-xl-family, "AS Circular"),var(--wcss-heading-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-xl-weight, 300);line-height:var(--wcss-heading-xl-line-height, 1.3);font-size:var(--wcss-heading-xl-font-size, clamp(2rem, 3vw, 2.5rem));letter-spacing:var(--wcss-heading-xl-letter-spacing, 0)}.heading-lg{font-family:var(--wcss-heading-lg-family, "AS Circular"),var(--wcss-heading-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-lg-weight, 300);line-height:var(--wcss-heading-lg-line-height, 1.3);font-size:var(--wcss-heading-lg-font-size, clamp(1.75rem, 2.6666666667vw, 2.25rem));letter-spacing:var(--wcss-heading-lg-letter-spacing, 0)}.heading-md{font-family:var(--wcss-heading-md-family, "AS Circular"),var(--wcss-heading-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-md-weight, 300);line-height:var(--wcss-heading-md-line-height, 1.3);font-size:var(--wcss-heading-md-font-size, clamp(1.625rem, 2.3333333333vw, 1.75rem));letter-spacing:var(--wcss-heading-md-letter-spacing, 0)}.heading-sm{font-family:var(--wcss-heading-sm-family, "AS Circular"),var(--wcss-heading-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-sm-weight, 300);line-height:var(--wcss-heading-sm-line-height, 1.3);font-size:var(--wcss-heading-sm-font-size, clamp(1.375rem, 2vw, 1.5rem));letter-spacing:var(--wcss-heading-sm-letter-spacing, 0)}.heading-xs{font-family:var(--wcss-heading-xs-family, "AS Circular"),var(--wcss-heading-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-xs-weight, 300);line-height:var(--wcss-heading-xs-line-height, 1.3);font-size:var(--wcss-heading-xs-font-size, clamp(1.25rem, 1.6666666667vw, 1.25rem));letter-spacing:var(--wcss-heading-xs-letter-spacing, 0)}.heading-2xs{font-family:var(--wcss-heading-2xs-family, "AS Circular"),var(--wcss-heading-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-2xs-weight, 300);line-height:var(--wcss-heading-2xs-line-height, 1.3);font-size:var(--wcss-heading-2xs-font-size, clamp(1.125rem, 1.5vw, 1.125rem));letter-spacing:var(--wcss-heading-2xs-letter-spacing, 0)}.accent-2xl{font-family:var(--wcss-accent-2xl-family, "Good OT"),var(--wcss-accent-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-2xl-weight, 450);line-height:var(--wcss-accent-2xl-line-height, 1);font-size:var(--wcss-accent-2xl-font-size, clamp(2rem, 3.1666666667vw, 2.375rem));letter-spacing:var(--wcss-accent-2xl-letter-spacing, 0.05em);text-transform:uppercase}.accent-xl{font-family:var(--wcss-accent-xl-family, "Good OT"),var(--wcss-accent-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-xl-weight, 450);line-height:var(--wcss-accent-xl-line-height, 1.3);font-size:var(--wcss-accent-xl-font-size, clamp(1.625rem, 2.3333333333vw, 2rem));letter-spacing:var(--wcss-accent-xl-letter-spacing, 0.05em);text-transform:uppercase}.accent-lg{font-family:var(--wcss-accent-lg-family, "Good OT"),var(--wcss-accent-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-lg-weight, 450);line-height:var(--wcss-accent-lg-line-height, 1.3);font-size:var(--wcss-accent-lg-font-size, clamp(1.5rem, 2.1666666667vw, 1.75rem));letter-spacing:var(--wcss-accent-lg-letter-spacing, 0.05em);text-transform:uppercase}.accent-md{font-family:var(--wcss-accent-md-family, "Good OT"),var(--wcss-accent-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-md-weight, 500);line-height:var(--wcss-accent-md-line-height, 1.3);font-size:var(--wcss-accent-md-font-size, clamp(1.375rem, 1.8333333333vw, 1.5rem));letter-spacing:var(--wcss-accent-md-letter-spacing, 0.05em);text-transform:uppercase}.accent-sm{font-family:var(--wcss-accent-sm-family, "Good OT"),var(--wcss-accent-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-sm-weight, 500);line-height:var(--wcss-accent-sm-line-height, 1.3);font-size:var(--wcss-accent-sm-font-size, clamp(1.125rem, 1.5vw, 1.25rem));letter-spacing:var(--wcss-accent-sm-letter-spacing, 0.05em);text-transform:uppercase}.accent-xs{font-family:var(--wcss-accent-xs-family, "Good OT"),var(--wcss-accent-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-xs-weight, 500);line-height:var(--wcss-accent-xs-line-height, 1.3);font-size:var(--wcss-accent-xs-font-size, clamp(1rem, 1.3333333333vw, 1rem));letter-spacing:var(--wcss-accent-xs-letter-spacing, 0.1em);text-transform:uppercase}.accent-2xs{font-family:var(--wcss-accent-2xs-family, "Good OT"),var(--wcss-accent-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-2xs-weight, 450);line-height:var(--wcss-accent-2xs-line-height, 1.3);font-size:var(--wcss-accent-2xs-font-size, clamp(0.875rem, 1.1666666667vw, 0.875rem));letter-spacing:var(--wcss-accent-2xs-letter-spacing, 0.1em);text-transform:uppercase}@media screen and (max-width: 576px){:host{display:flex;justify-content:center}}.day{position:relative;width:48px;height:56px;padding:0;border-width:2px;border-style:solid;border-radius:10px;cursor:pointer;user-select:none}.day:focus-visible{outline:none;background-color:unset}.day.activeCell{outline-width:2px;outline-style:solid;outline-offset:-4px}.day.disabled{cursor:default !important;pointer-events:none}.day.blackout{cursor:pointer}.day.reference:after{position:absolute;top:-2px;left:-2px;display:block;width:calc(100% + 2px);height:calc(100% + 2px);box-sizing:content-box;border-radius:10px;border-style:solid;border-width:1px;content:""}.day.inRange::before{position:absolute;z-index:-1;top:-2px;left:-2px;display:block;width:calc(100% + 4px);height:calc(100% + 4px);box-sizing:content-box;content:""}.day.rangeDepartDate::before{position:absolute;z-index:-1;top:-2px;left:-2px;display:block;width:calc(100% + 4px);height:calc(100% + 4px);box-sizing:content-box;content:"";border-radius:10px 0 0 10px;overflow:hidden}.day.rangeReturnDate::before,.day.lastHoveredDate::before{position:absolute;z-index:-1;top:-2px;left:-2px;display:block;width:calc(100% + 4px);height:calc(100% + 4px);box-sizing:content-box;content:"";border-radius:0 10px 10px 0;overflow:hidden}.day.rangeDepartDate.lastHoveredDate::before{border-radius:10px}.day.firstDayOfMonth::before{border-radius:10px 0 0 10px;overflow:hidden}.day.lastDayOfMonth::before{border-radius:0 10px 10px 0;overflow:hidden}.buttonWrapper{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%}.dateSlot{display:block}::slotted([slot^=date_]){width:100%;white-space:nowrap}::slotted(auro-icon){max-height:24px;max-width:24px}:host([renderForDateSlot]) .buttonWrapper{position:relative;width:100%;height:100%}:host([renderForDateSlot]) .currentDayMarker{position:relative}`;
25629
25629
 
25630
25630
  var colorCss$5$2 = i$6`:host ::slotted([slot^=date_]){color:var(--ds-auro-calendar-cell-price-text-color)}:host ::slotted([slot^=date_][highlight]){--ds-auro-calendar-cell-price-text-color: var(--ds-basic-color-status-success, #447a1f)}:host .day{border-color:var(--ds-auro-calendar-cell-border-color);background-color:var(--ds-auro-calendar-cell-container-color);color:var(--ds-auro-calendar-cell-text-color)}:host .day.activeCell:not(.selected){--ds-auro-calendar-cell-container-color: var(--ds-auro-calendar-cell-in-range-color);border-color:var(--ds-advanced-color-state-selected);outline-color:var(--ds-auro-calendar-cell-container-color)}:host .day.selected{--ds-auro-calendar-cell-container-color: var(--ds-advanced-color-state-selected, #01426a);--ds-auro-calendar-cell-text-color: var(--ds-basic-color-texticon-inverse, #ffffff);--ds-auro-calendar-cell-price-text-color: var(--ds-basic-color-texticon-inverse, #ffffff)}:host .day.selected ::slotted([slot^=date_][highlight]){--ds-auro-calendar-cell-price-text-color: var(--ds-basic-color-status-success-subtle, #d6eac7)}:host .day.selected:hover{--ds-auro-calendar-cell-container-color: var(--ds-advanced-color-state-selected-hover, #00274a);--ds-auro-calendar-cell-text-color: var(--ds-basic-color-texticon-inverse, #ffffff)}:host .day.reference:after{border-color:var(--ds-basic-color-border-default, #959595);box-shadow:inset 0 0 0 2px var(--ds-basic-color-surface-default, #ffffff)}:host .day.reference:hover::after{box-shadow:inset 0 0 0 2px var(--ds-advanced-color-shared-background-muted, #f7f7f7)}:host .day:hover{--ds-auro-calendar-cell-container-color: var(--ds-advanced-color-state-background-hover, #f2f2f2);--ds-auro-calendar-cell-text-color: var(--ds-basic-color-texticon-default, #2a2a2a)}:host .day.disabled{--ds-auro-calendar-cell-container-color: transparent;--ds-auro-calendar-cell-text-color: var(--ds-basic-color-texticon-disabled, #d0d0d0);--ds-auro-calendar-cell-price-text-color: var(--ds-basic-color-texticon-disabled, #d0d0d0)}:host .day.blackout{--ds-auro-calendar-cell-container-color: transparent;--ds-auro-calendar-cell-text-color: var(--ds-basic-color-texticon-disabled, #d0d0d0);--ds-auro-calendar-cell-price-text-color: var(--ds-basic-color-texticon-disabled, #d0d0d0)}:host .day.inRange:before,:host .day.rangeDepartDate:before,:host .day.rangeReturnDate:before,:host .day.lastHoveredDate:before{background-color:var(--ds-auro-calendar-cell-in-range-color)}:host .day.sameDateTrip:before{--ds-auro-calendar-cell-in-range-color: transparent}`;
25631
25631
 
@@ -25650,13 +25650,103 @@ class s{registerComponent(e,t){customElements.get(e)||customElements.define(e,cl
25650
25650
 
25651
25651
  var popoverVersion = '6.0.1';
25652
25652
 
25653
- /* eslint-disable curly, max-lines, no-underscore-dangle, no-magic-numbers, no-underscore-dangle, max-params, no-extra-parens, arrow-parens, max-lines, line-comment-position, no-inline-comments, lit/binding-positions, lit/no-invalid-html */
25653
+ /**
25654
+ * Single source of truth for parsing and matching blackout dates across the
25655
+ * datepicker. Both `auro-calendar` (memoized Set + `isDateBlackout`) and the
25656
+ * pre-`firstUpdated` fallback inside `auro-calendar-cell` route through these
25657
+ * helpers so the YYYY-MM-DD → seconds conversion and the merge-with-legacy
25658
+ * `disabledDays` rules are defined exactly once.
25659
+ */
25654
25660
 
25655
- const startOfDay$1 = (ms) => {
25656
- const date = new Date(ms);
25657
- date.setHours(0, 0, 0, 0);
25658
- return date.getTime();
25659
- };
25661
+ /**
25662
+ * Converts a `YYYY-MM-DD` ISO date string to a Unix timestamp (seconds)
25663
+ * representing local midnight on that calendar day. Returns `null` for
25664
+ * inputs that don't parse to a finite timestamp.
25665
+ *
25666
+ * Uses the `new Date(year, monthIndex, day)` constructor (NOT
25667
+ * `new Date(isoStr)`) so the result is local-midnight rather than UTC
25668
+ * midnight — required to keep the calendar grid aligned with the user's
25669
+ * local calendar day in negative-offset timezones.
25670
+ *
25671
+ * @param {string} isoStr - Date string in `YYYY-MM-DD` format.
25672
+ * @returns {number|null} Local-midnight Unix timestamp (seconds), or null.
25673
+ */
25674
+ function parseIsoToTimestamp(isoStr) {
25675
+ if (typeof isoStr !== 'string') {
25676
+ return null;
25677
+ }
25678
+ const parts = isoStr.split('-');
25679
+ if (parts.length !== 3) {
25680
+ return null;
25681
+ }
25682
+ const year = parseInt(parts[0], 10);
25683
+ const month = parseInt(parts[1], 10);
25684
+ const day = parseInt(parts[2], 10);
25685
+ if (!Number.isFinite(year) || !Number.isFinite(month) || !Number.isFinite(day)) {
25686
+ return null;
25687
+ }
25688
+ // Reject overflow values like "2024-13-40" — JS `new Date(year, month, day)`
25689
+ // silently normalizes those to a different calendar day, which would
25690
+ // disable the wrong date if we let the result through.
25691
+ if (month < 1 || month > 12 || day < 1 || day > 31) {
25692
+ return null;
25693
+ }
25694
+ const date = new Date(year, month - 1, day);
25695
+ // Guard the residual case where JS still rolls a value (e.g. Feb 30 → Mar 2).
25696
+ // After construction, getFullYear/getMonth/getDate should match the inputs.
25697
+ if (date.getFullYear() !== year || date.getMonth() !== month - 1 || date.getDate() !== day) {
25698
+ return null;
25699
+ }
25700
+ const ts = Math.floor(date.getTime() / 1000);
25701
+ return Number.isFinite(ts) ? ts : null;
25702
+ }
25703
+
25704
+ /**
25705
+ * Builds a `Set<number>` of seconds-since-epoch timestamps covering both the
25706
+ * legacy `disabledDays` (already-numeric) array and the ISO `blackoutDates`
25707
+ * array. Use this for O(1) membership checks in hot paths.
25708
+ *
25709
+ * @param {Array<string|number>|undefined} disabledDays - Legacy timestamp array.
25710
+ * @param {Array<string>|undefined} blackoutDates - ISO `YYYY-MM-DD` array.
25711
+ * @returns {Set<number>}
25712
+ */
25713
+ function buildBlackoutSet(disabledDays, blackoutDates) {
25714
+ const set = new Set();
25715
+ if (Array.isArray(disabledDays)) {
25716
+ for (const day of disabledDays) {
25717
+ const ts = parseInt(day, 10);
25718
+ if (Number.isFinite(ts)) {
25719
+ set.add(ts);
25720
+ }
25721
+ }
25722
+ }
25723
+ if (Array.isArray(blackoutDates)) {
25724
+ for (const isoStr of blackoutDates) {
25725
+ const ts = parseIsoToTimestamp(isoStr);
25726
+ if (ts !== null) {
25727
+ set.add(ts);
25728
+ }
25729
+ }
25730
+ }
25731
+ return set;
25732
+ }
25733
+
25734
+ /**
25735
+ * One-shot membership test for a single timestamp against both blackout
25736
+ * sources. Allocates a Set on each call; only use this in cold paths
25737
+ * (e.g. the pre-`firstUpdated` cell fallback). Hot paths should hold the
25738
+ * Set returned from `buildBlackoutSet` and `.has(ts)` directly.
25739
+ *
25740
+ * @param {number} dateTs - Unix timestamp (seconds) to test.
25741
+ * @param {Array<string|number>|undefined} disabledDays - Legacy timestamp array.
25742
+ * @param {Array<string>|undefined} blackoutDates - ISO `YYYY-MM-DD` array.
25743
+ * @returns {boolean}
25744
+ */
25745
+ function isBlackoutTimestamp(dateTs, disabledDays, blackoutDates) {
25746
+ return buildBlackoutSet(disabledDays, blackoutDates).has(dateTs);
25747
+ }
25748
+
25749
+ /* 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 */
25660
25750
 
25661
25751
  class AuroCalendarCell extends i$3 {
25662
25752
  constructor() {
@@ -25704,6 +25794,14 @@ class AuroCalendarCell extends i$3 {
25704
25794
  type: Boolean,
25705
25795
  reflect: true
25706
25796
  },
25797
+ /**
25798
+ * @deprecated Propagated from the legacy `auro-calendar.disabledDays`
25799
+ * Unix-timestamp array. The cell honors it for backward compatibility
25800
+ * (see the divergence-check fallback inside `isBlackout`), but
25801
+ * consumers should migrate to `auro-datepicker.blackoutDates`
25802
+ * (YYYY-MM-DD ISO strings). The calendar emits a one-time
25803
+ * deprecation warning the first time a non-empty value is observed.
25804
+ */
25707
25805
  disabledDays: { type: Array },
25708
25806
  isCurrentDate: { type: Boolean },
25709
25807
  locale: { type: String },
@@ -25749,8 +25847,8 @@ class AuroCalendarCell extends i$3 {
25749
25847
  const parsedDateTo = parseInt(dateTo, 10);
25750
25848
 
25751
25849
  if (day) {
25752
- const departTimestamp = startOfDay$1(parsedDateFrom * 1000) / 1000;
25753
- const returnTimestamp = startOfDay$1(parsedDateTo * 1000) / 1000;
25850
+ const departTimestamp = new Date(parsedDateFrom * 1000).setHours(0, 0, 0, 0) / 1000;
25851
+ const returnTimestamp = new Date(parsedDateTo * 1000).setHours(0, 0, 0, 0) / 1000;
25754
25852
 
25755
25853
  if (day.date === departTimestamp || day.date === returnTimestamp) {
25756
25854
  this.selected = true;
@@ -25834,27 +25932,33 @@ class AuroCalendarCell extends i$3 {
25834
25932
  return false;
25835
25933
  }
25836
25934
 
25837
- // Check against disabledDays timestamps (legacy path)
25838
- if (Array.isArray(this.disabledDays) && this.disabledDays.length > 0 &&
25839
- (this.disabledDays.findIndex(dd => parseInt(dd, 10) === this.day.date) !== -1)) {
25840
- return true;
25841
- }
25842
-
25843
- // Check against blackoutDates (ISO format YYYY-MM-DD) on the datepicker
25844
- const blackoutDates = this.datepicker?.blackoutDates;
25845
-
25846
- if (Array.isArray(blackoutDates) && blackoutDates.length > 0) {
25847
- const date = new Date(this.day.date * 1000);
25848
- const yyyy = date.getFullYear();
25849
- const mm = String(date.getMonth() + 1).padStart(2, '0');
25850
- const dd = String(date.getDate()).padStart(2, '0');
25851
- const cellDate = `${yyyy}-${mm}-${dd}`;
25852
- if (blackoutDates.includes(cellDate)) {
25935
+ // Delegate to the calendar's memoized blackout Set for O(1) lookup
25936
+ // (instead of rescanning disabledDays + blackoutDates per render). The
25937
+ // Set is rebuilt only when either source array reference changes — see
25938
+ // auro-calendar.js#_getBlackoutSet.
25939
+ if (this.calendar && typeof this.calendar._getBlackoutSet === 'function') {
25940
+ if (this.calendar._getBlackoutSet().has(this.day.date)) {
25853
25941
  return true;
25854
25942
  }
25943
+ // If the cell's local disabledDays diverged from the calendar's (a
25944
+ // consumer or test mutated cell.disabledDays directly), the Set does
25945
+ // not reflect that addition — fall through to the per-cell scan only
25946
+ // when the reference no longer matches. Production data flow keeps
25947
+ // these identical, so this branch stays cold. Guarded with
25948
+ // Array.isArray to match `_getBlackoutSet`'s contract: non-array
25949
+ // values are treated as empty rather than crashing on `.findIndex`.
25950
+ if (Array.isArray(this.disabledDays) && this.disabledDays !== this.calendar.disabledDays && this.disabledDays.length > 0) {
25951
+ if (this.disabledDays.findIndex((dd) => parseInt(dd, 10) === this.day.date) !== -1) {
25952
+ return true;
25953
+ }
25954
+ }
25955
+ return false;
25855
25956
  }
25856
25957
 
25857
- return false;
25958
+ // Pre-firstUpdated fallback — the cell may render once before the
25959
+ // ancestor calendar is wired up. Routes through the shared
25960
+ // blackoutUtils helper so the parsing rules stay in one place.
25961
+ return isBlackoutTimestamp(this.day.date, this.disabledDays, this.datepicker?.blackoutDates);
25858
25962
  }
25859
25963
 
25860
25964
  /**
@@ -25960,12 +26064,12 @@ class AuroCalendarCell extends i$3 {
25960
26064
  const parsedDateFrom = Number.parseInt(this.dateFrom, 10);
25961
26065
  if (!Number.isFinite(parsedDateFrom)) return null;
25962
26066
 
25963
- const departTimestamp = startOfDay$1(parsedDateFrom * 1000) / 1000;
26067
+ const departTimestamp = new Date(parsedDateFrom * 1000).setHours(0, 0, 0, 0) / 1000;
25964
26068
  const dayDate = this.day.date;
25965
26069
 
25966
26070
  const parsedDateTo = Number.parseInt(this.dateTo, 10);
25967
26071
  const hasDateTo = Number.isFinite(parsedDateTo);
25968
- const returnTimestamp = hasDateTo ? startOfDay$1(parsedDateTo * 1000) / 1000 : null;
26072
+ const returnTimestamp = hasDateTo ? new Date(parsedDateTo * 1000).setHours(0, 0, 0, 0) / 1000 : null;
25969
26073
 
25970
26074
  if (dayDate === departTimestamp) return this.datepicker.rangeLabelStart || 'range start';
25971
26075
 
@@ -25975,7 +26079,9 @@ class AuroCalendarCell extends i$3 {
25975
26079
 
25976
26080
  if (hasDateTo && dayDate > departTimestamp && dayDate < returnTimestamp) return this.datepicker.rangeLabelInRange || 'in range';
25977
26081
 
25978
- // After start date, no end date yet, or after end date
26082
+ if (!hasDateTo && dayDate > departTimestamp) return this.datepicker.rangeLabelEndPreview || 'previewing range end';
26083
+
26084
+ // After end date when both dateFrom and dateTo are set.
25979
26085
  return this.datepicker.rangeLabelAfterRange || 'after range';
25980
26086
  }
25981
26087
 
@@ -25988,7 +26094,7 @@ class AuroCalendarCell extends i$3 {
25988
26094
  */
25989
26095
  isDepartDate(day, dateFrom) {
25990
26096
  const parsedDateFrom = parseInt(dateFrom, 10);
25991
- const departTimestamp = startOfDay$1(parsedDateFrom * 1000) / 1000;
26097
+ const departTimestamp = new Date(parsedDateFrom * 1000).setHours(0, 0, 0, 0) / 1000;
25992
26098
 
25993
26099
  return this.selected && day.date === departTimestamp;
25994
26100
  }
@@ -26003,7 +26109,7 @@ class AuroCalendarCell extends i$3 {
26003
26109
  */
26004
26110
  isReturnDate(day, dateFrom, dateTo) {
26005
26111
  const parsedDateTo = parseInt(dateTo, 10);
26006
- const returnTimestamp = startOfDay$1(parsedDateTo * 1000) / 1000;
26112
+ const returnTimestamp = new Date(parsedDateTo * 1000).setHours(0, 0, 0, 0) / 1000;
26007
26113
 
26008
26114
  return this.selected && day.date === returnTimestamp && dateFrom;
26009
26115
  }
@@ -26167,6 +26273,7 @@ class AuroCalendarCell extends i$3 {
26167
26273
  setTimeout(() => this.firstUpdated(), 0);
26168
26274
  return;
26169
26275
  }
26276
+ this.calendar = calendar;
26170
26277
  this.datepicker = calendar.datepicker;
26171
26278
  this._slotContentHandler = () => {
26172
26279
  this.handleSlotContent();
@@ -26224,12 +26331,13 @@ class AuroCalendarCell extends i$3 {
26224
26331
  this._cachedButton = this.shadowRoot.querySelector('button.day');
26225
26332
  });
26226
26333
 
26227
- // Update host-level aria attributes for ariaActiveDescendantElement.
26334
+ // Keep the host's gridcell aria attributes in sync with the day data.
26228
26335
  this.updateHostAria();
26229
26336
  }
26230
26337
 
26231
26338
  // Update host aria when selection changes (aria-selected, range labels)
26232
- if (properties.has('dateFrom') || properties.has('dateTo') || properties.has('selected')) {
26339
+ // or when isCurrentDate flips (aria-current).
26340
+ if (properties.has('dateFrom') || properties.has('dateTo') || properties.has('selected') || properties.has('isCurrentDate')) {
26233
26341
  this.updateHostAria();
26234
26342
  }
26235
26343
 
@@ -26240,8 +26348,8 @@ class AuroCalendarCell extends i$3 {
26240
26348
  }
26241
26349
 
26242
26350
  /**
26243
- * Updates ARIA attributes on the host element so that
26244
- * ariaActiveDescendantElement can expose cell info to the SR.
26351
+ * Sets host-level ARIA so each cell exposes its date, selection state,
26352
+ * and blackout status to assistive tech browsing the month grid.
26245
26353
  * @private
26246
26354
  * @returns {void}
26247
26355
  */
@@ -26250,16 +26358,27 @@ class AuroCalendarCell extends i$3 {
26250
26358
 
26251
26359
  const outOfRange = this.isOutOfRange(this.day, this.min, this.max);
26252
26360
  if (outOfRange) {
26361
+ // Strip every aria attribute the in-range branch may have set on a
26362
+ // previous render — if a cell flips from in-range to out-of-range
26363
+ // (calendar shifts months, minDate/maxDate change, etc.).
26253
26364
  this.removeAttribute('role');
26254
26365
  this.removeAttribute('aria-label');
26366
+ this.removeAttribute('aria-current');
26367
+ this.removeAttribute('aria-selected');
26368
+ this.removeAttribute('aria-disabled');
26255
26369
  return;
26256
26370
  }
26257
26371
 
26258
- // The host acts as the gridcell for ariaActiveDescendantElement.
26259
26372
  this.setAttribute('role', 'gridcell');
26260
26373
  this.setAttribute('aria-label', this.getAriaLabel());
26261
26374
  this.setAttribute('aria-selected', this.selected ? 'true' : 'false');
26262
26375
 
26376
+ if (this.isCurrentDate) {
26377
+ this.setAttribute('aria-current', 'date');
26378
+ } else {
26379
+ this.removeAttribute('aria-current');
26380
+ }
26381
+
26263
26382
  if (this.isBlackout()) {
26264
26383
  this.setAttribute('aria-disabled', 'true');
26265
26384
  } else {
@@ -26274,7 +26393,7 @@ class AuroCalendarCell extends i$3 {
26274
26393
  * @returns {void}
26275
26394
  */
26276
26395
  focusButton() {
26277
- const button = this._cachedButton || this.shadowRoot.querySelector('button:not([aria-hidden])');
26396
+ const button = this._cachedButton || this.shadowRoot.querySelector('button:not([disabled])');
26278
26397
  if (button) {
26279
26398
  button.focus({ focusVisible: true });
26280
26399
  }
@@ -26282,7 +26401,9 @@ class AuroCalendarCell extends i$3 {
26282
26401
 
26283
26402
  /**
26284
26403
  * Imperatively marks this cell as active without triggering a Lit re-render.
26285
- * Note: buttons stay tabindex="-1" because the grid uses aria-activedescendant.
26404
+ * Buttons stay tabindex="-1" because DOM focus stays on the grid wrapper
26405
+ * arrow keys move the active cell imperatively and the live region carries
26406
+ * the SR announcement.
26286
26407
  * @returns {void}
26287
26408
  */
26288
26409
  setActive() {
@@ -26324,10 +26445,13 @@ class AuroCalendarCell extends i$3 {
26324
26445
  if (!btn || !this.day) return;
26325
26446
 
26326
26447
  const dayDate = this.day.date;
26327
- const departTimestamp = startOfDay$1(dateFrom * 1000) / 1000;
26448
+ const departTimestamp = new Date(dateFrom * 1000).setHours(0, 0, 0, 0) / 1000;
26328
26449
  const isInRange = dayDate > departTimestamp && dayDate < hoveredDate;
26329
- const isLastHovered = dayDate === hoveredDate && hoveredDate > departTimestamp;
26330
- const isDepartWithPreview = dayDate === departTimestamp && hoveredDate > departTimestamp;
26450
+ // `>=` so hovering the depart cell itself (a same-day round-trip
26451
+ // preview) still surfaces a visual cue: the depart cell receives both
26452
+ // rangeDepartDate and lastHoveredDate.
26453
+ const isLastHovered = dayDate === hoveredDate && hoveredDate >= departTimestamp;
26454
+ const isDepartWithPreview = dayDate === departTimestamp && hoveredDate >= departTimestamp;
26331
26455
 
26332
26456
  btn.classList.toggle('inRange', isInRange);
26333
26457
  btn.classList.toggle('lastHoveredDate', isLastHovered);
@@ -26385,7 +26509,6 @@ class AuroCalendarCell extends i$3 {
26385
26509
  @focus="${outOfRange ? undefined : this.handleFocus}"
26386
26510
  class="${e$2(buttonClasses)}"
26387
26511
  ?disabled="${outOfRange}"
26388
- aria-hidden="${outOfRange ? 'true' : A$7}"
26389
26512
  tabindex="-1">
26390
26513
  <div class="buttonWrapper" aria-hidden="true">
26391
26514
  <div class="currentDayMarker">${this.day?.title || A$7}</div>
@@ -27491,7 +27614,7 @@ let AuroBibtemplate$3 = class AuroBibtemplate extends i$3 {
27491
27614
  }
27492
27615
  };
27493
27616
 
27494
- var formkitVersion$2$1 = '202606241801';
27617
+ var formkitVersion$2$1 = '202606252104';
27495
27618
 
27496
27619
  let l$1$2 = class l{generateElementName(t,e){let o=t;return o+="-",o+=e.replace(/[.]/g,"_"),o}generateTag(o,s,a){const r=this.generateElementName(o,s),i=i$2`${s$3(r)}`;return customElements.get(r)||customElements.define(r,class extends a{}),i}};let d$1$2 = class d{registerComponent(t,e){customElements.get(t)||customElements.define(t,class extends e{});}closestElement(t,e=this,o=(e,s=e&&e.closest(t))=>e&&e!==document&&e!==window?s||o(e.getRootNode().host):null){return o(e)}handleComponentTagRename(t,e){const o=e.toLowerCase();t.tagName.toLowerCase()!==o&&t.setAttribute(o,true);}elementMatch(t,e){const o=e.toLowerCase();return t.tagName.toLowerCase()===o||t.hasAttribute(o)}getSlotText(t,e){const o=t.shadowRoot?.querySelector(`slot[name="${e}"]`),s=(o?.assignedNodes({flatten:true})||[]).map(t=>t.textContent?.trim()).join(" ").trim();return s||null}};let h$1$2 = class h{registerComponent(t,e){customElements.get(t)||customElements.define(t,class extends e{});}closestElement(t,e=this,o=(e,s=e&&e.closest(t))=>e&&e!==document&&e!==window?s||o(e.getRootNode().host):null){return o(e)}handleComponentTagRename(t,e){const o=e.toLowerCase();t.tagName.toLowerCase()!==o&&t.setAttribute(o,true);}elementMatch(t,e){const o=e.toLowerCase();return t.tagName.toLowerCase()===o||t.hasAttribute(o)}};var c$1$3=i$6`:host{color:var(--ds-auro-loader-color)}:host>span{background-color:var(--ds-auro-loader-background-color);border-color:var(--ds-auro-loader-border-color)}:host([onlight]),:host([appearance=brand]){--ds-auro-loader-color: var(--ds-basic-color-brand-primary, #01426a)}:host([ondark]),:host([appearance=inverse]){--ds-auro-loader-color: var(--ds-basic-color-texticon-inverse, #ffffff)}:host([orbit])>span{--ds-auro-loader-background-color: transparent}:host([orbit])>span:nth-child(1){--ds-auro-loader-border-color: currentcolor;opacity:.25}:host([orbit])>span:nth-child(2){--ds-auro-loader-border-color: currentcolor;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent}
27497
27620
  `,u$4$2=i$6`.body-default{font-size:var(--wcss-body-default-font-size, 1rem);line-height:var(--wcss-body-default-line-height, 1.5rem)}.body-default,.body-lg{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-weight, 450);letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-lg{font-size:var(--wcss-body-lg-font-size, 1.125rem);line-height:var(--wcss-body-lg-line-height, 1.625rem)}.body-sm{font-size:var(--wcss-body-sm-font-size, .875rem);line-height:var(--wcss-body-sm-line-height, 1.25rem)}.body-sm,.body-xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-weight, 450);letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-xs{font-size:var(--wcss-body-xs-font-size, .75rem);line-height:var(--wcss-body-xs-line-height, 1rem)}.body-2xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:var(--wcss-body-2xs-font-size, .625rem);font-weight:var(--wcss-body-weight, 450);letter-spacing:var(--wcss-body-letter-spacing, 0);line-height:var(--wcss-body-2xs-line-height, .875rem)}.display-2xl{font-family:var(--wcss-display-2xl-family, "AS Circular"),var(--wcss-display-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-2xl-font-size, clamp(3.5rem, 6vw, 5.375rem));font-weight:var(--wcss-display-2xl-weight, 300);letter-spacing:var(--wcss-display-2xl-letter-spacing, 0);line-height:var(--wcss-display-2xl-line-height, 1.3)}.display-xl{font-family:var(--wcss-display-xl-family, "AS Circular"),var(--wcss-display-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-xl-font-size, clamp(3rem, 5.3333333333vw, 4.5rem));font-weight:var(--wcss-display-xl-weight, 300);letter-spacing:var(--wcss-display-xl-letter-spacing, 0);line-height:var(--wcss-display-xl-line-height, 1.3)}.display-lg{font-family:var(--wcss-display-lg-family, "AS Circular"),var(--wcss-display-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-lg-font-size, clamp(2.75rem, 4.6666666667vw, 4rem));font-weight:var(--wcss-display-lg-weight, 300);letter-spacing:var(--wcss-display-lg-letter-spacing, 0);line-height:var(--wcss-display-lg-line-height, 1.3)}.display-md{font-family:var(--wcss-display-md-family, "AS Circular"),var(--wcss-display-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-md-font-size, clamp(2.5rem, 4vw, 3.5rem));font-weight:var(--wcss-display-md-weight, 300);letter-spacing:var(--wcss-display-md-letter-spacing, 0);line-height:var(--wcss-display-md-line-height, 1.3)}.display-sm{font-family:var(--wcss-display-sm-family, "AS Circular"),var(--wcss-display-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-sm-font-size, clamp(2rem, 3.6666666667vw, 3rem));font-weight:var(--wcss-display-sm-weight, 300);letter-spacing:var(--wcss-display-sm-letter-spacing, 0);line-height:var(--wcss-display-sm-line-height, 1.3)}.display-xs{font-family:var(--wcss-display-xs-family, "AS Circular"),var(--wcss-display-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-xs-font-size, clamp(1.75rem, 3vw, 2.375rem));font-weight:var(--wcss-display-xs-weight, 300);letter-spacing:var(--wcss-display-xs-letter-spacing, 0);line-height:var(--wcss-display-xs-line-height, 1.3)}.heading-xl{font-family:var(--wcss-heading-xl-family, "AS Circular"),var(--wcss-heading-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-xl-font-size, clamp(2rem, 3vw, 2.5rem));font-weight:var(--wcss-heading-xl-weight, 300);letter-spacing:var(--wcss-heading-xl-letter-spacing, 0);line-height:var(--wcss-heading-xl-line-height, 1.3)}.heading-lg{font-family:var(--wcss-heading-lg-family, "AS Circular"),var(--wcss-heading-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-lg-font-size, clamp(1.75rem, 2.6666666667vw, 2.25rem));font-weight:var(--wcss-heading-lg-weight, 300);letter-spacing:var(--wcss-heading-lg-letter-spacing, 0);line-height:var(--wcss-heading-lg-line-height, 1.3)}.heading-md{font-family:var(--wcss-heading-md-family, "AS Circular"),var(--wcss-heading-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-md-font-size, clamp(1.625rem, 2.3333333333vw, 1.75rem));font-weight:var(--wcss-heading-md-weight, 300);letter-spacing:var(--wcss-heading-md-letter-spacing, 0);line-height:var(--wcss-heading-md-line-height, 1.3)}.heading-sm{font-family:var(--wcss-heading-sm-family, "AS Circular"),var(--wcss-heading-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-sm-font-size, clamp(1.375rem, 2vw, 1.5rem));font-weight:var(--wcss-heading-sm-weight, 300);letter-spacing:var(--wcss-heading-sm-letter-spacing, 0);line-height:var(--wcss-heading-sm-line-height, 1.3)}.heading-xs{font-family:var(--wcss-heading-xs-family, "AS Circular"),var(--wcss-heading-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-xs-font-size, clamp(1.25rem, 1.6666666667vw, 1.25rem));font-weight:var(--wcss-heading-xs-weight, 450);letter-spacing:var(--wcss-heading-xs-letter-spacing, 0);line-height:var(--wcss-heading-xs-line-height, 1.3)}.heading-2xs{font-family:var(--wcss-heading-2xs-family, "AS Circular"),var(--wcss-heading-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-2xs-font-size, clamp(1.125rem, 1.5vw, 1.125rem));font-weight:var(--wcss-heading-2xs-weight, 450);letter-spacing:var(--wcss-heading-2xs-letter-spacing, 0);line-height:var(--wcss-heading-2xs-line-height, 1.3)}.accent-2xl{font-family:var(--wcss-accent-2xl-family, "Good OT"),var(--wcss-accent-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-2xl-font-size, clamp(2rem, 3.1666666667vw, 2.375rem));font-weight:var(--wcss-accent-2xl-weight, 450);letter-spacing:var(--wcss-accent-2xl-letter-spacing, .05em);line-height:var(--wcss-accent-2xl-line-height, 1)}.accent-2xl,.accent-xl{text-transform:uppercase}.accent-xl{font-family:var(--wcss-accent-xl-family, "Good OT"),var(--wcss-accent-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-xl-font-size, clamp(1.625rem, 2.3333333333vw, 2rem));font-weight:var(--wcss-accent-xl-weight, 450);letter-spacing:var(--wcss-accent-xl-letter-spacing, .05em);line-height:var(--wcss-accent-xl-line-height, 1.3)}.accent-lg{font-family:var(--wcss-accent-lg-family, "Good OT"),var(--wcss-accent-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-lg-font-size, clamp(1.5rem, 2.1666666667vw, 1.75rem));font-weight:var(--wcss-accent-lg-weight, 450);letter-spacing:var(--wcss-accent-lg-letter-spacing, .05em);line-height:var(--wcss-accent-lg-line-height, 1.3)}.accent-lg,.accent-md{text-transform:uppercase}.accent-md{font-family:var(--wcss-accent-md-family, "Good OT"),var(--wcss-accent-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-md-font-size, clamp(1.375rem, 1.8333333333vw, 1.5rem));font-weight:var(--wcss-accent-md-weight, 500);letter-spacing:var(--wcss-accent-md-letter-spacing, .05em);line-height:var(--wcss-accent-md-line-height, 1.3)}.accent-sm{font-family:var(--wcss-accent-sm-family, "Good OT"),var(--wcss-accent-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-sm-font-size, clamp(1.125rem, 1.5vw, 1.25rem));font-weight:var(--wcss-accent-sm-weight, 500);letter-spacing:var(--wcss-accent-sm-letter-spacing, .05em);line-height:var(--wcss-accent-sm-line-height, 1.3)}.accent-sm,.accent-xs{text-transform:uppercase}.accent-xs{font-family:var(--wcss-accent-xs-family, "Good OT"),var(--wcss-accent-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-xs-font-size, clamp(1rem, 1.3333333333vw, 1rem));font-weight:var(--wcss-accent-xs-weight, 500);letter-spacing:var(--wcss-accent-xs-letter-spacing, .1em);line-height:var(--wcss-accent-xs-line-height, 1.3)}.accent-2xs{font-family:var(--wcss-accent-2xs-family, "Good OT"),var(--wcss-accent-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-2xs-font-size, clamp(.875rem, 1.1666666667vw, .875rem));font-weight:var(--wcss-accent-2xs-weight, 450);letter-spacing:var(--wcss-accent-2xs-letter-spacing, .1em);line-height:var(--wcss-accent-2xs-line-height, 1.3);text-transform:uppercase}:focus:not(:focus-visible){outline:3px solid transparent}:host,:host>span{position:relative}:host{width:2rem;height:2rem;display:inline-block;font-size:0}:host>span{position:absolute;display:inline-block;float:none;top:0;left:0;width:2rem;height:2rem;border-radius:100%;border-style:solid;border-width:0;box-sizing:border-box}:host([xs]),:host([xs])>span{width:1.2rem;height:1.2rem}:host([sm]),:host([sm])>span{width:3rem;height:3rem}:host([md]),:host([md])>span{width:5rem;height:5rem}:host([lg]),:host([lg])>span{width:8rem;height:8rem}:host{--margin: .375rem;--margin-xs: .2rem;--margin-sm: .5rem;--margin-md: .75rem;--margin-lg: 1rem}:host([pulse]),:host([pulse])>span{position:relative}:host([pulse]){width:calc(3rem + var(--margin) * 6);height:calc(1rem + var(--margin) * 2)}:host([pulse])>span{width:1rem;height:1rem;margin:var(--margin);animation:pulse 1.5s ease infinite}:host([pulse][xs]){width:calc(1.95rem + var(--margin-xs) * 6);height:calc(.65rem + var(--margin-xs) * 2)}:host([pulse][xs])>span{margin:var(--margin-xs);width:.65rem;height:.65rem}:host([pulse][sm]){width:calc(6rem + var(--margin-sm) * 6);height:calc(2rem + var(--margin-sm) * 2)}:host([pulse][sm])>span{margin:var(--margin-sm);width:2rem;height:2rem}:host([pulse][md]){width:calc(9rem + var(--margin-md) * 6);height:calc(3rem + var(--margin-md) * 2)}:host([pulse][md])>span{margin:var(--margin-md);width:3rem;height:3rem}:host([pulse][lg]){width:calc(15rem + var(--margin-lg) * 6);height:calc(5rem + var(--margin-lg) * 2)}:host([pulse][lg])>span{margin:var(--margin-lg);width:5rem;height:5rem}:host([pulse])>span:nth-child(1){animation-delay:-.4s}:host([pulse])>span:nth-child(2){animation-delay:-.2s}:host([pulse])>span:nth-child(3){animation-delay:0ms}@keyframes pulse{0%,to{opacity:.1;transform:scale(.9)}50%{opacity:1;transform:scale(1.1)}}:host([orbit]),:host([orbit])>span{opacity:1}:host([orbit])>span{border-width:5px}:host([orbit])>span:nth-child(2){animation:orbit 2s linear infinite}:host([orbit][sm])>span{border-width:8px}:host([orbit][md])>span{border-width:13px}:host([orbit][lg])>span{border-width:21px}@keyframes orbit{0%{transform:rotate(0)}to{transform:rotate(360deg)}}:host([ringworm])>svg{animation:rotate 2s linear infinite;height:100%;width:100%;stroke:currentcolor;stroke-width:8}:host([ringworm]) .path{stroke-dashoffset:0;animation:ringworm 1.5s ease-in-out infinite;stroke-linecap:round}@keyframes rotate{to{transform:rotate(360deg)}}@keyframes ringworm{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px}to{stroke-dasharray:89,200;stroke-dashoffset:-124px}}:host([laser]){position:static;width:100%;display:block;height:0;overflow:hidden;font-size:unset}:host([laser])>span{position:fixed;width:100%;height:.25rem;border-radius:0;z-index:100}:host([laser])>span:nth-child(1){border-color:currentcolor;opacity:.25}:host([laser])>span:nth-child(2){border-color:currentcolor;animation:laser 2s linear infinite;opacity:1;width:50%}:host([laser][sm])>span:nth-child(2){width:20%}:host([laser][md])>span:nth-child(2){width:30%}:host([laser][lg])>span:nth-child(2){width:50%;animation-duration:1.5s}:host([laser][xl])>span:nth-child(2){width:80%;animation-duration:1.5s}@keyframes laser{0%{left:-100%}to{left:110%}}:host>.no-animation{display:none}@media (prefers-reduced-motion: reduce){:host{display:flex;align-items:center;justify-content:center}:host>span{opacity:1}:host>.loader{display:none}:host>svg{display:none}:host>.no-animation{display:block}}
@@ -27614,7 +27737,11 @@ class AuroCalendar extends RangeDatepicker {
27614
27737
  this.calendarRangeMonths = null;
27615
27738
 
27616
27739
  /**
27617
- * Legacy array of disabled-date timestamps.
27740
+ * @deprecated Use `auro-datepicker.blackoutDates` (an array of
27741
+ * `YYYY-MM-DD` ISO strings) instead. This legacy array of Unix
27742
+ * timestamps is still honored for backward compatibility but emits a
27743
+ * one-time `console.debug` the first time a non-empty value is observed.
27744
+ * Support will be removed in a future major release.
27618
27745
  * @private
27619
27746
  */
27620
27747
  this.disabledDays = [];
@@ -27871,17 +27998,44 @@ class AuroCalendar extends RangeDatepicker {
27871
27998
  * @returns {void}
27872
27999
  */
27873
28000
  updateActiveCellForVisibleMonth() {
27874
- // Use double-rAF to ensure child month/cell components have fully
27875
- // rendered and cached their button references before we set tabindex.
27876
- requestAnimationFrame(() => {
27877
- requestAnimationFrame(() => {
27878
- const newDate = this.computeActiveDate({ skipDateFrom: true });
28001
+ this._afterMonthRender(() => {
28002
+ const newDate = this.computeActiveDate({ skipDateFrom: true });
27879
28003
 
27880
- if (newDate !== null && newDate !== undefined) {
27881
- this.activeCellDate = newDate;
27882
- this.setActiveCell(this.activeCellDate);
27883
- }
27884
- });
28004
+ if (newDate !== null && newDate !== undefined) {
28005
+ this.activeCellDate = newDate;
28006
+ this.setActiveCell(this.activeCellDate);
28007
+ }
28008
+ });
28009
+ }
28010
+
28011
+ /**
28012
+ * Schedules `callback` two animation frames out, giving the child
28013
+ * `auro-formkit-calendar-month` and `auro-formkit-calendar-cell` elements
28014
+ * a full render-and-paint cycle to settle before the callback reads or
28015
+ * mutates DOM.
28016
+ *
28017
+ * Why two frames, not one:
28018
+ * 1. Lit batches property updates and renders in a microtask, so frame N
28019
+ * schedules the render but the new DOM may not be painted yet.
28020
+ * 2. Cells re-cache `_cachedButton` inside their own `updateComplete.then`,
28021
+ * which also lands a tick later. Reading buttons from frame N+1
28022
+ * (after both renders + cache refresh have flushed) reliably hits the
28023
+ * new month's cells.
28024
+ *
28025
+ * Used by every code path that calls `handleNextMonth`/`handlePrevMonth`
28026
+ * and then needs to inspect the freshly-rendered cells (cross-month
28027
+ * keyboard nav, boundary events, `updateActiveCellForVisibleMonth`).
28028
+ * Do NOT collapse to a single rAF — it intermittently lands before
28029
+ * `_cachedButton` is refreshed, which silently breaks focus restoration
28030
+ * and `setActiveCell` lookups.
28031
+ * @private
28032
+ * @param {() => void} callback - Runs once after the month re-render and
28033
+ * the cells' button caches have refreshed.
28034
+ * @returns {void}
28035
+ */
28036
+ _afterMonthRender(callback) {
28037
+ requestAnimationFrame(() => {
28038
+ requestAnimationFrame(callback);
27885
28039
  });
27886
28040
  }
27887
28041
 
@@ -27999,6 +28153,47 @@ class AuroCalendar extends RangeDatepicker {
27999
28153
  return Array.from(this.shadowRoot.querySelectorAll('auro-formkit-calendar-month'));
28000
28154
  }
28001
28155
 
28156
+ /**
28157
+ * Picks the focusable cell whose date is closest to targetTs. Used as a
28158
+ * fallback after a month-boundary nav when the exact target date isn't
28159
+ * focusable — typically because the month re-render lagged or the date
28160
+ * was filtered out by isOutOfRange. When two cells are equidistant, the
28161
+ * navigation direction breaks the tie so the user moves the way they
28162
+ * pressed (forward → later cell, backward → earlier cell).
28163
+ * @private
28164
+ * @param {Array} cells - Focusable cells from getAllFocusableCells.
28165
+ * @param {Number} targetTs - Desired Unix timestamp (seconds).
28166
+ * @param {'next'|'prev'} direction - Navigation direction.
28167
+ * @returns {Object|null} The nearest cell, or null when cells is empty.
28168
+ */
28169
+ pickNearestCell(cells, targetTs, direction) {
28170
+ if (!cells.length) {
28171
+ return null;
28172
+ }
28173
+ const forward = direction === 'next';
28174
+ let best = null;
28175
+ let bestDelta = Infinity;
28176
+ cells.forEach((cell) => {
28177
+ if (!cell.day) {
28178
+ return;
28179
+ }
28180
+ const distance = Math.abs(cell.day.date - targetTs);
28181
+ if (distance < bestDelta) {
28182
+ best = cell;
28183
+ bestDelta = distance;
28184
+ return;
28185
+ }
28186
+ if (distance === bestDelta && best) {
28187
+ if (forward && cell.day.date > best.day.date) {
28188
+ best = cell;
28189
+ } else if (!forward && cell.day.date < best.day.date) {
28190
+ best = cell;
28191
+ }
28192
+ }
28193
+ });
28194
+ return best;
28195
+ }
28196
+
28002
28197
  /**
28003
28198
  * Gets all focusable cells across all rendered months.
28004
28199
  * @private
@@ -28015,9 +28210,9 @@ class AuroCalendar extends RangeDatepicker {
28015
28210
 
28016
28211
  /**
28017
28212
  * Sets the active cell across all months. Only one cell has tabindex="0" at a time.
28018
- * Uses imperative DOM manipulation — no Lit re-render triggered.
28019
- * Also updates ariaActiveDescendantElement on the grid wrapper so
28020
- * screen readers announce the active cell without moving DOM focus.
28213
+ * Uses imperative DOM manipulation — no Lit re-render triggered. DOM focus
28214
+ * stays on the grid wrapper; the live region (see getOrCreateLiveRegion)
28215
+ * is what announces the active cell to assistive tech.
28021
28216
  * @param {Number} date - Unix timestamp of the cell to activate.
28022
28217
  * @returns {void}
28023
28218
  */
@@ -28098,6 +28293,63 @@ class AuroCalendar extends RangeDatepicker {
28098
28293
  this.clearRangePreview();
28099
28294
  }
28100
28295
 
28296
+ /**
28297
+ * Returns a memoized Set of blackout timestamps (seconds) drawn from both
28298
+ * the legacy `disabledDays` array and the datepicker's ISO `blackoutDates`.
28299
+ * The cache invalidates when either source array's reference changes, which
28300
+ * matches Lit's own reactive identity semantics for array properties.
28301
+ * @private
28302
+ * @returns {Set<Number>}
28303
+ */
28304
+ _getBlackoutSet() {
28305
+ // Guard with Array.isArray so a non-array truthy value (string, object,
28306
+ // etc.) is treated as "no legacy disabledDays" — keeps the deprecation
28307
+ // warning and the memoization key consistent with what buildBlackoutSet
28308
+ // will actually consume (also an Array.isArray check).
28309
+ const disabledDays = Array.isArray(this.disabledDays) ? this.disabledDays : [];
28310
+ const blackoutDates = this.datepicker?.blackoutDates;
28311
+ if (this._blackoutSet &&
28312
+ this._cachedBlackoutDisabledDays === disabledDays &&
28313
+ this._cachedBlackoutDates === blackoutDates) {
28314
+ return this._blackoutSet;
28315
+ }
28316
+
28317
+ if (disabledDays.length > 0) {
28318
+ this._warnDisabledDaysDeprecated();
28319
+ }
28320
+
28321
+ this._blackoutSet = buildBlackoutSet(disabledDays, blackoutDates);
28322
+ this._cachedBlackoutDisabledDays = disabledDays;
28323
+ this._cachedBlackoutDates = blackoutDates;
28324
+ return this._blackoutSet;
28325
+ }
28326
+
28327
+ /**
28328
+ * Per-class flag that gates the `disabledDays` deprecation warning so it
28329
+ * fires exactly once per page no matter how many calendars or rebuild
28330
+ * cycles encounter the legacy array.
28331
+ * @private
28332
+ */
28333
+ static _warnedDisabledDaysDeprecation = false;
28334
+
28335
+ /**
28336
+ * One-time `console.debug` directing consumers from the legacy
28337
+ * `disabledDays` Unix-timestamp API to the ISO `blackoutDates` API. Fires
28338
+ * the first time `_getBlackoutSet` rebuilds from a non-empty
28339
+ * `disabledDays`; subsequent calls (on this or any other AuroCalendar
28340
+ * instance on the page) are silent.
28341
+ * @private
28342
+ * @returns {void}
28343
+ */
28344
+ _warnDisabledDaysDeprecated() {
28345
+ if (AuroCalendar._warnedDisabledDaysDeprecation) {
28346
+ return;
28347
+ }
28348
+ AuroCalendar._warnedDisabledDaysDeprecation = true;
28349
+ // eslint-disable-next-line no-console
28350
+ 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.');
28351
+ }
28352
+
28101
28353
  /**
28102
28354
  * Computes the initial active date from data properties alone — no DOM required.
28103
28355
  * Priority:
@@ -28142,21 +28394,10 @@ class AuroCalendar extends RangeDatepicker {
28142
28394
  const minTs = Number.isFinite(rawMin) ? rawMin : -Infinity;
28143
28395
  const maxTs = Number.isFinite(rawMax) ? rawMax : Infinity;
28144
28396
 
28145
- // Build a Set of blackout timestamps for O(1) lookup.
28146
- const blackoutSet = new Set(this.disabledDays.map((day) => parseInt(day, 10)));
28147
-
28148
- // Also include ISO-format blackoutDates from the datepicker if available.
28149
- // Parse YYYY-MM-DD as local date to avoid UTC shift issues.
28150
- const isoBlackouts = this.datepicker?.blackoutDates;
28151
- if (Array.isArray(isoBlackouts)) {
28152
- for (const isoStr of isoBlackouts) {
28153
- const parts = isoStr.split('-');
28154
- const ts = Math.floor(new Date(parseInt(parts[0], 10), parseInt(parts[1], 10) - 1, parseInt(parts[2], 10)).getTime() / 1000);
28155
- if (Number.isFinite(ts)) {
28156
- blackoutSet.add(ts);
28157
- }
28158
- }
28159
- }
28397
+ // Build a Set of blackout timestamps for O(1) lookup. Memoized by the
28398
+ // identity of the source arrays so rapid month nav doesn't rebuild the
28399
+ // Set (and re-parse every ISO string) on every keypress.
28400
+ const blackoutSet = this._getBlackoutSet();
28160
28401
 
28161
28402
  /**
28162
28403
  * A date (unix timestamp in seconds, midnight-aligned) is "enabled" when
@@ -28352,8 +28593,8 @@ class AuroCalendar extends RangeDatepicker {
28352
28593
 
28353
28594
  /**
28354
28595
  * Handles arrow key navigation on the calendar grid wrapper.
28355
- * Focus stays on the grid wrapper; only ariaActiveDescendantElement
28356
- * and the visual active-cell indicator change.
28596
+ * Focus stays on the grid wrapper; only the visual active-cell indicator
28597
+ * changes. The live region announces the new active cell.
28357
28598
  * @private
28358
28599
  * @param {KeyboardEvent} event - The keyboard event.
28359
28600
  * @returns {void}
@@ -28418,21 +28659,21 @@ class AuroCalendar extends RangeDatepicker {
28418
28659
  } else {
28419
28660
  this.handlePrevMonth({ skipActiveUpdate: true });
28420
28661
  }
28421
- requestAnimationFrame(() => {
28422
- requestAnimationFrame(() => {
28423
- const cells = this.getAllFocusableCells();
28424
- const target = cells.find((cell) => cell.day && cell.day.date === targetTs);
28425
- if (target) {
28426
- this.setActiveCell(target.day.date);
28427
- this.handleCellFocused({ detail: { date: target.day.date } });
28428
- } else if (cells.length > 0) {
28429
- const fallback = navDir === 'next' ? cells[cells.length - 1] : cells[0];
28662
+ this._afterMonthRender(() => {
28663
+ const cells = this.getAllFocusableCells();
28664
+ const target = cells.find((cell) => cell.day && cell.day.date === targetTs);
28665
+ if (target) {
28666
+ this.setActiveCell(target.day.date);
28667
+ this.handleCellFocused({ detail: { date: target.day.date } });
28668
+ } else {
28669
+ const fallback = this.pickNearestCell(cells, targetTs, navDir);
28670
+ if (fallback) {
28430
28671
  this.setActiveCell(fallback.day.date);
28431
28672
  this.handleCellFocused({ detail: { date: fallback.day.date } });
28432
28673
  }
28433
- // Re-focus grid wrapper after month change re-render
28434
- this.focusActiveCell();
28435
- });
28674
+ }
28675
+ // Re-focus grid wrapper after month change re-render
28676
+ this.focusActiveCell();
28436
28677
  });
28437
28678
  }
28438
28679
  }
@@ -28458,26 +28699,20 @@ class AuroCalendar extends RangeDatepicker {
28458
28699
  } else {
28459
28700
  this.handlePrevMonth({ skipActiveUpdate: true });
28460
28701
  }
28461
- requestAnimationFrame(() => {
28462
- requestAnimationFrame(() => {
28463
- const cells = this.getAllFocusableCells();
28464
- const target = cells.find((cell) => cell.day && cell.day.date === targetDate);
28465
- if (target) {
28466
- this.setActiveCell(target.day.date);
28467
- this.handleCellFocused({ detail: { date: target.day.date } });
28468
- } else if (cells.length > 0) {
28469
- let nearest = null;
28470
-
28471
- if (navDirection === 'next') {
28472
- [nearest] = cells;
28473
- } else {
28474
- nearest = cells[cells.length - 1];
28475
- }
28702
+ this._afterMonthRender(() => {
28703
+ const cells = this.getAllFocusableCells();
28704
+ const target = cells.find((cell) => cell.day && cell.day.date === targetDate);
28705
+ if (target) {
28706
+ this.setActiveCell(target.day.date);
28707
+ this.handleCellFocused({ detail: { date: target.day.date } });
28708
+ } else {
28709
+ const nearest = this.pickNearestCell(cells, targetDate, navDirection);
28710
+ if (nearest) {
28476
28711
  this.setActiveCell(nearest.day.date);
28477
28712
  this.handleCellFocused({ detail: { date: nearest.day.date } });
28478
28713
  }
28479
- this.focusActiveCell();
28480
- });
28714
+ }
28715
+ this.focusActiveCell();
28481
28716
  });
28482
28717
  }
28483
28718
  }
@@ -28527,19 +28762,17 @@ class AuroCalendar extends RangeDatepicker {
28527
28762
  }
28528
28763
 
28529
28764
  this.handleNextMonth({ skipActiveUpdate: true });
28530
- requestAnimationFrame(() => {
28531
- requestAnimationFrame(() => {
28532
- const cells = this.getAllFocusableCells();
28533
- const target = cells.find((cell) => cell.day && cell.day.date === nextTs);
28534
- if (target) {
28535
- this.setActiveCell(target.day.date);
28536
- this.focusActiveCell();
28537
- } else if (cells.length > 0) {
28538
- // Fallback: first cell of the last rendered month
28539
- this.setActiveCell(cells[cells.length - 1].day.date);
28540
- this.focusActiveCell();
28541
- }
28542
- });
28765
+ this._afterMonthRender(() => {
28766
+ const cells = this.getAllFocusableCells();
28767
+ const target = cells.find((cell) => cell.day && cell.day.date === nextTs);
28768
+ if (target) {
28769
+ this.setActiveCell(target.day.date);
28770
+ this.focusActiveCell();
28771
+ } else if (cells.length > 0) {
28772
+ // Fallback: first cell of the last rendered month
28773
+ this.setActiveCell(cells[cells.length - 1].day.date);
28774
+ this.focusActiveCell();
28775
+ }
28543
28776
  });
28544
28777
  } else if (direction === 'prev' && this.showPrevMonthBtn) {
28545
28778
  // Navigate to previous month and focus the computed previous date.
@@ -28553,19 +28786,17 @@ class AuroCalendar extends RangeDatepicker {
28553
28786
  }
28554
28787
 
28555
28788
  this.handlePrevMonth({ skipActiveUpdate: true });
28556
- requestAnimationFrame(() => {
28557
- requestAnimationFrame(() => {
28558
- const cells = this.getAllFocusableCells();
28559
- const target = cells.find((cell) => cell.day && cell.day.date === prevTs);
28560
- if (target) {
28561
- this.setActiveCell(target.day.date);
28562
- this.focusActiveCell();
28563
- } else if (cells.length > 0) {
28564
- // Fallback: last cell of the first rendered month
28565
- this.setActiveCell(cells[0].day.date);
28566
- this.focusActiveCell();
28567
- }
28568
- });
28789
+ this._afterMonthRender(() => {
28790
+ const cells = this.getAllFocusableCells();
28791
+ const target = cells.find((cell) => cell.day && cell.day.date === prevTs);
28792
+ if (target) {
28793
+ this.setActiveCell(target.day.date);
28794
+ this.focusActiveCell();
28795
+ } else if (cells.length > 0) {
28796
+ // Fallback: last cell of the first rendered month
28797
+ this.setActiveCell(cells[0].day.date);
28798
+ this.focusActiveCell();
28799
+ }
28569
28800
  });
28570
28801
  }
28571
28802
  } else if (key === 'ArrowDown' || key === 'ArrowUp') {
@@ -28593,20 +28824,18 @@ class AuroCalendar extends RangeDatepicker {
28593
28824
  } else {
28594
28825
  this.handlePrevMonth({ skipActiveUpdate: true });
28595
28826
  }
28596
- requestAnimationFrame(() => {
28597
- requestAnimationFrame(() => {
28598
- const cells = this.getAllFocusableCells();
28599
- const target = cells.find((cell) => cell.day && cell.day.date === targetDate);
28600
- if (target) {
28601
- this.setActiveCell(target.day.date);
28602
- this.focusActiveCell();
28603
- } else if (cells.length > 0) {
28604
- // Clamp to nearest focusable cell
28605
- const nearest = navDirection === 'next' ? cells[0] : cells[cells.length - 1];
28606
- this.setActiveCell(nearest.day.date);
28607
- this.focusActiveCell();
28608
- }
28609
- });
28827
+ this._afterMonthRender(() => {
28828
+ const cells = this.getAllFocusableCells();
28829
+ const target = cells.find((cell) => cell.day && cell.day.date === targetDate);
28830
+ if (target) {
28831
+ this.setActiveCell(target.day.date);
28832
+ this.focusActiveCell();
28833
+ } else if (cells.length > 0) {
28834
+ // Clamp to nearest focusable cell
28835
+ const nearest = navDirection === 'next' ? cells[0] : cells[cells.length - 1];
28836
+ this.setActiveCell(nearest.day.date);
28837
+ this.focusActiveCell();
28838
+ }
28610
28839
  });
28611
28840
  }
28612
28841
  }
@@ -28645,8 +28874,9 @@ class AuroCalendar extends RangeDatepicker {
28645
28874
  return;
28646
28875
  }
28647
28876
 
28648
- // With aria-activedescendant, the button no longer receives native focus,
28649
- // so we use the debounced live region for the full context announcement.
28877
+ // DOM focus stays on the grid wrapper while arrow keys move the active
28878
+ // cell, so cell buttons never receive native focus. The debounced live
28879
+ // region carries the full-context announcement instead.
28650
28880
  const announcement = this.buildFocusAnnouncement(date);
28651
28881
  this.announceFocusDebounced(announcement);
28652
28882
 
@@ -28716,10 +28946,10 @@ class AuroCalendar extends RangeDatepicker {
28716
28946
  return null;
28717
28947
  }
28718
28948
 
28719
- const departTs = startOfDay$2(parsedFrom * 1000) / 1000;
28949
+ const departTs = new Date(parsedFrom * 1000).setHours(0, 0, 0, 0) / 1000;
28720
28950
  const parsedTo = Number.parseInt(this.dateTo, 10);
28721
28951
  const hasTo = Number.isFinite(parsedTo);
28722
- const returnTs = hasTo ? startOfDay$2(parsedTo * 1000) / 1000 : null;
28952
+ const returnTs = hasTo ? new Date(parsedTo * 1000).setHours(0, 0, 0, 0) / 1000 : null;
28723
28953
 
28724
28954
  if (date === departTs) {
28725
28955
  return this.datepicker.rangeLabelStart || 'range start';
@@ -28733,36 +28963,22 @@ class AuroCalendar extends RangeDatepicker {
28733
28963
  if (hasTo && date > departTs && date < returnTs) {
28734
28964
  return this.datepicker.rangeLabelInRange || 'in range';
28735
28965
  }
28966
+ if (!hasTo && date > departTs) {
28967
+ return this.datepicker.rangeLabelEndPreview || 'previewing range end';
28968
+ }
28736
28969
  return this.datepicker.rangeLabelAfterRange || 'after range';
28737
28970
  }
28738
28971
 
28739
28972
  /**
28740
- * Checks whether a given date is a blackout date.
28973
+ * Checks whether a given date is a blackout date. Delegates to the
28974
+ * memoized `_getBlackoutSet` so the YYYY-MM-DD parsing and the
28975
+ * legacy/ISO merge rules live in exactly one place (see `blackoutUtils.js`).
28741
28976
  * @private
28742
28977
  * @param {Number} dateTs - Unix timestamp (seconds).
28743
28978
  * @returns {Boolean} True if the date is blacked out.
28744
28979
  */
28745
28980
  isDateBlackout(dateTs) {
28746
- // Check legacy disabledDays.
28747
- if (Array.isArray(this.disabledDays) && this.disabledDays.length > 0) {
28748
- if (this.disabledDays.findIndex((day) => parseInt(day, 10) === dateTs) !== -1) {
28749
- return true;
28750
- }
28751
- }
28752
-
28753
- // Check ISO blackoutDates.
28754
- const blackoutDates = this.datepicker?.blackoutDates;
28755
- if (Array.isArray(blackoutDates) && blackoutDates.length > 0) {
28756
- const date = new Date(dateTs * 1000);
28757
- const yyyy = date.getFullYear();
28758
- const mm = String(date.getMonth() + 1).padStart(2, '0');
28759
- const dd = String(date.getDate()).padStart(2, '0');
28760
- if (blackoutDates.includes(`${yyyy}-${mm}-${dd}`)) {
28761
- return true;
28762
- }
28763
- }
28764
-
28765
- return false;
28981
+ return this._getBlackoutSet().has(dateTs);
28766
28982
  }
28767
28983
 
28768
28984
  /**
@@ -28929,9 +29145,34 @@ class AuroCalendar extends RangeDatepicker {
28929
29145
  // the last one.
28930
29146
  if (this._announceRafId) {
28931
29147
  cancelAnimationFrame(this._announceRafId);
29148
+ this._announceRafId = null;
28932
29149
  }
29150
+ this._deliverAnnouncement(dateStr, 0);
29151
+ }
29152
+
29153
+ /**
29154
+ * Writes `dateStr` to the live region. If the dropdown's dialog hasn't
29155
+ * mounted yet (so getOrCreateLiveRegion can't attach), retries on the
29156
+ * next animation frame up to MAX_LIVE_REGION_RETRIES instead of silently
29157
+ * dropping the announcement. The retry uses the same `_announceRafId`
29158
+ * the double-rAF below uses, so a newer announceSelection call (or
29159
+ * disconnectedCallback) cancels any in-flight retry.
29160
+ * @private
29161
+ * @param {String} dateStr - The localized date string to announce.
29162
+ * @param {Number} attempts - Number of prior retry attempts.
29163
+ * @returns {void}
29164
+ */
29165
+ _deliverAnnouncement(dateStr, attempts) {
28933
29166
  const liveRegion = this.getOrCreateLiveRegion();
28934
29167
  if (!liveRegion) {
29168
+ const MAX_LIVE_REGION_RETRIES = 10;
29169
+ if (attempts < MAX_LIVE_REGION_RETRIES) {
29170
+ this._announceRafId = requestAnimationFrame(() => {
29171
+ this._deliverAnnouncement(dateStr, attempts + 1);
29172
+ });
29173
+ } else {
29174
+ this._announceRafId = null;
29175
+ }
28935
29176
  return;
28936
29177
  }
28937
29178
 
@@ -29117,7 +29358,7 @@ class AuroCalendar extends RangeDatepicker {
29117
29358
  </button>
29118
29359
  ` : undefined}
29119
29360
  </div>
29120
- <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}">
29361
+ <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}">
29121
29362
  ${this.renderAllCalendars()}
29122
29363
  </div>
29123
29364
  </div>
@@ -33002,7 +33243,7 @@ let AuroHelpText$2$1 = class AuroHelpText extends i$3 {
33002
33243
  }
33003
33244
  };
33004
33245
 
33005
- var formkitVersion$1$3 = '202606241801';
33246
+ var formkitVersion$1$3 = '202606252104';
33006
33247
 
33007
33248
  let AuroElement$2$2 = class AuroElement extends i$3 {
33008
33249
  static get properties() {
@@ -39399,7 +39640,7 @@ function normalizeDates$2(context, ...dates) {
39399
39640
  * const result = startOfDay(new Date(2014, 8, 2, 11, 55, 0))
39400
39641
  * //=> Tue Sep 02 2014 00:00:00
39401
39642
  */
39402
- function startOfDay$3(date, options) {
39643
+ function startOfDay$2(date, options) {
39403
39644
  const _date = toDate$2(date, options?.in);
39404
39645
  _date.setHours(0, 0, 0, 0);
39405
39646
  return _date;
@@ -39447,8 +39688,8 @@ function differenceInCalendarDays$2(laterDate, earlierDate, options) {
39447
39688
  earlierDate,
39448
39689
  );
39449
39690
 
39450
- const laterStartOfDay = startOfDay$3(laterDate_);
39451
- const earlierStartOfDay = startOfDay$3(earlierDate_);
39691
+ const laterStartOfDay = startOfDay$2(laterDate_);
39692
+ const earlierStartOfDay = startOfDay$2(earlierDate_);
39452
39693
 
39453
39694
  const laterTimestamp =
39454
39695
  +laterStartOfDay - getTimezoneOffsetInMilliseconds$2(laterStartOfDay);
@@ -46595,7 +46836,7 @@ let AuroHelpText$1$3 = class AuroHelpText extends i$3 {
46595
46836
  }
46596
46837
  };
46597
46838
 
46598
- var formkitVersion$7 = '202606241801';
46839
+ var formkitVersion$7 = '202606252104';
46599
46840
 
46600
46841
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
46601
46842
  // See LICENSE in the project root for license information.
@@ -48072,6 +48313,7 @@ class AuroDatePicker extends AuroElement$5 {
48072
48313
  this.rangeLabelBeforeRange = 'before range';
48073
48314
  this.rangeLabelInRange = 'in range';
48074
48315
  this.rangeLabelAfterRange = 'after range';
48316
+ this.rangeLabelEndPreview = 'previewing range end';
48075
48317
  this.blackoutDates = [];
48076
48318
  this.blackoutLabel = 'unavailable';
48077
48319
  this.navLabelPrevMonth = 'Previous month';
@@ -48171,6 +48413,22 @@ class AuroDatePicker extends AuroElement$5 {
48171
48413
  */
48172
48414
  this.handleClick = this.handleClick.bind(this);
48173
48415
 
48416
+ /**
48417
+ * Single AbortController shared by every listener registered in the
48418
+ * configure* methods. Lets disconnectedCallback tear all of them down
48419
+ * with one abort() call.
48420
+ *
48421
+ * The genuine leak risk is the listeners attached to children that can
48422
+ * outlive the host if they get reparented — `this.dropdown`,
48423
+ * `this.calendar`, and the inputs inside the dropdown's slot.
48424
+ * Listeners attached to `this` (e.g. focusin/focusout on the host)
48425
+ * form a self-contained reference graph that the GC can collect with
48426
+ * the host anyway, but they share the same signal so the cleanup
48427
+ * pattern stays uniform across all configure* sites.
48428
+ * @private
48429
+ */
48430
+ this._listenerAbortController = new AbortController();
48431
+
48174
48432
  /**
48175
48433
  * @private
48176
48434
  */
@@ -48219,6 +48477,7 @@ class AuroDatePicker extends AuroElement$5 {
48219
48477
 
48220
48478
  /**
48221
48479
  * Label announced for blackout (disabled but in-range) date cells.
48480
+ * @default 'unavailable'
48222
48481
  */
48223
48482
  blackoutLabel: {
48224
48483
  type: String,
@@ -48235,6 +48494,7 @@ class AuroDatePicker extends AuroElement$5 {
48235
48494
 
48236
48495
  /**
48237
48496
  * Accessible label for the calendar grid containing the days of the month.
48497
+ * @default 'Calendar days of the month'
48238
48498
  */
48239
48499
  calendarGridLabel: {
48240
48500
  type: String,
@@ -48397,6 +48657,7 @@ class AuroDatePicker extends AuroElement$5 {
48397
48657
 
48398
48658
  /**
48399
48659
  * Accessible label for the next month navigation button.
48660
+ * @default 'Next month'
48400
48661
  */
48401
48662
  navLabelNextMonth: {
48402
48663
  type: String,
@@ -48405,6 +48666,7 @@ class AuroDatePicker extends AuroElement$5 {
48405
48666
 
48406
48667
  /**
48407
48668
  * Accessible label for the previous month navigation button.
48669
+ * @default 'Previous month'
48408
48670
  */
48409
48671
  navLabelPrevMonth: {
48410
48672
  type: String,
@@ -48482,7 +48744,11 @@ class AuroDatePicker extends AuroElement$5 {
48482
48744
  },
48483
48745
 
48484
48746
  /**
48485
- * Label announced for cells after the range (or after start when no end is selected).
48747
+ * Label announced for cells after a fully selected range (both
48748
+ * `dateFrom` and `dateTo` are set). While a range is still being
48749
+ * picked (`dateFrom` set, `dateTo` unset), focused cells past the
48750
+ * start use `rangeLabelEndPreview` instead.
48751
+ * @default 'after range'
48486
48752
  */
48487
48753
  rangeLabelAfterRange: {
48488
48754
  type: String,
@@ -48491,6 +48757,7 @@ class AuroDatePicker extends AuroElement$5 {
48491
48757
 
48492
48758
  /**
48493
48759
  * Label announced for cells before the range start.
48760
+ * @default 'before range'
48494
48761
  */
48495
48762
  rangeLabelBeforeRange: {
48496
48763
  type: String,
@@ -48499,14 +48766,27 @@ class AuroDatePicker extends AuroElement$5 {
48499
48766
 
48500
48767
  /**
48501
48768
  * Label announced for the range end date cell.
48769
+ * @default 'range end'
48502
48770
  */
48503
48771
  rangeLabelEnd: {
48504
48772
  type: String,
48505
48773
  reflect: true
48506
48774
  },
48507
48775
 
48776
+ /**
48777
+ * Label announced for the focused cell while previewing a range end
48778
+ * (dateFrom set, dateTo not yet selected). Tells AT users that
48779
+ * pressing Enter would commit this cell as the range end.
48780
+ * @default 'previewing range end'
48781
+ */
48782
+ rangeLabelEndPreview: {
48783
+ type: String,
48784
+ reflect: true
48785
+ },
48786
+
48508
48787
  /**
48509
48788
  * Label announced for cells within the selected range.
48789
+ * @default 'in range'
48510
48790
  */
48511
48791
  rangeLabelInRange: {
48512
48792
  type: String,
@@ -48515,6 +48795,7 @@ class AuroDatePicker extends AuroElement$5 {
48515
48795
 
48516
48796
  /**
48517
48797
  * Label announced for the range start date cell.
48798
+ * @default 'range start'
48518
48799
  */
48519
48800
  rangeLabelStart: {
48520
48801
  type: String,
@@ -48522,7 +48803,7 @@ class AuroDatePicker extends AuroElement$5 {
48522
48803
  },
48523
48804
 
48524
48805
  /**
48525
- * Dates that the user should have for reference as part of their decision making when selecting a date.
48806
+ * Dates that the user should have for reference as part of their decision-making when selecting a date.
48526
48807
  * This should be a JSON string array of ISO date strings (`YYYY-MM-DD`).
48527
48808
  */
48528
48809
  referenceDates: {
@@ -48879,10 +49160,26 @@ class AuroDatePicker extends AuroElement$5 {
48879
49160
  // ─── Vendor calendar time conversions ─────────────────────────────────────
48880
49161
 
48881
49162
  /**
48882
- * Converts a Unix timestamp (seconds) from the vendor calendar to an ISO date string.
49163
+ * Converts a Unix timestamp (seconds) from the vendored range-datepicker
49164
+ * (`src/vendor/wc-range-datepicker/day.js`) to an ISO date string.
49165
+ *
49166
+ * Timezone contract:
49167
+ * - INPUT: `time` is assumed to be the seconds-since-epoch of **local
49168
+ * midnight** for the intended calendar day. The vendor's Day constructor
49169
+ * builds it via `date-fns format(date, 't')` from a locally-constructed
49170
+ * Date, so this assumption currently holds end-to-end.
49171
+ * - OUTPUT: `dateFormatter.toISOFormatString` reads the Date's local
49172
+ * getFullYear/getMonth/getDate components, so the returned YYYY-MM-DD
49173
+ * string matches the local calendar day.
49174
+ *
49175
+ * If the vendor ever switches to emitting UTC-midnight timestamps, this
49176
+ * conversion will silently shift the returned date by one day in zones
49177
+ * west of UTC. Any vendor swap should re-verify this contract; the TZ
49178
+ * regression suite (`npm run test:hst`, UTC-10) will catch the symptom.
49179
+ *
48883
49180
  * @private
48884
- * @param {number} time - Unix timestamp in seconds.
48885
- * @returns {string} ISO date string (yyyy-mm-dd).
49181
+ * @param {number} time - Unix timestamp (seconds), local midnight of the day.
49182
+ * @returns {string} ISO date string (yyyy-mm-dd) reflecting the local calendar day.
48886
49183
  */
48887
49184
  convertWcTimeToDate(time) {
48888
49185
  return dateFormatter$1.toISOFormatString(new Date(time * 1000));
@@ -48984,8 +49281,8 @@ class AuroDatePicker extends AuroElement$5 {
48984
49281
  }
48985
49282
  }
48986
49283
 
48987
- // Focus the calendar grid wrapper (aria-activedescendant handles
48988
- // the SR announcement for the active cell).
49284
+ // Focus the calendar grid wrapper. The live region (announced just
49285
+ // below) handles the SR announcement for the active cell.
48989
49286
  if (activeCell) {
48990
49287
  this.calendar.focusActiveCell();
48991
49288
 
@@ -49035,11 +49332,13 @@ class AuroDatePicker extends AuroElement$5 {
49035
49332
  this.dropdown.bibDialogLabel = labelElement.textContent.trim() || undefined;
49036
49333
  }
49037
49334
 
49335
+ const { signal } = this._listenerAbortController;
49336
+
49038
49337
  this.dropdown.addEventListener('auroDropdown-triggerClick', () => {
49039
49338
  if (!this.isPopoverVisible) {
49040
49339
  this.dropdown.show();
49041
49340
  }
49042
- });
49341
+ }, { signal });
49043
49342
 
49044
49343
  this.dropdown.addEventListener('auroDropdown-toggled', () => {
49045
49344
  this.notifyDatepickerToggled();
@@ -49057,7 +49356,7 @@ class AuroDatePicker extends AuroElement$5 {
49057
49356
  if (this.valueObject) {
49058
49357
  this.centralDate = this.value;
49059
49358
  } else if (!this.centralDate && !this.calendarStartDate && !this.minDate) {
49060
- this.centralDate = new Date();
49359
+ this.centralDate = dateFormatter$1.toISOFormatString(new Date());
49061
49360
  }
49062
49361
  }
49063
49362
 
@@ -49137,7 +49436,7 @@ class AuroDatePicker extends AuroElement$5 {
49137
49436
  this.forceScrollOnNextMobileCalendarRender = false;
49138
49437
  }, 0);
49139
49438
  }
49140
- });
49439
+ }, { signal });
49141
49440
 
49142
49441
  // Handle responsive strategy changes while the dropdown is open
49143
49442
  // (e.g. resizing from desktop → mobile or vice versa).
@@ -49184,7 +49483,7 @@ class AuroDatePicker extends AuroElement$5 {
49184
49483
  });
49185
49484
  });
49186
49485
  }
49187
- });
49486
+ }, { signal });
49188
49487
  }
49189
49488
 
49190
49489
  /**
@@ -49197,6 +49496,8 @@ class AuroDatePicker extends AuroElement$5 {
49197
49496
 
49198
49497
  this.inputList = [...this.dropdown.querySelectorAll(this.inputTag._$litStatic$)];
49199
49498
 
49499
+ const { signal } = this._listenerAbortController;
49500
+
49200
49501
  this.inputList.forEach((input, index) => {
49201
49502
  input.addEventListener('input', (event) => {
49202
49503
  event.stopPropagation();
@@ -49208,7 +49509,7 @@ class AuroDatePicker extends AuroElement$5 {
49208
49509
  }
49209
49510
 
49210
49511
  this.notifyValueChanged();
49211
- });
49512
+ }, { signal });
49212
49513
 
49213
49514
  input.addEventListener('auroFormElement-validated', (evt) => {
49214
49515
  // not to bubble up input's validated event.
@@ -49224,7 +49525,7 @@ class AuroDatePicker extends AuroElement$5 {
49224
49525
  this.validity = evt.detail.validity;
49225
49526
  this.errorMessage = evt.detail.message;
49226
49527
  }
49227
- });
49528
+ }, { signal });
49228
49529
  });
49229
49530
  }
49230
49531
 
@@ -49238,6 +49539,8 @@ class AuroDatePicker extends AuroElement$5 {
49238
49539
  this.calendar.datepicker = this;
49239
49540
  this.calendar.dropdown = this.dropdown;
49240
49541
 
49542
+ const { signal } = this._listenerAbortController;
49543
+
49241
49544
  this.calendar.addEventListener('auroCalendar-dateSelected', () => {
49242
49545
  if (this.inputList[0].value !== this.calendar.dateFrom && this.calendar.dateFrom !== undefined) {
49243
49546
  this.inputList[0].value = this.convertWcTimeToDate(this.calendar.dateFrom);
@@ -49246,11 +49549,11 @@ class AuroDatePicker extends AuroElement$5 {
49246
49549
  if (this.inputList[1] && this.calendar.dateTo && this.inputList[1].value !== this.calendar.dateTo) {
49247
49550
  this.inputList[1].value = this.convertWcTimeToDate(this.calendar.dateTo);
49248
49551
  }
49249
- });
49552
+ }, { signal });
49250
49553
 
49251
49554
  this.calendar.addEventListener('auroCalendar-dismissRequest', () => {
49252
49555
  this.dropdown.hide();
49253
- });
49556
+ }, { signal });
49254
49557
 
49255
49558
  this.calendar.addEventListener('auroCalendar-centralDateChanged', (event) => {
49256
49559
  const match = this.centralDateObject && this.util.datesMatch(event.detail.date, this.centralDateObject);
@@ -49260,7 +49563,7 @@ class AuroDatePicker extends AuroElement$5 {
49260
49563
  }
49261
49564
 
49262
49565
  this.notifyMonthChanged(event);
49263
- });
49566
+ }, { signal });
49264
49567
  }
49265
49568
 
49266
49569
  /**
@@ -49269,10 +49572,17 @@ class AuroDatePicker extends AuroElement$5 {
49269
49572
  * @returns {void}
49270
49573
  */
49271
49574
  configureDatepicker() {
49575
+ // These listeners are on `this` (the host), so they would GC with the
49576
+ // host even without the abort signal — see the leak rationale on
49577
+ // `_listenerAbortController`. The signal is still passed for uniform
49578
+ // cleanup semantics with the child-element listeners in the other
49579
+ // configure* methods.
49580
+ const { signal } = this._listenerAbortController;
49581
+
49272
49582
  this.addEventListener('focusin', () => {
49273
49583
  this.touched = true;
49274
49584
  this.hasFocus = true;
49275
- });
49585
+ }, { signal });
49276
49586
 
49277
49587
  this.addEventListener('focusout', () => {
49278
49588
  this.hasFocus = false;
@@ -49284,7 +49594,7 @@ class AuroDatePicker extends AuroElement$5 {
49284
49594
  if (!this.matches(':focus-within')) {
49285
49595
  this.validate();
49286
49596
  }
49287
- });
49597
+ }, { signal });
49288
49598
 
49289
49599
  if (this.valueObject) {
49290
49600
  this.calendar.dateFrom = this.convertToWcValidTime(this.valueObject);
@@ -49482,6 +49792,36 @@ class AuroDatePicker extends AuroElement$5 {
49482
49792
  return this.validity !== undefined && this.validity !== 'valid';
49483
49793
  }
49484
49794
 
49795
+ /**
49796
+ * Per-class dedup set used by `_warnInvalidLocale`. Static so the dedup
49797
+ * spans every datepicker instance on the page; lives on the class (not
49798
+ * at module scope) so it stays an encapsulated implementation detail of
49799
+ * this component and does not interfere with WCA's class-JSDoc
49800
+ * attachment.
49801
+ * @private
49802
+ */
49803
+ static _warnedInvalidLocales = new Set();
49804
+
49805
+ /**
49806
+ * Logs a one-time `console.debug` when an unsupported locale falls back to
49807
+ * en-US. Deduped by the offending tag so noisy re-renders that resurface
49808
+ * the same bad value stay quiet, but each new bad value still signals so
49809
+ * consumers can spot the typo or missing tag.
49810
+ * @private
49811
+ * @param {string|undefined} badLocale - The locale value that failed.
49812
+ * @returns {void}
49813
+ */
49814
+ _warnInvalidLocale(badLocale) {
49815
+ const key = String(badLocale ?? '');
49816
+ const seen = AuroDatePicker._warnedInvalidLocales;
49817
+ if (seen.has(key)) {
49818
+ return;
49819
+ }
49820
+ seen.add(key);
49821
+ // eslint-disable-next-line no-console
49822
+ 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".`);
49823
+ }
49824
+
49485
49825
  /**
49486
49826
  * Lifecycle method to check if the locale is valid.
49487
49827
  * @ignore
@@ -49492,10 +49832,15 @@ class AuroDatePicker extends AuroElement$5 {
49492
49832
  if (changedProperties.has('locale')) {
49493
49833
  try {
49494
49834
  const supported = Intl.DateTimeFormat.supportedLocalesOf([this.locale], { localeMatcher: 'lookup' });
49495
- this._validLocale = supported.length > 0 ? this.locale : 'en-US';
49835
+ if (supported.length > 0) {
49836
+ this._validLocale = this.locale;
49837
+ } else {
49838
+ this._validLocale = 'en-US';
49839
+ this._warnInvalidLocale(this.locale);
49840
+ }
49496
49841
  } catch {
49497
- console.debug(`[AuroDatePicker] The locale "${this.locale}" is not valid. Falling back to "en-US".`); // eslint-disable-line no-console
49498
49842
  this._validLocale = 'en-US';
49843
+ this._warnInvalidLocale(this.locale);
49499
49844
  }
49500
49845
 
49501
49846
  const previousLocaleFormat = getDateFormatFromLocale$1(changedProperties.get('locale'));
@@ -49577,8 +49922,6 @@ class AuroDatePicker extends AuroElement$5 {
49577
49922
  // Skip centralDate update when user clicked a cell in range mode
49578
49923
  // to prevent the displayed months from shifting
49579
49924
  this.centralDate = this.value;
49580
- //TODO: TEST THIS CHANGE
49581
- // this.calendarRenderUtil.updateCentralDate(this, this.value);
49582
49925
  }
49583
49926
 
49584
49927
  this.setHasValue();
@@ -49638,8 +49981,6 @@ class AuroDatePicker extends AuroElement$5 {
49638
49981
  // Skip centralDate update when user clicked a cell in range mode
49639
49982
  // to prevent the displayed months from shifting
49640
49983
  this.centralDate = this.valueEnd;
49641
- // TODO: TEST THIS CHANGE
49642
- // this.calendarRenderUtil.updateCentralDate(this, this.formattedValueEnd);
49643
49984
  }
49644
49985
 
49645
49986
  this.validate();
@@ -49781,7 +50122,7 @@ class AuroDatePicker extends AuroElement$5 {
49781
50122
  * @returns {void}
49782
50123
  */
49783
50124
  configureClickHandler() {
49784
- this.addEventListener('click', this.handleClick);
50125
+ this.addEventListener('click', this.handleClick, { signal: this._listenerAbortController.signal });
49785
50126
  }
49786
50127
 
49787
50128
  firstUpdated() {
@@ -49789,6 +50130,15 @@ class AuroDatePicker extends AuroElement$5 {
49789
50130
  // Add the tag name as an attribute if it is different than the component name
49790
50131
  this.runtimeUtils.handleComponentTagRename(this, 'auro-datepicker');
49791
50132
 
50133
+ // If the element was disconnected before this first render finished,
50134
+ // disconnectedCallback's microtask already aborted the controller. The
50135
+ // connectedCallback reinit guard skips that case because `hasUpdated`
50136
+ // is still false. Mint a fresh controller here so configure* registers
50137
+ // listeners against a live signal.
50138
+ if (this._listenerAbortController.signal.aborted) {
50139
+ this._listenerAbortController = new AbortController();
50140
+ }
50141
+
49792
50142
  this.configureDropdown();
49793
50143
  this.configureInput();
49794
50144
  this.configureCalendar();
@@ -49800,9 +50150,36 @@ class AuroDatePicker extends AuroElement$5 {
49800
50150
  connectedCallback() {
49801
50151
  super.connectedCallback();
49802
50152
 
50153
+ // True reconnect after `disconnectedCallback` aborted our controller:
50154
+ // the existing signal is dead, so listeners registered against it
50155
+ // would never fire. Create a fresh controller and re-run the
50156
+ // configure* wiring (each method is idempotent — it just re-caches
50157
+ // child refs and re-registers listeners against the new signal).
50158
+ // `hasUpdated` gates this so the *first* connect (which precedes
50159
+ // firstUpdated) still falls through to firstUpdated's initial wiring.
50160
+ if (this.hasUpdated && this._listenerAbortController.signal.aborted) {
50161
+ this._listenerAbortController = new AbortController();
50162
+ this.configureDropdown();
50163
+ this.configureInput();
50164
+ this.configureCalendar();
50165
+ this.configureDatepicker();
50166
+ this.configureClickHandler();
50167
+ }
50168
+
49803
50169
  this.locale = this.domHandler.getLocale(this);
49804
50170
  }
49805
50171
 
50172
+ disconnectedCallback() {
50173
+ super.disconnectedCallback();
50174
+ // Defer so that re-parenting (auro-drawer slotting it into a dialog,
50175
+ // for example) does not abort listeners we still need after reconnect.
50176
+ queueMicrotask(() => {
50177
+ if (!this.isConnected) {
50178
+ this._listenerAbortController.abort();
50179
+ }
50180
+ });
50181
+ }
50182
+
49806
50183
  // layout render methods
49807
50184
  // ------------------------------------
49808
50185
 
@@ -51298,7 +51675,7 @@ let AuroHelpText$1$2 = class AuroHelpText extends i$3 {
51298
51675
  }
51299
51676
  };
51300
51677
 
51301
- var formkitVersion$1$2 = '202606241801';
51678
+ var formkitVersion$1$2 = '202606252104';
51302
51679
 
51303
51680
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
51304
51681
  // See LICENSE in the project root for license information.
@@ -55626,7 +56003,7 @@ let AuroHelpText$6 = class AuroHelpText extends i$3 {
55626
56003
  }
55627
56004
  };
55628
56005
 
55629
- var formkitVersion$6 = '202606241801';
56006
+ var formkitVersion$6 = '202606252104';
55630
56007
 
55631
56008
  let AuroElement$1$2 = class AuroElement extends i$3 {
55632
56009
  static get properties() {
@@ -59566,7 +59943,7 @@ let AuroHelpText$5 = class AuroHelpText extends i$3 {
59566
59943
  }
59567
59944
  };
59568
59945
 
59569
- var formkitVersion$5 = '202606241801';
59946
+ var formkitVersion$5 = '202606252104';
59570
59947
 
59571
59948
  // Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
59572
59949
  // See LICENSE in the project root for license information.
@@ -61316,7 +61693,7 @@ let AuroHelpText$4 = class AuroHelpText extends i$3 {
61316
61693
  }
61317
61694
  };
61318
61695
 
61319
- var formkitVersion$4 = '202606241801';
61696
+ var formkitVersion$4 = '202606252104';
61320
61697
 
61321
61698
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
61322
61699
  // See LICENSE in the project root for license information.
@@ -66531,7 +66908,7 @@ let AuroHelpText$2 = class AuroHelpText extends i$3 {
66531
66908
  }
66532
66909
  };
66533
66910
 
66534
- var formkitVersion$2 = '202606241801';
66911
+ var formkitVersion$2 = '202606252104';
66535
66912
 
66536
66913
  let AuroElement$2$1 = class AuroElement extends i$3 {
66537
66914
  static get properties() {
@@ -80124,7 +80501,7 @@ let AuroHelpText$1$1 = class AuroHelpText extends i$3 {
80124
80501
  }
80125
80502
  };
80126
80503
 
80127
- var formkitVersion$1$1 = '202606241801';
80504
+ var formkitVersion$1$1 = '202606252104';
80128
80505
 
80129
80506
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
80130
80507
  // See LICENSE in the project root for license information.
@@ -81245,7 +81622,7 @@ let AuroBibtemplate$1 = class AuroBibtemplate extends i$3 {
81245
81622
  }
81246
81623
  };
81247
81624
 
81248
- var formkitVersion$3 = '202606241801';
81625
+ var formkitVersion$3 = '202606252104';
81249
81626
 
81250
81627
  var styleCss$1$3 = i$6`.util_displayInline{display:inline}.util_displayInlineBlock{display:inline-block}.util_displayBlock{display:block}.util_displayFlex{display:flex}.util_displayHidden{display:none}.util_displayHiddenVisually{position:absolute;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);width:1px;height:1px;padding:0;border:0}:host{display:block;text-align:left}:host [auro-dropdown]{--ds-auro-dropdown-trigger-background-color: transparent}:host #inputInBib::part(wrapper){box-shadow:none}:host #inputInBib::part(accent-left){display:none}:host([layout*=classic]) [auro-input]{width:100%}:host([layout*=classic]) [auro-input]::part(helpText){display:none}:host([layout*=classic]) #slotHolder{display:none}`;
81251
81628
 
@@ -90036,7 +90413,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$3 {
90036
90413
  }
90037
90414
  };
90038
90415
 
90039
- var formkitVersion$1 = '202606241801';
90416
+ var formkitVersion$1 = '202606252104';
90040
90417
 
90041
90418
  class AuroElement extends i$3 {
90042
90419
  static get properties() {
@@ -92057,7 +92434,7 @@ class AuroHelpText extends i$3 {
92057
92434
  }
92058
92435
  }
92059
92436
 
92060
- var formkitVersion = '202606241801';
92437
+ var formkitVersion = '202606252104';
92061
92438
 
92062
92439
  var styleCss = i$6`.util_displayInline{display:inline}.util_displayInlineBlock{display:inline-block}.util_displayBlock{display:block}.util_displayFlex{display:flex}.util_displayHidden{display:none}.util_displayHiddenVisually{position:absolute;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);width:1px;height:1px;padding:0;border:0}.body-default{font-size:var(--wcss-body-default-font-size, 1rem);font-weight:var(--wcss-body-default-weight, );line-height:var(--wcss-body-default-line-height, 1.5rem)}.body-default,.body-default-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-default-emphasized{font-size:var(--wcss-body-default-emphasized-font-size, 1rem);font-weight:var(--wcss-body-default-emphasized-weight, );line-height:var(--wcss-body-default-emphasized-line-height, 1.5rem)}.body-lg{font-size:var(--wcss-body-lg-font-size, 1.125rem);font-weight:var(--wcss-body-lg-weight, );line-height:var(--wcss-body-lg-line-height, 1.625rem)}.body-lg,.body-lg-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-lg-emphasized{font-size:var(--wcss-body-lg-emphasized-font-size, 1.125rem);font-weight:var(--wcss-body-lg-emphasized-weight, );line-height:var(--wcss-body-lg-emphasized-line-height, 1.625rem)}.body-sm{font-size:var(--wcss-body-sm-font-size, 0.875rem);font-weight:var(--wcss-body-sm-weight, );line-height:var(--wcss-body-sm-line-height, 1.25rem)}.body-sm,.body-sm-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-sm-emphasized{font-size:var(--wcss-body-sm-emphasized-font-size, 0.875rem);font-weight:var(--wcss-body-sm-emphasized-weight, );line-height:var(--wcss-body-sm-emphasized-line-height, 1.25rem)}.body-xs{font-size:var(--wcss-body-xs-font-size, 0.75rem);font-weight:var(--wcss-body-xs-weight, );line-height:var(--wcss-body-xs-line-height, 1rem)}.body-xs,.body-xs-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-xs-emphasized{font-size:var(--wcss-body-xs-emphasized-font-size, 0.75rem);font-weight:var(--wcss-body-xs-emphasized-weight, );line-height:var(--wcss-body-xs-emphasized-line-height, 1rem)}.body-2xs{font-size:var(--wcss-body-2xs-font-size, 0.625rem);font-weight:var(--wcss-body-2xs-weight, );line-height:var(--wcss-body-2xs-line-height, 0.875rem)}.body-2xs,.body-2xs-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-2xs-emphasized{font-size:var(--wcss-body-2xs-emphasized-font-size, 0.625rem);font-weight:var(--wcss-body-2xs-emphasized-weight, );line-height:var(--wcss-body-2xs-emphasized-line-height, 0.875rem)}.display-2xl{font-family:var(--wcss-display-2xl-family, "AS Circular"),var(--wcss-display-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-2xl-font-size, clamp(3.5rem, 6vw, 5.375rem));font-weight:var(--wcss-display-2xl-weight, 300);letter-spacing:var(--wcss-display-2xl-letter-spacing, 0);line-height:var(--wcss-display-2xl-line-height, 1.3)}.display-xl{font-family:var(--wcss-display-xl-family, "AS Circular"),var(--wcss-display-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-xl-font-size, clamp(3rem, 5.3333333333vw, 4.5rem));font-weight:var(--wcss-display-xl-weight, 300);letter-spacing:var(--wcss-display-xl-letter-spacing, 0);line-height:var(--wcss-display-xl-line-height, 1.3)}.display-lg{font-family:var(--wcss-display-lg-family, "AS Circular"),var(--wcss-display-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-lg-font-size, clamp(2.75rem, 4.6666666667vw, 4rem));font-weight:var(--wcss-display-lg-weight, 300);letter-spacing:var(--wcss-display-lg-letter-spacing, 0);line-height:var(--wcss-display-lg-line-height, 1.3)}.display-md{font-family:var(--wcss-display-md-family, "AS Circular"),var(--wcss-display-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-md-font-size, clamp(2.5rem, 4vw, 3.5rem));font-weight:var(--wcss-display-md-weight, 300);letter-spacing:var(--wcss-display-md-letter-spacing, 0);line-height:var(--wcss-display-md-line-height, 1.3)}.display-sm{font-family:var(--wcss-display-sm-family, "AS Circular"),var(--wcss-display-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-sm-font-size, clamp(2rem, 3.6666666667vw, 3rem));font-weight:var(--wcss-display-sm-weight, 300);letter-spacing:var(--wcss-display-sm-letter-spacing, 0);line-height:var(--wcss-display-sm-line-height, 1.3)}.display-xs{font-family:var(--wcss-display-xs-family, "AS Circular"),var(--wcss-display-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-xs-font-size, clamp(1.75rem, 3vw, 2.375rem));font-weight:var(--wcss-display-xs-weight, 300);letter-spacing:var(--wcss-display-xs-letter-spacing, 0);line-height:var(--wcss-display-xs-line-height, 1.3)}.heading-xl{font-family:var(--wcss-heading-xl-family, "AS Circular"),var(--wcss-heading-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-xl-font-size, clamp(2rem, 3vw, 2.5rem));font-weight:var(--wcss-heading-xl-weight, 300);letter-spacing:var(--wcss-heading-xl-letter-spacing, 0);line-height:var(--wcss-heading-xl-line-height, 1.3)}.heading-lg{font-family:var(--wcss-heading-lg-family, "AS Circular"),var(--wcss-heading-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-lg-font-size, clamp(1.75rem, 2.6666666667vw, 2.25rem));font-weight:var(--wcss-heading-lg-weight, 300);letter-spacing:var(--wcss-heading-lg-letter-spacing, 0);line-height:var(--wcss-heading-lg-line-height, 1.3)}.heading-md{font-family:var(--wcss-heading-md-family, "AS Circular"),var(--wcss-heading-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-md-font-size, clamp(1.625rem, 2.3333333333vw, 1.75rem));font-weight:var(--wcss-heading-md-weight, 300);letter-spacing:var(--wcss-heading-md-letter-spacing, 0);line-height:var(--wcss-heading-md-line-height, 1.3)}.heading-sm{font-family:var(--wcss-heading-sm-family, "AS Circular"),var(--wcss-heading-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-sm-font-size, clamp(1.375rem, 2vw, 1.5rem));font-weight:var(--wcss-heading-sm-weight, 300);letter-spacing:var(--wcss-heading-sm-letter-spacing, 0);line-height:var(--wcss-heading-sm-line-height, 1.3)}.heading-xs{font-family:var(--wcss-heading-xs-family, "AS Circular"),var(--wcss-heading-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-xs-font-size, clamp(1.25rem, 1.6666666667vw, 1.25rem));font-weight:var(--wcss-heading-xs-weight, 300);letter-spacing:var(--wcss-heading-xs-letter-spacing, 0);line-height:var(--wcss-heading-xs-line-height, 1.3)}.heading-2xs{font-family:var(--wcss-heading-2xs-family, "AS Circular"),var(--wcss-heading-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-2xs-font-size, clamp(1.125rem, 1.5vw, 1.125rem));font-weight:var(--wcss-heading-2xs-weight, 300);letter-spacing:var(--wcss-heading-2xs-letter-spacing, 0);line-height:var(--wcss-heading-2xs-line-height, 1.3)}.accent-2xl{font-family:var(--wcss-accent-2xl-family, "Good OT"),var(--wcss-accent-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-2xl-font-size, clamp(2rem, 3.1666666667vw, 2.375rem));font-weight:var(--wcss-accent-2xl-weight, 450);letter-spacing:var(--wcss-accent-2xl-letter-spacing, 0.05em);line-height:var(--wcss-accent-2xl-line-height, 1)}.accent-2xl,.accent-xl{text-transform:uppercase}.accent-xl{font-family:var(--wcss-accent-xl-family, "Good OT"),var(--wcss-accent-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-xl-font-size, clamp(1.625rem, 2.3333333333vw, 2rem));font-weight:var(--wcss-accent-xl-weight, 450);letter-spacing:var(--wcss-accent-xl-letter-spacing, 0.05em);line-height:var(--wcss-accent-xl-line-height, 1.3)}.accent-lg{font-family:var(--wcss-accent-lg-family, "Good OT"),var(--wcss-accent-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-lg-font-size, clamp(1.5rem, 2.1666666667vw, 1.75rem));font-weight:var(--wcss-accent-lg-weight, 450);letter-spacing:var(--wcss-accent-lg-letter-spacing, 0.05em);line-height:var(--wcss-accent-lg-line-height, 1.3)}.accent-lg,.accent-md{text-transform:uppercase}.accent-md{font-family:var(--wcss-accent-md-family, "Good OT"),var(--wcss-accent-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-md-font-size, clamp(1.375rem, 1.8333333333vw, 1.5rem));font-weight:var(--wcss-accent-md-weight, 500);letter-spacing:var(--wcss-accent-md-letter-spacing, 0.05em);line-height:var(--wcss-accent-md-line-height, 1.3)}.accent-sm{font-family:var(--wcss-accent-sm-family, "Good OT"),var(--wcss-accent-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-sm-font-size, clamp(1.125rem, 1.5vw, 1.25rem));font-weight:var(--wcss-accent-sm-weight, 500);letter-spacing:var(--wcss-accent-sm-letter-spacing, 0.05em);line-height:var(--wcss-accent-sm-line-height, 1.3)}.accent-sm,.accent-xs{text-transform:uppercase}.accent-xs{font-family:var(--wcss-accent-xs-family, "Good OT"),var(--wcss-accent-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-xs-font-size, clamp(1rem, 1.3333333333vw, 1rem));font-weight:var(--wcss-accent-xs-weight, 500);letter-spacing:var(--wcss-accent-xs-letter-spacing, 0.1em);line-height:var(--wcss-accent-xs-line-height, 1.3)}.accent-2xs{font-family:var(--wcss-accent-2xs-family, "Good OT"),var(--wcss-accent-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-2xs-font-size, clamp(0.875rem, 1.1666666667vw, 0.875rem));font-weight:var(--wcss-accent-2xs-weight, 450);letter-spacing:var(--wcss-accent-2xs-letter-spacing, 0.1em);line-height:var(--wcss-accent-2xs-line-height, 1.3);text-transform:uppercase}[auro-dropdown]{--ds-auro-dropdown-trigger-border-color: var(--ds-auro-select-border-color);--ds-auro-dropdown-trigger-background-color: var(--ds-auro-select-background-color);--ds-auro-dropdown-trigger-container-color: var(--ds-auro-select-background-color);--ds-auro-dropdown-trigger-outline-color: var(--ds-auro-select-outline-color)}:host{display:inline-block;text-align:left;vertical-align:top}:host([layout*=emphasized]) [auro-dropdown],:host([layout*=snowflake]) [auro-dropdown]{--ds-auro-select-border-color: transparent}:host([layout*=emphasized]) .mainContent,:host([layout*=snowflake]) .mainContent{text-align:center}.mainContent{position:relative;display:flex;overflow:hidden;flex:1;flex-direction:column;align-items:center;justify-content:center}.valueContainer [slot=displayValue]{display:none}.accents{display:flex;flex-direction:row;align-items:center;justify-content:center}::slotted([slot=typeIcon]){margin-right:var(--ds-size-100, 0.5rem)}.displayValue{display:block}.displayValue:not(.force){display:none}.displayValue:not(.force).hasContent:is(.withValue):not(.hasFocus){display:block}.triggerContent{display:flex;width:100%;align-items:center;justify-content:center}:host([layout*=emphasized]) .triggerContent{padding:0 var(--ds-size-100, 0.5rem) 0 var(--ds-size-300, 1.5rem)}:host([layout*=snowflake]) .triggerContent{padding:0 var(--ds-size-100, 0.5rem) 0 var(--ds-size-200, 1rem)}:host([layout*=snowflake]) label{padding-block:var(--ds-size-25, 0.125rem)}:host([layout*=classic]) .triggerContent{padding:0 var(--ds-size-100, 0.5rem)}:host([layout*=classic]) .mainContent{align-items:start}:host([layout*=classic]) label{overflow:hidden;cursor:text;text-overflow:ellipsis;white-space:nowrap}:host([layout*=classic]) .value{height:auto}label{color:var(--ds-auro-select-label-text-color)}:host(:is([validity]:not([validity=valid]))) [auro-dropdown]{--ds-auro-select-border-color: var(--ds-basic-color-status-error, #e31f26);--ds-auro-select-outline-color: var(--ds-basic-color-status-error, #e31f26);--ds-auro-dropdown-helptext-text-color: var(--ds-basic-color-texticon-default, #2a2a2a)}:host([ondark]:is([validity]:not([validity=valid]))) [auro-dropdown],:host([appearance=inverse]:is([validity]:not([validity=valid]))) [auro-dropdown]{--ds-auro-select-border-color: var(--ds-advanced-color-state-error-inverse, #f9a4a8);--ds-auro-select-outline-color: var(--ds-advanced-color-state-error-inverse, #f9a4a8);--ds-auro-dropdown-helptext-text-color: var(--ds-basic-color-texticon-inverse, #ffffff)}#slotHolder{display:none}:host([fluid]){width:100%}:host([disabled]){pointer-events:none;user-select:none}:host([disabled]:not([ondark])) [auro-dropdown],:host([disabled]:not([appearance=inverse])) [auro-dropdown]{--ds-auro-select-border-color: var(--ds-basic-color-border-subtle, #dddddd)}:host(:not([layout*=classic])[disabled][ondark]) [auro-dropdown],:host(:not([layout*=classic])[disabled][appearance=inverse]) [auro-dropdown]{--ds-auro-select-border-color: transparent}`;
92063
92440