@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
@@ -5135,7 +5135,7 @@ function normalizeDates$3(context, ...dates) {
5135
5135
  * const result = startOfDay(new Date(2014, 8, 2, 11, 55, 0))
5136
5136
  * //=> Tue Sep 02 2014 00:00:00
5137
5137
  */
5138
- function startOfDay$4(date, options) {
5138
+ function startOfDay$3(date, options) {
5139
5139
  const _date = toDate$3(date, options?.in);
5140
5140
  _date.setHours(0, 0, 0, 0);
5141
5141
  return _date;
@@ -5183,8 +5183,8 @@ function differenceInCalendarDays$3(laterDate, earlierDate, options) {
5183
5183
  earlierDate,
5184
5184
  );
5185
5185
 
5186
- const laterStartOfDay = startOfDay$4(laterDate_);
5187
- const earlierStartOfDay = startOfDay$4(earlierDate_);
5186
+ const laterStartOfDay = startOfDay$3(laterDate_);
5187
+ const earlierStartOfDay = startOfDay$3(earlierDate_);
5188
5188
 
5189
5189
  const laterTimestamp =
5190
5190
  +laterStartOfDay - getTimezoneOffsetInMilliseconds$3(laterStartOfDay);
@@ -12331,7 +12331,7 @@ let AuroHelpText$8 = class AuroHelpText extends i$2 {
12331
12331
  }
12332
12332
  };
12333
12333
 
12334
- var formkitVersion$8 = '202606241801';
12334
+ var formkitVersion$8 = '202606252104';
12335
12335
 
12336
12336
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
12337
12337
  // See LICENSE in the project root for license information.
@@ -14415,7 +14415,7 @@ function normalizeDates$1(context, ...dates) {
14415
14415
  * const result = startOfDay(new Date(2014, 8, 2, 11, 55, 0))
14416
14416
  * //=> Tue Sep 02 2014 00:00:00
14417
14417
  */
14418
- function startOfDay$2(date, options) {
14418
+ function startOfDay$1(date, options) {
14419
14419
  const _date = toDate$1(date, options?.in);
14420
14420
  _date.setHours(0, 0, 0, 0);
14421
14421
  return _date;
@@ -14463,8 +14463,8 @@ function differenceInCalendarDays$1(laterDate, earlierDate, options) {
14463
14463
  earlierDate,
14464
14464
  );
14465
14465
 
14466
- const laterStartOfDay = startOfDay$2(laterDate_);
14467
- const earlierStartOfDay = startOfDay$2(earlierDate_);
14466
+ const laterStartOfDay = startOfDay$1(laterDate_);
14467
+ const earlierStartOfDay = startOfDay$1(earlierDate_);
14468
14468
 
14469
14469
  const laterTimestamp =
14470
14470
  +laterStartOfDay - getTimezoneOffsetInMilliseconds$1(laterStartOfDay);
@@ -23921,8 +23921,8 @@ class RangeDatepickerCell extends i$2 {
23921
23921
  const parsedDateFrom = parseInt(dateFrom, 10);
23922
23922
  const parsedDateTo = parseInt(dateTo, 10);
23923
23923
  if (day) {
23924
- if (getTime(startOfDay$2(parsedDateTo * 1000)) / 1000 === day.date ||
23925
- getTime(startOfDay$2(parsedDateFrom * 1000)) / 1000 === day.date) {
23924
+ if (getTime(startOfDay$1(parsedDateTo * 1000)) / 1000 === day.date ||
23925
+ getTime(startOfDay$1(parsedDateFrom * 1000)) / 1000 === day.date) {
23926
23926
  this.selected = true;
23927
23927
  }
23928
23928
  if (((hoveredDate === day.date || day.date < hoveredDate) &&
@@ -24110,7 +24110,7 @@ class RangeDatepickerCalendar extends i$2 {
24110
24110
  this.dayNamesOfTheWeek = [];
24111
24111
  this.daysOfMonth = [];
24112
24112
  this._locale = null;
24113
- this.currentDate = parseInt(format$1(startOfDay$2(Date.now()), 't'), 10);
24113
+ this.currentDate = parseInt(format$1(startOfDay$1(Date.now()), 't'), 10);
24114
24114
  this.localeChanged();
24115
24115
  this.yearAndMonthChanged(this.year, this.month);
24116
24116
  }
@@ -24584,7 +24584,7 @@ __decorate([n$4({ type: Array })], RangeDatepickerCalendar.prototype, "dayNamesO
24584
24584
  __decorate([n$4({ type: Array })], RangeDatepickerCalendar.prototype, "daysOfMonth", void 0);
24585
24585
  AuroLibraryRuntimeUtils$5$1.prototype.registerComponent('wc-range-datepicker-calendar', RangeDatepickerCalendar);
24586
24586
 
24587
- var styleCss$5$2 = i$4`.body-default{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-default-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-default-font-size, 1rem);line-height:var(--wcss-body-default-line-height, 1.5rem)}.body-default-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-default-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-default-emphasized-font-size, 1rem);line-height:var(--wcss-body-default-emphasized-line-height, 1.5rem)}.body-lg{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-lg-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-lg-font-size, 1.125rem);line-height:var(--wcss-body-lg-line-height, 1.625rem)}.body-lg-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-lg-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-lg-emphasized-font-size, 1.125rem);line-height:var(--wcss-body-lg-emphasized-line-height, 1.625rem)}.body-sm{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-sm-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-sm-font-size, 0.875rem);line-height:var(--wcss-body-sm-line-height, 1.25rem)}.body-sm-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-sm-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-sm-emphasized-font-size, 0.875rem);line-height:var(--wcss-body-sm-emphasized-line-height, 1.25rem)}.body-xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-xs-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-xs-font-size, 0.75rem);line-height:var(--wcss-body-xs-line-height, 1rem)}.body-xs-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-xs-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-xs-emphasized-font-size, 0.75rem);line-height:var(--wcss-body-xs-emphasized-line-height, 1rem)}.body-2xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-2xs-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-2xs-font-size, 0.625rem);line-height:var(--wcss-body-2xs-line-height, 0.875rem)}.body-2xs-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-2xs-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-2xs-emphasized-font-size, 0.625rem);line-height:var(--wcss-body-2xs-emphasized-line-height, 0.875rem)}.display-2xl{font-family:var(--wcss-display-2xl-family, "AS Circular"),var(--wcss-display-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-2xl-weight, 300);line-height:var(--wcss-display-2xl-line-height, 1.3);font-size:var(--wcss-display-2xl-font-size, clamp(3.5rem, 6vw, 5.375rem));letter-spacing:var(--wcss-display-2xl-letter-spacing, 0)}.display-xl{font-family:var(--wcss-display-xl-family, "AS Circular"),var(--wcss-display-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-xl-weight, 300);line-height:var(--wcss-display-xl-line-height, 1.3);font-size:var(--wcss-display-xl-font-size, clamp(3rem, 5.3333333333vw, 4.5rem));letter-spacing:var(--wcss-display-xl-letter-spacing, 0)}.display-lg{font-family:var(--wcss-display-lg-family, "AS Circular"),var(--wcss-display-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-lg-weight, 300);line-height:var(--wcss-display-lg-line-height, 1.3);font-size:var(--wcss-display-lg-font-size, clamp(2.75rem, 4.6666666667vw, 4rem));letter-spacing:var(--wcss-display-lg-letter-spacing, 0)}.display-md{font-family:var(--wcss-display-md-family, "AS Circular"),var(--wcss-display-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-md-weight, 300);line-height:var(--wcss-display-md-line-height, 1.3);font-size:var(--wcss-display-md-font-size, clamp(2.5rem, 4vw, 3.5rem));letter-spacing:var(--wcss-display-md-letter-spacing, 0)}.display-sm{font-family:var(--wcss-display-sm-family, "AS Circular"),var(--wcss-display-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-sm-weight, 300);line-height:var(--wcss-display-sm-line-height, 1.3);font-size:var(--wcss-display-sm-font-size, clamp(2rem, 3.6666666667vw, 3rem));letter-spacing:var(--wcss-display-sm-letter-spacing, 0)}.display-xs{font-family:var(--wcss-display-xs-family, "AS Circular"),var(--wcss-display-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-xs-weight, 300);line-height:var(--wcss-display-xs-line-height, 1.3);font-size:var(--wcss-display-xs-font-size, clamp(1.75rem, 3vw, 2.375rem));letter-spacing:var(--wcss-display-xs-letter-spacing, 0)}.heading-xl{font-family:var(--wcss-heading-xl-family, "AS Circular"),var(--wcss-heading-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-xl-weight, 300);line-height:var(--wcss-heading-xl-line-height, 1.3);font-size:var(--wcss-heading-xl-font-size, clamp(2rem, 3vw, 2.5rem));letter-spacing:var(--wcss-heading-xl-letter-spacing, 0)}.heading-lg{font-family:var(--wcss-heading-lg-family, "AS Circular"),var(--wcss-heading-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-lg-weight, 300);line-height:var(--wcss-heading-lg-line-height, 1.3);font-size:var(--wcss-heading-lg-font-size, clamp(1.75rem, 2.6666666667vw, 2.25rem));letter-spacing:var(--wcss-heading-lg-letter-spacing, 0)}.heading-md{font-family:var(--wcss-heading-md-family, "AS Circular"),var(--wcss-heading-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-md-weight, 300);line-height:var(--wcss-heading-md-line-height, 1.3);font-size:var(--wcss-heading-md-font-size, clamp(1.625rem, 2.3333333333vw, 1.75rem));letter-spacing:var(--wcss-heading-md-letter-spacing, 0)}.heading-sm{font-family:var(--wcss-heading-sm-family, "AS Circular"),var(--wcss-heading-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-sm-weight, 300);line-height:var(--wcss-heading-sm-line-height, 1.3);font-size:var(--wcss-heading-sm-font-size, clamp(1.375rem, 2vw, 1.5rem));letter-spacing:var(--wcss-heading-sm-letter-spacing, 0)}.heading-xs{font-family:var(--wcss-heading-xs-family, "AS Circular"),var(--wcss-heading-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-xs-weight, 300);line-height:var(--wcss-heading-xs-line-height, 1.3);font-size:var(--wcss-heading-xs-font-size, clamp(1.25rem, 1.6666666667vw, 1.25rem));letter-spacing:var(--wcss-heading-xs-letter-spacing, 0)}.heading-2xs{font-family:var(--wcss-heading-2xs-family, "AS Circular"),var(--wcss-heading-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-2xs-weight, 300);line-height:var(--wcss-heading-2xs-line-height, 1.3);font-size:var(--wcss-heading-2xs-font-size, clamp(1.125rem, 1.5vw, 1.125rem));letter-spacing:var(--wcss-heading-2xs-letter-spacing, 0)}.accent-2xl{font-family:var(--wcss-accent-2xl-family, "Good OT"),var(--wcss-accent-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-2xl-weight, 450);line-height:var(--wcss-accent-2xl-line-height, 1);font-size:var(--wcss-accent-2xl-font-size, clamp(2rem, 3.1666666667vw, 2.375rem));letter-spacing:var(--wcss-accent-2xl-letter-spacing, 0.05em);text-transform:uppercase}.accent-xl{font-family:var(--wcss-accent-xl-family, "Good OT"),var(--wcss-accent-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-xl-weight, 450);line-height:var(--wcss-accent-xl-line-height, 1.3);font-size:var(--wcss-accent-xl-font-size, clamp(1.625rem, 2.3333333333vw, 2rem));letter-spacing:var(--wcss-accent-xl-letter-spacing, 0.05em);text-transform:uppercase}.accent-lg{font-family:var(--wcss-accent-lg-family, "Good OT"),var(--wcss-accent-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-lg-weight, 450);line-height:var(--wcss-accent-lg-line-height, 1.3);font-size:var(--wcss-accent-lg-font-size, clamp(1.5rem, 2.1666666667vw, 1.75rem));letter-spacing:var(--wcss-accent-lg-letter-spacing, 0.05em);text-transform:uppercase}.accent-md{font-family:var(--wcss-accent-md-family, "Good OT"),var(--wcss-accent-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-md-weight, 500);line-height:var(--wcss-accent-md-line-height, 1.3);font-size:var(--wcss-accent-md-font-size, clamp(1.375rem, 1.8333333333vw, 1.5rem));letter-spacing:var(--wcss-accent-md-letter-spacing, 0.05em);text-transform:uppercase}.accent-sm{font-family:var(--wcss-accent-sm-family, "Good OT"),var(--wcss-accent-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-sm-weight, 500);line-height:var(--wcss-accent-sm-line-height, 1.3);font-size:var(--wcss-accent-sm-font-size, clamp(1.125rem, 1.5vw, 1.25rem));letter-spacing:var(--wcss-accent-sm-letter-spacing, 0.05em);text-transform:uppercase}.accent-xs{font-family:var(--wcss-accent-xs-family, "Good OT"),var(--wcss-accent-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-xs-weight, 500);line-height:var(--wcss-accent-xs-line-height, 1.3);font-size:var(--wcss-accent-xs-font-size, clamp(1rem, 1.3333333333vw, 1rem));letter-spacing:var(--wcss-accent-xs-letter-spacing, 0.1em);text-transform:uppercase}.accent-2xs{font-family:var(--wcss-accent-2xs-family, "Good OT"),var(--wcss-accent-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-2xs-weight, 450);line-height:var(--wcss-accent-2xs-line-height, 1.3);font-size:var(--wcss-accent-2xs-font-size, clamp(0.875rem, 1.1666666667vw, 0.875rem));letter-spacing:var(--wcss-accent-2xs-letter-spacing, 0.1em);text-transform:uppercase}@media screen and (max-width: 576px){:host{display:flex;justify-content:center}}.day{position:relative;width:48px;height:56px;padding:0;border-width:2px;border-style:solid;border-radius:10px;cursor:pointer;user-select:none}.day:focus-visible{outline:none;background-color:unset}.day.activeCell{outline-width:2px;outline-style:solid;outline-offset:-4px}.day.disabled{cursor:default !important;pointer-events:none}.day.blackout{cursor:pointer}.day.reference:after{position:absolute;top:-2px;left:-2px;display:block;width:calc(100% + 2px);height:calc(100% + 2px);box-sizing:content-box;border-radius:10px;border-style:solid;border-width:1px;content:""}.day.inRange::before{position:absolute;z-index:-1;top:-2px;left:-2px;display:block;width:calc(100% + 4px);height:calc(100% + 4px);box-sizing:content-box;content:""}.day.rangeDepartDate::before{position:absolute;z-index:-1;top:-2px;left:-2px;display:block;width:calc(100% + 4px);height:calc(100% + 4px);box-sizing:content-box;content:"";border-radius:10px 0 0 10px;overflow:hidden}.day.rangeReturnDate::before,.day.lastHoveredDate::before{position:absolute;z-index:-1;top:-2px;left:-2px;display:block;width:calc(100% + 4px);height:calc(100% + 4px);box-sizing:content-box;content:"";border-radius:0 10px 10px 0;overflow:hidden}.day.firstDayOfMonth::before{border-radius:10px 0 0 10px;overflow:hidden}.day.lastDayOfMonth::before{border-radius:0 10px 10px 0;overflow:hidden}.buttonWrapper{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%}.dateSlot{display:block}::slotted([slot^=date_]){width:100%;white-space:nowrap}::slotted(auro-icon){max-height:24px;max-width:24px}:host([renderForDateSlot]) .buttonWrapper{position:relative;width:100%;height:100%}:host([renderForDateSlot]) .currentDayMarker{position:relative}`;
24587
+ var styleCss$5$2 = i$4`.body-default{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-default-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-default-font-size, 1rem);line-height:var(--wcss-body-default-line-height, 1.5rem)}.body-default-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-default-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-default-emphasized-font-size, 1rem);line-height:var(--wcss-body-default-emphasized-line-height, 1.5rem)}.body-lg{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-lg-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-lg-font-size, 1.125rem);line-height:var(--wcss-body-lg-line-height, 1.625rem)}.body-lg-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-lg-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-lg-emphasized-font-size, 1.125rem);line-height:var(--wcss-body-lg-emphasized-line-height, 1.625rem)}.body-sm{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-sm-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-sm-font-size, 0.875rem);line-height:var(--wcss-body-sm-line-height, 1.25rem)}.body-sm-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-sm-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-sm-emphasized-font-size, 0.875rem);line-height:var(--wcss-body-sm-emphasized-line-height, 1.25rem)}.body-xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-xs-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-xs-font-size, 0.75rem);line-height:var(--wcss-body-xs-line-height, 1rem)}.body-xs-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-xs-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-xs-emphasized-font-size, 0.75rem);line-height:var(--wcss-body-xs-emphasized-line-height, 1rem)}.body-2xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-2xs-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-2xs-font-size, 0.625rem);line-height:var(--wcss-body-2xs-line-height, 0.875rem)}.body-2xs-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-2xs-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-2xs-emphasized-font-size, 0.625rem);line-height:var(--wcss-body-2xs-emphasized-line-height, 0.875rem)}.display-2xl{font-family:var(--wcss-display-2xl-family, "AS Circular"),var(--wcss-display-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-2xl-weight, 300);line-height:var(--wcss-display-2xl-line-height, 1.3);font-size:var(--wcss-display-2xl-font-size, clamp(3.5rem, 6vw, 5.375rem));letter-spacing:var(--wcss-display-2xl-letter-spacing, 0)}.display-xl{font-family:var(--wcss-display-xl-family, "AS Circular"),var(--wcss-display-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-xl-weight, 300);line-height:var(--wcss-display-xl-line-height, 1.3);font-size:var(--wcss-display-xl-font-size, clamp(3rem, 5.3333333333vw, 4.5rem));letter-spacing:var(--wcss-display-xl-letter-spacing, 0)}.display-lg{font-family:var(--wcss-display-lg-family, "AS Circular"),var(--wcss-display-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-lg-weight, 300);line-height:var(--wcss-display-lg-line-height, 1.3);font-size:var(--wcss-display-lg-font-size, clamp(2.75rem, 4.6666666667vw, 4rem));letter-spacing:var(--wcss-display-lg-letter-spacing, 0)}.display-md{font-family:var(--wcss-display-md-family, "AS Circular"),var(--wcss-display-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-md-weight, 300);line-height:var(--wcss-display-md-line-height, 1.3);font-size:var(--wcss-display-md-font-size, clamp(2.5rem, 4vw, 3.5rem));letter-spacing:var(--wcss-display-md-letter-spacing, 0)}.display-sm{font-family:var(--wcss-display-sm-family, "AS Circular"),var(--wcss-display-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-sm-weight, 300);line-height:var(--wcss-display-sm-line-height, 1.3);font-size:var(--wcss-display-sm-font-size, clamp(2rem, 3.6666666667vw, 3rem));letter-spacing:var(--wcss-display-sm-letter-spacing, 0)}.display-xs{font-family:var(--wcss-display-xs-family, "AS Circular"),var(--wcss-display-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-xs-weight, 300);line-height:var(--wcss-display-xs-line-height, 1.3);font-size:var(--wcss-display-xs-font-size, clamp(1.75rem, 3vw, 2.375rem));letter-spacing:var(--wcss-display-xs-letter-spacing, 0)}.heading-xl{font-family:var(--wcss-heading-xl-family, "AS Circular"),var(--wcss-heading-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-xl-weight, 300);line-height:var(--wcss-heading-xl-line-height, 1.3);font-size:var(--wcss-heading-xl-font-size, clamp(2rem, 3vw, 2.5rem));letter-spacing:var(--wcss-heading-xl-letter-spacing, 0)}.heading-lg{font-family:var(--wcss-heading-lg-family, "AS Circular"),var(--wcss-heading-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-lg-weight, 300);line-height:var(--wcss-heading-lg-line-height, 1.3);font-size:var(--wcss-heading-lg-font-size, clamp(1.75rem, 2.6666666667vw, 2.25rem));letter-spacing:var(--wcss-heading-lg-letter-spacing, 0)}.heading-md{font-family:var(--wcss-heading-md-family, "AS Circular"),var(--wcss-heading-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-md-weight, 300);line-height:var(--wcss-heading-md-line-height, 1.3);font-size:var(--wcss-heading-md-font-size, clamp(1.625rem, 2.3333333333vw, 1.75rem));letter-spacing:var(--wcss-heading-md-letter-spacing, 0)}.heading-sm{font-family:var(--wcss-heading-sm-family, "AS Circular"),var(--wcss-heading-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-sm-weight, 300);line-height:var(--wcss-heading-sm-line-height, 1.3);font-size:var(--wcss-heading-sm-font-size, clamp(1.375rem, 2vw, 1.5rem));letter-spacing:var(--wcss-heading-sm-letter-spacing, 0)}.heading-xs{font-family:var(--wcss-heading-xs-family, "AS Circular"),var(--wcss-heading-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-xs-weight, 300);line-height:var(--wcss-heading-xs-line-height, 1.3);font-size:var(--wcss-heading-xs-font-size, clamp(1.25rem, 1.6666666667vw, 1.25rem));letter-spacing:var(--wcss-heading-xs-letter-spacing, 0)}.heading-2xs{font-family:var(--wcss-heading-2xs-family, "AS Circular"),var(--wcss-heading-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-2xs-weight, 300);line-height:var(--wcss-heading-2xs-line-height, 1.3);font-size:var(--wcss-heading-2xs-font-size, clamp(1.125rem, 1.5vw, 1.125rem));letter-spacing:var(--wcss-heading-2xs-letter-spacing, 0)}.accent-2xl{font-family:var(--wcss-accent-2xl-family, "Good OT"),var(--wcss-accent-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-2xl-weight, 450);line-height:var(--wcss-accent-2xl-line-height, 1);font-size:var(--wcss-accent-2xl-font-size, clamp(2rem, 3.1666666667vw, 2.375rem));letter-spacing:var(--wcss-accent-2xl-letter-spacing, 0.05em);text-transform:uppercase}.accent-xl{font-family:var(--wcss-accent-xl-family, "Good OT"),var(--wcss-accent-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-xl-weight, 450);line-height:var(--wcss-accent-xl-line-height, 1.3);font-size:var(--wcss-accent-xl-font-size, clamp(1.625rem, 2.3333333333vw, 2rem));letter-spacing:var(--wcss-accent-xl-letter-spacing, 0.05em);text-transform:uppercase}.accent-lg{font-family:var(--wcss-accent-lg-family, "Good OT"),var(--wcss-accent-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-lg-weight, 450);line-height:var(--wcss-accent-lg-line-height, 1.3);font-size:var(--wcss-accent-lg-font-size, clamp(1.5rem, 2.1666666667vw, 1.75rem));letter-spacing:var(--wcss-accent-lg-letter-spacing, 0.05em);text-transform:uppercase}.accent-md{font-family:var(--wcss-accent-md-family, "Good OT"),var(--wcss-accent-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-md-weight, 500);line-height:var(--wcss-accent-md-line-height, 1.3);font-size:var(--wcss-accent-md-font-size, clamp(1.375rem, 1.8333333333vw, 1.5rem));letter-spacing:var(--wcss-accent-md-letter-spacing, 0.05em);text-transform:uppercase}.accent-sm{font-family:var(--wcss-accent-sm-family, "Good OT"),var(--wcss-accent-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-sm-weight, 500);line-height:var(--wcss-accent-sm-line-height, 1.3);font-size:var(--wcss-accent-sm-font-size, clamp(1.125rem, 1.5vw, 1.25rem));letter-spacing:var(--wcss-accent-sm-letter-spacing, 0.05em);text-transform:uppercase}.accent-xs{font-family:var(--wcss-accent-xs-family, "Good OT"),var(--wcss-accent-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-xs-weight, 500);line-height:var(--wcss-accent-xs-line-height, 1.3);font-size:var(--wcss-accent-xs-font-size, clamp(1rem, 1.3333333333vw, 1rem));letter-spacing:var(--wcss-accent-xs-letter-spacing, 0.1em);text-transform:uppercase}.accent-2xs{font-family:var(--wcss-accent-2xs-family, "Good OT"),var(--wcss-accent-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-2xs-weight, 450);line-height:var(--wcss-accent-2xs-line-height, 1.3);font-size:var(--wcss-accent-2xs-font-size, clamp(0.875rem, 1.1666666667vw, 0.875rem));letter-spacing:var(--wcss-accent-2xs-letter-spacing, 0.1em);text-transform:uppercase}@media screen and (max-width: 576px){:host{display:flex;justify-content:center}}.day{position:relative;width:48px;height:56px;padding:0;border-width:2px;border-style:solid;border-radius:10px;cursor:pointer;user-select:none}.day:focus-visible{outline:none;background-color:unset}.day.activeCell{outline-width:2px;outline-style:solid;outline-offset:-4px}.day.disabled{cursor:default !important;pointer-events:none}.day.blackout{cursor:pointer}.day.reference:after{position:absolute;top:-2px;left:-2px;display:block;width:calc(100% + 2px);height:calc(100% + 2px);box-sizing:content-box;border-radius:10px;border-style:solid;border-width:1px;content:""}.day.inRange::before{position:absolute;z-index:-1;top:-2px;left:-2px;display:block;width:calc(100% + 4px);height:calc(100% + 4px);box-sizing:content-box;content:""}.day.rangeDepartDate::before{position:absolute;z-index:-1;top:-2px;left:-2px;display:block;width:calc(100% + 4px);height:calc(100% + 4px);box-sizing:content-box;content:"";border-radius:10px 0 0 10px;overflow:hidden}.day.rangeReturnDate::before,.day.lastHoveredDate::before{position:absolute;z-index:-1;top:-2px;left:-2px;display:block;width:calc(100% + 4px);height:calc(100% + 4px);box-sizing:content-box;content:"";border-radius:0 10px 10px 0;overflow:hidden}.day.rangeDepartDate.lastHoveredDate::before{border-radius:10px}.day.firstDayOfMonth::before{border-radius:10px 0 0 10px;overflow:hidden}.day.lastDayOfMonth::before{border-radius:0 10px 10px 0;overflow:hidden}.buttonWrapper{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%}.dateSlot{display:block}::slotted([slot^=date_]){width:100%;white-space:nowrap}::slotted(auro-icon){max-height:24px;max-width:24px}:host([renderForDateSlot]) .buttonWrapper{position:relative;width:100%;height:100%}:host([renderForDateSlot]) .currentDayMarker{position:relative}`;
24588
24588
 
24589
24589
  var colorCss$5$2 = i$4`:host ::slotted([slot^=date_]){color:var(--ds-auro-calendar-cell-price-text-color)}:host ::slotted([slot^=date_][highlight]){--ds-auro-calendar-cell-price-text-color: var(--ds-basic-color-status-success, #447a1f)}:host .day{border-color:var(--ds-auro-calendar-cell-border-color);background-color:var(--ds-auro-calendar-cell-container-color);color:var(--ds-auro-calendar-cell-text-color)}:host .day.activeCell:not(.selected){--ds-auro-calendar-cell-container-color: var(--ds-auro-calendar-cell-in-range-color);border-color:var(--ds-advanced-color-state-selected);outline-color:var(--ds-auro-calendar-cell-container-color)}:host .day.selected{--ds-auro-calendar-cell-container-color: var(--ds-advanced-color-state-selected, #01426a);--ds-auro-calendar-cell-text-color: var(--ds-basic-color-texticon-inverse, #ffffff);--ds-auro-calendar-cell-price-text-color: var(--ds-basic-color-texticon-inverse, #ffffff)}:host .day.selected ::slotted([slot^=date_][highlight]){--ds-auro-calendar-cell-price-text-color: var(--ds-basic-color-status-success-subtle, #d6eac7)}:host .day.selected:hover{--ds-auro-calendar-cell-container-color: var(--ds-advanced-color-state-selected-hover, #00274a);--ds-auro-calendar-cell-text-color: var(--ds-basic-color-texticon-inverse, #ffffff)}:host .day.reference:after{border-color:var(--ds-basic-color-border-default, #959595);box-shadow:inset 0 0 0 2px var(--ds-basic-color-surface-default, #ffffff)}:host .day.reference:hover::after{box-shadow:inset 0 0 0 2px var(--ds-advanced-color-shared-background-muted, #f7f7f7)}:host .day:hover{--ds-auro-calendar-cell-container-color: var(--ds-advanced-color-state-background-hover, #f2f2f2);--ds-auro-calendar-cell-text-color: var(--ds-basic-color-texticon-default, #2a2a2a)}:host .day.disabled{--ds-auro-calendar-cell-container-color: transparent;--ds-auro-calendar-cell-text-color: var(--ds-basic-color-texticon-disabled, #d0d0d0);--ds-auro-calendar-cell-price-text-color: var(--ds-basic-color-texticon-disabled, #d0d0d0)}:host .day.blackout{--ds-auro-calendar-cell-container-color: transparent;--ds-auro-calendar-cell-text-color: var(--ds-basic-color-texticon-disabled, #d0d0d0);--ds-auro-calendar-cell-price-text-color: var(--ds-basic-color-texticon-disabled, #d0d0d0)}:host .day.inRange:before,:host .day.rangeDepartDate:before,:host .day.rangeReturnDate:before,:host .day.lastHoveredDate:before{background-color:var(--ds-auro-calendar-cell-in-range-color)}:host .day.sameDateTrip:before{--ds-auro-calendar-cell-in-range-color: transparent}`;
24590
24590
 
@@ -24609,13 +24609,103 @@ class s{registerComponent(e,t){customElements.get(e)||customElements.define(e,cl
24609
24609
 
24610
24610
  var popoverVersion = '6.0.1';
24611
24611
 
24612
- /* eslint-disable curly, max-lines, no-underscore-dangle, no-magic-numbers, no-underscore-dangle, max-params, no-extra-parens, arrow-parens, max-lines, line-comment-position, no-inline-comments, lit/binding-positions, lit/no-invalid-html */
24612
+ /**
24613
+ * Single source of truth for parsing and matching blackout dates across the
24614
+ * datepicker. Both `auro-calendar` (memoized Set + `isDateBlackout`) and the
24615
+ * pre-`firstUpdated` fallback inside `auro-calendar-cell` route through these
24616
+ * helpers so the YYYY-MM-DD → seconds conversion and the merge-with-legacy
24617
+ * `disabledDays` rules are defined exactly once.
24618
+ */
24613
24619
 
24614
- const startOfDay$1 = (ms) => {
24615
- const date = new Date(ms);
24616
- date.setHours(0, 0, 0, 0);
24617
- return date.getTime();
24618
- };
24620
+ /**
24621
+ * Converts a `YYYY-MM-DD` ISO date string to a Unix timestamp (seconds)
24622
+ * representing local midnight on that calendar day. Returns `null` for
24623
+ * inputs that don't parse to a finite timestamp.
24624
+ *
24625
+ * Uses the `new Date(year, monthIndex, day)` constructor (NOT
24626
+ * `new Date(isoStr)`) so the result is local-midnight rather than UTC
24627
+ * midnight — required to keep the calendar grid aligned with the user's
24628
+ * local calendar day in negative-offset timezones.
24629
+ *
24630
+ * @param {string} isoStr - Date string in `YYYY-MM-DD` format.
24631
+ * @returns {number|null} Local-midnight Unix timestamp (seconds), or null.
24632
+ */
24633
+ function parseIsoToTimestamp(isoStr) {
24634
+ if (typeof isoStr !== 'string') {
24635
+ return null;
24636
+ }
24637
+ const parts = isoStr.split('-');
24638
+ if (parts.length !== 3) {
24639
+ return null;
24640
+ }
24641
+ const year = parseInt(parts[0], 10);
24642
+ const month = parseInt(parts[1], 10);
24643
+ const day = parseInt(parts[2], 10);
24644
+ if (!Number.isFinite(year) || !Number.isFinite(month) || !Number.isFinite(day)) {
24645
+ return null;
24646
+ }
24647
+ // Reject overflow values like "2024-13-40" — JS `new Date(year, month, day)`
24648
+ // silently normalizes those to a different calendar day, which would
24649
+ // disable the wrong date if we let the result through.
24650
+ if (month < 1 || month > 12 || day < 1 || day > 31) {
24651
+ return null;
24652
+ }
24653
+ const date = new Date(year, month - 1, day);
24654
+ // Guard the residual case where JS still rolls a value (e.g. Feb 30 → Mar 2).
24655
+ // After construction, getFullYear/getMonth/getDate should match the inputs.
24656
+ if (date.getFullYear() !== year || date.getMonth() !== month - 1 || date.getDate() !== day) {
24657
+ return null;
24658
+ }
24659
+ const ts = Math.floor(date.getTime() / 1000);
24660
+ return Number.isFinite(ts) ? ts : null;
24661
+ }
24662
+
24663
+ /**
24664
+ * Builds a `Set<number>` of seconds-since-epoch timestamps covering both the
24665
+ * legacy `disabledDays` (already-numeric) array and the ISO `blackoutDates`
24666
+ * array. Use this for O(1) membership checks in hot paths.
24667
+ *
24668
+ * @param {Array<string|number>|undefined} disabledDays - Legacy timestamp array.
24669
+ * @param {Array<string>|undefined} blackoutDates - ISO `YYYY-MM-DD` array.
24670
+ * @returns {Set<number>}
24671
+ */
24672
+ function buildBlackoutSet(disabledDays, blackoutDates) {
24673
+ const set = new Set();
24674
+ if (Array.isArray(disabledDays)) {
24675
+ for (const day of disabledDays) {
24676
+ const ts = parseInt(day, 10);
24677
+ if (Number.isFinite(ts)) {
24678
+ set.add(ts);
24679
+ }
24680
+ }
24681
+ }
24682
+ if (Array.isArray(blackoutDates)) {
24683
+ for (const isoStr of blackoutDates) {
24684
+ const ts = parseIsoToTimestamp(isoStr);
24685
+ if (ts !== null) {
24686
+ set.add(ts);
24687
+ }
24688
+ }
24689
+ }
24690
+ return set;
24691
+ }
24692
+
24693
+ /**
24694
+ * One-shot membership test for a single timestamp against both blackout
24695
+ * sources. Allocates a Set on each call; only use this in cold paths
24696
+ * (e.g. the pre-`firstUpdated` cell fallback). Hot paths should hold the
24697
+ * Set returned from `buildBlackoutSet` and `.has(ts)` directly.
24698
+ *
24699
+ * @param {number} dateTs - Unix timestamp (seconds) to test.
24700
+ * @param {Array<string|number>|undefined} disabledDays - Legacy timestamp array.
24701
+ * @param {Array<string>|undefined} blackoutDates - ISO `YYYY-MM-DD` array.
24702
+ * @returns {boolean}
24703
+ */
24704
+ function isBlackoutTimestamp(dateTs, disabledDays, blackoutDates) {
24705
+ return buildBlackoutSet(disabledDays, blackoutDates).has(dateTs);
24706
+ }
24707
+
24708
+ /* 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 */
24619
24709
 
24620
24710
  class AuroCalendarCell extends i$2 {
24621
24711
  constructor() {
@@ -24663,6 +24753,14 @@ class AuroCalendarCell extends i$2 {
24663
24753
  type: Boolean,
24664
24754
  reflect: true
24665
24755
  },
24756
+ /**
24757
+ * @deprecated Propagated from the legacy `auro-calendar.disabledDays`
24758
+ * Unix-timestamp array. The cell honors it for backward compatibility
24759
+ * (see the divergence-check fallback inside `isBlackout`), but
24760
+ * consumers should migrate to `auro-datepicker.blackoutDates`
24761
+ * (YYYY-MM-DD ISO strings). The calendar emits a one-time
24762
+ * deprecation warning the first time a non-empty value is observed.
24763
+ */
24666
24764
  disabledDays: { type: Array },
24667
24765
  isCurrentDate: { type: Boolean },
24668
24766
  locale: { type: String },
@@ -24708,8 +24806,8 @@ class AuroCalendarCell extends i$2 {
24708
24806
  const parsedDateTo = parseInt(dateTo, 10);
24709
24807
 
24710
24808
  if (day) {
24711
- const departTimestamp = startOfDay$1(parsedDateFrom * 1000) / 1000;
24712
- const returnTimestamp = startOfDay$1(parsedDateTo * 1000) / 1000;
24809
+ const departTimestamp = new Date(parsedDateFrom * 1000).setHours(0, 0, 0, 0) / 1000;
24810
+ const returnTimestamp = new Date(parsedDateTo * 1000).setHours(0, 0, 0, 0) / 1000;
24713
24811
 
24714
24812
  if (day.date === departTimestamp || day.date === returnTimestamp) {
24715
24813
  this.selected = true;
@@ -24793,27 +24891,33 @@ class AuroCalendarCell extends i$2 {
24793
24891
  return false;
24794
24892
  }
24795
24893
 
24796
- // Check against disabledDays timestamps (legacy path)
24797
- if (Array.isArray(this.disabledDays) && this.disabledDays.length > 0 &&
24798
- (this.disabledDays.findIndex(dd => parseInt(dd, 10) === this.day.date) !== -1)) {
24799
- return true;
24800
- }
24801
-
24802
- // Check against blackoutDates (ISO format YYYY-MM-DD) on the datepicker
24803
- const blackoutDates = this.datepicker?.blackoutDates;
24804
-
24805
- if (Array.isArray(blackoutDates) && blackoutDates.length > 0) {
24806
- const date = new Date(this.day.date * 1000);
24807
- const yyyy = date.getFullYear();
24808
- const mm = String(date.getMonth() + 1).padStart(2, '0');
24809
- const dd = String(date.getDate()).padStart(2, '0');
24810
- const cellDate = `${yyyy}-${mm}-${dd}`;
24811
- if (blackoutDates.includes(cellDate)) {
24894
+ // Delegate to the calendar's memoized blackout Set for O(1) lookup
24895
+ // (instead of rescanning disabledDays + blackoutDates per render). The
24896
+ // Set is rebuilt only when either source array reference changes — see
24897
+ // auro-calendar.js#_getBlackoutSet.
24898
+ if (this.calendar && typeof this.calendar._getBlackoutSet === 'function') {
24899
+ if (this.calendar._getBlackoutSet().has(this.day.date)) {
24812
24900
  return true;
24813
24901
  }
24902
+ // If the cell's local disabledDays diverged from the calendar's (a
24903
+ // consumer or test mutated cell.disabledDays directly), the Set does
24904
+ // not reflect that addition — fall through to the per-cell scan only
24905
+ // when the reference no longer matches. Production data flow keeps
24906
+ // these identical, so this branch stays cold. Guarded with
24907
+ // Array.isArray to match `_getBlackoutSet`'s contract: non-array
24908
+ // values are treated as empty rather than crashing on `.findIndex`.
24909
+ if (Array.isArray(this.disabledDays) && this.disabledDays !== this.calendar.disabledDays && this.disabledDays.length > 0) {
24910
+ if (this.disabledDays.findIndex((dd) => parseInt(dd, 10) === this.day.date) !== -1) {
24911
+ return true;
24912
+ }
24913
+ }
24914
+ return false;
24814
24915
  }
24815
24916
 
24816
- return false;
24917
+ // Pre-firstUpdated fallback — the cell may render once before the
24918
+ // ancestor calendar is wired up. Routes through the shared
24919
+ // blackoutUtils helper so the parsing rules stay in one place.
24920
+ return isBlackoutTimestamp(this.day.date, this.disabledDays, this.datepicker?.blackoutDates);
24817
24921
  }
24818
24922
 
24819
24923
  /**
@@ -24919,12 +25023,12 @@ class AuroCalendarCell extends i$2 {
24919
25023
  const parsedDateFrom = Number.parseInt(this.dateFrom, 10);
24920
25024
  if (!Number.isFinite(parsedDateFrom)) return null;
24921
25025
 
24922
- const departTimestamp = startOfDay$1(parsedDateFrom * 1000) / 1000;
25026
+ const departTimestamp = new Date(parsedDateFrom * 1000).setHours(0, 0, 0, 0) / 1000;
24923
25027
  const dayDate = this.day.date;
24924
25028
 
24925
25029
  const parsedDateTo = Number.parseInt(this.dateTo, 10);
24926
25030
  const hasDateTo = Number.isFinite(parsedDateTo);
24927
- const returnTimestamp = hasDateTo ? startOfDay$1(parsedDateTo * 1000) / 1000 : null;
25031
+ const returnTimestamp = hasDateTo ? new Date(parsedDateTo * 1000).setHours(0, 0, 0, 0) / 1000 : null;
24928
25032
 
24929
25033
  if (dayDate === departTimestamp) return this.datepicker.rangeLabelStart || 'range start';
24930
25034
 
@@ -24934,7 +25038,9 @@ class AuroCalendarCell extends i$2 {
24934
25038
 
24935
25039
  if (hasDateTo && dayDate > departTimestamp && dayDate < returnTimestamp) return this.datepicker.rangeLabelInRange || 'in range';
24936
25040
 
24937
- // After start date, no end date yet, or after end date
25041
+ if (!hasDateTo && dayDate > departTimestamp) return this.datepicker.rangeLabelEndPreview || 'previewing range end';
25042
+
25043
+ // After end date when both dateFrom and dateTo are set.
24938
25044
  return this.datepicker.rangeLabelAfterRange || 'after range';
24939
25045
  }
24940
25046
 
@@ -24947,7 +25053,7 @@ class AuroCalendarCell extends i$2 {
24947
25053
  */
24948
25054
  isDepartDate(day, dateFrom) {
24949
25055
  const parsedDateFrom = parseInt(dateFrom, 10);
24950
- const departTimestamp = startOfDay$1(parsedDateFrom * 1000) / 1000;
25056
+ const departTimestamp = new Date(parsedDateFrom * 1000).setHours(0, 0, 0, 0) / 1000;
24951
25057
 
24952
25058
  return this.selected && day.date === departTimestamp;
24953
25059
  }
@@ -24962,7 +25068,7 @@ class AuroCalendarCell extends i$2 {
24962
25068
  */
24963
25069
  isReturnDate(day, dateFrom, dateTo) {
24964
25070
  const parsedDateTo = parseInt(dateTo, 10);
24965
- const returnTimestamp = startOfDay$1(parsedDateTo * 1000) / 1000;
25071
+ const returnTimestamp = new Date(parsedDateTo * 1000).setHours(0, 0, 0, 0) / 1000;
24966
25072
 
24967
25073
  return this.selected && day.date === returnTimestamp && dateFrom;
24968
25074
  }
@@ -25126,6 +25232,7 @@ class AuroCalendarCell extends i$2 {
25126
25232
  setTimeout(() => this.firstUpdated(), 0);
25127
25233
  return;
25128
25234
  }
25235
+ this.calendar = calendar;
25129
25236
  this.datepicker = calendar.datepicker;
25130
25237
  this._slotContentHandler = () => {
25131
25238
  this.handleSlotContent();
@@ -25183,12 +25290,13 @@ class AuroCalendarCell extends i$2 {
25183
25290
  this._cachedButton = this.shadowRoot.querySelector('button.day');
25184
25291
  });
25185
25292
 
25186
- // Update host-level aria attributes for ariaActiveDescendantElement.
25293
+ // Keep the host's gridcell aria attributes in sync with the day data.
25187
25294
  this.updateHostAria();
25188
25295
  }
25189
25296
 
25190
25297
  // Update host aria when selection changes (aria-selected, range labels)
25191
- if (properties.has('dateFrom') || properties.has('dateTo') || properties.has('selected')) {
25298
+ // or when isCurrentDate flips (aria-current).
25299
+ if (properties.has('dateFrom') || properties.has('dateTo') || properties.has('selected') || properties.has('isCurrentDate')) {
25192
25300
  this.updateHostAria();
25193
25301
  }
25194
25302
 
@@ -25199,8 +25307,8 @@ class AuroCalendarCell extends i$2 {
25199
25307
  }
25200
25308
 
25201
25309
  /**
25202
- * Updates ARIA attributes on the host element so that
25203
- * ariaActiveDescendantElement can expose cell info to the SR.
25310
+ * Sets host-level ARIA so each cell exposes its date, selection state,
25311
+ * and blackout status to assistive tech browsing the month grid.
25204
25312
  * @private
25205
25313
  * @returns {void}
25206
25314
  */
@@ -25209,16 +25317,27 @@ class AuroCalendarCell extends i$2 {
25209
25317
 
25210
25318
  const outOfRange = this.isOutOfRange(this.day, this.min, this.max);
25211
25319
  if (outOfRange) {
25320
+ // Strip every aria attribute the in-range branch may have set on a
25321
+ // previous render — if a cell flips from in-range to out-of-range
25322
+ // (calendar shifts months, minDate/maxDate change, etc.).
25212
25323
  this.removeAttribute('role');
25213
25324
  this.removeAttribute('aria-label');
25325
+ this.removeAttribute('aria-current');
25326
+ this.removeAttribute('aria-selected');
25327
+ this.removeAttribute('aria-disabled');
25214
25328
  return;
25215
25329
  }
25216
25330
 
25217
- // The host acts as the gridcell for ariaActiveDescendantElement.
25218
25331
  this.setAttribute('role', 'gridcell');
25219
25332
  this.setAttribute('aria-label', this.getAriaLabel());
25220
25333
  this.setAttribute('aria-selected', this.selected ? 'true' : 'false');
25221
25334
 
25335
+ if (this.isCurrentDate) {
25336
+ this.setAttribute('aria-current', 'date');
25337
+ } else {
25338
+ this.removeAttribute('aria-current');
25339
+ }
25340
+
25222
25341
  if (this.isBlackout()) {
25223
25342
  this.setAttribute('aria-disabled', 'true');
25224
25343
  } else {
@@ -25233,7 +25352,7 @@ class AuroCalendarCell extends i$2 {
25233
25352
  * @returns {void}
25234
25353
  */
25235
25354
  focusButton() {
25236
- const button = this._cachedButton || this.shadowRoot.querySelector('button:not([aria-hidden])');
25355
+ const button = this._cachedButton || this.shadowRoot.querySelector('button:not([disabled])');
25237
25356
  if (button) {
25238
25357
  button.focus({ focusVisible: true });
25239
25358
  }
@@ -25241,7 +25360,9 @@ class AuroCalendarCell extends i$2 {
25241
25360
 
25242
25361
  /**
25243
25362
  * Imperatively marks this cell as active without triggering a Lit re-render.
25244
- * Note: buttons stay tabindex="-1" because the grid uses aria-activedescendant.
25363
+ * Buttons stay tabindex="-1" because DOM focus stays on the grid wrapper
25364
+ * arrow keys move the active cell imperatively and the live region carries
25365
+ * the SR announcement.
25245
25366
  * @returns {void}
25246
25367
  */
25247
25368
  setActive() {
@@ -25283,10 +25404,13 @@ class AuroCalendarCell extends i$2 {
25283
25404
  if (!btn || !this.day) return;
25284
25405
 
25285
25406
  const dayDate = this.day.date;
25286
- const departTimestamp = startOfDay$1(dateFrom * 1000) / 1000;
25407
+ const departTimestamp = new Date(dateFrom * 1000).setHours(0, 0, 0, 0) / 1000;
25287
25408
  const isInRange = dayDate > departTimestamp && dayDate < hoveredDate;
25288
- const isLastHovered = dayDate === hoveredDate && hoveredDate > departTimestamp;
25289
- const isDepartWithPreview = dayDate === departTimestamp && hoveredDate > departTimestamp;
25409
+ // `>=` so hovering the depart cell itself (a same-day round-trip
25410
+ // preview) still surfaces a visual cue: the depart cell receives both
25411
+ // rangeDepartDate and lastHoveredDate.
25412
+ const isLastHovered = dayDate === hoveredDate && hoveredDate >= departTimestamp;
25413
+ const isDepartWithPreview = dayDate === departTimestamp && hoveredDate >= departTimestamp;
25290
25414
 
25291
25415
  btn.classList.toggle('inRange', isInRange);
25292
25416
  btn.classList.toggle('lastHoveredDate', isLastHovered);
@@ -25344,7 +25468,6 @@ class AuroCalendarCell extends i$2 {
25344
25468
  @focus="${outOfRange ? undefined : this.handleFocus}"
25345
25469
  class="${e$2(buttonClasses)}"
25346
25470
  ?disabled="${outOfRange}"
25347
- aria-hidden="${outOfRange ? 'true' : A$7}"
25348
25471
  tabindex="-1">
25349
25472
  <div class="buttonWrapper" aria-hidden="true">
25350
25473
  <div class="currentDayMarker">${this.day?.title || A$7}</div>
@@ -26450,7 +26573,7 @@ let AuroBibtemplate$3 = class AuroBibtemplate extends i$2 {
26450
26573
  }
26451
26574
  };
26452
26575
 
26453
- var formkitVersion$2$1 = '202606241801';
26576
+ var formkitVersion$2$1 = '202606252104';
26454
26577
 
26455
26578
  let l$1$2 = class l{generateElementName(t,e){let o=t;return o+="-",o+=e.replace(/[.]/g,"_"),o}generateTag(o,s,a){const r=this.generateElementName(o,s),i=i$5`${s$5(r)}`;return customElements.get(r)||customElements.define(r,class extends a{}),i}};let d$1$2 = class d{registerComponent(t,e){customElements.get(t)||customElements.define(t,class extends e{});}closestElement(t,e=this,o=(e,s=e&&e.closest(t))=>e&&e!==document&&e!==window?s||o(e.getRootNode().host):null){return o(e)}handleComponentTagRename(t,e){const o=e.toLowerCase();t.tagName.toLowerCase()!==o&&t.setAttribute(o,true);}elementMatch(t,e){const o=e.toLowerCase();return t.tagName.toLowerCase()===o||t.hasAttribute(o)}getSlotText(t,e){const o=t.shadowRoot?.querySelector(`slot[name="${e}"]`),s=(o?.assignedNodes({flatten:true})||[]).map(t=>t.textContent?.trim()).join(" ").trim();return s||null}};let h$1$2 = class h{registerComponent(t,e){customElements.get(t)||customElements.define(t,class extends e{});}closestElement(t,e=this,o=(e,s=e&&e.closest(t))=>e&&e!==document&&e!==window?s||o(e.getRootNode().host):null){return o(e)}handleComponentTagRename(t,e){const o=e.toLowerCase();t.tagName.toLowerCase()!==o&&t.setAttribute(o,true);}elementMatch(t,e){const o=e.toLowerCase();return t.tagName.toLowerCase()===o||t.hasAttribute(o)}};var c$1$3=i$4`:host{color:var(--ds-auro-loader-color)}:host>span{background-color:var(--ds-auro-loader-background-color);border-color:var(--ds-auro-loader-border-color)}:host([onlight]),:host([appearance=brand]){--ds-auro-loader-color: var(--ds-basic-color-brand-primary, #01426a)}:host([ondark]),:host([appearance=inverse]){--ds-auro-loader-color: var(--ds-basic-color-texticon-inverse, #ffffff)}:host([orbit])>span{--ds-auro-loader-background-color: transparent}:host([orbit])>span:nth-child(1){--ds-auro-loader-border-color: currentcolor;opacity:.25}:host([orbit])>span:nth-child(2){--ds-auro-loader-border-color: currentcolor;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent}
26456
26579
  `,u$4$2=i$4`.body-default{font-size:var(--wcss-body-default-font-size, 1rem);line-height:var(--wcss-body-default-line-height, 1.5rem)}.body-default,.body-lg{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-weight, 450);letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-lg{font-size:var(--wcss-body-lg-font-size, 1.125rem);line-height:var(--wcss-body-lg-line-height, 1.625rem)}.body-sm{font-size:var(--wcss-body-sm-font-size, .875rem);line-height:var(--wcss-body-sm-line-height, 1.25rem)}.body-sm,.body-xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-weight, 450);letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-xs{font-size:var(--wcss-body-xs-font-size, .75rem);line-height:var(--wcss-body-xs-line-height, 1rem)}.body-2xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:var(--wcss-body-2xs-font-size, .625rem);font-weight:var(--wcss-body-weight, 450);letter-spacing:var(--wcss-body-letter-spacing, 0);line-height:var(--wcss-body-2xs-line-height, .875rem)}.display-2xl{font-family:var(--wcss-display-2xl-family, "AS Circular"),var(--wcss-display-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-2xl-font-size, clamp(3.5rem, 6vw, 5.375rem));font-weight:var(--wcss-display-2xl-weight, 300);letter-spacing:var(--wcss-display-2xl-letter-spacing, 0);line-height:var(--wcss-display-2xl-line-height, 1.3)}.display-xl{font-family:var(--wcss-display-xl-family, "AS Circular"),var(--wcss-display-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-xl-font-size, clamp(3rem, 5.3333333333vw, 4.5rem));font-weight:var(--wcss-display-xl-weight, 300);letter-spacing:var(--wcss-display-xl-letter-spacing, 0);line-height:var(--wcss-display-xl-line-height, 1.3)}.display-lg{font-family:var(--wcss-display-lg-family, "AS Circular"),var(--wcss-display-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-lg-font-size, clamp(2.75rem, 4.6666666667vw, 4rem));font-weight:var(--wcss-display-lg-weight, 300);letter-spacing:var(--wcss-display-lg-letter-spacing, 0);line-height:var(--wcss-display-lg-line-height, 1.3)}.display-md{font-family:var(--wcss-display-md-family, "AS Circular"),var(--wcss-display-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-md-font-size, clamp(2.5rem, 4vw, 3.5rem));font-weight:var(--wcss-display-md-weight, 300);letter-spacing:var(--wcss-display-md-letter-spacing, 0);line-height:var(--wcss-display-md-line-height, 1.3)}.display-sm{font-family:var(--wcss-display-sm-family, "AS Circular"),var(--wcss-display-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-sm-font-size, clamp(2rem, 3.6666666667vw, 3rem));font-weight:var(--wcss-display-sm-weight, 300);letter-spacing:var(--wcss-display-sm-letter-spacing, 0);line-height:var(--wcss-display-sm-line-height, 1.3)}.display-xs{font-family:var(--wcss-display-xs-family, "AS Circular"),var(--wcss-display-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-xs-font-size, clamp(1.75rem, 3vw, 2.375rem));font-weight:var(--wcss-display-xs-weight, 300);letter-spacing:var(--wcss-display-xs-letter-spacing, 0);line-height:var(--wcss-display-xs-line-height, 1.3)}.heading-xl{font-family:var(--wcss-heading-xl-family, "AS Circular"),var(--wcss-heading-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-xl-font-size, clamp(2rem, 3vw, 2.5rem));font-weight:var(--wcss-heading-xl-weight, 300);letter-spacing:var(--wcss-heading-xl-letter-spacing, 0);line-height:var(--wcss-heading-xl-line-height, 1.3)}.heading-lg{font-family:var(--wcss-heading-lg-family, "AS Circular"),var(--wcss-heading-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-lg-font-size, clamp(1.75rem, 2.6666666667vw, 2.25rem));font-weight:var(--wcss-heading-lg-weight, 300);letter-spacing:var(--wcss-heading-lg-letter-spacing, 0);line-height:var(--wcss-heading-lg-line-height, 1.3)}.heading-md{font-family:var(--wcss-heading-md-family, "AS Circular"),var(--wcss-heading-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-md-font-size, clamp(1.625rem, 2.3333333333vw, 1.75rem));font-weight:var(--wcss-heading-md-weight, 300);letter-spacing:var(--wcss-heading-md-letter-spacing, 0);line-height:var(--wcss-heading-md-line-height, 1.3)}.heading-sm{font-family:var(--wcss-heading-sm-family, "AS Circular"),var(--wcss-heading-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-sm-font-size, clamp(1.375rem, 2vw, 1.5rem));font-weight:var(--wcss-heading-sm-weight, 300);letter-spacing:var(--wcss-heading-sm-letter-spacing, 0);line-height:var(--wcss-heading-sm-line-height, 1.3)}.heading-xs{font-family:var(--wcss-heading-xs-family, "AS Circular"),var(--wcss-heading-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-xs-font-size, clamp(1.25rem, 1.6666666667vw, 1.25rem));font-weight:var(--wcss-heading-xs-weight, 450);letter-spacing:var(--wcss-heading-xs-letter-spacing, 0);line-height:var(--wcss-heading-xs-line-height, 1.3)}.heading-2xs{font-family:var(--wcss-heading-2xs-family, "AS Circular"),var(--wcss-heading-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-2xs-font-size, clamp(1.125rem, 1.5vw, 1.125rem));font-weight:var(--wcss-heading-2xs-weight, 450);letter-spacing:var(--wcss-heading-2xs-letter-spacing, 0);line-height:var(--wcss-heading-2xs-line-height, 1.3)}.accent-2xl{font-family:var(--wcss-accent-2xl-family, "Good OT"),var(--wcss-accent-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-2xl-font-size, clamp(2rem, 3.1666666667vw, 2.375rem));font-weight:var(--wcss-accent-2xl-weight, 450);letter-spacing:var(--wcss-accent-2xl-letter-spacing, .05em);line-height:var(--wcss-accent-2xl-line-height, 1)}.accent-2xl,.accent-xl{text-transform:uppercase}.accent-xl{font-family:var(--wcss-accent-xl-family, "Good OT"),var(--wcss-accent-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-xl-font-size, clamp(1.625rem, 2.3333333333vw, 2rem));font-weight:var(--wcss-accent-xl-weight, 450);letter-spacing:var(--wcss-accent-xl-letter-spacing, .05em);line-height:var(--wcss-accent-xl-line-height, 1.3)}.accent-lg{font-family:var(--wcss-accent-lg-family, "Good OT"),var(--wcss-accent-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-lg-font-size, clamp(1.5rem, 2.1666666667vw, 1.75rem));font-weight:var(--wcss-accent-lg-weight, 450);letter-spacing:var(--wcss-accent-lg-letter-spacing, .05em);line-height:var(--wcss-accent-lg-line-height, 1.3)}.accent-lg,.accent-md{text-transform:uppercase}.accent-md{font-family:var(--wcss-accent-md-family, "Good OT"),var(--wcss-accent-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-md-font-size, clamp(1.375rem, 1.8333333333vw, 1.5rem));font-weight:var(--wcss-accent-md-weight, 500);letter-spacing:var(--wcss-accent-md-letter-spacing, .05em);line-height:var(--wcss-accent-md-line-height, 1.3)}.accent-sm{font-family:var(--wcss-accent-sm-family, "Good OT"),var(--wcss-accent-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-sm-font-size, clamp(1.125rem, 1.5vw, 1.25rem));font-weight:var(--wcss-accent-sm-weight, 500);letter-spacing:var(--wcss-accent-sm-letter-spacing, .05em);line-height:var(--wcss-accent-sm-line-height, 1.3)}.accent-sm,.accent-xs{text-transform:uppercase}.accent-xs{font-family:var(--wcss-accent-xs-family, "Good OT"),var(--wcss-accent-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-xs-font-size, clamp(1rem, 1.3333333333vw, 1rem));font-weight:var(--wcss-accent-xs-weight, 500);letter-spacing:var(--wcss-accent-xs-letter-spacing, .1em);line-height:var(--wcss-accent-xs-line-height, 1.3)}.accent-2xs{font-family:var(--wcss-accent-2xs-family, "Good OT"),var(--wcss-accent-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-2xs-font-size, clamp(.875rem, 1.1666666667vw, .875rem));font-weight:var(--wcss-accent-2xs-weight, 450);letter-spacing:var(--wcss-accent-2xs-letter-spacing, .1em);line-height:var(--wcss-accent-2xs-line-height, 1.3);text-transform:uppercase}:focus:not(:focus-visible){outline:3px solid transparent}:host,:host>span{position:relative}:host{width:2rem;height:2rem;display:inline-block;font-size:0}:host>span{position:absolute;display:inline-block;float:none;top:0;left:0;width:2rem;height:2rem;border-radius:100%;border-style:solid;border-width:0;box-sizing:border-box}:host([xs]),:host([xs])>span{width:1.2rem;height:1.2rem}:host([sm]),:host([sm])>span{width:3rem;height:3rem}:host([md]),:host([md])>span{width:5rem;height:5rem}:host([lg]),:host([lg])>span{width:8rem;height:8rem}:host{--margin: .375rem;--margin-xs: .2rem;--margin-sm: .5rem;--margin-md: .75rem;--margin-lg: 1rem}:host([pulse]),:host([pulse])>span{position:relative}:host([pulse]){width:calc(3rem + var(--margin) * 6);height:calc(1rem + var(--margin) * 2)}:host([pulse])>span{width:1rem;height:1rem;margin:var(--margin);animation:pulse 1.5s ease infinite}:host([pulse][xs]){width:calc(1.95rem + var(--margin-xs) * 6);height:calc(.65rem + var(--margin-xs) * 2)}:host([pulse][xs])>span{margin:var(--margin-xs);width:.65rem;height:.65rem}:host([pulse][sm]){width:calc(6rem + var(--margin-sm) * 6);height:calc(2rem + var(--margin-sm) * 2)}:host([pulse][sm])>span{margin:var(--margin-sm);width:2rem;height:2rem}:host([pulse][md]){width:calc(9rem + var(--margin-md) * 6);height:calc(3rem + var(--margin-md) * 2)}:host([pulse][md])>span{margin:var(--margin-md);width:3rem;height:3rem}:host([pulse][lg]){width:calc(15rem + var(--margin-lg) * 6);height:calc(5rem + var(--margin-lg) * 2)}:host([pulse][lg])>span{margin:var(--margin-lg);width:5rem;height:5rem}:host([pulse])>span:nth-child(1){animation-delay:-.4s}:host([pulse])>span:nth-child(2){animation-delay:-.2s}:host([pulse])>span:nth-child(3){animation-delay:0ms}@keyframes pulse{0%,to{opacity:.1;transform:scale(.9)}50%{opacity:1;transform:scale(1.1)}}:host([orbit]),:host([orbit])>span{opacity:1}:host([orbit])>span{border-width:5px}:host([orbit])>span:nth-child(2){animation:orbit 2s linear infinite}:host([orbit][sm])>span{border-width:8px}:host([orbit][md])>span{border-width:13px}:host([orbit][lg])>span{border-width:21px}@keyframes orbit{0%{transform:rotate(0)}to{transform:rotate(360deg)}}:host([ringworm])>svg{animation:rotate 2s linear infinite;height:100%;width:100%;stroke:currentcolor;stroke-width:8}:host([ringworm]) .path{stroke-dashoffset:0;animation:ringworm 1.5s ease-in-out infinite;stroke-linecap:round}@keyframes rotate{to{transform:rotate(360deg)}}@keyframes ringworm{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px}to{stroke-dasharray:89,200;stroke-dashoffset:-124px}}:host([laser]){position:static;width:100%;display:block;height:0;overflow:hidden;font-size:unset}:host([laser])>span{position:fixed;width:100%;height:.25rem;border-radius:0;z-index:100}:host([laser])>span:nth-child(1){border-color:currentcolor;opacity:.25}:host([laser])>span:nth-child(2){border-color:currentcolor;animation:laser 2s linear infinite;opacity:1;width:50%}:host([laser][sm])>span:nth-child(2){width:20%}:host([laser][md])>span:nth-child(2){width:30%}:host([laser][lg])>span:nth-child(2){width:50%;animation-duration:1.5s}:host([laser][xl])>span:nth-child(2){width:80%;animation-duration:1.5s}@keyframes laser{0%{left:-100%}to{left:110%}}:host>.no-animation{display:none}@media (prefers-reduced-motion: reduce){:host{display:flex;align-items:center;justify-content:center}:host>span{opacity:1}:host>.loader{display:none}:host>svg{display:none}:host>.no-animation{display:block}}
@@ -26573,7 +26696,11 @@ class AuroCalendar extends RangeDatepicker {
26573
26696
  this.calendarRangeMonths = null;
26574
26697
 
26575
26698
  /**
26576
- * Legacy array of disabled-date timestamps.
26699
+ * @deprecated Use `auro-datepicker.blackoutDates` (an array of
26700
+ * `YYYY-MM-DD` ISO strings) instead. This legacy array of Unix
26701
+ * timestamps is still honored for backward compatibility but emits a
26702
+ * one-time `console.debug` the first time a non-empty value is observed.
26703
+ * Support will be removed in a future major release.
26577
26704
  * @private
26578
26705
  */
26579
26706
  this.disabledDays = [];
@@ -26830,17 +26957,44 @@ class AuroCalendar extends RangeDatepicker {
26830
26957
  * @returns {void}
26831
26958
  */
26832
26959
  updateActiveCellForVisibleMonth() {
26833
- // Use double-rAF to ensure child month/cell components have fully
26834
- // rendered and cached their button references before we set tabindex.
26835
- requestAnimationFrame(() => {
26836
- requestAnimationFrame(() => {
26837
- const newDate = this.computeActiveDate({ skipDateFrom: true });
26960
+ this._afterMonthRender(() => {
26961
+ const newDate = this.computeActiveDate({ skipDateFrom: true });
26838
26962
 
26839
- if (newDate !== null && newDate !== undefined) {
26840
- this.activeCellDate = newDate;
26841
- this.setActiveCell(this.activeCellDate);
26842
- }
26843
- });
26963
+ if (newDate !== null && newDate !== undefined) {
26964
+ this.activeCellDate = newDate;
26965
+ this.setActiveCell(this.activeCellDate);
26966
+ }
26967
+ });
26968
+ }
26969
+
26970
+ /**
26971
+ * Schedules `callback` two animation frames out, giving the child
26972
+ * `auro-formkit-calendar-month` and `auro-formkit-calendar-cell` elements
26973
+ * a full render-and-paint cycle to settle before the callback reads or
26974
+ * mutates DOM.
26975
+ *
26976
+ * Why two frames, not one:
26977
+ * 1. Lit batches property updates and renders in a microtask, so frame N
26978
+ * schedules the render but the new DOM may not be painted yet.
26979
+ * 2. Cells re-cache `_cachedButton` inside their own `updateComplete.then`,
26980
+ * which also lands a tick later. Reading buttons from frame N+1
26981
+ * (after both renders + cache refresh have flushed) reliably hits the
26982
+ * new month's cells.
26983
+ *
26984
+ * Used by every code path that calls `handleNextMonth`/`handlePrevMonth`
26985
+ * and then needs to inspect the freshly-rendered cells (cross-month
26986
+ * keyboard nav, boundary events, `updateActiveCellForVisibleMonth`).
26987
+ * Do NOT collapse to a single rAF — it intermittently lands before
26988
+ * `_cachedButton` is refreshed, which silently breaks focus restoration
26989
+ * and `setActiveCell` lookups.
26990
+ * @private
26991
+ * @param {() => void} callback - Runs once after the month re-render and
26992
+ * the cells' button caches have refreshed.
26993
+ * @returns {void}
26994
+ */
26995
+ _afterMonthRender(callback) {
26996
+ requestAnimationFrame(() => {
26997
+ requestAnimationFrame(callback);
26844
26998
  });
26845
26999
  }
26846
27000
 
@@ -26958,6 +27112,47 @@ class AuroCalendar extends RangeDatepicker {
26958
27112
  return Array.from(this.shadowRoot.querySelectorAll('auro-formkit-calendar-month'));
26959
27113
  }
26960
27114
 
27115
+ /**
27116
+ * Picks the focusable cell whose date is closest to targetTs. Used as a
27117
+ * fallback after a month-boundary nav when the exact target date isn't
27118
+ * focusable — typically because the month re-render lagged or the date
27119
+ * was filtered out by isOutOfRange. When two cells are equidistant, the
27120
+ * navigation direction breaks the tie so the user moves the way they
27121
+ * pressed (forward → later cell, backward → earlier cell).
27122
+ * @private
27123
+ * @param {Array} cells - Focusable cells from getAllFocusableCells.
27124
+ * @param {Number} targetTs - Desired Unix timestamp (seconds).
27125
+ * @param {'next'|'prev'} direction - Navigation direction.
27126
+ * @returns {Object|null} The nearest cell, or null when cells is empty.
27127
+ */
27128
+ pickNearestCell(cells, targetTs, direction) {
27129
+ if (!cells.length) {
27130
+ return null;
27131
+ }
27132
+ const forward = direction === 'next';
27133
+ let best = null;
27134
+ let bestDelta = Infinity;
27135
+ cells.forEach((cell) => {
27136
+ if (!cell.day) {
27137
+ return;
27138
+ }
27139
+ const distance = Math.abs(cell.day.date - targetTs);
27140
+ if (distance < bestDelta) {
27141
+ best = cell;
27142
+ bestDelta = distance;
27143
+ return;
27144
+ }
27145
+ if (distance === bestDelta && best) {
27146
+ if (forward && cell.day.date > best.day.date) {
27147
+ best = cell;
27148
+ } else if (!forward && cell.day.date < best.day.date) {
27149
+ best = cell;
27150
+ }
27151
+ }
27152
+ });
27153
+ return best;
27154
+ }
27155
+
26961
27156
  /**
26962
27157
  * Gets all focusable cells across all rendered months.
26963
27158
  * @private
@@ -26974,9 +27169,9 @@ class AuroCalendar extends RangeDatepicker {
26974
27169
 
26975
27170
  /**
26976
27171
  * Sets the active cell across all months. Only one cell has tabindex="0" at a time.
26977
- * Uses imperative DOM manipulation — no Lit re-render triggered.
26978
- * Also updates ariaActiveDescendantElement on the grid wrapper so
26979
- * screen readers announce the active cell without moving DOM focus.
27172
+ * Uses imperative DOM manipulation — no Lit re-render triggered. DOM focus
27173
+ * stays on the grid wrapper; the live region (see getOrCreateLiveRegion)
27174
+ * is what announces the active cell to assistive tech.
26980
27175
  * @param {Number} date - Unix timestamp of the cell to activate.
26981
27176
  * @returns {void}
26982
27177
  */
@@ -27057,6 +27252,63 @@ class AuroCalendar extends RangeDatepicker {
27057
27252
  this.clearRangePreview();
27058
27253
  }
27059
27254
 
27255
+ /**
27256
+ * Returns a memoized Set of blackout timestamps (seconds) drawn from both
27257
+ * the legacy `disabledDays` array and the datepicker's ISO `blackoutDates`.
27258
+ * The cache invalidates when either source array's reference changes, which
27259
+ * matches Lit's own reactive identity semantics for array properties.
27260
+ * @private
27261
+ * @returns {Set<Number>}
27262
+ */
27263
+ _getBlackoutSet() {
27264
+ // Guard with Array.isArray so a non-array truthy value (string, object,
27265
+ // etc.) is treated as "no legacy disabledDays" — keeps the deprecation
27266
+ // warning and the memoization key consistent with what buildBlackoutSet
27267
+ // will actually consume (also an Array.isArray check).
27268
+ const disabledDays = Array.isArray(this.disabledDays) ? this.disabledDays : [];
27269
+ const blackoutDates = this.datepicker?.blackoutDates;
27270
+ if (this._blackoutSet &&
27271
+ this._cachedBlackoutDisabledDays === disabledDays &&
27272
+ this._cachedBlackoutDates === blackoutDates) {
27273
+ return this._blackoutSet;
27274
+ }
27275
+
27276
+ if (disabledDays.length > 0) {
27277
+ this._warnDisabledDaysDeprecated();
27278
+ }
27279
+
27280
+ this._blackoutSet = buildBlackoutSet(disabledDays, blackoutDates);
27281
+ this._cachedBlackoutDisabledDays = disabledDays;
27282
+ this._cachedBlackoutDates = blackoutDates;
27283
+ return this._blackoutSet;
27284
+ }
27285
+
27286
+ /**
27287
+ * Per-class flag that gates the `disabledDays` deprecation warning so it
27288
+ * fires exactly once per page no matter how many calendars or rebuild
27289
+ * cycles encounter the legacy array.
27290
+ * @private
27291
+ */
27292
+ static _warnedDisabledDaysDeprecation = false;
27293
+
27294
+ /**
27295
+ * One-time `console.debug` directing consumers from the legacy
27296
+ * `disabledDays` Unix-timestamp API to the ISO `blackoutDates` API. Fires
27297
+ * the first time `_getBlackoutSet` rebuilds from a non-empty
27298
+ * `disabledDays`; subsequent calls (on this or any other AuroCalendar
27299
+ * instance on the page) are silent.
27300
+ * @private
27301
+ * @returns {void}
27302
+ */
27303
+ _warnDisabledDaysDeprecated() {
27304
+ if (AuroCalendar._warnedDisabledDaysDeprecation) {
27305
+ return;
27306
+ }
27307
+ AuroCalendar._warnedDisabledDaysDeprecation = true;
27308
+ // eslint-disable-next-line no-console
27309
+ 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.');
27310
+ }
27311
+
27060
27312
  /**
27061
27313
  * Computes the initial active date from data properties alone — no DOM required.
27062
27314
  * Priority:
@@ -27101,21 +27353,10 @@ class AuroCalendar extends RangeDatepicker {
27101
27353
  const minTs = Number.isFinite(rawMin) ? rawMin : -Infinity;
27102
27354
  const maxTs = Number.isFinite(rawMax) ? rawMax : Infinity;
27103
27355
 
27104
- // Build a Set of blackout timestamps for O(1) lookup.
27105
- const blackoutSet = new Set(this.disabledDays.map((day) => parseInt(day, 10)));
27106
-
27107
- // Also include ISO-format blackoutDates from the datepicker if available.
27108
- // Parse YYYY-MM-DD as local date to avoid UTC shift issues.
27109
- const isoBlackouts = this.datepicker?.blackoutDates;
27110
- if (Array.isArray(isoBlackouts)) {
27111
- for (const isoStr of isoBlackouts) {
27112
- const parts = isoStr.split('-');
27113
- const ts = Math.floor(new Date(parseInt(parts[0], 10), parseInt(parts[1], 10) - 1, parseInt(parts[2], 10)).getTime() / 1000);
27114
- if (Number.isFinite(ts)) {
27115
- blackoutSet.add(ts);
27116
- }
27117
- }
27118
- }
27356
+ // Build a Set of blackout timestamps for O(1) lookup. Memoized by the
27357
+ // identity of the source arrays so rapid month nav doesn't rebuild the
27358
+ // Set (and re-parse every ISO string) on every keypress.
27359
+ const blackoutSet = this._getBlackoutSet();
27119
27360
 
27120
27361
  /**
27121
27362
  * A date (unix timestamp in seconds, midnight-aligned) is "enabled" when
@@ -27311,8 +27552,8 @@ class AuroCalendar extends RangeDatepicker {
27311
27552
 
27312
27553
  /**
27313
27554
  * Handles arrow key navigation on the calendar grid wrapper.
27314
- * Focus stays on the grid wrapper; only ariaActiveDescendantElement
27315
- * and the visual active-cell indicator change.
27555
+ * Focus stays on the grid wrapper; only the visual active-cell indicator
27556
+ * changes. The live region announces the new active cell.
27316
27557
  * @private
27317
27558
  * @param {KeyboardEvent} event - The keyboard event.
27318
27559
  * @returns {void}
@@ -27377,21 +27618,21 @@ class AuroCalendar extends RangeDatepicker {
27377
27618
  } else {
27378
27619
  this.handlePrevMonth({ skipActiveUpdate: true });
27379
27620
  }
27380
- requestAnimationFrame(() => {
27381
- requestAnimationFrame(() => {
27382
- const cells = this.getAllFocusableCells();
27383
- const target = cells.find((cell) => cell.day && cell.day.date === targetTs);
27384
- if (target) {
27385
- this.setActiveCell(target.day.date);
27386
- this.handleCellFocused({ detail: { date: target.day.date } });
27387
- } else if (cells.length > 0) {
27388
- const fallback = navDir === 'next' ? cells[cells.length - 1] : cells[0];
27621
+ this._afterMonthRender(() => {
27622
+ const cells = this.getAllFocusableCells();
27623
+ const target = cells.find((cell) => cell.day && cell.day.date === targetTs);
27624
+ if (target) {
27625
+ this.setActiveCell(target.day.date);
27626
+ this.handleCellFocused({ detail: { date: target.day.date } });
27627
+ } else {
27628
+ const fallback = this.pickNearestCell(cells, targetTs, navDir);
27629
+ if (fallback) {
27389
27630
  this.setActiveCell(fallback.day.date);
27390
27631
  this.handleCellFocused({ detail: { date: fallback.day.date } });
27391
27632
  }
27392
- // Re-focus grid wrapper after month change re-render
27393
- this.focusActiveCell();
27394
- });
27633
+ }
27634
+ // Re-focus grid wrapper after month change re-render
27635
+ this.focusActiveCell();
27395
27636
  });
27396
27637
  }
27397
27638
  }
@@ -27417,26 +27658,20 @@ class AuroCalendar extends RangeDatepicker {
27417
27658
  } else {
27418
27659
  this.handlePrevMonth({ skipActiveUpdate: true });
27419
27660
  }
27420
- requestAnimationFrame(() => {
27421
- requestAnimationFrame(() => {
27422
- const cells = this.getAllFocusableCells();
27423
- const target = cells.find((cell) => cell.day && cell.day.date === targetDate);
27424
- if (target) {
27425
- this.setActiveCell(target.day.date);
27426
- this.handleCellFocused({ detail: { date: target.day.date } });
27427
- } else if (cells.length > 0) {
27428
- let nearest = null;
27429
-
27430
- if (navDirection === 'next') {
27431
- [nearest] = cells;
27432
- } else {
27433
- nearest = cells[cells.length - 1];
27434
- }
27661
+ this._afterMonthRender(() => {
27662
+ const cells = this.getAllFocusableCells();
27663
+ const target = cells.find((cell) => cell.day && cell.day.date === targetDate);
27664
+ if (target) {
27665
+ this.setActiveCell(target.day.date);
27666
+ this.handleCellFocused({ detail: { date: target.day.date } });
27667
+ } else {
27668
+ const nearest = this.pickNearestCell(cells, targetDate, navDirection);
27669
+ if (nearest) {
27435
27670
  this.setActiveCell(nearest.day.date);
27436
27671
  this.handleCellFocused({ detail: { date: nearest.day.date } });
27437
27672
  }
27438
- this.focusActiveCell();
27439
- });
27673
+ }
27674
+ this.focusActiveCell();
27440
27675
  });
27441
27676
  }
27442
27677
  }
@@ -27486,19 +27721,17 @@ class AuroCalendar extends RangeDatepicker {
27486
27721
  }
27487
27722
 
27488
27723
  this.handleNextMonth({ skipActiveUpdate: true });
27489
- requestAnimationFrame(() => {
27490
- requestAnimationFrame(() => {
27491
- const cells = this.getAllFocusableCells();
27492
- const target = cells.find((cell) => cell.day && cell.day.date === nextTs);
27493
- if (target) {
27494
- this.setActiveCell(target.day.date);
27495
- this.focusActiveCell();
27496
- } else if (cells.length > 0) {
27497
- // Fallback: first cell of the last rendered month
27498
- this.setActiveCell(cells[cells.length - 1].day.date);
27499
- this.focusActiveCell();
27500
- }
27501
- });
27724
+ this._afterMonthRender(() => {
27725
+ const cells = this.getAllFocusableCells();
27726
+ const target = cells.find((cell) => cell.day && cell.day.date === nextTs);
27727
+ if (target) {
27728
+ this.setActiveCell(target.day.date);
27729
+ this.focusActiveCell();
27730
+ } else if (cells.length > 0) {
27731
+ // Fallback: first cell of the last rendered month
27732
+ this.setActiveCell(cells[cells.length - 1].day.date);
27733
+ this.focusActiveCell();
27734
+ }
27502
27735
  });
27503
27736
  } else if (direction === 'prev' && this.showPrevMonthBtn) {
27504
27737
  // Navigate to previous month and focus the computed previous date.
@@ -27512,19 +27745,17 @@ class AuroCalendar extends RangeDatepicker {
27512
27745
  }
27513
27746
 
27514
27747
  this.handlePrevMonth({ skipActiveUpdate: true });
27515
- requestAnimationFrame(() => {
27516
- requestAnimationFrame(() => {
27517
- const cells = this.getAllFocusableCells();
27518
- const target = cells.find((cell) => cell.day && cell.day.date === prevTs);
27519
- if (target) {
27520
- this.setActiveCell(target.day.date);
27521
- this.focusActiveCell();
27522
- } else if (cells.length > 0) {
27523
- // Fallback: last cell of the first rendered month
27524
- this.setActiveCell(cells[0].day.date);
27525
- this.focusActiveCell();
27526
- }
27527
- });
27748
+ this._afterMonthRender(() => {
27749
+ const cells = this.getAllFocusableCells();
27750
+ const target = cells.find((cell) => cell.day && cell.day.date === prevTs);
27751
+ if (target) {
27752
+ this.setActiveCell(target.day.date);
27753
+ this.focusActiveCell();
27754
+ } else if (cells.length > 0) {
27755
+ // Fallback: last cell of the first rendered month
27756
+ this.setActiveCell(cells[0].day.date);
27757
+ this.focusActiveCell();
27758
+ }
27528
27759
  });
27529
27760
  }
27530
27761
  } else if (key === 'ArrowDown' || key === 'ArrowUp') {
@@ -27552,20 +27783,18 @@ class AuroCalendar extends RangeDatepicker {
27552
27783
  } else {
27553
27784
  this.handlePrevMonth({ skipActiveUpdate: true });
27554
27785
  }
27555
- requestAnimationFrame(() => {
27556
- requestAnimationFrame(() => {
27557
- const cells = this.getAllFocusableCells();
27558
- const target = cells.find((cell) => cell.day && cell.day.date === targetDate);
27559
- if (target) {
27560
- this.setActiveCell(target.day.date);
27561
- this.focusActiveCell();
27562
- } else if (cells.length > 0) {
27563
- // Clamp to nearest focusable cell
27564
- const nearest = navDirection === 'next' ? cells[0] : cells[cells.length - 1];
27565
- this.setActiveCell(nearest.day.date);
27566
- this.focusActiveCell();
27567
- }
27568
- });
27786
+ this._afterMonthRender(() => {
27787
+ const cells = this.getAllFocusableCells();
27788
+ const target = cells.find((cell) => cell.day && cell.day.date === targetDate);
27789
+ if (target) {
27790
+ this.setActiveCell(target.day.date);
27791
+ this.focusActiveCell();
27792
+ } else if (cells.length > 0) {
27793
+ // Clamp to nearest focusable cell
27794
+ const nearest = navDirection === 'next' ? cells[0] : cells[cells.length - 1];
27795
+ this.setActiveCell(nearest.day.date);
27796
+ this.focusActiveCell();
27797
+ }
27569
27798
  });
27570
27799
  }
27571
27800
  }
@@ -27604,8 +27833,9 @@ class AuroCalendar extends RangeDatepicker {
27604
27833
  return;
27605
27834
  }
27606
27835
 
27607
- // With aria-activedescendant, the button no longer receives native focus,
27608
- // so we use the debounced live region for the full context announcement.
27836
+ // DOM focus stays on the grid wrapper while arrow keys move the active
27837
+ // cell, so cell buttons never receive native focus. The debounced live
27838
+ // region carries the full-context announcement instead.
27609
27839
  const announcement = this.buildFocusAnnouncement(date);
27610
27840
  this.announceFocusDebounced(announcement);
27611
27841
 
@@ -27675,10 +27905,10 @@ class AuroCalendar extends RangeDatepicker {
27675
27905
  return null;
27676
27906
  }
27677
27907
 
27678
- const departTs = startOfDay$2(parsedFrom * 1000) / 1000;
27908
+ const departTs = new Date(parsedFrom * 1000).setHours(0, 0, 0, 0) / 1000;
27679
27909
  const parsedTo = Number.parseInt(this.dateTo, 10);
27680
27910
  const hasTo = Number.isFinite(parsedTo);
27681
- const returnTs = hasTo ? startOfDay$2(parsedTo * 1000) / 1000 : null;
27911
+ const returnTs = hasTo ? new Date(parsedTo * 1000).setHours(0, 0, 0, 0) / 1000 : null;
27682
27912
 
27683
27913
  if (date === departTs) {
27684
27914
  return this.datepicker.rangeLabelStart || 'range start';
@@ -27692,36 +27922,22 @@ class AuroCalendar extends RangeDatepicker {
27692
27922
  if (hasTo && date > departTs && date < returnTs) {
27693
27923
  return this.datepicker.rangeLabelInRange || 'in range';
27694
27924
  }
27925
+ if (!hasTo && date > departTs) {
27926
+ return this.datepicker.rangeLabelEndPreview || 'previewing range end';
27927
+ }
27695
27928
  return this.datepicker.rangeLabelAfterRange || 'after range';
27696
27929
  }
27697
27930
 
27698
27931
  /**
27699
- * Checks whether a given date is a blackout date.
27932
+ * Checks whether a given date is a blackout date. Delegates to the
27933
+ * memoized `_getBlackoutSet` so the YYYY-MM-DD parsing and the
27934
+ * legacy/ISO merge rules live in exactly one place (see `blackoutUtils.js`).
27700
27935
  * @private
27701
27936
  * @param {Number} dateTs - Unix timestamp (seconds).
27702
27937
  * @returns {Boolean} True if the date is blacked out.
27703
27938
  */
27704
27939
  isDateBlackout(dateTs) {
27705
- // Check legacy disabledDays.
27706
- if (Array.isArray(this.disabledDays) && this.disabledDays.length > 0) {
27707
- if (this.disabledDays.findIndex((day) => parseInt(day, 10) === dateTs) !== -1) {
27708
- return true;
27709
- }
27710
- }
27711
-
27712
- // Check ISO blackoutDates.
27713
- const blackoutDates = this.datepicker?.blackoutDates;
27714
- if (Array.isArray(blackoutDates) && blackoutDates.length > 0) {
27715
- const date = new Date(dateTs * 1000);
27716
- const yyyy = date.getFullYear();
27717
- const mm = String(date.getMonth() + 1).padStart(2, '0');
27718
- const dd = String(date.getDate()).padStart(2, '0');
27719
- if (blackoutDates.includes(`${yyyy}-${mm}-${dd}`)) {
27720
- return true;
27721
- }
27722
- }
27723
-
27724
- return false;
27940
+ return this._getBlackoutSet().has(dateTs);
27725
27941
  }
27726
27942
 
27727
27943
  /**
@@ -27888,9 +28104,34 @@ class AuroCalendar extends RangeDatepicker {
27888
28104
  // the last one.
27889
28105
  if (this._announceRafId) {
27890
28106
  cancelAnimationFrame(this._announceRafId);
28107
+ this._announceRafId = null;
27891
28108
  }
28109
+ this._deliverAnnouncement(dateStr, 0);
28110
+ }
28111
+
28112
+ /**
28113
+ * Writes `dateStr` to the live region. If the dropdown's dialog hasn't
28114
+ * mounted yet (so getOrCreateLiveRegion can't attach), retries on the
28115
+ * next animation frame up to MAX_LIVE_REGION_RETRIES instead of silently
28116
+ * dropping the announcement. The retry uses the same `_announceRafId`
28117
+ * the double-rAF below uses, so a newer announceSelection call (or
28118
+ * disconnectedCallback) cancels any in-flight retry.
28119
+ * @private
28120
+ * @param {String} dateStr - The localized date string to announce.
28121
+ * @param {Number} attempts - Number of prior retry attempts.
28122
+ * @returns {void}
28123
+ */
28124
+ _deliverAnnouncement(dateStr, attempts) {
27892
28125
  const liveRegion = this.getOrCreateLiveRegion();
27893
28126
  if (!liveRegion) {
28127
+ const MAX_LIVE_REGION_RETRIES = 10;
28128
+ if (attempts < MAX_LIVE_REGION_RETRIES) {
28129
+ this._announceRafId = requestAnimationFrame(() => {
28130
+ this._deliverAnnouncement(dateStr, attempts + 1);
28131
+ });
28132
+ } else {
28133
+ this._announceRafId = null;
28134
+ }
27894
28135
  return;
27895
28136
  }
27896
28137
 
@@ -28076,7 +28317,7 @@ class AuroCalendar extends RangeDatepicker {
28076
28317
  </button>
28077
28318
  ` : undefined}
28078
28319
  </div>
28079
- <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}">
28320
+ <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}">
28080
28321
  ${this.renderAllCalendars()}
28081
28322
  </div>
28082
28323
  </div>
@@ -31961,7 +32202,7 @@ let AuroHelpText$2$1 = class AuroHelpText extends i$2 {
31961
32202
  }
31962
32203
  };
31963
32204
 
31964
- var formkitVersion$1$3 = '202606241801';
32205
+ var formkitVersion$1$3 = '202606252104';
31965
32206
 
31966
32207
  let AuroElement$2$2 = class AuroElement extends i$2 {
31967
32208
  static get properties() {
@@ -38358,7 +38599,7 @@ function normalizeDates$2(context, ...dates) {
38358
38599
  * const result = startOfDay(new Date(2014, 8, 2, 11, 55, 0))
38359
38600
  * //=> Tue Sep 02 2014 00:00:00
38360
38601
  */
38361
- function startOfDay$3(date, options) {
38602
+ function startOfDay$2(date, options) {
38362
38603
  const _date = toDate$2(date, options?.in);
38363
38604
  _date.setHours(0, 0, 0, 0);
38364
38605
  return _date;
@@ -38406,8 +38647,8 @@ function differenceInCalendarDays$2(laterDate, earlierDate, options) {
38406
38647
  earlierDate,
38407
38648
  );
38408
38649
 
38409
- const laterStartOfDay = startOfDay$3(laterDate_);
38410
- const earlierStartOfDay = startOfDay$3(earlierDate_);
38650
+ const laterStartOfDay = startOfDay$2(laterDate_);
38651
+ const earlierStartOfDay = startOfDay$2(earlierDate_);
38411
38652
 
38412
38653
  const laterTimestamp =
38413
38654
  +laterStartOfDay - getTimezoneOffsetInMilliseconds$2(laterStartOfDay);
@@ -45554,7 +45795,7 @@ let AuroHelpText$1$3 = class AuroHelpText extends i$2 {
45554
45795
  }
45555
45796
  };
45556
45797
 
45557
- var formkitVersion$7 = '202606241801';
45798
+ var formkitVersion$7 = '202606252104';
45558
45799
 
45559
45800
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
45560
45801
  // See LICENSE in the project root for license information.
@@ -47031,6 +47272,7 @@ class AuroDatePicker extends AuroElement$5 {
47031
47272
  this.rangeLabelBeforeRange = 'before range';
47032
47273
  this.rangeLabelInRange = 'in range';
47033
47274
  this.rangeLabelAfterRange = 'after range';
47275
+ this.rangeLabelEndPreview = 'previewing range end';
47034
47276
  this.blackoutDates = [];
47035
47277
  this.blackoutLabel = 'unavailable';
47036
47278
  this.navLabelPrevMonth = 'Previous month';
@@ -47130,6 +47372,22 @@ class AuroDatePicker extends AuroElement$5 {
47130
47372
  */
47131
47373
  this.handleClick = this.handleClick.bind(this);
47132
47374
 
47375
+ /**
47376
+ * Single AbortController shared by every listener registered in the
47377
+ * configure* methods. Lets disconnectedCallback tear all of them down
47378
+ * with one abort() call.
47379
+ *
47380
+ * The genuine leak risk is the listeners attached to children that can
47381
+ * outlive the host if they get reparented — `this.dropdown`,
47382
+ * `this.calendar`, and the inputs inside the dropdown's slot.
47383
+ * Listeners attached to `this` (e.g. focusin/focusout on the host)
47384
+ * form a self-contained reference graph that the GC can collect with
47385
+ * the host anyway, but they share the same signal so the cleanup
47386
+ * pattern stays uniform across all configure* sites.
47387
+ * @private
47388
+ */
47389
+ this._listenerAbortController = new AbortController();
47390
+
47133
47391
  /**
47134
47392
  * @private
47135
47393
  */
@@ -47178,6 +47436,7 @@ class AuroDatePicker extends AuroElement$5 {
47178
47436
 
47179
47437
  /**
47180
47438
  * Label announced for blackout (disabled but in-range) date cells.
47439
+ * @default 'unavailable'
47181
47440
  */
47182
47441
  blackoutLabel: {
47183
47442
  type: String,
@@ -47194,6 +47453,7 @@ class AuroDatePicker extends AuroElement$5 {
47194
47453
 
47195
47454
  /**
47196
47455
  * Accessible label for the calendar grid containing the days of the month.
47456
+ * @default 'Calendar days of the month'
47197
47457
  */
47198
47458
  calendarGridLabel: {
47199
47459
  type: String,
@@ -47356,6 +47616,7 @@ class AuroDatePicker extends AuroElement$5 {
47356
47616
 
47357
47617
  /**
47358
47618
  * Accessible label for the next month navigation button.
47619
+ * @default 'Next month'
47359
47620
  */
47360
47621
  navLabelNextMonth: {
47361
47622
  type: String,
@@ -47364,6 +47625,7 @@ class AuroDatePicker extends AuroElement$5 {
47364
47625
 
47365
47626
  /**
47366
47627
  * Accessible label for the previous month navigation button.
47628
+ * @default 'Previous month'
47367
47629
  */
47368
47630
  navLabelPrevMonth: {
47369
47631
  type: String,
@@ -47441,7 +47703,11 @@ class AuroDatePicker extends AuroElement$5 {
47441
47703
  },
47442
47704
 
47443
47705
  /**
47444
- * Label announced for cells after the range (or after start when no end is selected).
47706
+ * Label announced for cells after a fully selected range (both
47707
+ * `dateFrom` and `dateTo` are set). While a range is still being
47708
+ * picked (`dateFrom` set, `dateTo` unset), focused cells past the
47709
+ * start use `rangeLabelEndPreview` instead.
47710
+ * @default 'after range'
47445
47711
  */
47446
47712
  rangeLabelAfterRange: {
47447
47713
  type: String,
@@ -47450,6 +47716,7 @@ class AuroDatePicker extends AuroElement$5 {
47450
47716
 
47451
47717
  /**
47452
47718
  * Label announced for cells before the range start.
47719
+ * @default 'before range'
47453
47720
  */
47454
47721
  rangeLabelBeforeRange: {
47455
47722
  type: String,
@@ -47458,14 +47725,27 @@ class AuroDatePicker extends AuroElement$5 {
47458
47725
 
47459
47726
  /**
47460
47727
  * Label announced for the range end date cell.
47728
+ * @default 'range end'
47461
47729
  */
47462
47730
  rangeLabelEnd: {
47463
47731
  type: String,
47464
47732
  reflect: true
47465
47733
  },
47466
47734
 
47735
+ /**
47736
+ * Label announced for the focused cell while previewing a range end
47737
+ * (dateFrom set, dateTo not yet selected). Tells AT users that
47738
+ * pressing Enter would commit this cell as the range end.
47739
+ * @default 'previewing range end'
47740
+ */
47741
+ rangeLabelEndPreview: {
47742
+ type: String,
47743
+ reflect: true
47744
+ },
47745
+
47467
47746
  /**
47468
47747
  * Label announced for cells within the selected range.
47748
+ * @default 'in range'
47469
47749
  */
47470
47750
  rangeLabelInRange: {
47471
47751
  type: String,
@@ -47474,6 +47754,7 @@ class AuroDatePicker extends AuroElement$5 {
47474
47754
 
47475
47755
  /**
47476
47756
  * Label announced for the range start date cell.
47757
+ * @default 'range start'
47477
47758
  */
47478
47759
  rangeLabelStart: {
47479
47760
  type: String,
@@ -47481,7 +47762,7 @@ class AuroDatePicker extends AuroElement$5 {
47481
47762
  },
47482
47763
 
47483
47764
  /**
47484
- * Dates that the user should have for reference as part of their decision making when selecting a date.
47765
+ * Dates that the user should have for reference as part of their decision-making when selecting a date.
47485
47766
  * This should be a JSON string array of ISO date strings (`YYYY-MM-DD`).
47486
47767
  */
47487
47768
  referenceDates: {
@@ -47838,10 +48119,26 @@ class AuroDatePicker extends AuroElement$5 {
47838
48119
  // ─── Vendor calendar time conversions ─────────────────────────────────────
47839
48120
 
47840
48121
  /**
47841
- * Converts a Unix timestamp (seconds) from the vendor calendar to an ISO date string.
48122
+ * Converts a Unix timestamp (seconds) from the vendored range-datepicker
48123
+ * (`src/vendor/wc-range-datepicker/day.js`) to an ISO date string.
48124
+ *
48125
+ * Timezone contract:
48126
+ * - INPUT: `time` is assumed to be the seconds-since-epoch of **local
48127
+ * midnight** for the intended calendar day. The vendor's Day constructor
48128
+ * builds it via `date-fns format(date, 't')` from a locally-constructed
48129
+ * Date, so this assumption currently holds end-to-end.
48130
+ * - OUTPUT: `dateFormatter.toISOFormatString` reads the Date's local
48131
+ * getFullYear/getMonth/getDate components, so the returned YYYY-MM-DD
48132
+ * string matches the local calendar day.
48133
+ *
48134
+ * If the vendor ever switches to emitting UTC-midnight timestamps, this
48135
+ * conversion will silently shift the returned date by one day in zones
48136
+ * west of UTC. Any vendor swap should re-verify this contract; the TZ
48137
+ * regression suite (`npm run test:hst`, UTC-10) will catch the symptom.
48138
+ *
47842
48139
  * @private
47843
- * @param {number} time - Unix timestamp in seconds.
47844
- * @returns {string} ISO date string (yyyy-mm-dd).
48140
+ * @param {number} time - Unix timestamp (seconds), local midnight of the day.
48141
+ * @returns {string} ISO date string (yyyy-mm-dd) reflecting the local calendar day.
47845
48142
  */
47846
48143
  convertWcTimeToDate(time) {
47847
48144
  return dateFormatter$1.toISOFormatString(new Date(time * 1000));
@@ -47943,8 +48240,8 @@ class AuroDatePicker extends AuroElement$5 {
47943
48240
  }
47944
48241
  }
47945
48242
 
47946
- // Focus the calendar grid wrapper (aria-activedescendant handles
47947
- // the SR announcement for the active cell).
48243
+ // Focus the calendar grid wrapper. The live region (announced just
48244
+ // below) handles the SR announcement for the active cell.
47948
48245
  if (activeCell) {
47949
48246
  this.calendar.focusActiveCell();
47950
48247
 
@@ -47994,11 +48291,13 @@ class AuroDatePicker extends AuroElement$5 {
47994
48291
  this.dropdown.bibDialogLabel = labelElement.textContent.trim() || undefined;
47995
48292
  }
47996
48293
 
48294
+ const { signal } = this._listenerAbortController;
48295
+
47997
48296
  this.dropdown.addEventListener('auroDropdown-triggerClick', () => {
47998
48297
  if (!this.isPopoverVisible) {
47999
48298
  this.dropdown.show();
48000
48299
  }
48001
- });
48300
+ }, { signal });
48002
48301
 
48003
48302
  this.dropdown.addEventListener('auroDropdown-toggled', () => {
48004
48303
  this.notifyDatepickerToggled();
@@ -48016,7 +48315,7 @@ class AuroDatePicker extends AuroElement$5 {
48016
48315
  if (this.valueObject) {
48017
48316
  this.centralDate = this.value;
48018
48317
  } else if (!this.centralDate && !this.calendarStartDate && !this.minDate) {
48019
- this.centralDate = new Date();
48318
+ this.centralDate = dateFormatter$1.toISOFormatString(new Date());
48020
48319
  }
48021
48320
  }
48022
48321
 
@@ -48096,7 +48395,7 @@ class AuroDatePicker extends AuroElement$5 {
48096
48395
  this.forceScrollOnNextMobileCalendarRender = false;
48097
48396
  }, 0);
48098
48397
  }
48099
- });
48398
+ }, { signal });
48100
48399
 
48101
48400
  // Handle responsive strategy changes while the dropdown is open
48102
48401
  // (e.g. resizing from desktop → mobile or vice versa).
@@ -48143,7 +48442,7 @@ class AuroDatePicker extends AuroElement$5 {
48143
48442
  });
48144
48443
  });
48145
48444
  }
48146
- });
48445
+ }, { signal });
48147
48446
  }
48148
48447
 
48149
48448
  /**
@@ -48156,6 +48455,8 @@ class AuroDatePicker extends AuroElement$5 {
48156
48455
 
48157
48456
  this.inputList = [...this.dropdown.querySelectorAll(this.inputTag._$litStatic$)];
48158
48457
 
48458
+ const { signal } = this._listenerAbortController;
48459
+
48159
48460
  this.inputList.forEach((input, index) => {
48160
48461
  input.addEventListener('input', (event) => {
48161
48462
  event.stopPropagation();
@@ -48167,7 +48468,7 @@ class AuroDatePicker extends AuroElement$5 {
48167
48468
  }
48168
48469
 
48169
48470
  this.notifyValueChanged();
48170
- });
48471
+ }, { signal });
48171
48472
 
48172
48473
  input.addEventListener('auroFormElement-validated', (evt) => {
48173
48474
  // not to bubble up input's validated event.
@@ -48183,7 +48484,7 @@ class AuroDatePicker extends AuroElement$5 {
48183
48484
  this.validity = evt.detail.validity;
48184
48485
  this.errorMessage = evt.detail.message;
48185
48486
  }
48186
- });
48487
+ }, { signal });
48187
48488
  });
48188
48489
  }
48189
48490
 
@@ -48197,6 +48498,8 @@ class AuroDatePicker extends AuroElement$5 {
48197
48498
  this.calendar.datepicker = this;
48198
48499
  this.calendar.dropdown = this.dropdown;
48199
48500
 
48501
+ const { signal } = this._listenerAbortController;
48502
+
48200
48503
  this.calendar.addEventListener('auroCalendar-dateSelected', () => {
48201
48504
  if (this.inputList[0].value !== this.calendar.dateFrom && this.calendar.dateFrom !== undefined) {
48202
48505
  this.inputList[0].value = this.convertWcTimeToDate(this.calendar.dateFrom);
@@ -48205,11 +48508,11 @@ class AuroDatePicker extends AuroElement$5 {
48205
48508
  if (this.inputList[1] && this.calendar.dateTo && this.inputList[1].value !== this.calendar.dateTo) {
48206
48509
  this.inputList[1].value = this.convertWcTimeToDate(this.calendar.dateTo);
48207
48510
  }
48208
- });
48511
+ }, { signal });
48209
48512
 
48210
48513
  this.calendar.addEventListener('auroCalendar-dismissRequest', () => {
48211
48514
  this.dropdown.hide();
48212
- });
48515
+ }, { signal });
48213
48516
 
48214
48517
  this.calendar.addEventListener('auroCalendar-centralDateChanged', (event) => {
48215
48518
  const match = this.centralDateObject && this.util.datesMatch(event.detail.date, this.centralDateObject);
@@ -48219,7 +48522,7 @@ class AuroDatePicker extends AuroElement$5 {
48219
48522
  }
48220
48523
 
48221
48524
  this.notifyMonthChanged(event);
48222
- });
48525
+ }, { signal });
48223
48526
  }
48224
48527
 
48225
48528
  /**
@@ -48228,10 +48531,17 @@ class AuroDatePicker extends AuroElement$5 {
48228
48531
  * @returns {void}
48229
48532
  */
48230
48533
  configureDatepicker() {
48534
+ // These listeners are on `this` (the host), so they would GC with the
48535
+ // host even without the abort signal — see the leak rationale on
48536
+ // `_listenerAbortController`. The signal is still passed for uniform
48537
+ // cleanup semantics with the child-element listeners in the other
48538
+ // configure* methods.
48539
+ const { signal } = this._listenerAbortController;
48540
+
48231
48541
  this.addEventListener('focusin', () => {
48232
48542
  this.touched = true;
48233
48543
  this.hasFocus = true;
48234
- });
48544
+ }, { signal });
48235
48545
 
48236
48546
  this.addEventListener('focusout', () => {
48237
48547
  this.hasFocus = false;
@@ -48243,7 +48553,7 @@ class AuroDatePicker extends AuroElement$5 {
48243
48553
  if (!this.matches(':focus-within')) {
48244
48554
  this.validate();
48245
48555
  }
48246
- });
48556
+ }, { signal });
48247
48557
 
48248
48558
  if (this.valueObject) {
48249
48559
  this.calendar.dateFrom = this.convertToWcValidTime(this.valueObject);
@@ -48441,6 +48751,36 @@ class AuroDatePicker extends AuroElement$5 {
48441
48751
  return this.validity !== undefined && this.validity !== 'valid';
48442
48752
  }
48443
48753
 
48754
+ /**
48755
+ * Per-class dedup set used by `_warnInvalidLocale`. Static so the dedup
48756
+ * spans every datepicker instance on the page; lives on the class (not
48757
+ * at module scope) so it stays an encapsulated implementation detail of
48758
+ * this component and does not interfere with WCA's class-JSDoc
48759
+ * attachment.
48760
+ * @private
48761
+ */
48762
+ static _warnedInvalidLocales = new Set();
48763
+
48764
+ /**
48765
+ * Logs a one-time `console.debug` when an unsupported locale falls back to
48766
+ * en-US. Deduped by the offending tag so noisy re-renders that resurface
48767
+ * the same bad value stay quiet, but each new bad value still signals so
48768
+ * consumers can spot the typo or missing tag.
48769
+ * @private
48770
+ * @param {string|undefined} badLocale - The locale value that failed.
48771
+ * @returns {void}
48772
+ */
48773
+ _warnInvalidLocale(badLocale) {
48774
+ const key = String(badLocale ?? '');
48775
+ const seen = AuroDatePicker._warnedInvalidLocales;
48776
+ if (seen.has(key)) {
48777
+ return;
48778
+ }
48779
+ seen.add(key);
48780
+ // eslint-disable-next-line no-console
48781
+ 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".`);
48782
+ }
48783
+
48444
48784
  /**
48445
48785
  * Lifecycle method to check if the locale is valid.
48446
48786
  * @ignore
@@ -48451,10 +48791,15 @@ class AuroDatePicker extends AuroElement$5 {
48451
48791
  if (changedProperties.has('locale')) {
48452
48792
  try {
48453
48793
  const supported = Intl.DateTimeFormat.supportedLocalesOf([this.locale], { localeMatcher: 'lookup' });
48454
- this._validLocale = supported.length > 0 ? this.locale : 'en-US';
48794
+ if (supported.length > 0) {
48795
+ this._validLocale = this.locale;
48796
+ } else {
48797
+ this._validLocale = 'en-US';
48798
+ this._warnInvalidLocale(this.locale);
48799
+ }
48455
48800
  } catch {
48456
- console.debug(`[AuroDatePicker] The locale "${this.locale}" is not valid. Falling back to "en-US".`); // eslint-disable-line no-console
48457
48801
  this._validLocale = 'en-US';
48802
+ this._warnInvalidLocale(this.locale);
48458
48803
  }
48459
48804
 
48460
48805
  const previousLocaleFormat = getDateFormatFromLocale$1(changedProperties.get('locale'));
@@ -48536,8 +48881,6 @@ class AuroDatePicker extends AuroElement$5 {
48536
48881
  // Skip centralDate update when user clicked a cell in range mode
48537
48882
  // to prevent the displayed months from shifting
48538
48883
  this.centralDate = this.value;
48539
- //TODO: TEST THIS CHANGE
48540
- // this.calendarRenderUtil.updateCentralDate(this, this.value);
48541
48884
  }
48542
48885
 
48543
48886
  this.setHasValue();
@@ -48597,8 +48940,6 @@ class AuroDatePicker extends AuroElement$5 {
48597
48940
  // Skip centralDate update when user clicked a cell in range mode
48598
48941
  // to prevent the displayed months from shifting
48599
48942
  this.centralDate = this.valueEnd;
48600
- // TODO: TEST THIS CHANGE
48601
- // this.calendarRenderUtil.updateCentralDate(this, this.formattedValueEnd);
48602
48943
  }
48603
48944
 
48604
48945
  this.validate();
@@ -48740,7 +49081,7 @@ class AuroDatePicker extends AuroElement$5 {
48740
49081
  * @returns {void}
48741
49082
  */
48742
49083
  configureClickHandler() {
48743
- this.addEventListener('click', this.handleClick);
49084
+ this.addEventListener('click', this.handleClick, { signal: this._listenerAbortController.signal });
48744
49085
  }
48745
49086
 
48746
49087
  firstUpdated() {
@@ -48748,6 +49089,15 @@ class AuroDatePicker extends AuroElement$5 {
48748
49089
  // Add the tag name as an attribute if it is different than the component name
48749
49090
  this.runtimeUtils.handleComponentTagRename(this, 'auro-datepicker');
48750
49091
 
49092
+ // If the element was disconnected before this first render finished,
49093
+ // disconnectedCallback's microtask already aborted the controller. The
49094
+ // connectedCallback reinit guard skips that case because `hasUpdated`
49095
+ // is still false. Mint a fresh controller here so configure* registers
49096
+ // listeners against a live signal.
49097
+ if (this._listenerAbortController.signal.aborted) {
49098
+ this._listenerAbortController = new AbortController();
49099
+ }
49100
+
48751
49101
  this.configureDropdown();
48752
49102
  this.configureInput();
48753
49103
  this.configureCalendar();
@@ -48759,9 +49109,36 @@ class AuroDatePicker extends AuroElement$5 {
48759
49109
  connectedCallback() {
48760
49110
  super.connectedCallback();
48761
49111
 
49112
+ // True reconnect after `disconnectedCallback` aborted our controller:
49113
+ // the existing signal is dead, so listeners registered against it
49114
+ // would never fire. Create a fresh controller and re-run the
49115
+ // configure* wiring (each method is idempotent — it just re-caches
49116
+ // child refs and re-registers listeners against the new signal).
49117
+ // `hasUpdated` gates this so the *first* connect (which precedes
49118
+ // firstUpdated) still falls through to firstUpdated's initial wiring.
49119
+ if (this.hasUpdated && this._listenerAbortController.signal.aborted) {
49120
+ this._listenerAbortController = new AbortController();
49121
+ this.configureDropdown();
49122
+ this.configureInput();
49123
+ this.configureCalendar();
49124
+ this.configureDatepicker();
49125
+ this.configureClickHandler();
49126
+ }
49127
+
48762
49128
  this.locale = this.domHandler.getLocale(this);
48763
49129
  }
48764
49130
 
49131
+ disconnectedCallback() {
49132
+ super.disconnectedCallback();
49133
+ // Defer so that re-parenting (auro-drawer slotting it into a dialog,
49134
+ // for example) does not abort listeners we still need after reconnect.
49135
+ queueMicrotask(() => {
49136
+ if (!this.isConnected) {
49137
+ this._listenerAbortController.abort();
49138
+ }
49139
+ });
49140
+ }
49141
+
48765
49142
  // layout render methods
48766
49143
  // ------------------------------------
48767
49144
 
@@ -50257,7 +50634,7 @@ let AuroHelpText$1$2 = class AuroHelpText extends i$2 {
50257
50634
  }
50258
50635
  };
50259
50636
 
50260
- var formkitVersion$1$2 = '202606241801';
50637
+ var formkitVersion$1$2 = '202606252104';
50261
50638
 
50262
50639
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
50263
50640
  // See LICENSE in the project root for license information.
@@ -54585,7 +54962,7 @@ let AuroHelpText$6 = class AuroHelpText extends i$2 {
54585
54962
  }
54586
54963
  };
54587
54964
 
54588
- var formkitVersion$6 = '202606241801';
54965
+ var formkitVersion$6 = '202606252104';
54589
54966
 
54590
54967
  let AuroElement$1$2 = class AuroElement extends i$2 {
54591
54968
  static get properties() {
@@ -58525,7 +58902,7 @@ let AuroHelpText$5 = class AuroHelpText extends i$2 {
58525
58902
  }
58526
58903
  };
58527
58904
 
58528
- var formkitVersion$5 = '202606241801';
58905
+ var formkitVersion$5 = '202606252104';
58529
58906
 
58530
58907
  // Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
58531
58908
  // See LICENSE in the project root for license information.
@@ -60275,7 +60652,7 @@ let AuroHelpText$4 = class AuroHelpText extends i$2 {
60275
60652
  }
60276
60653
  };
60277
60654
 
60278
- var formkitVersion$4 = '202606241801';
60655
+ var formkitVersion$4 = '202606252104';
60279
60656
 
60280
60657
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
60281
60658
  // See LICENSE in the project root for license information.
@@ -65490,7 +65867,7 @@ let AuroHelpText$2 = class AuroHelpText extends i$2 {
65490
65867
  }
65491
65868
  };
65492
65869
 
65493
- var formkitVersion$2 = '202606241801';
65870
+ var formkitVersion$2 = '202606252104';
65494
65871
 
65495
65872
  let AuroElement$2$1 = class AuroElement extends i$2 {
65496
65873
  static get properties() {
@@ -79083,7 +79460,7 @@ let AuroHelpText$1$1 = class AuroHelpText extends i$2 {
79083
79460
  }
79084
79461
  };
79085
79462
 
79086
- var formkitVersion$1$1 = '202606241801';
79463
+ var formkitVersion$1$1 = '202606252104';
79087
79464
 
79088
79465
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
79089
79466
  // See LICENSE in the project root for license information.
@@ -80204,7 +80581,7 @@ let AuroBibtemplate$1 = class AuroBibtemplate extends i$2 {
80204
80581
  }
80205
80582
  };
80206
80583
 
80207
- var formkitVersion$3 = '202606241801';
80584
+ var formkitVersion$3 = '202606252104';
80208
80585
 
80209
80586
  var styleCss$1$3 = i$4`.util_displayInline{display:inline}.util_displayInlineBlock{display:inline-block}.util_displayBlock{display:block}.util_displayFlex{display:flex}.util_displayHidden{display:none}.util_displayHiddenVisually{position:absolute;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);width:1px;height:1px;padding:0;border:0}:host{display:block;text-align:left}:host [auro-dropdown]{--ds-auro-dropdown-trigger-background-color: transparent}:host #inputInBib::part(wrapper){box-shadow:none}:host #inputInBib::part(accent-left){display:none}:host([layout*=classic]) [auro-input]{width:100%}:host([layout*=classic]) [auro-input]::part(helpText){display:none}:host([layout*=classic]) #slotHolder{display:none}`;
80210
80587
 
@@ -88995,7 +89372,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$2 {
88995
89372
  }
88996
89373
  };
88997
89374
 
88998
- var formkitVersion$1 = '202606241801';
89375
+ var formkitVersion$1 = '202606252104';
88999
89376
 
89000
89377
  class AuroElement extends i$2 {
89001
89378
  static get properties() {
@@ -91016,7 +91393,7 @@ class AuroHelpText extends i$2 {
91016
91393
  }
91017
91394
  }
91018
91395
 
91019
- var formkitVersion = '202606241801';
91396
+ var formkitVersion = '202606252104';
91020
91397
 
91021
91398
  var styleCss = i$4`.util_displayInline{display:inline}.util_displayInlineBlock{display:inline-block}.util_displayBlock{display:block}.util_displayFlex{display:flex}.util_displayHidden{display:none}.util_displayHiddenVisually{position:absolute;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);width:1px;height:1px;padding:0;border:0}.body-default{font-size:var(--wcss-body-default-font-size, 1rem);font-weight:var(--wcss-body-default-weight, );line-height:var(--wcss-body-default-line-height, 1.5rem)}.body-default,.body-default-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-default-emphasized{font-size:var(--wcss-body-default-emphasized-font-size, 1rem);font-weight:var(--wcss-body-default-emphasized-weight, );line-height:var(--wcss-body-default-emphasized-line-height, 1.5rem)}.body-lg{font-size:var(--wcss-body-lg-font-size, 1.125rem);font-weight:var(--wcss-body-lg-weight, );line-height:var(--wcss-body-lg-line-height, 1.625rem)}.body-lg,.body-lg-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-lg-emphasized{font-size:var(--wcss-body-lg-emphasized-font-size, 1.125rem);font-weight:var(--wcss-body-lg-emphasized-weight, );line-height:var(--wcss-body-lg-emphasized-line-height, 1.625rem)}.body-sm{font-size:var(--wcss-body-sm-font-size, 0.875rem);font-weight:var(--wcss-body-sm-weight, );line-height:var(--wcss-body-sm-line-height, 1.25rem)}.body-sm,.body-sm-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-sm-emphasized{font-size:var(--wcss-body-sm-emphasized-font-size, 0.875rem);font-weight:var(--wcss-body-sm-emphasized-weight, );line-height:var(--wcss-body-sm-emphasized-line-height, 1.25rem)}.body-xs{font-size:var(--wcss-body-xs-font-size, 0.75rem);font-weight:var(--wcss-body-xs-weight, );line-height:var(--wcss-body-xs-line-height, 1rem)}.body-xs,.body-xs-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-xs-emphasized{font-size:var(--wcss-body-xs-emphasized-font-size, 0.75rem);font-weight:var(--wcss-body-xs-emphasized-weight, );line-height:var(--wcss-body-xs-emphasized-line-height, 1rem)}.body-2xs{font-size:var(--wcss-body-2xs-font-size, 0.625rem);font-weight:var(--wcss-body-2xs-weight, );line-height:var(--wcss-body-2xs-line-height, 0.875rem)}.body-2xs,.body-2xs-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-2xs-emphasized{font-size:var(--wcss-body-2xs-emphasized-font-size, 0.625rem);font-weight:var(--wcss-body-2xs-emphasized-weight, );line-height:var(--wcss-body-2xs-emphasized-line-height, 0.875rem)}.display-2xl{font-family:var(--wcss-display-2xl-family, "AS Circular"),var(--wcss-display-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-2xl-font-size, clamp(3.5rem, 6vw, 5.375rem));font-weight:var(--wcss-display-2xl-weight, 300);letter-spacing:var(--wcss-display-2xl-letter-spacing, 0);line-height:var(--wcss-display-2xl-line-height, 1.3)}.display-xl{font-family:var(--wcss-display-xl-family, "AS Circular"),var(--wcss-display-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-xl-font-size, clamp(3rem, 5.3333333333vw, 4.5rem));font-weight:var(--wcss-display-xl-weight, 300);letter-spacing:var(--wcss-display-xl-letter-spacing, 0);line-height:var(--wcss-display-xl-line-height, 1.3)}.display-lg{font-family:var(--wcss-display-lg-family, "AS Circular"),var(--wcss-display-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-lg-font-size, clamp(2.75rem, 4.6666666667vw, 4rem));font-weight:var(--wcss-display-lg-weight, 300);letter-spacing:var(--wcss-display-lg-letter-spacing, 0);line-height:var(--wcss-display-lg-line-height, 1.3)}.display-md{font-family:var(--wcss-display-md-family, "AS Circular"),var(--wcss-display-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-md-font-size, clamp(2.5rem, 4vw, 3.5rem));font-weight:var(--wcss-display-md-weight, 300);letter-spacing:var(--wcss-display-md-letter-spacing, 0);line-height:var(--wcss-display-md-line-height, 1.3)}.display-sm{font-family:var(--wcss-display-sm-family, "AS Circular"),var(--wcss-display-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-sm-font-size, clamp(2rem, 3.6666666667vw, 3rem));font-weight:var(--wcss-display-sm-weight, 300);letter-spacing:var(--wcss-display-sm-letter-spacing, 0);line-height:var(--wcss-display-sm-line-height, 1.3)}.display-xs{font-family:var(--wcss-display-xs-family, "AS Circular"),var(--wcss-display-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-xs-font-size, clamp(1.75rem, 3vw, 2.375rem));font-weight:var(--wcss-display-xs-weight, 300);letter-spacing:var(--wcss-display-xs-letter-spacing, 0);line-height:var(--wcss-display-xs-line-height, 1.3)}.heading-xl{font-family:var(--wcss-heading-xl-family, "AS Circular"),var(--wcss-heading-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-xl-font-size, clamp(2rem, 3vw, 2.5rem));font-weight:var(--wcss-heading-xl-weight, 300);letter-spacing:var(--wcss-heading-xl-letter-spacing, 0);line-height:var(--wcss-heading-xl-line-height, 1.3)}.heading-lg{font-family:var(--wcss-heading-lg-family, "AS Circular"),var(--wcss-heading-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-lg-font-size, clamp(1.75rem, 2.6666666667vw, 2.25rem));font-weight:var(--wcss-heading-lg-weight, 300);letter-spacing:var(--wcss-heading-lg-letter-spacing, 0);line-height:var(--wcss-heading-lg-line-height, 1.3)}.heading-md{font-family:var(--wcss-heading-md-family, "AS Circular"),var(--wcss-heading-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-md-font-size, clamp(1.625rem, 2.3333333333vw, 1.75rem));font-weight:var(--wcss-heading-md-weight, 300);letter-spacing:var(--wcss-heading-md-letter-spacing, 0);line-height:var(--wcss-heading-md-line-height, 1.3)}.heading-sm{font-family:var(--wcss-heading-sm-family, "AS Circular"),var(--wcss-heading-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-sm-font-size, clamp(1.375rem, 2vw, 1.5rem));font-weight:var(--wcss-heading-sm-weight, 300);letter-spacing:var(--wcss-heading-sm-letter-spacing, 0);line-height:var(--wcss-heading-sm-line-height, 1.3)}.heading-xs{font-family:var(--wcss-heading-xs-family, "AS Circular"),var(--wcss-heading-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-xs-font-size, clamp(1.25rem, 1.6666666667vw, 1.25rem));font-weight:var(--wcss-heading-xs-weight, 300);letter-spacing:var(--wcss-heading-xs-letter-spacing, 0);line-height:var(--wcss-heading-xs-line-height, 1.3)}.heading-2xs{font-family:var(--wcss-heading-2xs-family, "AS Circular"),var(--wcss-heading-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-2xs-font-size, clamp(1.125rem, 1.5vw, 1.125rem));font-weight:var(--wcss-heading-2xs-weight, 300);letter-spacing:var(--wcss-heading-2xs-letter-spacing, 0);line-height:var(--wcss-heading-2xs-line-height, 1.3)}.accent-2xl{font-family:var(--wcss-accent-2xl-family, "Good OT"),var(--wcss-accent-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-2xl-font-size, clamp(2rem, 3.1666666667vw, 2.375rem));font-weight:var(--wcss-accent-2xl-weight, 450);letter-spacing:var(--wcss-accent-2xl-letter-spacing, 0.05em);line-height:var(--wcss-accent-2xl-line-height, 1)}.accent-2xl,.accent-xl{text-transform:uppercase}.accent-xl{font-family:var(--wcss-accent-xl-family, "Good OT"),var(--wcss-accent-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-xl-font-size, clamp(1.625rem, 2.3333333333vw, 2rem));font-weight:var(--wcss-accent-xl-weight, 450);letter-spacing:var(--wcss-accent-xl-letter-spacing, 0.05em);line-height:var(--wcss-accent-xl-line-height, 1.3)}.accent-lg{font-family:var(--wcss-accent-lg-family, "Good OT"),var(--wcss-accent-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-lg-font-size, clamp(1.5rem, 2.1666666667vw, 1.75rem));font-weight:var(--wcss-accent-lg-weight, 450);letter-spacing:var(--wcss-accent-lg-letter-spacing, 0.05em);line-height:var(--wcss-accent-lg-line-height, 1.3)}.accent-lg,.accent-md{text-transform:uppercase}.accent-md{font-family:var(--wcss-accent-md-family, "Good OT"),var(--wcss-accent-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-md-font-size, clamp(1.375rem, 1.8333333333vw, 1.5rem));font-weight:var(--wcss-accent-md-weight, 500);letter-spacing:var(--wcss-accent-md-letter-spacing, 0.05em);line-height:var(--wcss-accent-md-line-height, 1.3)}.accent-sm{font-family:var(--wcss-accent-sm-family, "Good OT"),var(--wcss-accent-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-sm-font-size, clamp(1.125rem, 1.5vw, 1.25rem));font-weight:var(--wcss-accent-sm-weight, 500);letter-spacing:var(--wcss-accent-sm-letter-spacing, 0.05em);line-height:var(--wcss-accent-sm-line-height, 1.3)}.accent-sm,.accent-xs{text-transform:uppercase}.accent-xs{font-family:var(--wcss-accent-xs-family, "Good OT"),var(--wcss-accent-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-xs-font-size, clamp(1rem, 1.3333333333vw, 1rem));font-weight:var(--wcss-accent-xs-weight, 500);letter-spacing:var(--wcss-accent-xs-letter-spacing, 0.1em);line-height:var(--wcss-accent-xs-line-height, 1.3)}.accent-2xs{font-family:var(--wcss-accent-2xs-family, "Good OT"),var(--wcss-accent-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-2xs-font-size, clamp(0.875rem, 1.1666666667vw, 0.875rem));font-weight:var(--wcss-accent-2xs-weight, 450);letter-spacing:var(--wcss-accent-2xs-letter-spacing, 0.1em);line-height:var(--wcss-accent-2xs-line-height, 1.3);text-transform:uppercase}[auro-dropdown]{--ds-auro-dropdown-trigger-border-color: var(--ds-auro-select-border-color);--ds-auro-dropdown-trigger-background-color: var(--ds-auro-select-background-color);--ds-auro-dropdown-trigger-container-color: var(--ds-auro-select-background-color);--ds-auro-dropdown-trigger-outline-color: var(--ds-auro-select-outline-color)}:host{display:inline-block;text-align:left;vertical-align:top}:host([layout*=emphasized]) [auro-dropdown],:host([layout*=snowflake]) [auro-dropdown]{--ds-auro-select-border-color: transparent}:host([layout*=emphasized]) .mainContent,:host([layout*=snowflake]) .mainContent{text-align:center}.mainContent{position:relative;display:flex;overflow:hidden;flex:1;flex-direction:column;align-items:center;justify-content:center}.valueContainer [slot=displayValue]{display:none}.accents{display:flex;flex-direction:row;align-items:center;justify-content:center}::slotted([slot=typeIcon]){margin-right:var(--ds-size-100, 0.5rem)}.displayValue{display:block}.displayValue:not(.force){display:none}.displayValue:not(.force).hasContent:is(.withValue):not(.hasFocus){display:block}.triggerContent{display:flex;width:100%;align-items:center;justify-content:center}:host([layout*=emphasized]) .triggerContent{padding:0 var(--ds-size-100, 0.5rem) 0 var(--ds-size-300, 1.5rem)}:host([layout*=snowflake]) .triggerContent{padding:0 var(--ds-size-100, 0.5rem) 0 var(--ds-size-200, 1rem)}:host([layout*=snowflake]) label{padding-block:var(--ds-size-25, 0.125rem)}:host([layout*=classic]) .triggerContent{padding:0 var(--ds-size-100, 0.5rem)}:host([layout*=classic]) .mainContent{align-items:start}:host([layout*=classic]) label{overflow:hidden;cursor:text;text-overflow:ellipsis;white-space:nowrap}:host([layout*=classic]) .value{height:auto}label{color:var(--ds-auro-select-label-text-color)}:host(:is([validity]:not([validity=valid]))) [auro-dropdown]{--ds-auro-select-border-color: var(--ds-basic-color-status-error, #e31f26);--ds-auro-select-outline-color: var(--ds-basic-color-status-error, #e31f26);--ds-auro-dropdown-helptext-text-color: var(--ds-basic-color-texticon-default, #2a2a2a)}:host([ondark]:is([validity]:not([validity=valid]))) [auro-dropdown],:host([appearance=inverse]:is([validity]:not([validity=valid]))) [auro-dropdown]{--ds-auro-select-border-color: var(--ds-advanced-color-state-error-inverse, #f9a4a8);--ds-auro-select-outline-color: var(--ds-advanced-color-state-error-inverse, #f9a4a8);--ds-auro-dropdown-helptext-text-color: var(--ds-basic-color-texticon-inverse, #ffffff)}#slotHolder{display:none}:host([fluid]){width:100%}:host([disabled]){pointer-events:none;user-select:none}:host([disabled]:not([ondark])) [auro-dropdown],:host([disabled]:not([appearance=inverse])) [auro-dropdown]{--ds-auro-select-border-color: var(--ds-basic-color-border-subtle, #dddddd)}:host(:not([layout*=classic])[disabled][ondark]) [auro-dropdown],:host(:not([layout*=classic])[disabled][appearance=inverse]) [auro-dropdown]{--ds-auro-select-border-color: transparent}`;
91022
91399