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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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 +26492 -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 +2115 -184
  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 +2010 -155
  45. package/components/datepicker/dist/registered.js +2010 -155
  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 +2726 -219
  65. package/components/form/demo/getting-started.min.js +2726 -219
  66. package/components/form/demo/index.min.js +2726 -219
  67. package/components/form/demo/pages.json +1 -1
  68. package/components/form/demo/registerDemoDeps.min.js +2726 -219
  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 +2446 -1502
  103. package/package.json +2 -2
@@ -6743,7 +6743,7 @@ let AuroHelpText$9 = class AuroHelpText extends i$3 {
6743
6743
  }
6744
6744
  };
6745
6745
 
6746
- var formkitVersion$9 = '202605201646';
6746
+ var formkitVersion$9 = '202605210326';
6747
6747
 
6748
6748
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
6749
6749
  // See LICENSE in the project root for license information.
@@ -8766,7 +8766,6 @@ class UtilitiesCalendarRender {
8766
8766
  .max="${elem.max}"
8767
8767
  ?noRange="${elem.noRange}"
8768
8768
  .monthFirst="${elem.monthFirst}"
8769
- .hoveredDate="${elem.hoveredDate}"
8770
8769
  .dateTo="${elem.dateTo}"
8771
8770
  .dateFrom="${elem.dateFrom}"
8772
8771
  .locale="${elem.locale}"
@@ -8798,43 +8797,6 @@ var snowflakeStyle = i$5`:host([layout*=snowflake]) [auro-input]{flex:1;text-ali
8798
8797
 
8799
8798
  var snowflakeColors = i$5`:host([layout=snowflake]) [auro-dropdown]:not(:is([error],.hasFocus)){--ds-auro-dropdown-trigger-border-color: transparent}`;
8800
8799
 
8801
- var styleCss$7$1 = i$5`.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:""}`;
8802
-
8803
- var colorCss$7$1 = i$5`.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)}}`;
8804
-
8805
- var styleCss$6$1 = i$5`: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%}`;
8806
-
8807
- var colorCss$6$1 = i$5`: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)}`;
8808
-
8809
- /******************************************************************************
8810
- Copyright (c) Microsoft Corporation.
8811
-
8812
- Permission to use, copy, modify, and/or distribute this software for any
8813
- purpose with or without fee is hereby granted.
8814
-
8815
- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
8816
- REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
8817
- AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
8818
- INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
8819
- LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
8820
- OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
8821
- PERFORMANCE OF THIS SOFTWARE.
8822
- ***************************************************************************** */
8823
- /* global Reflect, Promise, SuppressedError, Symbol, Iterator */
8824
-
8825
-
8826
- function __decorate(decorators, target, key, desc) {
8827
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
8828
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
8829
- 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;
8830
- return c > 3 && r && Object.defineProperty(target, key, r), r;
8831
- }
8832
-
8833
- typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
8834
- var e = new Error(message);
8835
- return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
8836
- };
8837
-
8838
8800
  /**
8839
8801
  * @module constants
8840
8802
  * @summary Useful constants
@@ -14589,6 +14551,43 @@ function subYears(date, amount, options) {
14589
14551
  return addYears(date, -1, options);
14590
14552
  }
14591
14553
 
14554
+ var styleCss$7$1 = i$5`.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}`;
14555
+
14556
+ var colorCss$7$1 = i$5`.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)}}`;
14557
+
14558
+ var styleCss$6$1 = i$5`: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%}`;
14559
+
14560
+ var colorCss$6$1 = i$5`: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)}`;
14561
+
14562
+ /******************************************************************************
14563
+ Copyright (c) Microsoft Corporation.
14564
+
14565
+ Permission to use, copy, modify, and/or distribute this software for any
14566
+ purpose with or without fee is hereby granted.
14567
+
14568
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
14569
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
14570
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
14571
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
14572
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
14573
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
14574
+ PERFORMANCE OF THIS SOFTWARE.
14575
+ ***************************************************************************** */
14576
+ /* global Reflect, Promise, SuppressedError, Symbol, Iterator */
14577
+
14578
+
14579
+ function __decorate(decorators, target, key, desc) {
14580
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
14581
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
14582
+ 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;
14583
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
14584
+ }
14585
+
14586
+ typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
14587
+ var e = new Error(message);
14588
+ return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
14589
+ };
14590
+
14592
14591
  class RangeDatepickerCell extends i$3 {
14593
14592
  constructor() {
14594
14593
  super(...arguments);
@@ -15311,20 +15310,25 @@ __decorate([n$5({ type: Array })], RangeDatepickerCalendar.prototype, "dayNamesO
15311
15310
  __decorate([n$5({ type: Array })], RangeDatepickerCalendar.prototype, "daysOfMonth", void 0);
15312
15311
  AuroLibraryRuntimeUtils$5$1.prototype.registerComponent('wc-range-datepicker-calendar', RangeDatepickerCalendar);
15313
15312
 
15314
- var styleCss$5$1 = i$5`.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}}`;
15313
+ var styleCss$5$1 = i$5`.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}}`;
15315
15314
 
15316
- var colorCss$5$1 = i$5`: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}`;
15315
+ var colorCss$5$1 = i$5`: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}`;
15317
15316
 
15318
- 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$5`::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)}
15317
+ 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$5`::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)}
15319
15318
  `,xe=i$5`.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:""}
15320
15319
  `,Se=i$5`: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)}
15321
- `;class _e extends i$3{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$5`${xe}`,i$5`${be}`,i$5`${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$8`
15322
- <div id="popover" class="popover util_insetLg body-default" part="popover">
15320
+ `;class _e extends i$3{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$5`${xe}`,i$5`${be}`,i$5`${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$8`
15321
+ <div
15322
+ id="popover"
15323
+ class="popover util_insetLg body-default"
15324
+ part="popover"
15325
+ role="tooltip"
15326
+ aria-hidden="${this.isPopoverVisible?"false":"true"}">
15323
15327
  <div id="arrow" class="arrow" data-popper-arrow></div>
15324
- <span role="tooltip"><slot></slot></span>
15328
+ <slot></slot>
15325
15329
  </div>
15326
15330
 
15327
- <span>
15331
+ <span role="presentation">
15328
15332
  <slot name="trigger" data-trigger-placement="${this.placement}"></slot>
15329
15333
  </span>
15330
15334
  `}}
@@ -15339,7 +15343,6 @@ class AuroCalendarCell extends i$3 {
15339
15343
 
15340
15344
  this.day = null;
15341
15345
  this.selected = false;
15342
- this.hovered = false;
15343
15346
  this.dateTo = null;
15344
15347
  this.dateFrom = null;
15345
15348
  this.month = null;
@@ -15347,11 +15350,12 @@ class AuroCalendarCell extends i$3 {
15347
15350
  this.max = null;
15348
15351
  this.disabled = false;
15349
15352
  this.disabledDays = [];
15350
- this.hoveredDate = null;
15351
15353
  this.isCurrentDate = false;
15352
15354
  this._locale = null;
15353
15355
  this.dateStr = null;
15354
15356
  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.
15357
+ this.active = false;
15358
+ this.hasPopoverContent = false;
15355
15359
 
15356
15360
  this.runtimeUtils = new AuroLibraryRuntimeUtils$5$1();
15357
15361
 
@@ -15370,7 +15374,6 @@ class AuroCalendarCell extends i$3 {
15370
15374
  // ...super.properties,
15371
15375
  day: { type: Object },
15372
15376
  selected: { type: Boolean },
15373
- hovered: { type: Boolean },
15374
15377
  dateTo: { type: String },
15375
15378
  dateFrom: { type: String },
15376
15379
  month: { type: String },
@@ -15381,11 +15384,11 @@ class AuroCalendarCell extends i$3 {
15381
15384
  reflect: true
15382
15385
  },
15383
15386
  disabledDays: { type: Array },
15384
- hoveredDate: { type: String },
15385
15387
  isCurrentDate: { type: Boolean },
15386
15388
  locale: { type: Object },
15387
15389
  dateStr: { type: String },
15388
- renderForDateSlot: { type: Boolean }
15390
+ renderForDateSlot: { type: Boolean },
15391
+ hasPopoverContent: { type: Boolean }
15389
15392
  };
15390
15393
  }
15391
15394
 
@@ -15409,17 +15412,17 @@ class AuroCalendarCell extends i$3 {
15409
15412
  }
15410
15413
 
15411
15414
  /**
15412
- * Handles selected and hovered states of the calendar cell when the date changes.
15415
+ * Handles selected state of the calendar cell when the selection changes.
15416
+ * Also clears any imperative range preview classes so classMap is the
15417
+ * sole source of truth after a selection update.
15413
15418
  * @private
15414
15419
  * @param {Number} dateFrom - Depart date.
15415
15420
  * @param {Number} dateTo - Return date.
15416
- * @param {Number} hoveredDate - Hovered date.
15417
15421
  * @param {Object} day - An object containing the dateFrom and day of month values.
15418
15422
  * @returns {void}
15419
15423
  */
15420
- dateChanged(dateFrom, dateTo, hoveredDate, day) {
15424
+ dateChanged(dateFrom, dateTo, day) {
15421
15425
  this.selected = false;
15422
- this.hovered = false;
15423
15426
 
15424
15427
  const parsedDateFrom = parseInt(dateFrom, 10);
15425
15428
  const parsedDateTo = parseInt(dateTo, 10);
@@ -15431,10 +15434,6 @@ class AuroCalendarCell extends i$3 {
15431
15434
  if (day.date === departTimestamp || day.date === returnTimestamp) {
15432
15435
  this.selected = true;
15433
15436
  }
15434
-
15435
- if (((hoveredDate === day.date || day.date < hoveredDate) && day.date > parsedDateFrom && !parsedDateTo && !Number.isNaN(parsedDateFrom) && parsedDateFrom !== undefined && !this.selected) || (day.date > parsedDateFrom && day.date < parsedDateTo)) {
15436
- this.hovered = true;
15437
- }
15438
15437
  }
15439
15438
  }
15440
15439
 
@@ -15444,27 +15443,105 @@ class AuroCalendarCell extends i$3 {
15444
15443
  * @returns {void}
15445
15444
  */
15446
15445
  handleTap() {
15447
- if (!this.disabled) {
15446
+ if (!this.disabled && !this.isBlackout()) {
15448
15447
  this.datepicker.handleCellClick(this.day.date);
15449
15448
  }
15449
+
15450
+ // Set this cell as the active cell regardless of blackout status
15451
+ if (this.day) {
15452
+ this.dispatchEvent(new CustomEvent('calendar-cell-activate', {
15453
+ bubbles: true,
15454
+ composed: true,
15455
+ detail: { date: this.day.date }
15456
+ }));
15457
+ }
15450
15458
  }
15451
15459
 
15452
15460
  /**
15453
15461
  * Handles user hover events and dispatches a custom event.
15462
+ * Does NOT set any reactive properties — the range preview is handled
15463
+ * imperatively by the calendar component to avoid O(N) re-renders.
15454
15464
  * @private
15455
15465
  * @returns {void}
15456
15466
  */
15457
15467
  handleHover() {
15458
- this.hovered = true;
15459
-
15460
- let _a;
15461
15468
  this.dispatchEvent(new CustomEvent('date-is-hovered', {
15462
- detail: { date: (_a = this.day) === null || _a === void 0 ? void 0 : _a.date },
15469
+ detail: { date: this.day?.date },
15470
+ }));
15471
+ }
15472
+
15473
+ /**
15474
+ * Handles focus events on the cell button.
15475
+ * Dispatches a lightweight event for the calendar to handle SR
15476
+ * announcements and range preview updates without triggering
15477
+ * any Lit lifecycle updates.
15478
+ * @private
15479
+ * @returns {void}
15480
+ */
15481
+ handleFocus() {
15482
+ this.dispatchEvent(new CustomEvent('calendar-cell-focused', {
15483
+ bubbles: true,
15484
+ composed: true,
15485
+ detail: { date: this.day?.date },
15463
15486
  }));
15464
15487
  }
15465
15488
 
15466
15489
  /**
15467
- * Checks if the current date is a valid date depending on the min and max values.
15490
+ * Checks if the current date is outside the valid min/max range.
15491
+ * Out-of-range cells are not focusable and are hidden from screen readers.
15492
+ * @private
15493
+ * @param {Object} day - An object containing the dateFrom and day of month values.
15494
+ * @param {Number} min - The minimum date value.
15495
+ * @param {Number} max - The maximum date value.
15496
+ * @returns {Boolean} - True if the date is out of range.
15497
+ */
15498
+ isOutOfRange(day, min, max) {
15499
+ if (day && day.date != null) {
15500
+ return day.date < min || day.date > max;
15501
+ }
15502
+ return false;
15503
+ }
15504
+
15505
+ /**
15506
+ * Checks if the current date is a blackout date (in disabledDays but within range).
15507
+ * Blackout cells are focusable but not selectable.
15508
+ * @private
15509
+ * @returns {Boolean} - True if the date is a blackout date.
15510
+ */
15511
+ isBlackout() {
15512
+ if (!this.day || this.day.date == null || this.isOutOfRange(this.day, this.min, this.max)) {
15513
+ return false;
15514
+ }
15515
+
15516
+ // Check against disabledDays timestamps (legacy path)
15517
+ if (Array.isArray(this.disabledDays) && this.disabledDays.length > 0) {
15518
+ if (this.disabledDays.findIndex(d => parseInt(d, 10) === this.day.date) !== -1) {
15519
+ return true;
15520
+ }
15521
+ }
15522
+
15523
+ // Check against blackoutDates (ISO format YYYY-MM-DD) on the datepicker
15524
+ const blackoutDates = this.datepicker?.blackoutDates;
15525
+
15526
+ if (Array.isArray(blackoutDates) && blackoutDates.length > 0) {
15527
+ const date = new Date(this.day.date * 1000);
15528
+ const yyyy = date.getFullYear();
15529
+ const mm = String(date.getMonth() + 1).padStart(2, '0');
15530
+ const dd = String(date.getDate()).padStart(2, '0');
15531
+ const cellDate = `${yyyy}-${mm}-${dd}`;
15532
+ if (blackoutDates.includes(cellDate)) {
15533
+ return true;
15534
+ }
15535
+ }
15536
+
15537
+ return false;
15538
+ }
15539
+
15540
+ /**
15541
+ * Checks if the current date is disabled based on min/max range or the
15542
+ * legacy disabledDays timestamp list. Sets the `disabled` attribute on the
15543
+ * host when the date falls outside the allowed range or appears in
15544
+ * disabledDays. Note: blackout dates are handled separately by `isBlackout()`.
15468
15545
  * @private
15469
15546
  * @param {Object} day - An object containing the dateFrom and day of month values.
15470
15547
  * @param {Number} min - The minimum date value.
@@ -15484,6 +15561,105 @@ class AuroCalendarCell extends i$3 {
15484
15561
  return false;
15485
15562
  }
15486
15563
 
15564
+ /**
15565
+ * Generates a unique cell ID in the format cell-YYYY-MM-DD.
15566
+ * @private
15567
+ * @returns {String} The unique cell ID.
15568
+ */
15569
+ getCellId() {
15570
+ if (!this.day || !this.day.date) return '';
15571
+ const date = new Date(this.day.date * 1000);
15572
+ const year = date.getFullYear();
15573
+ const month = String(date.getMonth() + 1).padStart(2, '0');
15574
+ const day = String(date.getDate()).padStart(2, '0');
15575
+ return `cell-${year}-${month}-${day}`;
15576
+ }
15577
+
15578
+ /**
15579
+ * Generates a localized aria-label for the cell button using Intl.DateTimeFormat.
15580
+ * Includes range position and blackout status.
15581
+ * @private
15582
+ * @returns {String} The aria-label string.
15583
+ */
15584
+ getAriaLabel() {
15585
+ if (!this.day || this.day.date === undefined) return '';
15586
+
15587
+ const date = new Date(this.day.date * 1000);
15588
+
15589
+ // Generate localized full date string using the configured locale
15590
+ const localeCode = this.locale?.code || undefined;
15591
+ const dateFormatter = new Intl.DateTimeFormat(localeCode, {
15592
+ weekday: 'long',
15593
+ year: 'numeric',
15594
+ month: 'long',
15595
+ day: 'numeric'
15596
+ });
15597
+
15598
+ let label = dateFormatter.format(date);
15599
+
15600
+ // Append date slot content (e.g. prices) so it is announced with the date.
15601
+ if (this.renderForDateSlot) {
15602
+ const dateSlotEl = this.querySelector(`[slot="date_${this.dateStr}"]`);
15603
+ if (dateSlotEl) {
15604
+ const text = dateSlotEl.innerText?.trim();
15605
+ if (text) {
15606
+ label += `, ${text}`;
15607
+ }
15608
+ }
15609
+ }
15610
+
15611
+ // appending popover content here so that it gets read in a logical order with the other date content.
15612
+ if (this.hasPopoverContent) {
15613
+ const popoverEl = this.querySelector(`[slot="popover_${this.dateStr}"]`);
15614
+ if (popoverEl) {
15615
+ label += `, ${popoverEl.innerText.trim()}`;
15616
+ }
15617
+ }
15618
+
15619
+ // Append range position label for range datepickers
15620
+ const rangePosition = this.getRangePosition();
15621
+ if (rangePosition) {
15622
+ label += `, ${rangePosition}`;
15623
+ }
15624
+
15625
+ // Append blackout label for blackout cells
15626
+ if (this.isBlackout()) {
15627
+ label += `, ${this.datepicker?.blackoutLabel || 'unavailable'}`;
15628
+ }
15629
+
15630
+ return label;
15631
+ }
15632
+
15633
+ /**
15634
+ * Determines the range position of this cell relative to the current selection.
15635
+ * @private
15636
+ * @returns {String|null} Range position label or null if not in range mode.
15637
+ */
15638
+ getRangePosition() {
15639
+ if (!this.datepicker || !this.datepicker.hasAttribute('range')) return null;
15640
+
15641
+ const parsedDateFrom = Number.parseInt(this.dateFrom, 10);
15642
+ if (!Number.isFinite(parsedDateFrom)) return null;
15643
+
15644
+ const departTimestamp = startOfDay(parsedDateFrom * 1000) / 1000;
15645
+ const dayDate = this.day.date;
15646
+
15647
+ const parsedDateTo = Number.parseInt(this.dateTo, 10);
15648
+ const hasDateTo = Number.isFinite(parsedDateTo);
15649
+ const returnTimestamp = hasDateTo ? startOfDay(parsedDateTo * 1000) / 1000 : null;
15650
+
15651
+ if (dayDate === departTimestamp) return this.datepicker.rangeLabelStart || 'range start';
15652
+
15653
+ if (hasDateTo && dayDate === returnTimestamp) return this.datepicker.rangeLabelEnd || 'range end';
15654
+
15655
+ if (dayDate < departTimestamp) return this.datepicker.rangeLabelBeforeRange || 'before range';
15656
+
15657
+ if (hasDateTo && dayDate > departTimestamp && dayDate < returnTimestamp) return this.datepicker.rangeLabelInRange || 'in range';
15658
+
15659
+ // After start date, no end date yet, or after end date
15660
+ return this.datepicker.rangeLabelAfterRange || 'after range';
15661
+ }
15662
+
15487
15663
  /**
15488
15664
  * Checks if the current date is the depart date.
15489
15665
  * @private
@@ -15645,9 +15821,9 @@ class AuroCalendarCell extends i$3 {
15645
15821
 
15646
15822
  if (popoverSlotContent) {
15647
15823
  this.appendChild(popoverSlotContent.cloneNode(true));
15648
- this.auroPopover.removeAttribute('disabled');
15824
+ this.hasPopoverContent = true;
15649
15825
  } else {
15650
- this.auroPopover.setAttribute('disabled', true);
15826
+ this.hasPopoverContent = false;
15651
15827
  }
15652
15828
  } catch (err) { // eslint-disable-line no-unused-vars
15653
15829
  // Error handling goes here
@@ -15663,60 +15839,238 @@ class AuroCalendarCell extends i$3 {
15663
15839
  return;
15664
15840
  }
15665
15841
  this.datepicker = calendar.datepicker;
15666
- this.datepicker.addEventListener('auroDatePicker-newSlotContent', () => {
15842
+ this._slotContentHandler = () => {
15667
15843
  this.handleSlotContent();
15844
+ // Force re-render so isBlackout()/aria-disabled reflect updated blackoutDates.
15845
+ this.requestUpdate();
15846
+ };
15847
+ this.datepicker.addEventListener('auroDatePicker-newSlotContent', this._slotContentHandler);
15848
+
15849
+ // Cache button reference for imperative class manipulation.
15850
+ this.updateComplete.then(() => {
15851
+ this._cachedButton = this.shadowRoot.querySelector('button.day');
15668
15852
  });
15669
15853
 
15854
+ // Trigger an initial update now that `this.datepicker` is assigned so
15855
+ // cells reflect blackout/slot state that was configured before first render.
15856
+ this.requestUpdate();
15857
+
15858
+ this.calendarMonth = calendarMonth;
15859
+ this.configurePopover();
15860
+ }
15861
+
15862
+ disconnectedCallback() {
15863
+ super.disconnectedCallback();
15864
+ if (this.datepicker && this._slotContentHandler) {
15865
+ this.datepicker.removeEventListener('auroDatePicker-newSlotContent', this._slotContentHandler);
15866
+ }
15867
+ }
15868
+
15869
+ /**
15870
+ * Configures the popover instance with the calendar month boundary.
15871
+ * Called from firstUpdated and updated because the popover element is only
15872
+ * rendered after hasPopoverContent becomes true (set by handleSlotContent).
15873
+ * @private
15874
+ * @returns {void}
15875
+ */
15876
+ configurePopover() {
15670
15877
  this.auroPopover = this.shadowRoot.querySelector(this.popoverTag._$litStatic$);
15671
15878
 
15672
- this.auroPopover.boundary = calendarMonth;
15879
+ if (this.auroPopover && this.calendarMonth) {
15880
+ this.auroPopover.boundary = this.calendarMonth;
15881
+ }
15673
15882
  }
15674
15883
 
15675
15884
  updated(properties) {
15676
- if (properties.has('dateFrom') || properties.has('dateTo') || properties.has('hoveredDate') || properties.has('day')) {
15677
- this.dateChanged(this.dateFrom, this.dateTo, this.hoveredDate, this.day);
15885
+ if (properties.has('dateFrom') || properties.has('dateTo') || properties.has('day')) {
15886
+ this.dateChanged(this.dateFrom, this.dateTo, this.day);
15887
+ }
15888
+
15889
+ if (properties.has('day') && this.day) {
15890
+ this.setDateSlotName();
15891
+ this.handleSlotContent();
15892
+
15893
+ // Re-cache button reference when the day changes (cell may have re-rendered).
15894
+ this.updateComplete.then(() => {
15895
+ this._cachedButton = this.shadowRoot.querySelector('button.day');
15896
+ });
15897
+
15898
+ // Update host-level aria attributes for ariaActiveDescendantElement.
15899
+ this.updateHostAria();
15900
+ }
15901
+
15902
+ // Update host aria when selection changes (aria-selected, range labels)
15903
+ if (properties.has('dateFrom') || properties.has('dateTo') || properties.has('selected')) {
15904
+ this.updateHostAria();
15678
15905
  }
15679
15906
 
15680
- this.setDateSlotName();
15681
- this.handleSlotContent();
15907
+ // Configure popover when it first becomes rendered
15908
+ if (properties.has('hasPopoverContent') && this.hasPopoverContent) {
15909
+ this.updateComplete.then(() => this.configurePopover());
15910
+ }
15682
15911
  }
15683
15912
 
15684
- render() {
15913
+ /**
15914
+ * Updates ARIA attributes on the host element so that
15915
+ * ariaActiveDescendantElement can expose cell info to the SR.
15916
+ * @private
15917
+ * @returns {void}
15918
+ */
15919
+ updateHostAria() {
15920
+ if (!this.day || this.day.date === undefined) return;
15921
+
15922
+ const outOfRange = this.isOutOfRange(this.day, this.min, this.max);
15923
+ if (outOfRange) {
15924
+ this.removeAttribute('role');
15925
+ this.removeAttribute('aria-label');
15926
+ return;
15927
+ }
15928
+
15929
+ // The host acts as the gridcell for ariaActiveDescendantElement.
15930
+ this.setAttribute('role', 'gridcell');
15931
+ this.setAttribute('aria-label', this.getAriaLabel());
15932
+ this.setAttribute('aria-selected', this.selected ? 'true' : 'false');
15933
+
15934
+ if (this.isBlackout()) {
15935
+ this.setAttribute('aria-disabled', 'true');
15936
+ } else {
15937
+ this.removeAttribute('aria-disabled');
15938
+ }
15939
+ }
15940
+
15941
+ /**
15942
+ * Programmatically focuses the cell's interactive button element.
15943
+ * Uses focusVisible: true so the :focus-visible ring appears even when
15944
+ * the bib was opened via mouse click (which sets mouse input modality).
15945
+ * @returns {void}
15946
+ */
15947
+ focusButton() {
15948
+ const button = this._cachedButton || this.shadowRoot.querySelector('button:not([aria-hidden])');
15949
+ if (button) {
15950
+ button.focus({ focusVisible: true });
15951
+ }
15952
+ }
15953
+
15954
+ /**
15955
+ * Imperatively marks this cell as active (tabindex="0") without
15956
+ * triggering a Lit re-render.
15957
+ * @returns {void}
15958
+ */
15959
+ setActive() {
15960
+ this.active = true;
15961
+ const btn = this._cachedButton;
15962
+ if (btn) {
15963
+ btn.setAttribute('tabindex', '0');
15964
+ btn.classList.add('visualFocus');
15965
+ }
15966
+ }
15967
+
15968
+ /**
15969
+ * Imperatively marks this cell as inactive (tabindex="-1") without
15970
+ * triggering a Lit re-render.
15971
+ * @returns {void}
15972
+ */
15973
+ clearActive() {
15974
+ this.active = false;
15975
+ const btn = this._cachedButton;
15976
+ if (btn) {
15977
+ btn.setAttribute('tabindex', '-1');
15978
+ btn.classList.remove('visualFocus');
15979
+ }
15980
+ }
15981
+
15982
+ /**
15983
+ * Updates range preview classes imperatively (no Lit re-render).
15984
+ * Called by the calendar component when the hovered date changes
15985
+ * during range selection (dateFrom set, dateTo not yet set).
15986
+ * @param {Number} hoveredDate - Unix timestamp of the currently hovered/focused date.
15987
+ * @param {Number} dateFrom - Unix timestamp of the selected departure date.
15988
+ * @returns {void}
15989
+ */
15990
+ updateRangePreviewClasses(hoveredDate, dateFrom) {
15991
+ const btn = this._cachedButton;
15992
+ if (!btn || !this.day) return;
15993
+
15994
+ const dayDate = this.day.date;
15995
+ const departTimestamp = startOfDay(dateFrom * 1000) / 1000;
15996
+ const isInRange = dayDate > departTimestamp && dayDate < hoveredDate;
15997
+ const isLastHovered = dayDate === hoveredDate && hoveredDate > departTimestamp;
15998
+ const isDepartWithPreview = dayDate === departTimestamp && hoveredDate > departTimestamp;
15999
+
16000
+ btn.classList.toggle('inRange', isInRange);
16001
+ btn.classList.toggle('lastHoveredDate', isLastHovered);
16002
+ btn.classList.toggle('rangeDepartDate', isDepartWithPreview);
16003
+ }
16004
+
16005
+ /**
16006
+ * Clears all imperative range preview classes from the cell button.
16007
+ * Called when a selection occurs so classMap becomes the sole source of truth.
16008
+ * @returns {void}
16009
+ */
16010
+ clearRangePreviewClasses() {
16011
+ const btn = this._cachedButton;
16012
+ if (!btn) return;
16013
+
16014
+ btn.classList.remove('inRange', 'lastHoveredDate', 'rangeDepartDate');
16015
+ }
16016
+
16017
+ renderCellButton() {
16018
+ const outOfRange = this.isOutOfRange(this.day, this.min, this.max);
16019
+ const blackout = this.isBlackout();
16020
+
16021
+ // Static and selection-driven classes only. Hover-driven classes
16022
+ // (inRange, lastHoveredDate, rangeDepartDate during preview) are
16023
+ // managed imperatively via updateRangePreviewClasses() to avoid
16024
+ // O(N) Lit re-renders on every focus/hover event.
15685
16025
  const buttonClasses = {
15686
16026
  'day': true,
15687
16027
  'body-lg': true,
15688
- 'currentDate': this.currentDate,
16028
+ 'currentDate': this.isCurrentDate,
15689
16029
  'selected': this.selected,
15690
- 'inRange': this.hovered && this.isInRange(this.day, this.dateFrom, this.dateTo),
15691
- 'lastHoveredDate': this.isLastHoveredDate(this.day, this.dateFrom, this.dateTo, this.hoveredDate) && this.datepicker && this.datepicker.hasAttribute('range'),
15692
- 'disabled': this.isEnabled(this.day, this.min, this.max, this.disabledDays),
15693
- 'rangeDepartDate': this.isDepartDate(this.day, this.dateFrom) && (this.hoveredDate > this.dateFrom || this.dateTo),
15694
- 'rangeReturnDate': this.isReturnDate(this.day, this.dateFrom, this.dateTo),
16030
+ 'inRange': this.datepicker?.hasAttribute('range') && this.dateTo && this.isInRange(this.day, this.dateFrom, this.dateTo),
16031
+ 'disabled': outOfRange,
16032
+ 'blackout': blackout,
16033
+ 'rangeDepartDate': this.datepicker?.hasAttribute('range') && this.isDepartDate(this.day, this.dateFrom) && this.dateTo,
16034
+ 'rangeReturnDate': this.datepicker?.hasAttribute('range') && this.isReturnDate(this.day, this.dateFrom, this.dateTo),
15695
16035
  'reference': this.isReferenceDate(this.dateStr),
15696
- 'sameDateTrip': this.dateFrom === this.dateTo
16036
+ 'sameDateTrip': this.datepicker?.hasAttribute('range') && this.dateFrom === this.dateTo
15697
16037
  };
15698
16038
 
15699
- let _a, _b;
15700
16039
  return u$d`
15701
- <${this.popoverTag}>
15702
- <slot name="popover_${this.dateStr}"></slot>
15703
- <button
15704
- slot="trigger"
15705
- @click="${this.handleTap}"
15706
- @mouseover="${this.handleHover}"
15707
- @focus="${this.handleHover}"
15708
- class="${e$3(buttonClasses)}"
15709
- ?disabled="${this.disabled}"
15710
- title="${this.getTitle((_a = this.day) === null || _a === void 0 ? void 0 : _a.date)}"
15711
- tabindex="-1">
15712
- <div class="buttonWrapper">
15713
- <div class="currentDayMarker">${(_b = this.day) === null || _b === void 0 ? void 0 : _b.title}</div>
15714
- <div class="dateSlot body-2xs" part="dateSlot">
15715
- <slot name="date_${this.dateStr}"></slot>
15716
- </div>
15717
- </div>
15718
- </button>
15719
- </${this.popoverTag}>
16040
+ <button
16041
+ slot="trigger"
16042
+ id="${this.getCellId()}"
16043
+ @click="${outOfRange ? undefined : this.handleTap}"
16044
+ @mouseover="${outOfRange ? undefined : this.handleHover}"
16045
+ @focus="${outOfRange ? undefined : this.handleFocus}"
16046
+ class="${e$3(buttonClasses)}"
16047
+ ?disabled="${outOfRange}"
16048
+ aria-hidden="${outOfRange ? 'true' : A$7}"
16049
+ tabindex="${this.active ? '0' : '-1'}">
16050
+ <div class="buttonWrapper" aria-hidden="true">
16051
+ <div class="currentDayMarker">${this.day?.title || A$7}</div>
16052
+ </div>
16053
+ <div class="dateSlot body-2xs" part="dateSlot" aria-hidden="true" ?hidden="${!this.renderForDateSlot}">
16054
+ <slot name="date_${this.dateStr}"></slot>
16055
+ </div>
16056
+ </button>
16057
+ `;
16058
+ }
16059
+
16060
+ render() {
16061
+ const hasPopoverContent = this.hasPopoverContent;
16062
+
16063
+ if (hasPopoverContent) {
16064
+ return u$d`
16065
+ <${this.popoverTag}>
16066
+ <span aria-hidden="true"><slot name="popover_${this.dateStr}"></slot></span>
16067
+ ${this.renderCellButton()}
16068
+ </${this.popoverTag}>
16069
+ `;
16070
+ }
16071
+
16072
+ return u$d`
16073
+ ${this.renderCellButton()}
15720
16074
  `;
15721
16075
  }
15722
16076
  }
@@ -15784,16 +16138,28 @@ class AuroCalendarMonth extends RangeDatepickerCalendar {
15784
16138
  return this.monthNames[month - 1];
15785
16139
  }
15786
16140
 
16141
+ /**
16142
+ * Returns the unique heading ID for this month, used by aria-labelledby.
16143
+ * @private
16144
+ * @returns {String} The heading ID.
16145
+ */
16146
+ getHeadingId() {
16147
+ return `month-heading-${this.month}-${this.year}`;
16148
+ }
16149
+
15787
16150
  /**
15788
16151
  * Determines the current month name based on locale.
16152
+ * Also builds parallel arrays of full day names for abbr attributes.
15789
16153
  * This is a rewrite of the function used in the class RangeDatepickerCalendar and should not be removed from here.
15790
16154
  * @private
15791
16155
  * @returns {void}
15792
16156
  */
15793
16157
  localeChanged() {
15794
16158
  const dayNamesOfTheWeek = [];
16159
+ const dayFullNames = [];
15795
16160
  for (let int = 0; int < 7; int += 1) {
15796
16161
  dayNamesOfTheWeek.push(this.locale.localize.day(int, { width: 'narrow' }));
16162
+ dayFullNames.push(this.locale.localize.day(int, { width: 'long' }));
15797
16163
  }
15798
16164
  const firstDayOfWeek = this.locale.options.weekStartsOn
15799
16165
  ? this.locale.options.weekStartsOn
@@ -15804,6 +16170,139 @@ class AuroCalendarMonth extends RangeDatepickerCalendar {
15804
16170
  .splice(firstDayOfWeek, dayNamesOfTheWeek.length)
15805
16171
  .concat(tmp);
15806
16172
  this.dayNamesOfTheWeek = newDayNamesOfTheWeek;
16173
+
16174
+ const tmpFull = dayFullNames.slice().splice(0, firstDayOfWeek);
16175
+ const newDayFullNames = dayFullNames
16176
+ .slice()
16177
+ .splice(firstDayOfWeek, dayFullNames.length)
16178
+ .concat(tmpFull);
16179
+ this.dayFullNames = newDayFullNames;
16180
+ }
16181
+
16182
+ /**
16183
+ * Renders a day-of-week header with abbr attribute for the full day name.
16184
+ * @private
16185
+ * @param {String} dayOfWeek - The short day name.
16186
+ * @param {Number} index - The index in the dayNamesOfTheWeek array.
16187
+ * @returns {Object} The header HTML.
16188
+ */
16189
+ renderDayOfWeek(dayOfWeek, index) {
16190
+ const fullName = this.dayFullNames ? this.dayFullNames[index] : dayOfWeek;
16191
+ return b$8`<div class="th body-default"><abbr title="${fullName}">${dayOfWeek}</abbr></div>`;
16192
+ }
16193
+
16194
+ /**
16195
+ * Returns all focusable cell elements (enabled + blackout, not out-of-range) in this month.
16196
+ * @returns {Array} Array of auro-formkit-calendar-cell elements.
16197
+ */
16198
+ getFocusableCells() {
16199
+ const cells = Array.from(this.shadowRoot.querySelectorAll('auro-formkit-calendar-cell'));
16200
+ return cells.filter(cell => {
16201
+ if (!cell.day) return false;
16202
+ return !cell.isOutOfRange(cell.day, cell.min, cell.max);
16203
+ });
16204
+ }
16205
+
16206
+ /**
16207
+ * Overrides the base class handler to prevent setting `this.hoveredDate`
16208
+ * as a reactive property. Instead, just dispatches the event upward so
16209
+ * the calendar can handle range preview imperatively.
16210
+ * @private
16211
+ * @param {CustomEvent} event - The date-is-hovered event from a cell.
16212
+ * @returns {void}
16213
+ */
16214
+ handleDateHovered(event) {
16215
+ this.dispatchEvent(new CustomEvent('hovered-date-changed', {
16216
+ detail: { value: event.detail.date },
16217
+ }));
16218
+ }
16219
+
16220
+ /**
16221
+ * Handles arrow key navigation within the month grid.
16222
+ * Dispatches a cross-month navigation event when the boundary is reached.
16223
+ * @private
16224
+ * @param {KeyboardEvent} event - The keyboard event.
16225
+ * @returns {void}
16226
+ */
16227
+ handleGridKeyDown(event) {
16228
+ const { key } = event;
16229
+ const arrowKeys = ['ArrowRight', 'ArrowLeft', 'ArrowDown', 'ArrowUp'];
16230
+
16231
+ if (!arrowKeys.includes(key)) return;
16232
+
16233
+ event.preventDefault();
16234
+
16235
+ const focusableCells = this.getFocusableCells();
16236
+ if (focusableCells.length === 0) return;
16237
+
16238
+ // Find the currently active cell within this month
16239
+ const activeCell = focusableCells.find(cell => cell.active);
16240
+ if (!activeCell) return;
16241
+
16242
+ const activeIndex = focusableCells.indexOf(activeCell);
16243
+ let targetCell = null;
16244
+
16245
+ if (key === 'ArrowRight') {
16246
+ if (activeIndex < focusableCells.length - 1) {
16247
+ targetCell = focusableCells[activeIndex + 1];
16248
+ } else {
16249
+ // At end of month, request cross-month navigation
16250
+ this.dispatchEvent(new CustomEvent('calendar-month-boundary', {
16251
+ bubbles: true,
16252
+ composed: true,
16253
+ detail: { direction: 'next', fromDate: activeCell.day.date, key }
16254
+ }));
16255
+ return;
16256
+ }
16257
+ } else if (key === 'ArrowLeft') {
16258
+ if (activeIndex > 0) {
16259
+ targetCell = focusableCells[activeIndex - 1];
16260
+ } else {
16261
+ // At start of month, request cross-month navigation
16262
+ this.dispatchEvent(new CustomEvent('calendar-month-boundary', {
16263
+ bubbles: true,
16264
+ composed: true,
16265
+ detail: { direction: 'prev', fromDate: activeCell.day.date, key }
16266
+ }));
16267
+ return;
16268
+ }
16269
+ } else if (key === 'ArrowDown' || key === 'ArrowUp') {
16270
+ // Find the target day (same day-of-week, +/- 7 days)
16271
+ // Use Date arithmetic instead of fixed seconds to handle DST correctly
16272
+ const increment = key === 'ArrowDown' ? 7 : -7;
16273
+ const currentDate = new Date(activeCell.day.date * 1000);
16274
+ currentDate.setDate(currentDate.getDate() + increment);
16275
+ currentDate.setHours(0, 0, 0, 0);
16276
+ const targetDate = Math.floor(currentDate.getTime() / 1000);
16277
+
16278
+ // Look for the target date in this month's focusable cells
16279
+ targetCell = focusableCells.find(cell => cell.day.date === targetDate);
16280
+
16281
+ if (!targetCell) {
16282
+ // Target is in another month or all cells in that direction are disabled
16283
+ const direction = key === 'ArrowDown' ? 'next' : 'prev';
16284
+ this.dispatchEvent(new CustomEvent('calendar-month-boundary', {
16285
+ bubbles: true,
16286
+ composed: true,
16287
+ detail: { direction, fromDate: activeCell.day.date, key }
16288
+ }));
16289
+ return;
16290
+ }
16291
+ }
16292
+
16293
+ if (targetCell) {
16294
+ this.dispatchEvent(new CustomEvent('calendar-cell-activate', {
16295
+ bubbles: true,
16296
+ composed: true,
16297
+ detail: { date: targetCell.day.date }
16298
+ }));
16299
+ }
16300
+ }
16301
+
16302
+ renderWeek(week) {
16303
+ return b$8`
16304
+ <div class="tr" role="row">${week.map((day) => this.renderDay(day))}</div>
16305
+ `;
15807
16306
  }
15808
16307
 
15809
16308
  renderDay(day) {
@@ -15816,7 +16315,6 @@ class AuroCalendarMonth extends RangeDatepickerCalendar {
15816
16315
  .min="${this.min}"
15817
16316
  .max="${this.max}"
15818
16317
  .month="${this.month}"
15819
- .hoveredDate="${this.hoveredDate}"
15820
16318
  .dateTo="${this.dateTo}"
15821
16319
  .dateFrom="${this.dateFrom}"
15822
16320
  .locale="${this.locale}"
@@ -15827,7 +16325,7 @@ class AuroCalendarMonth extends RangeDatepickerCalendar {
15827
16325
  >
15828
16326
  </auro-formkit-calendar-cell>
15829
16327
  `
15830
- : null}
16328
+ : b$8`<div aria-hidden="true" inert></div>`}
15831
16329
  </div>
15832
16330
  `;
15833
16331
  }
@@ -15838,10 +16336,10 @@ class AuroCalendarMonth extends RangeDatepickerCalendar {
15838
16336
  var _a, _b;
15839
16337
 
15840
16338
  return b$8 `
15841
- <div>
16339
+ <div aria-labelledby="${this.getHeadingId()}">
15842
16340
  <div class="header">
15843
16341
  ${this.renderPrevButton()}
15844
- <div class="headerTitle heading-xs">
16342
+ <div class="headerTitle heading-xs" id="${this.getHeadingId()}" aria-live="polite" aria-atomic="true">
15845
16343
  ${this.monthFirst ? b$8`
15846
16344
  <div>${this.computeCurrentMonthName(this.month)}</div>
15847
16345
  <div>${this.renderYear()}</div>
@@ -15853,13 +16351,13 @@ class AuroCalendarMonth extends RangeDatepickerCalendar {
15853
16351
  ${this.renderNextButton()}
15854
16352
  </div>
15855
16353
 
15856
- <div class="table">
15857
- <div class="thead">
16354
+ <div class="table" role="grid" aria-labelledby="${this.getHeadingId()}" @keydown="${this.handleGridKeyDown}">
16355
+ <div class="thead" aria-hidden="true">
15858
16356
  <div class="tr">
15859
- ${(_a = this.dayNamesOfTheWeek) === null || _a === void 0 ? void 0 : _a.map(dayNameOfWeek => this.renderDayOfWeek(dayNameOfWeek))}
16357
+ ${(_a = this.dayNamesOfTheWeek) === null || _a === void 0 ? void 0 : _a.map((dayNameOfWeek, index) => this.renderDayOfWeek(dayNameOfWeek, index))}
15860
16358
  </div>
15861
16359
  </div>
15862
- <div class="tbody">
16360
+ <div class="tbody" role="rowgroup">
15863
16361
  ${(_b = this.daysOfMonth) === null || _b === void 0 ? void 0 : _b.map(week => this.renderWeek(week))}
15864
16362
  </div>
15865
16363
  </div>
@@ -16552,6 +17050,14 @@ let AuroBibtemplate$3 = class AuroBibtemplate extends i$3 {
16552
17050
  large: {
16553
17051
  type: Boolean,
16554
17052
  reflect: true
17053
+ },
17054
+
17055
+ /**
17056
+ * If declared, the footer slot will be rendered even when not in fullscreen mode.
17057
+ */
17058
+ showFooter: {
17059
+ type: Boolean,
17060
+ reflect: true
16555
17061
  }
16556
17062
  };
16557
17063
  }
@@ -16654,7 +17160,7 @@ let AuroBibtemplate$3 = class AuroBibtemplate extends i$3 {
16654
17160
  <slot></slot>
16655
17161
  </div>
16656
17162
 
16657
- ${this.isFullscreen ? u$d`
17163
+ ${this.isFullscreen || this.showFooter ? u$d`
16658
17164
  <div id="footerContainer">
16659
17165
  <slot name="footer"></slot>
16660
17166
  </div>` : null}
@@ -16663,7 +17169,7 @@ let AuroBibtemplate$3 = class AuroBibtemplate extends i$3 {
16663
17169
  }
16664
17170
  };
16665
17171
 
16666
- var formkitVersion$2$1 = '202605201646';
17172
+ var formkitVersion$2$1 = '202605210326';
16667
17173
 
16668
17174
  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$6`${s$8(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$5`: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}
16669
17175
  `,u$4$1=i$5`.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}}
@@ -16761,6 +17267,13 @@ class AuroCalendar extends RangeDatepicker {
16761
17267
  this.largeFullscreenHeadline = false;
16762
17268
  this.isFullscreen = false;
16763
17269
 
17270
+ /**
17271
+ * The date of the currently active cell (Unix timestamp).
17272
+ * Only one cell across the entire calendar has tabindex="0" at a time.
17273
+ * @private
17274
+ */
17275
+ this.activeCellDate = null;
17276
+
16764
17277
  /**
16765
17278
  * @private
16766
17279
  */
@@ -16926,6 +17439,8 @@ class AuroCalendar extends RangeDatepicker {
16926
17439
  */
16927
17440
  handlePrevMonth() {
16928
17441
  this.utilCal.handleMonthChange(this, 'prev');
17442
+ this.updateActiveCellForVisibleMonth();
17443
+ this.announceMonthChange();
16929
17444
  }
16930
17445
 
16931
17446
  /**
@@ -16935,6 +17450,38 @@ class AuroCalendar extends RangeDatepicker {
16935
17450
  */
16936
17451
  handleNextMonth() {
16937
17452
  this.utilCal.handleMonthChange(this, 'next');
17453
+ this.updateActiveCellForVisibleMonth();
17454
+ this.announceMonthChange();
17455
+ }
17456
+
17457
+ /**
17458
+ * Announces the current month and year via the live region after navigation.
17459
+ * @private
17460
+ * @returns {void}
17461
+ */
17462
+ announceMonthChange() {
17463
+ const date = new Date(this.centralDate);
17464
+ const localeCode = this.locale?.code || undefined;
17465
+ const formatter = new Intl.DateTimeFormat(localeCode, { month: 'long', year: 'numeric' });
17466
+ this.announceSelection(formatter.format(date));
17467
+ }
17468
+
17469
+ /**
17470
+ * Recomputes and sets the active cell for the newly visible month after
17471
+ * month navigation. Without this, activeCellDate can point at a date in
17472
+ * the old month, leaving no tabindex="0" cell in the grid.
17473
+ * @private
17474
+ * @returns {void}
17475
+ */
17476
+ updateActiveCellForVisibleMonth() {
17477
+ // Skip the dateFrom shortcut so the active cell lands in the newly
17478
+ // visible month rather than jumping back to the selected date's month.
17479
+ this.activeCellDate = this.computeActiveDate({ skipDateFrom: true });
17480
+ this.updateComplete.then(() => {
17481
+ if (this.activeCellDate != null) {
17482
+ this.setActiveCell(this.activeCellDate);
17483
+ }
17484
+ });
16938
17485
  }
16939
17486
 
16940
17487
  /**
@@ -17042,6 +17589,778 @@ class AuroCalendar extends RangeDatepicker {
17042
17589
  this.utilCal.scrollMonthIntoView(this, date, this.format);
17043
17590
  }
17044
17591
 
17592
+ /**
17593
+ * Gets all rendered month components.
17594
+ * @private
17595
+ * @returns {Array} Array of auro-formkit-calendar-month elements.
17596
+ */
17597
+ getMonthComponents() {
17598
+ return Array.from(this.shadowRoot.querySelectorAll('auro-formkit-calendar-month'));
17599
+ }
17600
+
17601
+ /**
17602
+ * Gets all focusable cells across all rendered months.
17603
+ * @private
17604
+ * @returns {Array} Array of auro-formkit-calendar-cell elements.
17605
+ */
17606
+ getAllFocusableCells() {
17607
+ const months = this.getMonthComponents();
17608
+ let cells = [];
17609
+ months.forEach(month => {
17610
+ cells = cells.concat(month.getFocusableCells());
17611
+ });
17612
+ return cells;
17613
+ }
17614
+
17615
+ /**
17616
+ * Sets the active cell across all months. Only one cell has tabindex="0" at a time.
17617
+ * Uses imperative DOM manipulation — no Lit re-render triggered.
17618
+ * Also updates ariaActiveDescendantElement on the grid wrapper so
17619
+ * screen readers announce the active cell without moving DOM focus.
17620
+ * @param {Number} date - Unix timestamp of the cell to activate.
17621
+ * @returns {void}
17622
+ */
17623
+ setActiveCell(date) {
17624
+ const allCells = this.getAllFocusableCells();
17625
+
17626
+ let newActiveCell = null;
17627
+ allCells.forEach(cell => {
17628
+ if (cell.day && cell.day.date === date) {
17629
+ cell.setActive();
17630
+ newActiveCell = cell;
17631
+ } else if (cell.active) {
17632
+ cell.clearActive();
17633
+ }
17634
+ });
17635
+
17636
+ this.activeCellDate = date;
17637
+
17638
+ // Update the proxy element that aria-activedescendant references.
17639
+ // The proxy lives in the same shadow root as the grid wrapper, so
17640
+ // string-based aria-activedescendant works reliably with all SRs.
17641
+ if (newActiveCell) {
17642
+ const proxy = this.shadowRoot.querySelector('#activeDescendantProxy');
17643
+ if (proxy) {
17644
+ proxy.setAttribute('aria-label', newActiveCell.getAriaLabel());
17645
+ proxy.setAttribute('aria-selected', newActiveCell.selected ? 'true' : 'false');
17646
+ if (newActiveCell.isCurrentDate) {
17647
+ proxy.setAttribute('aria-current', 'date');
17648
+ } else {
17649
+ proxy.removeAttribute('aria-current');
17650
+ }
17651
+ if (newActiveCell.isBlackout()) {
17652
+ proxy.setAttribute('aria-disabled', 'true');
17653
+ } else {
17654
+ proxy.removeAttribute('aria-disabled');
17655
+ }
17656
+ }
17657
+ }
17658
+ }
17659
+
17660
+ /**
17661
+ * Focuses the calendar grid wrapper and sets the active cell.
17662
+ * DOM focus stays on the grid wrapper; ariaActiveDescendantElement
17663
+ * tells the screen reader which cell is "active".
17664
+ * @returns {void}
17665
+ */
17666
+ focusActiveCell() {
17667
+ if (this.activeCellDate != null) {
17668
+ this.setActiveCell(this.activeCellDate);
17669
+ }
17670
+
17671
+ const gridWrapper = this.shadowRoot.querySelector('#calendarGrid');
17672
+ if (gridWrapper) {
17673
+ gridWrapper.focus({ focusVisible: true });
17674
+ }
17675
+ }
17676
+
17677
+ /**
17678
+ * Computes the initial active date from data properties alone — no DOM required.
17679
+ * Priority:
17680
+ * 1. Selected date (dateFrom) if within range
17681
+ * 2. Today's date if not disabled (in-range and not blackout)
17682
+ * 3. First future non-disabled date (scans day-by-day from today up to 1 year)
17683
+ * 4. First previous non-disabled date (scans day-by-day from today up to 1 year)
17684
+ * 5. First enabled date in finite [min, max] range
17685
+ * 5b. First enabled date scanning forward from finite min (unbounded max)
17686
+ * 5c. First enabled date scanning backward from finite max (unbounded min)
17687
+ * 6. First in-range date (even if blackout) so focus can land somewhere
17688
+ * 7. undefined — no valid target
17689
+ *
17690
+ * @private
17691
+ * @param {Object} [options] - Optional settings.
17692
+ * @param {boolean} [options.skipDateFrom=false] - When true, skip the selected-date
17693
+ * shortcut (step 1). Used after month navigation so the active cell lands in the
17694
+ * newly visible month instead of jumping back to the selected date's month.
17695
+ * @returns {Number|undefined} Unix timestamp (seconds) of the date to activate, or undefined.
17696
+ */
17697
+ computeActiveDate(options = {}) {
17698
+ const MAX_SCAN_DAYS = 366; // scan at most ~1 year in each direction
17699
+
17700
+ /**
17701
+ * Adds days to a timestamp using Date arithmetic to handle DST correctly.
17702
+ * Returns a local-midnight-aligned timestamp in seconds.
17703
+ */
17704
+ const addDays = (ts, days) => {
17705
+ const d = new Date(ts * 1000);
17706
+ d.setDate(d.getDate() + days);
17707
+ d.setHours(0, 0, 0, 0);
17708
+ return Math.floor(d.getTime() / 1000);
17709
+ };
17710
+
17711
+ const rawMin = Number(this.min);
17712
+ const rawMax = Number(this.max);
17713
+
17714
+ // When min/max are NaN (no minDate/maxDate configured), treat as unbounded.
17715
+ const minTs = Number.isFinite(rawMin) ? rawMin : -Infinity;
17716
+ const maxTs = Number.isFinite(rawMax) ? rawMax : Infinity;
17717
+
17718
+ // Build a Set of blackout timestamps for O(1) lookup.
17719
+ const blackoutSet = new Set(
17720
+ (this.disabledDays || []).map(d => parseInt(d, 10))
17721
+ );
17722
+
17723
+ // Also include ISO-format blackoutDates from the datepicker if available.
17724
+ // Parse YYYY-MM-DD as local date to avoid UTC shift issues.
17725
+ const isoBlackouts = this.datepicker?.blackoutDates;
17726
+ if (Array.isArray(isoBlackouts)) {
17727
+ for (const isoStr of isoBlackouts) {
17728
+ const parts = isoStr.split('-');
17729
+ const ts = Math.floor(new Date(parseInt(parts[0], 10), parseInt(parts[1], 10) - 1, parseInt(parts[2], 10)).getTime() / 1000);
17730
+ if (Number.isFinite(ts)) blackoutSet.add(ts);
17731
+ }
17732
+ }
17733
+
17734
+ /**
17735
+ * A date (unix timestamp in seconds, midnight-aligned) is "enabled" when
17736
+ * it is within [min, max] AND not a blackout day.
17737
+ */
17738
+ const isEnabled = (ts) => ts >= minTs && ts <= maxTs && !blackoutSet.has(ts);
17739
+
17740
+ /**
17741
+ * A date is "in range" (focusable in the grid) when it is within [min, max].
17742
+ * Blackout dates are focusable but not selectable.
17743
+ */
17744
+ const isInRange = (ts) => ts >= minTs && ts <= maxTs;
17745
+
17746
+ // 1. Selected date — always valid target if within range (user chose it).
17747
+ // Skipped when called from month navigation so the active cell lands in
17748
+ // the newly visible month rather than the (possibly off-screen) selection.
17749
+ if (!options.skipDateFrom && this.dateFrom) {
17750
+ const parsedFrom = parseInt(this.dateFrom, 10);
17751
+ if (Number.isFinite(parsedFrom) && isInRange(parsedFrom)) return parsedFrom;
17752
+ }
17753
+
17754
+ // 2. Today's date (midnight-aligned) if enabled.
17755
+ const now = Math.floor(new Date().setHours(0, 0, 0, 0) / 1000);
17756
+
17757
+ // When centralDate is configured, prefer a date within the month(s) that
17758
+ // will actually be rendered. If today falls outside the visible range, an
17759
+ // active cell set to today would have no matching DOM element and keyboard
17760
+ // focus could not enter the calendar.
17761
+ const centralDateValue = this.centralDate ? new Date(this.centralDate) : null;
17762
+
17763
+ if (centralDateValue && !isNaN(centralDateValue.getTime())) {
17764
+ const centralMonth = centralDateValue.getMonth();
17765
+ const centralYear = centralDateValue.getFullYear();
17766
+ const todayDate = new Date(now * 1000);
17767
+ const todayMonth = todayDate.getMonth();
17768
+ const todayYear = todayDate.getFullYear();
17769
+
17770
+ // Today is outside the centralDate's month — scan for an enabled date
17771
+ // within the visible month instead.
17772
+ if (todayMonth !== centralMonth || todayYear !== centralYear) {
17773
+ const visibleStart = new Date(centralYear, centralMonth, 1);
17774
+ visibleStart.setHours(0, 0, 0, 0);
17775
+ const visibleEnd = new Date(centralYear, centralMonth + 1, 0); // last day of month
17776
+ visibleEnd.setHours(0, 0, 0, 0);
17777
+ const startTs = Math.floor(visibleStart.getTime() / 1000);
17778
+ const endTs = Math.floor(visibleEnd.getTime() / 1000);
17779
+ const daysInMonth = visibleEnd.getDate();
17780
+
17781
+ for (let idx = 0; idx < daysInMonth; idx++) {
17782
+ const ts = addDays(startTs, idx);
17783
+ if (ts > endTs) break;
17784
+ if (isEnabled(ts)) return ts;
17785
+ }
17786
+
17787
+ // No enabled date in the visible month — fall back to first in-range
17788
+ // date in the month so focus still lands on a focusable cell.
17789
+ for (let idx = 0; idx < daysInMonth; idx++) {
17790
+ const ts = addDays(startTs, idx);
17791
+ if (ts > endTs) break;
17792
+ if (isInRange(ts)) return ts;
17793
+ }
17794
+ }
17795
+ }
17796
+
17797
+ if (isEnabled(now)) return now;
17798
+
17799
+ // When a centralDate is configured (or inferred), constrain the scan to the
17800
+ // rendered month(s) first so a single-month calendar does not pick a date
17801
+ // that has no DOM cell. Determine the visible range based on centralDate and
17802
+ // the number of rendered months.
17803
+ const renderedMonths = this.numCalendars || 1;
17804
+ const visibleAnchor = centralDateValue && !isNaN(centralDateValue.getTime())
17805
+ ? centralDateValue
17806
+ : new Date(now * 1000);
17807
+ const visMonthStart = new Date(visibleAnchor.getFullYear(), visibleAnchor.getMonth(), 1);
17808
+ visMonthStart.setHours(0, 0, 0, 0);
17809
+ const visMonthEnd = new Date(visibleAnchor.getFullYear(), visibleAnchor.getMonth() + renderedMonths, 0);
17810
+ visMonthEnd.setHours(0, 0, 0, 0);
17811
+ const visStartTs = Math.floor(visMonthStart.getTime() / 1000);
17812
+ const visEndTs = Math.floor(visMonthEnd.getTime() / 1000);
17813
+ const visDays = Math.round((visEndTs - visStartTs) / 86400) + 1;
17814
+
17815
+ // Scan visible months for an enabled date.
17816
+ for (let idx = 0; idx < visDays; idx++) {
17817
+ const ts = addDays(visStartTs, idx);
17818
+ if (ts > visEndTs) break;
17819
+ if (isEnabled(ts)) return ts;
17820
+ }
17821
+
17822
+ // No enabled date in visible months — try an in-range (focusable) date so
17823
+ // keyboard focus still has a tabindex="0" target.
17824
+ for (let idx = 0; idx < visDays; idx++) {
17825
+ const ts = addDays(visStartTs, idx);
17826
+ if (ts > visEndTs) break;
17827
+ if (isInRange(ts)) return ts;
17828
+ }
17829
+
17830
+ // 3. First future enabled date (scan forward from tomorrow, capped by max and MAX_SCAN_DAYS).
17831
+ for (let idx = 1; idx <= MAX_SCAN_DAYS; idx++) {
17832
+ const ts = addDays(now, idx);
17833
+ if (Number.isFinite(maxTs) && ts > maxTs) break;
17834
+ if (isEnabled(ts)) return ts;
17835
+ }
17836
+
17837
+ // 4. First previous enabled date (scan backward from yesterday, capped by min and MAX_SCAN_DAYS).
17838
+ for (let idx = 1; idx <= MAX_SCAN_DAYS; idx++) {
17839
+ const ts = addDays(now, -idx);
17840
+ if (Number.isFinite(minTs) && ts < minTs) break;
17841
+ if (isEnabled(ts)) return ts;
17842
+ }
17843
+
17844
+ // 5. If scans missed (e.g. min/max range is far from today), fall back to
17845
+ // the first enabled date in the [min, max] range.
17846
+ if (Number.isFinite(minTs) && Number.isFinite(maxTs)) {
17847
+ let ts = minTs;
17848
+ for (let idx = 0; ts <= maxTs; idx++) {
17849
+ if (isEnabled(ts)) return ts;
17850
+ ts = addDays(minTs, idx + 1);
17851
+ }
17852
+ }
17853
+
17854
+ // 5b. Finite min with unbounded max (e.g. minDate far in the future):
17855
+ // scan forward from min for up to MAX_SCAN_DAYS.
17856
+ if (Number.isFinite(minTs) && !Number.isFinite(maxTs)) {
17857
+ for (let idx = 0; idx <= MAX_SCAN_DAYS; idx++) {
17858
+ const ts = addDays(minTs, idx);
17859
+ if (isEnabled(ts)) return ts;
17860
+ }
17861
+ }
17862
+
17863
+ // 5c. Unbounded min with a finite max far in the past (e.g. birth-date picker):
17864
+ // scan backward from max for up to MAX_SCAN_DAYS.
17865
+ if (!Number.isFinite(minTs) && Number.isFinite(maxTs)) {
17866
+ for (let idx = 0; idx <= MAX_SCAN_DAYS; idx++) {
17867
+ const ts = addDays(maxTs, -idx);
17868
+ if (isEnabled(ts)) return ts;
17869
+ }
17870
+ }
17871
+
17872
+ // 6. All dates are blackout — fall back to the first in-range date so focus
17873
+ // still lands on a focusable (but not selectable) cell.
17874
+ if (Number.isFinite(minTs) && isInRange(minTs)) return minTs;
17875
+ if (isInRange(now)) return now;
17876
+
17877
+ return undefined;
17878
+ }
17879
+
17880
+ /**
17881
+ * Handles arrow key navigation on the calendar grid wrapper.
17882
+ * Focus stays on the grid wrapper; only ariaActiveDescendantElement
17883
+ * and the visual active-cell indicator change.
17884
+ * @private
17885
+ * @param {KeyboardEvent} event - The keyboard event.
17886
+ * @returns {void}
17887
+ */
17888
+ handleGridKeyDown(event) {
17889
+ const { key } = event;
17890
+ const actionKeys = ['ArrowRight', 'ArrowLeft', 'ArrowDown', 'ArrowUp', 'Enter', ' '];
17891
+
17892
+ if (!actionKeys.includes(key)) return;
17893
+
17894
+ event.preventDefault();
17895
+
17896
+ const allCells = this.getAllFocusableCells();
17897
+ if (allCells.length === 0) return;
17898
+
17899
+ const activeCell = allCells.find(cell => cell.active);
17900
+ if (!activeCell) return;
17901
+
17902
+ // Handle Enter/Space to select the active cell
17903
+ if (key === 'Enter' || key === ' ') {
17904
+ activeCell.handleTap();
17905
+ return;
17906
+ }
17907
+
17908
+ const activeIndex = allCells.indexOf(activeCell);
17909
+
17910
+ if (key === 'ArrowRight' || key === 'ArrowLeft') {
17911
+ const direction = key === 'ArrowRight' ? 1 : -1;
17912
+ const targetIndex = activeIndex + direction;
17913
+
17914
+ if (targetIndex >= 0 && targetIndex < allCells.length) {
17915
+ // Target cell exists in rendered months
17916
+ this.setActiveCell(allCells[targetIndex].day.date);
17917
+ this.scrollToActiveCell();
17918
+ // Dispatch focus event for the cell so live region + range preview update
17919
+ this.handleCellFocused({ detail: { date: allCells[targetIndex].day.date } });
17920
+ } else {
17921
+ // At boundary — need to navigate to next/prev month
17922
+ const navDir = direction === 1 ? 'next' : 'prev';
17923
+ if ((navDir === 'next' && this.showNextMonthBtn) || (navDir === 'prev' && this.showPrevMonthBtn)) {
17924
+ const targetDate = new Date(activeCell.day.date * 1000);
17925
+ targetDate.setDate(targetDate.getDate() + direction);
17926
+ targetDate.setHours(0, 0, 0, 0);
17927
+ const targetTs = Math.floor(targetDate.getTime() / 1000);
17928
+
17929
+ if (navDir === 'next') {
17930
+ this.handleNextMonth();
17931
+ } else {
17932
+ this.handlePrevMonth();
17933
+ }
17934
+ requestAnimationFrame(() => {
17935
+ requestAnimationFrame(() => {
17936
+ const cells = this.getAllFocusableCells();
17937
+ const target = cells.find(cell => cell.day && cell.day.date === targetTs);
17938
+ if (target) {
17939
+ this.setActiveCell(target.day.date);
17940
+ this.handleCellFocused({ detail: { date: target.day.date } });
17941
+ } else if (cells.length > 0) {
17942
+ const fallback = navDir === 'next' ? cells[cells.length - 1] : cells[0];
17943
+ this.setActiveCell(fallback.day.date);
17944
+ this.handleCellFocused({ detail: { date: fallback.day.date } });
17945
+ }
17946
+ // Re-focus grid wrapper after month change re-render
17947
+ this.focusActiveCell();
17948
+ });
17949
+ });
17950
+ }
17951
+ }
17952
+ } else if (key === 'ArrowDown' || key === 'ArrowUp') {
17953
+ const increment = key === 'ArrowDown' ? 7 : -7;
17954
+ const currentDate = new Date(activeCell.day.date * 1000);
17955
+ currentDate.setDate(currentDate.getDate() + increment);
17956
+ currentDate.setHours(0, 0, 0, 0);
17957
+ const targetDate = Math.floor(currentDate.getTime() / 1000);
17958
+
17959
+ const targetCell = allCells.find(cell => cell.day && cell.day.date === targetDate);
17960
+
17961
+ if (targetCell) {
17962
+ this.setActiveCell(targetCell.day.date);
17963
+ this.scrollToActiveCell();
17964
+ this.handleCellFocused({ detail: { date: targetCell.day.date } });
17965
+ } else {
17966
+ // Target might be in an unrendered month
17967
+ const navDirection = key === 'ArrowDown' ? 'next' : 'prev';
17968
+ if ((navDirection === 'next' && this.showNextMonthBtn) || (navDirection === 'prev' && this.showPrevMonthBtn)) {
17969
+ if (navDirection === 'next') {
17970
+ this.handleNextMonth();
17971
+ } else {
17972
+ this.handlePrevMonth();
17973
+ }
17974
+ requestAnimationFrame(() => {
17975
+ requestAnimationFrame(() => {
17976
+ const cells = this.getAllFocusableCells();
17977
+ const target = cells.find(cell => cell.day && cell.day.date === targetDate);
17978
+ if (target) {
17979
+ this.setActiveCell(target.day.date);
17980
+ this.handleCellFocused({ detail: { date: target.day.date } });
17981
+ } else if (cells.length > 0) {
17982
+ const nearest = navDirection === 'next' ? cells[0] : cells[cells.length - 1];
17983
+ this.setActiveCell(nearest.day.date);
17984
+ this.handleCellFocused({ detail: { date: nearest.day.date } });
17985
+ }
17986
+ this.focusActiveCell();
17987
+ });
17988
+ });
17989
+ }
17990
+ }
17991
+ }
17992
+ }
17993
+
17994
+ /**
17995
+ * Handles cross-month boundary navigation events from month components.
17996
+ * @private
17997
+ * @param {CustomEvent} event - The boundary event with direction and source date info.
17998
+ * @returns {void}
17999
+ */
18000
+ handleMonthBoundary(event) {
18001
+ const { direction, fromDate, key } = event.detail;
18002
+
18003
+ if (key === 'ArrowRight' || key === 'ArrowLeft') {
18004
+ // Linear navigation: find adjacent focusable cell across months
18005
+ const allCells = this.getAllFocusableCells();
18006
+ const currentIndex = allCells.findIndex(cell => cell.day && cell.day.date === fromDate);
18007
+
18008
+ if (currentIndex === -1) return;
18009
+
18010
+ let targetIndex;
18011
+ if (direction === 'next') {
18012
+ targetIndex = currentIndex + 1;
18013
+ } else {
18014
+ targetIndex = currentIndex - 1;
18015
+ }
18016
+
18017
+ if (targetIndex >= 0 && targetIndex < allCells.length) {
18018
+ const targetCell = allCells[targetIndex];
18019
+ this.setActiveCell(targetCell.day.date);
18020
+ this.scrollToActiveCell();
18021
+ this.focusActiveCell();
18022
+ } else if (direction === 'next' && this.showNextMonthBtn) {
18023
+ // Navigate to next month and focus the computed next date.
18024
+ // Using the target date (fromDate + 1 day) instead of cells[0]
18025
+ // avoids jumping backward in range datepickers where cells[0]
18026
+ // belongs to the previous (still-rendered) month.
18027
+ const nextDate = new Date(fromDate * 1000);
18028
+ nextDate.setDate(nextDate.getDate() + 1);
18029
+ nextDate.setHours(0, 0, 0, 0);
18030
+ const nextTs = Math.floor(nextDate.getTime() / 1000);
18031
+
18032
+ this.handleNextMonth();
18033
+ requestAnimationFrame(() => {
18034
+ requestAnimationFrame(() => {
18035
+ const cells = this.getAllFocusableCells();
18036
+ const target = cells.find(cell => cell.day && cell.day.date === nextTs);
18037
+ if (target) {
18038
+ this.setActiveCell(target.day.date);
18039
+ this.focusActiveCell();
18040
+ } else if (cells.length > 0) {
18041
+ // Fallback: first cell of the last rendered month
18042
+ this.setActiveCell(cells[cells.length - 1].day.date);
18043
+ this.focusActiveCell();
18044
+ }
18045
+ });
18046
+ });
18047
+ } else if (direction === 'prev' && this.showPrevMonthBtn) {
18048
+ // Navigate to previous month and focus the computed previous date.
18049
+ const prevDate = new Date(fromDate * 1000);
18050
+ prevDate.setDate(prevDate.getDate() - 1);
18051
+ prevDate.setHours(0, 0, 0, 0);
18052
+ const prevTs = Math.floor(prevDate.getTime() / 1000);
18053
+
18054
+ this.handlePrevMonth();
18055
+ requestAnimationFrame(() => {
18056
+ requestAnimationFrame(() => {
18057
+ const cells = this.getAllFocusableCells();
18058
+ const target = cells.find(cell => cell.day && cell.day.date === prevTs);
18059
+ if (target) {
18060
+ this.setActiveCell(target.day.date);
18061
+ this.focusActiveCell();
18062
+ } else if (cells.length > 0) {
18063
+ // Fallback: last cell of the first rendered month
18064
+ this.setActiveCell(cells[0].day.date);
18065
+ this.focusActiveCell();
18066
+ }
18067
+ });
18068
+ });
18069
+ }
18070
+ } else if (key === 'ArrowDown' || key === 'ArrowUp') {
18071
+ // Vertical navigation: find same day-of-week +/- 7 days
18072
+ // Use Date arithmetic instead of fixed seconds to handle DST correctly
18073
+ const increment = key === 'ArrowDown' ? 7 : -7;
18074
+ const currentDate = new Date(fromDate * 1000);
18075
+ currentDate.setDate(currentDate.getDate() + increment);
18076
+ currentDate.setHours(0, 0, 0, 0);
18077
+ const targetDate = Math.floor(currentDate.getTime() / 1000);
18078
+
18079
+ const allCells = this.getAllFocusableCells();
18080
+ let targetCell = allCells.find(cell => cell.day && cell.day.date === targetDate);
18081
+
18082
+ if (targetCell) {
18083
+ this.setActiveCell(targetCell.day.date);
18084
+ this.scrollToActiveCell();
18085
+ this.focusActiveCell();
18086
+ } else {
18087
+ // Target might be in an unrendered month, navigate there
18088
+ const navDirection = key === 'ArrowDown' ? 'next' : 'prev';
18089
+ if ((navDirection === 'next' && this.showNextMonthBtn) || (navDirection === 'prev' && this.showPrevMonthBtn)) {
18090
+ if (navDirection === 'next') {
18091
+ this.handleNextMonth();
18092
+ } else {
18093
+ this.handlePrevMonth();
18094
+ }
18095
+ requestAnimationFrame(() => {
18096
+ requestAnimationFrame(() => {
18097
+ const cells = this.getAllFocusableCells();
18098
+ const target = cells.find(cell => cell.day && cell.day.date === targetDate);
18099
+ if (target) {
18100
+ this.setActiveCell(target.day.date);
18101
+ this.focusActiveCell();
18102
+ } else if (cells.length > 0) {
18103
+ // Clamp to nearest focusable cell
18104
+ const nearest = navDirection === 'next' ? cells[0] : cells[cells.length - 1];
18105
+ this.setActiveCell(nearest.day.date);
18106
+ this.focusActiveCell();
18107
+ }
18108
+ });
18109
+ });
18110
+ }
18111
+ }
18112
+ }
18113
+ }
18114
+
18115
+ /**
18116
+ * Handles cell activation events from month components.
18117
+ * @private
18118
+ * @param {CustomEvent} event - The activation event with target date.
18119
+ * @returns {void}
18120
+ */
18121
+ handleCellActivate(event) {
18122
+ const { date } = event.detail;
18123
+ this.setActiveCell(date);
18124
+ this.focusActiveCell();
18125
+ }
18126
+
18127
+ /**
18128
+ * Handles focus events from calendar cells.
18129
+ * Updates the live region with an SR announcement and triggers
18130
+ * the imperative range preview if applicable.
18131
+ * @private
18132
+ * @param {CustomEvent} event - The calendar-cell-focused event.
18133
+ * @returns {void}
18134
+ */
18135
+ handleCellFocused(event) {
18136
+ const { date } = event.detail;
18137
+ if (date == null) return;
18138
+
18139
+ // With aria-activedescendant, the button no longer receives native focus,
18140
+ // so we use the debounced live region for the full context announcement.
18141
+ const announcement = this.buildFocusAnnouncement(date);
18142
+ this.announceFocusDebounced(announcement);
18143
+
18144
+ // Update the range preview imperatively if in range-preview mode.
18145
+ this.updateRangePreview(date);
18146
+ }
18147
+
18148
+ /**
18149
+ * Builds a full SR announcement string for a focused cell date.
18150
+ * Includes the localized date, range position, popover content,
18151
+ * and blackout status.
18152
+ * @private
18153
+ * @param {Number} date - Unix timestamp (seconds) of the focused cell.
18154
+ * @returns {String} The announcement string.
18155
+ */
18156
+ buildFocusAnnouncement(date) {
18157
+ let label = this.formatAnnouncementDate(date);
18158
+
18159
+ // Append date slot content (e.g. prices) if present.
18160
+ const dateObj = new Date(date * 1000);
18161
+ const mm = String(dateObj.getMonth() + 1).padStart(2, '0');
18162
+ const dd = String(dateObj.getDate()).padStart(2, '0');
18163
+ const yyyy = dateObj.getFullYear();
18164
+ const dateStr = `${mm}_${dd}_${yyyy}`;
18165
+ const dateSlotEl = this.datepicker?.querySelector(`[slot="date_${dateStr}"]`);
18166
+ if (dateSlotEl) {
18167
+ const text = dateSlotEl.innerText?.trim();
18168
+ if (text) {
18169
+ label += `, ${text}`;
18170
+ }
18171
+ }
18172
+
18173
+ // Append popover content if present.
18174
+ const popoverEl = this.datepicker?.querySelector(`[slot="popover_${dateStr}"]`);
18175
+ if (popoverEl) {
18176
+ const text = popoverEl.innerText?.trim();
18177
+ if (text) {
18178
+ label += `, ${text}`;
18179
+ }
18180
+ }
18181
+
18182
+ // Append range position context.
18183
+ if (this.datepicker?.hasAttribute('range')) {
18184
+ const rangeLabel = this.getRangePositionLabel(date);
18185
+ if (rangeLabel) {
18186
+ label += `, ${rangeLabel}`;
18187
+ }
18188
+ }
18189
+
18190
+ // Append blackout label.
18191
+ if (this.isDateBlackout(date)) {
18192
+ label += `, ${this.datepicker?.blackoutLabel || 'unavailable'}`;
18193
+ }
18194
+
18195
+ return label;
18196
+ }
18197
+
18198
+ /**
18199
+ * Determines the range position label for a given date.
18200
+ * @private
18201
+ * @param {Number} date - Unix timestamp (seconds).
18202
+ * @returns {String|null} The range position label, or null.
18203
+ */
18204
+ getRangePositionLabel(date) {
18205
+ const parsedFrom = Number.parseInt(this.dateFrom, 10);
18206
+ if (!Number.isFinite(parsedFrom)) return null;
18207
+
18208
+ const departTs = startOfDay(parsedFrom * 1000) / 1000;
18209
+ const parsedTo = Number.parseInt(this.dateTo, 10);
18210
+ const hasTo = Number.isFinite(parsedTo);
18211
+ const returnTs = hasTo ? startOfDay(parsedTo * 1000) / 1000 : null;
18212
+
18213
+ if (date === departTs) return this.datepicker.rangeLabelStart || 'range start';
18214
+ if (hasTo && date === returnTs) return this.datepicker.rangeLabelEnd || 'range end';
18215
+ if (date < departTs) return this.datepicker.rangeLabelBeforeRange || 'before range';
18216
+ if (hasTo && date > departTs && date < returnTs) return this.datepicker.rangeLabelInRange || 'in range';
18217
+ return this.datepicker.rangeLabelAfterRange || 'after range';
18218
+ }
18219
+
18220
+ /**
18221
+ * Checks whether a given date is a blackout date.
18222
+ * @private
18223
+ * @param {Number} dateTs - Unix timestamp (seconds).
18224
+ * @returns {Boolean} True if the date is blacked out.
18225
+ */
18226
+ isDateBlackout(dateTs) {
18227
+ // Check legacy disabledDays.
18228
+ if (Array.isArray(this.disabledDays) && this.disabledDays.length > 0) {
18229
+ if (this.disabledDays.findIndex(d => parseInt(d, 10) === dateTs) !== -1) {
18230
+ return true;
18231
+ }
18232
+ }
18233
+
18234
+ // Check ISO blackoutDates.
18235
+ const blackoutDates = this.datepicker?.blackoutDates;
18236
+ if (Array.isArray(blackoutDates) && blackoutDates.length > 0) {
18237
+ const date = new Date(dateTs * 1000);
18238
+ const yyyy = date.getFullYear();
18239
+ const mm = String(date.getMonth() + 1).padStart(2, '0');
18240
+ const dd = String(date.getDate()).padStart(2, '0');
18241
+ if (blackoutDates.includes(`${yyyy}-${mm}-${dd}`)) {
18242
+ return true;
18243
+ }
18244
+ }
18245
+
18246
+ return false;
18247
+ }
18248
+
18249
+ /**
18250
+ * Updates the range preview classes imperatively across all cells.
18251
+ * Only active when in range mode with dateFrom set and dateTo not yet set.
18252
+ * @private
18253
+ * @param {Number} hoveredDate - Unix timestamp of the hovered/focused date.
18254
+ * @returns {void}
18255
+ */
18256
+ updateRangePreview(hoveredDate) {
18257
+ if (this.noRange || !this.dateFrom || this.dateTo) {
18258
+ return;
18259
+ }
18260
+
18261
+ const parsedDateFrom = parseInt(this.dateFrom, 10);
18262
+ const allCells = this.getAllFocusableCells();
18263
+
18264
+ allCells.forEach(cell => {
18265
+ cell.updateRangePreviewClasses(hoveredDate, parsedDateFrom);
18266
+ });
18267
+ }
18268
+
18269
+ /**
18270
+ * Clears range preview classes from all cells.
18271
+ * @private
18272
+ * @returns {void}
18273
+ */
18274
+ clearRangePreview() {
18275
+ const allCells = this.getAllFocusableCells();
18276
+ allCells.forEach(cell => {
18277
+ cell.clearRangePreviewClasses();
18278
+ });
18279
+ }
18280
+
18281
+ /**
18282
+ * Overrides the base class handler to prevent setting `this.hoveredDate`
18283
+ * as a reactive property. Instead, handles the range preview imperatively.
18284
+ * @private
18285
+ * @param {CustomEvent} event - The hovered-date-changed event from a month.
18286
+ * @returns {void}
18287
+ */
18288
+ hoveredDateChanged(event) {
18289
+ const hoveredDate = event.detail.value;
18290
+ this.updateRangePreview(hoveredDate);
18291
+ }
18292
+
18293
+ /**
18294
+ * Scrolls the calendar to ensure the month containing the active cell is visible.
18295
+ * @private
18296
+ * @returns {void}
18297
+ */
18298
+ scrollToActiveCell() {
18299
+ if (this.activeCellDate == null) return;
18300
+
18301
+ const date = new Date(this.activeCellDate * 1000);
18302
+ const month = date.getMonth() + 1;
18303
+ const year = date.getFullYear();
18304
+ const selector = `#month-${month}-${year}`;
18305
+ const monthElem = this.shadowRoot.querySelector(selector);
18306
+
18307
+ if (monthElem) {
18308
+ const prefersReducedMotion = window.matchMedia('(prefers-reduced-motion: reduce)').matches;
18309
+ monthElem.scrollIntoView({ block: 'nearest', behavior: prefersReducedMotion ? 'instant' : 'smooth' });
18310
+ }
18311
+ }
18312
+
18313
+ /**
18314
+ * Announces a date selection or focus change via the live region.
18315
+ * @private
18316
+ * @param {String} dateStr - The localized date string to announce.
18317
+ * @returns {void}
18318
+ */
18319
+ announceSelection(dateStr) {
18320
+ const liveRegion = this.shadowRoot.querySelector('#calendar-live-region');
18321
+ if (liveRegion) {
18322
+ liveRegion.textContent = '';
18323
+ // Use microtask to ensure SR picks up the change
18324
+ Promise.resolve().then(() => {
18325
+ liveRegion.textContent = dateStr;
18326
+ });
18327
+ }
18328
+ }
18329
+
18330
+ /**
18331
+ * Debounced version of announceSelection for focus navigation.
18332
+ * Only announces the last focused date after rapid navigation pauses,
18333
+ * preventing the screen reader from queueing up stale announcements
18334
+ * that can't keep pace with arrow-key traversal.
18335
+ * @private
18336
+ * @param {String} dateStr - The localized date string to announce.
18337
+ * @returns {void}
18338
+ */
18339
+ announceFocusDebounced(dateStr) {
18340
+ if (this._focusAnnounceTimer) {
18341
+ clearTimeout(this._focusAnnounceTimer);
18342
+ }
18343
+ this._focusAnnounceTimer = setTimeout(() => {
18344
+ this.announceSelection(dateStr);
18345
+ this._focusAnnounceTimer = null;
18346
+ }, 150);
18347
+ }
18348
+
18349
+ /**
18350
+ * Formats a Unix timestamp (seconds) as a localized date string for SR announcements.
18351
+ * @private
18352
+ * @param {String|Number} timestamp - Unix timestamp in seconds.
18353
+ * @returns {String} Localized date string.
18354
+ */
18355
+ formatAnnouncementDate(timestamp) {
18356
+ const date = new Date(parseInt(timestamp, 10) * 1000);
18357
+ const localeCode = this.locale?.code || undefined;
18358
+ const formatter = new Intl.DateTimeFormat(localeCode, {
18359
+ weekday: 'long', year: 'numeric', month: 'long', day: 'numeric'
18360
+ });
18361
+ return formatter.format(date);
18362
+ }
18363
+
17045
18364
  firstUpdated() {
17046
18365
  this.addEventListener('date-from-changed', () => {
17047
18366
  this.dispatchEvent(new CustomEvent('auroCalendar-dateSelected', {
@@ -17061,6 +18380,21 @@ class AuroCalendar extends RangeDatepicker {
17061
18380
  composed: true,
17062
18381
  }));
17063
18382
  });
18383
+
18384
+ // Listen for cross-month boundary navigation events
18385
+ this.addEventListener('calendar-month-boundary', (event) => {
18386
+ this.handleMonthBoundary(event);
18387
+ });
18388
+
18389
+ // Listen for cell activation events
18390
+ this.addEventListener('calendar-cell-activate', (event) => {
18391
+ this.handleCellActivate(event);
18392
+ });
18393
+
18394
+ // Listen for cell focus events (SR announcements + range preview)
18395
+ this.addEventListener('calendar-cell-focused', (event) => {
18396
+ this.handleCellFocused(event);
18397
+ });
17064
18398
  }
17065
18399
 
17066
18400
  injectSlot(slotName, nodes) {
@@ -17085,7 +18419,37 @@ class AuroCalendar extends RangeDatepicker {
17085
18419
  }
17086
18420
 
17087
18421
  if (changedProperties.has('visible')) {
17088
- setTimeout(() => this.requestUpdate());
18422
+ if (this.visible) {
18423
+ // Compute the active date eagerly from data — no DOM needed.
18424
+ if (this.activeCellDate == null) {
18425
+ this.activeCellDate = this.computeActiveDate();
18426
+ }
18427
+
18428
+ this.requestUpdate();
18429
+ } else {
18430
+ this.requestUpdate();
18431
+ }
18432
+ }
18433
+
18434
+ // Announce date selection to screen readers when user clicks/selects a cell
18435
+ const isCellClick = this.datepicker?.wasCellClick || this.datepicker?.cellClickActive;
18436
+
18437
+ if (changedProperties.has('dateFrom') && this.dateFrom && isCellClick) {
18438
+ const dateStr = this.formatAnnouncementDate(this.dateFrom);
18439
+ const isRange = !this.noRange;
18440
+
18441
+ if (isRange) {
18442
+ const rangeLabel = this.datepicker.rangeLabelStart || 'range start';
18443
+ this.announceSelection(`${dateStr}, selected as ${rangeLabel}`);
18444
+ } else {
18445
+ this.announceSelection(`${dateStr}, selected`);
18446
+ }
18447
+ }
18448
+
18449
+ if (changedProperties.has('dateTo') && this.dateTo && isCellClick) {
18450
+ const dateStr = this.formatAnnouncementDate(this.dateTo);
18451
+ const rangeLabel = this.datepicker.rangeLabelEnd || 'range end';
18452
+ this.announceSelection(`${dateStr}, selected as ${rangeLabel}`);
17089
18453
  }
17090
18454
  }
17091
18455
 
@@ -17094,6 +18458,7 @@ class AuroCalendar extends RangeDatepicker {
17094
18458
  <${this.bibtemplateTag}
17095
18459
  ?large="${this.largeFullscreenHeadline}"
17096
18460
  ?isFullscreen="${this.isFullscreen}"
18461
+ ?showFooter="${!this.isFullscreen && this.dropdown?.desktopModal}"
17097
18462
  @close-click="${this.utilCal.requestDismiss}">
17098
18463
  <span slot="ariaLabel.close">${this.slots["ariaLabel.bib.close"]}</span>
17099
18464
 
@@ -17111,24 +18476,27 @@ class AuroCalendar extends RangeDatepicker {
17111
18476
  </div>
17112
18477
  </div>
17113
18478
 
17114
- <div class="calendarWrapper">
17115
- <div class="calendars">
17116
- ${this.renderAllCalendars()}
17117
- </div>
18479
+ <div class="calendarWrapper ${!this.isFullscreen && this.dropdown?.desktopModal ? 'hasFooter' : ''}">
17118
18480
  <div class="calendarNavButtons">
17119
18481
  ${this.showPrevMonthBtn ? u$d`
17120
- <button tabIndex="-1" class="calendarNavBtn prevMonth" @click="${this.handlePrevMonth}">
18482
+ <button tabIndex="0" class="calendarNavBtn prevMonth" aria-label="${this.datepicker?.navLabelPrevMonth || 'Previous month'}" @click="${this.handlePrevMonth}">
17121
18483
  ${this.util.generateIconHtml(chevronLeft)}
17122
18484
  </button>
17123
18485
  ` : undefined}
17124
18486
  ${this.showNextMonthBtn ? u$d`
17125
- <button tabIndex="-1" class="calendarNavBtn nextMonth" @click="${this.handleNextMonth}">
18487
+ <button tabIndex="0" class="calendarNavBtn nextMonth" aria-label="${this.datepicker?.navLabelNextMonth || 'Next month'}" @click="${this.handleNextMonth}">
17126
18488
  ${this.util.generateIconHtml(chevronRight)}
17127
18489
  </button>
17128
18490
  ` : undefined}
17129
18491
  </div>
18492
+ <div id="calendarGrid" class="calendars" role="group" tabindex="-1" aria-activedescendant="activeDescendantProxy" @keydown="${this.handleGridKeyDown}">
18493
+ <span id="activeDescendantProxy" role="gridcell" aria-label="" class="sr-only"></span>
18494
+ ${this.renderAllCalendars()}
18495
+ </div>
17130
18496
  </div>
17131
18497
 
18498
+ <div id="calendar-live-region" aria-live="assertive" aria-atomic="true" class="sr-only"></div>
18499
+
17132
18500
  <${this.buttonTag} slot="footer" fluid @click="${this.utilCal.requestDismiss}">Done</${this.buttonTag}>
17133
18501
  </${this.bibtemplateTag}>
17134
18502
  `;
@@ -20376,7 +21744,7 @@ function applyKeyboardStrategy$1$2(component, strategy, options = {}) {
20376
21744
  });
20377
21745
  }
20378
21746
 
20379
- var styleCss$2$1$2 = i$5`: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}`;
21747
+ var styleCss$2$1$2 = i$5`: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}`;
20380
21748
 
20381
21749
  var colorCss$2$7 = i$5`.container{background-color:var(--ds-auro-dropdownbib-container-color);box-shadow:var(--ds-auro-dropdownbib-boxshadow-color);color:var(--ds-auro-dropdownbib-text-color)}`;
20382
21750
 
@@ -21007,7 +22375,7 @@ let AuroHelpText$2$1 = class AuroHelpText extends i$3 {
21007
22375
  }
21008
22376
  };
21009
22377
 
21010
- var formkitVersion$1$2 = '202605201646';
22378
+ var formkitVersion$1$2 = '202605210326';
21011
22379
 
21012
22380
  let AuroElement$2$2 = class AuroElement extends i$3 {
21013
22381
  static get properties() {
@@ -21187,6 +22555,7 @@ let AuroDropdown$3 = class AuroDropdown extends AuroElement$2$2 {
21187
22555
  _intializeDefaults() {
21188
22556
  this.appearance = 'default';
21189
22557
  this.chevron = false;
22558
+ this.desktopModal = false;
21190
22559
  this.disabled = false;
21191
22560
  this.disableKeyboardHandling = false;
21192
22561
  this.error = false;
@@ -21367,6 +22736,14 @@ let AuroDropdown$3 = class AuroDropdown extends AuroElement$2$2 {
21367
22736
  reflect: true
21368
22737
  },
21369
22738
 
22739
+ /**
22740
+ * If declared, the dropdown will behave as a modal dialog when in a desktop viewport size.
22741
+ */
22742
+ desktopModal: {
22743
+ type: Boolean,
22744
+ reflect: true
22745
+ },
22746
+
21370
22747
  /**
21371
22748
  * If declared, the dropdown will only show by calling the API .show() public method.
21372
22749
  */
@@ -21654,6 +23031,15 @@ let AuroDropdown$3 = class AuroDropdown extends AuroElement$2$2 {
21654
23031
 
21655
23032
  disconnectedCallback() {
21656
23033
  super.disconnectedCallback();
23034
+ this._clearPageInert();
23035
+ if (this._bibTabHandler) {
23036
+ this.removeEventListener('keydown', this._bibTabHandler);
23037
+ this._bibTabHandler = undefined;
23038
+ }
23039
+ if (this.focusTrap) {
23040
+ this.focusTrap.disconnect();
23041
+ this.focusTrap = undefined;
23042
+ }
21657
23043
  if (this.floater) {
21658
23044
  this.floater.hideBib('disconnect');
21659
23045
  this.floater.disconnect();
@@ -21681,19 +23067,45 @@ let AuroDropdown$3 = class AuroDropdown extends AuroElement$2$2 {
21681
23067
  if (this.isPopoverVisible) {
21682
23068
  // Fullscreen: use showModal() for native accessibility (inert outside, focus trap)
21683
23069
  // Desktop: use show() for Floating UI positioning + FocusTrap for focus management
21684
- const useModal = this.isBibFullscreen;
21685
- this.bibElement.value.open(useModal);
23070
+ this.bibElement.value.open(this.isBibFullscreen);
23071
+ this.updateFocusTrap();
23072
+
23073
+ // Desktop modal: make siblings inert so content outside is not interactive
23074
+ if (this.desktopModal && !this.isBibFullscreen) {
23075
+ this._setPageInert();
23076
+ }
21686
23077
  } else {
21687
23078
  this.bibElement.value.close();
23079
+ this._clearPageInert();
21688
23080
  }
21689
23081
  }
21690
23082
 
21691
23083
  // When fullscreen strategy changes while open, re-open dialog with correct mode
21692
23084
  // (e.g. resizing from desktop → mobile while dropdown is open)
21693
23085
  if (changedProperties.has('isBibFullscreen') && this.isPopoverVisible && this.bibElement.value) {
21694
- const useModal = this.isBibFullscreen;
21695
23086
  this.bibElement.value.close();
21696
- this.bibElement.value.open(useModal);
23087
+ this.bibElement.value.open(this.isBibFullscreen);
23088
+
23089
+ // Re-initialize focus management for the new strategy
23090
+ this.updateFocusTrap();
23091
+
23092
+ // Toggle inert: desktop modal needs it, fullscreen showModal() handles it natively
23093
+ if (this.desktopModal && !this.isBibFullscreen) {
23094
+ this._setPageInert();
23095
+ } else {
23096
+ this._clearPageInert();
23097
+ }
23098
+ }
23099
+
23100
+ // Handle desktopModal toggled while the dropdown is already open.
23101
+ // Re-initialize focus trapping and page inert state to match the new mode.
23102
+ if (changedProperties.has('desktopModal') && this.isPopoverVisible && !this.isBibFullscreen) {
23103
+ this.updateFocusTrap();
23104
+ if (this.desktopModal) {
23105
+ this._setPageInert();
23106
+ } else {
23107
+ this._clearPageInert();
23108
+ }
21697
23109
  }
21698
23110
  }
21699
23111
 
@@ -21703,8 +23115,14 @@ let AuroDropdown$3 = class AuroDropdown extends AuroElement$2$2 {
21703
23115
  * @param {CustomEvent} event - The custom event that contains the dropdown toggle information.
21704
23116
  */
21705
23117
  handleDropdownToggle(event) {
21706
- this.updateFocusTrap();
21707
23118
  this.isPopoverVisible = event.detail.expanded;
23119
+
23120
+ // Tear down FocusTrap when closing. Creation happens in updated()
23121
+ // after the dialog is open so getFocusableElements can find content.
23122
+ if (!this.isPopoverVisible) {
23123
+ this.updateFocusTrap();
23124
+ }
23125
+
21708
23126
  const eventType = event.detail.eventType || "unknown";
21709
23127
  if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown") {
21710
23128
  this.trigger.focus();
@@ -21803,19 +23221,178 @@ let AuroDropdown$3 = class AuroDropdown extends AuroElement$2$2 {
21803
23221
  * @private
21804
23222
  */
21805
23223
  updateFocusTrap() {
23224
+ // Always clean up existing handlers/traps before setting up new ones
23225
+ // to prevent duplicate listeners on repeated calls.
23226
+ if (this._bibTabHandler) {
23227
+ this.removeEventListener('keydown', this._bibTabHandler);
23228
+ this._bibTabHandler = undefined;
23229
+ }
23230
+
23231
+ if (this.focusTrap) {
23232
+ this.focusTrap.disconnect();
23233
+ this.focusTrap = undefined;
23234
+ }
23235
+
21806
23236
  if (this.isPopoverVisible) {
21807
23237
  if (!this.isBibFullscreen) {
21808
- // Desktop: show() doesn't trap focus, so use FocusTrap
21809
- this.focusTrap = new FocusTrap$3(this.bibContent);
21810
- this.focusTrap.focusFirstElement();
23238
+ if (this.desktopModal) {
23239
+ // Desktop modal: trap focus only within the bib content.
23240
+ // Can't use FocusTrap on the bib element because keydown events
23241
+ // from slotted content bubble through the dropdown host (light DOM),
23242
+ // not through the bib (shadow projection target). Using FocusTrap
23243
+ // on the dropdown would include the trigger in the tab cycle.
23244
+ // Instead, listen for Tab on the dropdown and manually wrap focus
23245
+ // within the bib's focusable elements.
23246
+ this._bibTabHandler = (event) => {
23247
+ if (event.key !== 'Tab') {
23248
+ return;
23249
+ }
23250
+
23251
+ // Collect focusable elements from the bib content.
23252
+ const focusables = getFocusableElements$3(this.bibContent);
23253
+
23254
+ // Fallback: try from slotted content directly
23255
+ if (!focusables.length) {
23256
+ const slot = this.shadowRoot.querySelector('.slotContent slot');
23257
+ const assignedNodes = slot ? slot.assignedNodes({ flatten: true }) : [];
23258
+
23259
+ for (const node of assignedNodes) {
23260
+ if (node.nodeType === Node.ELEMENT_NODE) {
23261
+ focusables.push(...getFocusableElements$3(node));
23262
+ }
23263
+ }
23264
+ }
23265
+
23266
+ if (!focusables.length) {
23267
+ return;
23268
+ }
23269
+
23270
+ event.preventDefault();
23271
+
23272
+ const direction = event.shiftKey ? -1 : 1; // eslint-disable-line no-magic-numbers
23273
+
23274
+ // Walk the active element chain through shadow roots
23275
+ const actives = this._getActiveElements();
23276
+
23277
+ let idx = focusables.findIndex((el) => actives.includes(el));
23278
+
23279
+ if (idx === -1) { // eslint-disable-line no-magic-numbers
23280
+ // Focus is not on a known element — move to first/last
23281
+ idx = direction === 1 ? -1 : focusables.length; // eslint-disable-line no-magic-numbers
23282
+ }
23283
+
23284
+ // Try each element in order, skipping any that can't receive focus
23285
+ // (e.g. hidden elements, elements in collapsed sections)
23286
+ for (let index = 0; index < focusables.length; index++) { // eslint-disable-line no-plusplus
23287
+ let nextIdx = idx + direction;
23288
+
23289
+ // Wrap around
23290
+ if (nextIdx < 0) {
23291
+ nextIdx = focusables.length - 1;
23292
+ } else if (nextIdx >= focusables.length) {
23293
+ nextIdx = 0;
23294
+ }
23295
+
23296
+ focusables[nextIdx].focus();
23297
+
23298
+ // Verify focus actually moved to the target
23299
+ const newActives = this._getActiveElements();
23300
+
23301
+ if (newActives.includes(focusables[nextIdx])) {
23302
+ return;
23303
+ }
23304
+
23305
+ // Focus didn't stick — skip this element and try the next
23306
+ idx = nextIdx;
23307
+ }
23308
+ };
23309
+ this.addEventListener('keydown', this._bibTabHandler);
23310
+
23311
+ // Move initial focus into the bib content, matching FocusTrap behavior
23312
+ requestAnimationFrame(() => {
23313
+ const focusables = getFocusableElements$3(this.bibContent);
23314
+ if (focusables.length) {
23315
+ focusables[0].focus();
23316
+ }
23317
+ });
23318
+ } else {
23319
+ // Normal desktop: use FocusTrap on the bib element
23320
+ this.focusTrap = new FocusTrap$3(this.bibContent);
23321
+ this.focusTrap.focusFirstElement();
23322
+ }
21811
23323
  }
21812
23324
  // Fullscreen: showModal() provides native focus trapping
23325
+ }
23326
+ }
23327
+
23328
+ /**
23329
+ * Returns the chain of active (focused) elements through shadow roots.
23330
+ * @private
23331
+ * @returns {Array<HTMLElement>}
23332
+ */
23333
+ _getActiveElements() {
23334
+ let { activeElement } = document;
23335
+ const actives = [activeElement];
23336
+
23337
+ while (activeElement?.shadowRoot?.activeElement) {
23338
+ activeElement = activeElement.shadowRoot.activeElement;
23339
+ actives.push(activeElement);
23340
+ }
23341
+
23342
+ return actives;
23343
+ }
23344
+
23345
+ /**
23346
+ * Sets `inert` on sibling elements of the dropdown's top-level host
23347
+ * so that content outside the dropdown is not interactive while the modal is open.
23348
+ * Walks up through shadow DOM boundaries to find the outermost host element
23349
+ * in the light DOM, then sets `inert` on siblings at each ancestor level
23350
+ * to ensure all page content outside the host subtree is inert.
23351
+ * @private
23352
+ */
23353
+ _setPageInert() {
23354
+ if (this._inertSiblings) {
21813
23355
  return;
21814
23356
  }
21815
23357
 
21816
- if (this.focusTrap) {
21817
- this.focusTrap.disconnect();
21818
- this.focusTrap = undefined;
23358
+ this._inertSiblings = [];
23359
+
23360
+ // Walk up through shadow DOM boundaries to find the topmost host
23361
+ // element in the light DOM. For example, if this dropdown is inside
23362
+ // auro-datepicker's shadow DOM, we walk up to the datepicker element
23363
+ // so we set inert on its siblings — not on the datepicker itself.
23364
+ let host = this;
23365
+ while (host.getRootNode() instanceof ShadowRoot) {
23366
+ host = host.getRootNode().host;
23367
+ }
23368
+
23369
+ // Walk up the ancestor chain, inerting siblings at each level
23370
+ // to ensure the entire page outside the host subtree is inert.
23371
+ let current = host;
23372
+ while (current.parentElement) {
23373
+ const parent = current.parentElement;
23374
+ for (const sibling of parent.children) {
23375
+ if (sibling !== current) {
23376
+ this._inertSiblings.push({ element: sibling, wasInert: sibling.inert });
23377
+ sibling.inert = true;
23378
+ }
23379
+ }
23380
+ current = parent;
23381
+ }
23382
+ }
23383
+
23384
+ /**
23385
+ * Restores `inert` state on siblings that were tracked by `_setPageInert`.
23386
+ * Preserves the previous inert state so externally-inerted elements are
23387
+ * not inadvertently re-enabled.
23388
+ * @private
23389
+ */
23390
+ _clearPageInert() {
23391
+ if (this._inertSiblings) {
23392
+ for (const entry of this._inertSiblings) {
23393
+ entry.element.inert = entry.wasInert;
23394
+ }
23395
+ this._inertSiblings = undefined;
21819
23396
  }
21820
23397
  }
21821
23398
 
@@ -22054,6 +23631,7 @@ let AuroDropdown$3 = class AuroDropdown extends AuroElement$2$2 {
22054
23631
  shape="${this.shape}"
22055
23632
  ?data-show="${this.isPopoverVisible}"
22056
23633
  ?isfullscreen="${this.isBibFullscreen}"
23634
+ ?desktopmodal="${this.desktopModal}"
22057
23635
  .dialogLabel="${this.bibDialogLabel}"
22058
23636
  ${n$6(this.bibElement)}
22059
23637
  >
@@ -28752,7 +30330,7 @@ let AuroHelpText$1$2 = class AuroHelpText extends i$3 {
28752
30330
  }
28753
30331
  };
28754
30332
 
28755
- var formkitVersion$8 = '202605201646';
30333
+ var formkitVersion$8 = '202605210326';
28756
30334
 
28757
30335
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
28758
30336
  // See LICENSE in the project root for license information.
@@ -30007,26 +31585,62 @@ function applyKeyboardStrategy$5(component, strategy, options = {}) {
30007
31585
  // components/datepicker/docs/partials/keyboardBehavior.md
30008
31586
  //
30009
31587
  // Current behavior (transitional — full bib keyboard navigation is planned for a future iteration):
30010
- // - The bib opens and closes via pointer/touch interaction only.
30011
31588
  // - Escape closes the bib and prevents the event from reaching parent containers.
31589
+ // - Enter opens the bib when it is closed (trigger input only, not clear button).
31590
+ // - Space opens the bib when it is closed (trigger input only, not clear button).
30012
31591
  // - Tab uses the browser's default tabindex sequence across trigger controls.
30013
- // - Enter and Space do not open or close the bib.
30014
31592
  //
30015
31593
  // This file is an intentional placeholder for most keys. When datepicker bib keyboard navigation is
30016
31594
  // added, handlers should go here following the same strategy pattern used by
30017
31595
  // auro-select (selectKeyboardStrategy.js) and auro-combobox (comboboxKeyboardStrategy.js).
30018
31596
  const datepickerKeyboardStrategy = {
30019
- Escape(component, evt) {
30020
- if (!component.dropdown || !component.dropdown.isPopoverVisible) {
31597
+ Escape(component, evt, ctx) {
31598
+ if (!ctx.isExpanded) {
30021
31599
  return;
30022
31600
  }
30023
31601
 
30024
- // Prevent the Escape key from bubbling up and closing any parent dialogs / drawers / popups.
30025
- // Because stopPropagation prevents the document-level floatingUI keydown handler from
30026
- // seeing this event, we must also close the dropdown explicitly.
31602
+ // Stop propagation so parent containers (auro-dialog, auro-drawer)
31603
+ // don't also react to Escape.
30027
31604
  evt.stopPropagation();
31605
+ evt.preventDefault();
30028
31606
 
30029
- component.dropdown.hide();
31607
+ component.hideBib();
31608
+ },
31609
+
31610
+ Enter(component, evt, ctx) {
31611
+ if (ctx.isExpanded) {
31612
+ return;
31613
+ }
31614
+
31615
+ // Only open from the trigger input, not the clear button or other internal elements.
31616
+ // evt.target is retargeted to the host in shadow DOM, so use composedPath()
31617
+ // to find the real origin. The clear button is rendered with class "clearBtn".
31618
+ const path = evt.composedPath();
31619
+ if (path.some(el => el.classList?.contains('clearBtn'))) {
31620
+ return;
31621
+ }
31622
+
31623
+ evt.preventDefault();
31624
+
31625
+ component.dropdown.show();
31626
+ },
31627
+
31628
+ ' '(component, evt, ctx) {
31629
+ if (ctx.isExpanded) {
31630
+ return;
31631
+ }
31632
+
31633
+ // Only open from the trigger input, not the clear button or other internal elements.
31634
+ // evt.target is retargeted to the host in shadow DOM, so use composedPath()
31635
+ // to find the real origin. The clear button is rendered with class "clearBtn".
31636
+ const path = evt.composedPath();
31637
+ if (path.some(el => el.classList?.contains('clearBtn'))) {
31638
+ return;
31639
+ }
31640
+
31641
+ evt.preventDefault();
31642
+
31643
+ component.dropdown.show();
30030
31644
  },
30031
31645
  };
30032
31646
 
@@ -30100,6 +31714,15 @@ class AuroDatePicker extends AuroElement$6 {
30100
31714
  this.required = false;
30101
31715
  this.onDark = false;
30102
31716
  this.range = false;
31717
+ this.rangeLabelStart = 'range start';
31718
+ this.rangeLabelEnd = 'range end';
31719
+ this.rangeLabelBeforeRange = 'before range';
31720
+ this.rangeLabelInRange = 'in range';
31721
+ this.rangeLabelAfterRange = 'after range';
31722
+ this.blackoutDates = [];
31723
+ this.blackoutLabel = 'unavailable';
31724
+ this.navLabelPrevMonth = 'Previous month';
31725
+ this.navLabelNextMonth = 'Next month';
30103
31726
  this.stacked = false;
30104
31727
  this.noValidate = false;
30105
31728
  this.validity = undefined;
@@ -30478,6 +32101,78 @@ class AuroDatePicker extends AuroElement$6 {
30478
32101
  reflect: true
30479
32102
  },
30480
32103
 
32104
+ /**
32105
+ * Label announced for the range start date cell.
32106
+ */
32107
+ rangeLabelStart: {
32108
+ type: String,
32109
+ reflect: true
32110
+ },
32111
+
32112
+ /**
32113
+ * Label announced for the range end date cell.
32114
+ */
32115
+ rangeLabelEnd: {
32116
+ type: String,
32117
+ reflect: true
32118
+ },
32119
+
32120
+ /**
32121
+ * Label announced for cells before the range start.
32122
+ */
32123
+ rangeLabelBeforeRange: {
32124
+ type: String,
32125
+ reflect: true
32126
+ },
32127
+
32128
+ /**
32129
+ * Label announced for cells within the selected range.
32130
+ */
32131
+ rangeLabelInRange: {
32132
+ type: String,
32133
+ reflect: true
32134
+ },
32135
+
32136
+ /**
32137
+ * Label announced for cells after the range (or after start when no end is selected).
32138
+ */
32139
+ rangeLabelAfterRange: {
32140
+ type: String,
32141
+ reflect: true
32142
+ },
32143
+
32144
+ /**
32145
+ * Array of dates that cannot be selected. Dates should be in ISO format (YYYY-MM-DD).
32146
+ */
32147
+ blackoutDates: {
32148
+ type: Array,
32149
+ reflect: true
32150
+ },
32151
+
32152
+ /**
32153
+ * Label announced for blackout (disabled but in-range) date cells.
32154
+ */
32155
+ blackoutLabel: {
32156
+ type: String,
32157
+ reflect: true
32158
+ },
32159
+
32160
+ /**
32161
+ * Accessible label for the previous month navigation button.
32162
+ */
32163
+ navLabelPrevMonth: {
32164
+ type: String,
32165
+ reflect: true
32166
+ },
32167
+
32168
+ /**
32169
+ * Accessible label for the next month navigation button.
32170
+ */
32171
+ navLabelNextMonth: {
32172
+ type: String,
32173
+ reflect: true
32174
+ },
32175
+
30481
32176
  /**
30482
32177
  * Dates that the user should have for reference as part of their decision making when selecting a date.
30483
32178
  * This should be a JSON string array of dates in the format of `MM/DD/YYYY`.
@@ -30504,6 +32199,7 @@ class AuroDatePicker extends AuroElement$6 {
30504
32199
 
30505
32200
  /**
30506
32201
  * Custom help text message to display when validity = `customError`.
32202
+ * Also used as the validation message when a blackout date is typed into the input.
30507
32203
  */
30508
32204
  setCustomValidityCustomError: {
30509
32205
  type: String
@@ -30825,6 +32521,61 @@ class AuroDatePicker extends AuroElement$6 {
30825
32521
  }));
30826
32522
  }
30827
32523
 
32524
+ /**
32525
+ * Attempts to focus the active calendar cell using a rAF retry loop.
32526
+ * Shared by both fullscreen and desktop open paths.
32527
+ * @private
32528
+ * @returns {void}
32529
+ */
32530
+ focusActiveCellWhenReady() {
32531
+ const MAX_ATTEMPTS = 20;
32532
+ let attempts = 0;
32533
+
32534
+ const tryFocus = () => {
32535
+ attempts += 1;
32536
+ const allCells = this.calendar.getAllFocusableCells();
32537
+
32538
+ if (!allCells.length && attempts < MAX_ATTEMPTS) {
32539
+ requestAnimationFrame(tryFocus);
32540
+ return;
32541
+ }
32542
+
32543
+ // Compute and mark the active cell
32544
+ if (this.calendar.activeCellDate == null) {
32545
+ this.calendar.activeCellDate = this.calendar.computeActiveDate();
32546
+ }
32547
+ if (this.calendar.activeCellDate !== undefined) {
32548
+ this.calendar.setActiveCell(this.calendar.activeCellDate);
32549
+ }
32550
+
32551
+ // If no cell matched (e.g. centralDate month differs from the rendered
32552
+ // range on mobile), fall back to the first rendered enabled cell.
32553
+ let activeCell = allCells.find(cell => cell.active);
32554
+ if (!activeCell && allCells.length) {
32555
+ const fallback = allCells[0];
32556
+ if (fallback.day) {
32557
+ this.calendar.activeCellDate = fallback.day.date;
32558
+ this.calendar.setActiveCell(this.calendar.activeCellDate);
32559
+ activeCell = allCells.find(cell => cell.active);
32560
+ }
32561
+ }
32562
+
32563
+ // Focus the calendar grid wrapper (aria-activedescendant handles
32564
+ // the SR announcement for the active cell).
32565
+ if (activeCell) {
32566
+ // Announce the initial active cell via the live region
32567
+ const announcement = this.calendar.buildFocusAnnouncement(activeCell.day.date);
32568
+ this.calendar.announceSelection(announcement);
32569
+
32570
+ this.calendar.focusActiveCell();
32571
+ } else if (attempts < MAX_ATTEMPTS) {
32572
+ requestAnimationFrame(tryFocus);
32573
+ }
32574
+ };
32575
+
32576
+ requestAnimationFrame(tryFocus);
32577
+ }
32578
+
30828
32579
  /**
30829
32580
  * Binds all behavior needed to the dropdown after rendering.
30830
32581
  * @private
@@ -30833,6 +32584,12 @@ class AuroDatePicker extends AuroElement$6 {
30833
32584
  configureDropdown() {
30834
32585
  this.dropdown = this.shadowRoot.querySelector(this.dropdownTag._$litStatic$);
30835
32586
 
32587
+ // The datepicker manages its own open/close lifecycle (Space/Escape/date-select/done).
32588
+ // Prevent the floater's document-level focusin handler from closing the bib
32589
+ // when focus moves from the trigger into the calendar cells (which live inside
32590
+ // a top-layer popover where :focus-within on the dropdown host returns false).
32591
+ this.dropdown.noHideOnThisFocusLoss = true;
32592
+
30836
32593
  // Pass label text to the dropdown bib for accessible dialog naming.
30837
32594
  // Without this, the fullscreen <dialog> has no accessible name and
30838
32595
  // screen readers announce it as just "dialog" with no context.
@@ -30850,6 +32607,23 @@ class AuroDatePicker extends AuroElement$6 {
30850
32607
  this.dropdown.addEventListener('auroDropdown-toggled', () => {
30851
32608
  this.notifyDatepickerToggled();
30852
32609
 
32610
+ if (this.dropdown.isPopoverVisible) {
32611
+ // Reset calendar focus state so it recomputes from the current selection.
32612
+ // Without this, reopening after navigating to a month without a selected
32613
+ // date leaves activeCellDate pointing at a cell in a different month than
32614
+ // what centralDate renders, causing all cells to have tabindex="-1".
32615
+ this.calendar.activeCellDate = null;
32616
+
32617
+ // Show the month containing the selected date (or today) instead of
32618
+ // whichever month the user last navigated to.
32619
+ // Respect consumer-provided centralDate/calendarStartDate if no value is set.
32620
+ if (this.value && this.util.validDateStr(this.value, this.format)) {
32621
+ this.calendarRenderUtil.updateCentralDate(this, this.formattedValue);
32622
+ } else if (!this.centralDate && !this.calendarStartDate && !this.minDate) {
32623
+ this.calendarRenderUtil.updateCentralDate(this, new Date());
32624
+ }
32625
+ }
32626
+
30853
32627
  // This forces the calendar to render when the dropdown is opened.
30854
32628
  // It is not rendered by default
30855
32629
  this.calendar.visible = this.dropdown.isPopoverVisible;
@@ -30882,12 +32656,23 @@ class AuroDatePicker extends AuroElement$6 {
30882
32656
  bibEl.open(true);
30883
32657
 
30884
32658
  doubleRaf$3(() => {
30885
- this.calendar.focusCloseButton();
32659
+ this.focusActiveCellWhenReady();
30886
32660
  });
30887
32661
  }
30888
32662
  });
30889
32663
 
30890
32664
  guardTouchPassthrough$2(this.shadowRoot.querySelector('.calendarWrapper'));
32665
+ } else {
32666
+ // Desktop (non-fullscreen) modal: make the trigger inert so users
32667
+ // cannot interact with the input while the modal bib is open.
32668
+ if (this.dropdown.desktopModal) {
32669
+ this.dropdown.trigger.inert = true;
32670
+ }
32671
+
32672
+ // Desktop (non-fullscreen): focus the active calendar cell.
32673
+ this.dropdown.updateComplete.then(() => {
32674
+ this.focusActiveCellWhenReady();
32675
+ });
30891
32676
  }
30892
32677
  } else {
30893
32678
  // Always clear the inert flag. Only restore focus to the input when the datepicker
@@ -30933,7 +32718,7 @@ class AuroDatePicker extends AuroElement$6 {
30933
32718
  bibEl.close();
30934
32719
  bibEl.open(true);
30935
32720
  doubleRaf$3(() => {
30936
- this.calendar.focusCloseButton();
32721
+ this.focusActiveCellWhenReady();
30937
32722
  });
30938
32723
  }
30939
32724
  });
@@ -31128,14 +32913,8 @@ class AuroDatePicker extends AuroElement$6 {
31128
32913
 
31129
32914
  if (onEndValue) {
31130
32915
  this.valueEnd = newDate;
31131
- if (this.dropdown.isPopoverVisible && !this.dropdown.isBibFullscreen) {
31132
- this.focus('startDate');
31133
- }
31134
32916
  } else {
31135
32917
  this.value = newDate;
31136
- if (this.dropdown.isPopoverVisible && !this.dropdown.isBibFullscreen) {
31137
- this.focus('endDate');
31138
- }
31139
32918
  }
31140
32919
  }
31141
32920
  }
@@ -31175,6 +32954,27 @@ class AuroDatePicker extends AuroElement$6 {
31175
32954
  this.resetInputs();
31176
32955
  }
31177
32956
 
32957
+ /**
32958
+ * Checks whether a formatted date string matches a blackout date.
32959
+ * @private
32960
+ * @param {string} dateStr - A date string in the component's configured format.
32961
+ * @returns {boolean} True if the date is in the blackoutDates list.
32962
+ */
32963
+ isBlackoutDate(dateStr) {
32964
+ if (!Array.isArray(this.blackoutDates) || this.blackoutDates.length === 0 || !dateStr) {
32965
+ return false;
32966
+ }
32967
+
32968
+ const formatted = this.util.toNorthAmericanFormat(dateStr, this.format);
32969
+ if (!this.util.validDateStr(dateStr, this.format)) return false;
32970
+
32971
+ const d = new Date(formatted);
32972
+ const yyyy = d.getFullYear();
32973
+ const mm = String(d.getMonth() + 1).padStart(2, '0');
32974
+ const dd = String(d.getDate()).padStart(2, '0');
32975
+ return this.blackoutDates.includes(`${yyyy}-${mm}-${dd}`);
32976
+ }
32977
+
31178
32978
  /**
31179
32979
  * Validates value.
31180
32980
  * @param {boolean} [force=false] - Whether to force validation.
@@ -31186,6 +32986,24 @@ class AuroDatePicker extends AuroElement$6 {
31186
32986
  }
31187
32987
 
31188
32988
  this.validation.validate(this, force);
32989
+
32990
+ // After standard validation, check blackout dates for typed input
32991
+ if (this.validity !== 'customError') {
32992
+ if (this.isBlackoutDate(this.value) || (this.range && this.isBlackoutDate(this.valueEnd))) {
32993
+ const msg = this.setCustomValidityCustomError || 'Selected date is unavailable';
32994
+ this.validity = 'customError';
32995
+ this.errorMessage = msg;
32996
+
32997
+ this.dispatchEvent(new CustomEvent('auroFormElement-validated', {
32998
+ bubbles: true,
32999
+ composed: true,
33000
+ detail: {
33001
+ validity: this.validity,
33002
+ message: this.errorMessage
33003
+ }
33004
+ }));
33005
+ }
33006
+ }
31189
33007
  }
31190
33008
 
31191
33009
  /**
@@ -31266,6 +33084,9 @@ class AuroDatePicker extends AuroElement$6 {
31266
33084
 
31267
33085
  if (this.cellClickActive) {
31268
33086
  this.cellClickActive = false;
33087
+ this.wasCellClick = true;
33088
+ } else {
33089
+ this.wasCellClick = false;
31269
33090
  }
31270
33091
 
31271
33092
  if (this.value && this.util.validDateStr(this.value, this.format)) {
@@ -31296,16 +33117,44 @@ class AuroDatePicker extends AuroElement$6 {
31296
33117
  }
31297
33118
 
31298
33119
  if (this.value && this.value.length === this.inputList[0].lengthForType) {
31299
- this.calendarRenderUtil.updateCentralDate(this, this.formattedValue);
33120
+ // Skip centralDate update when user clicked a cell in range mode
33121
+ // to prevent the displayed months from shifting
33122
+ if (!(this.wasCellClick && this.range)) {
33123
+ this.calendarRenderUtil.updateCentralDate(this, this.formattedValue);
33124
+ }
31300
33125
  }
31301
33126
 
31302
33127
  this.setHasValue();
31303
33128
  }
31304
33129
 
33130
+ if (changedProperties.has('blackoutDates')) {
33131
+ // Force calendar cells to re-render with updated blackout state.
33132
+ // requestUpdate on the calendar alone is insufficient because cells
33133
+ // don't receive blackoutDates as a bound property. Dispatching the
33134
+ // slot content event triggers handleSlotContent → requestUpdate on each cell.
33135
+ if (this.calendar) {
33136
+ this.calendar.requestUpdate();
33137
+ this.dispatchEvent(new CustomEvent('auroDatePicker-newSlotContent'));
33138
+ }
33139
+
33140
+ // Re-run validation so that a previously valid value that now falls on
33141
+ // a blackout date is flagged, and vice versa.
33142
+ if (this.value || this.valueEnd) {
33143
+ this.validate();
33144
+ }
33145
+ }
33146
+
31305
33147
  if (changedProperties.has('valueEnd') && this.inputList[1]) {
31306
33148
 
31307
33149
  this.formattedValueEnd = this.util.toNorthAmericanFormat(this.valueEnd, this.format);
31308
33150
 
33151
+ if (this.cellClickActive) {
33152
+ this.cellClickActive = false;
33153
+ this.wasCellClick = true;
33154
+ } else {
33155
+ this.wasCellClick = false;
33156
+ }
33157
+
31309
33158
  // update the calendar
31310
33159
  if (this.valueEnd && this.util.validDateStr(this.valueEnd, this.format)) {
31311
33160
  this.calendar.dateTo = this.convertToWcValidTime(this.formattedValueEnd);
@@ -31333,7 +33182,11 @@ class AuroDatePicker extends AuroElement$6 {
31333
33182
  }
31334
33183
 
31335
33184
  if (this.valueEnd && this.valueEnd.length === this.inputList[1].lengthForType) {
31336
- this.calendarRenderUtil.updateCentralDate(this, this.formattedValueEnd);
33185
+ // Skip centralDate update when user clicked a cell in range mode
33186
+ // to prevent the displayed months from shifting
33187
+ if (!this.wasCellClick) {
33188
+ this.calendarRenderUtil.updateCentralDate(this, this.formattedValueEnd);
33189
+ }
31337
33190
  }
31338
33191
 
31339
33192
  this.validate();
@@ -31490,6 +33343,7 @@ class AuroDatePicker extends AuroElement$6 {
31490
33343
  }
31491
33344
 
31492
33345
  firstUpdated() {
33346
+
31493
33347
  // Add the tag name as an attribute if it is different than the component name
31494
33348
  this.runtimeUtils.handleComponentTagRename(this, 'auro-datepicker');
31495
33349
 
@@ -31919,7 +33773,7 @@ class AuroDatePicker extends AuroElement$6 {
31919
33773
  // Base HTML render() handles dropdown and calendar bib
31920
33774
  return u$d`
31921
33775
  <!-- Hidden slot for clear button aria-label -->
31922
- <slot name="ariaLabel.input.clear" hidden @slotchange=${this.requestUpdate}></slot>
33776
+ <slot name="ariaLabel.input.clear" hidden @slotchange=${() => this.requestUpdate()}></slot>
31923
33777
 
31924
33778
  <${this.dropdownTag}
31925
33779
  appearance="${this.onDark ? 'inverse' : this.appearance}"
@@ -31936,6 +33790,7 @@ class AuroDatePicker extends AuroElement$6 {
31936
33790
  .shape="${this.shape}"
31937
33791
  .size="${this.size}"
31938
33792
  class="${e$3(dropdownElementClassMap)}"
33793
+ desktopModal
31939
33794
  disableEventShow
31940
33795
  for="dropdownMenu"
31941
33796
  part="dropdown"
@@ -35192,7 +37047,7 @@ function applyKeyboardStrategy$4(component, strategy, options = {}) {
35192
37047
  });
35193
37048
  }
35194
37049
 
35195
- var styleCss$2$6 = i$5`: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}`;
37050
+ var styleCss$2$6 = i$5`: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}`;
35196
37051
 
35197
37052
  var colorCss$2$6 = i$5`.container{background-color:var(--ds-auro-dropdownbib-container-color);box-shadow:var(--ds-auro-dropdownbib-boxshadow-color);color:var(--ds-auro-dropdownbib-text-color)}`;
35198
37053
 
@@ -35823,7 +37678,7 @@ let AuroHelpText$7 = class AuroHelpText extends i$3 {
35823
37678
  }
35824
37679
  };
35825
37680
 
35826
- var formkitVersion$7 = '202605201646';
37681
+ var formkitVersion$7 = '202605210326';
35827
37682
 
35828
37683
  let AuroElement$5 = class AuroElement extends i$3 {
35829
37684
  static get properties() {
@@ -36003,6 +37858,7 @@ let AuroDropdown$2 = class AuroDropdown extends AuroElement$5 {
36003
37858
  _intializeDefaults() {
36004
37859
  this.appearance = 'default';
36005
37860
  this.chevron = false;
37861
+ this.desktopModal = false;
36006
37862
  this.disabled = false;
36007
37863
  this.disableKeyboardHandling = false;
36008
37864
  this.error = false;
@@ -36183,6 +38039,14 @@ let AuroDropdown$2 = class AuroDropdown extends AuroElement$5 {
36183
38039
  reflect: true
36184
38040
  },
36185
38041
 
38042
+ /**
38043
+ * If declared, the dropdown will behave as a modal dialog when in a desktop viewport size.
38044
+ */
38045
+ desktopModal: {
38046
+ type: Boolean,
38047
+ reflect: true
38048
+ },
38049
+
36186
38050
  /**
36187
38051
  * If declared, the dropdown will only show by calling the API .show() public method.
36188
38052
  */
@@ -36470,6 +38334,15 @@ let AuroDropdown$2 = class AuroDropdown extends AuroElement$5 {
36470
38334
 
36471
38335
  disconnectedCallback() {
36472
38336
  super.disconnectedCallback();
38337
+ this._clearPageInert();
38338
+ if (this._bibTabHandler) {
38339
+ this.removeEventListener('keydown', this._bibTabHandler);
38340
+ this._bibTabHandler = undefined;
38341
+ }
38342
+ if (this.focusTrap) {
38343
+ this.focusTrap.disconnect();
38344
+ this.focusTrap = undefined;
38345
+ }
36473
38346
  if (this.floater) {
36474
38347
  this.floater.hideBib('disconnect');
36475
38348
  this.floater.disconnect();
@@ -36497,19 +38370,45 @@ let AuroDropdown$2 = class AuroDropdown extends AuroElement$5 {
36497
38370
  if (this.isPopoverVisible) {
36498
38371
  // Fullscreen: use showModal() for native accessibility (inert outside, focus trap)
36499
38372
  // Desktop: use show() for Floating UI positioning + FocusTrap for focus management
36500
- const useModal = this.isBibFullscreen;
36501
- this.bibElement.value.open(useModal);
38373
+ this.bibElement.value.open(this.isBibFullscreen);
38374
+ this.updateFocusTrap();
38375
+
38376
+ // Desktop modal: make siblings inert so content outside is not interactive
38377
+ if (this.desktopModal && !this.isBibFullscreen) {
38378
+ this._setPageInert();
38379
+ }
36502
38380
  } else {
36503
38381
  this.bibElement.value.close();
38382
+ this._clearPageInert();
36504
38383
  }
36505
38384
  }
36506
38385
 
36507
38386
  // When fullscreen strategy changes while open, re-open dialog with correct mode
36508
38387
  // (e.g. resizing from desktop → mobile while dropdown is open)
36509
38388
  if (changedProperties.has('isBibFullscreen') && this.isPopoverVisible && this.bibElement.value) {
36510
- const useModal = this.isBibFullscreen;
36511
38389
  this.bibElement.value.close();
36512
- this.bibElement.value.open(useModal);
38390
+ this.bibElement.value.open(this.isBibFullscreen);
38391
+
38392
+ // Re-initialize focus management for the new strategy
38393
+ this.updateFocusTrap();
38394
+
38395
+ // Toggle inert: desktop modal needs it, fullscreen showModal() handles it natively
38396
+ if (this.desktopModal && !this.isBibFullscreen) {
38397
+ this._setPageInert();
38398
+ } else {
38399
+ this._clearPageInert();
38400
+ }
38401
+ }
38402
+
38403
+ // Handle desktopModal toggled while the dropdown is already open.
38404
+ // Re-initialize focus trapping and page inert state to match the new mode.
38405
+ if (changedProperties.has('desktopModal') && this.isPopoverVisible && !this.isBibFullscreen) {
38406
+ this.updateFocusTrap();
38407
+ if (this.desktopModal) {
38408
+ this._setPageInert();
38409
+ } else {
38410
+ this._clearPageInert();
38411
+ }
36513
38412
  }
36514
38413
  }
36515
38414
 
@@ -36519,8 +38418,14 @@ let AuroDropdown$2 = class AuroDropdown extends AuroElement$5 {
36519
38418
  * @param {CustomEvent} event - The custom event that contains the dropdown toggle information.
36520
38419
  */
36521
38420
  handleDropdownToggle(event) {
36522
- this.updateFocusTrap();
36523
38421
  this.isPopoverVisible = event.detail.expanded;
38422
+
38423
+ // Tear down FocusTrap when closing. Creation happens in updated()
38424
+ // after the dialog is open so getFocusableElements can find content.
38425
+ if (!this.isPopoverVisible) {
38426
+ this.updateFocusTrap();
38427
+ }
38428
+
36524
38429
  const eventType = event.detail.eventType || "unknown";
36525
38430
  if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown") {
36526
38431
  this.trigger.focus();
@@ -36619,19 +38524,178 @@ let AuroDropdown$2 = class AuroDropdown extends AuroElement$5 {
36619
38524
  * @private
36620
38525
  */
36621
38526
  updateFocusTrap() {
38527
+ // Always clean up existing handlers/traps before setting up new ones
38528
+ // to prevent duplicate listeners on repeated calls.
38529
+ if (this._bibTabHandler) {
38530
+ this.removeEventListener('keydown', this._bibTabHandler);
38531
+ this._bibTabHandler = undefined;
38532
+ }
38533
+
38534
+ if (this.focusTrap) {
38535
+ this.focusTrap.disconnect();
38536
+ this.focusTrap = undefined;
38537
+ }
38538
+
36622
38539
  if (this.isPopoverVisible) {
36623
38540
  if (!this.isBibFullscreen) {
36624
- // Desktop: show() doesn't trap focus, so use FocusTrap
36625
- this.focusTrap = new FocusTrap$2(this.bibContent);
36626
- this.focusTrap.focusFirstElement();
38541
+ if (this.desktopModal) {
38542
+ // Desktop modal: trap focus only within the bib content.
38543
+ // Can't use FocusTrap on the bib element because keydown events
38544
+ // from slotted content bubble through the dropdown host (light DOM),
38545
+ // not through the bib (shadow projection target). Using FocusTrap
38546
+ // on the dropdown would include the trigger in the tab cycle.
38547
+ // Instead, listen for Tab on the dropdown and manually wrap focus
38548
+ // within the bib's focusable elements.
38549
+ this._bibTabHandler = (event) => {
38550
+ if (event.key !== 'Tab') {
38551
+ return;
38552
+ }
38553
+
38554
+ // Collect focusable elements from the bib content.
38555
+ const focusables = getFocusableElements$2(this.bibContent);
38556
+
38557
+ // Fallback: try from slotted content directly
38558
+ if (!focusables.length) {
38559
+ const slot = this.shadowRoot.querySelector('.slotContent slot');
38560
+ const assignedNodes = slot ? slot.assignedNodes({ flatten: true }) : [];
38561
+
38562
+ for (const node of assignedNodes) {
38563
+ if (node.nodeType === Node.ELEMENT_NODE) {
38564
+ focusables.push(...getFocusableElements$2(node));
38565
+ }
38566
+ }
38567
+ }
38568
+
38569
+ if (!focusables.length) {
38570
+ return;
38571
+ }
38572
+
38573
+ event.preventDefault();
38574
+
38575
+ const direction = event.shiftKey ? -1 : 1; // eslint-disable-line no-magic-numbers
38576
+
38577
+ // Walk the active element chain through shadow roots
38578
+ const actives = this._getActiveElements();
38579
+
38580
+ let idx = focusables.findIndex((el) => actives.includes(el));
38581
+
38582
+ if (idx === -1) { // eslint-disable-line no-magic-numbers
38583
+ // Focus is not on a known element — move to first/last
38584
+ idx = direction === 1 ? -1 : focusables.length; // eslint-disable-line no-magic-numbers
38585
+ }
38586
+
38587
+ // Try each element in order, skipping any that can't receive focus
38588
+ // (e.g. hidden elements, elements in collapsed sections)
38589
+ for (let index = 0; index < focusables.length; index++) { // eslint-disable-line no-plusplus
38590
+ let nextIdx = idx + direction;
38591
+
38592
+ // Wrap around
38593
+ if (nextIdx < 0) {
38594
+ nextIdx = focusables.length - 1;
38595
+ } else if (nextIdx >= focusables.length) {
38596
+ nextIdx = 0;
38597
+ }
38598
+
38599
+ focusables[nextIdx].focus();
38600
+
38601
+ // Verify focus actually moved to the target
38602
+ const newActives = this._getActiveElements();
38603
+
38604
+ if (newActives.includes(focusables[nextIdx])) {
38605
+ return;
38606
+ }
38607
+
38608
+ // Focus didn't stick — skip this element and try the next
38609
+ idx = nextIdx;
38610
+ }
38611
+ };
38612
+ this.addEventListener('keydown', this._bibTabHandler);
38613
+
38614
+ // Move initial focus into the bib content, matching FocusTrap behavior
38615
+ requestAnimationFrame(() => {
38616
+ const focusables = getFocusableElements$2(this.bibContent);
38617
+ if (focusables.length) {
38618
+ focusables[0].focus();
38619
+ }
38620
+ });
38621
+ } else {
38622
+ // Normal desktop: use FocusTrap on the bib element
38623
+ this.focusTrap = new FocusTrap$2(this.bibContent);
38624
+ this.focusTrap.focusFirstElement();
38625
+ }
36627
38626
  }
36628
38627
  // Fullscreen: showModal() provides native focus trapping
38628
+ }
38629
+ }
38630
+
38631
+ /**
38632
+ * Returns the chain of active (focused) elements through shadow roots.
38633
+ * @private
38634
+ * @returns {Array<HTMLElement>}
38635
+ */
38636
+ _getActiveElements() {
38637
+ let { activeElement } = document;
38638
+ const actives = [activeElement];
38639
+
38640
+ while (activeElement?.shadowRoot?.activeElement) {
38641
+ activeElement = activeElement.shadowRoot.activeElement;
38642
+ actives.push(activeElement);
38643
+ }
38644
+
38645
+ return actives;
38646
+ }
38647
+
38648
+ /**
38649
+ * Sets `inert` on sibling elements of the dropdown's top-level host
38650
+ * so that content outside the dropdown is not interactive while the modal is open.
38651
+ * Walks up through shadow DOM boundaries to find the outermost host element
38652
+ * in the light DOM, then sets `inert` on siblings at each ancestor level
38653
+ * to ensure all page content outside the host subtree is inert.
38654
+ * @private
38655
+ */
38656
+ _setPageInert() {
38657
+ if (this._inertSiblings) {
36629
38658
  return;
36630
38659
  }
36631
38660
 
36632
- if (this.focusTrap) {
36633
- this.focusTrap.disconnect();
36634
- this.focusTrap = undefined;
38661
+ this._inertSiblings = [];
38662
+
38663
+ // Walk up through shadow DOM boundaries to find the topmost host
38664
+ // element in the light DOM. For example, if this dropdown is inside
38665
+ // auro-datepicker's shadow DOM, we walk up to the datepicker element
38666
+ // so we set inert on its siblings — not on the datepicker itself.
38667
+ let host = this;
38668
+ while (host.getRootNode() instanceof ShadowRoot) {
38669
+ host = host.getRootNode().host;
38670
+ }
38671
+
38672
+ // Walk up the ancestor chain, inerting siblings at each level
38673
+ // to ensure the entire page outside the host subtree is inert.
38674
+ let current = host;
38675
+ while (current.parentElement) {
38676
+ const parent = current.parentElement;
38677
+ for (const sibling of parent.children) {
38678
+ if (sibling !== current) {
38679
+ this._inertSiblings.push({ element: sibling, wasInert: sibling.inert });
38680
+ sibling.inert = true;
38681
+ }
38682
+ }
38683
+ current = parent;
38684
+ }
38685
+ }
38686
+
38687
+ /**
38688
+ * Restores `inert` state on siblings that were tracked by `_setPageInert`.
38689
+ * Preserves the previous inert state so externally-inerted elements are
38690
+ * not inadvertently re-enabled.
38691
+ * @private
38692
+ */
38693
+ _clearPageInert() {
38694
+ if (this._inertSiblings) {
38695
+ for (const entry of this._inertSiblings) {
38696
+ entry.element.inert = entry.wasInert;
38697
+ }
38698
+ this._inertSiblings = undefined;
36635
38699
  }
36636
38700
  }
36637
38701
 
@@ -36870,6 +38934,7 @@ let AuroDropdown$2 = class AuroDropdown extends AuroElement$5 {
36870
38934
  shape="${this.shape}"
36871
38935
  ?data-show="${this.isPopoverVisible}"
36872
38936
  ?isfullscreen="${this.isBibFullscreen}"
38937
+ ?desktopmodal="${this.desktopModal}"
36873
38938
  .dialogLabel="${this.bibDialogLabel}"
36874
38939
  ${n$6(this.bibElement)}
36875
38940
  >
@@ -38424,7 +40489,7 @@ let AuroHelpText$6 = class AuroHelpText extends i$3 {
38424
40489
  }
38425
40490
  };
38426
40491
 
38427
- var formkitVersion$6 = '202605201646';
40492
+ var formkitVersion$6 = '202605210326';
38428
40493
 
38429
40494
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
38430
40495
  // See LICENSE in the project root for license information.
@@ -39162,6 +41227,14 @@ let AuroBibtemplate$2 = class AuroBibtemplate extends i$3 {
39162
41227
  large: {
39163
41228
  type: Boolean,
39164
41229
  reflect: true
41230
+ },
41231
+
41232
+ /**
41233
+ * If declared, the footer slot will be rendered even when not in fullscreen mode.
41234
+ */
41235
+ showFooter: {
41236
+ type: Boolean,
41237
+ reflect: true
39165
41238
  }
39166
41239
  };
39167
41240
  }
@@ -39264,7 +41337,7 @@ let AuroBibtemplate$2 = class AuroBibtemplate extends i$3 {
39264
41337
  <slot></slot>
39265
41338
  </div>
39266
41339
 
39267
- ${this.isFullscreen ? u$d`
41340
+ ${this.isFullscreen || this.showFooter ? u$d`
39268
41341
  <div id="footerContainer">
39269
41342
  <slot name="footer"></slot>
39270
41343
  </div>` : null}
@@ -41842,7 +43915,7 @@ let AuroHelpText$5 = class AuroHelpText extends i$3 {
41842
43915
  }
41843
43916
  };
41844
43917
 
41845
- var formkitVersion$5 = '202605201646';
43918
+ var formkitVersion$5 = '202605210326';
41846
43919
 
41847
43920
  // Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
41848
43921
  // See LICENSE in the project root for license information.
@@ -44014,7 +46087,7 @@ let AuroHelpText$4 = class AuroHelpText extends i$3 {
44014
46087
  }
44015
46088
  };
44016
46089
 
44017
- var formkitVersion$4 = '202605201646';
46090
+ var formkitVersion$4 = '202605210326';
44018
46091
 
44019
46092
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
44020
46093
  // See LICENSE in the project root for license information.
@@ -45655,7 +47728,7 @@ const comboboxKeyboardStrategy = {
45655
47728
 
45656
47729
  // navigate if bib is open otherwise open it
45657
47730
  if (component.dropdown.isPopoverVisible) {
45658
- if (evt.altKey || evt.ctrlKey || evt.metaKey) {
47731
+ if (evt.altKey || evt.metaKey) {
45659
47732
  component.activateLastEnabledAvailableOption();
45660
47733
  } else {
45661
47734
  navigateArrow$1(component, 'down');
@@ -45678,7 +47751,7 @@ const comboboxKeyboardStrategy = {
45678
47751
 
45679
47752
  // navigate if bib is open otherwise open it
45680
47753
  if (component.dropdown.isPopoverVisible) {
45681
- if (evt.altKey || evt.ctrlKey || evt.metaKey) {
47754
+ if (evt.altKey || evt.metaKey) {
45682
47755
  component.activateFirstEnabledAvailableOption();
45683
47756
  } else {
45684
47757
  navigateArrow$1(component, 'up');
@@ -49003,7 +51076,7 @@ function applyKeyboardStrategy$2(component, strategy, options = {}) {
49003
51076
  });
49004
51077
  }
49005
51078
 
49006
- var styleCss$2$1$1 = i$5`: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}`;
51079
+ var styleCss$2$1$1 = i$5`: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}`;
49007
51080
 
49008
51081
  var colorCss$2$1 = i$5`.container{background-color:var(--ds-auro-dropdownbib-container-color);box-shadow:var(--ds-auro-dropdownbib-boxshadow-color);color:var(--ds-auro-dropdownbib-text-color)}`;
49009
51082
 
@@ -49634,7 +51707,7 @@ let AuroHelpText$2 = class AuroHelpText extends i$3 {
49634
51707
  }
49635
51708
  };
49636
51709
 
49637
- var formkitVersion$2 = '202605201646';
51710
+ var formkitVersion$2 = '202605210326';
49638
51711
 
49639
51712
  let AuroElement$2$1 = class AuroElement extends i$3 {
49640
51713
  static get properties() {
@@ -49814,6 +51887,7 @@ let AuroDropdown$1 = class AuroDropdown extends AuroElement$2$1 {
49814
51887
  _intializeDefaults() {
49815
51888
  this.appearance = 'default';
49816
51889
  this.chevron = false;
51890
+ this.desktopModal = false;
49817
51891
  this.disabled = false;
49818
51892
  this.disableKeyboardHandling = false;
49819
51893
  this.error = false;
@@ -49994,6 +52068,14 @@ let AuroDropdown$1 = class AuroDropdown extends AuroElement$2$1 {
49994
52068
  reflect: true
49995
52069
  },
49996
52070
 
52071
+ /**
52072
+ * If declared, the dropdown will behave as a modal dialog when in a desktop viewport size.
52073
+ */
52074
+ desktopModal: {
52075
+ type: Boolean,
52076
+ reflect: true
52077
+ },
52078
+
49997
52079
  /**
49998
52080
  * If declared, the dropdown will only show by calling the API .show() public method.
49999
52081
  */
@@ -50281,6 +52363,15 @@ let AuroDropdown$1 = class AuroDropdown extends AuroElement$2$1 {
50281
52363
 
50282
52364
  disconnectedCallback() {
50283
52365
  super.disconnectedCallback();
52366
+ this._clearPageInert();
52367
+ if (this._bibTabHandler) {
52368
+ this.removeEventListener('keydown', this._bibTabHandler);
52369
+ this._bibTabHandler = undefined;
52370
+ }
52371
+ if (this.focusTrap) {
52372
+ this.focusTrap.disconnect();
52373
+ this.focusTrap = undefined;
52374
+ }
50284
52375
  if (this.floater) {
50285
52376
  this.floater.hideBib('disconnect');
50286
52377
  this.floater.disconnect();
@@ -50308,19 +52399,45 @@ let AuroDropdown$1 = class AuroDropdown extends AuroElement$2$1 {
50308
52399
  if (this.isPopoverVisible) {
50309
52400
  // Fullscreen: use showModal() for native accessibility (inert outside, focus trap)
50310
52401
  // Desktop: use show() for Floating UI positioning + FocusTrap for focus management
50311
- const useModal = this.isBibFullscreen;
50312
- this.bibElement.value.open(useModal);
52402
+ this.bibElement.value.open(this.isBibFullscreen);
52403
+ this.updateFocusTrap();
52404
+
52405
+ // Desktop modal: make siblings inert so content outside is not interactive
52406
+ if (this.desktopModal && !this.isBibFullscreen) {
52407
+ this._setPageInert();
52408
+ }
50313
52409
  } else {
50314
52410
  this.bibElement.value.close();
52411
+ this._clearPageInert();
50315
52412
  }
50316
52413
  }
50317
52414
 
50318
52415
  // When fullscreen strategy changes while open, re-open dialog with correct mode
50319
52416
  // (e.g. resizing from desktop → mobile while dropdown is open)
50320
52417
  if (changedProperties.has('isBibFullscreen') && this.isPopoverVisible && this.bibElement.value) {
50321
- const useModal = this.isBibFullscreen;
50322
52418
  this.bibElement.value.close();
50323
- this.bibElement.value.open(useModal);
52419
+ this.bibElement.value.open(this.isBibFullscreen);
52420
+
52421
+ // Re-initialize focus management for the new strategy
52422
+ this.updateFocusTrap();
52423
+
52424
+ // Toggle inert: desktop modal needs it, fullscreen showModal() handles it natively
52425
+ if (this.desktopModal && !this.isBibFullscreen) {
52426
+ this._setPageInert();
52427
+ } else {
52428
+ this._clearPageInert();
52429
+ }
52430
+ }
52431
+
52432
+ // Handle desktopModal toggled while the dropdown is already open.
52433
+ // Re-initialize focus trapping and page inert state to match the new mode.
52434
+ if (changedProperties.has('desktopModal') && this.isPopoverVisible && !this.isBibFullscreen) {
52435
+ this.updateFocusTrap();
52436
+ if (this.desktopModal) {
52437
+ this._setPageInert();
52438
+ } else {
52439
+ this._clearPageInert();
52440
+ }
50324
52441
  }
50325
52442
  }
50326
52443
 
@@ -50330,8 +52447,14 @@ let AuroDropdown$1 = class AuroDropdown extends AuroElement$2$1 {
50330
52447
  * @param {CustomEvent} event - The custom event that contains the dropdown toggle information.
50331
52448
  */
50332
52449
  handleDropdownToggle(event) {
50333
- this.updateFocusTrap();
50334
52450
  this.isPopoverVisible = event.detail.expanded;
52451
+
52452
+ // Tear down FocusTrap when closing. Creation happens in updated()
52453
+ // after the dialog is open so getFocusableElements can find content.
52454
+ if (!this.isPopoverVisible) {
52455
+ this.updateFocusTrap();
52456
+ }
52457
+
50335
52458
  const eventType = event.detail.eventType || "unknown";
50336
52459
  if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown") {
50337
52460
  this.trigger.focus();
@@ -50430,19 +52553,178 @@ let AuroDropdown$1 = class AuroDropdown extends AuroElement$2$1 {
50430
52553
  * @private
50431
52554
  */
50432
52555
  updateFocusTrap() {
52556
+ // Always clean up existing handlers/traps before setting up new ones
52557
+ // to prevent duplicate listeners on repeated calls.
52558
+ if (this._bibTabHandler) {
52559
+ this.removeEventListener('keydown', this._bibTabHandler);
52560
+ this._bibTabHandler = undefined;
52561
+ }
52562
+
52563
+ if (this.focusTrap) {
52564
+ this.focusTrap.disconnect();
52565
+ this.focusTrap = undefined;
52566
+ }
52567
+
50433
52568
  if (this.isPopoverVisible) {
50434
52569
  if (!this.isBibFullscreen) {
50435
- // Desktop: show() doesn't trap focus, so use FocusTrap
50436
- this.focusTrap = new FocusTrap$1(this.bibContent);
50437
- this.focusTrap.focusFirstElement();
52570
+ if (this.desktopModal) {
52571
+ // Desktop modal: trap focus only within the bib content.
52572
+ // Can't use FocusTrap on the bib element because keydown events
52573
+ // from slotted content bubble through the dropdown host (light DOM),
52574
+ // not through the bib (shadow projection target). Using FocusTrap
52575
+ // on the dropdown would include the trigger in the tab cycle.
52576
+ // Instead, listen for Tab on the dropdown and manually wrap focus
52577
+ // within the bib's focusable elements.
52578
+ this._bibTabHandler = (event) => {
52579
+ if (event.key !== 'Tab') {
52580
+ return;
52581
+ }
52582
+
52583
+ // Collect focusable elements from the bib content.
52584
+ const focusables = getFocusableElements$1(this.bibContent);
52585
+
52586
+ // Fallback: try from slotted content directly
52587
+ if (!focusables.length) {
52588
+ const slot = this.shadowRoot.querySelector('.slotContent slot');
52589
+ const assignedNodes = slot ? slot.assignedNodes({ flatten: true }) : [];
52590
+
52591
+ for (const node of assignedNodes) {
52592
+ if (node.nodeType === Node.ELEMENT_NODE) {
52593
+ focusables.push(...getFocusableElements$1(node));
52594
+ }
52595
+ }
52596
+ }
52597
+
52598
+ if (!focusables.length) {
52599
+ return;
52600
+ }
52601
+
52602
+ event.preventDefault();
52603
+
52604
+ const direction = event.shiftKey ? -1 : 1; // eslint-disable-line no-magic-numbers
52605
+
52606
+ // Walk the active element chain through shadow roots
52607
+ const actives = this._getActiveElements();
52608
+
52609
+ let idx = focusables.findIndex((el) => actives.includes(el));
52610
+
52611
+ if (idx === -1) { // eslint-disable-line no-magic-numbers
52612
+ // Focus is not on a known element — move to first/last
52613
+ idx = direction === 1 ? -1 : focusables.length; // eslint-disable-line no-magic-numbers
52614
+ }
52615
+
52616
+ // Try each element in order, skipping any that can't receive focus
52617
+ // (e.g. hidden elements, elements in collapsed sections)
52618
+ for (let index = 0; index < focusables.length; index++) { // eslint-disable-line no-plusplus
52619
+ let nextIdx = idx + direction;
52620
+
52621
+ // Wrap around
52622
+ if (nextIdx < 0) {
52623
+ nextIdx = focusables.length - 1;
52624
+ } else if (nextIdx >= focusables.length) {
52625
+ nextIdx = 0;
52626
+ }
52627
+
52628
+ focusables[nextIdx].focus();
52629
+
52630
+ // Verify focus actually moved to the target
52631
+ const newActives = this._getActiveElements();
52632
+
52633
+ if (newActives.includes(focusables[nextIdx])) {
52634
+ return;
52635
+ }
52636
+
52637
+ // Focus didn't stick — skip this element and try the next
52638
+ idx = nextIdx;
52639
+ }
52640
+ };
52641
+ this.addEventListener('keydown', this._bibTabHandler);
52642
+
52643
+ // Move initial focus into the bib content, matching FocusTrap behavior
52644
+ requestAnimationFrame(() => {
52645
+ const focusables = getFocusableElements$1(this.bibContent);
52646
+ if (focusables.length) {
52647
+ focusables[0].focus();
52648
+ }
52649
+ });
52650
+ } else {
52651
+ // Normal desktop: use FocusTrap on the bib element
52652
+ this.focusTrap = new FocusTrap$1(this.bibContent);
52653
+ this.focusTrap.focusFirstElement();
52654
+ }
50438
52655
  }
50439
52656
  // Fullscreen: showModal() provides native focus trapping
52657
+ }
52658
+ }
52659
+
52660
+ /**
52661
+ * Returns the chain of active (focused) elements through shadow roots.
52662
+ * @private
52663
+ * @returns {Array<HTMLElement>}
52664
+ */
52665
+ _getActiveElements() {
52666
+ let { activeElement } = document;
52667
+ const actives = [activeElement];
52668
+
52669
+ while (activeElement?.shadowRoot?.activeElement) {
52670
+ activeElement = activeElement.shadowRoot.activeElement;
52671
+ actives.push(activeElement);
52672
+ }
52673
+
52674
+ return actives;
52675
+ }
52676
+
52677
+ /**
52678
+ * Sets `inert` on sibling elements of the dropdown's top-level host
52679
+ * so that content outside the dropdown is not interactive while the modal is open.
52680
+ * Walks up through shadow DOM boundaries to find the outermost host element
52681
+ * in the light DOM, then sets `inert` on siblings at each ancestor level
52682
+ * to ensure all page content outside the host subtree is inert.
52683
+ * @private
52684
+ */
52685
+ _setPageInert() {
52686
+ if (this._inertSiblings) {
50440
52687
  return;
50441
52688
  }
50442
52689
 
50443
- if (this.focusTrap) {
50444
- this.focusTrap.disconnect();
50445
- this.focusTrap = undefined;
52690
+ this._inertSiblings = [];
52691
+
52692
+ // Walk up through shadow DOM boundaries to find the topmost host
52693
+ // element in the light DOM. For example, if this dropdown is inside
52694
+ // auro-datepicker's shadow DOM, we walk up to the datepicker element
52695
+ // so we set inert on its siblings — not on the datepicker itself.
52696
+ let host = this;
52697
+ while (host.getRootNode() instanceof ShadowRoot) {
52698
+ host = host.getRootNode().host;
52699
+ }
52700
+
52701
+ // Walk up the ancestor chain, inerting siblings at each level
52702
+ // to ensure the entire page outside the host subtree is inert.
52703
+ let current = host;
52704
+ while (current.parentElement) {
52705
+ const parent = current.parentElement;
52706
+ for (const sibling of parent.children) {
52707
+ if (sibling !== current) {
52708
+ this._inertSiblings.push({ element: sibling, wasInert: sibling.inert });
52709
+ sibling.inert = true;
52710
+ }
52711
+ }
52712
+ current = parent;
52713
+ }
52714
+ }
52715
+
52716
+ /**
52717
+ * Restores `inert` state on siblings that were tracked by `_setPageInert`.
52718
+ * Preserves the previous inert state so externally-inerted elements are
52719
+ * not inadvertently re-enabled.
52720
+ * @private
52721
+ */
52722
+ _clearPageInert() {
52723
+ if (this._inertSiblings) {
52724
+ for (const entry of this._inertSiblings) {
52725
+ entry.element.inert = entry.wasInert;
52726
+ }
52727
+ this._inertSiblings = undefined;
50446
52728
  }
50447
52729
  }
50448
52730
 
@@ -50681,6 +52963,7 @@ let AuroDropdown$1 = class AuroDropdown extends AuroElement$2$1 {
50681
52963
  shape="${this.shape}"
50682
52964
  ?data-show="${this.isPopoverVisible}"
50683
52965
  ?isfullscreen="${this.isBibFullscreen}"
52966
+ ?desktopmodal="${this.desktopModal}"
50684
52967
  .dialogLabel="${this.bibDialogLabel}"
50685
52968
  ${n$6(this.bibElement)}
50686
52969
  >
@@ -57379,7 +59662,7 @@ let AuroHelpText$1$1 = class AuroHelpText extends i$3 {
57379
59662
  }
57380
59663
  };
57381
59664
 
57382
- var formkitVersion$1$1 = '202605201646';
59665
+ var formkitVersion$1$1 = '202605210326';
57383
59666
 
57384
59667
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
57385
59668
  // See LICENSE in the project root for license information.
@@ -58333,6 +60616,14 @@ let AuroBibtemplate$1 = class AuroBibtemplate extends i$3 {
58333
60616
  large: {
58334
60617
  type: Boolean,
58335
60618
  reflect: true
60619
+ },
60620
+
60621
+ /**
60622
+ * If declared, the footer slot will be rendered even when not in fullscreen mode.
60623
+ */
60624
+ showFooter: {
60625
+ type: Boolean,
60626
+ reflect: true
58336
60627
  }
58337
60628
  };
58338
60629
  }
@@ -58435,7 +60726,7 @@ let AuroBibtemplate$1 = class AuroBibtemplate extends i$3 {
58435
60726
  <slot></slot>
58436
60727
  </div>
58437
60728
 
58438
- ${this.isFullscreen ? u$d`
60729
+ ${this.isFullscreen || this.showFooter ? u$d`
58439
60730
  <div id="footerContainer">
58440
60731
  <slot name="footer"></slot>
58441
60732
  </div>` : null}
@@ -58444,7 +60735,7 @@ let AuroBibtemplate$1 = class AuroBibtemplate extends i$3 {
58444
60735
  }
58445
60736
  };
58446
60737
 
58447
- var formkitVersion$3 = '202605201646';
60738
+ var formkitVersion$3 = '202605210326';
58448
60739
 
58449
60740
  var styleCss$1$3 = i$5`.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}`;
58450
60741
 
@@ -63930,30 +66221,28 @@ function navigateArrow(component, direction, options = {}) {
63930
66221
  const selectKeyboardStrategy = {
63931
66222
  ArrowDown(component, evt, ctx) {
63932
66223
  evt.preventDefault();
63933
- if (ctx.isExpanded) {
63934
- if (evt.altKey || evt.ctrlKey || evt.metaKey) {
63935
- // navigate to last enabled option
63936
- selectKeyboardStrategy.End(component, evt, ctx);
63937
- } else {
63938
- navigateArrow(component, 'down', { ctx });
63939
- }
63940
- } else {
63941
- component.dropdown.show();
66224
+ if (evt.altKey || evt.metaKey) {
66225
+ // navigate to last enabled option
66226
+ selectKeyboardStrategy.End(component, evt, ctx);
66227
+ return;
63942
66228
  }
66229
+ navigateArrow(component, 'down', {
66230
+ ctx,
66231
+ showFn: () => component.dropdown.show(),
66232
+ });
63943
66233
  },
63944
66234
 
63945
66235
  ArrowUp(component, evt, ctx) {
63946
66236
  evt.preventDefault();
63947
- if (ctx.isExpanded) {
63948
- if (evt.altKey || evt.ctrlKey || evt.metaKey) {
63949
- // navigate to first enabled option
63950
- selectKeyboardStrategy.Home(component, evt, ctx);
63951
- } else {
63952
- navigateArrow(component, 'up', { ctx });
63953
- }
63954
- } else {
63955
- component.dropdown.show();
66237
+ if (evt.altKey || evt.metaKey) {
66238
+ // navigate to first enabled option
66239
+ selectKeyboardStrategy.Home(component, evt, ctx);
66240
+ return;
63956
66241
  }
66242
+ navigateArrow(component, 'up', {
66243
+ ctx,
66244
+ showFn: () => component.dropdown.show(),
66245
+ });
63957
66246
  },
63958
66247
 
63959
66248
  Escape(component, evt, ctx) {
@@ -67305,7 +69594,7 @@ function applyKeyboardStrategy(component, strategy, options = {}) {
67305
69594
  });
67306
69595
  }
67307
69596
 
67308
- var styleCss$2$1 = i$5`: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}`;
69597
+ var styleCss$2$1 = i$5`: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}`;
67309
69598
 
67310
69599
  var colorCss$2 = i$5`.container{background-color:var(--ds-auro-dropdownbib-container-color);box-shadow:var(--ds-auro-dropdownbib-boxshadow-color);color:var(--ds-auro-dropdownbib-text-color)}`;
67311
69600
 
@@ -67936,7 +70225,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$3 {
67936
70225
  }
67937
70226
  };
67938
70227
 
67939
- var formkitVersion$1 = '202605201646';
70228
+ var formkitVersion$1 = '202605210326';
67940
70229
 
67941
70230
  class AuroElement extends i$3 {
67942
70231
  static get properties() {
@@ -68116,6 +70405,7 @@ class AuroDropdown extends AuroElement {
68116
70405
  _intializeDefaults() {
68117
70406
  this.appearance = 'default';
68118
70407
  this.chevron = false;
70408
+ this.desktopModal = false;
68119
70409
  this.disabled = false;
68120
70410
  this.disableKeyboardHandling = false;
68121
70411
  this.error = false;
@@ -68296,6 +70586,14 @@ class AuroDropdown extends AuroElement {
68296
70586
  reflect: true
68297
70587
  },
68298
70588
 
70589
+ /**
70590
+ * If declared, the dropdown will behave as a modal dialog when in a desktop viewport size.
70591
+ */
70592
+ desktopModal: {
70593
+ type: Boolean,
70594
+ reflect: true
70595
+ },
70596
+
68299
70597
  /**
68300
70598
  * If declared, the dropdown will only show by calling the API .show() public method.
68301
70599
  */
@@ -68583,6 +70881,15 @@ class AuroDropdown extends AuroElement {
68583
70881
 
68584
70882
  disconnectedCallback() {
68585
70883
  super.disconnectedCallback();
70884
+ this._clearPageInert();
70885
+ if (this._bibTabHandler) {
70886
+ this.removeEventListener('keydown', this._bibTabHandler);
70887
+ this._bibTabHandler = undefined;
70888
+ }
70889
+ if (this.focusTrap) {
70890
+ this.focusTrap.disconnect();
70891
+ this.focusTrap = undefined;
70892
+ }
68586
70893
  if (this.floater) {
68587
70894
  this.floater.hideBib('disconnect');
68588
70895
  this.floater.disconnect();
@@ -68610,19 +70917,45 @@ class AuroDropdown extends AuroElement {
68610
70917
  if (this.isPopoverVisible) {
68611
70918
  // Fullscreen: use showModal() for native accessibility (inert outside, focus trap)
68612
70919
  // Desktop: use show() for Floating UI positioning + FocusTrap for focus management
68613
- const useModal = this.isBibFullscreen;
68614
- this.bibElement.value.open(useModal);
70920
+ this.bibElement.value.open(this.isBibFullscreen);
70921
+ this.updateFocusTrap();
70922
+
70923
+ // Desktop modal: make siblings inert so content outside is not interactive
70924
+ if (this.desktopModal && !this.isBibFullscreen) {
70925
+ this._setPageInert();
70926
+ }
68615
70927
  } else {
68616
70928
  this.bibElement.value.close();
70929
+ this._clearPageInert();
68617
70930
  }
68618
70931
  }
68619
70932
 
68620
70933
  // When fullscreen strategy changes while open, re-open dialog with correct mode
68621
70934
  // (e.g. resizing from desktop → mobile while dropdown is open)
68622
70935
  if (changedProperties.has('isBibFullscreen') && this.isPopoverVisible && this.bibElement.value) {
68623
- const useModal = this.isBibFullscreen;
68624
70936
  this.bibElement.value.close();
68625
- this.bibElement.value.open(useModal);
70937
+ this.bibElement.value.open(this.isBibFullscreen);
70938
+
70939
+ // Re-initialize focus management for the new strategy
70940
+ this.updateFocusTrap();
70941
+
70942
+ // Toggle inert: desktop modal needs it, fullscreen showModal() handles it natively
70943
+ if (this.desktopModal && !this.isBibFullscreen) {
70944
+ this._setPageInert();
70945
+ } else {
70946
+ this._clearPageInert();
70947
+ }
70948
+ }
70949
+
70950
+ // Handle desktopModal toggled while the dropdown is already open.
70951
+ // Re-initialize focus trapping and page inert state to match the new mode.
70952
+ if (changedProperties.has('desktopModal') && this.isPopoverVisible && !this.isBibFullscreen) {
70953
+ this.updateFocusTrap();
70954
+ if (this.desktopModal) {
70955
+ this._setPageInert();
70956
+ } else {
70957
+ this._clearPageInert();
70958
+ }
68626
70959
  }
68627
70960
  }
68628
70961
 
@@ -68632,8 +70965,14 @@ class AuroDropdown extends AuroElement {
68632
70965
  * @param {CustomEvent} event - The custom event that contains the dropdown toggle information.
68633
70966
  */
68634
70967
  handleDropdownToggle(event) {
68635
- this.updateFocusTrap();
68636
70968
  this.isPopoverVisible = event.detail.expanded;
70969
+
70970
+ // Tear down FocusTrap when closing. Creation happens in updated()
70971
+ // after the dialog is open so getFocusableElements can find content.
70972
+ if (!this.isPopoverVisible) {
70973
+ this.updateFocusTrap();
70974
+ }
70975
+
68637
70976
  const eventType = event.detail.eventType || "unknown";
68638
70977
  if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown") {
68639
70978
  this.trigger.focus();
@@ -68732,19 +71071,178 @@ class AuroDropdown extends AuroElement {
68732
71071
  * @private
68733
71072
  */
68734
71073
  updateFocusTrap() {
71074
+ // Always clean up existing handlers/traps before setting up new ones
71075
+ // to prevent duplicate listeners on repeated calls.
71076
+ if (this._bibTabHandler) {
71077
+ this.removeEventListener('keydown', this._bibTabHandler);
71078
+ this._bibTabHandler = undefined;
71079
+ }
71080
+
71081
+ if (this.focusTrap) {
71082
+ this.focusTrap.disconnect();
71083
+ this.focusTrap = undefined;
71084
+ }
71085
+
68735
71086
  if (this.isPopoverVisible) {
68736
71087
  if (!this.isBibFullscreen) {
68737
- // Desktop: show() doesn't trap focus, so use FocusTrap
68738
- this.focusTrap = new FocusTrap(this.bibContent);
68739
- this.focusTrap.focusFirstElement();
71088
+ if (this.desktopModal) {
71089
+ // Desktop modal: trap focus only within the bib content.
71090
+ // Can't use FocusTrap on the bib element because keydown events
71091
+ // from slotted content bubble through the dropdown host (light DOM),
71092
+ // not through the bib (shadow projection target). Using FocusTrap
71093
+ // on the dropdown would include the trigger in the tab cycle.
71094
+ // Instead, listen for Tab on the dropdown and manually wrap focus
71095
+ // within the bib's focusable elements.
71096
+ this._bibTabHandler = (event) => {
71097
+ if (event.key !== 'Tab') {
71098
+ return;
71099
+ }
71100
+
71101
+ // Collect focusable elements from the bib content.
71102
+ const focusables = getFocusableElements(this.bibContent);
71103
+
71104
+ // Fallback: try from slotted content directly
71105
+ if (!focusables.length) {
71106
+ const slot = this.shadowRoot.querySelector('.slotContent slot');
71107
+ const assignedNodes = slot ? slot.assignedNodes({ flatten: true }) : [];
71108
+
71109
+ for (const node of assignedNodes) {
71110
+ if (node.nodeType === Node.ELEMENT_NODE) {
71111
+ focusables.push(...getFocusableElements(node));
71112
+ }
71113
+ }
71114
+ }
71115
+
71116
+ if (!focusables.length) {
71117
+ return;
71118
+ }
71119
+
71120
+ event.preventDefault();
71121
+
71122
+ const direction = event.shiftKey ? -1 : 1; // eslint-disable-line no-magic-numbers
71123
+
71124
+ // Walk the active element chain through shadow roots
71125
+ const actives = this._getActiveElements();
71126
+
71127
+ let idx = focusables.findIndex((el) => actives.includes(el));
71128
+
71129
+ if (idx === -1) { // eslint-disable-line no-magic-numbers
71130
+ // Focus is not on a known element — move to first/last
71131
+ idx = direction === 1 ? -1 : focusables.length; // eslint-disable-line no-magic-numbers
71132
+ }
71133
+
71134
+ // Try each element in order, skipping any that can't receive focus
71135
+ // (e.g. hidden elements, elements in collapsed sections)
71136
+ for (let index = 0; index < focusables.length; index++) { // eslint-disable-line no-plusplus
71137
+ let nextIdx = idx + direction;
71138
+
71139
+ // Wrap around
71140
+ if (nextIdx < 0) {
71141
+ nextIdx = focusables.length - 1;
71142
+ } else if (nextIdx >= focusables.length) {
71143
+ nextIdx = 0;
71144
+ }
71145
+
71146
+ focusables[nextIdx].focus();
71147
+
71148
+ // Verify focus actually moved to the target
71149
+ const newActives = this._getActiveElements();
71150
+
71151
+ if (newActives.includes(focusables[nextIdx])) {
71152
+ return;
71153
+ }
71154
+
71155
+ // Focus didn't stick — skip this element and try the next
71156
+ idx = nextIdx;
71157
+ }
71158
+ };
71159
+ this.addEventListener('keydown', this._bibTabHandler);
71160
+
71161
+ // Move initial focus into the bib content, matching FocusTrap behavior
71162
+ requestAnimationFrame(() => {
71163
+ const focusables = getFocusableElements(this.bibContent);
71164
+ if (focusables.length) {
71165
+ focusables[0].focus();
71166
+ }
71167
+ });
71168
+ } else {
71169
+ // Normal desktop: use FocusTrap on the bib element
71170
+ this.focusTrap = new FocusTrap(this.bibContent);
71171
+ this.focusTrap.focusFirstElement();
71172
+ }
68740
71173
  }
68741
71174
  // Fullscreen: showModal() provides native focus trapping
71175
+ }
71176
+ }
71177
+
71178
+ /**
71179
+ * Returns the chain of active (focused) elements through shadow roots.
71180
+ * @private
71181
+ * @returns {Array<HTMLElement>}
71182
+ */
71183
+ _getActiveElements() {
71184
+ let { activeElement } = document;
71185
+ const actives = [activeElement];
71186
+
71187
+ while (activeElement?.shadowRoot?.activeElement) {
71188
+ activeElement = activeElement.shadowRoot.activeElement;
71189
+ actives.push(activeElement);
71190
+ }
71191
+
71192
+ return actives;
71193
+ }
71194
+
71195
+ /**
71196
+ * Sets `inert` on sibling elements of the dropdown's top-level host
71197
+ * so that content outside the dropdown is not interactive while the modal is open.
71198
+ * Walks up through shadow DOM boundaries to find the outermost host element
71199
+ * in the light DOM, then sets `inert` on siblings at each ancestor level
71200
+ * to ensure all page content outside the host subtree is inert.
71201
+ * @private
71202
+ */
71203
+ _setPageInert() {
71204
+ if (this._inertSiblings) {
68742
71205
  return;
68743
71206
  }
68744
71207
 
68745
- if (this.focusTrap) {
68746
- this.focusTrap.disconnect();
68747
- this.focusTrap = undefined;
71208
+ this._inertSiblings = [];
71209
+
71210
+ // Walk up through shadow DOM boundaries to find the topmost host
71211
+ // element in the light DOM. For example, if this dropdown is inside
71212
+ // auro-datepicker's shadow DOM, we walk up to the datepicker element
71213
+ // so we set inert on its siblings — not on the datepicker itself.
71214
+ let host = this;
71215
+ while (host.getRootNode() instanceof ShadowRoot) {
71216
+ host = host.getRootNode().host;
71217
+ }
71218
+
71219
+ // Walk up the ancestor chain, inerting siblings at each level
71220
+ // to ensure the entire page outside the host subtree is inert.
71221
+ let current = host;
71222
+ while (current.parentElement) {
71223
+ const parent = current.parentElement;
71224
+ for (const sibling of parent.children) {
71225
+ if (sibling !== current) {
71226
+ this._inertSiblings.push({ element: sibling, wasInert: sibling.inert });
71227
+ sibling.inert = true;
71228
+ }
71229
+ }
71230
+ current = parent;
71231
+ }
71232
+ }
71233
+
71234
+ /**
71235
+ * Restores `inert` state on siblings that were tracked by `_setPageInert`.
71236
+ * Preserves the previous inert state so externally-inerted elements are
71237
+ * not inadvertently re-enabled.
71238
+ * @private
71239
+ */
71240
+ _clearPageInert() {
71241
+ if (this._inertSiblings) {
71242
+ for (const entry of this._inertSiblings) {
71243
+ entry.element.inert = entry.wasInert;
71244
+ }
71245
+ this._inertSiblings = undefined;
68748
71246
  }
68749
71247
  }
68750
71248
 
@@ -68983,6 +71481,7 @@ class AuroDropdown extends AuroElement {
68983
71481
  shape="${this.shape}"
68984
71482
  ?data-show="${this.isPopoverVisible}"
68985
71483
  ?isfullscreen="${this.isBibFullscreen}"
71484
+ ?desktopmodal="${this.desktopModal}"
68986
71485
  .dialogLabel="${this.bibDialogLabel}"
68987
71486
  ${n$6(this.bibElement)}
68988
71487
  >
@@ -69350,6 +71849,14 @@ class AuroBibtemplate extends i$3 {
69350
71849
  large: {
69351
71850
  type: Boolean,
69352
71851
  reflect: true
71852
+ },
71853
+
71854
+ /**
71855
+ * If declared, the footer slot will be rendered even when not in fullscreen mode.
71856
+ */
71857
+ showFooter: {
71858
+ type: Boolean,
71859
+ reflect: true
69353
71860
  }
69354
71861
  };
69355
71862
  }
@@ -69452,7 +71959,7 @@ class AuroBibtemplate extends i$3 {
69452
71959
  <slot></slot>
69453
71960
  </div>
69454
71961
 
69455
- ${this.isFullscreen ? u$d`
71962
+ ${this.isFullscreen || this.showFooter ? u$d`
69456
71963
  <div id="footerContainer">
69457
71964
  <slot name="footer"></slot>
69458
71965
  </div>` : null}
@@ -69689,7 +72196,7 @@ class AuroHelpText extends i$3 {
69689
72196
  }
69690
72197
  }
69691
72198
 
69692
- var formkitVersion = '202605201646';
72199
+ var formkitVersion = '202605210326';
69693
72200
 
69694
72201
  var styleCss = i$5`.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}`;
69695
72202