@aurodesignsystem-dev/auro-formkit 0.0.0-pr1477.2 → 0.0.0-pr1480.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (103) hide show
  1. package/components/bibtemplate/dist/auro-bibtemplate.d.ts +7 -0
  2. package/components/bibtemplate/dist/index.js +9 -1
  3. package/components/bibtemplate/dist/registered.js +9 -1
  4. package/components/checkbox/demo/customize.min.js +1 -1
  5. package/components/checkbox/demo/getting-started.min.js +1 -1
  6. package/components/checkbox/demo/index.min.js +1 -1
  7. package/components/checkbox/demo/pages.json +1 -1
  8. package/components/checkbox/demo/why-checkbox.html +57 -0
  9. package/components/checkbox/demo/why-checkbox.md +86 -0
  10. package/components/checkbox/dist/index.js +1 -1
  11. package/components/checkbox/dist/registered.js +1 -1
  12. package/components/combobox/demo/customize.min.js +236 -18
  13. package/components/combobox/demo/getting-started.min.js +236 -18
  14. package/components/combobox/demo/index.min.js +236 -18
  15. package/components/combobox/demo/keyboard-behavior.md +8 -68
  16. package/components/combobox/demo/pages.json +1 -1
  17. package/components/combobox/demo/why-combobox.html +57 -0
  18. package/components/combobox/demo/why-combobox.md +113 -0
  19. package/components/combobox/dist/index.js +236 -18
  20. package/components/combobox/dist/registered.js +236 -18
  21. package/components/counter/demo/customize.min.js +233 -15
  22. package/components/counter/demo/index.min.js +233 -15
  23. package/components/counter/demo/keyboard-behavior.md +1 -0
  24. package/components/counter/demo/pages.json +1 -1
  25. package/components/counter/demo/why-counter.html +57 -0
  26. package/components/counter/demo/why-counter.md +108 -0
  27. package/components/counter/dist/index.js +10 -2
  28. package/components/counter/dist/registered.js +10 -2
  29. package/components/datepicker/demo/accessibility.md +54 -3
  30. package/components/datepicker/demo/api.md +11 -2
  31. package/components/datepicker/demo/customize.html +2 -0
  32. package/components/datepicker/demo/customize.js +19 -0
  33. package/components/datepicker/demo/customize.md +72 -8
  34. package/components/datepicker/demo/customize.min.js +26498 -0
  35. package/components/datepicker/demo/design.md +3 -1
  36. package/components/datepicker/demo/index.js +5 -1
  37. package/components/datepicker/demo/index.md +85 -2
  38. package/components/datepicker/demo/index.min.js +2122 -185
  39. package/components/datepicker/demo/keyboard-behavior.md +201 -2
  40. package/components/datepicker/demo/pages.json +1 -1
  41. package/components/datepicker/demo/voiceover.md +21 -12
  42. package/components/datepicker/demo/why-datepicker.html +57 -0
  43. package/components/datepicker/demo/why-datepicker.md +133 -0
  44. package/components/datepicker/dist/index.js +2017 -156
  45. package/components/datepicker/dist/registered.js +2017 -156
  46. package/components/datepicker/dist/src/auro-calendar-cell.d.ts +112 -11
  47. package/components/datepicker/dist/src/auro-calendar-month.d.ts +37 -0
  48. package/components/datepicker/dist/src/auro-calendar.d.ts +177 -0
  49. package/components/datepicker/dist/src/auro-datepicker.d.ts +88 -0
  50. package/components/datepicker/dist/src/datepickerKeyboardStrategy.d.ts +5 -3
  51. package/components/dropdown/demo/accessibility.md +11 -0
  52. package/components/dropdown/demo/api.md +1 -0
  53. package/components/dropdown/demo/customize.md +3 -0
  54. package/components/dropdown/demo/customize.min.js +223 -13
  55. package/components/dropdown/demo/getting-started.min.js +223 -13
  56. package/components/dropdown/demo/index.min.js +223 -13
  57. package/components/dropdown/demo/keyboard-behavior.md +1 -0
  58. package/components/dropdown/demo/pages.json +1 -1
  59. package/components/dropdown/demo/why-dropdown.html +57 -0
  60. package/components/dropdown/demo/why-dropdown.md +97 -0
  61. package/components/dropdown/dist/auro-dropdown.d.ts +33 -1
  62. package/components/dropdown/dist/index.js +223 -13
  63. package/components/dropdown/dist/registered.js +223 -13
  64. package/components/form/demo/customize.min.js +2733 -220
  65. package/components/form/demo/getting-started.min.js +2733 -220
  66. package/components/form/demo/index.min.js +2733 -220
  67. package/components/form/demo/pages.json +1 -1
  68. package/components/form/demo/registerDemoDeps.min.js +2733 -220
  69. package/components/form/demo/why-form.html +57 -0
  70. package/components/form/demo/why-form.md +101 -0
  71. package/components/input/demo/customize.min.js +1 -1
  72. package/components/input/demo/getting-started.min.js +1 -1
  73. package/components/input/demo/index.min.js +1 -1
  74. package/components/input/demo/pages.json +1 -1
  75. package/components/input/demo/why-input.html +57 -0
  76. package/components/input/demo/why-input.md +121 -0
  77. package/components/input/dist/index.js +1 -1
  78. package/components/input/dist/registered.js +1 -1
  79. package/components/menu/demo/pages.json +1 -1
  80. package/components/menu/demo/why-menu.html +57 -0
  81. package/components/menu/demo/why-menu.md +104 -0
  82. package/components/radio/demo/customize.min.js +2186 -0
  83. package/components/radio/demo/demo-support.min.js +55807 -0
  84. package/components/radio/demo/getting-started.js +1 -1
  85. package/components/radio/demo/getting-started.md +1 -1
  86. package/components/radio/demo/getting-started.min.js +2205 -0
  87. package/components/radio/demo/index.min.js +1 -1
  88. package/components/radio/demo/pages.json +1 -1
  89. package/components/radio/demo/why-radio.html +57 -0
  90. package/components/radio/demo/why-radio.md +92 -0
  91. package/components/radio/dist/index.js +1 -1
  92. package/components/radio/dist/registered.js +1 -1
  93. package/components/select/demo/customize.min.js +249 -33
  94. package/components/select/demo/getting-started.min.js +249 -33
  95. package/components/select/demo/index.min.js +249 -33
  96. package/components/select/demo/keyboard-behavior.md +9 -54
  97. package/components/select/demo/pages.json +1 -1
  98. package/components/select/demo/why-select.html +57 -0
  99. package/components/select/demo/why-select.md +128 -0
  100. package/components/select/dist/index.js +249 -33
  101. package/components/select/dist/registered.js +249 -33
  102. package/custom-elements.json +1018 -74
  103. package/package.json +2 -2
@@ -7458,7 +7458,7 @@ let AuroHelpText$9 = class AuroHelpText extends i$4 {
7458
7458
  }
7459
7459
  };
7460
7460
 
7461
- var formkitVersion$9 = '202605201646';
7461
+ var formkitVersion$9 = '202605210248';
7462
7462
 
7463
7463
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
7464
7464
  // See LICENSE in the project root for license information.
@@ -9481,7 +9481,6 @@ class UtilitiesCalendarRender {
9481
9481
  .max="${elem.max}"
9482
9482
  ?noRange="${elem.noRange}"
9483
9483
  .monthFirst="${elem.monthFirst}"
9484
- .hoveredDate="${elem.hoveredDate}"
9485
9484
  .dateTo="${elem.dateTo}"
9486
9485
  .dateFrom="${elem.dateFrom}"
9487
9486
  .locale="${elem.locale}"
@@ -9513,43 +9512,6 @@ var snowflakeStyle = i$7`:host([layout*=snowflake]) [auro-input]{flex:1;text-ali
9513
9512
 
9514
9513
  var snowflakeColors = i$7`:host([layout=snowflake]) [auro-dropdown]:not(:is([error],.hasFocus)){--ds-auro-dropdown-trigger-border-color: transparent}`;
9515
9514
 
9516
- var styleCss$7$1 = i$7`.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}:host{--calendar-width: 336px;--mobile-footer-height: 150px;--mobile-header-height: 68px;height:100vh;height:100dvh}.calendars{display:flex;flex-direction:row}.calendarNavButtons{position:absolute;top:var(--ds-size-200, 1rem);right:var(--ds-size-50, 0.25rem);left:var(--ds-size-50, 0.25rem)}.calendarNavBtn{display:flex;width:var(--ds-size-500, 2.5rem);height:var(--ds-size-500, 2.5rem);align-items:center;justify-content:center;border-width:1px;border-style:solid;border-radius:50%;cursor:pointer}.prevMonth,.nextMonth{position:absolute;top:0}.prevMonth{left:0}.nextMonth{right:0}.headerActions{padding:0 var(--ds-size-200, 1rem)}.mobileHeader{width:100%;height:var(--mobile-header-height);z-index:1;align-items:center;flex-direction:row}.headerDateFrom,.headerDateTo{display:flex;height:var(--mobile-header-height);flex:1;flex-direction:column;justify-content:center;padding:0 var(--ds-size-150, 0.75rem) 0 var(--ds-size-200, 1rem)}.mobileDateLabel{padding:var(--ds-size-25, 0.125rem) 0}.mobileFooter{display:none;width:100%;align-items:flex-end;flex-direction:column;justify-content:flex-end}.mobileFooterActions{position:relative;bottom:0;left:50%;display:none;width:calc(100% - var(--ds-size-200, 1rem)*2);align-items:flex-end;flex-direction:column;justify-content:flex-end;padding:var(--ds-size-150) calc(var(--ds-size-200, 1rem));transform:translateX(-50%)}.mobileFooterActions auro-button{width:100%}:host([isfullscreen]){width:100%;max-height:100dvh;overflow:hidden}:host([isfullscreen]) .prevMonth,:host([isfullscreen]) .nextMonth{display:none}:host([isfullscreen]) .mobileHeader,:host([isfullscreen]) .mobileFooter,:host([isfullscreen]) .mobileFooterActions{display:flex}:host([isfullscreen]) .calendarWrapper{display:flex;flex-direction:column}:host([isfullscreen]) .calendars{display:flex;flex-direction:column;flex:1;align-items:center;width:100%;overscroll-behavior:contain}:host([isfullscreen]) .calendars:after{display:block;width:100%;height:var(--mobile-footer-height);content:""}`;
9517
-
9518
- var colorCss$7$1 = i$7`.calendarNavBtn{border-color:var(--ds-auro-calendar-nav-btn-border-color);background-color:var(--ds-auro-calendar-nav-btn-container-color);color:var(--ds-auro-calendar-nav-btn-chevron-color)}.calendarNavBtn:hover{--ds-auro-calendar-nav-btn-container-color: var(--ds-advanced-color-state-background-hover, #f2f2f2);--ds-auro-calendar-nav-btn-border-color: var(--ds-basic-color-brand-primary, #01426a)}.calendarNavBtn:focus{--ds-auro-calendar-nav-btn-border-color: var(--ds-basic-color-brand-primary, #01426a)}.calendarNavBtn:active{--ds-auro-calendar-nav-btn-border-color: var(--ds-basic-color-brand-primary, #01426a);box-shadow:inset 0 0 0 1px var(--ds-auro-calendar-nav-btn-border-color)}.mobileHeader{background-color:var(--ds-auro-calendar-mobile-header-container-color)}.mobileDateLabel{color:var(--ds-auro-calendar-mobile-header-text-color)}:host(:not([noRange])) .headerDateTo:after{background-color:var(--ds-auro-calendar-mobile-header-divider-color)}::slotted([slot="bib.fullscreen.fromStr"]),::slotted([slot=mobileDateToStr]){color:var(--ds-auro-datepicker-placeholder-color)}@media screen and (max-width: 576px){.calendarNavBtn{--ds-auro-calendar-nav-btn-border-color: var(--ds-basic-color-brand-primary, #01426a)}}`;
9519
-
9520
- var styleCss$6$1 = i$7`:focus:not(:focus-visible){outline:3px solid transparent}.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}:host{position:relative;display:block;width:calc(100% - var(--ds-size-200, 1rem) - var(--ds-size-200, 1rem));margin:0 var(--ds-size-200, 1rem)}@media screen and (min-width: 576px){:host{width:336px;padding:var(--ds-size-200, 1rem)}}@media screen and (min-width: 576px){:host(:not(:last-of-type)):after{position:absolute;top:var(--ds-size-200, 1rem);right:calc(-1*var(--ds-size-200, 1rem));height:calc(100% - var(--ds-size-200, 1rem) - var(--ds-size-200, 1rem));display:block;width:1px;content:""}}.header{display:flex;height:var(--ds-size-500, 2.5rem);margin-bottom:var(--ds-size-150, 0.75rem);align-items:center;flex-direction:row;text-align:center}.headerTitle{display:flex;align-items:center;flex:1;flex-direction:row;justify-content:center}.headerTitle div:first-child{margin-right:var(--ds-size-100, 0.5rem)}.calendarNavBtn{position:relative;display:flex;width:var(--ds-size-500, 2.5rem);height:var(--ds-size-500, 2.5rem);align-items:center;justify-content:center;border-width:1px;border-style:solid;border-radius:50%;cursor:pointer}.table{width:100%;border-collapse:collapse}.thead{margin-bottom:var(--ds-size-100, 0.5rem)}.th{display:flex;flex:1;align-items:center;justify-content:center}.tbody{width:100%;transition:all 0ms;transform:translateX(0)}@media screen and (min-width: 576px){.tbody{height:384px}}.td{flex:1;margin:0;padding:0}.tr{display:flex;flex-direction:row;width:100%}`;
9521
-
9522
- var colorCss$6$1 = i$7`:focus:not(:focus-visible){outline:3px solid transparent}:host{background-color:var(--ds-auro-calendar-month-container-color)}@media screen and (min-width: 576px){:host(:not(:last-of-type)):after{background-color:var(--ds-auro-calendar-month-divider-color)}}.header{color:var(--ds-auro-calendar-month-header-color)}`;
9523
-
9524
- /******************************************************************************
9525
- Copyright (c) Microsoft Corporation.
9526
-
9527
- Permission to use, copy, modify, and/or distribute this software for any
9528
- purpose with or without fee is hereby granted.
9529
-
9530
- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
9531
- REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
9532
- AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
9533
- INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
9534
- LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
9535
- OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
9536
- PERFORMANCE OF THIS SOFTWARE.
9537
- ***************************************************************************** */
9538
- /* global Reflect, Promise, SuppressedError, Symbol, Iterator */
9539
-
9540
-
9541
- function __decorate(decorators, target, key, desc) {
9542
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
9543
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
9544
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
9545
- return c > 3 && r && Object.defineProperty(target, key, r), r;
9546
- }
9547
-
9548
- typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
9549
- var e = new Error(message);
9550
- return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
9551
- };
9552
-
9553
9515
  /**
9554
9516
  * @module constants
9555
9517
  * @summary Useful constants
@@ -15304,6 +15266,43 @@ function subYears(date, amount, options) {
15304
15266
  return addYears(date, -1, options);
15305
15267
  }
15306
15268
 
15269
+ var styleCss$7$1 = i$7`.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}:host{--calendar-width: 336px;--mobile-footer-height: 150px;--mobile-header-height: 68px;--desktop-footer-height: 80px;height:100vh;height:100dvh}.calendars{display:flex;flex-direction:row}.calendars:focus{outline:none}.calendarNavButtons{position:absolute;z-index:1;top:var(--ds-size-200, 1rem);right:var(--ds-size-50, 0.25rem);left:var(--ds-size-50, 0.25rem)}.calendarNavBtn{display:flex;width:var(--ds-size-500, 2.5rem);height:var(--ds-size-500, 2.5rem);align-items:center;justify-content:center;border-width:1px;border-style:solid;border-radius:50%;cursor:pointer}.prevMonth,.nextMonth{position:absolute;top:0}.prevMonth{left:0}.nextMonth{right:0}.headerActions{padding:0 var(--ds-size-200, 1rem)}.mobileHeader{width:100%;height:var(--mobile-header-height);z-index:1;align-items:center;flex-direction:row}.headerDateFrom,.headerDateTo{display:flex;height:var(--mobile-header-height);flex:1;flex-direction:column;justify-content:center;padding:0 var(--ds-size-150, 0.75rem) 0 var(--ds-size-200, 1rem)}.mobileDateLabel{padding:var(--ds-size-25, 0.125rem) 0}.mobileFooter{display:none;width:100%;align-items:flex-end;flex-direction:column;justify-content:flex-end}.mobileFooterActions{position:relative;bottom:0;left:50%;display:none;width:calc(100% - var(--ds-size-200, 1rem)*2);align-items:flex-end;flex-direction:column;justify-content:flex-end;padding:var(--ds-size-150) calc(var(--ds-size-200, 1rem));transform:translateX(-50%)}.mobileFooterActions auro-button{width:100%}.calendarWrapper.hasFooter{padding-bottom:var(--desktop-footer-height)}:host([isfullscreen]){width:100%;max-height:100dvh;overflow:hidden}:host([isfullscreen]) .prevMonth,:host([isfullscreen]) .nextMonth{display:none}:host([isfullscreen]) .mobileHeader,:host([isfullscreen]) .mobileFooter,:host([isfullscreen]) .mobileFooterActions{display:flex}:host([isfullscreen]) .calendarWrapper{display:flex;flex-direction:column}:host([isfullscreen]) .calendars{display:flex;flex-direction:column;flex:1;align-items:center;width:100%;overscroll-behavior:contain}:host([isfullscreen]) .calendars:after{display:block;width:100%;height:var(--mobile-footer-height);content:""}.sr-only{position:absolute;overflow:hidden;clip:rect(0, 0, 0, 0);width:1px;height:1px;margin:-1px;padding:0;border:0;white-space:nowrap}`;
15270
+
15271
+ var colorCss$7$1 = i$7`.calendarNavBtn{border-color:var(--ds-auro-calendar-nav-btn-border-color);background-color:var(--ds-auro-calendar-nav-btn-container-color);color:var(--ds-auro-calendar-nav-btn-chevron-color)}.calendarNavBtn:hover{--ds-auro-calendar-nav-btn-container-color: var(--ds-advanced-color-state-background-hover, #f2f2f2);--ds-auro-calendar-nav-btn-border-color: var(--ds-basic-color-brand-primary, #01426a)}.calendarNavBtn:focus{--ds-auro-calendar-nav-btn-border-color: var(--ds-basic-color-brand-primary, #01426a)}.calendarNavBtn:active{--ds-auro-calendar-nav-btn-border-color: var(--ds-basic-color-brand-primary, #01426a);box-shadow:inset 0 0 0 1px var(--ds-auro-calendar-nav-btn-border-color)}.mobileHeader{background-color:var(--ds-auro-calendar-mobile-header-container-color)}.mobileDateLabel{color:var(--ds-auro-calendar-mobile-header-text-color)}:host(:not([noRange])) .headerDateTo:after{background-color:var(--ds-auro-calendar-mobile-header-divider-color)}::slotted([slot="bib.fullscreen.fromStr"]),::slotted([slot=mobileDateToStr]){color:var(--ds-auro-datepicker-placeholder-color)}@media screen and (max-width: 576px){.calendarNavBtn{--ds-auro-calendar-nav-btn-border-color: var(--ds-basic-color-brand-primary, #01426a)}}`;
15272
+
15273
+ var styleCss$6$1 = i$7`:focus:not(:focus-visible){outline:3px solid transparent}.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}:host{position:relative;display:block;width:calc(100% - var(--ds-size-200, 1rem) - var(--ds-size-200, 1rem));margin:0 var(--ds-size-200, 1rem)}@media screen and (min-width: 576px){:host{width:336px;padding:var(--ds-size-200, 1rem)}}@media screen and (min-width: 576px){:host(:not(:last-of-type)):after{position:absolute;top:var(--ds-size-200, 1rem);right:calc(-1*var(--ds-size-200, 1rem));height:calc(100% - var(--ds-size-200, 1rem) - var(--ds-size-200, 1rem));display:block;width:1px;content:""}}.header{display:flex;height:var(--ds-size-500, 2.5rem);margin-bottom:var(--ds-size-150, 0.75rem);align-items:center;flex-direction:row;text-align:center}.headerTitle{display:flex;align-items:center;flex:1;flex-direction:row;justify-content:center}.headerTitle div:first-child{margin-right:var(--ds-size-100, 0.5rem)}.calendarNavBtn{position:relative;display:flex;width:var(--ds-size-500, 2.5rem);height:var(--ds-size-500, 2.5rem);align-items:center;justify-content:center;border-width:1px;border-style:solid;border-radius:50%;cursor:pointer}.table{width:100%;border-collapse:collapse}.thead{margin-bottom:var(--ds-size-100, 0.5rem)}.th{display:flex;flex:1;align-items:center;justify-content:center}.th abbr{text-decoration:none}.tbody{width:100%;transition:all 0ms;transform:translateX(0)}@media screen and (min-width: 576px){.tbody{height:384px}}.td{flex:1;margin:0;padding:0}.tr{display:flex;flex-direction:row;width:100%}`;
15274
+
15275
+ var colorCss$6$1 = i$7`:focus:not(:focus-visible){outline:3px solid transparent}:host{background-color:var(--ds-auro-calendar-month-container-color)}@media screen and (min-width: 576px){:host(:not(:last-of-type)):after{background-color:var(--ds-auro-calendar-month-divider-color)}}.header{color:var(--ds-auro-calendar-month-header-color)}`;
15276
+
15277
+ /******************************************************************************
15278
+ Copyright (c) Microsoft Corporation.
15279
+
15280
+ Permission to use, copy, modify, and/or distribute this software for any
15281
+ purpose with or without fee is hereby granted.
15282
+
15283
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
15284
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
15285
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
15286
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
15287
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
15288
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
15289
+ PERFORMANCE OF THIS SOFTWARE.
15290
+ ***************************************************************************** */
15291
+ /* global Reflect, Promise, SuppressedError, Symbol, Iterator */
15292
+
15293
+
15294
+ function __decorate(decorators, target, key, desc) {
15295
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
15296
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
15297
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
15298
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
15299
+ }
15300
+
15301
+ typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
15302
+ var e = new Error(message);
15303
+ return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
15304
+ };
15305
+
15307
15306
  class RangeDatepickerCell extends i$4 {
15308
15307
  constructor() {
15309
15308
  super(...arguments);
@@ -16026,20 +16025,25 @@ __decorate([n$5({ type: Array })], RangeDatepickerCalendar.prototype, "dayNamesO
16026
16025
  __decorate([n$5({ type: Array })], RangeDatepickerCalendar.prototype, "daysOfMonth", void 0);
16027
16026
  AuroLibraryRuntimeUtils$5$1.prototype.registerComponent('wc-range-datepicker-calendar', RangeDatepickerCalendar);
16028
16027
 
16029
- var styleCss$5$1 = i$7`.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:var(--ds-size-500, 2.5rem);height:calc(var(--ds-size-700, 3.5rem) - 2px);padding:0;border-width:1px;border-style:solid;border-radius:var(--ds-size-300, 1.5rem);cursor:pointer;user-select:none}.day.disabled{cursor:default !important;pointer-events:none}.day.reference{box-shadow:inset 0 0 0 2px var(--ds-advanced-color-shared-background, #ffffff)}.day.inRange::before{position:absolute;z-index:-1;top:50%;left:50%;display:block;width:14.2857142857vw;height:var(--ds-size-600, 3rem);content:"";transform:translate(-50%, -50%)}@media screen and (min-width: 576px){.day.inRange::before{width:var(--ds-size-600, 3rem)}}.day.rangeDepartDate::before{position:absolute;z-index:-1;top:50%;left:50%;display:block;width:14.2857142857vw;height:var(--ds-size-600, 3rem);content:"";transform:translate(-50%, -50%);width:7.1428571429vw;transform:translate(0%, -50%)}@media screen and (min-width: 576px){.day.rangeDepartDate::before{width:calc(var(--ds-size-600, 3rem)/2)}}.day.rangeReturnDate::before,.day.lastHoveredDate::before{position:absolute;z-index:-1;top:50%;left:50%;display:block;width:14.2857142857vw;height:var(--ds-size-600, 3rem);content:"";transform:translate(-50%, -50%);width:7.1428571429vw;transform:translate(-100%, -50%)}@media screen and (min-width: 576px){.day.rangeReturnDate::before,.day.lastHoveredDate::before{width:calc(var(--ds-size-600, 3rem)/2)}}.dateSlot{display:flex;flex-direction:column}::slotted([slot^=date_]){position:absolute;top:80%;left:50%;width:100%;white-space:nowrap;transform:translate(-50%, -50%)}::slotted(auro-icon){max-height:24px;max-width:24px}:host([renderForDateSlot]) .buttonWrapper{position:relative;width:100%;top:5px}:host([renderForDateSlot]) .currentDayMarker{position:relative;padding-bottom:5px;top:-8px}@media screen and (min-width: 576px){.day{width:var(--ds-size-600, 3rem);height:var(--ds-size-800, 4rem)}.day:hover{cursor:pointer}}`;
16028
+ var styleCss$5$1 = i$7`.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:var(--ds-size-500, 2.5rem);height:calc(var(--ds-size-700, 3.5rem) - 2px);padding:0;border-width:1px;border-style:solid;border-radius:var(--ds-size-300, 1.5rem);cursor:pointer;user-select:none}.day:focus-visible,.day.visualFocus{outline:2px solid var(--ds-basic-color-border-default, #959595);outline-offset:2px}.day.disabled{cursor:default !important;pointer-events:none}.day.blackout{cursor:default}.day.reference{box-shadow:inset 0 0 0 2px var(--ds-advanced-color-shared-background, #ffffff)}.day.inRange::before{position:absolute;z-index:-1;top:50%;left:50%;display:block;width:14.2857142857vw;height:var(--ds-size-600, 3rem);content:"";transform:translate(-50%, -50%)}@media screen and (min-width: 576px){.day.inRange::before{width:var(--ds-size-600, 3rem)}}.day.rangeDepartDate::before{position:absolute;z-index:-1;top:50%;left:50%;display:block;width:14.2857142857vw;height:var(--ds-size-600, 3rem);content:"";transform:translate(-50%, -50%);width:7.1428571429vw;transform:translate(0%, -50%)}@media screen and (min-width: 576px){.day.rangeDepartDate::before{width:calc(var(--ds-size-600, 3rem)/2)}}.day.rangeReturnDate::before,.day.lastHoveredDate::before{position:absolute;z-index:-1;top:50%;left:50%;display:block;width:14.2857142857vw;height:var(--ds-size-600, 3rem);content:"";transform:translate(-50%, -50%);width:7.1428571429vw;transform:translate(-100%, -50%)}@media screen and (min-width: 576px){.day.rangeReturnDate::before,.day.lastHoveredDate::before{width:calc(var(--ds-size-600, 3rem)/2)}}.dateSlot{display:flex;flex-direction:column}.srOnly{position:absolute;overflow:hidden;width:1px;height:1px;padding:0;border:0;clip:rect(0, 0, 0, 0);white-space:nowrap}::slotted([slot^=date_]){position:absolute;top:80%;left:50%;width:100%;white-space:nowrap;transform:translate(-50%, -50%)}::slotted(auro-icon){max-height:24px;max-width:24px}:host([renderForDateSlot]) .buttonWrapper{position:relative;width:100%;top:5px}:host([renderForDateSlot]) .currentDayMarker{position:relative;padding-bottom:5px;top:-8px}@media screen and (min-width: 576px){.day{width:var(--ds-size-600, 3rem);height:var(--ds-size-800, 4rem)}.day:hover{cursor:pointer}}`;
16030
16029
 
16031
- var colorCss$5$1 = i$7`: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.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{--ds-auro-calendar-cell-border-color: var(--ds-basic-color-border-default, #959595)}:host .day.reference:not(.selected):not(.disabled){--ds-auro-calendar-cell-text-color: var(--ds-basic-color-texticon-muted, #676767)}:host .day.reference.selected{--ds-auro-calendar-cell-text-color: var(--ds-basic-color-texticon-inverse, #ffffff)}: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.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}`;
16030
+ var colorCss$5$1 = i$7`: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:focus-visible:not(.selected),:host .day.visualFocus:not(.selected){--ds-auro-calendar-cell-container-color: var(--ds-auro-calendar-cell-in-range-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{--ds-auro-calendar-cell-border-color: var(--ds-basic-color-border-default, #959595)}:host .day.reference:not(.selected):not(.disabled){--ds-auro-calendar-cell-text-color: var(--ds-basic-color-texticon-muted, #676767)}:host .day.reference.selected{--ds-auro-calendar-cell-text-color: var(--ds-basic-color-texticon-inverse, #ffffff)}: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}`;
16032
16031
 
16033
- let s$3 = class s{registerComponent(e,t){customElements.get(e)||customElements.define(e,class extends t{});}closestElement(e,t=this,i=(t,s=t&&t.closest(e))=>t&&t!==document&&t!==window?s||i(t.getRootNode().host):null){return i(t)}handleComponentTagRename(e,t){const i=t.toLowerCase();e.tagName.toLowerCase()!==i&&e.setAttribute(i,true);}elementMatch(e,t){const i=t.toLowerCase();return e.tagName.toLowerCase()===i||e.hasAttribute(i)}getSlotText(e,t){const i=e.shadowRoot?.querySelector(`slot[name="${t}"]`);return (i?.assignedNodes({flatten:true})||[]).map(e=>e.textContent?.trim()).join(" ").trim()||null}};var r$1$1="top",o="bottom",n$1$1="right",a="left",l$3$1="auto",c$3$1=[r$1$1,o,n$1$1,a],p$6$1="start",d$3$1="end",f$6$1="viewport",h$3$1="popper",m$6$1=c$3$1.reduce(function(e,t){return e.concat([t+"-"+p$6$1,t+"-"+d$3$1])},[]),u$6$1=[].concat(c$3$1,[l$3$1]).reduce(function(e,t){return e.concat([t,t+"-"+p$6$1,t+"-"+d$3$1])},[]),g$6$1=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"];function v$3$1(e){return e?(e.nodeName||"").toLowerCase():null}function y$6$1(e){if(null==e)return window;if("[object Window]"!==e.toString()){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function w$6$1(e){return e instanceof y$6$1(e).Element||e instanceof Element}function b$3$1(e){return e instanceof y$6$1(e).HTMLElement||e instanceof HTMLElement}function x$3$1(e){return "undefined"!=typeof ShadowRoot&&(e instanceof y$6$1(e).ShadowRoot||e instanceof ShadowRoot)}var S$3$1={name:"applyStyles",enabled:true,phase:"write",fn:function(e){var t=e.state;Object.keys(t.elements).forEach(function(e){var i=t.styles[e]||{},s=t.attributes[e]||{},r=t.elements[e];b$3$1(r)&&v$3$1(r)&&(Object.assign(r.style,i),Object.keys(s).forEach(function(e){var t=s[e];false===t?r.removeAttribute(e):r.setAttribute(e,true===t?"":t);}));});},effect:function(e){var t=e.state,i={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,i.popper),t.styles=i,t.elements.arrow&&Object.assign(t.elements.arrow.style,i.arrow),function(){Object.keys(t.elements).forEach(function(e){var s=t.elements[e],r=t.attributes[e]||{},o=Object.keys(t.styles.hasOwnProperty(e)?t.styles[e]:i[e]).reduce(function(e,t){return e[t]="",e},{});b$3$1(s)&&v$3$1(s)&&(Object.assign(s.style,o),Object.keys(r).forEach(function(e){s.removeAttribute(e);}));});}},requires:["computeStyles"]};function _$4$1(e){return e.split("-")[0]}var O=Math.max,k$6$1=Math.min,A$3$1=Math.round;function z$6$1(){var e=navigator.userAgentData;return null!=e&&e.brands&&Array.isArray(e.brands)?e.brands.map(function(e){return e.brand+"/"+e.version}).join(" "):navigator.userAgent}function E(){return !/^((?!chrome|android).)*safari/i.test(z$6$1())}function M$6$1(e,t,i){ void 0===t&&(t=false),void 0===i&&(i=false);var s=e.getBoundingClientRect(),r=1,o=1;t&&b$3$1(e)&&(r=e.offsetWidth>0&&A$3$1(s.width)/e.offsetWidth||1,o=e.offsetHeight>0&&A$3$1(s.height)/e.offsetHeight||1);var n=(w$6$1(e)?y$6$1(e):window).visualViewport,a=!E()&&i,l=(s.left+(a&&n?n.offsetLeft:0))/r,c=(s.top+(a&&n?n.offsetTop:0))/o,p=s.width/r,d=s.height/o;return {width:p,height:d,top:c,right:l+p,bottom:c+d,left:l,x:l,y:c}}function T$3$1(e){var t=M$6$1(e),i=e.offsetWidth,s=e.offsetHeight;return Math.abs(t.width-i)<=1&&(i=t.width),Math.abs(t.height-s)<=1&&(s=t.height),{x:e.offsetLeft,y:e.offsetTop,width:i,height:s}}function B$3$1(e,t){var i=t.getRootNode&&t.getRootNode();if(e.contains(t))return true;if(i&&x$3$1(i)){var s=t;do{if(s&&e.isSameNode(s))return true;s=s.parentNode||s.host;}while(s)}return false}function L(e){return y$6$1(e).getComputedStyle(e)}function H$3$1(e){return ["table","td","th"].indexOf(v$3$1(e))>=0}function C$3$1(e){return ((w$6$1(e)?e.ownerDocument:e.document)||window.document).documentElement}function R$3$1(e){return "html"===v$3$1(e)?e:e.assignedSlot||e.parentNode||(x$3$1(e)?e.host:null)||C$3$1(e)}function j(e){return b$3$1(e)&&"fixed"!==L(e).position?e.offsetParent:null}function N$3$1(e){for(var t=y$6$1(e),i=j(e);i&&H$3$1(i)&&"static"===L(i).position;)i=j(i);return i&&("html"===v$3$1(i)||"body"===v$3$1(i)&&"static"===L(i).position)?t:i||function(e){var t=/firefox/i.test(z$6$1());if(/Trident/i.test(z$6$1())&&b$3$1(e)&&"fixed"===L(e).position)return null;var i=R$3$1(e);for(x$3$1(i)&&(i=i.host);b$3$1(i)&&["html","body"].indexOf(v$3$1(i))<0;){var s=L(i);if("none"!==s.transform||"none"!==s.perspective||"paint"===s.contain||-1!==["transform","perspective"].indexOf(s.willChange)||t&&"filter"===s.willChange||t&&s.filter&&"none"!==s.filter)return i;i=i.parentNode;}return null}(e)||t}function P(e){return ["top","bottom"].indexOf(e)>=0?"x":"y"}function D(e,t,i){return O(e,k$6$1(t,i))}function I(e){return Object.assign({},{top:0,right:0,bottom:0,left:0},e)}function F(e,t){return t.reduce(function(t,i){return t[i]=e,t},{})}var U$3$1={name:"arrow",enabled:true,phase:"main",fn:function(e){var t,i=e.state,s=e.name,l=e.options,p=i.elements.arrow,d=i.modifiersData.popperOffsets,f=_$4$1(i.placement),h=P(f),m=[a,n$1$1].indexOf(f)>=0?"height":"width";if(p&&d){var u=function(e,t){return I("number"!=typeof(e="function"==typeof e?e(Object.assign({},t.rects,{placement:t.placement})):e)?e:F(e,c$3$1))}(l.padding,i),g=T$3$1(p),v="y"===h?r$1$1:a,y="y"===h?o:n$1$1,w=i.rects.reference[m]+i.rects.reference[h]-d[h]-i.rects.popper[m],b=d[h]-i.rects.reference[h],x=N$3$1(p),S=x?"y"===h?x.clientHeight||0:x.clientWidth||0:0,O=w/2-b/2,k=u[v],A=S-g[m]-u[y],z=S/2-g[m]/2+O,E=D(k,z,A),M=h;i.modifiersData[s]=((t={})[M]=E,t.centerOffset=E-z,t);}},effect:function(e){var t=e.state,i=e.options.element,s=void 0===i?"[data-popper-arrow]":i;null!=s&&("string"!=typeof s||(s=t.elements.popper.querySelector(s)))&&B$3$1(t.elements.popper,s)&&(t.elements.arrow=s);},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function q$3$1(e){return e.split("-")[1]}var W={top:"auto",right:"auto",bottom:"auto",left:"auto"};function X(e){var t,i=e.popper,s=e.popperRect,l=e.placement,c=e.variation,p=e.offsets,f=e.position,h=e.gpuAcceleration,m=e.adaptive,u=e.roundOffsets,g=e.isFixed,v=p.x,w=void 0===v?0:v,b=p.y,x=void 0===b?0:b,S="function"==typeof u?u({x:w,y:x}):{x:w,y:x};w=S.x,x=S.y;var _=p.hasOwnProperty("x"),O=p.hasOwnProperty("y"),k=a,z=r$1$1,E=window;if(m){var M=N$3$1(i),T="clientHeight",B="clientWidth";if(M===y$6$1(i)&&"static"!==L(M=C$3$1(i)).position&&"absolute"===f&&(T="scrollHeight",B="scrollWidth"),l===r$1$1||(l===a||l===n$1$1)&&c===d$3$1)z=o,x-=(g&&M===E&&E.visualViewport?E.visualViewport.height:M[T])-s.height,x*=h?1:-1;if(l===a||(l===r$1$1||l===o)&&c===d$3$1)k=n$1$1,w-=(g&&M===E&&E.visualViewport?E.visualViewport.width:M[B])-s.width,w*=h?1:-1;}var H,R=Object.assign({position:f},m&&W),j=true===u?function(e,t){var i=e.x,s=e.y,r=t.devicePixelRatio||1;return {x:A$3$1(i*r)/r||0,y:A$3$1(s*r)/r||0}}({x:w,y:x},y$6$1(i)):{x:w,y:x};return w=j.x,x=j.y,h?Object.assign({},R,((H={})[z]=O?"0":"",H[k]=_?"0":"",H.transform=(E.devicePixelRatio||1)<=1?"translate("+w+"px, "+x+"px)":"translate3d("+w+"px, "+x+"px, 0)",H)):Object.assign({},R,((t={})[z]=O?x+"px":"",t[k]=_?w+"px":"",t.transform="",t))}var V={passive:true};var G={left:"right",right:"left",bottom:"top",top:"bottom"};function $(e){return e.replace(/left|right|bottom|top/g,function(e){return G[e]})}var K={start:"end",end:"start"};function Y(e){return e.replace(/start|end/g,function(e){return K[e]})}function J(e){var t=y$6$1(e);return {scrollLeft:t.pageXOffset,scrollTop:t.pageYOffset}}function Q(e){return M$6$1(C$3$1(e)).left+J(e).scrollLeft}function Z(e){var t=L(e),i=t.overflow,s=t.overflowX,r=t.overflowY;return /auto|scroll|overlay|hidden/.test(i+r+s)}function ee(e){return ["html","body","#document"].indexOf(v$3$1(e))>=0?e.ownerDocument.body:b$3$1(e)&&Z(e)?e:ee(R$3$1(e))}function te(e,t){var i;void 0===t&&(t=[]);var s=ee(e),r=s===(null==(i=e.ownerDocument)?void 0:i.body),o=y$6$1(s),n=r?[o].concat(o.visualViewport||[],Z(s)?s:[]):s,a=t.concat(n);return r?a:a.concat(te(R$3$1(n)))}function ie(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function se(e,t,i){return t===f$6$1?ie(function(e,t){var i=y$6$1(e),s=C$3$1(e),r=i.visualViewport,o=s.clientWidth,n=s.clientHeight,a=0,l=0;if(r){o=r.width,n=r.height;var c=E();(c||!c&&"fixed"===t)&&(a=r.offsetLeft,l=r.offsetTop);}return {width:o,height:n,x:a+Q(e),y:l}}(e,i)):w$6$1(t)?function(e,t){var i=M$6$1(e,false,"fixed"===t);return i.top=i.top+e.clientTop,i.left=i.left+e.clientLeft,i.bottom=i.top+e.clientHeight,i.right=i.left+e.clientWidth,i.width=e.clientWidth,i.height=e.clientHeight,i.x=i.left,i.y=i.top,i}(t,i):ie(function(e){var t,i=C$3$1(e),s=J(e),r=null==(t=e.ownerDocument)?void 0:t.body,o=O(i.scrollWidth,i.clientWidth,r?r.scrollWidth:0,r?r.clientWidth:0),n=O(i.scrollHeight,i.clientHeight,r?r.scrollHeight:0,r?r.clientHeight:0),a=-s.scrollLeft+Q(e),l=-s.scrollTop;return "rtl"===L(r||i).direction&&(a+=O(i.clientWidth,r?r.clientWidth:0)-o),{width:o,height:n,x:a,y:l}}(C$3$1(e)))}function re(e,t,i,s){var r="clippingParents"===t?function(e){var t=te(R$3$1(e)),i=["absolute","fixed"].indexOf(L(e).position)>=0&&b$3$1(e)?N$3$1(e):e;return w$6$1(i)?t.filter(function(e){return w$6$1(e)&&B$3$1(e,i)&&"body"!==v$3$1(e)}):[]}(e):[].concat(t),o=[].concat(r,[i]),n=o[0],a=o.reduce(function(t,i){var r=se(e,i,s);return t.top=O(r.top,t.top),t.right=k$6$1(r.right,t.right),t.bottom=k$6$1(r.bottom,t.bottom),t.left=O(r.left,t.left),t},se(e,n,s));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}function oe(e){var t,i=e.reference,s=e.element,l=e.placement,c=l?_$4$1(l):null,f=l?q$3$1(l):null,h=i.x+i.width/2-s.width/2,m=i.y+i.height/2-s.height/2;switch(c){case r$1$1:t={x:h,y:i.y-s.height};break;case o:t={x:h,y:i.y+i.height};break;case n$1$1:t={x:i.x+i.width,y:m};break;case a:t={x:i.x-s.width,y:m};break;default:t={x:i.x,y:i.y};}var u=c?P(c):null;if(null!=u){var g="y"===u?"height":"width";switch(f){case p$6$1:t[u]=t[u]-(i[g]/2-s[g]/2);break;case d$3$1:t[u]=t[u]+(i[g]/2-s[g]/2);}}return t}function ne(e,t){ void 0===t&&(t={});var i=t,s=i.placement,a=void 0===s?e.placement:s,l=i.strategy,p=void 0===l?e.strategy:l,d=i.boundary,m=void 0===d?"clippingParents":d,u=i.rootBoundary,g=void 0===u?f$6$1:u,v=i.elementContext,y=void 0===v?h$3$1:v,b=i.altBoundary,x=void 0!==b&&b,S=i.padding,_=void 0===S?0:S,O=I("number"!=typeof _?_:F(_,c$3$1)),k=y===h$3$1?"reference":h$3$1,A=e.rects.popper,z=e.elements[x?k:y],E=re(w$6$1(z)?z:z.contextElement||C$3$1(e.elements.popper),m,g,p),T=M$6$1(e.elements.reference),B=oe({reference:T,element:A,placement:a}),L=ie(Object.assign({},A,B)),H=y===h$3$1?L:T,R={top:E.top-H.top+O.top,bottom:H.bottom-E.bottom+O.bottom,left:E.left-H.left+O.left,right:H.right-E.right+O.right},j=e.modifiersData.offset;if(y===h$3$1&&j){var N=j[a];Object.keys(R).forEach(function(e){var t=[n$1$1,o].indexOf(e)>=0?1:-1,i=[r$1$1,o].indexOf(e)>=0?"y":"x";R[e]+=N[i]*t;});}return R}function ae(e,t){ void 0===t&&(t={});var i=t,s=i.placement,r=i.boundary,o=i.rootBoundary,n=i.padding,a=i.flipVariations,l=i.allowedAutoPlacements,p=void 0===l?u$6$1:l,d=q$3$1(s),f=d?a?m$6$1:m$6$1.filter(function(e){return q$3$1(e)===d}):c$3$1,h=f.filter(function(e){return p.indexOf(e)>=0});0===h.length&&(h=f);var g=h.reduce(function(t,i){return t[i]=ne(e,{placement:i,boundary:r,rootBoundary:o,padding:n})[_$4$1(i)],t},{});return Object.keys(g).sort(function(e,t){return g[e]-g[t]})}var le={name:"flip",enabled:true,phase:"main",fn:function(e){var t=e.state,i=e.options,s=e.name;if(!t.modifiersData[s]._skip){for(var c=i.mainAxis,d=void 0===c||c,f=i.altAxis,h=void 0===f||f,m=i.fallbackPlacements,u=i.padding,g=i.boundary,v=i.rootBoundary,y=i.altBoundary,w=i.flipVariations,b=void 0===w||w,x=i.allowedAutoPlacements,S=t.options.placement,O=_$4$1(S),k=m||(O===S||!b?[$(S)]:function(e){if(_$4$1(e)===l$3$1)return [];var t=$(e);return [Y(e),t,Y(t)]}(S)),A=[S].concat(k).reduce(function(e,i){return e.concat(_$4$1(i)===l$3$1?ae(t,{placement:i,boundary:g,rootBoundary:v,padding:u,flipVariations:b,allowedAutoPlacements:x}):i)},[]),z=t.rects.reference,E=t.rects.popper,M=new Map,T=true,B=A[0],L=0;L<A.length;L++){var H=A[L],C=_$4$1(H),R=q$3$1(H)===p$6$1,j=[r$1$1,o].indexOf(C)>=0,N=j?"width":"height",P=ne(t,{placement:H,boundary:g,rootBoundary:v,altBoundary:y,padding:u}),D=j?R?n$1$1:a:R?o:r$1$1;z[N]>E[N]&&(D=$(D));var I=$(D),F=[];if(d&&F.push(P[C]<=0),h&&F.push(P[D]<=0,P[I]<=0),F.every(function(e){return e})){B=H,T=false;break}M.set(H,F);}if(T)for(var U=function(e){var t=A.find(function(t){var i=M.get(t);if(i)return i.slice(0,e).every(function(e){return e})});if(t)return B=t,"break"},W=b?3:1;W>0;W--){if("break"===U(W))break}t.placement!==B&&(t.modifiersData[s]._skip=true,t.placement=B,t.reset=true);}},requiresIfExists:["offset"],data:{_skip:false}};function ce(e,t,i){return void 0===i&&(i={x:0,y:0}),{top:e.top-t.height-i.y,right:e.right-t.width+i.x,bottom:e.bottom-t.height+i.y,left:e.left-t.width-i.x}}function pe(e){return [r$1$1,n$1$1,o,a].some(function(t){return e[t]>=0})}var de={name:"offset",enabled:true,phase:"main",requires:["popperOffsets"],fn:function(e){var t=e.state,i=e.options,s=e.name,o=i.offset,l=void 0===o?[0,0]:o,c=u$6$1.reduce(function(e,i){return e[i]=function(e,t,i){var s=_$4$1(e),o=[a,r$1$1].indexOf(s)>=0?-1:1,l="function"==typeof i?i(Object.assign({},t,{placement:e})):i,c=l[0],p=l[1];return c=c||0,p=(p||0)*o,[a,n$1$1].indexOf(s)>=0?{x:p,y:c}:{x:c,y:p}}(i,t.rects,l),e},{}),p=c[t.placement],d=p.x,f=p.y;null!=t.modifiersData.popperOffsets&&(t.modifiersData.popperOffsets.x+=d,t.modifiersData.popperOffsets.y+=f),t.modifiersData[s]=c;}};var fe={name:"preventOverflow",enabled:true,phase:"main",fn:function(e){var t=e.state,i=e.options,s=e.name,l=i.mainAxis,c=void 0===l||l,d=i.altAxis,f=void 0!==d&&d,h=i.boundary,m=i.rootBoundary,u=i.altBoundary,g=i.padding,v=i.tether,y=void 0===v||v,w=i.tetherOffset,b=void 0===w?0:w,x=ne(t,{boundary:h,rootBoundary:m,padding:g,altBoundary:u}),S=_$4$1(t.placement),A=q$3$1(t.placement),z=!A,E=P(S),M="x"===E?"y":"x",B=t.modifiersData.popperOffsets,L=t.rects.reference,H=t.rects.popper,C="function"==typeof b?b(Object.assign({},t.rects,{placement:t.placement})):b,R="number"==typeof C?{mainAxis:C,altAxis:C}:Object.assign({mainAxis:0,altAxis:0},C),j=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,I={x:0,y:0};if(B){if(c){var F,U="y"===E?r$1$1:a,W="y"===E?o:n$1$1,X="y"===E?"height":"width",V=B[E],G=V+x[U],$=V-x[W],K=y?-H[X]/2:0,Y=A===p$6$1?L[X]:H[X],J=A===p$6$1?-H[X]:-L[X],Q=t.elements.arrow,Z=y&&Q?T$3$1(Q):{width:0,height:0},ee=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},te=ee[U],ie=ee[W],se=D(0,L[X],Z[X]),re=z?L[X]/2-K-se-te-R.mainAxis:Y-se-te-R.mainAxis,oe=z?-L[X]/2+K+se+ie+R.mainAxis:J+se+ie+R.mainAxis,ae=t.elements.arrow&&N$3$1(t.elements.arrow),le=ae?"y"===E?ae.clientTop||0:ae.clientLeft||0:0,ce=null!=(F=null==j?void 0:j[E])?F:0,pe=V+oe-ce,de=D(y?k$6$1(G,V+re-ce-le):G,V,y?O($,pe):$);B[E]=de,I[E]=de-V;}if(f){var fe,he="x"===E?r$1$1:a,me="x"===E?o:n$1$1,ue=B[M],ge="y"===M?"height":"width",ve=ue+x[he],ye=ue-x[me],we=-1!==[r$1$1,a].indexOf(S),be=null!=(fe=null==j?void 0:j[M])?fe:0,xe=we?ve:ue-L[ge]-H[ge]-be+R.altAxis,Se=we?ue+L[ge]+H[ge]-be-R.altAxis:ye,_e=y&&we?function(e,t,i){var s=D(e,t,i);return s>i?i:s}(xe,ue,Se):D(y?xe:ve,ue,y?Se:ye);B[M]=_e,I[M]=_e-ue;}t.modifiersData[s]=I;}},requiresIfExists:["offset"]};function he(e,t,i){ void 0===i&&(i=false);var s,r,o=b$3$1(t),n=b$3$1(t)&&function(e){var t=e.getBoundingClientRect(),i=A$3$1(t.width)/e.offsetWidth||1,s=A$3$1(t.height)/e.offsetHeight||1;return 1!==i||1!==s}(t),a=C$3$1(t),l=M$6$1(e,n,i),c={scrollLeft:0,scrollTop:0},p={x:0,y:0};return (o||!o&&!i)&&(("body"!==v$3$1(t)||Z(a))&&(c=(s=t)!==y$6$1(s)&&b$3$1(s)?{scrollLeft:(r=s).scrollLeft,scrollTop:r.scrollTop}:J(s)),b$3$1(t)?((p=M$6$1(t,true)).x+=t.clientLeft,p.y+=t.clientTop):a&&(p.x=Q(a))),{x:l.left+c.scrollLeft-p.x,y:l.top+c.scrollTop-p.y,width:l.width,height:l.height}}function me(e){var t=new Map,i=new Set,s=[];function r(e){i.add(e.name),[].concat(e.requires||[],e.requiresIfExists||[]).forEach(function(e){if(!i.has(e)){var s=t.get(e);s&&r(s);}}),s.push(e);}return e.forEach(function(e){t.set(e.name,e);}),e.forEach(function(e){i.has(e.name)||r(e);}),s}var ue={placement:"bottom",modifiers:[],strategy:"absolute"};function ge(){for(var e=arguments.length,t=new Array(e),i=0;i<e;i++)t[i]=arguments[i];return !t.some(function(e){return !(e&&"function"==typeof e.getBoundingClientRect)})}function ve(e){ void 0===e&&(e={});var t=e,i=t.defaultModifiers,s=void 0===i?[]:i,r=t.defaultOptions,o=void 0===r?ue:r;return function(e,t,i){ void 0===i&&(i=o);var r,n,a={placement:"bottom",orderedModifiers:[],options:Object.assign({},ue,o),modifiersData:{},elements:{reference:e,popper:t},attributes:{},styles:{}},l=[],c=false,p={state:a,setOptions:function(i){var r="function"==typeof i?i(a.options):i;d(),a.options=Object.assign({},o,a.options,r),a.scrollParents={reference:w$6$1(e)?te(e):e.contextElement?te(e.contextElement):[],popper:te(t)};var n,c,f=function(e){var t=me(e);return g$6$1.reduce(function(e,i){return e.concat(t.filter(function(e){return e.phase===i}))},[])}((n=[].concat(s,a.options.modifiers),c=n.reduce(function(e,t){var i=e[t.name];return e[t.name]=i?Object.assign({},i,t,{options:Object.assign({},i.options,t.options),data:Object.assign({},i.data,t.data)}):t,e},{}),Object.keys(c).map(function(e){return c[e]})));return a.orderedModifiers=f.filter(function(e){return e.enabled}),a.orderedModifiers.forEach(function(e){var t=e.name,i=e.options,s=void 0===i?{}:i,r=e.effect;if("function"==typeof r){var o=r({state:a,name:t,instance:p,options:s}),n=function(){};l.push(o||n);}}),p.update()},forceUpdate:function(){if(!c){var e=a.elements,t=e.reference,i=e.popper;if(ge(t,i)){a.rects={reference:he(t,N$3$1(i),"fixed"===a.options.strategy),popper:T$3$1(i)},a.reset=false,a.placement=a.options.placement,a.orderedModifiers.forEach(function(e){return a.modifiersData[e.name]=Object.assign({},e.data)});for(var s=0;s<a.orderedModifiers.length;s++)if(true!==a.reset){var r=a.orderedModifiers[s],o=r.fn,n=r.options,l=void 0===n?{}:n,d=r.name;"function"==typeof o&&(a=o({state:a,options:l,name:d,instance:p})||a);}else a.reset=false,s=-1;}}},update:(r=function(){return new Promise(function(e){p.forceUpdate(),e(a);})},function(){return n||(n=new Promise(function(e){Promise.resolve().then(function(){n=void 0,e(r());});})),n}),destroy:function(){d(),c=true;}};if(!ge(e,t))return p;function d(){l.forEach(function(e){return e()}),l=[];}return p.setOptions(i).then(function(e){!c&&i.onFirstUpdate&&i.onFirstUpdate(e);}),p}}var ye=ve({defaultModifiers:[{name:"eventListeners",enabled:true,phase:"write",fn:function(){},effect:function(e){var t=e.state,i=e.instance,s=e.options,r=s.scroll,o=void 0===r||r,n=s.resize,a=void 0===n||n,l=y$6$1(t.elements.popper),c=[].concat(t.scrollParents.reference,t.scrollParents.popper);return o&&c.forEach(function(e){e.addEventListener("scroll",i.update,V);}),a&&l.addEventListener("resize",i.update,V),function(){o&&c.forEach(function(e){e.removeEventListener("scroll",i.update,V);}),a&&l.removeEventListener("resize",i.update,V);}},data:{}},{name:"popperOffsets",enabled:true,phase:"read",fn:function(e){var t=e.state,i=e.name;t.modifiersData[i]=oe({reference:t.rects.reference,element:t.rects.popper,placement:t.placement});},data:{}},{name:"computeStyles",enabled:true,phase:"beforeWrite",fn:function(e){var t=e.state,i=e.options,s=i.gpuAcceleration,r=void 0===s||s,o=i.adaptive,n=void 0===o||o,a=i.roundOffsets,l=void 0===a||a,c={placement:_$4$1(t.placement),variation:q$3$1(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:r,isFixed:"fixed"===t.options.strategy};null!=t.modifiersData.popperOffsets&&(t.styles.popper=Object.assign({},t.styles.popper,X(Object.assign({},c,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:n,roundOffsets:l})))),null!=t.modifiersData.arrow&&(t.styles.arrow=Object.assign({},t.styles.arrow,X(Object.assign({},c,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:false,roundOffsets:l})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement});},data:{}},S$3$1,de,le,fe,U$3$1,{name:"hide",enabled:true,phase:"main",requiresIfExists:["preventOverflow"],fn:function(e){var t=e.state,i=e.name,s=t.rects.reference,r=t.rects.popper,o=t.modifiersData.preventOverflow,n=ne(t,{elementContext:"reference"}),a=ne(t,{altBoundary:true}),l=ce(n,s),c=ce(a,r,o),p=pe(l),d=pe(c);t.modifiersData[i]={referenceClippingOffsets:l,popperEscapeOffsets:c,isReferenceHidden:p,hasPopperEscaped:d},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":p,"data-popper-escaped":d});}}]});class we{constructor(e,t,i,s){this.anchor=e,this.popover=t,this.boundaryElement=this.setBoundary(s),this.options={placement:i,visibleClass:"data-show"},this.popover.classList.remove(this.options.visibleClass);}setBoundary(e){return "string"==typeof e?document.querySelector(e)||document.body:e||document.body}show(){this.popper&&this.popper.destroy(),this.popper=ye(this.anchor,this.popover,{tooltip:this.anchor,placement:this.options.placement,modifiers:[{name:"offset",options:{offset:[0,18]}},{name:"preventOverflow",options:{mainAxis:true,boundary:this.boundaryElement,rootBoundary:"document",padding:16}}]});}triggerUpdate(){this.popper.update();}hide(){this.popover.classList.remove(this.options.visibleClass);}}var be=i$7`::slotted(*):not([onDark]),::slotted(*):not([appearance=inverse]){color:var(--ds-auro-popover-text-color)}.popover{background-color:var(--ds-auro-popover-container-color);box-shadow:var(--ds-auro-popover-boxshadow-color)}.arrow:before{background-color:var(--ds-auro-popover-container-color);box-shadow:2px 2px 1px 0 var(--ds-auro-popover-boxshadow-color)}
16032
+ let s$3 = class s{registerComponent(e,t){customElements.get(e)||customElements.define(e,class extends t{});}closestElement(e,t=this,i=(t,s=t&&t.closest(e))=>t&&t!==document&&t!==window?s||i(t.getRootNode().host):null){return i(t)}handleComponentTagRename(e,t){const i=t.toLowerCase();e.tagName.toLowerCase()!==i&&e.setAttribute(i,true);}elementMatch(e,t){const i=t.toLowerCase();return e.tagName.toLowerCase()===i||e.hasAttribute(i)}getSlotText(e,t){const i=e.shadowRoot?.querySelector(`slot[name="${t}"]`);return (i?.assignedNodes({flatten:true})||[]).map(e=>e.textContent?.trim()).join(" ").trim()||null}};var r$1$1="top",o="bottom",n$1$1="right",a="left",l$3$1="auto",c$3$1=[r$1$1,o,n$1$1,a],p$6$1="start",d$3$1="end",f$6$1="viewport",h$3$1="popper",u$6$1=c$3$1.reduce(function(e,t){return e.concat([t+"-"+p$6$1,t+"-"+d$3$1])},[]),m$6$1=[].concat(c$3$1,[l$3$1]).reduce(function(e,t){return e.concat([t,t+"-"+p$6$1,t+"-"+d$3$1])},[]),g$6$1=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"];function v$3$1(e){return e?(e.nodeName||"").toLowerCase():null}function y$6$1(e){if(null==e)return window;if("[object Window]"!==e.toString()){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function w$6$1(e){return e instanceof y$6$1(e).Element||e instanceof Element}function b$3$1(e){return e instanceof y$6$1(e).HTMLElement||e instanceof HTMLElement}function x$3$1(e){return "undefined"!=typeof ShadowRoot&&(e instanceof y$6$1(e).ShadowRoot||e instanceof ShadowRoot)}var S$3$1={name:"applyStyles",enabled:true,phase:"write",fn:function(e){var t=e.state;Object.keys(t.elements).forEach(function(e){var i=t.styles[e]||{},s=t.attributes[e]||{},r=t.elements[e];b$3$1(r)&&v$3$1(r)&&(Object.assign(r.style,i),Object.keys(s).forEach(function(e){var t=s[e];false===t?r.removeAttribute(e):r.setAttribute(e,true===t?"":t);}));});},effect:function(e){var t=e.state,i={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,i.popper),t.styles=i,t.elements.arrow&&Object.assign(t.elements.arrow.style,i.arrow),function(){Object.keys(t.elements).forEach(function(e){var s=t.elements[e],r=t.attributes[e]||{},o=Object.keys(t.styles.hasOwnProperty(e)?t.styles[e]:i[e]).reduce(function(e,t){return e[t]="",e},{});b$3$1(s)&&v$3$1(s)&&(Object.assign(s.style,o),Object.keys(r).forEach(function(e){s.removeAttribute(e);}));});}},requires:["computeStyles"]};function _$4$1(e){return e.split("-")[0]}var A$3$1=Math.max,O=Math.min,k$6$1=Math.round;function T$3$1(){var e=navigator.userAgentData;return null!=e&&e.brands&&Array.isArray(e.brands)?e.brands.map(function(e){return e.brand+"/"+e.version}).join(" "):navigator.userAgent}function z$6$1(){return !/^((?!chrome|android).)*safari/i.test(T$3$1())}function E(e,t,i){ void 0===t&&(t=false),void 0===i&&(i=false);var s=e.getBoundingClientRect(),r=1,o=1;t&&b$3$1(e)&&(r=e.offsetWidth>0&&k$6$1(s.width)/e.offsetWidth||1,o=e.offsetHeight>0&&k$6$1(s.height)/e.offsetHeight||1);var n=(w$6$1(e)?y$6$1(e):window).visualViewport,a=!z$6$1()&&i,l=(s.left+(a&&n?n.offsetLeft:0))/r,c=(s.top+(a&&n?n.offsetTop:0))/o,p=s.width/r,d=s.height/o;return {width:p,height:d,top:c,right:l+p,bottom:c+d,left:l,x:l,y:c}}function M$6$1(e){var t=E(e),i=e.offsetWidth,s=e.offsetHeight;return Math.abs(t.width-i)<=1&&(i=t.width),Math.abs(t.height-s)<=1&&(s=t.height),{x:e.offsetLeft,y:e.offsetTop,width:i,height:s}}function B$3$1(e,t){var i=t.getRootNode&&t.getRootNode();if(e.contains(t))return true;if(i&&x$3$1(i)){var s=t;do{if(s&&e.isSameNode(s))return true;s=s.parentNode||s.host;}while(s)}return false}function L(e){return y$6$1(e).getComputedStyle(e)}function R$3$1(e){return ["table","td","th"].indexOf(v$3$1(e))>=0}function H$3$1(e){return ((w$6$1(e)?e.ownerDocument:e.document)||window.document).documentElement}function C$3$1(e){return "html"===v$3$1(e)?e:e.assignedSlot||e.parentNode||(x$3$1(e)?e.host:null)||H$3$1(e)}function D(e){return b$3$1(e)&&"fixed"!==L(e).position?e.offsetParent:null}function N$3$1(e){for(var t=y$6$1(e),i=D(e);i&&R$3$1(i)&&"static"===L(i).position;)i=D(i);return i&&("html"===v$3$1(i)||"body"===v$3$1(i)&&"static"===L(i).position)?t:i||function(e){var t=/firefox/i.test(T$3$1());if(/Trident/i.test(T$3$1())&&b$3$1(e)&&"fixed"===L(e).position)return null;var i=C$3$1(e);for(x$3$1(i)&&(i=i.host);b$3$1(i)&&["html","body"].indexOf(v$3$1(i))<0;){var s=L(i);if("none"!==s.transform||"none"!==s.perspective||"paint"===s.contain||-1!==["transform","perspective"].indexOf(s.willChange)||t&&"filter"===s.willChange||t&&s.filter&&"none"!==s.filter)return i;i=i.parentNode;}return null}(e)||t}function P(e){return ["top","bottom"].indexOf(e)>=0?"x":"y"}function j(e,t,i){return A$3$1(e,O(t,i))}function I(e){return Object.assign({},{top:0,right:0,bottom:0,left:0},e)}function q$3$1(e,t){return t.reduce(function(t,i){return t[i]=e,t},{})}var F={name:"arrow",enabled:true,phase:"main",fn:function(e){var t,i=e.state,s=e.name,l=e.options,p=i.elements.arrow,d=i.modifiersData.popperOffsets,f=_$4$1(i.placement),h=P(f),u=[a,n$1$1].indexOf(f)>=0?"height":"width";if(p&&d){var m=function(e,t){return I("number"!=typeof(e="function"==typeof e?e(Object.assign({},t.rects,{placement:t.placement})):e)?e:q$3$1(e,c$3$1))}(l.padding,i),g=M$6$1(p),v="y"===h?r$1$1:a,y="y"===h?o:n$1$1,w=i.rects.reference[u]+i.rects.reference[h]-d[h]-i.rects.popper[u],b=d[h]-i.rects.reference[h],x=N$3$1(p),S=x?"y"===h?x.clientHeight||0:x.clientWidth||0:0,A=w/2-b/2,O=m[v],k=S-g[u]-m[y],T=S/2-g[u]/2+A,z=j(O,T,k),E=h;i.modifiersData[s]=((t={})[E]=z,t.centerOffset=z-T,t);}},effect:function(e){var t=e.state,i=e.options.element,s=void 0===i?"[data-popper-arrow]":i;null!=s&&("string"!=typeof s||(s=t.elements.popper.querySelector(s)))&&B$3$1(t.elements.popper,s)&&(t.elements.arrow=s);},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function U$3$1(e){return e.split("-")[1]}var V={top:"auto",right:"auto",bottom:"auto",left:"auto"};function W(e){var t,i=e.popper,s=e.popperRect,l=e.placement,c=e.variation,p=e.offsets,f=e.position,h=e.gpuAcceleration,u=e.adaptive,m=e.roundOffsets,g=e.isFixed,v=p.x,w=void 0===v?0:v,b=p.y,x=void 0===b?0:b,S="function"==typeof m?m({x:w,y:x}):{x:w,y:x};w=S.x,x=S.y;var _=p.hasOwnProperty("x"),A=p.hasOwnProperty("y"),O=a,T=r$1$1,z=window;if(u){var E=N$3$1(i),M="clientHeight",B="clientWidth";if(E===y$6$1(i)&&"static"!==L(E=H$3$1(i)).position&&"absolute"===f&&(M="scrollHeight",B="scrollWidth"),l===r$1$1||(l===a||l===n$1$1)&&c===d$3$1)T=o,x-=(g&&E===z&&z.visualViewport?z.visualViewport.height:E[M])-s.height,x*=h?1:-1;if(l===a||(l===r$1$1||l===o)&&c===d$3$1)O=n$1$1,w-=(g&&E===z&&z.visualViewport?z.visualViewport.width:E[B])-s.width,w*=h?1:-1;}var R,C=Object.assign({position:f},u&&V),D=true===m?function(e,t){var i=e.x,s=e.y,r=t.devicePixelRatio||1;return {x:k$6$1(i*r)/r||0,y:k$6$1(s*r)/r||0}}({x:w,y:x},y$6$1(i)):{x:w,y:x};return w=D.x,x=D.y,h?Object.assign({},C,((R={})[T]=A?"0":"",R[O]=_?"0":"",R.transform=(z.devicePixelRatio||1)<=1?"translate("+w+"px, "+x+"px)":"translate3d("+w+"px, "+x+"px, 0)",R)):Object.assign({},C,((t={})[T]=A?x+"px":"",t[O]=_?w+"px":"",t.transform="",t))}var X={passive:true};var $={left:"right",right:"left",bottom:"top",top:"bottom"};function G(e){return e.replace(/left|right|bottom|top/g,function(e){return $[e]})}var K={start:"end",end:"start"};function Y(e){return e.replace(/start|end/g,function(e){return K[e]})}function J(e){var t=y$6$1(e);return {scrollLeft:t.pageXOffset,scrollTop:t.pageYOffset}}function Q(e){return E(H$3$1(e)).left+J(e).scrollLeft}function Z(e){var t=L(e),i=t.overflow,s=t.overflowX,r=t.overflowY;return /auto|scroll|overlay|hidden/.test(i+r+s)}function ee(e){return ["html","body","#document"].indexOf(v$3$1(e))>=0?e.ownerDocument.body:b$3$1(e)&&Z(e)?e:ee(C$3$1(e))}function te(e,t){var i;void 0===t&&(t=[]);var s=ee(e),r=s===(null==(i=e.ownerDocument)?void 0:i.body),o=y$6$1(s),n=r?[o].concat(o.visualViewport||[],Z(s)?s:[]):s,a=t.concat(n);return r?a:a.concat(te(C$3$1(n)))}function ie(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function se(e,t,i){return t===f$6$1?ie(function(e,t){var i=y$6$1(e),s=H$3$1(e),r=i.visualViewport,o=s.clientWidth,n=s.clientHeight,a=0,l=0;if(r){o=r.width,n=r.height;var c=z$6$1();(c||!c&&"fixed"===t)&&(a=r.offsetLeft,l=r.offsetTop);}return {width:o,height:n,x:a+Q(e),y:l}}(e,i)):w$6$1(t)?function(e,t){var i=E(e,false,"fixed"===t);return i.top=i.top+e.clientTop,i.left=i.left+e.clientLeft,i.bottom=i.top+e.clientHeight,i.right=i.left+e.clientWidth,i.width=e.clientWidth,i.height=e.clientHeight,i.x=i.left,i.y=i.top,i}(t,i):ie(function(e){var t,i=H$3$1(e),s=J(e),r=null==(t=e.ownerDocument)?void 0:t.body,o=A$3$1(i.scrollWidth,i.clientWidth,r?r.scrollWidth:0,r?r.clientWidth:0),n=A$3$1(i.scrollHeight,i.clientHeight,r?r.scrollHeight:0,r?r.clientHeight:0),a=-s.scrollLeft+Q(e),l=-s.scrollTop;return "rtl"===L(r||i).direction&&(a+=A$3$1(i.clientWidth,r?r.clientWidth:0)-o),{width:o,height:n,x:a,y:l}}(H$3$1(e)))}function re(e,t,i,s){var r="clippingParents"===t?function(e){var t=te(C$3$1(e)),i=["absolute","fixed"].indexOf(L(e).position)>=0&&b$3$1(e)?N$3$1(e):e;return w$6$1(i)?t.filter(function(e){return w$6$1(e)&&B$3$1(e,i)&&"body"!==v$3$1(e)}):[]}(e):[].concat(t),o=[].concat(r,[i]),n=o[0],a=o.reduce(function(t,i){var r=se(e,i,s);return t.top=A$3$1(r.top,t.top),t.right=O(r.right,t.right),t.bottom=O(r.bottom,t.bottom),t.left=A$3$1(r.left,t.left),t},se(e,n,s));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}function oe(e){var t,i=e.reference,s=e.element,l=e.placement,c=l?_$4$1(l):null,f=l?U$3$1(l):null,h=i.x+i.width/2-s.width/2,u=i.y+i.height/2-s.height/2;switch(c){case r$1$1:t={x:h,y:i.y-s.height};break;case o:t={x:h,y:i.y+i.height};break;case n$1$1:t={x:i.x+i.width,y:u};break;case a:t={x:i.x-s.width,y:u};break;default:t={x:i.x,y:i.y};}var m=c?P(c):null;if(null!=m){var g="y"===m?"height":"width";switch(f){case p$6$1:t[m]=t[m]-(i[g]/2-s[g]/2);break;case d$3$1:t[m]=t[m]+(i[g]/2-s[g]/2);}}return t}function ne(e,t){ void 0===t&&(t={});var i=t,s=i.placement,a=void 0===s?e.placement:s,l=i.strategy,p=void 0===l?e.strategy:l,d=i.boundary,u=void 0===d?"clippingParents":d,m=i.rootBoundary,g=void 0===m?f$6$1:m,v=i.elementContext,y=void 0===v?h$3$1:v,b=i.altBoundary,x=void 0!==b&&b,S=i.padding,_=void 0===S?0:S,A=I("number"!=typeof _?_:q$3$1(_,c$3$1)),O=y===h$3$1?"reference":h$3$1,k=e.rects.popper,T=e.elements[x?O:y],z=re(w$6$1(T)?T:T.contextElement||H$3$1(e.elements.popper),u,g,p),M=E(e.elements.reference),B=oe({reference:M,element:k,placement:a}),L=ie(Object.assign({},k,B)),R=y===h$3$1?L:M,C={top:z.top-R.top+A.top,bottom:R.bottom-z.bottom+A.bottom,left:z.left-R.left+A.left,right:R.right-z.right+A.right},D=e.modifiersData.offset;if(y===h$3$1&&D){var N=D[a];Object.keys(C).forEach(function(e){var t=[n$1$1,o].indexOf(e)>=0?1:-1,i=[r$1$1,o].indexOf(e)>=0?"y":"x";C[e]+=N[i]*t;});}return C}function ae(e,t){ void 0===t&&(t={});var i=t,s=i.placement,r=i.boundary,o=i.rootBoundary,n=i.padding,a=i.flipVariations,l=i.allowedAutoPlacements,p=void 0===l?m$6$1:l,d=U$3$1(s),f=d?a?u$6$1:u$6$1.filter(function(e){return U$3$1(e)===d}):c$3$1,h=f.filter(function(e){return p.indexOf(e)>=0});0===h.length&&(h=f);var g=h.reduce(function(t,i){return t[i]=ne(e,{placement:i,boundary:r,rootBoundary:o,padding:n})[_$4$1(i)],t},{});return Object.keys(g).sort(function(e,t){return g[e]-g[t]})}var le={name:"flip",enabled:true,phase:"main",fn:function(e){var t=e.state,i=e.options,s=e.name;if(!t.modifiersData[s]._skip){for(var c=i.mainAxis,d=void 0===c||c,f=i.altAxis,h=void 0===f||f,u=i.fallbackPlacements,m=i.padding,g=i.boundary,v=i.rootBoundary,y=i.altBoundary,w=i.flipVariations,b=void 0===w||w,x=i.allowedAutoPlacements,S=t.options.placement,A=_$4$1(S),O=u||(A===S||!b?[G(S)]:function(e){if(_$4$1(e)===l$3$1)return [];var t=G(e);return [Y(e),t,Y(t)]}(S)),k=[S].concat(O).reduce(function(e,i){return e.concat(_$4$1(i)===l$3$1?ae(t,{placement:i,boundary:g,rootBoundary:v,padding:m,flipVariations:b,allowedAutoPlacements:x}):i)},[]),T=t.rects.reference,z=t.rects.popper,E=new Map,M=true,B=k[0],L=0;L<k.length;L++){var R=k[L],H=_$4$1(R),C=U$3$1(R)===p$6$1,D=[r$1$1,o].indexOf(H)>=0,N=D?"width":"height",P=ne(t,{placement:R,boundary:g,rootBoundary:v,altBoundary:y,padding:m}),j=D?C?n$1$1:a:C?o:r$1$1;T[N]>z[N]&&(j=G(j));var I=G(j),q=[];if(d&&q.push(P[H]<=0),h&&q.push(P[j]<=0,P[I]<=0),q.every(function(e){return e})){B=R,M=false;break}E.set(R,q);}if(M)for(var F=function(e){var t=k.find(function(t){var i=E.get(t);if(i)return i.slice(0,e).every(function(e){return e})});if(t)return B=t,"break"},V=b?3:1;V>0;V--){if("break"===F(V))break}t.placement!==B&&(t.modifiersData[s]._skip=true,t.placement=B,t.reset=true);}},requiresIfExists:["offset"],data:{_skip:false}};function ce(e,t,i){return void 0===i&&(i={x:0,y:0}),{top:e.top-t.height-i.y,right:e.right-t.width+i.x,bottom:e.bottom-t.height+i.y,left:e.left-t.width-i.x}}function pe(e){return [r$1$1,n$1$1,o,a].some(function(t){return e[t]>=0})}var de={name:"offset",enabled:true,phase:"main",requires:["popperOffsets"],fn:function(e){var t=e.state,i=e.options,s=e.name,o=i.offset,l=void 0===o?[0,0]:o,c=m$6$1.reduce(function(e,i){return e[i]=function(e,t,i){var s=_$4$1(e),o=[a,r$1$1].indexOf(s)>=0?-1:1,l="function"==typeof i?i(Object.assign({},t,{placement:e})):i,c=l[0],p=l[1];return c=c||0,p=(p||0)*o,[a,n$1$1].indexOf(s)>=0?{x:p,y:c}:{x:c,y:p}}(i,t.rects,l),e},{}),p=c[t.placement],d=p.x,f=p.y;null!=t.modifiersData.popperOffsets&&(t.modifiersData.popperOffsets.x+=d,t.modifiersData.popperOffsets.y+=f),t.modifiersData[s]=c;}};var fe={name:"preventOverflow",enabled:true,phase:"main",fn:function(e){var t=e.state,i=e.options,s=e.name,l=i.mainAxis,c=void 0===l||l,d=i.altAxis,f=void 0!==d&&d,h=i.boundary,u=i.rootBoundary,m=i.altBoundary,g=i.padding,v=i.tether,y=void 0===v||v,w=i.tetherOffset,b=void 0===w?0:w,x=ne(t,{boundary:h,rootBoundary:u,padding:g,altBoundary:m}),S=_$4$1(t.placement),k=U$3$1(t.placement),T=!k,z=P(S),E="x"===z?"y":"x",B=t.modifiersData.popperOffsets,L=t.rects.reference,R=t.rects.popper,H="function"==typeof b?b(Object.assign({},t.rects,{placement:t.placement})):b,C="number"==typeof H?{mainAxis:H,altAxis:H}:Object.assign({mainAxis:0,altAxis:0},H),D=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,I={x:0,y:0};if(B){if(c){var q,F="y"===z?r$1$1:a,V="y"===z?o:n$1$1,W="y"===z?"height":"width",X=B[z],$=X+x[F],G=X-x[V],K=y?-R[W]/2:0,Y=k===p$6$1?L[W]:R[W],J=k===p$6$1?-R[W]:-L[W],Q=t.elements.arrow,Z=y&&Q?M$6$1(Q):{width:0,height:0},ee=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},te=ee[F],ie=ee[V],se=j(0,L[W],Z[W]),re=T?L[W]/2-K-se-te-C.mainAxis:Y-se-te-C.mainAxis,oe=T?-L[W]/2+K+se+ie+C.mainAxis:J+se+ie+C.mainAxis,ae=t.elements.arrow&&N$3$1(t.elements.arrow),le=ae?"y"===z?ae.clientTop||0:ae.clientLeft||0:0,ce=null!=(q=null==D?void 0:D[z])?q:0,pe=X+oe-ce,de=j(y?O($,X+re-ce-le):$,X,y?A$3$1(G,pe):G);B[z]=de,I[z]=de-X;}if(f){var fe,he="x"===z?r$1$1:a,ue="x"===z?o:n$1$1,me=B[E],ge="y"===E?"height":"width",ve=me+x[he],ye=me-x[ue],we=-1!==[r$1$1,a].indexOf(S),be=null!=(fe=null==D?void 0:D[E])?fe:0,xe=we?ve:me-L[ge]-R[ge]-be+C.altAxis,Se=we?me+L[ge]+R[ge]-be-C.altAxis:ye,_e=y&&we?function(e,t,i){var s=j(e,t,i);return s>i?i:s}(xe,me,Se):j(y?xe:ve,me,y?Se:ye);B[E]=_e,I[E]=_e-me;}t.modifiersData[s]=I;}},requiresIfExists:["offset"]};function he(e,t,i){ void 0===i&&(i=false);var s,r,o=b$3$1(t),n=b$3$1(t)&&function(e){var t=e.getBoundingClientRect(),i=k$6$1(t.width)/e.offsetWidth||1,s=k$6$1(t.height)/e.offsetHeight||1;return 1!==i||1!==s}(t),a=H$3$1(t),l=E(e,n,i),c={scrollLeft:0,scrollTop:0},p={x:0,y:0};return (o||!o&&!i)&&(("body"!==v$3$1(t)||Z(a))&&(c=(s=t)!==y$6$1(s)&&b$3$1(s)?{scrollLeft:(r=s).scrollLeft,scrollTop:r.scrollTop}:J(s)),b$3$1(t)?((p=E(t,true)).x+=t.clientLeft,p.y+=t.clientTop):a&&(p.x=Q(a))),{x:l.left+c.scrollLeft-p.x,y:l.top+c.scrollTop-p.y,width:l.width,height:l.height}}function ue(e){var t=new Map,i=new Set,s=[];function r(e){i.add(e.name),[].concat(e.requires||[],e.requiresIfExists||[]).forEach(function(e){if(!i.has(e)){var s=t.get(e);s&&r(s);}}),s.push(e);}return e.forEach(function(e){t.set(e.name,e);}),e.forEach(function(e){i.has(e.name)||r(e);}),s}var me={placement:"bottom",modifiers:[],strategy:"absolute"};function ge(){for(var e=arguments.length,t=new Array(e),i=0;i<e;i++)t[i]=arguments[i];return !t.some(function(e){return !(e&&"function"==typeof e.getBoundingClientRect)})}function ve(e){ void 0===e&&(e={});var t=e,i=t.defaultModifiers,s=void 0===i?[]:i,r=t.defaultOptions,o=void 0===r?me:r;return function(e,t,i){ void 0===i&&(i=o);var r,n,a={placement:"bottom",orderedModifiers:[],options:Object.assign({},me,o),modifiersData:{},elements:{reference:e,popper:t},attributes:{},styles:{}},l=[],c=false,p={state:a,setOptions:function(i){var r="function"==typeof i?i(a.options):i;d(),a.options=Object.assign({},o,a.options,r),a.scrollParents={reference:w$6$1(e)?te(e):e.contextElement?te(e.contextElement):[],popper:te(t)};var n,c,f=function(e){var t=ue(e);return g$6$1.reduce(function(e,i){return e.concat(t.filter(function(e){return e.phase===i}))},[])}((n=[].concat(s,a.options.modifiers),c=n.reduce(function(e,t){var i=e[t.name];return e[t.name]=i?Object.assign({},i,t,{options:Object.assign({},i.options,t.options),data:Object.assign({},i.data,t.data)}):t,e},{}),Object.keys(c).map(function(e){return c[e]})));return a.orderedModifiers=f.filter(function(e){return e.enabled}),a.orderedModifiers.forEach(function(e){var t=e.name,i=e.options,s=void 0===i?{}:i,r=e.effect;if("function"==typeof r){var o=r({state:a,name:t,instance:p,options:s}),n=function(){};l.push(o||n);}}),p.update()},forceUpdate:function(){if(!c){var e=a.elements,t=e.reference,i=e.popper;if(ge(t,i)){a.rects={reference:he(t,N$3$1(i),"fixed"===a.options.strategy),popper:M$6$1(i)},a.reset=false,a.placement=a.options.placement,a.orderedModifiers.forEach(function(e){return a.modifiersData[e.name]=Object.assign({},e.data)});for(var s=0;s<a.orderedModifiers.length;s++)if(true!==a.reset){var r=a.orderedModifiers[s],o=r.fn,n=r.options,l=void 0===n?{}:n,d=r.name;"function"==typeof o&&(a=o({state:a,options:l,name:d,instance:p})||a);}else a.reset=false,s=-1;}}},update:(r=function(){return new Promise(function(e){p.forceUpdate(),e(a);})},function(){return n||(n=new Promise(function(e){Promise.resolve().then(function(){n=void 0,e(r());});})),n}),destroy:function(){d(),c=true;}};if(!ge(e,t))return p;function d(){l.forEach(function(e){return e()}),l=[];}return p.setOptions(i).then(function(e){!c&&i.onFirstUpdate&&i.onFirstUpdate(e);}),p}}var ye=ve({defaultModifiers:[{name:"eventListeners",enabled:true,phase:"write",fn:function(){},effect:function(e){var t=e.state,i=e.instance,s=e.options,r=s.scroll,o=void 0===r||r,n=s.resize,a=void 0===n||n,l=y$6$1(t.elements.popper),c=[].concat(t.scrollParents.reference,t.scrollParents.popper);return o&&c.forEach(function(e){e.addEventListener("scroll",i.update,X);}),a&&l.addEventListener("resize",i.update,X),function(){o&&c.forEach(function(e){e.removeEventListener("scroll",i.update,X);}),a&&l.removeEventListener("resize",i.update,X);}},data:{}},{name:"popperOffsets",enabled:true,phase:"read",fn:function(e){var t=e.state,i=e.name;t.modifiersData[i]=oe({reference:t.rects.reference,element:t.rects.popper,placement:t.placement});},data:{}},{name:"computeStyles",enabled:true,phase:"beforeWrite",fn:function(e){var t=e.state,i=e.options,s=i.gpuAcceleration,r=void 0===s||s,o=i.adaptive,n=void 0===o||o,a=i.roundOffsets,l=void 0===a||a,c={placement:_$4$1(t.placement),variation:U$3$1(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:r,isFixed:"fixed"===t.options.strategy};null!=t.modifiersData.popperOffsets&&(t.styles.popper=Object.assign({},t.styles.popper,W(Object.assign({},c,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:n,roundOffsets:l})))),null!=t.modifiersData.arrow&&(t.styles.arrow=Object.assign({},t.styles.arrow,W(Object.assign({},c,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:false,roundOffsets:l})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement});},data:{}},S$3$1,de,le,fe,F,{name:"hide",enabled:true,phase:"main",requiresIfExists:["preventOverflow"],fn:function(e){var t=e.state,i=e.name,s=t.rects.reference,r=t.rects.popper,o=t.modifiersData.preventOverflow,n=ne(t,{elementContext:"reference"}),a=ne(t,{altBoundary:true}),l=ce(n,s),c=ce(a,r,o),p=pe(l),d=pe(c);t.modifiersData[i]={referenceClippingOffsets:l,popperEscapeOffsets:c,isReferenceHidden:p,hasPopperEscaped:d},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":p,"data-popper-escaped":d});}}]});class we{constructor(e,t,i,s){this.anchor=e,this.popover=t,this.boundaryElement=this.setBoundary(s),this.options={placement:i,visibleClass:"data-show"},this.popover.classList.remove(this.options.visibleClass);}setBoundary(e){return "string"==typeof e?document.querySelector(e)||document.body:e||document.body}show(){this.popper&&this.popper.destroy(),this.popper=ye(this.anchor,this.popover,{tooltip:this.anchor,placement:this.options.placement,modifiers:[{name:"offset",options:{offset:[0,18]}},{name:"preventOverflow",options:{mainAxis:true,boundary:this.boundaryElement,rootBoundary:"document",padding:16}}]});}triggerUpdate(){this.popper.update();}hide(){this.popover.classList.remove(this.options.visibleClass);}}var be=i$7`::slotted(*):not([onDark]),::slotted(*):not([appearance=inverse]){color:var(--ds-auro-popover-text-color)}.popover{background-color:var(--ds-auro-popover-container-color);box-shadow:var(--ds-auro-popover-boxshadow-color)}.arrow:before{background-color:var(--ds-auro-popover-container-color);box-shadow:2px 2px 1px 0 var(--ds-auro-popover-boxshadow-color)}
16034
16033
  `,xe=i$7`.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}.util_displayInline{display:inline}.util_displayInlineBlock{display:inline-block}.util_displayBlock{display:block}.util_displayFlex{display:flex}.util_displayHidden,:host(:not([data-show])) .popover,:host([disabled]) .popover,:host([addSpace]) :host(:not([data-show])) .popover{display:none}.util_displayHiddenVisually{position:absolute;overflow:hidden;clip:rect(1px,1px,1px,1px);width:1px;height:1px;padding:0;border:0}.util_insetNone{padding:0}.util_insetXxxs{padding:.125rem}.util_insetXxxs--stretch{padding:.25rem .125rem}.util_insetXxxs--squish{padding:0 .125rem}.util_insetXxs{padding:.25rem}.util_insetXxs--stretch{padding:.375rem .25rem}.util_insetXxs--squish{padding:.125rem .25rem}.util_insetXs{padding:.5rem}.util_insetXs--stretch{padding:.75rem .5rem}.util_insetXs--squish{padding:.25rem .5rem}.util_insetSm{padding:.75rem}.util_insetSm--stretch{padding:1.125rem .75rem}.util_insetSm--squish{padding:.375rem .75rem}.util_insetMd{padding:1rem}.util_insetMd--stretch{padding:1.5rem 1rem}.util_insetMd--squish{padding:.5rem 1rem}.util_insetLg{padding:1.5rem}.util_insetLg--stretch{padding:2.25rem 1.5rem}.util_insetLg--squish{padding:.75rem 1.5rem}.util_insetXl{padding:2rem}.util_insetXl--stretch{padding:3rem 2rem}.util_insetXl--squish{padding:1rem 2rem}.util_insetXxl{padding:3rem}.util_insetXxl--stretch{padding:4.5rem 3rem}.util_insetXxl--squish{padding:1.5rem 3rem}.util_insetXxxl{padding:4rem}.util_insetXxxl--stretch{padding:6rem 4rem}.util_insetXxxl--squish{padding:2rem 4rem}::slotted(*){white-space:normal}::slotted(*:hover){cursor:pointer}[data-trigger-placement]::slotted(*:hover){position:relative}[data-trigger-placement]::slotted(*:hover):before{position:absolute;left:0;display:block;width:100%;height:calc(var(--ds-size-200, 1rem) + var(--ds-size-50, .25rem));content:""}[data-trigger-placement^=top]::slotted(*:hover):before{top:calc(-1 * (var(--ds-size-200, 1rem) + var(--ds-size-50, .25rem)))}[data-trigger-placement^=bottom]::slotted(*:hover):before{bottom:calc(-1 * (var(--ds-size-200, 1rem) + var(--ds-size-50, .25rem)))}:host([data-show]) .popover{z-index:var(--ds-depth-tooltip, 400)}:host([removeSpace]) .popover{margin:calc(-1 * (var(--ds-size-50, .25rem) + 1px)) 0!important}:host([addSpace]) .popover{margin:var(--ds-size-200, 1rem) 0!important}:host([addSpace]) [data-trigger-placement]::slotted(*:hover):before{height:var(--ds-size-500, 2.5rem)}:host([addSpace]) [data-trigger-placement^=top]::slotted(*:hover):before{top:calc(-1 * var(--ds-size-500, 2.5rem))}:host([addSpace]) [data-trigger-placement^=bottom]::slotted(*:hover):before{bottom:calc(-1 * var(--ds-size-500, 2.5rem))}.popover{display:inline-block;max-width:calc(100% - var(--ds-size-400, 2rem));border-radius:var(--ds-border-radius, .375rem)}@media screen and (min-width:576px){.popover{max-width:50%}}@media screen and (min-width:768px){.popover{max-width:40%}}@media screen and (min-width:1024px){.popover{max-width:27rem}}[data-popper-placement^=top]>.arrow{bottom:calc(-1 * (var(--ds-size-100, .5rem) + var(--ds-size-25, .125rem)))}[data-popper-placement^=top]>.arrow:before{top:calc(-1 * var(--ds-size-200, 1rem));left:calc(-1 * var(--ds-size-75, .375rem));transform:rotate(45deg)}[data-popper-placement^=bottom]>.arrow{top:calc(-1 * (var(--ds-size-100, .5rem) + var(--ds-size-25, .125rem)))}[data-popper-placement^=bottom]>.arrow:before{top:var(--ds-size-50, .25rem);right:calc(-1 * var(--ds-size-200, 1rem));transform:rotate(-135deg)}.arrow{position:relative;margin-top:-var(--ds-size-100,.5rem)}.arrow:before{position:absolute;width:var(--ds-size-150, .75rem);height:var(--ds-size-150, .75rem);content:""}
16035
16034
  `,Se=i$7`:host{--ds-auro-popover-boxshadow-color: var(--ds-elevation-200, 0px 0px 10px rgba(0, 0, 0, .15));--ds-auro-popover-container-color: var(--ds-basic-color-surface-default, #ffffff);--ds-auro-popover-text-color: var(--ds-basic-color-texticon-default, #2a2a2a)}
16036
- `;class _e extends i$4{constructor(){super(),this.placement="top",this._onTouchStart=null,this._onTriggerMouseEnter=null,this._onTriggerMouseLeave=null,this._onTriggerFocus=null,this._onTriggerBlur=null,this._onTriggerKeydown=null,this._onHidePopover=null,this._onBodyMouseover=null,this._onSlotChange=null,this._addedTabIndex=false;}_initializeDefaults(){this.isPopoverVisible=false,this.runtimeUtils=new s$3;}static get properties(){return {addSpace:{type:Boolean,reflect:true},boundary:{type:String},disabled:{type:Boolean,reflect:true},for:{type:String,reflect:true},placement:{type:String},removeSpace:{type:Boolean,reflect:true}}}static get styles(){return [i$7`${xe}`,i$7`${be}`,i$7`${Se}`]}static register(e="auro-popover"){s$3.prototype.registerComponent(e,_e);}connectedCallback(){super.connectedCallback(),this._initializeDefaults(),this._onTouchStart||(this._onTouchStart=()=>{this.toggle();}),this.addEventListener("touchstart",this._onTouchStart);}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("touchstart",this._onTouchStart),this.trigger&&(this._onTriggerMouseEnter&&this._eventTarget.removeEventListener("mouseenter",this._onTriggerMouseEnter),this._onTriggerMouseLeave&&this._eventTarget.removeEventListener("mouseleave",this._onTriggerMouseLeave),this._onTriggerFocus&&this.trigger.removeEventListener("focus",this._onTriggerFocus),this._onTriggerBlur&&this.trigger.removeEventListener("blur",this._onTriggerBlur),this._onTriggerKeydown&&this.trigger.removeEventListener("keydown",this._onTriggerKeydown),this._onSlotChange&&this.shadowRoot?.querySelector("slot:not([name])")?.removeEventListener("slotchange",this._onSlotChange),this.trigger.removeAttribute("aria-description"),this._addedTabIndex&&"0"===this.trigger.getAttribute("tabindex")&&this.trigger.removeAttribute("tabindex")),this._onHidePopover&&this.removeEventListener("hidePopover",this._onHidePopover),this._onBodyMouseover&&document.body.removeEventListener("mouseover",this._onBodyMouseover),this.popper?.popper&&"function"==typeof this.popper.popper.destroy&&(this.popper.popper.destroy(),this.popper.popper=null);}firstUpdated(){if(this.runtimeUtils.handleComponentTagRename(this,"auro-popover"),this.for&&(this.trigger=document.querySelector(`#${this.for}`)||this.getRootNode().querySelector(`#${this.for}`)),this.trigger||([this.trigger]=this.shadowRoot.querySelector('slot[name="trigger"]').assignedElements()),!this.trigger)return;const e=this.trigger.tabIndex>=0,t=!!this.trigger.shadowRoot&&Boolean(this.trigger.shadowRoot.querySelector('button:not([disabled]), a[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])'));e||t||this.trigger.hasAttribute("tabindex")||(this.trigger.setAttribute("tabindex","0"),this._addedTabIndex=true);const i=this.shadowRoot.querySelector("slot:not([name])"),s=()=>i.assignedNodes({flatten:true}).map(e=>e.textContent??"").join(" ").replace(/\s+/g," ").trim();this.trigger.setAttribute("aria-description",s()),this._onSlotChange=()=>{this.trigger?.setAttribute("aria-description",s());},i.addEventListener("slotchange",this._onSlotChange),this.auroPopover=this.shadowRoot.querySelector("#popover"),this.popper=new we(this.trigger,this.auroPopover,this.placement,this.boundary),this._onBodyMouseover=e=>this.handleMouseoverEvent(e),this._onTriggerMouseEnter=()=>{this.toggleShow();},this._onTriggerMouseLeave=()=>{this.toggleHide();},this._onTriggerFocus=()=>{this.toggleShow();},this._onTriggerBlur=()=>{this.toggleHide();},this._onTriggerKeydown=e=>{const t=e.key.toLowerCase();this.isPopoverVisible&&("tab"!==t&&"escape"!==t||this.toggleHide())," "!==t&&"enter"!==t||(" "===t&&this._addedTabIndex&&e.preventDefault(),this.toggle());},this._onHidePopover=()=>{this.toggleHide();},this._eventTarget=this.trigger.parentElement.localName===this.localName?this:this.trigger,this._eventTarget.addEventListener("mouseenter",this._onTriggerMouseEnter),this._eventTarget.addEventListener("mouseleave",this._onTriggerMouseLeave),this.trigger.addEventListener("keydown",this._onTriggerKeydown),this.trigger.addEventListener("focus",this._onTriggerFocus),this.trigger.addEventListener("blur",this._onTriggerBlur),this.addEventListener("hidePopover",this._onHidePopover);}toggle(){this.popper&&(this.isPopoverVisible?this.toggleHide():this.toggleShow());}toggleHide(){this.isPopoverVisible=false,this.removeAttribute("data-show"),this._onBodyMouseover&&document.body.removeEventListener("mouseover",this._onBodyMouseover),this.popper&&this.popper.hide();}toggleShow(){this.popper&&(this.popper.show(),this.isPopoverVisible=true,this.setAttribute("data-show","true"),document.body.addEventListener("mouseover",this._onBodyMouseover));}handleMouseoverEvent(e){this.isPopoverVisible&&!e.composedPath().includes(this)&&this.toggleHide();}updated(e){e.has("boundary")&&this.popper&&(this.popper.boundaryElement=this.popper.setBoundary(this.boundary));}render(){return b$7`
16037
- <div id="popover" class="popover util_insetLg body-default" part="popover">
16035
+ `;class _e extends i$4{constructor(){super(),this.placement="top",this.isPopoverVisible=false,this._onTouchStart=null,this._onTriggerMouseEnter=null,this._onTriggerMouseLeave=null,this._onTriggerFocus=null,this._onTriggerBlur=null,this._onTriggerKeydown=null,this._onHidePopover=null,this._onBodyMouseover=null,this._onSlotChange=null,this._addedTabIndex=false;}_initializeDefaults(){this.runtimeUtils=new s$3;}static get properties(){return {addSpace:{type:Boolean,reflect:true},boundary:{type:String},disabled:{type:Boolean,reflect:true},for:{type:String,reflect:true},placement:{type:String},removeSpace:{type:Boolean,reflect:true},isPopoverVisible:{type:Boolean,reflect:true,attribute:"data-show",converter:{fromAttribute:e=>null!==e,toAttribute:e=>e?"true":null}}}}static get styles(){return [i$7`${xe}`,i$7`${be}`,i$7`${Se}`]}static register(e="auro-popover"){s$3.prototype.registerComponent(e,_e);}connectedCallback(){super.connectedCallback(),this.hasAttribute("role")||this.setAttribute("role","none"),this._initializeDefaults(),this._onTouchStart||(this._onTouchStart=()=>{this.toggle();}),this.addEventListener("touchstart",this._onTouchStart);}disconnectedCallback(){if(super.disconnectedCallback(),this.removeEventListener("touchstart",this._onTouchStart),this.trigger){this._onTriggerMouseEnter&&this._eventTarget.removeEventListener("mouseenter",this._onTriggerMouseEnter),this._onTriggerMouseLeave&&this._eventTarget.removeEventListener("mouseleave",this._onTriggerMouseLeave),this._onTriggerFocus&&this.trigger.removeEventListener("focusin",this._onTriggerFocus),this._onTriggerBlur&&this.trigger.removeEventListener("focusout",this._onTriggerBlur),this._onTriggerKeydown&&this.trigger.removeEventListener("keydown",this._onTriggerKeydown),this._onSlotChange&&this.shadowRoot?.querySelector("slot:not([name])")?.removeEventListener("slotchange",this._onSlotChange);for(const e of this._ariaDescriptionTargets||[this.trigger])e.removeAttribute("aria-description");this._addedTabIndex&&"0"===this.trigger.getAttribute("tabindex")&&this.trigger.removeAttribute("tabindex");}this._onHidePopover&&this.removeEventListener("hidePopover",this._onHidePopover),this._onBodyMouseover&&document.body.removeEventListener("mouseover",this._onBodyMouseover),this.popper?.popper&&"function"==typeof this.popper.popper.destroy&&(this.popper.popper.destroy(),this.popper.popper=null);}firstUpdated(){this.runtimeUtils.handleComponentTagRename(this,"auro-popover"),this.for&&(this.trigger=document.querySelector(`#${this.for}`)||this.getRootNode().querySelector(`#${this.for}`)),this.trigger||([this.trigger]=this.shadowRoot.querySelector('slot[name="trigger"]').assignedElements()),this.trigger&&(this._setupAccessibility(),this._setupEventListeners(),this.isPopoverVisible&&this.popper&&(this.disabled?this.isPopoverVisible=false:(this.popper.show(),document.body.addEventListener("mouseover",this._onBodyMouseover))));}_setupEventListeners(){this.auroPopover=this.shadowRoot.querySelector("#popover"),this.popper=new we(this.trigger,this.auroPopover,this.placement,this.boundary),this._onBodyMouseover=e=>this.handleMouseoverEvent(e),this._onTriggerMouseEnter=()=>{this.toggleShow();},this._onTriggerMouseLeave=()=>{this.toggleHide();},this._onTriggerFocus=()=>{this.toggleShow();},this._onTriggerBlur=e=>{let t=e.relatedTarget,i=false;for(;t;){if(this.trigger.contains(t)||this.contains(t)){i=true;break}const e=t.getRootNode();t=e instanceof ShadowRoot?e.host:null;}i||this.toggleHide();},this._onTriggerKeydown=e=>{const t=e.key.toLowerCase();if(this.isPopoverVisible&&("tab"!==t&&"escape"!==t||this.toggleHide())," "===t||"enter"===t){if(e.target!==this.trigger&&!this._addedTabIndex)return;" "===t&&this._addedTabIndex&&e.preventDefault(),this.toggle();}},this._onHidePopover=()=>{this.toggleHide();},this._eventTarget=this.trigger.parentElement.localName===this.localName?this:this.trigger,this._eventTarget.addEventListener("mouseenter",this._onTriggerMouseEnter),this._eventTarget.addEventListener("mouseleave",this._onTriggerMouseLeave),this.trigger.addEventListener("keydown",this._onTriggerKeydown),this.trigger.addEventListener("focusin",this._onTriggerFocus),this.trigger.addEventListener("focusout",this._onTriggerBlur),this.addEventListener("hidePopover",this._onHidePopover);}_setupAccessibility(){const e=this.trigger.tabIndex>=0,t='button:not([disabled]), a[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex^="-"]), [contenteditable]:not([contenteditable="false"]), summary, iframe, audio[controls], video[controls]',i=e=>{if(e.tabIndex<0)return false;let t=e;for(;t;){if(t.closest("[hidden], [inert]"))return false;const e=t.getRootNode();t=e instanceof ShadowRoot?e.host:null;}return true};let s=[...this.trigger.querySelectorAll(t)].some(i);if(!s){const e=this.trigger.querySelectorAll("*");for(const r of e)if(r.localName.includes("-")&&(r.tabIndex>=0||r.shadowRoot&&[...r.shadowRoot.querySelectorAll(t)].some(i))){s=true;break}}!s&&this.trigger.localName.includes("-")&&this.trigger.shadowRoot&&(s=[...this.trigger.shadowRoot.querySelectorAll(t)].some(i)),e||s||this.trigger.hasAttribute("tabindex")||(this.trigger.setAttribute("tabindex","0"),this._addedTabIndex=true);const r=this.shadowRoot.querySelector("slot:not([name])"),o=()=>r.assignedNodes({flatten:true}).map(e=>e.textContent??"").join(" ").replace(/\s+/g," ").trim();if(this._ariaDescriptionTargets=[],!e&&s){const e=[...this.trigger.querySelectorAll(t)].filter(i);this._ariaDescriptionTargets.push(...e);const s=this.trigger.querySelectorAll("*");for(const r of s)if(r.localName.includes("-")&&!e.includes(r))if(r.tabIndex>=0)this._ariaDescriptionTargets.push(r);else if(r.shadowRoot){const e=[...r.shadowRoot.querySelectorAll(t)].filter(i);for(const t of e)this._ariaDescriptionTargets.push(t);}if(0===this._ariaDescriptionTargets.length){if(this.trigger.localName.includes("-")&&this.trigger.shadowRoot){const e=[...this.trigger.shadowRoot.querySelectorAll(t)].filter(i);this._ariaDescriptionTargets.push(...e);}0===this._ariaDescriptionTargets.length&&this._ariaDescriptionTargets.push(this.trigger);}}else this._ariaDescriptionTargets.push(this.trigger);const n=o();for(const e of this._ariaDescriptionTargets)e.setAttribute("aria-description",n);this._onSlotChange=()=>{const e=o();for(const t of this._ariaDescriptionTargets)t?.setAttribute("aria-description",e);},r.addEventListener("slotchange",this._onSlotChange);}toggle(){this.popper&&(this.isPopoverVisible?this.toggleHide():this.toggleShow());}toggleHide(){this.isPopoverVisible=false;}toggleShow(){this.popper&&!this.disabled&&(this.isPopoverVisible=true);}handleMouseoverEvent(e){this.isPopoverVisible&&!e.composedPath().includes(this)&&this.toggleHide();}updated(e){if(e.has("boundary")&&this.popper&&(this.popper.boundaryElement=this.popper.setBoundary(this.boundary)),e.has("isPopoverVisible")&&this.popper)if(this.isPopoverVisible){if(this.disabled)return void(this.isPopoverVisible=false);this.popper.show(),document.body.addEventListener("mouseover",this._onBodyMouseover);}else this._onBodyMouseover&&document.body.removeEventListener("mouseover",this._onBodyMouseover),this.popper.hide();e.has("disabled")&&this.disabled&&this.isPopoverVisible&&(this.isPopoverVisible=false);}render(){return b$7`
16036
+ <div
16037
+ id="popover"
16038
+ class="popover util_insetLg body-default"
16039
+ part="popover"
16040
+ role="tooltip"
16041
+ aria-hidden="${this.isPopoverVisible?"false":"true"}">
16038
16042
  <div id="arrow" class="arrow" data-popper-arrow></div>
16039
- <span role="tooltip"><slot></slot></span>
16043
+ <slot></slot>
16040
16044
  </div>
16041
16045
 
16042
- <span>
16046
+ <span role="presentation">
16043
16047
  <slot name="trigger" data-trigger-placement="${this.placement}"></slot>
16044
16048
  </span>
16045
16049
  `}}
@@ -16054,7 +16058,6 @@ class AuroCalendarCell extends i$4 {
16054
16058
 
16055
16059
  this.day = null;
16056
16060
  this.selected = false;
16057
- this.hovered = false;
16058
16061
  this.dateTo = null;
16059
16062
  this.dateFrom = null;
16060
16063
  this.month = null;
@@ -16062,11 +16065,12 @@ class AuroCalendarCell extends i$4 {
16062
16065
  this.max = null;
16063
16066
  this.disabled = false;
16064
16067
  this.disabledDays = [];
16065
- this.hoveredDate = null;
16066
16068
  this.isCurrentDate = false;
16067
16069
  this._locale = null;
16068
16070
  this.dateStr = null;
16069
16071
  this.renderForDateSlot = false; // When false, the numerical date will render vertically centered. When true, the date will render off-center to the top and leave room below for the slot content.
16072
+ this.active = false;
16073
+ this.hasPopoverContent = false;
16070
16074
 
16071
16075
  this.runtimeUtils = new AuroLibraryRuntimeUtils$5$1();
16072
16076
 
@@ -16085,7 +16089,6 @@ class AuroCalendarCell extends i$4 {
16085
16089
  // ...super.properties,
16086
16090
  day: { type: Object },
16087
16091
  selected: { type: Boolean },
16088
- hovered: { type: Boolean },
16089
16092
  dateTo: { type: String },
16090
16093
  dateFrom: { type: String },
16091
16094
  month: { type: String },
@@ -16096,11 +16099,11 @@ class AuroCalendarCell extends i$4 {
16096
16099
  reflect: true
16097
16100
  },
16098
16101
  disabledDays: { type: Array },
16099
- hoveredDate: { type: String },
16100
16102
  isCurrentDate: { type: Boolean },
16101
16103
  locale: { type: Object },
16102
16104
  dateStr: { type: String },
16103
- renderForDateSlot: { type: Boolean }
16105
+ renderForDateSlot: { type: Boolean },
16106
+ hasPopoverContent: { type: Boolean }
16104
16107
  };
16105
16108
  }
16106
16109
 
@@ -16124,17 +16127,17 @@ class AuroCalendarCell extends i$4 {
16124
16127
  }
16125
16128
 
16126
16129
  /**
16127
- * Handles selected and hovered states of the calendar cell when the date changes.
16130
+ * Handles selected state of the calendar cell when the selection changes.
16131
+ * Also clears any imperative range preview classes so classMap is the
16132
+ * sole source of truth after a selection update.
16128
16133
  * @private
16129
16134
  * @param {Number} dateFrom - Depart date.
16130
16135
  * @param {Number} dateTo - Return date.
16131
- * @param {Number} hoveredDate - Hovered date.
16132
16136
  * @param {Object} day - An object containing the dateFrom and day of month values.
16133
16137
  * @returns {void}
16134
16138
  */
16135
- dateChanged(dateFrom, dateTo, hoveredDate, day) {
16139
+ dateChanged(dateFrom, dateTo, day) {
16136
16140
  this.selected = false;
16137
- this.hovered = false;
16138
16141
 
16139
16142
  const parsedDateFrom = parseInt(dateFrom, 10);
16140
16143
  const parsedDateTo = parseInt(dateTo, 10);
@@ -16146,10 +16149,6 @@ class AuroCalendarCell extends i$4 {
16146
16149
  if (day.date === departTimestamp || day.date === returnTimestamp) {
16147
16150
  this.selected = true;
16148
16151
  }
16149
-
16150
- if (((hoveredDate === day.date || day.date < hoveredDate) && day.date > parsedDateFrom && !parsedDateTo && !Number.isNaN(parsedDateFrom) && parsedDateFrom !== undefined && !this.selected) || (day.date > parsedDateFrom && day.date < parsedDateTo)) {
16151
- this.hovered = true;
16152
- }
16153
16152
  }
16154
16153
  }
16155
16154
 
@@ -16159,27 +16158,105 @@ class AuroCalendarCell extends i$4 {
16159
16158
  * @returns {void}
16160
16159
  */
16161
16160
  handleTap() {
16162
- if (!this.disabled) {
16161
+ if (!this.disabled && !this.isBlackout()) {
16163
16162
  this.datepicker.handleCellClick(this.day.date);
16164
16163
  }
16164
+
16165
+ // Set this cell as the active cell regardless of blackout status
16166
+ if (this.day) {
16167
+ this.dispatchEvent(new CustomEvent('calendar-cell-activate', {
16168
+ bubbles: true,
16169
+ composed: true,
16170
+ detail: { date: this.day.date }
16171
+ }));
16172
+ }
16165
16173
  }
16166
16174
 
16167
16175
  /**
16168
16176
  * Handles user hover events and dispatches a custom event.
16177
+ * Does NOT set any reactive properties — the range preview is handled
16178
+ * imperatively by the calendar component to avoid O(N) re-renders.
16169
16179
  * @private
16170
16180
  * @returns {void}
16171
16181
  */
16172
16182
  handleHover() {
16173
- this.hovered = true;
16174
-
16175
- let _a;
16176
16183
  this.dispatchEvent(new CustomEvent('date-is-hovered', {
16177
- detail: { date: (_a = this.day) === null || _a === void 0 ? void 0 : _a.date },
16184
+ detail: { date: this.day?.date },
16185
+ }));
16186
+ }
16187
+
16188
+ /**
16189
+ * Handles focus events on the cell button.
16190
+ * Dispatches a lightweight event for the calendar to handle SR
16191
+ * announcements and range preview updates without triggering
16192
+ * any Lit lifecycle updates.
16193
+ * @private
16194
+ * @returns {void}
16195
+ */
16196
+ handleFocus() {
16197
+ this.dispatchEvent(new CustomEvent('calendar-cell-focused', {
16198
+ bubbles: true,
16199
+ composed: true,
16200
+ detail: { date: this.day?.date },
16178
16201
  }));
16179
16202
  }
16180
16203
 
16181
16204
  /**
16182
- * Checks if the current date is a valid date depending on the min and max values.
16205
+ * Checks if the current date is outside the valid min/max range.
16206
+ * Out-of-range cells are not focusable and are hidden from screen readers.
16207
+ * @private
16208
+ * @param {Object} day - An object containing the dateFrom and day of month values.
16209
+ * @param {Number} min - The minimum date value.
16210
+ * @param {Number} max - The maximum date value.
16211
+ * @returns {Boolean} - True if the date is out of range.
16212
+ */
16213
+ isOutOfRange(day, min, max) {
16214
+ if (day && day.date != null) {
16215
+ return day.date < min || day.date > max;
16216
+ }
16217
+ return false;
16218
+ }
16219
+
16220
+ /**
16221
+ * Checks if the current date is a blackout date (in disabledDays but within range).
16222
+ * Blackout cells are focusable but not selectable.
16223
+ * @private
16224
+ * @returns {Boolean} - True if the date is a blackout date.
16225
+ */
16226
+ isBlackout() {
16227
+ if (!this.day || this.day.date == null || this.isOutOfRange(this.day, this.min, this.max)) {
16228
+ return false;
16229
+ }
16230
+
16231
+ // Check against disabledDays timestamps (legacy path)
16232
+ if (Array.isArray(this.disabledDays) && this.disabledDays.length > 0) {
16233
+ if (this.disabledDays.findIndex(d => parseInt(d, 10) === this.day.date) !== -1) {
16234
+ return true;
16235
+ }
16236
+ }
16237
+
16238
+ // Check against blackoutDates (ISO format YYYY-MM-DD) on the datepicker
16239
+ const blackoutDates = this.datepicker?.blackoutDates;
16240
+
16241
+ if (Array.isArray(blackoutDates) && blackoutDates.length > 0) {
16242
+ const date = new Date(this.day.date * 1000);
16243
+ const yyyy = date.getFullYear();
16244
+ const mm = String(date.getMonth() + 1).padStart(2, '0');
16245
+ const dd = String(date.getDate()).padStart(2, '0');
16246
+ const cellDate = `${yyyy}-${mm}-${dd}`;
16247
+ if (blackoutDates.includes(cellDate)) {
16248
+ return true;
16249
+ }
16250
+ }
16251
+
16252
+ return false;
16253
+ }
16254
+
16255
+ /**
16256
+ * Checks if the current date is disabled based on min/max range or the
16257
+ * legacy disabledDays timestamp list. Sets the `disabled` attribute on the
16258
+ * host when the date falls outside the allowed range or appears in
16259
+ * disabledDays. Note: blackout dates are handled separately by `isBlackout()`.
16183
16260
  * @private
16184
16261
  * @param {Object} day - An object containing the dateFrom and day of month values.
16185
16262
  * @param {Number} min - The minimum date value.
@@ -16199,6 +16276,105 @@ class AuroCalendarCell extends i$4 {
16199
16276
  return false;
16200
16277
  }
16201
16278
 
16279
+ /**
16280
+ * Generates a unique cell ID in the format cell-YYYY-MM-DD.
16281
+ * @private
16282
+ * @returns {String} The unique cell ID.
16283
+ */
16284
+ getCellId() {
16285
+ if (!this.day || !this.day.date) return '';
16286
+ const date = new Date(this.day.date * 1000);
16287
+ const year = date.getFullYear();
16288
+ const month = String(date.getMonth() + 1).padStart(2, '0');
16289
+ const day = String(date.getDate()).padStart(2, '0');
16290
+ return `cell-${year}-${month}-${day}`;
16291
+ }
16292
+
16293
+ /**
16294
+ * Generates a localized aria-label for the cell button using Intl.DateTimeFormat.
16295
+ * Includes range position and blackout status.
16296
+ * @private
16297
+ * @returns {String} The aria-label string.
16298
+ */
16299
+ getAriaLabel() {
16300
+ if (!this.day || this.day.date === undefined) return '';
16301
+
16302
+ const date = new Date(this.day.date * 1000);
16303
+
16304
+ // Generate localized full date string using the configured locale
16305
+ const localeCode = this.locale?.code || undefined;
16306
+ const dateFormatter = new Intl.DateTimeFormat(localeCode, {
16307
+ weekday: 'long',
16308
+ year: 'numeric',
16309
+ month: 'long',
16310
+ day: 'numeric'
16311
+ });
16312
+
16313
+ let label = dateFormatter.format(date);
16314
+
16315
+ // Append date slot content (e.g. prices) so it is announced with the date.
16316
+ if (this.renderForDateSlot) {
16317
+ const dateSlotEl = this.querySelector(`[slot="date_${this.dateStr}"]`);
16318
+ if (dateSlotEl) {
16319
+ const text = dateSlotEl.innerText?.trim();
16320
+ if (text) {
16321
+ label += `, ${text}`;
16322
+ }
16323
+ }
16324
+ }
16325
+
16326
+ // appending popover content here so that it gets read in a logical order with the other date content.
16327
+ if (this.hasPopoverContent) {
16328
+ const popoverEl = this.querySelector(`[slot="popover_${this.dateStr}"]`);
16329
+ if (popoverEl) {
16330
+ label += `, ${popoverEl.innerText.trim()}`;
16331
+ }
16332
+ }
16333
+
16334
+ // Append range position label for range datepickers
16335
+ const rangePosition = this.getRangePosition();
16336
+ if (rangePosition) {
16337
+ label += `, ${rangePosition}`;
16338
+ }
16339
+
16340
+ // Append blackout label for blackout cells
16341
+ if (this.isBlackout()) {
16342
+ label += `, ${this.datepicker?.blackoutLabel || 'unavailable'}`;
16343
+ }
16344
+
16345
+ return label;
16346
+ }
16347
+
16348
+ /**
16349
+ * Determines the range position of this cell relative to the current selection.
16350
+ * @private
16351
+ * @returns {String|null} Range position label or null if not in range mode.
16352
+ */
16353
+ getRangePosition() {
16354
+ if (!this.datepicker || !this.datepicker.hasAttribute('range')) return null;
16355
+
16356
+ const parsedDateFrom = Number.parseInt(this.dateFrom, 10);
16357
+ if (!Number.isFinite(parsedDateFrom)) return null;
16358
+
16359
+ const departTimestamp = startOfDay(parsedDateFrom * 1000) / 1000;
16360
+ const dayDate = this.day.date;
16361
+
16362
+ const parsedDateTo = Number.parseInt(this.dateTo, 10);
16363
+ const hasDateTo = Number.isFinite(parsedDateTo);
16364
+ const returnTimestamp = hasDateTo ? startOfDay(parsedDateTo * 1000) / 1000 : null;
16365
+
16366
+ if (dayDate === departTimestamp) return this.datepicker.rangeLabelStart || 'range start';
16367
+
16368
+ if (hasDateTo && dayDate === returnTimestamp) return this.datepicker.rangeLabelEnd || 'range end';
16369
+
16370
+ if (dayDate < departTimestamp) return this.datepicker.rangeLabelBeforeRange || 'before range';
16371
+
16372
+ if (hasDateTo && dayDate > departTimestamp && dayDate < returnTimestamp) return this.datepicker.rangeLabelInRange || 'in range';
16373
+
16374
+ // After start date, no end date yet, or after end date
16375
+ return this.datepicker.rangeLabelAfterRange || 'after range';
16376
+ }
16377
+
16202
16378
  /**
16203
16379
  * Checks if the current date is the depart date.
16204
16380
  * @private
@@ -16360,9 +16536,9 @@ class AuroCalendarCell extends i$4 {
16360
16536
 
16361
16537
  if (popoverSlotContent) {
16362
16538
  this.appendChild(popoverSlotContent.cloneNode(true));
16363
- this.auroPopover.removeAttribute('disabled');
16539
+ this.hasPopoverContent = true;
16364
16540
  } else {
16365
- this.auroPopover.setAttribute('disabled', true);
16541
+ this.hasPopoverContent = false;
16366
16542
  }
16367
16543
  } catch (err) { // eslint-disable-line no-unused-vars
16368
16544
  // Error handling goes here
@@ -16378,60 +16554,244 @@ class AuroCalendarCell extends i$4 {
16378
16554
  return;
16379
16555
  }
16380
16556
  this.datepicker = calendar.datepicker;
16381
- this.datepicker.addEventListener('auroDatePicker-newSlotContent', () => {
16557
+ this._slotContentHandler = () => {
16382
16558
  this.handleSlotContent();
16559
+ // Force re-render so isBlackout()/aria-disabled reflect updated blackoutDates.
16560
+ this.requestUpdate();
16561
+ };
16562
+ this.datepicker.addEventListener('auroDatePicker-newSlotContent', this._slotContentHandler);
16563
+
16564
+ // Cache button reference for imperative class manipulation.
16565
+ this.updateComplete.then(() => {
16566
+ this._cachedButton = this.shadowRoot.querySelector('button.day');
16383
16567
  });
16384
16568
 
16569
+ // Trigger an initial update now that `this.datepicker` is assigned so
16570
+ // cells reflect blackout/slot state that was configured before first render.
16571
+ this.requestUpdate();
16572
+
16573
+ this.calendarMonth = calendarMonth;
16574
+ this.configurePopover();
16575
+ }
16576
+
16577
+ disconnectedCallback() {
16578
+ super.disconnectedCallback();
16579
+ if (this.datepicker && this._slotContentHandler) {
16580
+ this.datepicker.removeEventListener('auroDatePicker-newSlotContent', this._slotContentHandler);
16581
+ }
16582
+ }
16583
+
16584
+ /**
16585
+ * Configures the popover instance with the calendar month boundary.
16586
+ * Called from firstUpdated and updated because the popover element is only
16587
+ * rendered after hasPopoverContent becomes true (set by handleSlotContent).
16588
+ * @private
16589
+ * @returns {void}
16590
+ */
16591
+ configurePopover() {
16385
16592
  this.auroPopover = this.shadowRoot.querySelector(this.popoverTag._$litStatic$);
16386
16593
 
16387
- this.auroPopover.boundary = calendarMonth;
16594
+ if (this.auroPopover && this.calendarMonth) {
16595
+ this.auroPopover.boundary = this.calendarMonth;
16596
+ }
16388
16597
  }
16389
16598
 
16390
16599
  updated(properties) {
16391
- if (properties.has('dateFrom') || properties.has('dateTo') || properties.has('hoveredDate') || properties.has('day')) {
16392
- this.dateChanged(this.dateFrom, this.dateTo, this.hoveredDate, this.day);
16600
+ if (properties.has('dateFrom') || properties.has('dateTo') || properties.has('day')) {
16601
+ this.dateChanged(this.dateFrom, this.dateTo, this.day);
16602
+ }
16603
+
16604
+ if (properties.has('day') && this.day) {
16605
+ this.setDateSlotName();
16606
+ this.handleSlotContent();
16607
+
16608
+ // Re-cache button reference when the day changes (cell may have re-rendered).
16609
+ this.updateComplete.then(() => {
16610
+ this._cachedButton = this.shadowRoot.querySelector('button.day');
16611
+ });
16612
+
16613
+ // Update host-level aria attributes for ariaActiveDescendantElement.
16614
+ this.updateHostAria();
16615
+ }
16616
+
16617
+ // Update host aria when selection changes (aria-selected, range labels)
16618
+ if (properties.has('dateFrom') || properties.has('dateTo') || properties.has('selected')) {
16619
+ this.updateHostAria();
16393
16620
  }
16394
16621
 
16395
- this.setDateSlotName();
16396
- this.handleSlotContent();
16622
+ // Configure popover when it first becomes rendered
16623
+ if (properties.has('hasPopoverContent') && this.hasPopoverContent) {
16624
+ this.updateComplete.then(() => this.configurePopover());
16625
+ }
16397
16626
  }
16398
16627
 
16399
- render() {
16628
+ /**
16629
+ * Updates ARIA attributes on the host element so that
16630
+ * ariaActiveDescendantElement can expose cell info to the SR.
16631
+ * @private
16632
+ * @returns {void}
16633
+ */
16634
+ updateHostAria() {
16635
+ if (!this.day || this.day.date === undefined) return;
16636
+
16637
+ const outOfRange = this.isOutOfRange(this.day, this.min, this.max);
16638
+ if (outOfRange) {
16639
+ this.removeAttribute('role');
16640
+ this.removeAttribute('aria-label');
16641
+ return;
16642
+ }
16643
+
16644
+ // The host acts as the gridcell for ariaActiveDescendantElement.
16645
+ this.setAttribute('role', 'gridcell');
16646
+ this.setAttribute('aria-label', this.getAriaLabel());
16647
+ this.setAttribute('aria-selected', this.selected ? 'true' : 'false');
16648
+
16649
+ if (this.isBlackout()) {
16650
+ this.setAttribute('aria-disabled', 'true');
16651
+ } else {
16652
+ this.removeAttribute('aria-disabled');
16653
+ }
16654
+ }
16655
+
16656
+ /**
16657
+ * Programmatically focuses the cell's interactive button element.
16658
+ * Uses focusVisible: true so the :focus-visible ring appears even when
16659
+ * the bib was opened via mouse click (which sets mouse input modality).
16660
+ * @returns {void}
16661
+ */
16662
+ focusButton() {
16663
+ const button = this._cachedButton || this.shadowRoot.querySelector('button:not([aria-hidden])');
16664
+ if (button) {
16665
+ button.focus({ focusVisible: true });
16666
+ }
16667
+ }
16668
+
16669
+ /**
16670
+ * Imperatively marks this cell as active (tabindex="0") without
16671
+ * triggering a Lit re-render.
16672
+ * @returns {void}
16673
+ */
16674
+ setActive() {
16675
+ this.active = true;
16676
+ const btn = this._cachedButton;
16677
+ if (btn) {
16678
+ btn.setAttribute('tabindex', '0');
16679
+ btn.classList.add('visualFocus');
16680
+ }
16681
+ }
16682
+
16683
+ /**
16684
+ * Imperatively marks this cell as inactive (tabindex="-1") without
16685
+ * triggering a Lit re-render.
16686
+ * @returns {void}
16687
+ */
16688
+ clearActive() {
16689
+ this.active = false;
16690
+ const btn = this._cachedButton;
16691
+ if (btn) {
16692
+ btn.setAttribute('tabindex', '-1');
16693
+ btn.classList.remove('visualFocus');
16694
+ }
16695
+ }
16696
+
16697
+ /**
16698
+ * Updates range preview classes imperatively (no Lit re-render).
16699
+ * Called by the calendar component when the hovered date changes
16700
+ * during range selection (dateFrom set, dateTo not yet set).
16701
+ * @param {Number} hoveredDate - Unix timestamp of the currently hovered/focused date.
16702
+ * @param {Number} dateFrom - Unix timestamp of the selected departure date.
16703
+ * @returns {void}
16704
+ */
16705
+ updateRangePreviewClasses(hoveredDate, dateFrom) {
16706
+ const btn = this._cachedButton;
16707
+ if (!btn || !this.day) return;
16708
+
16709
+ const dayDate = this.day.date;
16710
+ const departTimestamp = startOfDay(dateFrom * 1000) / 1000;
16711
+ const isInRange = dayDate > departTimestamp && dayDate < hoveredDate;
16712
+ const isLastHovered = dayDate === hoveredDate && hoveredDate > departTimestamp;
16713
+ const isDepartWithPreview = dayDate === departTimestamp && hoveredDate > departTimestamp;
16714
+
16715
+ btn.classList.toggle('inRange', isInRange);
16716
+ btn.classList.toggle('lastHoveredDate', isLastHovered);
16717
+ btn.classList.toggle('rangeDepartDate', isDepartWithPreview);
16718
+ }
16719
+
16720
+ /**
16721
+ * Clears all imperative range preview classes from the cell button.
16722
+ * Called when a selection occurs so classMap becomes the sole source of truth.
16723
+ * @returns {void}
16724
+ */
16725
+ clearRangePreviewClasses() {
16726
+ const btn = this._cachedButton;
16727
+ if (!btn) return;
16728
+
16729
+ btn.classList.remove('inRange', 'lastHoveredDate', 'rangeDepartDate');
16730
+ }
16731
+
16732
+ renderCellButton() {
16733
+ const outOfRange = this.isOutOfRange(this.day, this.min, this.max);
16734
+ const role = outOfRange ? 'presentation' : 'gridcell';
16735
+ const blackout = this.isBlackout();
16736
+
16737
+ // Static and selection-driven classes only. Hover-driven classes
16738
+ // (inRange, lastHoveredDate, rangeDepartDate during preview) are
16739
+ // managed imperatively via updateRangePreviewClasses() to avoid
16740
+ // O(N) Lit re-renders on every focus/hover event.
16400
16741
  const buttonClasses = {
16401
16742
  'day': true,
16402
16743
  'body-lg': true,
16403
- 'currentDate': this.currentDate,
16744
+ 'currentDate': this.isCurrentDate,
16404
16745
  'selected': this.selected,
16405
- 'inRange': this.hovered && this.isInRange(this.day, this.dateFrom, this.dateTo),
16406
- 'lastHoveredDate': this.isLastHoveredDate(this.day, this.dateFrom, this.dateTo, this.hoveredDate) && this.datepicker && this.datepicker.hasAttribute('range'),
16407
- 'disabled': this.isEnabled(this.day, this.min, this.max, this.disabledDays),
16408
- 'rangeDepartDate': this.isDepartDate(this.day, this.dateFrom) && (this.hoveredDate > this.dateFrom || this.dateTo),
16409
- 'rangeReturnDate': this.isReturnDate(this.day, this.dateFrom, this.dateTo),
16746
+ 'inRange': this.datepicker?.hasAttribute('range') && this.dateTo && this.isInRange(this.day, this.dateFrom, this.dateTo),
16747
+ 'disabled': outOfRange,
16748
+ 'blackout': blackout,
16749
+ 'rangeDepartDate': this.datepicker?.hasAttribute('range') && this.isDepartDate(this.day, this.dateFrom) && this.dateTo,
16750
+ 'rangeReturnDate': this.datepicker?.hasAttribute('range') && this.isReturnDate(this.day, this.dateFrom, this.dateTo),
16410
16751
  'reference': this.isReferenceDate(this.dateStr),
16411
- 'sameDateTrip': this.dateFrom === this.dateTo
16752
+ 'sameDateTrip': this.datepicker?.hasAttribute('range') && this.dateFrom === this.dateTo
16412
16753
  };
16413
16754
 
16414
- let _a, _b;
16415
16755
  return u$c`
16416
- <${this.popoverTag}>
16417
- <slot name="popover_${this.dateStr}"></slot>
16418
- <button
16419
- slot="trigger"
16420
- @click="${this.handleTap}"
16421
- @mouseover="${this.handleHover}"
16422
- @focus="${this.handleHover}"
16423
- class="${e$3(buttonClasses)}"
16424
- ?disabled="${this.disabled}"
16425
- title="${this.getTitle((_a = this.day) === null || _a === void 0 ? void 0 : _a.date)}"
16426
- tabindex="-1">
16427
- <div class="buttonWrapper">
16428
- <div class="currentDayMarker">${(_b = this.day) === null || _b === void 0 ? void 0 : _b.title}</div>
16429
- <div class="dateSlot body-2xs" part="dateSlot">
16430
- <slot name="date_${this.dateStr}"></slot>
16431
- </div>
16432
- </div>
16433
- </button>
16434
- </${this.popoverTag}>
16756
+ <button
16757
+ slot="trigger"
16758
+ id="${this.getCellId()}"
16759
+ role="${role}"
16760
+ @click="${outOfRange ? undefined : this.handleTap}"
16761
+ @mouseover="${outOfRange ? undefined : this.handleHover}"
16762
+ @focus="${outOfRange ? undefined : this.handleFocus}"
16763
+ class="${e$3(buttonClasses)}"
16764
+ ?disabled="${outOfRange}"
16765
+ aria-label="${this.getAriaLabel()}"
16766
+ aria-disabled="${blackout ? 'true' : A$7}"
16767
+ aria-hidden="${outOfRange ? 'true' : A$7}"
16768
+ aria-selected="${this.selected ? 'true' : 'false'}"
16769
+ aria-current="${this.isCurrentDate ? 'date' : A$7}"
16770
+ tabindex="${this.active ? '0' : '-1'}">
16771
+ <div class="buttonWrapper" aria-hidden="true">
16772
+ <div class="currentDayMarker">${this.day?.title || A$7}</div>
16773
+ </div>
16774
+ <div class="dateSlot body-2xs" part="dateSlot" aria-hidden="true" ?hidden="${!this.renderForDateSlot}">
16775
+ <slot name="date_${this.dateStr}"></slot>
16776
+ </div>
16777
+ </button>
16778
+ `;
16779
+ }
16780
+
16781
+ render() {
16782
+ const hasPopoverContent = this.hasPopoverContent;
16783
+
16784
+ if (hasPopoverContent) {
16785
+ return u$c`
16786
+ <${this.popoverTag}>
16787
+ <span aria-hidden="true"><slot name="popover_${this.dateStr}"></slot></span>
16788
+ ${this.renderCellButton()}
16789
+ </${this.popoverTag}>
16790
+ `;
16791
+ }
16792
+
16793
+ return u$c`
16794
+ ${this.renderCellButton()}
16435
16795
  `;
16436
16796
  }
16437
16797
  }
@@ -16499,16 +16859,28 @@ class AuroCalendarMonth extends RangeDatepickerCalendar {
16499
16859
  return this.monthNames[month - 1];
16500
16860
  }
16501
16861
 
16862
+ /**
16863
+ * Returns the unique heading ID for this month, used by aria-labelledby.
16864
+ * @private
16865
+ * @returns {String} The heading ID.
16866
+ */
16867
+ getHeadingId() {
16868
+ return `month-heading-${this.month}-${this.year}`;
16869
+ }
16870
+
16502
16871
  /**
16503
16872
  * Determines the current month name based on locale.
16873
+ * Also builds parallel arrays of full day names for abbr attributes.
16504
16874
  * This is a rewrite of the function used in the class RangeDatepickerCalendar and should not be removed from here.
16505
16875
  * @private
16506
16876
  * @returns {void}
16507
16877
  */
16508
16878
  localeChanged() {
16509
16879
  const dayNamesOfTheWeek = [];
16880
+ const dayFullNames = [];
16510
16881
  for (let int = 0; int < 7; int += 1) {
16511
16882
  dayNamesOfTheWeek.push(this.locale.localize.day(int, { width: 'narrow' }));
16883
+ dayFullNames.push(this.locale.localize.day(int, { width: 'long' }));
16512
16884
  }
16513
16885
  const firstDayOfWeek = this.locale.options.weekStartsOn
16514
16886
  ? this.locale.options.weekStartsOn
@@ -16519,6 +16891,139 @@ class AuroCalendarMonth extends RangeDatepickerCalendar {
16519
16891
  .splice(firstDayOfWeek, dayNamesOfTheWeek.length)
16520
16892
  .concat(tmp);
16521
16893
  this.dayNamesOfTheWeek = newDayNamesOfTheWeek;
16894
+
16895
+ const tmpFull = dayFullNames.slice().splice(0, firstDayOfWeek);
16896
+ const newDayFullNames = dayFullNames
16897
+ .slice()
16898
+ .splice(firstDayOfWeek, dayFullNames.length)
16899
+ .concat(tmpFull);
16900
+ this.dayFullNames = newDayFullNames;
16901
+ }
16902
+
16903
+ /**
16904
+ * Renders a day-of-week header with abbr attribute for the full day name.
16905
+ * @private
16906
+ * @param {String} dayOfWeek - The short day name.
16907
+ * @param {Number} index - The index in the dayNamesOfTheWeek array.
16908
+ * @returns {Object} The header HTML.
16909
+ */
16910
+ renderDayOfWeek(dayOfWeek, index) {
16911
+ const fullName = this.dayFullNames ? this.dayFullNames[index] : dayOfWeek;
16912
+ return b$7`<div class="th body-default" role="columnheader"><abbr title="${fullName}">${dayOfWeek}</abbr></div>`;
16913
+ }
16914
+
16915
+ /**
16916
+ * Returns all focusable cell elements (enabled + blackout, not out-of-range) in this month.
16917
+ * @returns {Array} Array of auro-formkit-calendar-cell elements.
16918
+ */
16919
+ getFocusableCells() {
16920
+ const cells = Array.from(this.shadowRoot.querySelectorAll('auro-formkit-calendar-cell'));
16921
+ return cells.filter(cell => {
16922
+ if (!cell.day) return false;
16923
+ return !cell.isOutOfRange(cell.day, cell.min, cell.max);
16924
+ });
16925
+ }
16926
+
16927
+ /**
16928
+ * Overrides the base class handler to prevent setting `this.hoveredDate`
16929
+ * as a reactive property. Instead, just dispatches the event upward so
16930
+ * the calendar can handle range preview imperatively.
16931
+ * @private
16932
+ * @param {CustomEvent} event - The date-is-hovered event from a cell.
16933
+ * @returns {void}
16934
+ */
16935
+ handleDateHovered(event) {
16936
+ this.dispatchEvent(new CustomEvent('hovered-date-changed', {
16937
+ detail: { value: event.detail.date },
16938
+ }));
16939
+ }
16940
+
16941
+ /**
16942
+ * Handles arrow key navigation within the month grid.
16943
+ * Dispatches a cross-month navigation event when the boundary is reached.
16944
+ * @private
16945
+ * @param {KeyboardEvent} event - The keyboard event.
16946
+ * @returns {void}
16947
+ */
16948
+ handleGridKeyDown(event) {
16949
+ const { key } = event;
16950
+ const arrowKeys = ['ArrowRight', 'ArrowLeft', 'ArrowDown', 'ArrowUp'];
16951
+
16952
+ if (!arrowKeys.includes(key)) return;
16953
+
16954
+ event.preventDefault();
16955
+
16956
+ const focusableCells = this.getFocusableCells();
16957
+ if (focusableCells.length === 0) return;
16958
+
16959
+ // Find the currently active cell within this month
16960
+ const activeCell = focusableCells.find(cell => cell.active);
16961
+ if (!activeCell) return;
16962
+
16963
+ const activeIndex = focusableCells.indexOf(activeCell);
16964
+ let targetCell = null;
16965
+
16966
+ if (key === 'ArrowRight') {
16967
+ if (activeIndex < focusableCells.length - 1) {
16968
+ targetCell = focusableCells[activeIndex + 1];
16969
+ } else {
16970
+ // At end of month, request cross-month navigation
16971
+ this.dispatchEvent(new CustomEvent('calendar-month-boundary', {
16972
+ bubbles: true,
16973
+ composed: true,
16974
+ detail: { direction: 'next', fromDate: activeCell.day.date, key }
16975
+ }));
16976
+ return;
16977
+ }
16978
+ } else if (key === 'ArrowLeft') {
16979
+ if (activeIndex > 0) {
16980
+ targetCell = focusableCells[activeIndex - 1];
16981
+ } else {
16982
+ // At start of month, request cross-month navigation
16983
+ this.dispatchEvent(new CustomEvent('calendar-month-boundary', {
16984
+ bubbles: true,
16985
+ composed: true,
16986
+ detail: { direction: 'prev', fromDate: activeCell.day.date, key }
16987
+ }));
16988
+ return;
16989
+ }
16990
+ } else if (key === 'ArrowDown' || key === 'ArrowUp') {
16991
+ // Find the target day (same day-of-week, +/- 7 days)
16992
+ // Use Date arithmetic instead of fixed seconds to handle DST correctly
16993
+ const increment = key === 'ArrowDown' ? 7 : -7;
16994
+ const currentDate = new Date(activeCell.day.date * 1000);
16995
+ currentDate.setDate(currentDate.getDate() + increment);
16996
+ currentDate.setHours(0, 0, 0, 0);
16997
+ const targetDate = Math.floor(currentDate.getTime() / 1000);
16998
+
16999
+ // Look for the target date in this month's focusable cells
17000
+ targetCell = focusableCells.find(cell => cell.day.date === targetDate);
17001
+
17002
+ if (!targetCell) {
17003
+ // Target is in another month or all cells in that direction are disabled
17004
+ const direction = key === 'ArrowDown' ? 'next' : 'prev';
17005
+ this.dispatchEvent(new CustomEvent('calendar-month-boundary', {
17006
+ bubbles: true,
17007
+ composed: true,
17008
+ detail: { direction, fromDate: activeCell.day.date, key }
17009
+ }));
17010
+ return;
17011
+ }
17012
+ }
17013
+
17014
+ if (targetCell) {
17015
+ this.dispatchEvent(new CustomEvent('calendar-cell-activate', {
17016
+ bubbles: true,
17017
+ composed: true,
17018
+ detail: { date: targetCell.day.date }
17019
+ }));
17020
+ }
17021
+ }
17022
+
17023
+ renderWeek(week) {
17024
+ return b$7`
17025
+ <div class="tr" role="row">${week.map((day) => this.renderDay(day))}</div>
17026
+ `;
16522
17027
  }
16523
17028
 
16524
17029
  renderDay(day) {
@@ -16531,7 +17036,6 @@ class AuroCalendarMonth extends RangeDatepickerCalendar {
16531
17036
  .min="${this.min}"
16532
17037
  .max="${this.max}"
16533
17038
  .month="${this.month}"
16534
- .hoveredDate="${this.hoveredDate}"
16535
17039
  .dateTo="${this.dateTo}"
16536
17040
  .dateFrom="${this.dateFrom}"
16537
17041
  .locale="${this.locale}"
@@ -16542,7 +17046,7 @@ class AuroCalendarMonth extends RangeDatepickerCalendar {
16542
17046
  >
16543
17047
  </auro-formkit-calendar-cell>
16544
17048
  `
16545
- : null}
17049
+ : b$7`<div aria-hidden="true" inert></div>`}
16546
17050
  </div>
16547
17051
  `;
16548
17052
  }
@@ -16553,10 +17057,10 @@ class AuroCalendarMonth extends RangeDatepickerCalendar {
16553
17057
  var _a, _b;
16554
17058
 
16555
17059
  return b$7 `
16556
- <div>
17060
+ <div aria-labelledby="${this.getHeadingId()}">
16557
17061
  <div class="header">
16558
17062
  ${this.renderPrevButton()}
16559
- <div class="headerTitle heading-xs">
17063
+ <div class="headerTitle heading-xs" id="${this.getHeadingId()}" aria-live="polite" aria-atomic="true">
16560
17064
  ${this.monthFirst ? b$7`
16561
17065
  <div>${this.computeCurrentMonthName(this.month)}</div>
16562
17066
  <div>${this.renderYear()}</div>
@@ -16568,13 +17072,13 @@ class AuroCalendarMonth extends RangeDatepickerCalendar {
16568
17072
  ${this.renderNextButton()}
16569
17073
  </div>
16570
17074
 
16571
- <div class="table">
16572
- <div class="thead">
16573
- <div class="tr">
16574
- ${(_a = this.dayNamesOfTheWeek) === null || _a === void 0 ? void 0 : _a.map(dayNameOfWeek => this.renderDayOfWeek(dayNameOfWeek))}
17075
+ <div class="table" role="grid" aria-labelledby="${this.getHeadingId()}" @keydown="${this.handleGridKeyDown}">
17076
+ <div class="thead" role="rowgroup">
17077
+ <div class="tr" role="row">
17078
+ ${(_a = this.dayNamesOfTheWeek) === null || _a === void 0 ? void 0 : _a.map((dayNameOfWeek, index) => this.renderDayOfWeek(dayNameOfWeek, index))}
16575
17079
  </div>
16576
17080
  </div>
16577
- <div class="tbody">
17081
+ <div class="tbody" role="rowgroup">
16578
17082
  ${(_b = this.daysOfMonth) === null || _b === void 0 ? void 0 : _b.map(week => this.renderWeek(week))}
16579
17083
  </div>
16580
17084
  </div>
@@ -17267,6 +17771,14 @@ let AuroBibtemplate$3 = class AuroBibtemplate extends i$4 {
17267
17771
  large: {
17268
17772
  type: Boolean,
17269
17773
  reflect: true
17774
+ },
17775
+
17776
+ /**
17777
+ * If declared, the footer slot will be rendered even when not in fullscreen mode.
17778
+ */
17779
+ showFooter: {
17780
+ type: Boolean,
17781
+ reflect: true
17270
17782
  }
17271
17783
  };
17272
17784
  }
@@ -17369,7 +17881,7 @@ let AuroBibtemplate$3 = class AuroBibtemplate extends i$4 {
17369
17881
  <slot></slot>
17370
17882
  </div>
17371
17883
 
17372
- ${this.isFullscreen ? u$c`
17884
+ ${this.isFullscreen || this.showFooter ? u$c`
17373
17885
  <div id="footerContainer">
17374
17886
  <slot name="footer"></slot>
17375
17887
  </div>` : null}
@@ -17378,7 +17890,7 @@ let AuroBibtemplate$3 = class AuroBibtemplate extends i$4 {
17378
17890
  }
17379
17891
  };
17380
17892
 
17381
- var formkitVersion$2$1 = '202605201646';
17893
+ var formkitVersion$2$1 = '202605210248';
17382
17894
 
17383
17895
  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$3`${s$6(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$7`: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}
17384
17896
  `,u$4$1=i$7`.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}}
@@ -17476,6 +17988,13 @@ class AuroCalendar extends RangeDatepicker {
17476
17988
  this.largeFullscreenHeadline = false;
17477
17989
  this.isFullscreen = false;
17478
17990
 
17991
+ /**
17992
+ * The date of the currently active cell (Unix timestamp).
17993
+ * Only one cell across the entire calendar has tabindex="0" at a time.
17994
+ * @private
17995
+ */
17996
+ this.activeCellDate = null;
17997
+
17479
17998
  /**
17480
17999
  * @private
17481
18000
  */
@@ -17641,6 +18160,8 @@ class AuroCalendar extends RangeDatepicker {
17641
18160
  */
17642
18161
  handlePrevMonth() {
17643
18162
  this.utilCal.handleMonthChange(this, 'prev');
18163
+ this.updateActiveCellForVisibleMonth();
18164
+ this.announceMonthChange();
17644
18165
  }
17645
18166
 
17646
18167
  /**
@@ -17650,6 +18171,38 @@ class AuroCalendar extends RangeDatepicker {
17650
18171
  */
17651
18172
  handleNextMonth() {
17652
18173
  this.utilCal.handleMonthChange(this, 'next');
18174
+ this.updateActiveCellForVisibleMonth();
18175
+ this.announceMonthChange();
18176
+ }
18177
+
18178
+ /**
18179
+ * Announces the current month and year via the live region after navigation.
18180
+ * @private
18181
+ * @returns {void}
18182
+ */
18183
+ announceMonthChange() {
18184
+ const date = new Date(this.centralDate);
18185
+ const localeCode = this.locale?.code || undefined;
18186
+ const formatter = new Intl.DateTimeFormat(localeCode, { month: 'long', year: 'numeric' });
18187
+ this.announceSelection(formatter.format(date));
18188
+ }
18189
+
18190
+ /**
18191
+ * Recomputes and sets the active cell for the newly visible month after
18192
+ * month navigation. Without this, activeCellDate can point at a date in
18193
+ * the old month, leaving no tabindex="0" cell in the grid.
18194
+ * @private
18195
+ * @returns {void}
18196
+ */
18197
+ updateActiveCellForVisibleMonth() {
18198
+ // Skip the dateFrom shortcut so the active cell lands in the newly
18199
+ // visible month rather than jumping back to the selected date's month.
18200
+ this.activeCellDate = this.computeActiveDate({ skipDateFrom: true });
18201
+ this.updateComplete.then(() => {
18202
+ if (this.activeCellDate != null) {
18203
+ this.setActiveCell(this.activeCellDate);
18204
+ }
18205
+ });
17653
18206
  }
17654
18207
 
17655
18208
  /**
@@ -17757,6 +18310,778 @@ class AuroCalendar extends RangeDatepicker {
17757
18310
  this.utilCal.scrollMonthIntoView(this, date, this.format);
17758
18311
  }
17759
18312
 
18313
+ /**
18314
+ * Gets all rendered month components.
18315
+ * @private
18316
+ * @returns {Array} Array of auro-formkit-calendar-month elements.
18317
+ */
18318
+ getMonthComponents() {
18319
+ return Array.from(this.shadowRoot.querySelectorAll('auro-formkit-calendar-month'));
18320
+ }
18321
+
18322
+ /**
18323
+ * Gets all focusable cells across all rendered months.
18324
+ * @private
18325
+ * @returns {Array} Array of auro-formkit-calendar-cell elements.
18326
+ */
18327
+ getAllFocusableCells() {
18328
+ const months = this.getMonthComponents();
18329
+ let cells = [];
18330
+ months.forEach(month => {
18331
+ cells = cells.concat(month.getFocusableCells());
18332
+ });
18333
+ return cells;
18334
+ }
18335
+
18336
+ /**
18337
+ * Sets the active cell across all months. Only one cell has tabindex="0" at a time.
18338
+ * Uses imperative DOM manipulation — no Lit re-render triggered.
18339
+ * Also updates ariaActiveDescendantElement on the grid wrapper so
18340
+ * screen readers announce the active cell without moving DOM focus.
18341
+ * @param {Number} date - Unix timestamp of the cell to activate.
18342
+ * @returns {void}
18343
+ */
18344
+ setActiveCell(date) {
18345
+ const allCells = this.getAllFocusableCells();
18346
+
18347
+ let newActiveCell = null;
18348
+ allCells.forEach(cell => {
18349
+ if (cell.day && cell.day.date === date) {
18350
+ cell.setActive();
18351
+ newActiveCell = cell;
18352
+ } else if (cell.active) {
18353
+ cell.clearActive();
18354
+ }
18355
+ });
18356
+
18357
+ this.activeCellDate = date;
18358
+
18359
+ // Update the proxy element that aria-activedescendant references.
18360
+ // The proxy lives in the same shadow root as the grid wrapper, so
18361
+ // string-based aria-activedescendant works reliably with all SRs.
18362
+ if (newActiveCell) {
18363
+ const proxy = this.shadowRoot.querySelector('#activeDescendantProxy');
18364
+ if (proxy) {
18365
+ proxy.setAttribute('aria-label', newActiveCell.getAriaLabel());
18366
+ proxy.setAttribute('aria-selected', newActiveCell.selected ? 'true' : 'false');
18367
+ if (newActiveCell.isCurrentDate) {
18368
+ proxy.setAttribute('aria-current', 'date');
18369
+ } else {
18370
+ proxy.removeAttribute('aria-current');
18371
+ }
18372
+ if (newActiveCell.isBlackout()) {
18373
+ proxy.setAttribute('aria-disabled', 'true');
18374
+ } else {
18375
+ proxy.removeAttribute('aria-disabled');
18376
+ }
18377
+ }
18378
+ }
18379
+ }
18380
+
18381
+ /**
18382
+ * Focuses the calendar grid wrapper and sets the active cell.
18383
+ * DOM focus stays on the grid wrapper; ariaActiveDescendantElement
18384
+ * tells the screen reader which cell is "active".
18385
+ * @returns {void}
18386
+ */
18387
+ focusActiveCell() {
18388
+ if (this.activeCellDate != null) {
18389
+ this.setActiveCell(this.activeCellDate);
18390
+ }
18391
+
18392
+ const gridWrapper = this.shadowRoot.querySelector('#calendarGrid');
18393
+ if (gridWrapper) {
18394
+ gridWrapper.focus({ focusVisible: true });
18395
+ }
18396
+ }
18397
+
18398
+ /**
18399
+ * Computes the initial active date from data properties alone — no DOM required.
18400
+ * Priority:
18401
+ * 1. Selected date (dateFrom) if within range
18402
+ * 2. Today's date if not disabled (in-range and not blackout)
18403
+ * 3. First future non-disabled date (scans day-by-day from today up to 1 year)
18404
+ * 4. First previous non-disabled date (scans day-by-day from today up to 1 year)
18405
+ * 5. First enabled date in finite [min, max] range
18406
+ * 5b. First enabled date scanning forward from finite min (unbounded max)
18407
+ * 5c. First enabled date scanning backward from finite max (unbounded min)
18408
+ * 6. First in-range date (even if blackout) so focus can land somewhere
18409
+ * 7. undefined — no valid target
18410
+ *
18411
+ * @private
18412
+ * @param {Object} [options] - Optional settings.
18413
+ * @param {boolean} [options.skipDateFrom=false] - When true, skip the selected-date
18414
+ * shortcut (step 1). Used after month navigation so the active cell lands in the
18415
+ * newly visible month instead of jumping back to the selected date's month.
18416
+ * @returns {Number|undefined} Unix timestamp (seconds) of the date to activate, or undefined.
18417
+ */
18418
+ computeActiveDate(options = {}) {
18419
+ const MAX_SCAN_DAYS = 366; // scan at most ~1 year in each direction
18420
+
18421
+ /**
18422
+ * Adds days to a timestamp using Date arithmetic to handle DST correctly.
18423
+ * Returns a local-midnight-aligned timestamp in seconds.
18424
+ */
18425
+ const addDays = (ts, days) => {
18426
+ const d = new Date(ts * 1000);
18427
+ d.setDate(d.getDate() + days);
18428
+ d.setHours(0, 0, 0, 0);
18429
+ return Math.floor(d.getTime() / 1000);
18430
+ };
18431
+
18432
+ const rawMin = Number(this.min);
18433
+ const rawMax = Number(this.max);
18434
+
18435
+ // When min/max are NaN (no minDate/maxDate configured), treat as unbounded.
18436
+ const minTs = Number.isFinite(rawMin) ? rawMin : -Infinity;
18437
+ const maxTs = Number.isFinite(rawMax) ? rawMax : Infinity;
18438
+
18439
+ // Build a Set of blackout timestamps for O(1) lookup.
18440
+ const blackoutSet = new Set(
18441
+ (this.disabledDays || []).map(d => parseInt(d, 10))
18442
+ );
18443
+
18444
+ // Also include ISO-format blackoutDates from the datepicker if available.
18445
+ // Parse YYYY-MM-DD as local date to avoid UTC shift issues.
18446
+ const isoBlackouts = this.datepicker?.blackoutDates;
18447
+ if (Array.isArray(isoBlackouts)) {
18448
+ for (const isoStr of isoBlackouts) {
18449
+ const parts = isoStr.split('-');
18450
+ const ts = Math.floor(new Date(parseInt(parts[0], 10), parseInt(parts[1], 10) - 1, parseInt(parts[2], 10)).getTime() / 1000);
18451
+ if (Number.isFinite(ts)) blackoutSet.add(ts);
18452
+ }
18453
+ }
18454
+
18455
+ /**
18456
+ * A date (unix timestamp in seconds, midnight-aligned) is "enabled" when
18457
+ * it is within [min, max] AND not a blackout day.
18458
+ */
18459
+ const isEnabled = (ts) => ts >= minTs && ts <= maxTs && !blackoutSet.has(ts);
18460
+
18461
+ /**
18462
+ * A date is "in range" (focusable in the grid) when it is within [min, max].
18463
+ * Blackout dates are focusable but not selectable.
18464
+ */
18465
+ const isInRange = (ts) => ts >= minTs && ts <= maxTs;
18466
+
18467
+ // 1. Selected date — always valid target if within range (user chose it).
18468
+ // Skipped when called from month navigation so the active cell lands in
18469
+ // the newly visible month rather than the (possibly off-screen) selection.
18470
+ if (!options.skipDateFrom && this.dateFrom) {
18471
+ const parsedFrom = parseInt(this.dateFrom, 10);
18472
+ if (Number.isFinite(parsedFrom) && isInRange(parsedFrom)) return parsedFrom;
18473
+ }
18474
+
18475
+ // 2. Today's date (midnight-aligned) if enabled.
18476
+ const now = Math.floor(new Date().setHours(0, 0, 0, 0) / 1000);
18477
+
18478
+ // When centralDate is configured, prefer a date within the month(s) that
18479
+ // will actually be rendered. If today falls outside the visible range, an
18480
+ // active cell set to today would have no matching DOM element and keyboard
18481
+ // focus could not enter the calendar.
18482
+ const centralDateValue = this.centralDate ? new Date(this.centralDate) : null;
18483
+
18484
+ if (centralDateValue && !isNaN(centralDateValue.getTime())) {
18485
+ const centralMonth = centralDateValue.getMonth();
18486
+ const centralYear = centralDateValue.getFullYear();
18487
+ const todayDate = new Date(now * 1000);
18488
+ const todayMonth = todayDate.getMonth();
18489
+ const todayYear = todayDate.getFullYear();
18490
+
18491
+ // Today is outside the centralDate's month — scan for an enabled date
18492
+ // within the visible month instead.
18493
+ if (todayMonth !== centralMonth || todayYear !== centralYear) {
18494
+ const visibleStart = new Date(centralYear, centralMonth, 1);
18495
+ visibleStart.setHours(0, 0, 0, 0);
18496
+ const visibleEnd = new Date(centralYear, centralMonth + 1, 0); // last day of month
18497
+ visibleEnd.setHours(0, 0, 0, 0);
18498
+ const startTs = Math.floor(visibleStart.getTime() / 1000);
18499
+ const endTs = Math.floor(visibleEnd.getTime() / 1000);
18500
+ const daysInMonth = visibleEnd.getDate();
18501
+
18502
+ for (let idx = 0; idx < daysInMonth; idx++) {
18503
+ const ts = addDays(startTs, idx);
18504
+ if (ts > endTs) break;
18505
+ if (isEnabled(ts)) return ts;
18506
+ }
18507
+
18508
+ // No enabled date in the visible month — fall back to first in-range
18509
+ // date in the month so focus still lands on a focusable cell.
18510
+ for (let idx = 0; idx < daysInMonth; idx++) {
18511
+ const ts = addDays(startTs, idx);
18512
+ if (ts > endTs) break;
18513
+ if (isInRange(ts)) return ts;
18514
+ }
18515
+ }
18516
+ }
18517
+
18518
+ if (isEnabled(now)) return now;
18519
+
18520
+ // When a centralDate is configured (or inferred), constrain the scan to the
18521
+ // rendered month(s) first so a single-month calendar does not pick a date
18522
+ // that has no DOM cell. Determine the visible range based on centralDate and
18523
+ // the number of rendered months.
18524
+ const renderedMonths = this.numCalendars || 1;
18525
+ const visibleAnchor = centralDateValue && !isNaN(centralDateValue.getTime())
18526
+ ? centralDateValue
18527
+ : new Date(now * 1000);
18528
+ const visMonthStart = new Date(visibleAnchor.getFullYear(), visibleAnchor.getMonth(), 1);
18529
+ visMonthStart.setHours(0, 0, 0, 0);
18530
+ const visMonthEnd = new Date(visibleAnchor.getFullYear(), visibleAnchor.getMonth() + renderedMonths, 0);
18531
+ visMonthEnd.setHours(0, 0, 0, 0);
18532
+ const visStartTs = Math.floor(visMonthStart.getTime() / 1000);
18533
+ const visEndTs = Math.floor(visMonthEnd.getTime() / 1000);
18534
+ const visDays = Math.round((visEndTs - visStartTs) / 86400) + 1;
18535
+
18536
+ // Scan visible months for an enabled date.
18537
+ for (let idx = 0; idx < visDays; idx++) {
18538
+ const ts = addDays(visStartTs, idx);
18539
+ if (ts > visEndTs) break;
18540
+ if (isEnabled(ts)) return ts;
18541
+ }
18542
+
18543
+ // No enabled date in visible months — try an in-range (focusable) date so
18544
+ // keyboard focus still has a tabindex="0" target.
18545
+ for (let idx = 0; idx < visDays; idx++) {
18546
+ const ts = addDays(visStartTs, idx);
18547
+ if (ts > visEndTs) break;
18548
+ if (isInRange(ts)) return ts;
18549
+ }
18550
+
18551
+ // 3. First future enabled date (scan forward from tomorrow, capped by max and MAX_SCAN_DAYS).
18552
+ for (let idx = 1; idx <= MAX_SCAN_DAYS; idx++) {
18553
+ const ts = addDays(now, idx);
18554
+ if (Number.isFinite(maxTs) && ts > maxTs) break;
18555
+ if (isEnabled(ts)) return ts;
18556
+ }
18557
+
18558
+ // 4. First previous enabled date (scan backward from yesterday, capped by min and MAX_SCAN_DAYS).
18559
+ for (let idx = 1; idx <= MAX_SCAN_DAYS; idx++) {
18560
+ const ts = addDays(now, -idx);
18561
+ if (Number.isFinite(minTs) && ts < minTs) break;
18562
+ if (isEnabled(ts)) return ts;
18563
+ }
18564
+
18565
+ // 5. If scans missed (e.g. min/max range is far from today), fall back to
18566
+ // the first enabled date in the [min, max] range.
18567
+ if (Number.isFinite(minTs) && Number.isFinite(maxTs)) {
18568
+ let ts = minTs;
18569
+ for (let idx = 0; ts <= maxTs; idx++) {
18570
+ if (isEnabled(ts)) return ts;
18571
+ ts = addDays(minTs, idx + 1);
18572
+ }
18573
+ }
18574
+
18575
+ // 5b. Finite min with unbounded max (e.g. minDate far in the future):
18576
+ // scan forward from min for up to MAX_SCAN_DAYS.
18577
+ if (Number.isFinite(minTs) && !Number.isFinite(maxTs)) {
18578
+ for (let idx = 0; idx <= MAX_SCAN_DAYS; idx++) {
18579
+ const ts = addDays(minTs, idx);
18580
+ if (isEnabled(ts)) return ts;
18581
+ }
18582
+ }
18583
+
18584
+ // 5c. Unbounded min with a finite max far in the past (e.g. birth-date picker):
18585
+ // scan backward from max for up to MAX_SCAN_DAYS.
18586
+ if (!Number.isFinite(minTs) && Number.isFinite(maxTs)) {
18587
+ for (let idx = 0; idx <= MAX_SCAN_DAYS; idx++) {
18588
+ const ts = addDays(maxTs, -idx);
18589
+ if (isEnabled(ts)) return ts;
18590
+ }
18591
+ }
18592
+
18593
+ // 6. All dates are blackout — fall back to the first in-range date so focus
18594
+ // still lands on a focusable (but not selectable) cell.
18595
+ if (Number.isFinite(minTs) && isInRange(minTs)) return minTs;
18596
+ if (isInRange(now)) return now;
18597
+
18598
+ return undefined;
18599
+ }
18600
+
18601
+ /**
18602
+ * Handles arrow key navigation on the calendar grid wrapper.
18603
+ * Focus stays on the grid wrapper; only ariaActiveDescendantElement
18604
+ * and the visual active-cell indicator change.
18605
+ * @private
18606
+ * @param {KeyboardEvent} event - The keyboard event.
18607
+ * @returns {void}
18608
+ */
18609
+ handleGridKeyDown(event) {
18610
+ const { key } = event;
18611
+ const actionKeys = ['ArrowRight', 'ArrowLeft', 'ArrowDown', 'ArrowUp', 'Enter', ' '];
18612
+
18613
+ if (!actionKeys.includes(key)) return;
18614
+
18615
+ event.preventDefault();
18616
+
18617
+ const allCells = this.getAllFocusableCells();
18618
+ if (allCells.length === 0) return;
18619
+
18620
+ const activeCell = allCells.find(cell => cell.active);
18621
+ if (!activeCell) return;
18622
+
18623
+ // Handle Enter/Space to select the active cell
18624
+ if (key === 'Enter' || key === ' ') {
18625
+ activeCell.handleTap();
18626
+ return;
18627
+ }
18628
+
18629
+ const activeIndex = allCells.indexOf(activeCell);
18630
+
18631
+ if (key === 'ArrowRight' || key === 'ArrowLeft') {
18632
+ const direction = key === 'ArrowRight' ? 1 : -1;
18633
+ const targetIndex = activeIndex + direction;
18634
+
18635
+ if (targetIndex >= 0 && targetIndex < allCells.length) {
18636
+ // Target cell exists in rendered months
18637
+ this.setActiveCell(allCells[targetIndex].day.date);
18638
+ this.scrollToActiveCell();
18639
+ // Dispatch focus event for the cell so live region + range preview update
18640
+ this.handleCellFocused({ detail: { date: allCells[targetIndex].day.date } });
18641
+ } else {
18642
+ // At boundary — need to navigate to next/prev month
18643
+ const navDir = direction === 1 ? 'next' : 'prev';
18644
+ if ((navDir === 'next' && this.showNextMonthBtn) || (navDir === 'prev' && this.showPrevMonthBtn)) {
18645
+ const targetDate = new Date(activeCell.day.date * 1000);
18646
+ targetDate.setDate(targetDate.getDate() + direction);
18647
+ targetDate.setHours(0, 0, 0, 0);
18648
+ const targetTs = Math.floor(targetDate.getTime() / 1000);
18649
+
18650
+ if (navDir === 'next') {
18651
+ this.handleNextMonth();
18652
+ } else {
18653
+ this.handlePrevMonth();
18654
+ }
18655
+ requestAnimationFrame(() => {
18656
+ requestAnimationFrame(() => {
18657
+ const cells = this.getAllFocusableCells();
18658
+ const target = cells.find(cell => cell.day && cell.day.date === targetTs);
18659
+ if (target) {
18660
+ this.setActiveCell(target.day.date);
18661
+ this.handleCellFocused({ detail: { date: target.day.date } });
18662
+ } else if (cells.length > 0) {
18663
+ const fallback = navDir === 'next' ? cells[cells.length - 1] : cells[0];
18664
+ this.setActiveCell(fallback.day.date);
18665
+ this.handleCellFocused({ detail: { date: fallback.day.date } });
18666
+ }
18667
+ // Re-focus grid wrapper after month change re-render
18668
+ this.focusActiveCell();
18669
+ });
18670
+ });
18671
+ }
18672
+ }
18673
+ } else if (key === 'ArrowDown' || key === 'ArrowUp') {
18674
+ const increment = key === 'ArrowDown' ? 7 : -7;
18675
+ const currentDate = new Date(activeCell.day.date * 1000);
18676
+ currentDate.setDate(currentDate.getDate() + increment);
18677
+ currentDate.setHours(0, 0, 0, 0);
18678
+ const targetDate = Math.floor(currentDate.getTime() / 1000);
18679
+
18680
+ const targetCell = allCells.find(cell => cell.day && cell.day.date === targetDate);
18681
+
18682
+ if (targetCell) {
18683
+ this.setActiveCell(targetCell.day.date);
18684
+ this.scrollToActiveCell();
18685
+ this.handleCellFocused({ detail: { date: targetCell.day.date } });
18686
+ } else {
18687
+ // Target might be in an unrendered month
18688
+ const navDirection = key === 'ArrowDown' ? 'next' : 'prev';
18689
+ if ((navDirection === 'next' && this.showNextMonthBtn) || (navDirection === 'prev' && this.showPrevMonthBtn)) {
18690
+ if (navDirection === 'next') {
18691
+ this.handleNextMonth();
18692
+ } else {
18693
+ this.handlePrevMonth();
18694
+ }
18695
+ requestAnimationFrame(() => {
18696
+ requestAnimationFrame(() => {
18697
+ const cells = this.getAllFocusableCells();
18698
+ const target = cells.find(cell => cell.day && cell.day.date === targetDate);
18699
+ if (target) {
18700
+ this.setActiveCell(target.day.date);
18701
+ this.handleCellFocused({ detail: { date: target.day.date } });
18702
+ } else if (cells.length > 0) {
18703
+ const nearest = navDirection === 'next' ? cells[0] : cells[cells.length - 1];
18704
+ this.setActiveCell(nearest.day.date);
18705
+ this.handleCellFocused({ detail: { date: nearest.day.date } });
18706
+ }
18707
+ this.focusActiveCell();
18708
+ });
18709
+ });
18710
+ }
18711
+ }
18712
+ }
18713
+ }
18714
+
18715
+ /**
18716
+ * Handles cross-month boundary navigation events from month components.
18717
+ * @private
18718
+ * @param {CustomEvent} event - The boundary event with direction and source date info.
18719
+ * @returns {void}
18720
+ */
18721
+ handleMonthBoundary(event) {
18722
+ const { direction, fromDate, key } = event.detail;
18723
+
18724
+ if (key === 'ArrowRight' || key === 'ArrowLeft') {
18725
+ // Linear navigation: find adjacent focusable cell across months
18726
+ const allCells = this.getAllFocusableCells();
18727
+ const currentIndex = allCells.findIndex(cell => cell.day && cell.day.date === fromDate);
18728
+
18729
+ if (currentIndex === -1) return;
18730
+
18731
+ let targetIndex;
18732
+ if (direction === 'next') {
18733
+ targetIndex = currentIndex + 1;
18734
+ } else {
18735
+ targetIndex = currentIndex - 1;
18736
+ }
18737
+
18738
+ if (targetIndex >= 0 && targetIndex < allCells.length) {
18739
+ const targetCell = allCells[targetIndex];
18740
+ this.setActiveCell(targetCell.day.date);
18741
+ this.scrollToActiveCell();
18742
+ this.focusActiveCell();
18743
+ } else if (direction === 'next' && this.showNextMonthBtn) {
18744
+ // Navigate to next month and focus the computed next date.
18745
+ // Using the target date (fromDate + 1 day) instead of cells[0]
18746
+ // avoids jumping backward in range datepickers where cells[0]
18747
+ // belongs to the previous (still-rendered) month.
18748
+ const nextDate = new Date(fromDate * 1000);
18749
+ nextDate.setDate(nextDate.getDate() + 1);
18750
+ nextDate.setHours(0, 0, 0, 0);
18751
+ const nextTs = Math.floor(nextDate.getTime() / 1000);
18752
+
18753
+ this.handleNextMonth();
18754
+ requestAnimationFrame(() => {
18755
+ requestAnimationFrame(() => {
18756
+ const cells = this.getAllFocusableCells();
18757
+ const target = cells.find(cell => cell.day && cell.day.date === nextTs);
18758
+ if (target) {
18759
+ this.setActiveCell(target.day.date);
18760
+ this.focusActiveCell();
18761
+ } else if (cells.length > 0) {
18762
+ // Fallback: first cell of the last rendered month
18763
+ this.setActiveCell(cells[cells.length - 1].day.date);
18764
+ this.focusActiveCell();
18765
+ }
18766
+ });
18767
+ });
18768
+ } else if (direction === 'prev' && this.showPrevMonthBtn) {
18769
+ // Navigate to previous month and focus the computed previous date.
18770
+ const prevDate = new Date(fromDate * 1000);
18771
+ prevDate.setDate(prevDate.getDate() - 1);
18772
+ prevDate.setHours(0, 0, 0, 0);
18773
+ const prevTs = Math.floor(prevDate.getTime() / 1000);
18774
+
18775
+ this.handlePrevMonth();
18776
+ requestAnimationFrame(() => {
18777
+ requestAnimationFrame(() => {
18778
+ const cells = this.getAllFocusableCells();
18779
+ const target = cells.find(cell => cell.day && cell.day.date === prevTs);
18780
+ if (target) {
18781
+ this.setActiveCell(target.day.date);
18782
+ this.focusActiveCell();
18783
+ } else if (cells.length > 0) {
18784
+ // Fallback: last cell of the first rendered month
18785
+ this.setActiveCell(cells[0].day.date);
18786
+ this.focusActiveCell();
18787
+ }
18788
+ });
18789
+ });
18790
+ }
18791
+ } else if (key === 'ArrowDown' || key === 'ArrowUp') {
18792
+ // Vertical navigation: find same day-of-week +/- 7 days
18793
+ // Use Date arithmetic instead of fixed seconds to handle DST correctly
18794
+ const increment = key === 'ArrowDown' ? 7 : -7;
18795
+ const currentDate = new Date(fromDate * 1000);
18796
+ currentDate.setDate(currentDate.getDate() + increment);
18797
+ currentDate.setHours(0, 0, 0, 0);
18798
+ const targetDate = Math.floor(currentDate.getTime() / 1000);
18799
+
18800
+ const allCells = this.getAllFocusableCells();
18801
+ let targetCell = allCells.find(cell => cell.day && cell.day.date === targetDate);
18802
+
18803
+ if (targetCell) {
18804
+ this.setActiveCell(targetCell.day.date);
18805
+ this.scrollToActiveCell();
18806
+ this.focusActiveCell();
18807
+ } else {
18808
+ // Target might be in an unrendered month, navigate there
18809
+ const navDirection = key === 'ArrowDown' ? 'next' : 'prev';
18810
+ if ((navDirection === 'next' && this.showNextMonthBtn) || (navDirection === 'prev' && this.showPrevMonthBtn)) {
18811
+ if (navDirection === 'next') {
18812
+ this.handleNextMonth();
18813
+ } else {
18814
+ this.handlePrevMonth();
18815
+ }
18816
+ requestAnimationFrame(() => {
18817
+ requestAnimationFrame(() => {
18818
+ const cells = this.getAllFocusableCells();
18819
+ const target = cells.find(cell => cell.day && cell.day.date === targetDate);
18820
+ if (target) {
18821
+ this.setActiveCell(target.day.date);
18822
+ this.focusActiveCell();
18823
+ } else if (cells.length > 0) {
18824
+ // Clamp to nearest focusable cell
18825
+ const nearest = navDirection === 'next' ? cells[0] : cells[cells.length - 1];
18826
+ this.setActiveCell(nearest.day.date);
18827
+ this.focusActiveCell();
18828
+ }
18829
+ });
18830
+ });
18831
+ }
18832
+ }
18833
+ }
18834
+ }
18835
+
18836
+ /**
18837
+ * Handles cell activation events from month components.
18838
+ * @private
18839
+ * @param {CustomEvent} event - The activation event with target date.
18840
+ * @returns {void}
18841
+ */
18842
+ handleCellActivate(event) {
18843
+ const { date } = event.detail;
18844
+ this.setActiveCell(date);
18845
+ this.focusActiveCell();
18846
+ }
18847
+
18848
+ /**
18849
+ * Handles focus events from calendar cells.
18850
+ * Updates the live region with an SR announcement and triggers
18851
+ * the imperative range preview if applicable.
18852
+ * @private
18853
+ * @param {CustomEvent} event - The calendar-cell-focused event.
18854
+ * @returns {void}
18855
+ */
18856
+ handleCellFocused(event) {
18857
+ const { date } = event.detail;
18858
+ if (date == null) return;
18859
+
18860
+ // With aria-activedescendant, the button no longer receives native focus,
18861
+ // so we use the debounced live region for the full context announcement.
18862
+ const announcement = this.buildFocusAnnouncement(date);
18863
+ this.announceFocusDebounced(announcement);
18864
+
18865
+ // Update the range preview imperatively if in range-preview mode.
18866
+ this.updateRangePreview(date);
18867
+ }
18868
+
18869
+ /**
18870
+ * Builds a full SR announcement string for a focused cell date.
18871
+ * Includes the localized date, range position, popover content,
18872
+ * and blackout status.
18873
+ * @private
18874
+ * @param {Number} date - Unix timestamp (seconds) of the focused cell.
18875
+ * @returns {String} The announcement string.
18876
+ */
18877
+ buildFocusAnnouncement(date) {
18878
+ let label = this.formatAnnouncementDate(date);
18879
+
18880
+ // Append date slot content (e.g. prices) if present.
18881
+ const dateObj = new Date(date * 1000);
18882
+ const mm = String(dateObj.getMonth() + 1).padStart(2, '0');
18883
+ const dd = String(dateObj.getDate()).padStart(2, '0');
18884
+ const yyyy = dateObj.getFullYear();
18885
+ const dateStr = `${mm}_${dd}_${yyyy}`;
18886
+ const dateSlotEl = this.datepicker?.querySelector(`[slot="date_${dateStr}"]`);
18887
+ if (dateSlotEl) {
18888
+ const text = dateSlotEl.innerText?.trim();
18889
+ if (text) {
18890
+ label += `, ${text}`;
18891
+ }
18892
+ }
18893
+
18894
+ // Append popover content if present.
18895
+ const popoverEl = this.datepicker?.querySelector(`[slot="popover_${dateStr}"]`);
18896
+ if (popoverEl) {
18897
+ const text = popoverEl.innerText?.trim();
18898
+ if (text) {
18899
+ label += `, ${text}`;
18900
+ }
18901
+ }
18902
+
18903
+ // Append range position context.
18904
+ if (this.datepicker?.hasAttribute('range')) {
18905
+ const rangeLabel = this.getRangePositionLabel(date);
18906
+ if (rangeLabel) {
18907
+ label += `, ${rangeLabel}`;
18908
+ }
18909
+ }
18910
+
18911
+ // Append blackout label.
18912
+ if (this.isDateBlackout(date)) {
18913
+ label += `, ${this.datepicker?.blackoutLabel || 'unavailable'}`;
18914
+ }
18915
+
18916
+ return label;
18917
+ }
18918
+
18919
+ /**
18920
+ * Determines the range position label for a given date.
18921
+ * @private
18922
+ * @param {Number} date - Unix timestamp (seconds).
18923
+ * @returns {String|null} The range position label, or null.
18924
+ */
18925
+ getRangePositionLabel(date) {
18926
+ const parsedFrom = Number.parseInt(this.dateFrom, 10);
18927
+ if (!Number.isFinite(parsedFrom)) return null;
18928
+
18929
+ const departTs = startOfDay(parsedFrom * 1000) / 1000;
18930
+ const parsedTo = Number.parseInt(this.dateTo, 10);
18931
+ const hasTo = Number.isFinite(parsedTo);
18932
+ const returnTs = hasTo ? startOfDay(parsedTo * 1000) / 1000 : null;
18933
+
18934
+ if (date === departTs) return this.datepicker.rangeLabelStart || 'range start';
18935
+ if (hasTo && date === returnTs) return this.datepicker.rangeLabelEnd || 'range end';
18936
+ if (date < departTs) return this.datepicker.rangeLabelBeforeRange || 'before range';
18937
+ if (hasTo && date > departTs && date < returnTs) return this.datepicker.rangeLabelInRange || 'in range';
18938
+ return this.datepicker.rangeLabelAfterRange || 'after range';
18939
+ }
18940
+
18941
+ /**
18942
+ * Checks whether a given date is a blackout date.
18943
+ * @private
18944
+ * @param {Number} dateTs - Unix timestamp (seconds).
18945
+ * @returns {Boolean} True if the date is blacked out.
18946
+ */
18947
+ isDateBlackout(dateTs) {
18948
+ // Check legacy disabledDays.
18949
+ if (Array.isArray(this.disabledDays) && this.disabledDays.length > 0) {
18950
+ if (this.disabledDays.findIndex(d => parseInt(d, 10) === dateTs) !== -1) {
18951
+ return true;
18952
+ }
18953
+ }
18954
+
18955
+ // Check ISO blackoutDates.
18956
+ const blackoutDates = this.datepicker?.blackoutDates;
18957
+ if (Array.isArray(blackoutDates) && blackoutDates.length > 0) {
18958
+ const date = new Date(dateTs * 1000);
18959
+ const yyyy = date.getFullYear();
18960
+ const mm = String(date.getMonth() + 1).padStart(2, '0');
18961
+ const dd = String(date.getDate()).padStart(2, '0');
18962
+ if (blackoutDates.includes(`${yyyy}-${mm}-${dd}`)) {
18963
+ return true;
18964
+ }
18965
+ }
18966
+
18967
+ return false;
18968
+ }
18969
+
18970
+ /**
18971
+ * Updates the range preview classes imperatively across all cells.
18972
+ * Only active when in range mode with dateFrom set and dateTo not yet set.
18973
+ * @private
18974
+ * @param {Number} hoveredDate - Unix timestamp of the hovered/focused date.
18975
+ * @returns {void}
18976
+ */
18977
+ updateRangePreview(hoveredDate) {
18978
+ if (this.noRange || !this.dateFrom || this.dateTo) {
18979
+ return;
18980
+ }
18981
+
18982
+ const parsedDateFrom = parseInt(this.dateFrom, 10);
18983
+ const allCells = this.getAllFocusableCells();
18984
+
18985
+ allCells.forEach(cell => {
18986
+ cell.updateRangePreviewClasses(hoveredDate, parsedDateFrom);
18987
+ });
18988
+ }
18989
+
18990
+ /**
18991
+ * Clears range preview classes from all cells.
18992
+ * @private
18993
+ * @returns {void}
18994
+ */
18995
+ clearRangePreview() {
18996
+ const allCells = this.getAllFocusableCells();
18997
+ allCells.forEach(cell => {
18998
+ cell.clearRangePreviewClasses();
18999
+ });
19000
+ }
19001
+
19002
+ /**
19003
+ * Overrides the base class handler to prevent setting `this.hoveredDate`
19004
+ * as a reactive property. Instead, handles the range preview imperatively.
19005
+ * @private
19006
+ * @param {CustomEvent} event - The hovered-date-changed event from a month.
19007
+ * @returns {void}
19008
+ */
19009
+ hoveredDateChanged(event) {
19010
+ const hoveredDate = event.detail.value;
19011
+ this.updateRangePreview(hoveredDate);
19012
+ }
19013
+
19014
+ /**
19015
+ * Scrolls the calendar to ensure the month containing the active cell is visible.
19016
+ * @private
19017
+ * @returns {void}
19018
+ */
19019
+ scrollToActiveCell() {
19020
+ if (this.activeCellDate == null) return;
19021
+
19022
+ const date = new Date(this.activeCellDate * 1000);
19023
+ const month = date.getMonth() + 1;
19024
+ const year = date.getFullYear();
19025
+ const selector = `#month-${month}-${year}`;
19026
+ const monthElem = this.shadowRoot.querySelector(selector);
19027
+
19028
+ if (monthElem) {
19029
+ const prefersReducedMotion = window.matchMedia('(prefers-reduced-motion: reduce)').matches;
19030
+ monthElem.scrollIntoView({ block: 'nearest', behavior: prefersReducedMotion ? 'instant' : 'smooth' });
19031
+ }
19032
+ }
19033
+
19034
+ /**
19035
+ * Announces a date selection or focus change via the live region.
19036
+ * @private
19037
+ * @param {String} dateStr - The localized date string to announce.
19038
+ * @returns {void}
19039
+ */
19040
+ announceSelection(dateStr) {
19041
+ const liveRegion = this.shadowRoot.querySelector('#calendar-live-region');
19042
+ if (liveRegion) {
19043
+ liveRegion.textContent = '';
19044
+ // Use microtask to ensure SR picks up the change
19045
+ Promise.resolve().then(() => {
19046
+ liveRegion.textContent = dateStr;
19047
+ });
19048
+ }
19049
+ }
19050
+
19051
+ /**
19052
+ * Debounced version of announceSelection for focus navigation.
19053
+ * Only announces the last focused date after rapid navigation pauses,
19054
+ * preventing the screen reader from queueing up stale announcements
19055
+ * that can't keep pace with arrow-key traversal.
19056
+ * @private
19057
+ * @param {String} dateStr - The localized date string to announce.
19058
+ * @returns {void}
19059
+ */
19060
+ announceFocusDebounced(dateStr) {
19061
+ if (this._focusAnnounceTimer) {
19062
+ clearTimeout(this._focusAnnounceTimer);
19063
+ }
19064
+ this._focusAnnounceTimer = setTimeout(() => {
19065
+ this.announceSelection(dateStr);
19066
+ this._focusAnnounceTimer = null;
19067
+ }, 150);
19068
+ }
19069
+
19070
+ /**
19071
+ * Formats a Unix timestamp (seconds) as a localized date string for SR announcements.
19072
+ * @private
19073
+ * @param {String|Number} timestamp - Unix timestamp in seconds.
19074
+ * @returns {String} Localized date string.
19075
+ */
19076
+ formatAnnouncementDate(timestamp) {
19077
+ const date = new Date(parseInt(timestamp, 10) * 1000);
19078
+ const localeCode = this.locale?.code || undefined;
19079
+ const formatter = new Intl.DateTimeFormat(localeCode, {
19080
+ weekday: 'long', year: 'numeric', month: 'long', day: 'numeric'
19081
+ });
19082
+ return formatter.format(date);
19083
+ }
19084
+
17760
19085
  firstUpdated() {
17761
19086
  this.addEventListener('date-from-changed', () => {
17762
19087
  this.dispatchEvent(new CustomEvent('auroCalendar-dateSelected', {
@@ -17776,6 +19101,21 @@ class AuroCalendar extends RangeDatepicker {
17776
19101
  composed: true,
17777
19102
  }));
17778
19103
  });
19104
+
19105
+ // Listen for cross-month boundary navigation events
19106
+ this.addEventListener('calendar-month-boundary', (event) => {
19107
+ this.handleMonthBoundary(event);
19108
+ });
19109
+
19110
+ // Listen for cell activation events
19111
+ this.addEventListener('calendar-cell-activate', (event) => {
19112
+ this.handleCellActivate(event);
19113
+ });
19114
+
19115
+ // Listen for cell focus events (SR announcements + range preview)
19116
+ this.addEventListener('calendar-cell-focused', (event) => {
19117
+ this.handleCellFocused(event);
19118
+ });
17779
19119
  }
17780
19120
 
17781
19121
  injectSlot(slotName, nodes) {
@@ -17800,7 +19140,37 @@ class AuroCalendar extends RangeDatepicker {
17800
19140
  }
17801
19141
 
17802
19142
  if (changedProperties.has('visible')) {
17803
- setTimeout(() => this.requestUpdate());
19143
+ if (this.visible) {
19144
+ // Compute the active date eagerly from data — no DOM needed.
19145
+ if (this.activeCellDate == null) {
19146
+ this.activeCellDate = this.computeActiveDate();
19147
+ }
19148
+
19149
+ this.requestUpdate();
19150
+ } else {
19151
+ this.requestUpdate();
19152
+ }
19153
+ }
19154
+
19155
+ // Announce date selection to screen readers when user clicks/selects a cell
19156
+ const isCellClick = this.datepicker?.wasCellClick || this.datepicker?.cellClickActive;
19157
+
19158
+ if (changedProperties.has('dateFrom') && this.dateFrom && isCellClick) {
19159
+ const dateStr = this.formatAnnouncementDate(this.dateFrom);
19160
+ const isRange = !this.noRange;
19161
+
19162
+ if (isRange) {
19163
+ const rangeLabel = this.datepicker.rangeLabelStart || 'range start';
19164
+ this.announceSelection(`${dateStr}, selected as ${rangeLabel}`);
19165
+ } else {
19166
+ this.announceSelection(`${dateStr}, selected`);
19167
+ }
19168
+ }
19169
+
19170
+ if (changedProperties.has('dateTo') && this.dateTo && isCellClick) {
19171
+ const dateStr = this.formatAnnouncementDate(this.dateTo);
19172
+ const rangeLabel = this.datepicker.rangeLabelEnd || 'range end';
19173
+ this.announceSelection(`${dateStr}, selected as ${rangeLabel}`);
17804
19174
  }
17805
19175
  }
17806
19176
 
@@ -17809,6 +19179,7 @@ class AuroCalendar extends RangeDatepicker {
17809
19179
  <${this.bibtemplateTag}
17810
19180
  ?large="${this.largeFullscreenHeadline}"
17811
19181
  ?isFullscreen="${this.isFullscreen}"
19182
+ ?showFooter="${!this.isFullscreen && this.dropdown?.desktopModal}"
17812
19183
  @close-click="${this.utilCal.requestDismiss}">
17813
19184
  <span slot="ariaLabel.close">${this.slots["ariaLabel.bib.close"]}</span>
17814
19185
 
@@ -17826,24 +19197,27 @@ class AuroCalendar extends RangeDatepicker {
17826
19197
  </div>
17827
19198
  </div>
17828
19199
 
17829
- <div class="calendarWrapper">
17830
- <div class="calendars">
17831
- ${this.renderAllCalendars()}
17832
- </div>
19200
+ <div class="calendarWrapper ${!this.isFullscreen && this.dropdown?.desktopModal ? 'hasFooter' : ''}">
17833
19201
  <div class="calendarNavButtons">
17834
19202
  ${this.showPrevMonthBtn ? u$c`
17835
- <button tabIndex="-1" class="calendarNavBtn prevMonth" @click="${this.handlePrevMonth}">
19203
+ <button tabIndex="0" class="calendarNavBtn prevMonth" aria-label="${this.datepicker?.navLabelPrevMonth || 'Previous month'}" @click="${this.handlePrevMonth}">
17836
19204
  ${this.util.generateIconHtml(chevronLeft)}
17837
19205
  </button>
17838
19206
  ` : undefined}
17839
19207
  ${this.showNextMonthBtn ? u$c`
17840
- <button tabIndex="-1" class="calendarNavBtn nextMonth" @click="${this.handleNextMonth}">
19208
+ <button tabIndex="0" class="calendarNavBtn nextMonth" aria-label="${this.datepicker?.navLabelNextMonth || 'Next month'}" @click="${this.handleNextMonth}">
17841
19209
  ${this.util.generateIconHtml(chevronRight)}
17842
19210
  </button>
17843
19211
  ` : undefined}
17844
19212
  </div>
19213
+ <div id="calendarGrid" class="calendars" role="group" tabindex="-1" aria-activedescendant="activeDescendantProxy" @keydown="${this.handleGridKeyDown}">
19214
+ <span id="activeDescendantProxy" role="gridcell" aria-label="" class="sr-only"></span>
19215
+ ${this.renderAllCalendars()}
19216
+ </div>
17845
19217
  </div>
17846
19218
 
19219
+ <div id="calendar-live-region" aria-live="assertive" aria-atomic="true" class="sr-only"></div>
19220
+
17847
19221
  <${this.buttonTag} slot="footer" fluid @click="${this.utilCal.requestDismiss}">Done</${this.buttonTag}>
17848
19222
  </${this.bibtemplateTag}>
17849
19223
  `;
@@ -21091,7 +22465,7 @@ function applyKeyboardStrategy$1$2(component, strategy, options = {}) {
21091
22465
  });
21092
22466
  }
21093
22467
 
21094
- var styleCss$2$1$2 = i$7`:host{position:fixed;z-index:var(--depth-tooltip, 400);display:none;isolation:isolate}:host dialog{width:auto;max-width:none;height:auto;max-height:none;padding:0;border:none;margin:0;outline:none;transform:translateZ(0)}:host dialog::backdrop{background:transparent}:host(:not([isfullscreen])) dialog{position:relative;inset:unset}:host(:not([isfullscreen])) .container.shape-box{border-radius:unset}:host(:not([isfullscreen])) .container[class*=shape-pill],:host(:not([isfullscreen])) .container[class*=shape-snowflake]{border-radius:30px}:host(:not([isfullscreen])) .container[class*=shape-rounded]{border-radius:16px}:host(:not([matchWidth])) .container{min-width:fit-content}:host([isfullscreen]){position:fixed;top:0;left:0}:host([isfullscreen]) .container{width:100dvw;max-width:none;height:100dvh;max-height:none;border-radius:unset;margin-top:0;box-shadow:unset;overscroll-behavior:contain}:host([isfullscreen]) .container::backdrop{background:var(--ds-color-background-primary, #fff)}:host(:popover-open){position:fixed;overflow:visible;padding:0;border:none;margin:0;background:transparent;inset:unset;outline:none}:host([data-show]){display:flex}:host([common]:not([isfullscreen])) .container,:host([rounded]:not([isfullscreen])) .container{border-radius:var(--ds-border-radius, 0.375rem)}:host([common][isfullscreen]) .container,:host([rounded][isfullscreen]) .container{border-radius:unset;box-shadow:unset}.container{display:inline-block;overflow:auto;box-sizing:border-box;border-radius:var(--ds-border-radius, 0.375rem);margin:var(--ds-size-50, 0.25rem) 0}.util_displayHiddenVisually{position:absolute;overflow:hidden;width:1px;height:1px;padding:0;border:0;margin:-1px;clip-path:inset(50%);white-space:nowrap}`;
22468
+ var styleCss$2$1$2 = i$7`:host{position:fixed;z-index:var(--depth-tooltip, 400);display:none;isolation:isolate}:host dialog{width:auto;max-width:none;height:auto;max-height:none;padding:0;border:none;margin:0;outline:none;transform:translateZ(0)}:host dialog::backdrop{background:transparent}:host(:not([isfullscreen])) dialog{position:relative;inset:unset}:host(:not([isfullscreen])) .container.shape-box{border-radius:unset}:host(:not([isfullscreen])) .container[class*=shape-pill],:host(:not([isfullscreen])) .container[class*=shape-snowflake]{border-radius:30px}:host(:not([isfullscreen])) .container[class*=shape-rounded]{border-radius:16px}:host([desktopmodal]:popover-open)::backdrop{background:transparent}:host(:not([matchWidth])) .container{min-width:fit-content}:host([isfullscreen]){position:fixed;top:0;left:0}:host([isfullscreen]) .container{width:100dvw;max-width:none;height:100dvh;max-height:none;border-radius:unset;margin-top:0;box-shadow:unset;overscroll-behavior:contain}:host([isfullscreen]) .container::backdrop{background:var(--ds-color-background-primary, #fff)}:host(:popover-open){position:fixed;overflow:visible;padding:0;border:none;margin:0;background:transparent;inset:unset;outline:none}:host([data-show]){display:flex}:host([common]:not([isfullscreen])) .container,:host([rounded]:not([isfullscreen])) .container{border-radius:var(--ds-border-radius, 0.375rem)}:host([common][isfullscreen]) .container,:host([rounded][isfullscreen]) .container{border-radius:unset;box-shadow:unset}.container{display:inline-block;overflow:auto;box-sizing:border-box;border-radius:var(--ds-border-radius, 0.375rem);margin:var(--ds-size-50, 0.25rem) 0}.util_displayHiddenVisually{position:absolute;overflow:hidden;width:1px;height:1px;padding:0;border:0;margin:-1px;clip-path:inset(50%);white-space:nowrap}`;
21095
22469
 
21096
22470
  var colorCss$2$7 = i$7`.container{background-color:var(--ds-auro-dropdownbib-container-color);box-shadow:var(--ds-auro-dropdownbib-boxshadow-color);color:var(--ds-auro-dropdownbib-text-color)}`;
21097
22471
 
@@ -21722,7 +23096,7 @@ let AuroHelpText$2$1 = class AuroHelpText extends i$4 {
21722
23096
  }
21723
23097
  };
21724
23098
 
21725
- var formkitVersion$1$2 = '202605201646';
23099
+ var formkitVersion$1$2 = '202605210248';
21726
23100
 
21727
23101
  let AuroElement$2$2 = class AuroElement extends i$4 {
21728
23102
  static get properties() {
@@ -21902,6 +23276,7 @@ let AuroDropdown$3 = class AuroDropdown extends AuroElement$2$2 {
21902
23276
  _intializeDefaults() {
21903
23277
  this.appearance = 'default';
21904
23278
  this.chevron = false;
23279
+ this.desktopModal = false;
21905
23280
  this.disabled = false;
21906
23281
  this.disableKeyboardHandling = false;
21907
23282
  this.error = false;
@@ -22082,6 +23457,14 @@ let AuroDropdown$3 = class AuroDropdown extends AuroElement$2$2 {
22082
23457
  reflect: true
22083
23458
  },
22084
23459
 
23460
+ /**
23461
+ * If declared, the dropdown will behave as a modal dialog when in a desktop viewport size.
23462
+ */
23463
+ desktopModal: {
23464
+ type: Boolean,
23465
+ reflect: true
23466
+ },
23467
+
22085
23468
  /**
22086
23469
  * If declared, the dropdown will only show by calling the API .show() public method.
22087
23470
  */
@@ -22369,6 +23752,15 @@ let AuroDropdown$3 = class AuroDropdown extends AuroElement$2$2 {
22369
23752
 
22370
23753
  disconnectedCallback() {
22371
23754
  super.disconnectedCallback();
23755
+ this._clearPageInert();
23756
+ if (this._bibTabHandler) {
23757
+ this.removeEventListener('keydown', this._bibTabHandler);
23758
+ this._bibTabHandler = undefined;
23759
+ }
23760
+ if (this.focusTrap) {
23761
+ this.focusTrap.disconnect();
23762
+ this.focusTrap = undefined;
23763
+ }
22372
23764
  if (this.floater) {
22373
23765
  this.floater.hideBib('disconnect');
22374
23766
  this.floater.disconnect();
@@ -22396,19 +23788,45 @@ let AuroDropdown$3 = class AuroDropdown extends AuroElement$2$2 {
22396
23788
  if (this.isPopoverVisible) {
22397
23789
  // Fullscreen: use showModal() for native accessibility (inert outside, focus trap)
22398
23790
  // Desktop: use show() for Floating UI positioning + FocusTrap for focus management
22399
- const useModal = this.isBibFullscreen;
22400
- this.bibElement.value.open(useModal);
23791
+ this.bibElement.value.open(this.isBibFullscreen);
23792
+ this.updateFocusTrap();
23793
+
23794
+ // Desktop modal: make siblings inert so content outside is not interactive
23795
+ if (this.desktopModal && !this.isBibFullscreen) {
23796
+ this._setPageInert();
23797
+ }
22401
23798
  } else {
22402
23799
  this.bibElement.value.close();
23800
+ this._clearPageInert();
22403
23801
  }
22404
23802
  }
22405
23803
 
22406
23804
  // When fullscreen strategy changes while open, re-open dialog with correct mode
22407
23805
  // (e.g. resizing from desktop → mobile while dropdown is open)
22408
23806
  if (changedProperties.has('isBibFullscreen') && this.isPopoverVisible && this.bibElement.value) {
22409
- const useModal = this.isBibFullscreen;
22410
23807
  this.bibElement.value.close();
22411
- this.bibElement.value.open(useModal);
23808
+ this.bibElement.value.open(this.isBibFullscreen);
23809
+
23810
+ // Re-initialize focus management for the new strategy
23811
+ this.updateFocusTrap();
23812
+
23813
+ // Toggle inert: desktop modal needs it, fullscreen showModal() handles it natively
23814
+ if (this.desktopModal && !this.isBibFullscreen) {
23815
+ this._setPageInert();
23816
+ } else {
23817
+ this._clearPageInert();
23818
+ }
23819
+ }
23820
+
23821
+ // Handle desktopModal toggled while the dropdown is already open.
23822
+ // Re-initialize focus trapping and page inert state to match the new mode.
23823
+ if (changedProperties.has('desktopModal') && this.isPopoverVisible && !this.isBibFullscreen) {
23824
+ this.updateFocusTrap();
23825
+ if (this.desktopModal) {
23826
+ this._setPageInert();
23827
+ } else {
23828
+ this._clearPageInert();
23829
+ }
22412
23830
  }
22413
23831
  }
22414
23832
 
@@ -22418,8 +23836,14 @@ let AuroDropdown$3 = class AuroDropdown extends AuroElement$2$2 {
22418
23836
  * @param {CustomEvent} event - The custom event that contains the dropdown toggle information.
22419
23837
  */
22420
23838
  handleDropdownToggle(event) {
22421
- this.updateFocusTrap();
22422
23839
  this.isPopoverVisible = event.detail.expanded;
23840
+
23841
+ // Tear down FocusTrap when closing. Creation happens in updated()
23842
+ // after the dialog is open so getFocusableElements can find content.
23843
+ if (!this.isPopoverVisible) {
23844
+ this.updateFocusTrap();
23845
+ }
23846
+
22423
23847
  const eventType = event.detail.eventType || "unknown";
22424
23848
  if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown") {
22425
23849
  this.trigger.focus();
@@ -22518,19 +23942,178 @@ let AuroDropdown$3 = class AuroDropdown extends AuroElement$2$2 {
22518
23942
  * @private
22519
23943
  */
22520
23944
  updateFocusTrap() {
23945
+ // Always clean up existing handlers/traps before setting up new ones
23946
+ // to prevent duplicate listeners on repeated calls.
23947
+ if (this._bibTabHandler) {
23948
+ this.removeEventListener('keydown', this._bibTabHandler);
23949
+ this._bibTabHandler = undefined;
23950
+ }
23951
+
23952
+ if (this.focusTrap) {
23953
+ this.focusTrap.disconnect();
23954
+ this.focusTrap = undefined;
23955
+ }
23956
+
22521
23957
  if (this.isPopoverVisible) {
22522
23958
  if (!this.isBibFullscreen) {
22523
- // Desktop: show() doesn't trap focus, so use FocusTrap
22524
- this.focusTrap = new FocusTrap$3(this.bibContent);
22525
- this.focusTrap.focusFirstElement();
23959
+ if (this.desktopModal) {
23960
+ // Desktop modal: trap focus only within the bib content.
23961
+ // Can't use FocusTrap on the bib element because keydown events
23962
+ // from slotted content bubble through the dropdown host (light DOM),
23963
+ // not through the bib (shadow projection target). Using FocusTrap
23964
+ // on the dropdown would include the trigger in the tab cycle.
23965
+ // Instead, listen for Tab on the dropdown and manually wrap focus
23966
+ // within the bib's focusable elements.
23967
+ this._bibTabHandler = (event) => {
23968
+ if (event.key !== 'Tab') {
23969
+ return;
23970
+ }
23971
+
23972
+ // Collect focusable elements from the bib content.
23973
+ const focusables = getFocusableElements$3(this.bibContent);
23974
+
23975
+ // Fallback: try from slotted content directly
23976
+ if (!focusables.length) {
23977
+ const slot = this.shadowRoot.querySelector('.slotContent slot');
23978
+ const assignedNodes = slot ? slot.assignedNodes({ flatten: true }) : [];
23979
+
23980
+ for (const node of assignedNodes) {
23981
+ if (node.nodeType === Node.ELEMENT_NODE) {
23982
+ focusables.push(...getFocusableElements$3(node));
23983
+ }
23984
+ }
23985
+ }
23986
+
23987
+ if (!focusables.length) {
23988
+ return;
23989
+ }
23990
+
23991
+ event.preventDefault();
23992
+
23993
+ const direction = event.shiftKey ? -1 : 1; // eslint-disable-line no-magic-numbers
23994
+
23995
+ // Walk the active element chain through shadow roots
23996
+ const actives = this._getActiveElements();
23997
+
23998
+ let idx = focusables.findIndex((el) => actives.includes(el));
23999
+
24000
+ if (idx === -1) { // eslint-disable-line no-magic-numbers
24001
+ // Focus is not on a known element — move to first/last
24002
+ idx = direction === 1 ? -1 : focusables.length; // eslint-disable-line no-magic-numbers
24003
+ }
24004
+
24005
+ // Try each element in order, skipping any that can't receive focus
24006
+ // (e.g. hidden elements, elements in collapsed sections)
24007
+ for (let index = 0; index < focusables.length; index++) { // eslint-disable-line no-plusplus
24008
+ let nextIdx = idx + direction;
24009
+
24010
+ // Wrap around
24011
+ if (nextIdx < 0) {
24012
+ nextIdx = focusables.length - 1;
24013
+ } else if (nextIdx >= focusables.length) {
24014
+ nextIdx = 0;
24015
+ }
24016
+
24017
+ focusables[nextIdx].focus();
24018
+
24019
+ // Verify focus actually moved to the target
24020
+ const newActives = this._getActiveElements();
24021
+
24022
+ if (newActives.includes(focusables[nextIdx])) {
24023
+ return;
24024
+ }
24025
+
24026
+ // Focus didn't stick — skip this element and try the next
24027
+ idx = nextIdx;
24028
+ }
24029
+ };
24030
+ this.addEventListener('keydown', this._bibTabHandler);
24031
+
24032
+ // Move initial focus into the bib content, matching FocusTrap behavior
24033
+ requestAnimationFrame(() => {
24034
+ const focusables = getFocusableElements$3(this.bibContent);
24035
+ if (focusables.length) {
24036
+ focusables[0].focus();
24037
+ }
24038
+ });
24039
+ } else {
24040
+ // Normal desktop: use FocusTrap on the bib element
24041
+ this.focusTrap = new FocusTrap$3(this.bibContent);
24042
+ this.focusTrap.focusFirstElement();
24043
+ }
22526
24044
  }
22527
24045
  // Fullscreen: showModal() provides native focus trapping
24046
+ }
24047
+ }
24048
+
24049
+ /**
24050
+ * Returns the chain of active (focused) elements through shadow roots.
24051
+ * @private
24052
+ * @returns {Array<HTMLElement>}
24053
+ */
24054
+ _getActiveElements() {
24055
+ let { activeElement } = document;
24056
+ const actives = [activeElement];
24057
+
24058
+ while (activeElement?.shadowRoot?.activeElement) {
24059
+ activeElement = activeElement.shadowRoot.activeElement;
24060
+ actives.push(activeElement);
24061
+ }
24062
+
24063
+ return actives;
24064
+ }
24065
+
24066
+ /**
24067
+ * Sets `inert` on sibling elements of the dropdown's top-level host
24068
+ * so that content outside the dropdown is not interactive while the modal is open.
24069
+ * Walks up through shadow DOM boundaries to find the outermost host element
24070
+ * in the light DOM, then sets `inert` on siblings at each ancestor level
24071
+ * to ensure all page content outside the host subtree is inert.
24072
+ * @private
24073
+ */
24074
+ _setPageInert() {
24075
+ if (this._inertSiblings) {
22528
24076
  return;
22529
24077
  }
22530
24078
 
22531
- if (this.focusTrap) {
22532
- this.focusTrap.disconnect();
22533
- this.focusTrap = undefined;
24079
+ this._inertSiblings = [];
24080
+
24081
+ // Walk up through shadow DOM boundaries to find the topmost host
24082
+ // element in the light DOM. For example, if this dropdown is inside
24083
+ // auro-datepicker's shadow DOM, we walk up to the datepicker element
24084
+ // so we set inert on its siblings — not on the datepicker itself.
24085
+ let host = this;
24086
+ while (host.getRootNode() instanceof ShadowRoot) {
24087
+ host = host.getRootNode().host;
24088
+ }
24089
+
24090
+ // Walk up the ancestor chain, inerting siblings at each level
24091
+ // to ensure the entire page outside the host subtree is inert.
24092
+ let current = host;
24093
+ while (current.parentElement) {
24094
+ const parent = current.parentElement;
24095
+ for (const sibling of parent.children) {
24096
+ if (sibling !== current) {
24097
+ this._inertSiblings.push({ element: sibling, wasInert: sibling.inert });
24098
+ sibling.inert = true;
24099
+ }
24100
+ }
24101
+ current = parent;
24102
+ }
24103
+ }
24104
+
24105
+ /**
24106
+ * Restores `inert` state on siblings that were tracked by `_setPageInert`.
24107
+ * Preserves the previous inert state so externally-inerted elements are
24108
+ * not inadvertently re-enabled.
24109
+ * @private
24110
+ */
24111
+ _clearPageInert() {
24112
+ if (this._inertSiblings) {
24113
+ for (const entry of this._inertSiblings) {
24114
+ entry.element.inert = entry.wasInert;
24115
+ }
24116
+ this._inertSiblings = undefined;
22534
24117
  }
22535
24118
  }
22536
24119
 
@@ -22769,6 +24352,7 @@ let AuroDropdown$3 = class AuroDropdown extends AuroElement$2$2 {
22769
24352
  shape="${this.shape}"
22770
24353
  ?data-show="${this.isPopoverVisible}"
22771
24354
  ?isfullscreen="${this.isBibFullscreen}"
24355
+ ?desktopmodal="${this.desktopModal}"
22772
24356
  .dialogLabel="${this.bibDialogLabel}"
22773
24357
  ${n$6(this.bibElement)}
22774
24358
  >
@@ -29467,7 +31051,7 @@ let AuroHelpText$1$2 = class AuroHelpText extends i$4 {
29467
31051
  }
29468
31052
  };
29469
31053
 
29470
- var formkitVersion$8 = '202605201646';
31054
+ var formkitVersion$8 = '202605210248';
29471
31055
 
29472
31056
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
29473
31057
  // See LICENSE in the project root for license information.
@@ -30722,26 +32306,62 @@ function applyKeyboardStrategy$5(component, strategy, options = {}) {
30722
32306
  // components/datepicker/docs/partials/keyboardBehavior.md
30723
32307
  //
30724
32308
  // Current behavior (transitional — full bib keyboard navigation is planned for a future iteration):
30725
- // - The bib opens and closes via pointer/touch interaction only.
30726
32309
  // - Escape closes the bib and prevents the event from reaching parent containers.
32310
+ // - Enter opens the bib when it is closed (trigger input only, not clear button).
32311
+ // - Space opens the bib when it is closed (trigger input only, not clear button).
30727
32312
  // - Tab uses the browser's default tabindex sequence across trigger controls.
30728
- // - Enter and Space do not open or close the bib.
30729
32313
  //
30730
32314
  // This file is an intentional placeholder for most keys. When datepicker bib keyboard navigation is
30731
32315
  // added, handlers should go here following the same strategy pattern used by
30732
32316
  // auro-select (selectKeyboardStrategy.js) and auro-combobox (comboboxKeyboardStrategy.js).
30733
32317
  const datepickerKeyboardStrategy = {
30734
- Escape(component, evt) {
30735
- if (!component.dropdown || !component.dropdown.isPopoverVisible) {
32318
+ Escape(component, evt, ctx) {
32319
+ if (!ctx.isExpanded) {
30736
32320
  return;
30737
32321
  }
30738
32322
 
30739
- // Prevent the Escape key from bubbling up and closing any parent dialogs / drawers / popups.
30740
- // Because stopPropagation prevents the document-level floatingUI keydown handler from
30741
- // seeing this event, we must also close the dropdown explicitly.
32323
+ // Stop propagation so parent containers (auro-dialog, auro-drawer)
32324
+ // don't also react to Escape.
30742
32325
  evt.stopPropagation();
32326
+ evt.preventDefault();
30743
32327
 
30744
- component.dropdown.hide();
32328
+ component.hideBib();
32329
+ },
32330
+
32331
+ Enter(component, evt, ctx) {
32332
+ if (ctx.isExpanded) {
32333
+ return;
32334
+ }
32335
+
32336
+ // Only open from the trigger input, not the clear button or other internal elements.
32337
+ // evt.target is retargeted to the host in shadow DOM, so use composedPath()
32338
+ // to find the real origin. The clear button is rendered with class "clearBtn".
32339
+ const path = evt.composedPath();
32340
+ if (path.some(el => el.classList?.contains('clearBtn'))) {
32341
+ return;
32342
+ }
32343
+
32344
+ evt.preventDefault();
32345
+
32346
+ component.dropdown.show();
32347
+ },
32348
+
32349
+ ' '(component, evt, ctx) {
32350
+ if (ctx.isExpanded) {
32351
+ return;
32352
+ }
32353
+
32354
+ // Only open from the trigger input, not the clear button or other internal elements.
32355
+ // evt.target is retargeted to the host in shadow DOM, so use composedPath()
32356
+ // to find the real origin. The clear button is rendered with class "clearBtn".
32357
+ const path = evt.composedPath();
32358
+ if (path.some(el => el.classList?.contains('clearBtn'))) {
32359
+ return;
32360
+ }
32361
+
32362
+ evt.preventDefault();
32363
+
32364
+ component.dropdown.show();
30745
32365
  },
30746
32366
  };
30747
32367
 
@@ -30815,6 +32435,15 @@ class AuroDatePicker extends AuroElement$6 {
30815
32435
  this.required = false;
30816
32436
  this.onDark = false;
30817
32437
  this.range = false;
32438
+ this.rangeLabelStart = 'range start';
32439
+ this.rangeLabelEnd = 'range end';
32440
+ this.rangeLabelBeforeRange = 'before range';
32441
+ this.rangeLabelInRange = 'in range';
32442
+ this.rangeLabelAfterRange = 'after range';
32443
+ this.blackoutDates = [];
32444
+ this.blackoutLabel = 'unavailable';
32445
+ this.navLabelPrevMonth = 'Previous month';
32446
+ this.navLabelNextMonth = 'Next month';
30818
32447
  this.stacked = false;
30819
32448
  this.noValidate = false;
30820
32449
  this.validity = undefined;
@@ -31193,6 +32822,78 @@ class AuroDatePicker extends AuroElement$6 {
31193
32822
  reflect: true
31194
32823
  },
31195
32824
 
32825
+ /**
32826
+ * Label announced for the range start date cell.
32827
+ */
32828
+ rangeLabelStart: {
32829
+ type: String,
32830
+ reflect: true
32831
+ },
32832
+
32833
+ /**
32834
+ * Label announced for the range end date cell.
32835
+ */
32836
+ rangeLabelEnd: {
32837
+ type: String,
32838
+ reflect: true
32839
+ },
32840
+
32841
+ /**
32842
+ * Label announced for cells before the range start.
32843
+ */
32844
+ rangeLabelBeforeRange: {
32845
+ type: String,
32846
+ reflect: true
32847
+ },
32848
+
32849
+ /**
32850
+ * Label announced for cells within the selected range.
32851
+ */
32852
+ rangeLabelInRange: {
32853
+ type: String,
32854
+ reflect: true
32855
+ },
32856
+
32857
+ /**
32858
+ * Label announced for cells after the range (or after start when no end is selected).
32859
+ */
32860
+ rangeLabelAfterRange: {
32861
+ type: String,
32862
+ reflect: true
32863
+ },
32864
+
32865
+ /**
32866
+ * Array of dates that cannot be selected. Dates should be in ISO format (YYYY-MM-DD).
32867
+ */
32868
+ blackoutDates: {
32869
+ type: Array,
32870
+ reflect: true
32871
+ },
32872
+
32873
+ /**
32874
+ * Label announced for blackout (disabled but in-range) date cells.
32875
+ */
32876
+ blackoutLabel: {
32877
+ type: String,
32878
+ reflect: true
32879
+ },
32880
+
32881
+ /**
32882
+ * Accessible label for the previous month navigation button.
32883
+ */
32884
+ navLabelPrevMonth: {
32885
+ type: String,
32886
+ reflect: true
32887
+ },
32888
+
32889
+ /**
32890
+ * Accessible label for the next month navigation button.
32891
+ */
32892
+ navLabelNextMonth: {
32893
+ type: String,
32894
+ reflect: true
32895
+ },
32896
+
31196
32897
  /**
31197
32898
  * Dates that the user should have for reference as part of their decision making when selecting a date.
31198
32899
  * This should be a JSON string array of dates in the format of `MM/DD/YYYY`.
@@ -31219,6 +32920,7 @@ class AuroDatePicker extends AuroElement$6 {
31219
32920
 
31220
32921
  /**
31221
32922
  * Custom help text message to display when validity = `customError`.
32923
+ * Also used as the validation message when a blackout date is typed into the input.
31222
32924
  */
31223
32925
  setCustomValidityCustomError: {
31224
32926
  type: String
@@ -31540,6 +33242,61 @@ class AuroDatePicker extends AuroElement$6 {
31540
33242
  }));
31541
33243
  }
31542
33244
 
33245
+ /**
33246
+ * Attempts to focus the active calendar cell using a rAF retry loop.
33247
+ * Shared by both fullscreen and desktop open paths.
33248
+ * @private
33249
+ * @returns {void}
33250
+ */
33251
+ focusActiveCellWhenReady() {
33252
+ const MAX_ATTEMPTS = 20;
33253
+ let attempts = 0;
33254
+
33255
+ const tryFocus = () => {
33256
+ attempts += 1;
33257
+ const allCells = this.calendar.getAllFocusableCells();
33258
+
33259
+ if (!allCells.length && attempts < MAX_ATTEMPTS) {
33260
+ requestAnimationFrame(tryFocus);
33261
+ return;
33262
+ }
33263
+
33264
+ // Compute and mark the active cell
33265
+ if (this.calendar.activeCellDate == null) {
33266
+ this.calendar.activeCellDate = this.calendar.computeActiveDate();
33267
+ }
33268
+ if (this.calendar.activeCellDate !== undefined) {
33269
+ this.calendar.setActiveCell(this.calendar.activeCellDate);
33270
+ }
33271
+
33272
+ // If no cell matched (e.g. centralDate month differs from the rendered
33273
+ // range on mobile), fall back to the first rendered enabled cell.
33274
+ let activeCell = allCells.find(cell => cell.active);
33275
+ if (!activeCell && allCells.length) {
33276
+ const fallback = allCells[0];
33277
+ if (fallback.day) {
33278
+ this.calendar.activeCellDate = fallback.day.date;
33279
+ this.calendar.setActiveCell(this.calendar.activeCellDate);
33280
+ activeCell = allCells.find(cell => cell.active);
33281
+ }
33282
+ }
33283
+
33284
+ // Focus the calendar grid wrapper (aria-activedescendant handles
33285
+ // the SR announcement for the active cell).
33286
+ if (activeCell) {
33287
+ // Announce the initial active cell via the live region
33288
+ const announcement = this.calendar.buildFocusAnnouncement(activeCell.day.date);
33289
+ this.calendar.announceSelection(announcement);
33290
+
33291
+ this.calendar.focusActiveCell();
33292
+ } else if (attempts < MAX_ATTEMPTS) {
33293
+ requestAnimationFrame(tryFocus);
33294
+ }
33295
+ };
33296
+
33297
+ requestAnimationFrame(tryFocus);
33298
+ }
33299
+
31543
33300
  /**
31544
33301
  * Binds all behavior needed to the dropdown after rendering.
31545
33302
  * @private
@@ -31548,6 +33305,12 @@ class AuroDatePicker extends AuroElement$6 {
31548
33305
  configureDropdown() {
31549
33306
  this.dropdown = this.shadowRoot.querySelector(this.dropdownTag._$litStatic$);
31550
33307
 
33308
+ // The datepicker manages its own open/close lifecycle (Space/Escape/date-select/done).
33309
+ // Prevent the floater's document-level focusin handler from closing the bib
33310
+ // when focus moves from the trigger into the calendar cells (which live inside
33311
+ // a top-layer popover where :focus-within on the dropdown host returns false).
33312
+ this.dropdown.noHideOnThisFocusLoss = true;
33313
+
31551
33314
  // Pass label text to the dropdown bib for accessible dialog naming.
31552
33315
  // Without this, the fullscreen <dialog> has no accessible name and
31553
33316
  // screen readers announce it as just "dialog" with no context.
@@ -31565,6 +33328,23 @@ class AuroDatePicker extends AuroElement$6 {
31565
33328
  this.dropdown.addEventListener('auroDropdown-toggled', () => {
31566
33329
  this.notifyDatepickerToggled();
31567
33330
 
33331
+ if (this.dropdown.isPopoverVisible) {
33332
+ // Reset calendar focus state so it recomputes from the current selection.
33333
+ // Without this, reopening after navigating to a month without a selected
33334
+ // date leaves activeCellDate pointing at a cell in a different month than
33335
+ // what centralDate renders, causing all cells to have tabindex="-1".
33336
+ this.calendar.activeCellDate = null;
33337
+
33338
+ // Show the month containing the selected date (or today) instead of
33339
+ // whichever month the user last navigated to.
33340
+ // Respect consumer-provided centralDate/calendarStartDate if no value is set.
33341
+ if (this.value && this.util.validDateStr(this.value, this.format)) {
33342
+ this.calendarRenderUtil.updateCentralDate(this, this.formattedValue);
33343
+ } else if (!this.centralDate && !this.calendarStartDate && !this.minDate) {
33344
+ this.calendarRenderUtil.updateCentralDate(this, new Date());
33345
+ }
33346
+ }
33347
+
31568
33348
  // This forces the calendar to render when the dropdown is opened.
31569
33349
  // It is not rendered by default
31570
33350
  this.calendar.visible = this.dropdown.isPopoverVisible;
@@ -31597,12 +33377,23 @@ class AuroDatePicker extends AuroElement$6 {
31597
33377
  bibEl.open(true);
31598
33378
 
31599
33379
  doubleRaf$3(() => {
31600
- this.calendar.focusCloseButton();
33380
+ this.focusActiveCellWhenReady();
31601
33381
  });
31602
33382
  }
31603
33383
  });
31604
33384
 
31605
33385
  guardTouchPassthrough$2(this.shadowRoot.querySelector('.calendarWrapper'));
33386
+ } else {
33387
+ // Desktop (non-fullscreen) modal: make the trigger inert so users
33388
+ // cannot interact with the input while the modal bib is open.
33389
+ if (this.dropdown.desktopModal) {
33390
+ this.dropdown.trigger.inert = true;
33391
+ }
33392
+
33393
+ // Desktop (non-fullscreen): focus the active calendar cell.
33394
+ this.dropdown.updateComplete.then(() => {
33395
+ this.focusActiveCellWhenReady();
33396
+ });
31606
33397
  }
31607
33398
  } else {
31608
33399
  // Always clear the inert flag. Only restore focus to the input when the datepicker
@@ -31648,7 +33439,7 @@ class AuroDatePicker extends AuroElement$6 {
31648
33439
  bibEl.close();
31649
33440
  bibEl.open(true);
31650
33441
  doubleRaf$3(() => {
31651
- this.calendar.focusCloseButton();
33442
+ this.focusActiveCellWhenReady();
31652
33443
  });
31653
33444
  }
31654
33445
  });
@@ -31843,14 +33634,8 @@ class AuroDatePicker extends AuroElement$6 {
31843
33634
 
31844
33635
  if (onEndValue) {
31845
33636
  this.valueEnd = newDate;
31846
- if (this.dropdown.isPopoverVisible && !this.dropdown.isBibFullscreen) {
31847
- this.focus('startDate');
31848
- }
31849
33637
  } else {
31850
33638
  this.value = newDate;
31851
- if (this.dropdown.isPopoverVisible && !this.dropdown.isBibFullscreen) {
31852
- this.focus('endDate');
31853
- }
31854
33639
  }
31855
33640
  }
31856
33641
  }
@@ -31890,6 +33675,27 @@ class AuroDatePicker extends AuroElement$6 {
31890
33675
  this.resetInputs();
31891
33676
  }
31892
33677
 
33678
+ /**
33679
+ * Checks whether a formatted date string matches a blackout date.
33680
+ * @private
33681
+ * @param {string} dateStr - A date string in the component's configured format.
33682
+ * @returns {boolean} True if the date is in the blackoutDates list.
33683
+ */
33684
+ isBlackoutDate(dateStr) {
33685
+ if (!Array.isArray(this.blackoutDates) || this.blackoutDates.length === 0 || !dateStr) {
33686
+ return false;
33687
+ }
33688
+
33689
+ const formatted = this.util.toNorthAmericanFormat(dateStr, this.format);
33690
+ if (!this.util.validDateStr(dateStr, this.format)) return false;
33691
+
33692
+ const d = new Date(formatted);
33693
+ const yyyy = d.getFullYear();
33694
+ const mm = String(d.getMonth() + 1).padStart(2, '0');
33695
+ const dd = String(d.getDate()).padStart(2, '0');
33696
+ return this.blackoutDates.includes(`${yyyy}-${mm}-${dd}`);
33697
+ }
33698
+
31893
33699
  /**
31894
33700
  * Validates value.
31895
33701
  * @param {boolean} [force=false] - Whether to force validation.
@@ -31901,6 +33707,24 @@ class AuroDatePicker extends AuroElement$6 {
31901
33707
  }
31902
33708
 
31903
33709
  this.validation.validate(this, force);
33710
+
33711
+ // After standard validation, check blackout dates for typed input
33712
+ if (this.validity !== 'customError') {
33713
+ if (this.isBlackoutDate(this.value) || (this.range && this.isBlackoutDate(this.valueEnd))) {
33714
+ const msg = this.setCustomValidityCustomError || 'Selected date is unavailable';
33715
+ this.validity = 'customError';
33716
+ this.errorMessage = msg;
33717
+
33718
+ this.dispatchEvent(new CustomEvent('auroFormElement-validated', {
33719
+ bubbles: true,
33720
+ composed: true,
33721
+ detail: {
33722
+ validity: this.validity,
33723
+ message: this.errorMessage
33724
+ }
33725
+ }));
33726
+ }
33727
+ }
31904
33728
  }
31905
33729
 
31906
33730
  /**
@@ -31981,6 +33805,9 @@ class AuroDatePicker extends AuroElement$6 {
31981
33805
 
31982
33806
  if (this.cellClickActive) {
31983
33807
  this.cellClickActive = false;
33808
+ this.wasCellClick = true;
33809
+ } else {
33810
+ this.wasCellClick = false;
31984
33811
  }
31985
33812
 
31986
33813
  if (this.value && this.util.validDateStr(this.value, this.format)) {
@@ -32011,16 +33838,44 @@ class AuroDatePicker extends AuroElement$6 {
32011
33838
  }
32012
33839
 
32013
33840
  if (this.value && this.value.length === this.inputList[0].lengthForType) {
32014
- this.calendarRenderUtil.updateCentralDate(this, this.formattedValue);
33841
+ // Skip centralDate update when user clicked a cell in range mode
33842
+ // to prevent the displayed months from shifting
33843
+ if (!(this.wasCellClick && this.range)) {
33844
+ this.calendarRenderUtil.updateCentralDate(this, this.formattedValue);
33845
+ }
32015
33846
  }
32016
33847
 
32017
33848
  this.setHasValue();
32018
33849
  }
32019
33850
 
33851
+ if (changedProperties.has('blackoutDates')) {
33852
+ // Force calendar cells to re-render with updated blackout state.
33853
+ // requestUpdate on the calendar alone is insufficient because cells
33854
+ // don't receive blackoutDates as a bound property. Dispatching the
33855
+ // slot content event triggers handleSlotContent → requestUpdate on each cell.
33856
+ if (this.calendar) {
33857
+ this.calendar.requestUpdate();
33858
+ this.dispatchEvent(new CustomEvent('auroDatePicker-newSlotContent'));
33859
+ }
33860
+
33861
+ // Re-run validation so that a previously valid value that now falls on
33862
+ // a blackout date is flagged, and vice versa.
33863
+ if (this.value || this.valueEnd) {
33864
+ this.validate();
33865
+ }
33866
+ }
33867
+
32020
33868
  if (changedProperties.has('valueEnd') && this.inputList[1]) {
32021
33869
 
32022
33870
  this.formattedValueEnd = this.util.toNorthAmericanFormat(this.valueEnd, this.format);
32023
33871
 
33872
+ if (this.cellClickActive) {
33873
+ this.cellClickActive = false;
33874
+ this.wasCellClick = true;
33875
+ } else {
33876
+ this.wasCellClick = false;
33877
+ }
33878
+
32024
33879
  // update the calendar
32025
33880
  if (this.valueEnd && this.util.validDateStr(this.valueEnd, this.format)) {
32026
33881
  this.calendar.dateTo = this.convertToWcValidTime(this.formattedValueEnd);
@@ -32048,7 +33903,11 @@ class AuroDatePicker extends AuroElement$6 {
32048
33903
  }
32049
33904
 
32050
33905
  if (this.valueEnd && this.valueEnd.length === this.inputList[1].lengthForType) {
32051
- this.calendarRenderUtil.updateCentralDate(this, this.formattedValueEnd);
33906
+ // Skip centralDate update when user clicked a cell in range mode
33907
+ // to prevent the displayed months from shifting
33908
+ if (!this.wasCellClick) {
33909
+ this.calendarRenderUtil.updateCentralDate(this, this.formattedValueEnd);
33910
+ }
32052
33911
  }
32053
33912
 
32054
33913
  this.validate();
@@ -32205,6 +34064,7 @@ class AuroDatePicker extends AuroElement$6 {
32205
34064
  }
32206
34065
 
32207
34066
  firstUpdated() {
34067
+
32208
34068
  // Add the tag name as an attribute if it is different than the component name
32209
34069
  this.runtimeUtils.handleComponentTagRename(this, 'auro-datepicker');
32210
34070
 
@@ -32634,7 +34494,7 @@ class AuroDatePicker extends AuroElement$6 {
32634
34494
  // Base HTML render() handles dropdown and calendar bib
32635
34495
  return u$c`
32636
34496
  <!-- Hidden slot for clear button aria-label -->
32637
- <slot name="ariaLabel.input.clear" hidden @slotchange=${this.requestUpdate}></slot>
34497
+ <slot name="ariaLabel.input.clear" hidden @slotchange=${() => this.requestUpdate()}></slot>
32638
34498
 
32639
34499
  <${this.dropdownTag}
32640
34500
  appearance="${this.onDark ? 'inverse' : this.appearance}"
@@ -32651,6 +34511,7 @@ class AuroDatePicker extends AuroElement$6 {
32651
34511
  .shape="${this.shape}"
32652
34512
  .size="${this.size}"
32653
34513
  class="${e$3(dropdownElementClassMap)}"
34514
+ desktopModal
32654
34515
  disableEventShow
32655
34516
  for="dropdownMenu"
32656
34517
  part="dropdown"
@@ -35907,7 +37768,7 @@ function applyKeyboardStrategy$4(component, strategy, options = {}) {
35907
37768
  });
35908
37769
  }
35909
37770
 
35910
- var styleCss$2$6 = i$7`:host{position:fixed;z-index:var(--depth-tooltip, 400);display:none;isolation:isolate}:host dialog{width:auto;max-width:none;height:auto;max-height:none;padding:0;border:none;margin:0;outline:none;transform:translateZ(0)}:host dialog::backdrop{background:transparent}:host(:not([isfullscreen])) dialog{position:relative;inset:unset}:host(:not([isfullscreen])) .container.shape-box{border-radius:unset}:host(:not([isfullscreen])) .container[class*=shape-pill],:host(:not([isfullscreen])) .container[class*=shape-snowflake]{border-radius:30px}:host(:not([isfullscreen])) .container[class*=shape-rounded]{border-radius:16px}:host(:not([matchWidth])) .container{min-width:fit-content}:host([isfullscreen]){position:fixed;top:0;left:0}:host([isfullscreen]) .container{width:100dvw;max-width:none;height:100dvh;max-height:none;border-radius:unset;margin-top:0;box-shadow:unset;overscroll-behavior:contain}:host([isfullscreen]) .container::backdrop{background:var(--ds-color-background-primary, #fff)}:host(:popover-open){position:fixed;overflow:visible;padding:0;border:none;margin:0;background:transparent;inset:unset;outline:none}:host([data-show]){display:flex}:host([common]:not([isfullscreen])) .container,:host([rounded]:not([isfullscreen])) .container{border-radius:var(--ds-border-radius, 0.375rem)}:host([common][isfullscreen]) .container,:host([rounded][isfullscreen]) .container{border-radius:unset;box-shadow:unset}.container{display:inline-block;overflow:auto;box-sizing:border-box;border-radius:var(--ds-border-radius, 0.375rem);margin:var(--ds-size-50, 0.25rem) 0}.util_displayHiddenVisually{position:absolute;overflow:hidden;width:1px;height:1px;padding:0;border:0;margin:-1px;clip-path:inset(50%);white-space:nowrap}`;
37771
+ var styleCss$2$6 = i$7`:host{position:fixed;z-index:var(--depth-tooltip, 400);display:none;isolation:isolate}:host dialog{width:auto;max-width:none;height:auto;max-height:none;padding:0;border:none;margin:0;outline:none;transform:translateZ(0)}:host dialog::backdrop{background:transparent}:host(:not([isfullscreen])) dialog{position:relative;inset:unset}:host(:not([isfullscreen])) .container.shape-box{border-radius:unset}:host(:not([isfullscreen])) .container[class*=shape-pill],:host(:not([isfullscreen])) .container[class*=shape-snowflake]{border-radius:30px}:host(:not([isfullscreen])) .container[class*=shape-rounded]{border-radius:16px}:host([desktopmodal]:popover-open)::backdrop{background:transparent}:host(:not([matchWidth])) .container{min-width:fit-content}:host([isfullscreen]){position:fixed;top:0;left:0}:host([isfullscreen]) .container{width:100dvw;max-width:none;height:100dvh;max-height:none;border-radius:unset;margin-top:0;box-shadow:unset;overscroll-behavior:contain}:host([isfullscreen]) .container::backdrop{background:var(--ds-color-background-primary, #fff)}:host(:popover-open){position:fixed;overflow:visible;padding:0;border:none;margin:0;background:transparent;inset:unset;outline:none}:host([data-show]){display:flex}:host([common]:not([isfullscreen])) .container,:host([rounded]:not([isfullscreen])) .container{border-radius:var(--ds-border-radius, 0.375rem)}:host([common][isfullscreen]) .container,:host([rounded][isfullscreen]) .container{border-radius:unset;box-shadow:unset}.container{display:inline-block;overflow:auto;box-sizing:border-box;border-radius:var(--ds-border-radius, 0.375rem);margin:var(--ds-size-50, 0.25rem) 0}.util_displayHiddenVisually{position:absolute;overflow:hidden;width:1px;height:1px;padding:0;border:0;margin:-1px;clip-path:inset(50%);white-space:nowrap}`;
35911
37772
 
35912
37773
  var colorCss$2$6 = i$7`.container{background-color:var(--ds-auro-dropdownbib-container-color);box-shadow:var(--ds-auro-dropdownbib-boxshadow-color);color:var(--ds-auro-dropdownbib-text-color)}`;
35913
37774
 
@@ -36538,7 +38399,7 @@ let AuroHelpText$7 = class AuroHelpText extends i$4 {
36538
38399
  }
36539
38400
  };
36540
38401
 
36541
- var formkitVersion$7 = '202605201646';
38402
+ var formkitVersion$7 = '202605210248';
36542
38403
 
36543
38404
  let AuroElement$5 = class AuroElement extends i$4 {
36544
38405
  static get properties() {
@@ -36718,6 +38579,7 @@ let AuroDropdown$2 = class AuroDropdown extends AuroElement$5 {
36718
38579
  _intializeDefaults() {
36719
38580
  this.appearance = 'default';
36720
38581
  this.chevron = false;
38582
+ this.desktopModal = false;
36721
38583
  this.disabled = false;
36722
38584
  this.disableKeyboardHandling = false;
36723
38585
  this.error = false;
@@ -36898,6 +38760,14 @@ let AuroDropdown$2 = class AuroDropdown extends AuroElement$5 {
36898
38760
  reflect: true
36899
38761
  },
36900
38762
 
38763
+ /**
38764
+ * If declared, the dropdown will behave as a modal dialog when in a desktop viewport size.
38765
+ */
38766
+ desktopModal: {
38767
+ type: Boolean,
38768
+ reflect: true
38769
+ },
38770
+
36901
38771
  /**
36902
38772
  * If declared, the dropdown will only show by calling the API .show() public method.
36903
38773
  */
@@ -37185,6 +39055,15 @@ let AuroDropdown$2 = class AuroDropdown extends AuroElement$5 {
37185
39055
 
37186
39056
  disconnectedCallback() {
37187
39057
  super.disconnectedCallback();
39058
+ this._clearPageInert();
39059
+ if (this._bibTabHandler) {
39060
+ this.removeEventListener('keydown', this._bibTabHandler);
39061
+ this._bibTabHandler = undefined;
39062
+ }
39063
+ if (this.focusTrap) {
39064
+ this.focusTrap.disconnect();
39065
+ this.focusTrap = undefined;
39066
+ }
37188
39067
  if (this.floater) {
37189
39068
  this.floater.hideBib('disconnect');
37190
39069
  this.floater.disconnect();
@@ -37212,19 +39091,45 @@ let AuroDropdown$2 = class AuroDropdown extends AuroElement$5 {
37212
39091
  if (this.isPopoverVisible) {
37213
39092
  // Fullscreen: use showModal() for native accessibility (inert outside, focus trap)
37214
39093
  // Desktop: use show() for Floating UI positioning + FocusTrap for focus management
37215
- const useModal = this.isBibFullscreen;
37216
- this.bibElement.value.open(useModal);
39094
+ this.bibElement.value.open(this.isBibFullscreen);
39095
+ this.updateFocusTrap();
39096
+
39097
+ // Desktop modal: make siblings inert so content outside is not interactive
39098
+ if (this.desktopModal && !this.isBibFullscreen) {
39099
+ this._setPageInert();
39100
+ }
37217
39101
  } else {
37218
39102
  this.bibElement.value.close();
39103
+ this._clearPageInert();
37219
39104
  }
37220
39105
  }
37221
39106
 
37222
39107
  // When fullscreen strategy changes while open, re-open dialog with correct mode
37223
39108
  // (e.g. resizing from desktop → mobile while dropdown is open)
37224
39109
  if (changedProperties.has('isBibFullscreen') && this.isPopoverVisible && this.bibElement.value) {
37225
- const useModal = this.isBibFullscreen;
37226
39110
  this.bibElement.value.close();
37227
- this.bibElement.value.open(useModal);
39111
+ this.bibElement.value.open(this.isBibFullscreen);
39112
+
39113
+ // Re-initialize focus management for the new strategy
39114
+ this.updateFocusTrap();
39115
+
39116
+ // Toggle inert: desktop modal needs it, fullscreen showModal() handles it natively
39117
+ if (this.desktopModal && !this.isBibFullscreen) {
39118
+ this._setPageInert();
39119
+ } else {
39120
+ this._clearPageInert();
39121
+ }
39122
+ }
39123
+
39124
+ // Handle desktopModal toggled while the dropdown is already open.
39125
+ // Re-initialize focus trapping and page inert state to match the new mode.
39126
+ if (changedProperties.has('desktopModal') && this.isPopoverVisible && !this.isBibFullscreen) {
39127
+ this.updateFocusTrap();
39128
+ if (this.desktopModal) {
39129
+ this._setPageInert();
39130
+ } else {
39131
+ this._clearPageInert();
39132
+ }
37228
39133
  }
37229
39134
  }
37230
39135
 
@@ -37234,8 +39139,14 @@ let AuroDropdown$2 = class AuroDropdown extends AuroElement$5 {
37234
39139
  * @param {CustomEvent} event - The custom event that contains the dropdown toggle information.
37235
39140
  */
37236
39141
  handleDropdownToggle(event) {
37237
- this.updateFocusTrap();
37238
39142
  this.isPopoverVisible = event.detail.expanded;
39143
+
39144
+ // Tear down FocusTrap when closing. Creation happens in updated()
39145
+ // after the dialog is open so getFocusableElements can find content.
39146
+ if (!this.isPopoverVisible) {
39147
+ this.updateFocusTrap();
39148
+ }
39149
+
37239
39150
  const eventType = event.detail.eventType || "unknown";
37240
39151
  if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown") {
37241
39152
  this.trigger.focus();
@@ -37334,19 +39245,178 @@ let AuroDropdown$2 = class AuroDropdown extends AuroElement$5 {
37334
39245
  * @private
37335
39246
  */
37336
39247
  updateFocusTrap() {
39248
+ // Always clean up existing handlers/traps before setting up new ones
39249
+ // to prevent duplicate listeners on repeated calls.
39250
+ if (this._bibTabHandler) {
39251
+ this.removeEventListener('keydown', this._bibTabHandler);
39252
+ this._bibTabHandler = undefined;
39253
+ }
39254
+
39255
+ if (this.focusTrap) {
39256
+ this.focusTrap.disconnect();
39257
+ this.focusTrap = undefined;
39258
+ }
39259
+
37337
39260
  if (this.isPopoverVisible) {
37338
39261
  if (!this.isBibFullscreen) {
37339
- // Desktop: show() doesn't trap focus, so use FocusTrap
37340
- this.focusTrap = new FocusTrap$2(this.bibContent);
37341
- this.focusTrap.focusFirstElement();
39262
+ if (this.desktopModal) {
39263
+ // Desktop modal: trap focus only within the bib content.
39264
+ // Can't use FocusTrap on the bib element because keydown events
39265
+ // from slotted content bubble through the dropdown host (light DOM),
39266
+ // not through the bib (shadow projection target). Using FocusTrap
39267
+ // on the dropdown would include the trigger in the tab cycle.
39268
+ // Instead, listen for Tab on the dropdown and manually wrap focus
39269
+ // within the bib's focusable elements.
39270
+ this._bibTabHandler = (event) => {
39271
+ if (event.key !== 'Tab') {
39272
+ return;
39273
+ }
39274
+
39275
+ // Collect focusable elements from the bib content.
39276
+ const focusables = getFocusableElements$2(this.bibContent);
39277
+
39278
+ // Fallback: try from slotted content directly
39279
+ if (!focusables.length) {
39280
+ const slot = this.shadowRoot.querySelector('.slotContent slot');
39281
+ const assignedNodes = slot ? slot.assignedNodes({ flatten: true }) : [];
39282
+
39283
+ for (const node of assignedNodes) {
39284
+ if (node.nodeType === Node.ELEMENT_NODE) {
39285
+ focusables.push(...getFocusableElements$2(node));
39286
+ }
39287
+ }
39288
+ }
39289
+
39290
+ if (!focusables.length) {
39291
+ return;
39292
+ }
39293
+
39294
+ event.preventDefault();
39295
+
39296
+ const direction = event.shiftKey ? -1 : 1; // eslint-disable-line no-magic-numbers
39297
+
39298
+ // Walk the active element chain through shadow roots
39299
+ const actives = this._getActiveElements();
39300
+
39301
+ let idx = focusables.findIndex((el) => actives.includes(el));
39302
+
39303
+ if (idx === -1) { // eslint-disable-line no-magic-numbers
39304
+ // Focus is not on a known element — move to first/last
39305
+ idx = direction === 1 ? -1 : focusables.length; // eslint-disable-line no-magic-numbers
39306
+ }
39307
+
39308
+ // Try each element in order, skipping any that can't receive focus
39309
+ // (e.g. hidden elements, elements in collapsed sections)
39310
+ for (let index = 0; index < focusables.length; index++) { // eslint-disable-line no-plusplus
39311
+ let nextIdx = idx + direction;
39312
+
39313
+ // Wrap around
39314
+ if (nextIdx < 0) {
39315
+ nextIdx = focusables.length - 1;
39316
+ } else if (nextIdx >= focusables.length) {
39317
+ nextIdx = 0;
39318
+ }
39319
+
39320
+ focusables[nextIdx].focus();
39321
+
39322
+ // Verify focus actually moved to the target
39323
+ const newActives = this._getActiveElements();
39324
+
39325
+ if (newActives.includes(focusables[nextIdx])) {
39326
+ return;
39327
+ }
39328
+
39329
+ // Focus didn't stick — skip this element and try the next
39330
+ idx = nextIdx;
39331
+ }
39332
+ };
39333
+ this.addEventListener('keydown', this._bibTabHandler);
39334
+
39335
+ // Move initial focus into the bib content, matching FocusTrap behavior
39336
+ requestAnimationFrame(() => {
39337
+ const focusables = getFocusableElements$2(this.bibContent);
39338
+ if (focusables.length) {
39339
+ focusables[0].focus();
39340
+ }
39341
+ });
39342
+ } else {
39343
+ // Normal desktop: use FocusTrap on the bib element
39344
+ this.focusTrap = new FocusTrap$2(this.bibContent);
39345
+ this.focusTrap.focusFirstElement();
39346
+ }
37342
39347
  }
37343
39348
  // Fullscreen: showModal() provides native focus trapping
39349
+ }
39350
+ }
39351
+
39352
+ /**
39353
+ * Returns the chain of active (focused) elements through shadow roots.
39354
+ * @private
39355
+ * @returns {Array<HTMLElement>}
39356
+ */
39357
+ _getActiveElements() {
39358
+ let { activeElement } = document;
39359
+ const actives = [activeElement];
39360
+
39361
+ while (activeElement?.shadowRoot?.activeElement) {
39362
+ activeElement = activeElement.shadowRoot.activeElement;
39363
+ actives.push(activeElement);
39364
+ }
39365
+
39366
+ return actives;
39367
+ }
39368
+
39369
+ /**
39370
+ * Sets `inert` on sibling elements of the dropdown's top-level host
39371
+ * so that content outside the dropdown is not interactive while the modal is open.
39372
+ * Walks up through shadow DOM boundaries to find the outermost host element
39373
+ * in the light DOM, then sets `inert` on siblings at each ancestor level
39374
+ * to ensure all page content outside the host subtree is inert.
39375
+ * @private
39376
+ */
39377
+ _setPageInert() {
39378
+ if (this._inertSiblings) {
37344
39379
  return;
37345
39380
  }
37346
39381
 
37347
- if (this.focusTrap) {
37348
- this.focusTrap.disconnect();
37349
- this.focusTrap = undefined;
39382
+ this._inertSiblings = [];
39383
+
39384
+ // Walk up through shadow DOM boundaries to find the topmost host
39385
+ // element in the light DOM. For example, if this dropdown is inside
39386
+ // auro-datepicker's shadow DOM, we walk up to the datepicker element
39387
+ // so we set inert on its siblings — not on the datepicker itself.
39388
+ let host = this;
39389
+ while (host.getRootNode() instanceof ShadowRoot) {
39390
+ host = host.getRootNode().host;
39391
+ }
39392
+
39393
+ // Walk up the ancestor chain, inerting siblings at each level
39394
+ // to ensure the entire page outside the host subtree is inert.
39395
+ let current = host;
39396
+ while (current.parentElement) {
39397
+ const parent = current.parentElement;
39398
+ for (const sibling of parent.children) {
39399
+ if (sibling !== current) {
39400
+ this._inertSiblings.push({ element: sibling, wasInert: sibling.inert });
39401
+ sibling.inert = true;
39402
+ }
39403
+ }
39404
+ current = parent;
39405
+ }
39406
+ }
39407
+
39408
+ /**
39409
+ * Restores `inert` state on siblings that were tracked by `_setPageInert`.
39410
+ * Preserves the previous inert state so externally-inerted elements are
39411
+ * not inadvertently re-enabled.
39412
+ * @private
39413
+ */
39414
+ _clearPageInert() {
39415
+ if (this._inertSiblings) {
39416
+ for (const entry of this._inertSiblings) {
39417
+ entry.element.inert = entry.wasInert;
39418
+ }
39419
+ this._inertSiblings = undefined;
37350
39420
  }
37351
39421
  }
37352
39422
 
@@ -37585,6 +39655,7 @@ let AuroDropdown$2 = class AuroDropdown extends AuroElement$5 {
37585
39655
  shape="${this.shape}"
37586
39656
  ?data-show="${this.isPopoverVisible}"
37587
39657
  ?isfullscreen="${this.isBibFullscreen}"
39658
+ ?desktopmodal="${this.desktopModal}"
37588
39659
  .dialogLabel="${this.bibDialogLabel}"
37589
39660
  ${n$6(this.bibElement)}
37590
39661
  >
@@ -39139,7 +41210,7 @@ let AuroHelpText$6 = class AuroHelpText extends i$4 {
39139
41210
  }
39140
41211
  };
39141
41212
 
39142
- var formkitVersion$6 = '202605201646';
41213
+ var formkitVersion$6 = '202605210248';
39143
41214
 
39144
41215
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
39145
41216
  // See LICENSE in the project root for license information.
@@ -39877,6 +41948,14 @@ let AuroBibtemplate$2 = class AuroBibtemplate extends i$4 {
39877
41948
  large: {
39878
41949
  type: Boolean,
39879
41950
  reflect: true
41951
+ },
41952
+
41953
+ /**
41954
+ * If declared, the footer slot will be rendered even when not in fullscreen mode.
41955
+ */
41956
+ showFooter: {
41957
+ type: Boolean,
41958
+ reflect: true
39880
41959
  }
39881
41960
  };
39882
41961
  }
@@ -39979,7 +42058,7 @@ let AuroBibtemplate$2 = class AuroBibtemplate extends i$4 {
39979
42058
  <slot></slot>
39980
42059
  </div>
39981
42060
 
39982
- ${this.isFullscreen ? u$c`
42061
+ ${this.isFullscreen || this.showFooter ? u$c`
39983
42062
  <div id="footerContainer">
39984
42063
  <slot name="footer"></slot>
39985
42064
  </div>` : null}
@@ -42557,7 +44636,7 @@ let AuroHelpText$5 = class AuroHelpText extends i$4 {
42557
44636
  }
42558
44637
  };
42559
44638
 
42560
- var formkitVersion$5 = '202605201646';
44639
+ var formkitVersion$5 = '202605210248';
42561
44640
 
42562
44641
  // Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
42563
44642
  // See LICENSE in the project root for license information.
@@ -44729,7 +46808,7 @@ let AuroHelpText$4 = class AuroHelpText extends i$4 {
44729
46808
  }
44730
46809
  };
44731
46810
 
44732
- var formkitVersion$4 = '202605201646';
46811
+ var formkitVersion$4 = '202605210248';
44733
46812
 
44734
46813
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
44735
46814
  // See LICENSE in the project root for license information.
@@ -46370,7 +48449,7 @@ const comboboxKeyboardStrategy = {
46370
48449
 
46371
48450
  // navigate if bib is open otherwise open it
46372
48451
  if (component.dropdown.isPopoverVisible) {
46373
- if (evt.altKey || evt.ctrlKey || evt.metaKey) {
48452
+ if (evt.altKey || evt.metaKey) {
46374
48453
  component.activateLastEnabledAvailableOption();
46375
48454
  } else {
46376
48455
  navigateArrow$1(component, 'down');
@@ -46393,7 +48472,7 @@ const comboboxKeyboardStrategy = {
46393
48472
 
46394
48473
  // navigate if bib is open otherwise open it
46395
48474
  if (component.dropdown.isPopoverVisible) {
46396
- if (evt.altKey || evt.ctrlKey || evt.metaKey) {
48475
+ if (evt.altKey || evt.metaKey) {
46397
48476
  component.activateFirstEnabledAvailableOption();
46398
48477
  } else {
46399
48478
  navigateArrow$1(component, 'up');
@@ -49718,7 +51797,7 @@ function applyKeyboardStrategy$2(component, strategy, options = {}) {
49718
51797
  });
49719
51798
  }
49720
51799
 
49721
- var styleCss$2$1$1 = i$7`:host{position:fixed;z-index:var(--depth-tooltip, 400);display:none;isolation:isolate}:host dialog{width:auto;max-width:none;height:auto;max-height:none;padding:0;border:none;margin:0;outline:none;transform:translateZ(0)}:host dialog::backdrop{background:transparent}:host(:not([isfullscreen])) dialog{position:relative;inset:unset}:host(:not([isfullscreen])) .container.shape-box{border-radius:unset}:host(:not([isfullscreen])) .container[class*=shape-pill],:host(:not([isfullscreen])) .container[class*=shape-snowflake]{border-radius:30px}:host(:not([isfullscreen])) .container[class*=shape-rounded]{border-radius:16px}:host(:not([matchWidth])) .container{min-width:fit-content}:host([isfullscreen]){position:fixed;top:0;left:0}:host([isfullscreen]) .container{width:100dvw;max-width:none;height:100dvh;max-height:none;border-radius:unset;margin-top:0;box-shadow:unset;overscroll-behavior:contain}:host([isfullscreen]) .container::backdrop{background:var(--ds-color-background-primary, #fff)}:host(:popover-open){position:fixed;overflow:visible;padding:0;border:none;margin:0;background:transparent;inset:unset;outline:none}:host([data-show]){display:flex}:host([common]:not([isfullscreen])) .container,:host([rounded]:not([isfullscreen])) .container{border-radius:var(--ds-border-radius, 0.375rem)}:host([common][isfullscreen]) .container,:host([rounded][isfullscreen]) .container{border-radius:unset;box-shadow:unset}.container{display:inline-block;overflow:auto;box-sizing:border-box;border-radius:var(--ds-border-radius, 0.375rem);margin:var(--ds-size-50, 0.25rem) 0}.util_displayHiddenVisually{position:absolute;overflow:hidden;width:1px;height:1px;padding:0;border:0;margin:-1px;clip-path:inset(50%);white-space:nowrap}`;
51800
+ var styleCss$2$1$1 = i$7`:host{position:fixed;z-index:var(--depth-tooltip, 400);display:none;isolation:isolate}:host dialog{width:auto;max-width:none;height:auto;max-height:none;padding:0;border:none;margin:0;outline:none;transform:translateZ(0)}:host dialog::backdrop{background:transparent}:host(:not([isfullscreen])) dialog{position:relative;inset:unset}:host(:not([isfullscreen])) .container.shape-box{border-radius:unset}:host(:not([isfullscreen])) .container[class*=shape-pill],:host(:not([isfullscreen])) .container[class*=shape-snowflake]{border-radius:30px}:host(:not([isfullscreen])) .container[class*=shape-rounded]{border-radius:16px}:host([desktopmodal]:popover-open)::backdrop{background:transparent}:host(:not([matchWidth])) .container{min-width:fit-content}:host([isfullscreen]){position:fixed;top:0;left:0}:host([isfullscreen]) .container{width:100dvw;max-width:none;height:100dvh;max-height:none;border-radius:unset;margin-top:0;box-shadow:unset;overscroll-behavior:contain}:host([isfullscreen]) .container::backdrop{background:var(--ds-color-background-primary, #fff)}:host(:popover-open){position:fixed;overflow:visible;padding:0;border:none;margin:0;background:transparent;inset:unset;outline:none}:host([data-show]){display:flex}:host([common]:not([isfullscreen])) .container,:host([rounded]:not([isfullscreen])) .container{border-radius:var(--ds-border-radius, 0.375rem)}:host([common][isfullscreen]) .container,:host([rounded][isfullscreen]) .container{border-radius:unset;box-shadow:unset}.container{display:inline-block;overflow:auto;box-sizing:border-box;border-radius:var(--ds-border-radius, 0.375rem);margin:var(--ds-size-50, 0.25rem) 0}.util_displayHiddenVisually{position:absolute;overflow:hidden;width:1px;height:1px;padding:0;border:0;margin:-1px;clip-path:inset(50%);white-space:nowrap}`;
49722
51801
 
49723
51802
  var colorCss$2$1 = i$7`.container{background-color:var(--ds-auro-dropdownbib-container-color);box-shadow:var(--ds-auro-dropdownbib-boxshadow-color);color:var(--ds-auro-dropdownbib-text-color)}`;
49724
51803
 
@@ -50349,7 +52428,7 @@ let AuroHelpText$2 = class AuroHelpText extends i$4 {
50349
52428
  }
50350
52429
  };
50351
52430
 
50352
- var formkitVersion$2 = '202605201646';
52431
+ var formkitVersion$2 = '202605210248';
50353
52432
 
50354
52433
  let AuroElement$2$1 = class AuroElement extends i$4 {
50355
52434
  static get properties() {
@@ -50529,6 +52608,7 @@ let AuroDropdown$1 = class AuroDropdown extends AuroElement$2$1 {
50529
52608
  _intializeDefaults() {
50530
52609
  this.appearance = 'default';
50531
52610
  this.chevron = false;
52611
+ this.desktopModal = false;
50532
52612
  this.disabled = false;
50533
52613
  this.disableKeyboardHandling = false;
50534
52614
  this.error = false;
@@ -50709,6 +52789,14 @@ let AuroDropdown$1 = class AuroDropdown extends AuroElement$2$1 {
50709
52789
  reflect: true
50710
52790
  },
50711
52791
 
52792
+ /**
52793
+ * If declared, the dropdown will behave as a modal dialog when in a desktop viewport size.
52794
+ */
52795
+ desktopModal: {
52796
+ type: Boolean,
52797
+ reflect: true
52798
+ },
52799
+
50712
52800
  /**
50713
52801
  * If declared, the dropdown will only show by calling the API .show() public method.
50714
52802
  */
@@ -50996,6 +53084,15 @@ let AuroDropdown$1 = class AuroDropdown extends AuroElement$2$1 {
50996
53084
 
50997
53085
  disconnectedCallback() {
50998
53086
  super.disconnectedCallback();
53087
+ this._clearPageInert();
53088
+ if (this._bibTabHandler) {
53089
+ this.removeEventListener('keydown', this._bibTabHandler);
53090
+ this._bibTabHandler = undefined;
53091
+ }
53092
+ if (this.focusTrap) {
53093
+ this.focusTrap.disconnect();
53094
+ this.focusTrap = undefined;
53095
+ }
50999
53096
  if (this.floater) {
51000
53097
  this.floater.hideBib('disconnect');
51001
53098
  this.floater.disconnect();
@@ -51023,19 +53120,45 @@ let AuroDropdown$1 = class AuroDropdown extends AuroElement$2$1 {
51023
53120
  if (this.isPopoverVisible) {
51024
53121
  // Fullscreen: use showModal() for native accessibility (inert outside, focus trap)
51025
53122
  // Desktop: use show() for Floating UI positioning + FocusTrap for focus management
51026
- const useModal = this.isBibFullscreen;
51027
- this.bibElement.value.open(useModal);
53123
+ this.bibElement.value.open(this.isBibFullscreen);
53124
+ this.updateFocusTrap();
53125
+
53126
+ // Desktop modal: make siblings inert so content outside is not interactive
53127
+ if (this.desktopModal && !this.isBibFullscreen) {
53128
+ this._setPageInert();
53129
+ }
51028
53130
  } else {
51029
53131
  this.bibElement.value.close();
53132
+ this._clearPageInert();
51030
53133
  }
51031
53134
  }
51032
53135
 
51033
53136
  // When fullscreen strategy changes while open, re-open dialog with correct mode
51034
53137
  // (e.g. resizing from desktop → mobile while dropdown is open)
51035
53138
  if (changedProperties.has('isBibFullscreen') && this.isPopoverVisible && this.bibElement.value) {
51036
- const useModal = this.isBibFullscreen;
51037
53139
  this.bibElement.value.close();
51038
- this.bibElement.value.open(useModal);
53140
+ this.bibElement.value.open(this.isBibFullscreen);
53141
+
53142
+ // Re-initialize focus management for the new strategy
53143
+ this.updateFocusTrap();
53144
+
53145
+ // Toggle inert: desktop modal needs it, fullscreen showModal() handles it natively
53146
+ if (this.desktopModal && !this.isBibFullscreen) {
53147
+ this._setPageInert();
53148
+ } else {
53149
+ this._clearPageInert();
53150
+ }
53151
+ }
53152
+
53153
+ // Handle desktopModal toggled while the dropdown is already open.
53154
+ // Re-initialize focus trapping and page inert state to match the new mode.
53155
+ if (changedProperties.has('desktopModal') && this.isPopoverVisible && !this.isBibFullscreen) {
53156
+ this.updateFocusTrap();
53157
+ if (this.desktopModal) {
53158
+ this._setPageInert();
53159
+ } else {
53160
+ this._clearPageInert();
53161
+ }
51039
53162
  }
51040
53163
  }
51041
53164
 
@@ -51045,8 +53168,14 @@ let AuroDropdown$1 = class AuroDropdown extends AuroElement$2$1 {
51045
53168
  * @param {CustomEvent} event - The custom event that contains the dropdown toggle information.
51046
53169
  */
51047
53170
  handleDropdownToggle(event) {
51048
- this.updateFocusTrap();
51049
53171
  this.isPopoverVisible = event.detail.expanded;
53172
+
53173
+ // Tear down FocusTrap when closing. Creation happens in updated()
53174
+ // after the dialog is open so getFocusableElements can find content.
53175
+ if (!this.isPopoverVisible) {
53176
+ this.updateFocusTrap();
53177
+ }
53178
+
51050
53179
  const eventType = event.detail.eventType || "unknown";
51051
53180
  if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown") {
51052
53181
  this.trigger.focus();
@@ -51145,19 +53274,178 @@ let AuroDropdown$1 = class AuroDropdown extends AuroElement$2$1 {
51145
53274
  * @private
51146
53275
  */
51147
53276
  updateFocusTrap() {
53277
+ // Always clean up existing handlers/traps before setting up new ones
53278
+ // to prevent duplicate listeners on repeated calls.
53279
+ if (this._bibTabHandler) {
53280
+ this.removeEventListener('keydown', this._bibTabHandler);
53281
+ this._bibTabHandler = undefined;
53282
+ }
53283
+
53284
+ if (this.focusTrap) {
53285
+ this.focusTrap.disconnect();
53286
+ this.focusTrap = undefined;
53287
+ }
53288
+
51148
53289
  if (this.isPopoverVisible) {
51149
53290
  if (!this.isBibFullscreen) {
51150
- // Desktop: show() doesn't trap focus, so use FocusTrap
51151
- this.focusTrap = new FocusTrap$1(this.bibContent);
51152
- this.focusTrap.focusFirstElement();
53291
+ if (this.desktopModal) {
53292
+ // Desktop modal: trap focus only within the bib content.
53293
+ // Can't use FocusTrap on the bib element because keydown events
53294
+ // from slotted content bubble through the dropdown host (light DOM),
53295
+ // not through the bib (shadow projection target). Using FocusTrap
53296
+ // on the dropdown would include the trigger in the tab cycle.
53297
+ // Instead, listen for Tab on the dropdown and manually wrap focus
53298
+ // within the bib's focusable elements.
53299
+ this._bibTabHandler = (event) => {
53300
+ if (event.key !== 'Tab') {
53301
+ return;
53302
+ }
53303
+
53304
+ // Collect focusable elements from the bib content.
53305
+ const focusables = getFocusableElements$1(this.bibContent);
53306
+
53307
+ // Fallback: try from slotted content directly
53308
+ if (!focusables.length) {
53309
+ const slot = this.shadowRoot.querySelector('.slotContent slot');
53310
+ const assignedNodes = slot ? slot.assignedNodes({ flatten: true }) : [];
53311
+
53312
+ for (const node of assignedNodes) {
53313
+ if (node.nodeType === Node.ELEMENT_NODE) {
53314
+ focusables.push(...getFocusableElements$1(node));
53315
+ }
53316
+ }
53317
+ }
53318
+
53319
+ if (!focusables.length) {
53320
+ return;
53321
+ }
53322
+
53323
+ event.preventDefault();
53324
+
53325
+ const direction = event.shiftKey ? -1 : 1; // eslint-disable-line no-magic-numbers
53326
+
53327
+ // Walk the active element chain through shadow roots
53328
+ const actives = this._getActiveElements();
53329
+
53330
+ let idx = focusables.findIndex((el) => actives.includes(el));
53331
+
53332
+ if (idx === -1) { // eslint-disable-line no-magic-numbers
53333
+ // Focus is not on a known element — move to first/last
53334
+ idx = direction === 1 ? -1 : focusables.length; // eslint-disable-line no-magic-numbers
53335
+ }
53336
+
53337
+ // Try each element in order, skipping any that can't receive focus
53338
+ // (e.g. hidden elements, elements in collapsed sections)
53339
+ for (let index = 0; index < focusables.length; index++) { // eslint-disable-line no-plusplus
53340
+ let nextIdx = idx + direction;
53341
+
53342
+ // Wrap around
53343
+ if (nextIdx < 0) {
53344
+ nextIdx = focusables.length - 1;
53345
+ } else if (nextIdx >= focusables.length) {
53346
+ nextIdx = 0;
53347
+ }
53348
+
53349
+ focusables[nextIdx].focus();
53350
+
53351
+ // Verify focus actually moved to the target
53352
+ const newActives = this._getActiveElements();
53353
+
53354
+ if (newActives.includes(focusables[nextIdx])) {
53355
+ return;
53356
+ }
53357
+
53358
+ // Focus didn't stick — skip this element and try the next
53359
+ idx = nextIdx;
53360
+ }
53361
+ };
53362
+ this.addEventListener('keydown', this._bibTabHandler);
53363
+
53364
+ // Move initial focus into the bib content, matching FocusTrap behavior
53365
+ requestAnimationFrame(() => {
53366
+ const focusables = getFocusableElements$1(this.bibContent);
53367
+ if (focusables.length) {
53368
+ focusables[0].focus();
53369
+ }
53370
+ });
53371
+ } else {
53372
+ // Normal desktop: use FocusTrap on the bib element
53373
+ this.focusTrap = new FocusTrap$1(this.bibContent);
53374
+ this.focusTrap.focusFirstElement();
53375
+ }
51153
53376
  }
51154
53377
  // Fullscreen: showModal() provides native focus trapping
53378
+ }
53379
+ }
53380
+
53381
+ /**
53382
+ * Returns the chain of active (focused) elements through shadow roots.
53383
+ * @private
53384
+ * @returns {Array<HTMLElement>}
53385
+ */
53386
+ _getActiveElements() {
53387
+ let { activeElement } = document;
53388
+ const actives = [activeElement];
53389
+
53390
+ while (activeElement?.shadowRoot?.activeElement) {
53391
+ activeElement = activeElement.shadowRoot.activeElement;
53392
+ actives.push(activeElement);
53393
+ }
53394
+
53395
+ return actives;
53396
+ }
53397
+
53398
+ /**
53399
+ * Sets `inert` on sibling elements of the dropdown's top-level host
53400
+ * so that content outside the dropdown is not interactive while the modal is open.
53401
+ * Walks up through shadow DOM boundaries to find the outermost host element
53402
+ * in the light DOM, then sets `inert` on siblings at each ancestor level
53403
+ * to ensure all page content outside the host subtree is inert.
53404
+ * @private
53405
+ */
53406
+ _setPageInert() {
53407
+ if (this._inertSiblings) {
51155
53408
  return;
51156
53409
  }
51157
53410
 
51158
- if (this.focusTrap) {
51159
- this.focusTrap.disconnect();
51160
- this.focusTrap = undefined;
53411
+ this._inertSiblings = [];
53412
+
53413
+ // Walk up through shadow DOM boundaries to find the topmost host
53414
+ // element in the light DOM. For example, if this dropdown is inside
53415
+ // auro-datepicker's shadow DOM, we walk up to the datepicker element
53416
+ // so we set inert on its siblings — not on the datepicker itself.
53417
+ let host = this;
53418
+ while (host.getRootNode() instanceof ShadowRoot) {
53419
+ host = host.getRootNode().host;
53420
+ }
53421
+
53422
+ // Walk up the ancestor chain, inerting siblings at each level
53423
+ // to ensure the entire page outside the host subtree is inert.
53424
+ let current = host;
53425
+ while (current.parentElement) {
53426
+ const parent = current.parentElement;
53427
+ for (const sibling of parent.children) {
53428
+ if (sibling !== current) {
53429
+ this._inertSiblings.push({ element: sibling, wasInert: sibling.inert });
53430
+ sibling.inert = true;
53431
+ }
53432
+ }
53433
+ current = parent;
53434
+ }
53435
+ }
53436
+
53437
+ /**
53438
+ * Restores `inert` state on siblings that were tracked by `_setPageInert`.
53439
+ * Preserves the previous inert state so externally-inerted elements are
53440
+ * not inadvertently re-enabled.
53441
+ * @private
53442
+ */
53443
+ _clearPageInert() {
53444
+ if (this._inertSiblings) {
53445
+ for (const entry of this._inertSiblings) {
53446
+ entry.element.inert = entry.wasInert;
53447
+ }
53448
+ this._inertSiblings = undefined;
51161
53449
  }
51162
53450
  }
51163
53451
 
@@ -51396,6 +53684,7 @@ let AuroDropdown$1 = class AuroDropdown extends AuroElement$2$1 {
51396
53684
  shape="${this.shape}"
51397
53685
  ?data-show="${this.isPopoverVisible}"
51398
53686
  ?isfullscreen="${this.isBibFullscreen}"
53687
+ ?desktopmodal="${this.desktopModal}"
51399
53688
  .dialogLabel="${this.bibDialogLabel}"
51400
53689
  ${n$6(this.bibElement)}
51401
53690
  >
@@ -58094,7 +60383,7 @@ let AuroHelpText$1$1 = class AuroHelpText extends i$4 {
58094
60383
  }
58095
60384
  };
58096
60385
 
58097
- var formkitVersion$1$1 = '202605201646';
60386
+ var formkitVersion$1$1 = '202605210248';
58098
60387
 
58099
60388
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
58100
60389
  // See LICENSE in the project root for license information.
@@ -59048,6 +61337,14 @@ let AuroBibtemplate$1 = class AuroBibtemplate extends i$4 {
59048
61337
  large: {
59049
61338
  type: Boolean,
59050
61339
  reflect: true
61340
+ },
61341
+
61342
+ /**
61343
+ * If declared, the footer slot will be rendered even when not in fullscreen mode.
61344
+ */
61345
+ showFooter: {
61346
+ type: Boolean,
61347
+ reflect: true
59051
61348
  }
59052
61349
  };
59053
61350
  }
@@ -59150,7 +61447,7 @@ let AuroBibtemplate$1 = class AuroBibtemplate extends i$4 {
59150
61447
  <slot></slot>
59151
61448
  </div>
59152
61449
 
59153
- ${this.isFullscreen ? u$c`
61450
+ ${this.isFullscreen || this.showFooter ? u$c`
59154
61451
  <div id="footerContainer">
59155
61452
  <slot name="footer"></slot>
59156
61453
  </div>` : null}
@@ -59159,7 +61456,7 @@ let AuroBibtemplate$1 = class AuroBibtemplate extends i$4 {
59159
61456
  }
59160
61457
  };
59161
61458
 
59162
- var formkitVersion$3 = '202605201646';
61459
+ var formkitVersion$3 = '202605210248';
59163
61460
 
59164
61461
  var styleCss$1$3 = i$7`.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}`;
59165
61462
 
@@ -64645,30 +66942,28 @@ function navigateArrow(component, direction, options = {}) {
64645
66942
  const selectKeyboardStrategy = {
64646
66943
  ArrowDown(component, evt, ctx) {
64647
66944
  evt.preventDefault();
64648
- if (ctx.isExpanded) {
64649
- if (evt.altKey || evt.ctrlKey || evt.metaKey) {
64650
- // navigate to last enabled option
64651
- selectKeyboardStrategy.End(component, evt, ctx);
64652
- } else {
64653
- navigateArrow(component, 'down', { ctx });
64654
- }
64655
- } else {
64656
- component.dropdown.show();
66945
+ if (evt.altKey || evt.metaKey) {
66946
+ // navigate to last enabled option
66947
+ selectKeyboardStrategy.End(component, evt, ctx);
66948
+ return;
64657
66949
  }
66950
+ navigateArrow(component, 'down', {
66951
+ ctx,
66952
+ showFn: () => component.dropdown.show(),
66953
+ });
64658
66954
  },
64659
66955
 
64660
66956
  ArrowUp(component, evt, ctx) {
64661
66957
  evt.preventDefault();
64662
- if (ctx.isExpanded) {
64663
- if (evt.altKey || evt.ctrlKey || evt.metaKey) {
64664
- // navigate to first enabled option
64665
- selectKeyboardStrategy.Home(component, evt, ctx);
64666
- } else {
64667
- navigateArrow(component, 'up', { ctx });
64668
- }
64669
- } else {
64670
- component.dropdown.show();
66958
+ if (evt.altKey || evt.metaKey) {
66959
+ // navigate to first enabled option
66960
+ selectKeyboardStrategy.Home(component, evt, ctx);
66961
+ return;
64671
66962
  }
66963
+ navigateArrow(component, 'up', {
66964
+ ctx,
66965
+ showFn: () => component.dropdown.show(),
66966
+ });
64672
66967
  },
64673
66968
 
64674
66969
  Escape(component, evt, ctx) {
@@ -68020,7 +70315,7 @@ function applyKeyboardStrategy(component, strategy, options = {}) {
68020
70315
  });
68021
70316
  }
68022
70317
 
68023
- var styleCss$2$1 = i$7`:host{position:fixed;z-index:var(--depth-tooltip, 400);display:none;isolation:isolate}:host dialog{width:auto;max-width:none;height:auto;max-height:none;padding:0;border:none;margin:0;outline:none;transform:translateZ(0)}:host dialog::backdrop{background:transparent}:host(:not([isfullscreen])) dialog{position:relative;inset:unset}:host(:not([isfullscreen])) .container.shape-box{border-radius:unset}:host(:not([isfullscreen])) .container[class*=shape-pill],:host(:not([isfullscreen])) .container[class*=shape-snowflake]{border-radius:30px}:host(:not([isfullscreen])) .container[class*=shape-rounded]{border-radius:16px}:host(:not([matchWidth])) .container{min-width:fit-content}:host([isfullscreen]){position:fixed;top:0;left:0}:host([isfullscreen]) .container{width:100dvw;max-width:none;height:100dvh;max-height:none;border-radius:unset;margin-top:0;box-shadow:unset;overscroll-behavior:contain}:host([isfullscreen]) .container::backdrop{background:var(--ds-color-background-primary, #fff)}:host(:popover-open){position:fixed;overflow:visible;padding:0;border:none;margin:0;background:transparent;inset:unset;outline:none}:host([data-show]){display:flex}:host([common]:not([isfullscreen])) .container,:host([rounded]:not([isfullscreen])) .container{border-radius:var(--ds-border-radius, 0.375rem)}:host([common][isfullscreen]) .container,:host([rounded][isfullscreen]) .container{border-radius:unset;box-shadow:unset}.container{display:inline-block;overflow:auto;box-sizing:border-box;border-radius:var(--ds-border-radius, 0.375rem);margin:var(--ds-size-50, 0.25rem) 0}.util_displayHiddenVisually{position:absolute;overflow:hidden;width:1px;height:1px;padding:0;border:0;margin:-1px;clip-path:inset(50%);white-space:nowrap}`;
70318
+ var styleCss$2$1 = i$7`:host{position:fixed;z-index:var(--depth-tooltip, 400);display:none;isolation:isolate}:host dialog{width:auto;max-width:none;height:auto;max-height:none;padding:0;border:none;margin:0;outline:none;transform:translateZ(0)}:host dialog::backdrop{background:transparent}:host(:not([isfullscreen])) dialog{position:relative;inset:unset}:host(:not([isfullscreen])) .container.shape-box{border-radius:unset}:host(:not([isfullscreen])) .container[class*=shape-pill],:host(:not([isfullscreen])) .container[class*=shape-snowflake]{border-radius:30px}:host(:not([isfullscreen])) .container[class*=shape-rounded]{border-radius:16px}:host([desktopmodal]:popover-open)::backdrop{background:transparent}:host(:not([matchWidth])) .container{min-width:fit-content}:host([isfullscreen]){position:fixed;top:0;left:0}:host([isfullscreen]) .container{width:100dvw;max-width:none;height:100dvh;max-height:none;border-radius:unset;margin-top:0;box-shadow:unset;overscroll-behavior:contain}:host([isfullscreen]) .container::backdrop{background:var(--ds-color-background-primary, #fff)}:host(:popover-open){position:fixed;overflow:visible;padding:0;border:none;margin:0;background:transparent;inset:unset;outline:none}:host([data-show]){display:flex}:host([common]:not([isfullscreen])) .container,:host([rounded]:not([isfullscreen])) .container{border-radius:var(--ds-border-radius, 0.375rem)}:host([common][isfullscreen]) .container,:host([rounded][isfullscreen]) .container{border-radius:unset;box-shadow:unset}.container{display:inline-block;overflow:auto;box-sizing:border-box;border-radius:var(--ds-border-radius, 0.375rem);margin:var(--ds-size-50, 0.25rem) 0}.util_displayHiddenVisually{position:absolute;overflow:hidden;width:1px;height:1px;padding:0;border:0;margin:-1px;clip-path:inset(50%);white-space:nowrap}`;
68024
70319
 
68025
70320
  var colorCss$2 = i$7`.container{background-color:var(--ds-auro-dropdownbib-container-color);box-shadow:var(--ds-auro-dropdownbib-boxshadow-color);color:var(--ds-auro-dropdownbib-text-color)}`;
68026
70321
 
@@ -68651,7 +70946,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$4 {
68651
70946
  }
68652
70947
  };
68653
70948
 
68654
- var formkitVersion$1 = '202605201646';
70949
+ var formkitVersion$1 = '202605210248';
68655
70950
 
68656
70951
  class AuroElement extends i$4 {
68657
70952
  static get properties() {
@@ -68831,6 +71126,7 @@ class AuroDropdown extends AuroElement {
68831
71126
  _intializeDefaults() {
68832
71127
  this.appearance = 'default';
68833
71128
  this.chevron = false;
71129
+ this.desktopModal = false;
68834
71130
  this.disabled = false;
68835
71131
  this.disableKeyboardHandling = false;
68836
71132
  this.error = false;
@@ -69011,6 +71307,14 @@ class AuroDropdown extends AuroElement {
69011
71307
  reflect: true
69012
71308
  },
69013
71309
 
71310
+ /**
71311
+ * If declared, the dropdown will behave as a modal dialog when in a desktop viewport size.
71312
+ */
71313
+ desktopModal: {
71314
+ type: Boolean,
71315
+ reflect: true
71316
+ },
71317
+
69014
71318
  /**
69015
71319
  * If declared, the dropdown will only show by calling the API .show() public method.
69016
71320
  */
@@ -69298,6 +71602,15 @@ class AuroDropdown extends AuroElement {
69298
71602
 
69299
71603
  disconnectedCallback() {
69300
71604
  super.disconnectedCallback();
71605
+ this._clearPageInert();
71606
+ if (this._bibTabHandler) {
71607
+ this.removeEventListener('keydown', this._bibTabHandler);
71608
+ this._bibTabHandler = undefined;
71609
+ }
71610
+ if (this.focusTrap) {
71611
+ this.focusTrap.disconnect();
71612
+ this.focusTrap = undefined;
71613
+ }
69301
71614
  if (this.floater) {
69302
71615
  this.floater.hideBib('disconnect');
69303
71616
  this.floater.disconnect();
@@ -69325,19 +71638,45 @@ class AuroDropdown extends AuroElement {
69325
71638
  if (this.isPopoverVisible) {
69326
71639
  // Fullscreen: use showModal() for native accessibility (inert outside, focus trap)
69327
71640
  // Desktop: use show() for Floating UI positioning + FocusTrap for focus management
69328
- const useModal = this.isBibFullscreen;
69329
- this.bibElement.value.open(useModal);
71641
+ this.bibElement.value.open(this.isBibFullscreen);
71642
+ this.updateFocusTrap();
71643
+
71644
+ // Desktop modal: make siblings inert so content outside is not interactive
71645
+ if (this.desktopModal && !this.isBibFullscreen) {
71646
+ this._setPageInert();
71647
+ }
69330
71648
  } else {
69331
71649
  this.bibElement.value.close();
71650
+ this._clearPageInert();
69332
71651
  }
69333
71652
  }
69334
71653
 
69335
71654
  // When fullscreen strategy changes while open, re-open dialog with correct mode
69336
71655
  // (e.g. resizing from desktop → mobile while dropdown is open)
69337
71656
  if (changedProperties.has('isBibFullscreen') && this.isPopoverVisible && this.bibElement.value) {
69338
- const useModal = this.isBibFullscreen;
69339
71657
  this.bibElement.value.close();
69340
- this.bibElement.value.open(useModal);
71658
+ this.bibElement.value.open(this.isBibFullscreen);
71659
+
71660
+ // Re-initialize focus management for the new strategy
71661
+ this.updateFocusTrap();
71662
+
71663
+ // Toggle inert: desktop modal needs it, fullscreen showModal() handles it natively
71664
+ if (this.desktopModal && !this.isBibFullscreen) {
71665
+ this._setPageInert();
71666
+ } else {
71667
+ this._clearPageInert();
71668
+ }
71669
+ }
71670
+
71671
+ // Handle desktopModal toggled while the dropdown is already open.
71672
+ // Re-initialize focus trapping and page inert state to match the new mode.
71673
+ if (changedProperties.has('desktopModal') && this.isPopoverVisible && !this.isBibFullscreen) {
71674
+ this.updateFocusTrap();
71675
+ if (this.desktopModal) {
71676
+ this._setPageInert();
71677
+ } else {
71678
+ this._clearPageInert();
71679
+ }
69341
71680
  }
69342
71681
  }
69343
71682
 
@@ -69347,8 +71686,14 @@ class AuroDropdown extends AuroElement {
69347
71686
  * @param {CustomEvent} event - The custom event that contains the dropdown toggle information.
69348
71687
  */
69349
71688
  handleDropdownToggle(event) {
69350
- this.updateFocusTrap();
69351
71689
  this.isPopoverVisible = event.detail.expanded;
71690
+
71691
+ // Tear down FocusTrap when closing. Creation happens in updated()
71692
+ // after the dialog is open so getFocusableElements can find content.
71693
+ if (!this.isPopoverVisible) {
71694
+ this.updateFocusTrap();
71695
+ }
71696
+
69352
71697
  const eventType = event.detail.eventType || "unknown";
69353
71698
  if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown") {
69354
71699
  this.trigger.focus();
@@ -69447,19 +71792,178 @@ class AuroDropdown extends AuroElement {
69447
71792
  * @private
69448
71793
  */
69449
71794
  updateFocusTrap() {
71795
+ // Always clean up existing handlers/traps before setting up new ones
71796
+ // to prevent duplicate listeners on repeated calls.
71797
+ if (this._bibTabHandler) {
71798
+ this.removeEventListener('keydown', this._bibTabHandler);
71799
+ this._bibTabHandler = undefined;
71800
+ }
71801
+
71802
+ if (this.focusTrap) {
71803
+ this.focusTrap.disconnect();
71804
+ this.focusTrap = undefined;
71805
+ }
71806
+
69450
71807
  if (this.isPopoverVisible) {
69451
71808
  if (!this.isBibFullscreen) {
69452
- // Desktop: show() doesn't trap focus, so use FocusTrap
69453
- this.focusTrap = new FocusTrap(this.bibContent);
69454
- this.focusTrap.focusFirstElement();
71809
+ if (this.desktopModal) {
71810
+ // Desktop modal: trap focus only within the bib content.
71811
+ // Can't use FocusTrap on the bib element because keydown events
71812
+ // from slotted content bubble through the dropdown host (light DOM),
71813
+ // not through the bib (shadow projection target). Using FocusTrap
71814
+ // on the dropdown would include the trigger in the tab cycle.
71815
+ // Instead, listen for Tab on the dropdown and manually wrap focus
71816
+ // within the bib's focusable elements.
71817
+ this._bibTabHandler = (event) => {
71818
+ if (event.key !== 'Tab') {
71819
+ return;
71820
+ }
71821
+
71822
+ // Collect focusable elements from the bib content.
71823
+ const focusables = getFocusableElements(this.bibContent);
71824
+
71825
+ // Fallback: try from slotted content directly
71826
+ if (!focusables.length) {
71827
+ const slot = this.shadowRoot.querySelector('.slotContent slot');
71828
+ const assignedNodes = slot ? slot.assignedNodes({ flatten: true }) : [];
71829
+
71830
+ for (const node of assignedNodes) {
71831
+ if (node.nodeType === Node.ELEMENT_NODE) {
71832
+ focusables.push(...getFocusableElements(node));
71833
+ }
71834
+ }
71835
+ }
71836
+
71837
+ if (!focusables.length) {
71838
+ return;
71839
+ }
71840
+
71841
+ event.preventDefault();
71842
+
71843
+ const direction = event.shiftKey ? -1 : 1; // eslint-disable-line no-magic-numbers
71844
+
71845
+ // Walk the active element chain through shadow roots
71846
+ const actives = this._getActiveElements();
71847
+
71848
+ let idx = focusables.findIndex((el) => actives.includes(el));
71849
+
71850
+ if (idx === -1) { // eslint-disable-line no-magic-numbers
71851
+ // Focus is not on a known element — move to first/last
71852
+ idx = direction === 1 ? -1 : focusables.length; // eslint-disable-line no-magic-numbers
71853
+ }
71854
+
71855
+ // Try each element in order, skipping any that can't receive focus
71856
+ // (e.g. hidden elements, elements in collapsed sections)
71857
+ for (let index = 0; index < focusables.length; index++) { // eslint-disable-line no-plusplus
71858
+ let nextIdx = idx + direction;
71859
+
71860
+ // Wrap around
71861
+ if (nextIdx < 0) {
71862
+ nextIdx = focusables.length - 1;
71863
+ } else if (nextIdx >= focusables.length) {
71864
+ nextIdx = 0;
71865
+ }
71866
+
71867
+ focusables[nextIdx].focus();
71868
+
71869
+ // Verify focus actually moved to the target
71870
+ const newActives = this._getActiveElements();
71871
+
71872
+ if (newActives.includes(focusables[nextIdx])) {
71873
+ return;
71874
+ }
71875
+
71876
+ // Focus didn't stick — skip this element and try the next
71877
+ idx = nextIdx;
71878
+ }
71879
+ };
71880
+ this.addEventListener('keydown', this._bibTabHandler);
71881
+
71882
+ // Move initial focus into the bib content, matching FocusTrap behavior
71883
+ requestAnimationFrame(() => {
71884
+ const focusables = getFocusableElements(this.bibContent);
71885
+ if (focusables.length) {
71886
+ focusables[0].focus();
71887
+ }
71888
+ });
71889
+ } else {
71890
+ // Normal desktop: use FocusTrap on the bib element
71891
+ this.focusTrap = new FocusTrap(this.bibContent);
71892
+ this.focusTrap.focusFirstElement();
71893
+ }
69455
71894
  }
69456
71895
  // Fullscreen: showModal() provides native focus trapping
71896
+ }
71897
+ }
71898
+
71899
+ /**
71900
+ * Returns the chain of active (focused) elements through shadow roots.
71901
+ * @private
71902
+ * @returns {Array<HTMLElement>}
71903
+ */
71904
+ _getActiveElements() {
71905
+ let { activeElement } = document;
71906
+ const actives = [activeElement];
71907
+
71908
+ while (activeElement?.shadowRoot?.activeElement) {
71909
+ activeElement = activeElement.shadowRoot.activeElement;
71910
+ actives.push(activeElement);
71911
+ }
71912
+
71913
+ return actives;
71914
+ }
71915
+
71916
+ /**
71917
+ * Sets `inert` on sibling elements of the dropdown's top-level host
71918
+ * so that content outside the dropdown is not interactive while the modal is open.
71919
+ * Walks up through shadow DOM boundaries to find the outermost host element
71920
+ * in the light DOM, then sets `inert` on siblings at each ancestor level
71921
+ * to ensure all page content outside the host subtree is inert.
71922
+ * @private
71923
+ */
71924
+ _setPageInert() {
71925
+ if (this._inertSiblings) {
69457
71926
  return;
69458
71927
  }
69459
71928
 
69460
- if (this.focusTrap) {
69461
- this.focusTrap.disconnect();
69462
- this.focusTrap = undefined;
71929
+ this._inertSiblings = [];
71930
+
71931
+ // Walk up through shadow DOM boundaries to find the topmost host
71932
+ // element in the light DOM. For example, if this dropdown is inside
71933
+ // auro-datepicker's shadow DOM, we walk up to the datepicker element
71934
+ // so we set inert on its siblings — not on the datepicker itself.
71935
+ let host = this;
71936
+ while (host.getRootNode() instanceof ShadowRoot) {
71937
+ host = host.getRootNode().host;
71938
+ }
71939
+
71940
+ // Walk up the ancestor chain, inerting siblings at each level
71941
+ // to ensure the entire page outside the host subtree is inert.
71942
+ let current = host;
71943
+ while (current.parentElement) {
71944
+ const parent = current.parentElement;
71945
+ for (const sibling of parent.children) {
71946
+ if (sibling !== current) {
71947
+ this._inertSiblings.push({ element: sibling, wasInert: sibling.inert });
71948
+ sibling.inert = true;
71949
+ }
71950
+ }
71951
+ current = parent;
71952
+ }
71953
+ }
71954
+
71955
+ /**
71956
+ * Restores `inert` state on siblings that were tracked by `_setPageInert`.
71957
+ * Preserves the previous inert state so externally-inerted elements are
71958
+ * not inadvertently re-enabled.
71959
+ * @private
71960
+ */
71961
+ _clearPageInert() {
71962
+ if (this._inertSiblings) {
71963
+ for (const entry of this._inertSiblings) {
71964
+ entry.element.inert = entry.wasInert;
71965
+ }
71966
+ this._inertSiblings = undefined;
69463
71967
  }
69464
71968
  }
69465
71969
 
@@ -69698,6 +72202,7 @@ class AuroDropdown extends AuroElement {
69698
72202
  shape="${this.shape}"
69699
72203
  ?data-show="${this.isPopoverVisible}"
69700
72204
  ?isfullscreen="${this.isBibFullscreen}"
72205
+ ?desktopmodal="${this.desktopModal}"
69701
72206
  .dialogLabel="${this.bibDialogLabel}"
69702
72207
  ${n$6(this.bibElement)}
69703
72208
  >
@@ -70065,6 +72570,14 @@ class AuroBibtemplate extends i$4 {
70065
72570
  large: {
70066
72571
  type: Boolean,
70067
72572
  reflect: true
72573
+ },
72574
+
72575
+ /**
72576
+ * If declared, the footer slot will be rendered even when not in fullscreen mode.
72577
+ */
72578
+ showFooter: {
72579
+ type: Boolean,
72580
+ reflect: true
70068
72581
  }
70069
72582
  };
70070
72583
  }
@@ -70167,7 +72680,7 @@ class AuroBibtemplate extends i$4 {
70167
72680
  <slot></slot>
70168
72681
  </div>
70169
72682
 
70170
- ${this.isFullscreen ? u$c`
72683
+ ${this.isFullscreen || this.showFooter ? u$c`
70171
72684
  <div id="footerContainer">
70172
72685
  <slot name="footer"></slot>
70173
72686
  </div>` : null}
@@ -70404,7 +72917,7 @@ class AuroHelpText extends i$4 {
70404
72917
  }
70405
72918
  }
70406
72919
 
70407
- var formkitVersion = '202605201646';
72920
+ var formkitVersion = '202605210248';
70408
72921
 
70409
72922
  var styleCss = i$7`.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}`;
70410
72923