@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
@@ -7458,7 +7458,7 @@ let AuroHelpText$9 = class AuroHelpText extends i$4 {
7458
7458
  }
7459
7459
  };
7460
7460
 
7461
- var formkitVersion$9 = '202605201646';
7461
+ var formkitVersion$9 = '202605210326';
7462
7462
 
7463
7463
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
7464
7464
  // See LICENSE in the project root for license information.
@@ -9481,7 +9481,6 @@ class UtilitiesCalendarRender {
9481
9481
  .max="${elem.max}"
9482
9482
  ?noRange="${elem.noRange}"
9483
9483
  .monthFirst="${elem.monthFirst}"
9484
- .hoveredDate="${elem.hoveredDate}"
9485
9484
  .dateTo="${elem.dateTo}"
9486
9485
  .dateFrom="${elem.dateFrom}"
9487
9486
  .locale="${elem.locale}"
@@ -9513,43 +9512,6 @@ var snowflakeStyle = i$7`:host([layout*=snowflake]) [auro-input]{flex:1;text-ali
9513
9512
 
9514
9513
  var snowflakeColors = i$7`:host([layout=snowflake]) [auro-dropdown]:not(:is([error],.hasFocus)){--ds-auro-dropdown-trigger-border-color: transparent}`;
9515
9514
 
9516
- var styleCss$7$1 = i$7`.body-default{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-default-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-default-font-size, 1rem);line-height:var(--wcss-body-default-line-height, 1.5rem)}.body-default-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-default-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-default-emphasized-font-size, 1rem);line-height:var(--wcss-body-default-emphasized-line-height, 1.5rem)}.body-lg{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-lg-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-lg-font-size, 1.125rem);line-height:var(--wcss-body-lg-line-height, 1.625rem)}.body-lg-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-lg-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-lg-emphasized-font-size, 1.125rem);line-height:var(--wcss-body-lg-emphasized-line-height, 1.625rem)}.body-sm{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-sm-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-sm-font-size, 0.875rem);line-height:var(--wcss-body-sm-line-height, 1.25rem)}.body-sm-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-sm-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-sm-emphasized-font-size, 0.875rem);line-height:var(--wcss-body-sm-emphasized-line-height, 1.25rem)}.body-xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-xs-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-xs-font-size, 0.75rem);line-height:var(--wcss-body-xs-line-height, 1rem)}.body-xs-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-xs-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-xs-emphasized-font-size, 0.75rem);line-height:var(--wcss-body-xs-emphasized-line-height, 1rem)}.body-2xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-2xs-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-2xs-font-size, 0.625rem);line-height:var(--wcss-body-2xs-line-height, 0.875rem)}.body-2xs-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-2xs-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-2xs-emphasized-font-size, 0.625rem);line-height:var(--wcss-body-2xs-emphasized-line-height, 0.875rem)}.display-2xl{font-family:var(--wcss-display-2xl-family, "AS Circular"),var(--wcss-display-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-2xl-weight, 300);line-height:var(--wcss-display-2xl-line-height, 1.3);font-size:var(--wcss-display-2xl-font-size, clamp(3.5rem, 6vw, 5.375rem));letter-spacing:var(--wcss-display-2xl-letter-spacing, 0)}.display-xl{font-family:var(--wcss-display-xl-family, "AS Circular"),var(--wcss-display-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-xl-weight, 300);line-height:var(--wcss-display-xl-line-height, 1.3);font-size:var(--wcss-display-xl-font-size, clamp(3rem, 5.3333333333vw, 4.5rem));letter-spacing:var(--wcss-display-xl-letter-spacing, 0)}.display-lg{font-family:var(--wcss-display-lg-family, "AS Circular"),var(--wcss-display-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-lg-weight, 300);line-height:var(--wcss-display-lg-line-height, 1.3);font-size:var(--wcss-display-lg-font-size, clamp(2.75rem, 4.6666666667vw, 4rem));letter-spacing:var(--wcss-display-lg-letter-spacing, 0)}.display-md{font-family:var(--wcss-display-md-family, "AS Circular"),var(--wcss-display-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-md-weight, 300);line-height:var(--wcss-display-md-line-height, 1.3);font-size:var(--wcss-display-md-font-size, clamp(2.5rem, 4vw, 3.5rem));letter-spacing:var(--wcss-display-md-letter-spacing, 0)}.display-sm{font-family:var(--wcss-display-sm-family, "AS Circular"),var(--wcss-display-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-sm-weight, 300);line-height:var(--wcss-display-sm-line-height, 1.3);font-size:var(--wcss-display-sm-font-size, clamp(2rem, 3.6666666667vw, 3rem));letter-spacing:var(--wcss-display-sm-letter-spacing, 0)}.display-xs{font-family:var(--wcss-display-xs-family, "AS Circular"),var(--wcss-display-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-xs-weight, 300);line-height:var(--wcss-display-xs-line-height, 1.3);font-size:var(--wcss-display-xs-font-size, clamp(1.75rem, 3vw, 2.375rem));letter-spacing:var(--wcss-display-xs-letter-spacing, 0)}.heading-xl{font-family:var(--wcss-heading-xl-family, "AS Circular"),var(--wcss-heading-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-xl-weight, 300);line-height:var(--wcss-heading-xl-line-height, 1.3);font-size:var(--wcss-heading-xl-font-size, clamp(2rem, 3vw, 2.5rem));letter-spacing:var(--wcss-heading-xl-letter-spacing, 0)}.heading-lg{font-family:var(--wcss-heading-lg-family, "AS Circular"),var(--wcss-heading-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-lg-weight, 300);line-height:var(--wcss-heading-lg-line-height, 1.3);font-size:var(--wcss-heading-lg-font-size, clamp(1.75rem, 2.6666666667vw, 2.25rem));letter-spacing:var(--wcss-heading-lg-letter-spacing, 0)}.heading-md{font-family:var(--wcss-heading-md-family, "AS Circular"),var(--wcss-heading-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-md-weight, 300);line-height:var(--wcss-heading-md-line-height, 1.3);font-size:var(--wcss-heading-md-font-size, clamp(1.625rem, 2.3333333333vw, 1.75rem));letter-spacing:var(--wcss-heading-md-letter-spacing, 0)}.heading-sm{font-family:var(--wcss-heading-sm-family, "AS Circular"),var(--wcss-heading-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-sm-weight, 300);line-height:var(--wcss-heading-sm-line-height, 1.3);font-size:var(--wcss-heading-sm-font-size, clamp(1.375rem, 2vw, 1.5rem));letter-spacing:var(--wcss-heading-sm-letter-spacing, 0)}.heading-xs{font-family:var(--wcss-heading-xs-family, "AS Circular"),var(--wcss-heading-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-xs-weight, 300);line-height:var(--wcss-heading-xs-line-height, 1.3);font-size:var(--wcss-heading-xs-font-size, clamp(1.25rem, 1.6666666667vw, 1.25rem));letter-spacing:var(--wcss-heading-xs-letter-spacing, 0)}.heading-2xs{font-family:var(--wcss-heading-2xs-family, "AS Circular"),var(--wcss-heading-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-2xs-weight, 300);line-height:var(--wcss-heading-2xs-line-height, 1.3);font-size:var(--wcss-heading-2xs-font-size, clamp(1.125rem, 1.5vw, 1.125rem));letter-spacing:var(--wcss-heading-2xs-letter-spacing, 0)}.accent-2xl{font-family:var(--wcss-accent-2xl-family, "Good OT"),var(--wcss-accent-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-2xl-weight, 450);line-height:var(--wcss-accent-2xl-line-height, 1);font-size:var(--wcss-accent-2xl-font-size, clamp(2rem, 3.1666666667vw, 2.375rem));letter-spacing:var(--wcss-accent-2xl-letter-spacing, 0.05em);text-transform:uppercase}.accent-xl{font-family:var(--wcss-accent-xl-family, "Good OT"),var(--wcss-accent-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-xl-weight, 450);line-height:var(--wcss-accent-xl-line-height, 1.3);font-size:var(--wcss-accent-xl-font-size, clamp(1.625rem, 2.3333333333vw, 2rem));letter-spacing:var(--wcss-accent-xl-letter-spacing, 0.05em);text-transform:uppercase}.accent-lg{font-family:var(--wcss-accent-lg-family, "Good OT"),var(--wcss-accent-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-lg-weight, 450);line-height:var(--wcss-accent-lg-line-height, 1.3);font-size:var(--wcss-accent-lg-font-size, clamp(1.5rem, 2.1666666667vw, 1.75rem));letter-spacing:var(--wcss-accent-lg-letter-spacing, 0.05em);text-transform:uppercase}.accent-md{font-family:var(--wcss-accent-md-family, "Good OT"),var(--wcss-accent-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-md-weight, 500);line-height:var(--wcss-accent-md-line-height, 1.3);font-size:var(--wcss-accent-md-font-size, clamp(1.375rem, 1.8333333333vw, 1.5rem));letter-spacing:var(--wcss-accent-md-letter-spacing, 0.05em);text-transform:uppercase}.accent-sm{font-family:var(--wcss-accent-sm-family, "Good OT"),var(--wcss-accent-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-sm-weight, 500);line-height:var(--wcss-accent-sm-line-height, 1.3);font-size:var(--wcss-accent-sm-font-size, clamp(1.125rem, 1.5vw, 1.25rem));letter-spacing:var(--wcss-accent-sm-letter-spacing, 0.05em);text-transform:uppercase}.accent-xs{font-family:var(--wcss-accent-xs-family, "Good OT"),var(--wcss-accent-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-xs-weight, 500);line-height:var(--wcss-accent-xs-line-height, 1.3);font-size:var(--wcss-accent-xs-font-size, clamp(1rem, 1.3333333333vw, 1rem));letter-spacing:var(--wcss-accent-xs-letter-spacing, 0.1em);text-transform:uppercase}.accent-2xs{font-family:var(--wcss-accent-2xs-family, "Good OT"),var(--wcss-accent-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-2xs-weight, 450);line-height:var(--wcss-accent-2xs-line-height, 1.3);font-size:var(--wcss-accent-2xs-font-size, clamp(0.875rem, 1.1666666667vw, 0.875rem));letter-spacing:var(--wcss-accent-2xs-letter-spacing, 0.1em);text-transform:uppercase}:host{--calendar-width: 336px;--mobile-footer-height: 150px;--mobile-header-height: 68px;height:100vh;height:100dvh}.calendars{display:flex;flex-direction:row}.calendarNavButtons{position:absolute;top:var(--ds-size-200, 1rem);right:var(--ds-size-50, 0.25rem);left:var(--ds-size-50, 0.25rem)}.calendarNavBtn{display:flex;width:var(--ds-size-500, 2.5rem);height:var(--ds-size-500, 2.5rem);align-items:center;justify-content:center;border-width:1px;border-style:solid;border-radius:50%;cursor:pointer}.prevMonth,.nextMonth{position:absolute;top:0}.prevMonth{left:0}.nextMonth{right:0}.headerActions{padding:0 var(--ds-size-200, 1rem)}.mobileHeader{width:100%;height:var(--mobile-header-height);z-index:1;align-items:center;flex-direction:row}.headerDateFrom,.headerDateTo{display:flex;height:var(--mobile-header-height);flex:1;flex-direction:column;justify-content:center;padding:0 var(--ds-size-150, 0.75rem) 0 var(--ds-size-200, 1rem)}.mobileDateLabel{padding:var(--ds-size-25, 0.125rem) 0}.mobileFooter{display:none;width:100%;align-items:flex-end;flex-direction:column;justify-content:flex-end}.mobileFooterActions{position:relative;bottom:0;left:50%;display:none;width:calc(100% - var(--ds-size-200, 1rem)*2);align-items:flex-end;flex-direction:column;justify-content:flex-end;padding:var(--ds-size-150) calc(var(--ds-size-200, 1rem));transform:translateX(-50%)}.mobileFooterActions auro-button{width:100%}:host([isfullscreen]){width:100%;max-height:100dvh;overflow:hidden}:host([isfullscreen]) .prevMonth,:host([isfullscreen]) .nextMonth{display:none}:host([isfullscreen]) .mobileHeader,:host([isfullscreen]) .mobileFooter,:host([isfullscreen]) .mobileFooterActions{display:flex}:host([isfullscreen]) .calendarWrapper{display:flex;flex-direction:column}:host([isfullscreen]) .calendars{display:flex;flex-direction:column;flex:1;align-items:center;width:100%;overscroll-behavior:contain}:host([isfullscreen]) .calendars:after{display:block;width:100%;height:var(--mobile-footer-height);content:""}`;
9517
-
9518
- var colorCss$7$1 = i$7`.calendarNavBtn{border-color:var(--ds-auro-calendar-nav-btn-border-color);background-color:var(--ds-auro-calendar-nav-btn-container-color);color:var(--ds-auro-calendar-nav-btn-chevron-color)}.calendarNavBtn:hover{--ds-auro-calendar-nav-btn-container-color: var(--ds-advanced-color-state-background-hover, #f2f2f2);--ds-auro-calendar-nav-btn-border-color: var(--ds-basic-color-brand-primary, #01426a)}.calendarNavBtn:focus{--ds-auro-calendar-nav-btn-border-color: var(--ds-basic-color-brand-primary, #01426a)}.calendarNavBtn:active{--ds-auro-calendar-nav-btn-border-color: var(--ds-basic-color-brand-primary, #01426a);box-shadow:inset 0 0 0 1px var(--ds-auro-calendar-nav-btn-border-color)}.mobileHeader{background-color:var(--ds-auro-calendar-mobile-header-container-color)}.mobileDateLabel{color:var(--ds-auro-calendar-mobile-header-text-color)}:host(:not([noRange])) .headerDateTo:after{background-color:var(--ds-auro-calendar-mobile-header-divider-color)}::slotted([slot="bib.fullscreen.fromStr"]),::slotted([slot=mobileDateToStr]){color:var(--ds-auro-datepicker-placeholder-color)}@media screen and (max-width: 576px){.calendarNavBtn{--ds-auro-calendar-nav-btn-border-color: var(--ds-basic-color-brand-primary, #01426a)}}`;
9519
-
9520
- var styleCss$6$1 = i$7`:focus:not(:focus-visible){outline:3px solid transparent}.body-default{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-default-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-default-font-size, 1rem);line-height:var(--wcss-body-default-line-height, 1.5rem)}.body-default-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-default-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-default-emphasized-font-size, 1rem);line-height:var(--wcss-body-default-emphasized-line-height, 1.5rem)}.body-lg{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-lg-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-lg-font-size, 1.125rem);line-height:var(--wcss-body-lg-line-height, 1.625rem)}.body-lg-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-lg-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-lg-emphasized-font-size, 1.125rem);line-height:var(--wcss-body-lg-emphasized-line-height, 1.625rem)}.body-sm{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-sm-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-sm-font-size, 0.875rem);line-height:var(--wcss-body-sm-line-height, 1.25rem)}.body-sm-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-sm-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-sm-emphasized-font-size, 0.875rem);line-height:var(--wcss-body-sm-emphasized-line-height, 1.25rem)}.body-xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-xs-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-xs-font-size, 0.75rem);line-height:var(--wcss-body-xs-line-height, 1rem)}.body-xs-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-xs-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-xs-emphasized-font-size, 0.75rem);line-height:var(--wcss-body-xs-emphasized-line-height, 1rem)}.body-2xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-2xs-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-2xs-font-size, 0.625rem);line-height:var(--wcss-body-2xs-line-height, 0.875rem)}.body-2xs-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-2xs-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-2xs-emphasized-font-size, 0.625rem);line-height:var(--wcss-body-2xs-emphasized-line-height, 0.875rem)}.display-2xl{font-family:var(--wcss-display-2xl-family, "AS Circular"),var(--wcss-display-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-2xl-weight, 300);line-height:var(--wcss-display-2xl-line-height, 1.3);font-size:var(--wcss-display-2xl-font-size, clamp(3.5rem, 6vw, 5.375rem));letter-spacing:var(--wcss-display-2xl-letter-spacing, 0)}.display-xl{font-family:var(--wcss-display-xl-family, "AS Circular"),var(--wcss-display-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-xl-weight, 300);line-height:var(--wcss-display-xl-line-height, 1.3);font-size:var(--wcss-display-xl-font-size, clamp(3rem, 5.3333333333vw, 4.5rem));letter-spacing:var(--wcss-display-xl-letter-spacing, 0)}.display-lg{font-family:var(--wcss-display-lg-family, "AS Circular"),var(--wcss-display-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-lg-weight, 300);line-height:var(--wcss-display-lg-line-height, 1.3);font-size:var(--wcss-display-lg-font-size, clamp(2.75rem, 4.6666666667vw, 4rem));letter-spacing:var(--wcss-display-lg-letter-spacing, 0)}.display-md{font-family:var(--wcss-display-md-family, "AS Circular"),var(--wcss-display-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-md-weight, 300);line-height:var(--wcss-display-md-line-height, 1.3);font-size:var(--wcss-display-md-font-size, clamp(2.5rem, 4vw, 3.5rem));letter-spacing:var(--wcss-display-md-letter-spacing, 0)}.display-sm{font-family:var(--wcss-display-sm-family, "AS Circular"),var(--wcss-display-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-sm-weight, 300);line-height:var(--wcss-display-sm-line-height, 1.3);font-size:var(--wcss-display-sm-font-size, clamp(2rem, 3.6666666667vw, 3rem));letter-spacing:var(--wcss-display-sm-letter-spacing, 0)}.display-xs{font-family:var(--wcss-display-xs-family, "AS Circular"),var(--wcss-display-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-xs-weight, 300);line-height:var(--wcss-display-xs-line-height, 1.3);font-size:var(--wcss-display-xs-font-size, clamp(1.75rem, 3vw, 2.375rem));letter-spacing:var(--wcss-display-xs-letter-spacing, 0)}.heading-xl{font-family:var(--wcss-heading-xl-family, "AS Circular"),var(--wcss-heading-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-xl-weight, 300);line-height:var(--wcss-heading-xl-line-height, 1.3);font-size:var(--wcss-heading-xl-font-size, clamp(2rem, 3vw, 2.5rem));letter-spacing:var(--wcss-heading-xl-letter-spacing, 0)}.heading-lg{font-family:var(--wcss-heading-lg-family, "AS Circular"),var(--wcss-heading-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-lg-weight, 300);line-height:var(--wcss-heading-lg-line-height, 1.3);font-size:var(--wcss-heading-lg-font-size, clamp(1.75rem, 2.6666666667vw, 2.25rem));letter-spacing:var(--wcss-heading-lg-letter-spacing, 0)}.heading-md{font-family:var(--wcss-heading-md-family, "AS Circular"),var(--wcss-heading-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-md-weight, 300);line-height:var(--wcss-heading-md-line-height, 1.3);font-size:var(--wcss-heading-md-font-size, clamp(1.625rem, 2.3333333333vw, 1.75rem));letter-spacing:var(--wcss-heading-md-letter-spacing, 0)}.heading-sm{font-family:var(--wcss-heading-sm-family, "AS Circular"),var(--wcss-heading-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-sm-weight, 300);line-height:var(--wcss-heading-sm-line-height, 1.3);font-size:var(--wcss-heading-sm-font-size, clamp(1.375rem, 2vw, 1.5rem));letter-spacing:var(--wcss-heading-sm-letter-spacing, 0)}.heading-xs{font-family:var(--wcss-heading-xs-family, "AS Circular"),var(--wcss-heading-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-xs-weight, 300);line-height:var(--wcss-heading-xs-line-height, 1.3);font-size:var(--wcss-heading-xs-font-size, clamp(1.25rem, 1.6666666667vw, 1.25rem));letter-spacing:var(--wcss-heading-xs-letter-spacing, 0)}.heading-2xs{font-family:var(--wcss-heading-2xs-family, "AS Circular"),var(--wcss-heading-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-2xs-weight, 300);line-height:var(--wcss-heading-2xs-line-height, 1.3);font-size:var(--wcss-heading-2xs-font-size, clamp(1.125rem, 1.5vw, 1.125rem));letter-spacing:var(--wcss-heading-2xs-letter-spacing, 0)}.accent-2xl{font-family:var(--wcss-accent-2xl-family, "Good OT"),var(--wcss-accent-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-2xl-weight, 450);line-height:var(--wcss-accent-2xl-line-height, 1);font-size:var(--wcss-accent-2xl-font-size, clamp(2rem, 3.1666666667vw, 2.375rem));letter-spacing:var(--wcss-accent-2xl-letter-spacing, 0.05em);text-transform:uppercase}.accent-xl{font-family:var(--wcss-accent-xl-family, "Good OT"),var(--wcss-accent-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-xl-weight, 450);line-height:var(--wcss-accent-xl-line-height, 1.3);font-size:var(--wcss-accent-xl-font-size, clamp(1.625rem, 2.3333333333vw, 2rem));letter-spacing:var(--wcss-accent-xl-letter-spacing, 0.05em);text-transform:uppercase}.accent-lg{font-family:var(--wcss-accent-lg-family, "Good OT"),var(--wcss-accent-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-lg-weight, 450);line-height:var(--wcss-accent-lg-line-height, 1.3);font-size:var(--wcss-accent-lg-font-size, clamp(1.5rem, 2.1666666667vw, 1.75rem));letter-spacing:var(--wcss-accent-lg-letter-spacing, 0.05em);text-transform:uppercase}.accent-md{font-family:var(--wcss-accent-md-family, "Good OT"),var(--wcss-accent-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-md-weight, 500);line-height:var(--wcss-accent-md-line-height, 1.3);font-size:var(--wcss-accent-md-font-size, clamp(1.375rem, 1.8333333333vw, 1.5rem));letter-spacing:var(--wcss-accent-md-letter-spacing, 0.05em);text-transform:uppercase}.accent-sm{font-family:var(--wcss-accent-sm-family, "Good OT"),var(--wcss-accent-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-sm-weight, 500);line-height:var(--wcss-accent-sm-line-height, 1.3);font-size:var(--wcss-accent-sm-font-size, clamp(1.125rem, 1.5vw, 1.25rem));letter-spacing:var(--wcss-accent-sm-letter-spacing, 0.05em);text-transform:uppercase}.accent-xs{font-family:var(--wcss-accent-xs-family, "Good OT"),var(--wcss-accent-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-xs-weight, 500);line-height:var(--wcss-accent-xs-line-height, 1.3);font-size:var(--wcss-accent-xs-font-size, clamp(1rem, 1.3333333333vw, 1rem));letter-spacing:var(--wcss-accent-xs-letter-spacing, 0.1em);text-transform:uppercase}.accent-2xs{font-family:var(--wcss-accent-2xs-family, "Good OT"),var(--wcss-accent-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-2xs-weight, 450);line-height:var(--wcss-accent-2xs-line-height, 1.3);font-size:var(--wcss-accent-2xs-font-size, clamp(0.875rem, 1.1666666667vw, 0.875rem));letter-spacing:var(--wcss-accent-2xs-letter-spacing, 0.1em);text-transform:uppercase}:host{position:relative;display:block;width:calc(100% - var(--ds-size-200, 1rem) - var(--ds-size-200, 1rem));margin:0 var(--ds-size-200, 1rem)}@media screen and (min-width: 576px){:host{width:336px;padding:var(--ds-size-200, 1rem)}}@media screen and (min-width: 576px){:host(:not(:last-of-type)):after{position:absolute;top:var(--ds-size-200, 1rem);right:calc(-1*var(--ds-size-200, 1rem));height:calc(100% - var(--ds-size-200, 1rem) - var(--ds-size-200, 1rem));display:block;width:1px;content:""}}.header{display:flex;height:var(--ds-size-500, 2.5rem);margin-bottom:var(--ds-size-150, 0.75rem);align-items:center;flex-direction:row;text-align:center}.headerTitle{display:flex;align-items:center;flex:1;flex-direction:row;justify-content:center}.headerTitle div:first-child{margin-right:var(--ds-size-100, 0.5rem)}.calendarNavBtn{position:relative;display:flex;width:var(--ds-size-500, 2.5rem);height:var(--ds-size-500, 2.5rem);align-items:center;justify-content:center;border-width:1px;border-style:solid;border-radius:50%;cursor:pointer}.table{width:100%;border-collapse:collapse}.thead{margin-bottom:var(--ds-size-100, 0.5rem)}.th{display:flex;flex:1;align-items:center;justify-content:center}.tbody{width:100%;transition:all 0ms;transform:translateX(0)}@media screen and (min-width: 576px){.tbody{height:384px}}.td{flex:1;margin:0;padding:0}.tr{display:flex;flex-direction:row;width:100%}`;
9521
-
9522
- var colorCss$6$1 = i$7`:focus:not(:focus-visible){outline:3px solid transparent}:host{background-color:var(--ds-auro-calendar-month-container-color)}@media screen and (min-width: 576px){:host(:not(:last-of-type)):after{background-color:var(--ds-auro-calendar-month-divider-color)}}.header{color:var(--ds-auro-calendar-month-header-color)}`;
9523
-
9524
- /******************************************************************************
9525
- Copyright (c) Microsoft Corporation.
9526
-
9527
- Permission to use, copy, modify, and/or distribute this software for any
9528
- purpose with or without fee is hereby granted.
9529
-
9530
- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
9531
- REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
9532
- AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
9533
- INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
9534
- LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
9535
- OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
9536
- PERFORMANCE OF THIS SOFTWARE.
9537
- ***************************************************************************** */
9538
- /* global Reflect, Promise, SuppressedError, Symbol, Iterator */
9539
-
9540
-
9541
- function __decorate(decorators, target, key, desc) {
9542
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
9543
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
9544
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
9545
- return c > 3 && r && Object.defineProperty(target, key, r), r;
9546
- }
9547
-
9548
- typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
9549
- var e = new Error(message);
9550
- return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
9551
- };
9552
-
9553
9515
  /**
9554
9516
  * @module constants
9555
9517
  * @summary Useful constants
@@ -15304,6 +15266,43 @@ function subYears(date, amount, options) {
15304
15266
  return addYears(date, -1, options);
15305
15267
  }
15306
15268
 
15269
+ var styleCss$7$1 = i$7`.body-default{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-default-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-default-font-size, 1rem);line-height:var(--wcss-body-default-line-height, 1.5rem)}.body-default-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-default-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-default-emphasized-font-size, 1rem);line-height:var(--wcss-body-default-emphasized-line-height, 1.5rem)}.body-lg{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-lg-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-lg-font-size, 1.125rem);line-height:var(--wcss-body-lg-line-height, 1.625rem)}.body-lg-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-lg-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-lg-emphasized-font-size, 1.125rem);line-height:var(--wcss-body-lg-emphasized-line-height, 1.625rem)}.body-sm{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-sm-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-sm-font-size, 0.875rem);line-height:var(--wcss-body-sm-line-height, 1.25rem)}.body-sm-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-sm-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-sm-emphasized-font-size, 0.875rem);line-height:var(--wcss-body-sm-emphasized-line-height, 1.25rem)}.body-xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-xs-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-xs-font-size, 0.75rem);line-height:var(--wcss-body-xs-line-height, 1rem)}.body-xs-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-xs-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-xs-emphasized-font-size, 0.75rem);line-height:var(--wcss-body-xs-emphasized-line-height, 1rem)}.body-2xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-2xs-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-2xs-font-size, 0.625rem);line-height:var(--wcss-body-2xs-line-height, 0.875rem)}.body-2xs-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-2xs-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-2xs-emphasized-font-size, 0.625rem);line-height:var(--wcss-body-2xs-emphasized-line-height, 0.875rem)}.display-2xl{font-family:var(--wcss-display-2xl-family, "AS Circular"),var(--wcss-display-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-2xl-weight, 300);line-height:var(--wcss-display-2xl-line-height, 1.3);font-size:var(--wcss-display-2xl-font-size, clamp(3.5rem, 6vw, 5.375rem));letter-spacing:var(--wcss-display-2xl-letter-spacing, 0)}.display-xl{font-family:var(--wcss-display-xl-family, "AS Circular"),var(--wcss-display-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-xl-weight, 300);line-height:var(--wcss-display-xl-line-height, 1.3);font-size:var(--wcss-display-xl-font-size, clamp(3rem, 5.3333333333vw, 4.5rem));letter-spacing:var(--wcss-display-xl-letter-spacing, 0)}.display-lg{font-family:var(--wcss-display-lg-family, "AS Circular"),var(--wcss-display-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-lg-weight, 300);line-height:var(--wcss-display-lg-line-height, 1.3);font-size:var(--wcss-display-lg-font-size, clamp(2.75rem, 4.6666666667vw, 4rem));letter-spacing:var(--wcss-display-lg-letter-spacing, 0)}.display-md{font-family:var(--wcss-display-md-family, "AS Circular"),var(--wcss-display-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-md-weight, 300);line-height:var(--wcss-display-md-line-height, 1.3);font-size:var(--wcss-display-md-font-size, clamp(2.5rem, 4vw, 3.5rem));letter-spacing:var(--wcss-display-md-letter-spacing, 0)}.display-sm{font-family:var(--wcss-display-sm-family, "AS Circular"),var(--wcss-display-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-sm-weight, 300);line-height:var(--wcss-display-sm-line-height, 1.3);font-size:var(--wcss-display-sm-font-size, clamp(2rem, 3.6666666667vw, 3rem));letter-spacing:var(--wcss-display-sm-letter-spacing, 0)}.display-xs{font-family:var(--wcss-display-xs-family, "AS Circular"),var(--wcss-display-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-xs-weight, 300);line-height:var(--wcss-display-xs-line-height, 1.3);font-size:var(--wcss-display-xs-font-size, clamp(1.75rem, 3vw, 2.375rem));letter-spacing:var(--wcss-display-xs-letter-spacing, 0)}.heading-xl{font-family:var(--wcss-heading-xl-family, "AS Circular"),var(--wcss-heading-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-xl-weight, 300);line-height:var(--wcss-heading-xl-line-height, 1.3);font-size:var(--wcss-heading-xl-font-size, clamp(2rem, 3vw, 2.5rem));letter-spacing:var(--wcss-heading-xl-letter-spacing, 0)}.heading-lg{font-family:var(--wcss-heading-lg-family, "AS Circular"),var(--wcss-heading-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-lg-weight, 300);line-height:var(--wcss-heading-lg-line-height, 1.3);font-size:var(--wcss-heading-lg-font-size, clamp(1.75rem, 2.6666666667vw, 2.25rem));letter-spacing:var(--wcss-heading-lg-letter-spacing, 0)}.heading-md{font-family:var(--wcss-heading-md-family, "AS Circular"),var(--wcss-heading-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-md-weight, 300);line-height:var(--wcss-heading-md-line-height, 1.3);font-size:var(--wcss-heading-md-font-size, clamp(1.625rem, 2.3333333333vw, 1.75rem));letter-spacing:var(--wcss-heading-md-letter-spacing, 0)}.heading-sm{font-family:var(--wcss-heading-sm-family, "AS Circular"),var(--wcss-heading-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-sm-weight, 300);line-height:var(--wcss-heading-sm-line-height, 1.3);font-size:var(--wcss-heading-sm-font-size, clamp(1.375rem, 2vw, 1.5rem));letter-spacing:var(--wcss-heading-sm-letter-spacing, 0)}.heading-xs{font-family:var(--wcss-heading-xs-family, "AS Circular"),var(--wcss-heading-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-xs-weight, 300);line-height:var(--wcss-heading-xs-line-height, 1.3);font-size:var(--wcss-heading-xs-font-size, clamp(1.25rem, 1.6666666667vw, 1.25rem));letter-spacing:var(--wcss-heading-xs-letter-spacing, 0)}.heading-2xs{font-family:var(--wcss-heading-2xs-family, "AS Circular"),var(--wcss-heading-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-2xs-weight, 300);line-height:var(--wcss-heading-2xs-line-height, 1.3);font-size:var(--wcss-heading-2xs-font-size, clamp(1.125rem, 1.5vw, 1.125rem));letter-spacing:var(--wcss-heading-2xs-letter-spacing, 0)}.accent-2xl{font-family:var(--wcss-accent-2xl-family, "Good OT"),var(--wcss-accent-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-2xl-weight, 450);line-height:var(--wcss-accent-2xl-line-height, 1);font-size:var(--wcss-accent-2xl-font-size, clamp(2rem, 3.1666666667vw, 2.375rem));letter-spacing:var(--wcss-accent-2xl-letter-spacing, 0.05em);text-transform:uppercase}.accent-xl{font-family:var(--wcss-accent-xl-family, "Good OT"),var(--wcss-accent-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-xl-weight, 450);line-height:var(--wcss-accent-xl-line-height, 1.3);font-size:var(--wcss-accent-xl-font-size, clamp(1.625rem, 2.3333333333vw, 2rem));letter-spacing:var(--wcss-accent-xl-letter-spacing, 0.05em);text-transform:uppercase}.accent-lg{font-family:var(--wcss-accent-lg-family, "Good OT"),var(--wcss-accent-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-lg-weight, 450);line-height:var(--wcss-accent-lg-line-height, 1.3);font-size:var(--wcss-accent-lg-font-size, clamp(1.5rem, 2.1666666667vw, 1.75rem));letter-spacing:var(--wcss-accent-lg-letter-spacing, 0.05em);text-transform:uppercase}.accent-md{font-family:var(--wcss-accent-md-family, "Good OT"),var(--wcss-accent-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-md-weight, 500);line-height:var(--wcss-accent-md-line-height, 1.3);font-size:var(--wcss-accent-md-font-size, clamp(1.375rem, 1.8333333333vw, 1.5rem));letter-spacing:var(--wcss-accent-md-letter-spacing, 0.05em);text-transform:uppercase}.accent-sm{font-family:var(--wcss-accent-sm-family, "Good OT"),var(--wcss-accent-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-sm-weight, 500);line-height:var(--wcss-accent-sm-line-height, 1.3);font-size:var(--wcss-accent-sm-font-size, clamp(1.125rem, 1.5vw, 1.25rem));letter-spacing:var(--wcss-accent-sm-letter-spacing, 0.05em);text-transform:uppercase}.accent-xs{font-family:var(--wcss-accent-xs-family, "Good OT"),var(--wcss-accent-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-xs-weight, 500);line-height:var(--wcss-accent-xs-line-height, 1.3);font-size:var(--wcss-accent-xs-font-size, clamp(1rem, 1.3333333333vw, 1rem));letter-spacing:var(--wcss-accent-xs-letter-spacing, 0.1em);text-transform:uppercase}.accent-2xs{font-family:var(--wcss-accent-2xs-family, "Good OT"),var(--wcss-accent-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-2xs-weight, 450);line-height:var(--wcss-accent-2xs-line-height, 1.3);font-size:var(--wcss-accent-2xs-font-size, clamp(0.875rem, 1.1666666667vw, 0.875rem));letter-spacing:var(--wcss-accent-2xs-letter-spacing, 0.1em);text-transform:uppercase}:host{--calendar-width: 336px;--mobile-footer-height: 150px;--mobile-header-height: 68px;--desktop-footer-height: 80px;height:100vh;height:100dvh}.calendars{display:flex;flex-direction:row}.calendars:focus{outline:none}.calendarNavButtons{position:absolute;z-index:1;top:var(--ds-size-200, 1rem);right:var(--ds-size-50, 0.25rem);left:var(--ds-size-50, 0.25rem)}.calendarNavBtn{display:flex;width:var(--ds-size-500, 2.5rem);height:var(--ds-size-500, 2.5rem);align-items:center;justify-content:center;border-width:1px;border-style:solid;border-radius:50%;cursor:pointer}.prevMonth,.nextMonth{position:absolute;top:0}.prevMonth{left:0}.nextMonth{right:0}.headerActions{padding:0 var(--ds-size-200, 1rem)}.mobileHeader{width:100%;height:var(--mobile-header-height);z-index:1;align-items:center;flex-direction:row}.headerDateFrom,.headerDateTo{display:flex;height:var(--mobile-header-height);flex:1;flex-direction:column;justify-content:center;padding:0 var(--ds-size-150, 0.75rem) 0 var(--ds-size-200, 1rem)}.mobileDateLabel{padding:var(--ds-size-25, 0.125rem) 0}.mobileFooter{display:none;width:100%;align-items:flex-end;flex-direction:column;justify-content:flex-end}.mobileFooterActions{position:relative;bottom:0;left:50%;display:none;width:calc(100% - var(--ds-size-200, 1rem)*2);align-items:flex-end;flex-direction:column;justify-content:flex-end;padding:var(--ds-size-150) calc(var(--ds-size-200, 1rem));transform:translateX(-50%)}.mobileFooterActions auro-button{width:100%}.calendarWrapper.hasFooter{padding-bottom:var(--desktop-footer-height)}:host([isfullscreen]){width:100%;max-height:100dvh;overflow:hidden}:host([isfullscreen]) .prevMonth,:host([isfullscreen]) .nextMonth{display:none}:host([isfullscreen]) .mobileHeader,:host([isfullscreen]) .mobileFooter,:host([isfullscreen]) .mobileFooterActions{display:flex}:host([isfullscreen]) .calendarWrapper{display:flex;flex-direction:column}:host([isfullscreen]) .calendars{display:flex;flex-direction:column;flex:1;align-items:center;width:100%;overscroll-behavior:contain}:host([isfullscreen]) .calendars:after{display:block;width:100%;height:var(--mobile-footer-height);content:""}.sr-only{position:absolute;overflow:hidden;clip:rect(0, 0, 0, 0);width:1px;height:1px;margin:-1px;padding:0;border:0;white-space:nowrap}`;
15270
+
15271
+ var colorCss$7$1 = i$7`.calendarNavBtn{border-color:var(--ds-auro-calendar-nav-btn-border-color);background-color:var(--ds-auro-calendar-nav-btn-container-color);color:var(--ds-auro-calendar-nav-btn-chevron-color)}.calendarNavBtn:hover{--ds-auro-calendar-nav-btn-container-color: var(--ds-advanced-color-state-background-hover, #f2f2f2);--ds-auro-calendar-nav-btn-border-color: var(--ds-basic-color-brand-primary, #01426a)}.calendarNavBtn:focus{--ds-auro-calendar-nav-btn-border-color: var(--ds-basic-color-brand-primary, #01426a)}.calendarNavBtn:active{--ds-auro-calendar-nav-btn-border-color: var(--ds-basic-color-brand-primary, #01426a);box-shadow:inset 0 0 0 1px var(--ds-auro-calendar-nav-btn-border-color)}.mobileHeader{background-color:var(--ds-auro-calendar-mobile-header-container-color)}.mobileDateLabel{color:var(--ds-auro-calendar-mobile-header-text-color)}:host(:not([noRange])) .headerDateTo:after{background-color:var(--ds-auro-calendar-mobile-header-divider-color)}::slotted([slot="bib.fullscreen.fromStr"]),::slotted([slot=mobileDateToStr]){color:var(--ds-auro-datepicker-placeholder-color)}@media screen and (max-width: 576px){.calendarNavBtn{--ds-auro-calendar-nav-btn-border-color: var(--ds-basic-color-brand-primary, #01426a)}}`;
15272
+
15273
+ var styleCss$6$1 = i$7`:focus:not(:focus-visible){outline:3px solid transparent}.body-default{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-default-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-default-font-size, 1rem);line-height:var(--wcss-body-default-line-height, 1.5rem)}.body-default-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-default-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-default-emphasized-font-size, 1rem);line-height:var(--wcss-body-default-emphasized-line-height, 1.5rem)}.body-lg{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-lg-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-lg-font-size, 1.125rem);line-height:var(--wcss-body-lg-line-height, 1.625rem)}.body-lg-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-lg-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-lg-emphasized-font-size, 1.125rem);line-height:var(--wcss-body-lg-emphasized-line-height, 1.625rem)}.body-sm{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-sm-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-sm-font-size, 0.875rem);line-height:var(--wcss-body-sm-line-height, 1.25rem)}.body-sm-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-sm-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-sm-emphasized-font-size, 0.875rem);line-height:var(--wcss-body-sm-emphasized-line-height, 1.25rem)}.body-xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-xs-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-xs-font-size, 0.75rem);line-height:var(--wcss-body-xs-line-height, 1rem)}.body-xs-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-xs-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-xs-emphasized-font-size, 0.75rem);line-height:var(--wcss-body-xs-emphasized-line-height, 1rem)}.body-2xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-2xs-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-2xs-font-size, 0.625rem);line-height:var(--wcss-body-2xs-line-height, 0.875rem)}.body-2xs-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-2xs-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-2xs-emphasized-font-size, 0.625rem);line-height:var(--wcss-body-2xs-emphasized-line-height, 0.875rem)}.display-2xl{font-family:var(--wcss-display-2xl-family, "AS Circular"),var(--wcss-display-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-2xl-weight, 300);line-height:var(--wcss-display-2xl-line-height, 1.3);font-size:var(--wcss-display-2xl-font-size, clamp(3.5rem, 6vw, 5.375rem));letter-spacing:var(--wcss-display-2xl-letter-spacing, 0)}.display-xl{font-family:var(--wcss-display-xl-family, "AS Circular"),var(--wcss-display-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-xl-weight, 300);line-height:var(--wcss-display-xl-line-height, 1.3);font-size:var(--wcss-display-xl-font-size, clamp(3rem, 5.3333333333vw, 4.5rem));letter-spacing:var(--wcss-display-xl-letter-spacing, 0)}.display-lg{font-family:var(--wcss-display-lg-family, "AS Circular"),var(--wcss-display-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-lg-weight, 300);line-height:var(--wcss-display-lg-line-height, 1.3);font-size:var(--wcss-display-lg-font-size, clamp(2.75rem, 4.6666666667vw, 4rem));letter-spacing:var(--wcss-display-lg-letter-spacing, 0)}.display-md{font-family:var(--wcss-display-md-family, "AS Circular"),var(--wcss-display-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-md-weight, 300);line-height:var(--wcss-display-md-line-height, 1.3);font-size:var(--wcss-display-md-font-size, clamp(2.5rem, 4vw, 3.5rem));letter-spacing:var(--wcss-display-md-letter-spacing, 0)}.display-sm{font-family:var(--wcss-display-sm-family, "AS Circular"),var(--wcss-display-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-sm-weight, 300);line-height:var(--wcss-display-sm-line-height, 1.3);font-size:var(--wcss-display-sm-font-size, clamp(2rem, 3.6666666667vw, 3rem));letter-spacing:var(--wcss-display-sm-letter-spacing, 0)}.display-xs{font-family:var(--wcss-display-xs-family, "AS Circular"),var(--wcss-display-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-xs-weight, 300);line-height:var(--wcss-display-xs-line-height, 1.3);font-size:var(--wcss-display-xs-font-size, clamp(1.75rem, 3vw, 2.375rem));letter-spacing:var(--wcss-display-xs-letter-spacing, 0)}.heading-xl{font-family:var(--wcss-heading-xl-family, "AS Circular"),var(--wcss-heading-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-xl-weight, 300);line-height:var(--wcss-heading-xl-line-height, 1.3);font-size:var(--wcss-heading-xl-font-size, clamp(2rem, 3vw, 2.5rem));letter-spacing:var(--wcss-heading-xl-letter-spacing, 0)}.heading-lg{font-family:var(--wcss-heading-lg-family, "AS Circular"),var(--wcss-heading-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-lg-weight, 300);line-height:var(--wcss-heading-lg-line-height, 1.3);font-size:var(--wcss-heading-lg-font-size, clamp(1.75rem, 2.6666666667vw, 2.25rem));letter-spacing:var(--wcss-heading-lg-letter-spacing, 0)}.heading-md{font-family:var(--wcss-heading-md-family, "AS Circular"),var(--wcss-heading-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-md-weight, 300);line-height:var(--wcss-heading-md-line-height, 1.3);font-size:var(--wcss-heading-md-font-size, clamp(1.625rem, 2.3333333333vw, 1.75rem));letter-spacing:var(--wcss-heading-md-letter-spacing, 0)}.heading-sm{font-family:var(--wcss-heading-sm-family, "AS Circular"),var(--wcss-heading-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-sm-weight, 300);line-height:var(--wcss-heading-sm-line-height, 1.3);font-size:var(--wcss-heading-sm-font-size, clamp(1.375rem, 2vw, 1.5rem));letter-spacing:var(--wcss-heading-sm-letter-spacing, 0)}.heading-xs{font-family:var(--wcss-heading-xs-family, "AS Circular"),var(--wcss-heading-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-xs-weight, 300);line-height:var(--wcss-heading-xs-line-height, 1.3);font-size:var(--wcss-heading-xs-font-size, clamp(1.25rem, 1.6666666667vw, 1.25rem));letter-spacing:var(--wcss-heading-xs-letter-spacing, 0)}.heading-2xs{font-family:var(--wcss-heading-2xs-family, "AS Circular"),var(--wcss-heading-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-2xs-weight, 300);line-height:var(--wcss-heading-2xs-line-height, 1.3);font-size:var(--wcss-heading-2xs-font-size, clamp(1.125rem, 1.5vw, 1.125rem));letter-spacing:var(--wcss-heading-2xs-letter-spacing, 0)}.accent-2xl{font-family:var(--wcss-accent-2xl-family, "Good OT"),var(--wcss-accent-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-2xl-weight, 450);line-height:var(--wcss-accent-2xl-line-height, 1);font-size:var(--wcss-accent-2xl-font-size, clamp(2rem, 3.1666666667vw, 2.375rem));letter-spacing:var(--wcss-accent-2xl-letter-spacing, 0.05em);text-transform:uppercase}.accent-xl{font-family:var(--wcss-accent-xl-family, "Good OT"),var(--wcss-accent-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-xl-weight, 450);line-height:var(--wcss-accent-xl-line-height, 1.3);font-size:var(--wcss-accent-xl-font-size, clamp(1.625rem, 2.3333333333vw, 2rem));letter-spacing:var(--wcss-accent-xl-letter-spacing, 0.05em);text-transform:uppercase}.accent-lg{font-family:var(--wcss-accent-lg-family, "Good OT"),var(--wcss-accent-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-lg-weight, 450);line-height:var(--wcss-accent-lg-line-height, 1.3);font-size:var(--wcss-accent-lg-font-size, clamp(1.5rem, 2.1666666667vw, 1.75rem));letter-spacing:var(--wcss-accent-lg-letter-spacing, 0.05em);text-transform:uppercase}.accent-md{font-family:var(--wcss-accent-md-family, "Good OT"),var(--wcss-accent-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-md-weight, 500);line-height:var(--wcss-accent-md-line-height, 1.3);font-size:var(--wcss-accent-md-font-size, clamp(1.375rem, 1.8333333333vw, 1.5rem));letter-spacing:var(--wcss-accent-md-letter-spacing, 0.05em);text-transform:uppercase}.accent-sm{font-family:var(--wcss-accent-sm-family, "Good OT"),var(--wcss-accent-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-sm-weight, 500);line-height:var(--wcss-accent-sm-line-height, 1.3);font-size:var(--wcss-accent-sm-font-size, clamp(1.125rem, 1.5vw, 1.25rem));letter-spacing:var(--wcss-accent-sm-letter-spacing, 0.05em);text-transform:uppercase}.accent-xs{font-family:var(--wcss-accent-xs-family, "Good OT"),var(--wcss-accent-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-xs-weight, 500);line-height:var(--wcss-accent-xs-line-height, 1.3);font-size:var(--wcss-accent-xs-font-size, clamp(1rem, 1.3333333333vw, 1rem));letter-spacing:var(--wcss-accent-xs-letter-spacing, 0.1em);text-transform:uppercase}.accent-2xs{font-family:var(--wcss-accent-2xs-family, "Good OT"),var(--wcss-accent-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-2xs-weight, 450);line-height:var(--wcss-accent-2xs-line-height, 1.3);font-size:var(--wcss-accent-2xs-font-size, clamp(0.875rem, 1.1666666667vw, 0.875rem));letter-spacing:var(--wcss-accent-2xs-letter-spacing, 0.1em);text-transform:uppercase}:host{position:relative;display:block;width:calc(100% - var(--ds-size-200, 1rem) - var(--ds-size-200, 1rem));margin:0 var(--ds-size-200, 1rem)}@media screen and (min-width: 576px){:host{width:336px;padding:var(--ds-size-200, 1rem)}}@media screen and (min-width: 576px){:host(:not(:last-of-type)):after{position:absolute;top:var(--ds-size-200, 1rem);right:calc(-1*var(--ds-size-200, 1rem));height:calc(100% - var(--ds-size-200, 1rem) - var(--ds-size-200, 1rem));display:block;width:1px;content:""}}.header{display:flex;height:var(--ds-size-500, 2.5rem);margin-bottom:var(--ds-size-150, 0.75rem);align-items:center;flex-direction:row;text-align:center}.headerTitle{display:flex;align-items:center;flex:1;flex-direction:row;justify-content:center}.headerTitle div:first-child{margin-right:var(--ds-size-100, 0.5rem)}.calendarNavBtn{position:relative;display:flex;width:var(--ds-size-500, 2.5rem);height:var(--ds-size-500, 2.5rem);align-items:center;justify-content:center;border-width:1px;border-style:solid;border-radius:50%;cursor:pointer}.table{width:100%;border-collapse:collapse}.thead{margin-bottom:var(--ds-size-100, 0.5rem)}.th{display:flex;flex:1;align-items:center;justify-content:center}.th abbr{text-decoration:none}.tbody{width:100%;transition:all 0ms;transform:translateX(0)}@media screen and (min-width: 576px){.tbody{height:384px}}.td{flex:1;margin:0;padding:0}.tr{display:flex;flex-direction:row;width:100%}`;
15274
+
15275
+ var colorCss$6$1 = i$7`:focus:not(:focus-visible){outline:3px solid transparent}:host{background-color:var(--ds-auro-calendar-month-container-color)}@media screen and (min-width: 576px){:host(:not(:last-of-type)):after{background-color:var(--ds-auro-calendar-month-divider-color)}}.header{color:var(--ds-auro-calendar-month-header-color)}`;
15276
+
15277
+ /******************************************************************************
15278
+ Copyright (c) Microsoft Corporation.
15279
+
15280
+ Permission to use, copy, modify, and/or distribute this software for any
15281
+ purpose with or without fee is hereby granted.
15282
+
15283
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
15284
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
15285
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
15286
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
15287
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
15288
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
15289
+ PERFORMANCE OF THIS SOFTWARE.
15290
+ ***************************************************************************** */
15291
+ /* global Reflect, Promise, SuppressedError, Symbol, Iterator */
15292
+
15293
+
15294
+ function __decorate(decorators, target, key, desc) {
15295
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
15296
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
15297
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
15298
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
15299
+ }
15300
+
15301
+ typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
15302
+ var e = new Error(message);
15303
+ return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
15304
+ };
15305
+
15307
15306
  class RangeDatepickerCell extends i$4 {
15308
15307
  constructor() {
15309
15308
  super(...arguments);
@@ -16026,20 +16025,25 @@ __decorate([n$5({ type: Array })], RangeDatepickerCalendar.prototype, "dayNamesO
16026
16025
  __decorate([n$5({ type: Array })], RangeDatepickerCalendar.prototype, "daysOfMonth", void 0);
16027
16026
  AuroLibraryRuntimeUtils$5$1.prototype.registerComponent('wc-range-datepicker-calendar', RangeDatepickerCalendar);
16028
16027
 
16029
- var styleCss$5$1 = i$7`.body-default{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-default-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-default-font-size, 1rem);line-height:var(--wcss-body-default-line-height, 1.5rem)}.body-default-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-default-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-default-emphasized-font-size, 1rem);line-height:var(--wcss-body-default-emphasized-line-height, 1.5rem)}.body-lg{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-lg-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-lg-font-size, 1.125rem);line-height:var(--wcss-body-lg-line-height, 1.625rem)}.body-lg-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-lg-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-lg-emphasized-font-size, 1.125rem);line-height:var(--wcss-body-lg-emphasized-line-height, 1.625rem)}.body-sm{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-sm-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-sm-font-size, 0.875rem);line-height:var(--wcss-body-sm-line-height, 1.25rem)}.body-sm-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-sm-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-sm-emphasized-font-size, 0.875rem);line-height:var(--wcss-body-sm-emphasized-line-height, 1.25rem)}.body-xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-xs-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-xs-font-size, 0.75rem);line-height:var(--wcss-body-xs-line-height, 1rem)}.body-xs-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-xs-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-xs-emphasized-font-size, 0.75rem);line-height:var(--wcss-body-xs-emphasized-line-height, 1rem)}.body-2xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-2xs-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-2xs-font-size, 0.625rem);line-height:var(--wcss-body-2xs-line-height, 0.875rem)}.body-2xs-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-2xs-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-2xs-emphasized-font-size, 0.625rem);line-height:var(--wcss-body-2xs-emphasized-line-height, 0.875rem)}.display-2xl{font-family:var(--wcss-display-2xl-family, "AS Circular"),var(--wcss-display-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-2xl-weight, 300);line-height:var(--wcss-display-2xl-line-height, 1.3);font-size:var(--wcss-display-2xl-font-size, clamp(3.5rem, 6vw, 5.375rem));letter-spacing:var(--wcss-display-2xl-letter-spacing, 0)}.display-xl{font-family:var(--wcss-display-xl-family, "AS Circular"),var(--wcss-display-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-xl-weight, 300);line-height:var(--wcss-display-xl-line-height, 1.3);font-size:var(--wcss-display-xl-font-size, clamp(3rem, 5.3333333333vw, 4.5rem));letter-spacing:var(--wcss-display-xl-letter-spacing, 0)}.display-lg{font-family:var(--wcss-display-lg-family, "AS Circular"),var(--wcss-display-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-lg-weight, 300);line-height:var(--wcss-display-lg-line-height, 1.3);font-size:var(--wcss-display-lg-font-size, clamp(2.75rem, 4.6666666667vw, 4rem));letter-spacing:var(--wcss-display-lg-letter-spacing, 0)}.display-md{font-family:var(--wcss-display-md-family, "AS Circular"),var(--wcss-display-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-md-weight, 300);line-height:var(--wcss-display-md-line-height, 1.3);font-size:var(--wcss-display-md-font-size, clamp(2.5rem, 4vw, 3.5rem));letter-spacing:var(--wcss-display-md-letter-spacing, 0)}.display-sm{font-family:var(--wcss-display-sm-family, "AS Circular"),var(--wcss-display-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-sm-weight, 300);line-height:var(--wcss-display-sm-line-height, 1.3);font-size:var(--wcss-display-sm-font-size, clamp(2rem, 3.6666666667vw, 3rem));letter-spacing:var(--wcss-display-sm-letter-spacing, 0)}.display-xs{font-family:var(--wcss-display-xs-family, "AS Circular"),var(--wcss-display-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-xs-weight, 300);line-height:var(--wcss-display-xs-line-height, 1.3);font-size:var(--wcss-display-xs-font-size, clamp(1.75rem, 3vw, 2.375rem));letter-spacing:var(--wcss-display-xs-letter-spacing, 0)}.heading-xl{font-family:var(--wcss-heading-xl-family, "AS Circular"),var(--wcss-heading-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-xl-weight, 300);line-height:var(--wcss-heading-xl-line-height, 1.3);font-size:var(--wcss-heading-xl-font-size, clamp(2rem, 3vw, 2.5rem));letter-spacing:var(--wcss-heading-xl-letter-spacing, 0)}.heading-lg{font-family:var(--wcss-heading-lg-family, "AS Circular"),var(--wcss-heading-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-lg-weight, 300);line-height:var(--wcss-heading-lg-line-height, 1.3);font-size:var(--wcss-heading-lg-font-size, clamp(1.75rem, 2.6666666667vw, 2.25rem));letter-spacing:var(--wcss-heading-lg-letter-spacing, 0)}.heading-md{font-family:var(--wcss-heading-md-family, "AS Circular"),var(--wcss-heading-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-md-weight, 300);line-height:var(--wcss-heading-md-line-height, 1.3);font-size:var(--wcss-heading-md-font-size, clamp(1.625rem, 2.3333333333vw, 1.75rem));letter-spacing:var(--wcss-heading-md-letter-spacing, 0)}.heading-sm{font-family:var(--wcss-heading-sm-family, "AS Circular"),var(--wcss-heading-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-sm-weight, 300);line-height:var(--wcss-heading-sm-line-height, 1.3);font-size:var(--wcss-heading-sm-font-size, clamp(1.375rem, 2vw, 1.5rem));letter-spacing:var(--wcss-heading-sm-letter-spacing, 0)}.heading-xs{font-family:var(--wcss-heading-xs-family, "AS Circular"),var(--wcss-heading-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-xs-weight, 300);line-height:var(--wcss-heading-xs-line-height, 1.3);font-size:var(--wcss-heading-xs-font-size, clamp(1.25rem, 1.6666666667vw, 1.25rem));letter-spacing:var(--wcss-heading-xs-letter-spacing, 0)}.heading-2xs{font-family:var(--wcss-heading-2xs-family, "AS Circular"),var(--wcss-heading-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-2xs-weight, 300);line-height:var(--wcss-heading-2xs-line-height, 1.3);font-size:var(--wcss-heading-2xs-font-size, clamp(1.125rem, 1.5vw, 1.125rem));letter-spacing:var(--wcss-heading-2xs-letter-spacing, 0)}.accent-2xl{font-family:var(--wcss-accent-2xl-family, "Good OT"),var(--wcss-accent-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-2xl-weight, 450);line-height:var(--wcss-accent-2xl-line-height, 1);font-size:var(--wcss-accent-2xl-font-size, clamp(2rem, 3.1666666667vw, 2.375rem));letter-spacing:var(--wcss-accent-2xl-letter-spacing, 0.05em);text-transform:uppercase}.accent-xl{font-family:var(--wcss-accent-xl-family, "Good OT"),var(--wcss-accent-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-xl-weight, 450);line-height:var(--wcss-accent-xl-line-height, 1.3);font-size:var(--wcss-accent-xl-font-size, clamp(1.625rem, 2.3333333333vw, 2rem));letter-spacing:var(--wcss-accent-xl-letter-spacing, 0.05em);text-transform:uppercase}.accent-lg{font-family:var(--wcss-accent-lg-family, "Good OT"),var(--wcss-accent-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-lg-weight, 450);line-height:var(--wcss-accent-lg-line-height, 1.3);font-size:var(--wcss-accent-lg-font-size, clamp(1.5rem, 2.1666666667vw, 1.75rem));letter-spacing:var(--wcss-accent-lg-letter-spacing, 0.05em);text-transform:uppercase}.accent-md{font-family:var(--wcss-accent-md-family, "Good OT"),var(--wcss-accent-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-md-weight, 500);line-height:var(--wcss-accent-md-line-height, 1.3);font-size:var(--wcss-accent-md-font-size, clamp(1.375rem, 1.8333333333vw, 1.5rem));letter-spacing:var(--wcss-accent-md-letter-spacing, 0.05em);text-transform:uppercase}.accent-sm{font-family:var(--wcss-accent-sm-family, "Good OT"),var(--wcss-accent-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-sm-weight, 500);line-height:var(--wcss-accent-sm-line-height, 1.3);font-size:var(--wcss-accent-sm-font-size, clamp(1.125rem, 1.5vw, 1.25rem));letter-spacing:var(--wcss-accent-sm-letter-spacing, 0.05em);text-transform:uppercase}.accent-xs{font-family:var(--wcss-accent-xs-family, "Good OT"),var(--wcss-accent-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-xs-weight, 500);line-height:var(--wcss-accent-xs-line-height, 1.3);font-size:var(--wcss-accent-xs-font-size, clamp(1rem, 1.3333333333vw, 1rem));letter-spacing:var(--wcss-accent-xs-letter-spacing, 0.1em);text-transform:uppercase}.accent-2xs{font-family:var(--wcss-accent-2xs-family, "Good OT"),var(--wcss-accent-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-2xs-weight, 450);line-height:var(--wcss-accent-2xs-line-height, 1.3);font-size:var(--wcss-accent-2xs-font-size, clamp(0.875rem, 1.1666666667vw, 0.875rem));letter-spacing:var(--wcss-accent-2xs-letter-spacing, 0.1em);text-transform:uppercase}@media screen and (max-width: 576px){:host{display:flex;justify-content:center}}.day{position:relative;width:var(--ds-size-500, 2.5rem);height:calc(var(--ds-size-700, 3.5rem) - 2px);padding:0;border-width:1px;border-style:solid;border-radius:var(--ds-size-300, 1.5rem);cursor:pointer;user-select:none}.day.disabled{cursor:default !important;pointer-events:none}.day.reference{box-shadow:inset 0 0 0 2px var(--ds-advanced-color-shared-background, #ffffff)}.day.inRange::before{position:absolute;z-index:-1;top:50%;left:50%;display:block;width:14.2857142857vw;height:var(--ds-size-600, 3rem);content:"";transform:translate(-50%, -50%)}@media screen and (min-width: 576px){.day.inRange::before{width:var(--ds-size-600, 3rem)}}.day.rangeDepartDate::before{position:absolute;z-index:-1;top:50%;left:50%;display:block;width:14.2857142857vw;height:var(--ds-size-600, 3rem);content:"";transform:translate(-50%, -50%);width:7.1428571429vw;transform:translate(0%, -50%)}@media screen and (min-width: 576px){.day.rangeDepartDate::before{width:calc(var(--ds-size-600, 3rem)/2)}}.day.rangeReturnDate::before,.day.lastHoveredDate::before{position:absolute;z-index:-1;top:50%;left:50%;display:block;width:14.2857142857vw;height:var(--ds-size-600, 3rem);content:"";transform:translate(-50%, -50%);width:7.1428571429vw;transform:translate(-100%, -50%)}@media screen and (min-width: 576px){.day.rangeReturnDate::before,.day.lastHoveredDate::before{width:calc(var(--ds-size-600, 3rem)/2)}}.dateSlot{display:flex;flex-direction:column}::slotted([slot^=date_]){position:absolute;top:80%;left:50%;width:100%;white-space:nowrap;transform:translate(-50%, -50%)}::slotted(auro-icon){max-height:24px;max-width:24px}:host([renderForDateSlot]) .buttonWrapper{position:relative;width:100%;top:5px}:host([renderForDateSlot]) .currentDayMarker{position:relative;padding-bottom:5px;top:-8px}@media screen and (min-width: 576px){.day{width:var(--ds-size-600, 3rem);height:var(--ds-size-800, 4rem)}.day:hover{cursor:pointer}}`;
16028
+ var styleCss$5$1 = i$7`.body-default{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-default-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-default-font-size, 1rem);line-height:var(--wcss-body-default-line-height, 1.5rem)}.body-default-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-default-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-default-emphasized-font-size, 1rem);line-height:var(--wcss-body-default-emphasized-line-height, 1.5rem)}.body-lg{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-lg-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-lg-font-size, 1.125rem);line-height:var(--wcss-body-lg-line-height, 1.625rem)}.body-lg-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-lg-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-lg-emphasized-font-size, 1.125rem);line-height:var(--wcss-body-lg-emphasized-line-height, 1.625rem)}.body-sm{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-sm-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-sm-font-size, 0.875rem);line-height:var(--wcss-body-sm-line-height, 1.25rem)}.body-sm-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-sm-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-sm-emphasized-font-size, 0.875rem);line-height:var(--wcss-body-sm-emphasized-line-height, 1.25rem)}.body-xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-xs-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-xs-font-size, 0.75rem);line-height:var(--wcss-body-xs-line-height, 1rem)}.body-xs-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-xs-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-xs-emphasized-font-size, 0.75rem);line-height:var(--wcss-body-xs-emphasized-line-height, 1rem)}.body-2xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-2xs-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-2xs-font-size, 0.625rem);line-height:var(--wcss-body-2xs-line-height, 0.875rem)}.body-2xs-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-2xs-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-2xs-emphasized-font-size, 0.625rem);line-height:var(--wcss-body-2xs-emphasized-line-height, 0.875rem)}.display-2xl{font-family:var(--wcss-display-2xl-family, "AS Circular"),var(--wcss-display-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-2xl-weight, 300);line-height:var(--wcss-display-2xl-line-height, 1.3);font-size:var(--wcss-display-2xl-font-size, clamp(3.5rem, 6vw, 5.375rem));letter-spacing:var(--wcss-display-2xl-letter-spacing, 0)}.display-xl{font-family:var(--wcss-display-xl-family, "AS Circular"),var(--wcss-display-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-xl-weight, 300);line-height:var(--wcss-display-xl-line-height, 1.3);font-size:var(--wcss-display-xl-font-size, clamp(3rem, 5.3333333333vw, 4.5rem));letter-spacing:var(--wcss-display-xl-letter-spacing, 0)}.display-lg{font-family:var(--wcss-display-lg-family, "AS Circular"),var(--wcss-display-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-lg-weight, 300);line-height:var(--wcss-display-lg-line-height, 1.3);font-size:var(--wcss-display-lg-font-size, clamp(2.75rem, 4.6666666667vw, 4rem));letter-spacing:var(--wcss-display-lg-letter-spacing, 0)}.display-md{font-family:var(--wcss-display-md-family, "AS Circular"),var(--wcss-display-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-md-weight, 300);line-height:var(--wcss-display-md-line-height, 1.3);font-size:var(--wcss-display-md-font-size, clamp(2.5rem, 4vw, 3.5rem));letter-spacing:var(--wcss-display-md-letter-spacing, 0)}.display-sm{font-family:var(--wcss-display-sm-family, "AS Circular"),var(--wcss-display-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-sm-weight, 300);line-height:var(--wcss-display-sm-line-height, 1.3);font-size:var(--wcss-display-sm-font-size, clamp(2rem, 3.6666666667vw, 3rem));letter-spacing:var(--wcss-display-sm-letter-spacing, 0)}.display-xs{font-family:var(--wcss-display-xs-family, "AS Circular"),var(--wcss-display-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-xs-weight, 300);line-height:var(--wcss-display-xs-line-height, 1.3);font-size:var(--wcss-display-xs-font-size, clamp(1.75rem, 3vw, 2.375rem));letter-spacing:var(--wcss-display-xs-letter-spacing, 0)}.heading-xl{font-family:var(--wcss-heading-xl-family, "AS Circular"),var(--wcss-heading-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-xl-weight, 300);line-height:var(--wcss-heading-xl-line-height, 1.3);font-size:var(--wcss-heading-xl-font-size, clamp(2rem, 3vw, 2.5rem));letter-spacing:var(--wcss-heading-xl-letter-spacing, 0)}.heading-lg{font-family:var(--wcss-heading-lg-family, "AS Circular"),var(--wcss-heading-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-lg-weight, 300);line-height:var(--wcss-heading-lg-line-height, 1.3);font-size:var(--wcss-heading-lg-font-size, clamp(1.75rem, 2.6666666667vw, 2.25rem));letter-spacing:var(--wcss-heading-lg-letter-spacing, 0)}.heading-md{font-family:var(--wcss-heading-md-family, "AS Circular"),var(--wcss-heading-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-md-weight, 300);line-height:var(--wcss-heading-md-line-height, 1.3);font-size:var(--wcss-heading-md-font-size, clamp(1.625rem, 2.3333333333vw, 1.75rem));letter-spacing:var(--wcss-heading-md-letter-spacing, 0)}.heading-sm{font-family:var(--wcss-heading-sm-family, "AS Circular"),var(--wcss-heading-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-sm-weight, 300);line-height:var(--wcss-heading-sm-line-height, 1.3);font-size:var(--wcss-heading-sm-font-size, clamp(1.375rem, 2vw, 1.5rem));letter-spacing:var(--wcss-heading-sm-letter-spacing, 0)}.heading-xs{font-family:var(--wcss-heading-xs-family, "AS Circular"),var(--wcss-heading-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-xs-weight, 300);line-height:var(--wcss-heading-xs-line-height, 1.3);font-size:var(--wcss-heading-xs-font-size, clamp(1.25rem, 1.6666666667vw, 1.25rem));letter-spacing:var(--wcss-heading-xs-letter-spacing, 0)}.heading-2xs{font-family:var(--wcss-heading-2xs-family, "AS Circular"),var(--wcss-heading-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-2xs-weight, 300);line-height:var(--wcss-heading-2xs-line-height, 1.3);font-size:var(--wcss-heading-2xs-font-size, clamp(1.125rem, 1.5vw, 1.125rem));letter-spacing:var(--wcss-heading-2xs-letter-spacing, 0)}.accent-2xl{font-family:var(--wcss-accent-2xl-family, "Good OT"),var(--wcss-accent-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-2xl-weight, 450);line-height:var(--wcss-accent-2xl-line-height, 1);font-size:var(--wcss-accent-2xl-font-size, clamp(2rem, 3.1666666667vw, 2.375rem));letter-spacing:var(--wcss-accent-2xl-letter-spacing, 0.05em);text-transform:uppercase}.accent-xl{font-family:var(--wcss-accent-xl-family, "Good OT"),var(--wcss-accent-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-xl-weight, 450);line-height:var(--wcss-accent-xl-line-height, 1.3);font-size:var(--wcss-accent-xl-font-size, clamp(1.625rem, 2.3333333333vw, 2rem));letter-spacing:var(--wcss-accent-xl-letter-spacing, 0.05em);text-transform:uppercase}.accent-lg{font-family:var(--wcss-accent-lg-family, "Good OT"),var(--wcss-accent-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-lg-weight, 450);line-height:var(--wcss-accent-lg-line-height, 1.3);font-size:var(--wcss-accent-lg-font-size, clamp(1.5rem, 2.1666666667vw, 1.75rem));letter-spacing:var(--wcss-accent-lg-letter-spacing, 0.05em);text-transform:uppercase}.accent-md{font-family:var(--wcss-accent-md-family, "Good OT"),var(--wcss-accent-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-md-weight, 500);line-height:var(--wcss-accent-md-line-height, 1.3);font-size:var(--wcss-accent-md-font-size, clamp(1.375rem, 1.8333333333vw, 1.5rem));letter-spacing:var(--wcss-accent-md-letter-spacing, 0.05em);text-transform:uppercase}.accent-sm{font-family:var(--wcss-accent-sm-family, "Good OT"),var(--wcss-accent-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-sm-weight, 500);line-height:var(--wcss-accent-sm-line-height, 1.3);font-size:var(--wcss-accent-sm-font-size, clamp(1.125rem, 1.5vw, 1.25rem));letter-spacing:var(--wcss-accent-sm-letter-spacing, 0.05em);text-transform:uppercase}.accent-xs{font-family:var(--wcss-accent-xs-family, "Good OT"),var(--wcss-accent-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-xs-weight, 500);line-height:var(--wcss-accent-xs-line-height, 1.3);font-size:var(--wcss-accent-xs-font-size, clamp(1rem, 1.3333333333vw, 1rem));letter-spacing:var(--wcss-accent-xs-letter-spacing, 0.1em);text-transform:uppercase}.accent-2xs{font-family:var(--wcss-accent-2xs-family, "Good OT"),var(--wcss-accent-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-2xs-weight, 450);line-height:var(--wcss-accent-2xs-line-height, 1.3);font-size:var(--wcss-accent-2xs-font-size, clamp(0.875rem, 1.1666666667vw, 0.875rem));letter-spacing:var(--wcss-accent-2xs-letter-spacing, 0.1em);text-transform:uppercase}@media screen and (max-width: 576px){:host{display:flex;justify-content:center}}.day{position:relative;width:var(--ds-size-500, 2.5rem);height:calc(var(--ds-size-700, 3.5rem) - 2px);padding:0;border-width:1px;border-style:solid;border-radius:var(--ds-size-300, 1.5rem);cursor:pointer;user-select:none}.day:focus-visible,.day.visualFocus{outline:2px solid var(--ds-basic-color-border-default, #959595);outline-offset:2px}.day.disabled{cursor:default !important;pointer-events:none}.day.blackout{cursor:default}.day.reference{box-shadow:inset 0 0 0 2px var(--ds-advanced-color-shared-background, #ffffff)}.day.inRange::before{position:absolute;z-index:-1;top:50%;left:50%;display:block;width:14.2857142857vw;height:var(--ds-size-600, 3rem);content:"";transform:translate(-50%, -50%)}@media screen and (min-width: 576px){.day.inRange::before{width:var(--ds-size-600, 3rem)}}.day.rangeDepartDate::before{position:absolute;z-index:-1;top:50%;left:50%;display:block;width:14.2857142857vw;height:var(--ds-size-600, 3rem);content:"";transform:translate(-50%, -50%);width:7.1428571429vw;transform:translate(0%, -50%)}@media screen and (min-width: 576px){.day.rangeDepartDate::before{width:calc(var(--ds-size-600, 3rem)/2)}}.day.rangeReturnDate::before,.day.lastHoveredDate::before{position:absolute;z-index:-1;top:50%;left:50%;display:block;width:14.2857142857vw;height:var(--ds-size-600, 3rem);content:"";transform:translate(-50%, -50%);width:7.1428571429vw;transform:translate(-100%, -50%)}@media screen and (min-width: 576px){.day.rangeReturnDate::before,.day.lastHoveredDate::before{width:calc(var(--ds-size-600, 3rem)/2)}}.dateSlot{display:flex;flex-direction:column}.srOnly{position:absolute;overflow:hidden;width:1px;height:1px;padding:0;border:0;clip:rect(0, 0, 0, 0);white-space:nowrap}::slotted([slot^=date_]){position:absolute;top:80%;left:50%;width:100%;white-space:nowrap;transform:translate(-50%, -50%)}::slotted(auro-icon){max-height:24px;max-width:24px}:host([renderForDateSlot]) .buttonWrapper{position:relative;width:100%;top:5px}:host([renderForDateSlot]) .currentDayMarker{position:relative;padding-bottom:5px;top:-8px}@media screen and (min-width: 576px){.day{width:var(--ds-size-600, 3rem);height:var(--ds-size-800, 4rem)}.day:hover{cursor:pointer}}`;
16030
16029
 
16031
- var colorCss$5$1 = i$7`:host ::slotted([slot^=date_]){color:var(--ds-auro-calendar-cell-price-text-color)}:host ::slotted([slot^=date_][highlight]){--ds-auro-calendar-cell-price-text-color: var(--ds-basic-color-status-success, #447a1f)}:host .day{border-color:var(--ds-auro-calendar-cell-border-color);background-color:var(--ds-auro-calendar-cell-container-color);color:var(--ds-auro-calendar-cell-text-color)}:host .day.selected{--ds-auro-calendar-cell-container-color: var(--ds-advanced-color-state-selected, #01426a);--ds-auro-calendar-cell-text-color: var(--ds-basic-color-texticon-inverse, #ffffff);--ds-auro-calendar-cell-price-text-color: var(--ds-basic-color-texticon-inverse, #ffffff)}:host .day.selected ::slotted([slot^=date_][highlight]){--ds-auro-calendar-cell-price-text-color: var(--ds-basic-color-status-success-subtle, #d6eac7)}:host .day.selected:hover{--ds-auro-calendar-cell-container-color: var(--ds-advanced-color-state-selected-hover, #00274a);--ds-auro-calendar-cell-text-color: var(--ds-basic-color-texticon-inverse, #ffffff)}:host .day.reference{--ds-auro-calendar-cell-border-color: var(--ds-basic-color-border-default, #959595)}:host .day.reference:not(.selected):not(.disabled){--ds-auro-calendar-cell-text-color: var(--ds-basic-color-texticon-muted, #676767)}:host .day.reference.selected{--ds-auro-calendar-cell-text-color: var(--ds-basic-color-texticon-inverse, #ffffff)}:host .day:hover{--ds-auro-calendar-cell-container-color: var(--ds-advanced-color-state-background-hover, #f2f2f2);--ds-auro-calendar-cell-text-color: var(--ds-basic-color-texticon-default, #2a2a2a)}:host .day.disabled{--ds-auro-calendar-cell-container-color: transparent;--ds-auro-calendar-cell-text-color: var(--ds-basic-color-texticon-disabled, #d0d0d0);--ds-auro-calendar-cell-price-text-color: var(--ds-basic-color-texticon-disabled, #d0d0d0)}:host .day.inRange:before,:host .day.rangeDepartDate:before,:host .day.rangeReturnDate:before,:host .day.lastHoveredDate:before{background-color:var(--ds-auro-calendar-cell-in-range-color)}:host .day.sameDateTrip:before{--ds-auro-calendar-cell-in-range-color: transparent}`;
16030
+ var colorCss$5$1 = i$7`:host ::slotted([slot^=date_]){color:var(--ds-auro-calendar-cell-price-text-color)}:host ::slotted([slot^=date_][highlight]){--ds-auro-calendar-cell-price-text-color: var(--ds-basic-color-status-success, #447a1f)}:host .day{border-color:var(--ds-auro-calendar-cell-border-color);background-color:var(--ds-auro-calendar-cell-container-color);color:var(--ds-auro-calendar-cell-text-color)}:host .day:focus-visible:not(.selected),:host .day.visualFocus:not(.selected){--ds-auro-calendar-cell-container-color: var(--ds-auro-calendar-cell-in-range-color)}:host .day.selected{--ds-auro-calendar-cell-container-color: var(--ds-advanced-color-state-selected, #01426a);--ds-auro-calendar-cell-text-color: var(--ds-basic-color-texticon-inverse, #ffffff);--ds-auro-calendar-cell-price-text-color: var(--ds-basic-color-texticon-inverse, #ffffff)}:host .day.selected ::slotted([slot^=date_][highlight]){--ds-auro-calendar-cell-price-text-color: var(--ds-basic-color-status-success-subtle, #d6eac7)}:host .day.selected:hover{--ds-auro-calendar-cell-container-color: var(--ds-advanced-color-state-selected-hover, #00274a);--ds-auro-calendar-cell-text-color: var(--ds-basic-color-texticon-inverse, #ffffff)}:host .day.reference{--ds-auro-calendar-cell-border-color: var(--ds-basic-color-border-default, #959595)}:host .day.reference:not(.selected):not(.disabled){--ds-auro-calendar-cell-text-color: var(--ds-basic-color-texticon-muted, #676767)}:host .day.reference.selected{--ds-auro-calendar-cell-text-color: var(--ds-basic-color-texticon-inverse, #ffffff)}:host .day:hover{--ds-auro-calendar-cell-container-color: var(--ds-advanced-color-state-background-hover, #f2f2f2);--ds-auro-calendar-cell-text-color: var(--ds-basic-color-texticon-default, #2a2a2a)}:host .day.disabled{--ds-auro-calendar-cell-container-color: transparent;--ds-auro-calendar-cell-text-color: var(--ds-basic-color-texticon-disabled, #d0d0d0);--ds-auro-calendar-cell-price-text-color: var(--ds-basic-color-texticon-disabled, #d0d0d0)}:host .day.blackout{--ds-auro-calendar-cell-container-color: transparent;--ds-auro-calendar-cell-text-color: var(--ds-basic-color-texticon-disabled, #d0d0d0);--ds-auro-calendar-cell-price-text-color: var(--ds-basic-color-texticon-disabled, #d0d0d0)}:host .day.inRange:before,:host .day.rangeDepartDate:before,:host .day.rangeReturnDate:before,:host .day.lastHoveredDate:before{background-color:var(--ds-auro-calendar-cell-in-range-color)}:host .day.sameDateTrip:before{--ds-auro-calendar-cell-in-range-color: transparent}`;
16032
16031
 
16033
- let s$3 = class s{registerComponent(e,t){customElements.get(e)||customElements.define(e,class extends t{});}closestElement(e,t=this,i=(t,s=t&&t.closest(e))=>t&&t!==document&&t!==window?s||i(t.getRootNode().host):null){return i(t)}handleComponentTagRename(e,t){const i=t.toLowerCase();e.tagName.toLowerCase()!==i&&e.setAttribute(i,true);}elementMatch(e,t){const i=t.toLowerCase();return e.tagName.toLowerCase()===i||e.hasAttribute(i)}getSlotText(e,t){const i=e.shadowRoot?.querySelector(`slot[name="${t}"]`);return (i?.assignedNodes({flatten:true})||[]).map(e=>e.textContent?.trim()).join(" ").trim()||null}};var r$1$1="top",o="bottom",n$1$1="right",a="left",l$3$1="auto",c$3$1=[r$1$1,o,n$1$1,a],p$6$1="start",d$3$1="end",f$6$1="viewport",h$3$1="popper",m$6$1=c$3$1.reduce(function(e,t){return e.concat([t+"-"+p$6$1,t+"-"+d$3$1])},[]),u$6$1=[].concat(c$3$1,[l$3$1]).reduce(function(e,t){return e.concat([t,t+"-"+p$6$1,t+"-"+d$3$1])},[]),g$6$1=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"];function v$3$1(e){return e?(e.nodeName||"").toLowerCase():null}function y$6$1(e){if(null==e)return window;if("[object Window]"!==e.toString()){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function w$6$1(e){return e instanceof y$6$1(e).Element||e instanceof Element}function b$3$1(e){return e instanceof y$6$1(e).HTMLElement||e instanceof HTMLElement}function x$3$1(e){return "undefined"!=typeof ShadowRoot&&(e instanceof y$6$1(e).ShadowRoot||e instanceof ShadowRoot)}var S$3$1={name:"applyStyles",enabled:true,phase:"write",fn:function(e){var t=e.state;Object.keys(t.elements).forEach(function(e){var i=t.styles[e]||{},s=t.attributes[e]||{},r=t.elements[e];b$3$1(r)&&v$3$1(r)&&(Object.assign(r.style,i),Object.keys(s).forEach(function(e){var t=s[e];false===t?r.removeAttribute(e):r.setAttribute(e,true===t?"":t);}));});},effect:function(e){var t=e.state,i={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,i.popper),t.styles=i,t.elements.arrow&&Object.assign(t.elements.arrow.style,i.arrow),function(){Object.keys(t.elements).forEach(function(e){var s=t.elements[e],r=t.attributes[e]||{},o=Object.keys(t.styles.hasOwnProperty(e)?t.styles[e]:i[e]).reduce(function(e,t){return e[t]="",e},{});b$3$1(s)&&v$3$1(s)&&(Object.assign(s.style,o),Object.keys(r).forEach(function(e){s.removeAttribute(e);}));});}},requires:["computeStyles"]};function _$4$1(e){return e.split("-")[0]}var O=Math.max,k$6$1=Math.min,A$3$1=Math.round;function z$6$1(){var e=navigator.userAgentData;return null!=e&&e.brands&&Array.isArray(e.brands)?e.brands.map(function(e){return e.brand+"/"+e.version}).join(" "):navigator.userAgent}function E(){return !/^((?!chrome|android).)*safari/i.test(z$6$1())}function M$6$1(e,t,i){ void 0===t&&(t=false),void 0===i&&(i=false);var s=e.getBoundingClientRect(),r=1,o=1;t&&b$3$1(e)&&(r=e.offsetWidth>0&&A$3$1(s.width)/e.offsetWidth||1,o=e.offsetHeight>0&&A$3$1(s.height)/e.offsetHeight||1);var n=(w$6$1(e)?y$6$1(e):window).visualViewport,a=!E()&&i,l=(s.left+(a&&n?n.offsetLeft:0))/r,c=(s.top+(a&&n?n.offsetTop:0))/o,p=s.width/r,d=s.height/o;return {width:p,height:d,top:c,right:l+p,bottom:c+d,left:l,x:l,y:c}}function T$3$1(e){var t=M$6$1(e),i=e.offsetWidth,s=e.offsetHeight;return Math.abs(t.width-i)<=1&&(i=t.width),Math.abs(t.height-s)<=1&&(s=t.height),{x:e.offsetLeft,y:e.offsetTop,width:i,height:s}}function B$3$1(e,t){var i=t.getRootNode&&t.getRootNode();if(e.contains(t))return true;if(i&&x$3$1(i)){var s=t;do{if(s&&e.isSameNode(s))return true;s=s.parentNode||s.host;}while(s)}return false}function L(e){return y$6$1(e).getComputedStyle(e)}function H$3$1(e){return ["table","td","th"].indexOf(v$3$1(e))>=0}function C$3$1(e){return ((w$6$1(e)?e.ownerDocument:e.document)||window.document).documentElement}function R$3$1(e){return "html"===v$3$1(e)?e:e.assignedSlot||e.parentNode||(x$3$1(e)?e.host:null)||C$3$1(e)}function j(e){return b$3$1(e)&&"fixed"!==L(e).position?e.offsetParent:null}function N$3$1(e){for(var t=y$6$1(e),i=j(e);i&&H$3$1(i)&&"static"===L(i).position;)i=j(i);return i&&("html"===v$3$1(i)||"body"===v$3$1(i)&&"static"===L(i).position)?t:i||function(e){var t=/firefox/i.test(z$6$1());if(/Trident/i.test(z$6$1())&&b$3$1(e)&&"fixed"===L(e).position)return null;var i=R$3$1(e);for(x$3$1(i)&&(i=i.host);b$3$1(i)&&["html","body"].indexOf(v$3$1(i))<0;){var s=L(i);if("none"!==s.transform||"none"!==s.perspective||"paint"===s.contain||-1!==["transform","perspective"].indexOf(s.willChange)||t&&"filter"===s.willChange||t&&s.filter&&"none"!==s.filter)return i;i=i.parentNode;}return null}(e)||t}function P(e){return ["top","bottom"].indexOf(e)>=0?"x":"y"}function D(e,t,i){return O(e,k$6$1(t,i))}function I(e){return Object.assign({},{top:0,right:0,bottom:0,left:0},e)}function F(e,t){return t.reduce(function(t,i){return t[i]=e,t},{})}var U$3$1={name:"arrow",enabled:true,phase:"main",fn:function(e){var t,i=e.state,s=e.name,l=e.options,p=i.elements.arrow,d=i.modifiersData.popperOffsets,f=_$4$1(i.placement),h=P(f),m=[a,n$1$1].indexOf(f)>=0?"height":"width";if(p&&d){var u=function(e,t){return I("number"!=typeof(e="function"==typeof e?e(Object.assign({},t.rects,{placement:t.placement})):e)?e:F(e,c$3$1))}(l.padding,i),g=T$3$1(p),v="y"===h?r$1$1:a,y="y"===h?o:n$1$1,w=i.rects.reference[m]+i.rects.reference[h]-d[h]-i.rects.popper[m],b=d[h]-i.rects.reference[h],x=N$3$1(p),S=x?"y"===h?x.clientHeight||0:x.clientWidth||0:0,O=w/2-b/2,k=u[v],A=S-g[m]-u[y],z=S/2-g[m]/2+O,E=D(k,z,A),M=h;i.modifiersData[s]=((t={})[M]=E,t.centerOffset=E-z,t);}},effect:function(e){var t=e.state,i=e.options.element,s=void 0===i?"[data-popper-arrow]":i;null!=s&&("string"!=typeof s||(s=t.elements.popper.querySelector(s)))&&B$3$1(t.elements.popper,s)&&(t.elements.arrow=s);},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function q$3$1(e){return e.split("-")[1]}var W={top:"auto",right:"auto",bottom:"auto",left:"auto"};function X(e){var t,i=e.popper,s=e.popperRect,l=e.placement,c=e.variation,p=e.offsets,f=e.position,h=e.gpuAcceleration,m=e.adaptive,u=e.roundOffsets,g=e.isFixed,v=p.x,w=void 0===v?0:v,b=p.y,x=void 0===b?0:b,S="function"==typeof u?u({x:w,y:x}):{x:w,y:x};w=S.x,x=S.y;var _=p.hasOwnProperty("x"),O=p.hasOwnProperty("y"),k=a,z=r$1$1,E=window;if(m){var M=N$3$1(i),T="clientHeight",B="clientWidth";if(M===y$6$1(i)&&"static"!==L(M=C$3$1(i)).position&&"absolute"===f&&(T="scrollHeight",B="scrollWidth"),l===r$1$1||(l===a||l===n$1$1)&&c===d$3$1)z=o,x-=(g&&M===E&&E.visualViewport?E.visualViewport.height:M[T])-s.height,x*=h?1:-1;if(l===a||(l===r$1$1||l===o)&&c===d$3$1)k=n$1$1,w-=(g&&M===E&&E.visualViewport?E.visualViewport.width:M[B])-s.width,w*=h?1:-1;}var H,R=Object.assign({position:f},m&&W),j=true===u?function(e,t){var i=e.x,s=e.y,r=t.devicePixelRatio||1;return {x:A$3$1(i*r)/r||0,y:A$3$1(s*r)/r||0}}({x:w,y:x},y$6$1(i)):{x:w,y:x};return w=j.x,x=j.y,h?Object.assign({},R,((H={})[z]=O?"0":"",H[k]=_?"0":"",H.transform=(E.devicePixelRatio||1)<=1?"translate("+w+"px, "+x+"px)":"translate3d("+w+"px, "+x+"px, 0)",H)):Object.assign({},R,((t={})[z]=O?x+"px":"",t[k]=_?w+"px":"",t.transform="",t))}var V={passive:true};var G={left:"right",right:"left",bottom:"top",top:"bottom"};function $(e){return e.replace(/left|right|bottom|top/g,function(e){return G[e]})}var K={start:"end",end:"start"};function Y(e){return e.replace(/start|end/g,function(e){return K[e]})}function J(e){var t=y$6$1(e);return {scrollLeft:t.pageXOffset,scrollTop:t.pageYOffset}}function Q(e){return M$6$1(C$3$1(e)).left+J(e).scrollLeft}function Z(e){var t=L(e),i=t.overflow,s=t.overflowX,r=t.overflowY;return /auto|scroll|overlay|hidden/.test(i+r+s)}function ee(e){return ["html","body","#document"].indexOf(v$3$1(e))>=0?e.ownerDocument.body:b$3$1(e)&&Z(e)?e:ee(R$3$1(e))}function te(e,t){var i;void 0===t&&(t=[]);var s=ee(e),r=s===(null==(i=e.ownerDocument)?void 0:i.body),o=y$6$1(s),n=r?[o].concat(o.visualViewport||[],Z(s)?s:[]):s,a=t.concat(n);return r?a:a.concat(te(R$3$1(n)))}function ie(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function se(e,t,i){return t===f$6$1?ie(function(e,t){var i=y$6$1(e),s=C$3$1(e),r=i.visualViewport,o=s.clientWidth,n=s.clientHeight,a=0,l=0;if(r){o=r.width,n=r.height;var c=E();(c||!c&&"fixed"===t)&&(a=r.offsetLeft,l=r.offsetTop);}return {width:o,height:n,x:a+Q(e),y:l}}(e,i)):w$6$1(t)?function(e,t){var i=M$6$1(e,false,"fixed"===t);return i.top=i.top+e.clientTop,i.left=i.left+e.clientLeft,i.bottom=i.top+e.clientHeight,i.right=i.left+e.clientWidth,i.width=e.clientWidth,i.height=e.clientHeight,i.x=i.left,i.y=i.top,i}(t,i):ie(function(e){var t,i=C$3$1(e),s=J(e),r=null==(t=e.ownerDocument)?void 0:t.body,o=O(i.scrollWidth,i.clientWidth,r?r.scrollWidth:0,r?r.clientWidth:0),n=O(i.scrollHeight,i.clientHeight,r?r.scrollHeight:0,r?r.clientHeight:0),a=-s.scrollLeft+Q(e),l=-s.scrollTop;return "rtl"===L(r||i).direction&&(a+=O(i.clientWidth,r?r.clientWidth:0)-o),{width:o,height:n,x:a,y:l}}(C$3$1(e)))}function re(e,t,i,s){var r="clippingParents"===t?function(e){var t=te(R$3$1(e)),i=["absolute","fixed"].indexOf(L(e).position)>=0&&b$3$1(e)?N$3$1(e):e;return w$6$1(i)?t.filter(function(e){return w$6$1(e)&&B$3$1(e,i)&&"body"!==v$3$1(e)}):[]}(e):[].concat(t),o=[].concat(r,[i]),n=o[0],a=o.reduce(function(t,i){var r=se(e,i,s);return t.top=O(r.top,t.top),t.right=k$6$1(r.right,t.right),t.bottom=k$6$1(r.bottom,t.bottom),t.left=O(r.left,t.left),t},se(e,n,s));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}function oe(e){var t,i=e.reference,s=e.element,l=e.placement,c=l?_$4$1(l):null,f=l?q$3$1(l):null,h=i.x+i.width/2-s.width/2,m=i.y+i.height/2-s.height/2;switch(c){case r$1$1:t={x:h,y:i.y-s.height};break;case o:t={x:h,y:i.y+i.height};break;case n$1$1:t={x:i.x+i.width,y:m};break;case a:t={x:i.x-s.width,y:m};break;default:t={x:i.x,y:i.y};}var u=c?P(c):null;if(null!=u){var g="y"===u?"height":"width";switch(f){case p$6$1:t[u]=t[u]-(i[g]/2-s[g]/2);break;case d$3$1:t[u]=t[u]+(i[g]/2-s[g]/2);}}return t}function ne(e,t){ void 0===t&&(t={});var i=t,s=i.placement,a=void 0===s?e.placement:s,l=i.strategy,p=void 0===l?e.strategy:l,d=i.boundary,m=void 0===d?"clippingParents":d,u=i.rootBoundary,g=void 0===u?f$6$1:u,v=i.elementContext,y=void 0===v?h$3$1:v,b=i.altBoundary,x=void 0!==b&&b,S=i.padding,_=void 0===S?0:S,O=I("number"!=typeof _?_:F(_,c$3$1)),k=y===h$3$1?"reference":h$3$1,A=e.rects.popper,z=e.elements[x?k:y],E=re(w$6$1(z)?z:z.contextElement||C$3$1(e.elements.popper),m,g,p),T=M$6$1(e.elements.reference),B=oe({reference:T,element:A,placement:a}),L=ie(Object.assign({},A,B)),H=y===h$3$1?L:T,R={top:E.top-H.top+O.top,bottom:H.bottom-E.bottom+O.bottom,left:E.left-H.left+O.left,right:H.right-E.right+O.right},j=e.modifiersData.offset;if(y===h$3$1&&j){var N=j[a];Object.keys(R).forEach(function(e){var t=[n$1$1,o].indexOf(e)>=0?1:-1,i=[r$1$1,o].indexOf(e)>=0?"y":"x";R[e]+=N[i]*t;});}return R}function ae(e,t){ void 0===t&&(t={});var i=t,s=i.placement,r=i.boundary,o=i.rootBoundary,n=i.padding,a=i.flipVariations,l=i.allowedAutoPlacements,p=void 0===l?u$6$1:l,d=q$3$1(s),f=d?a?m$6$1:m$6$1.filter(function(e){return q$3$1(e)===d}):c$3$1,h=f.filter(function(e){return p.indexOf(e)>=0});0===h.length&&(h=f);var g=h.reduce(function(t,i){return t[i]=ne(e,{placement:i,boundary:r,rootBoundary:o,padding:n})[_$4$1(i)],t},{});return Object.keys(g).sort(function(e,t){return g[e]-g[t]})}var le={name:"flip",enabled:true,phase:"main",fn:function(e){var t=e.state,i=e.options,s=e.name;if(!t.modifiersData[s]._skip){for(var c=i.mainAxis,d=void 0===c||c,f=i.altAxis,h=void 0===f||f,m=i.fallbackPlacements,u=i.padding,g=i.boundary,v=i.rootBoundary,y=i.altBoundary,w=i.flipVariations,b=void 0===w||w,x=i.allowedAutoPlacements,S=t.options.placement,O=_$4$1(S),k=m||(O===S||!b?[$(S)]:function(e){if(_$4$1(e)===l$3$1)return [];var t=$(e);return [Y(e),t,Y(t)]}(S)),A=[S].concat(k).reduce(function(e,i){return e.concat(_$4$1(i)===l$3$1?ae(t,{placement:i,boundary:g,rootBoundary:v,padding:u,flipVariations:b,allowedAutoPlacements:x}):i)},[]),z=t.rects.reference,E=t.rects.popper,M=new Map,T=true,B=A[0],L=0;L<A.length;L++){var H=A[L],C=_$4$1(H),R=q$3$1(H)===p$6$1,j=[r$1$1,o].indexOf(C)>=0,N=j?"width":"height",P=ne(t,{placement:H,boundary:g,rootBoundary:v,altBoundary:y,padding:u}),D=j?R?n$1$1:a:R?o:r$1$1;z[N]>E[N]&&(D=$(D));var I=$(D),F=[];if(d&&F.push(P[C]<=0),h&&F.push(P[D]<=0,P[I]<=0),F.every(function(e){return e})){B=H,T=false;break}M.set(H,F);}if(T)for(var U=function(e){var t=A.find(function(t){var i=M.get(t);if(i)return i.slice(0,e).every(function(e){return e})});if(t)return B=t,"break"},W=b?3:1;W>0;W--){if("break"===U(W))break}t.placement!==B&&(t.modifiersData[s]._skip=true,t.placement=B,t.reset=true);}},requiresIfExists:["offset"],data:{_skip:false}};function ce(e,t,i){return void 0===i&&(i={x:0,y:0}),{top:e.top-t.height-i.y,right:e.right-t.width+i.x,bottom:e.bottom-t.height+i.y,left:e.left-t.width-i.x}}function pe(e){return [r$1$1,n$1$1,o,a].some(function(t){return e[t]>=0})}var de={name:"offset",enabled:true,phase:"main",requires:["popperOffsets"],fn:function(e){var t=e.state,i=e.options,s=e.name,o=i.offset,l=void 0===o?[0,0]:o,c=u$6$1.reduce(function(e,i){return e[i]=function(e,t,i){var s=_$4$1(e),o=[a,r$1$1].indexOf(s)>=0?-1:1,l="function"==typeof i?i(Object.assign({},t,{placement:e})):i,c=l[0],p=l[1];return c=c||0,p=(p||0)*o,[a,n$1$1].indexOf(s)>=0?{x:p,y:c}:{x:c,y:p}}(i,t.rects,l),e},{}),p=c[t.placement],d=p.x,f=p.y;null!=t.modifiersData.popperOffsets&&(t.modifiersData.popperOffsets.x+=d,t.modifiersData.popperOffsets.y+=f),t.modifiersData[s]=c;}};var fe={name:"preventOverflow",enabled:true,phase:"main",fn:function(e){var t=e.state,i=e.options,s=e.name,l=i.mainAxis,c=void 0===l||l,d=i.altAxis,f=void 0!==d&&d,h=i.boundary,m=i.rootBoundary,u=i.altBoundary,g=i.padding,v=i.tether,y=void 0===v||v,w=i.tetherOffset,b=void 0===w?0:w,x=ne(t,{boundary:h,rootBoundary:m,padding:g,altBoundary:u}),S=_$4$1(t.placement),A=q$3$1(t.placement),z=!A,E=P(S),M="x"===E?"y":"x",B=t.modifiersData.popperOffsets,L=t.rects.reference,H=t.rects.popper,C="function"==typeof b?b(Object.assign({},t.rects,{placement:t.placement})):b,R="number"==typeof C?{mainAxis:C,altAxis:C}:Object.assign({mainAxis:0,altAxis:0},C),j=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,I={x:0,y:0};if(B){if(c){var F,U="y"===E?r$1$1:a,W="y"===E?o:n$1$1,X="y"===E?"height":"width",V=B[E],G=V+x[U],$=V-x[W],K=y?-H[X]/2:0,Y=A===p$6$1?L[X]:H[X],J=A===p$6$1?-H[X]:-L[X],Q=t.elements.arrow,Z=y&&Q?T$3$1(Q):{width:0,height:0},ee=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},te=ee[U],ie=ee[W],se=D(0,L[X],Z[X]),re=z?L[X]/2-K-se-te-R.mainAxis:Y-se-te-R.mainAxis,oe=z?-L[X]/2+K+se+ie+R.mainAxis:J+se+ie+R.mainAxis,ae=t.elements.arrow&&N$3$1(t.elements.arrow),le=ae?"y"===E?ae.clientTop||0:ae.clientLeft||0:0,ce=null!=(F=null==j?void 0:j[E])?F:0,pe=V+oe-ce,de=D(y?k$6$1(G,V+re-ce-le):G,V,y?O($,pe):$);B[E]=de,I[E]=de-V;}if(f){var fe,he="x"===E?r$1$1:a,me="x"===E?o:n$1$1,ue=B[M],ge="y"===M?"height":"width",ve=ue+x[he],ye=ue-x[me],we=-1!==[r$1$1,a].indexOf(S),be=null!=(fe=null==j?void 0:j[M])?fe:0,xe=we?ve:ue-L[ge]-H[ge]-be+R.altAxis,Se=we?ue+L[ge]+H[ge]-be-R.altAxis:ye,_e=y&&we?function(e,t,i){var s=D(e,t,i);return s>i?i:s}(xe,ue,Se):D(y?xe:ve,ue,y?Se:ye);B[M]=_e,I[M]=_e-ue;}t.modifiersData[s]=I;}},requiresIfExists:["offset"]};function he(e,t,i){ void 0===i&&(i=false);var s,r,o=b$3$1(t),n=b$3$1(t)&&function(e){var t=e.getBoundingClientRect(),i=A$3$1(t.width)/e.offsetWidth||1,s=A$3$1(t.height)/e.offsetHeight||1;return 1!==i||1!==s}(t),a=C$3$1(t),l=M$6$1(e,n,i),c={scrollLeft:0,scrollTop:0},p={x:0,y:0};return (o||!o&&!i)&&(("body"!==v$3$1(t)||Z(a))&&(c=(s=t)!==y$6$1(s)&&b$3$1(s)?{scrollLeft:(r=s).scrollLeft,scrollTop:r.scrollTop}:J(s)),b$3$1(t)?((p=M$6$1(t,true)).x+=t.clientLeft,p.y+=t.clientTop):a&&(p.x=Q(a))),{x:l.left+c.scrollLeft-p.x,y:l.top+c.scrollTop-p.y,width:l.width,height:l.height}}function me(e){var t=new Map,i=new Set,s=[];function r(e){i.add(e.name),[].concat(e.requires||[],e.requiresIfExists||[]).forEach(function(e){if(!i.has(e)){var s=t.get(e);s&&r(s);}}),s.push(e);}return e.forEach(function(e){t.set(e.name,e);}),e.forEach(function(e){i.has(e.name)||r(e);}),s}var ue={placement:"bottom",modifiers:[],strategy:"absolute"};function ge(){for(var e=arguments.length,t=new Array(e),i=0;i<e;i++)t[i]=arguments[i];return !t.some(function(e){return !(e&&"function"==typeof e.getBoundingClientRect)})}function ve(e){ void 0===e&&(e={});var t=e,i=t.defaultModifiers,s=void 0===i?[]:i,r=t.defaultOptions,o=void 0===r?ue:r;return function(e,t,i){ void 0===i&&(i=o);var r,n,a={placement:"bottom",orderedModifiers:[],options:Object.assign({},ue,o),modifiersData:{},elements:{reference:e,popper:t},attributes:{},styles:{}},l=[],c=false,p={state:a,setOptions:function(i){var r="function"==typeof i?i(a.options):i;d(),a.options=Object.assign({},o,a.options,r),a.scrollParents={reference:w$6$1(e)?te(e):e.contextElement?te(e.contextElement):[],popper:te(t)};var n,c,f=function(e){var t=me(e);return g$6$1.reduce(function(e,i){return e.concat(t.filter(function(e){return e.phase===i}))},[])}((n=[].concat(s,a.options.modifiers),c=n.reduce(function(e,t){var i=e[t.name];return e[t.name]=i?Object.assign({},i,t,{options:Object.assign({},i.options,t.options),data:Object.assign({},i.data,t.data)}):t,e},{}),Object.keys(c).map(function(e){return c[e]})));return a.orderedModifiers=f.filter(function(e){return e.enabled}),a.orderedModifiers.forEach(function(e){var t=e.name,i=e.options,s=void 0===i?{}:i,r=e.effect;if("function"==typeof r){var o=r({state:a,name:t,instance:p,options:s}),n=function(){};l.push(o||n);}}),p.update()},forceUpdate:function(){if(!c){var e=a.elements,t=e.reference,i=e.popper;if(ge(t,i)){a.rects={reference:he(t,N$3$1(i),"fixed"===a.options.strategy),popper:T$3$1(i)},a.reset=false,a.placement=a.options.placement,a.orderedModifiers.forEach(function(e){return a.modifiersData[e.name]=Object.assign({},e.data)});for(var s=0;s<a.orderedModifiers.length;s++)if(true!==a.reset){var r=a.orderedModifiers[s],o=r.fn,n=r.options,l=void 0===n?{}:n,d=r.name;"function"==typeof o&&(a=o({state:a,options:l,name:d,instance:p})||a);}else a.reset=false,s=-1;}}},update:(r=function(){return new Promise(function(e){p.forceUpdate(),e(a);})},function(){return n||(n=new Promise(function(e){Promise.resolve().then(function(){n=void 0,e(r());});})),n}),destroy:function(){d(),c=true;}};if(!ge(e,t))return p;function d(){l.forEach(function(e){return e()}),l=[];}return p.setOptions(i).then(function(e){!c&&i.onFirstUpdate&&i.onFirstUpdate(e);}),p}}var ye=ve({defaultModifiers:[{name:"eventListeners",enabled:true,phase:"write",fn:function(){},effect:function(e){var t=e.state,i=e.instance,s=e.options,r=s.scroll,o=void 0===r||r,n=s.resize,a=void 0===n||n,l=y$6$1(t.elements.popper),c=[].concat(t.scrollParents.reference,t.scrollParents.popper);return o&&c.forEach(function(e){e.addEventListener("scroll",i.update,V);}),a&&l.addEventListener("resize",i.update,V),function(){o&&c.forEach(function(e){e.removeEventListener("scroll",i.update,V);}),a&&l.removeEventListener("resize",i.update,V);}},data:{}},{name:"popperOffsets",enabled:true,phase:"read",fn:function(e){var t=e.state,i=e.name;t.modifiersData[i]=oe({reference:t.rects.reference,element:t.rects.popper,placement:t.placement});},data:{}},{name:"computeStyles",enabled:true,phase:"beforeWrite",fn:function(e){var t=e.state,i=e.options,s=i.gpuAcceleration,r=void 0===s||s,o=i.adaptive,n=void 0===o||o,a=i.roundOffsets,l=void 0===a||a,c={placement:_$4$1(t.placement),variation:q$3$1(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:r,isFixed:"fixed"===t.options.strategy};null!=t.modifiersData.popperOffsets&&(t.styles.popper=Object.assign({},t.styles.popper,X(Object.assign({},c,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:n,roundOffsets:l})))),null!=t.modifiersData.arrow&&(t.styles.arrow=Object.assign({},t.styles.arrow,X(Object.assign({},c,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:false,roundOffsets:l})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement});},data:{}},S$3$1,de,le,fe,U$3$1,{name:"hide",enabled:true,phase:"main",requiresIfExists:["preventOverflow"],fn:function(e){var t=e.state,i=e.name,s=t.rects.reference,r=t.rects.popper,o=t.modifiersData.preventOverflow,n=ne(t,{elementContext:"reference"}),a=ne(t,{altBoundary:true}),l=ce(n,s),c=ce(a,r,o),p=pe(l),d=pe(c);t.modifiersData[i]={referenceClippingOffsets:l,popperEscapeOffsets:c,isReferenceHidden:p,hasPopperEscaped:d},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":p,"data-popper-escaped":d});}}]});class we{constructor(e,t,i,s){this.anchor=e,this.popover=t,this.boundaryElement=this.setBoundary(s),this.options={placement:i,visibleClass:"data-show"},this.popover.classList.remove(this.options.visibleClass);}setBoundary(e){return "string"==typeof e?document.querySelector(e)||document.body:e||document.body}show(){this.popper&&this.popper.destroy(),this.popper=ye(this.anchor,this.popover,{tooltip:this.anchor,placement:this.options.placement,modifiers:[{name:"offset",options:{offset:[0,18]}},{name:"preventOverflow",options:{mainAxis:true,boundary:this.boundaryElement,rootBoundary:"document",padding:16}}]});}triggerUpdate(){this.popper.update();}hide(){this.popover.classList.remove(this.options.visibleClass);}}var be=i$7`::slotted(*):not([onDark]),::slotted(*):not([appearance=inverse]){color:var(--ds-auro-popover-text-color)}.popover{background-color:var(--ds-auro-popover-container-color);box-shadow:var(--ds-auro-popover-boxshadow-color)}.arrow:before{background-color:var(--ds-auro-popover-container-color);box-shadow:2px 2px 1px 0 var(--ds-auro-popover-boxshadow-color)}
16032
+ let s$3 = class s{registerComponent(e,t){customElements.get(e)||customElements.define(e,class extends t{});}closestElement(e,t=this,i=(t,s=t&&t.closest(e))=>t&&t!==document&&t!==window?s||i(t.getRootNode().host):null){return i(t)}handleComponentTagRename(e,t){const i=t.toLowerCase();e.tagName.toLowerCase()!==i&&e.setAttribute(i,true);}elementMatch(e,t){const i=t.toLowerCase();return e.tagName.toLowerCase()===i||e.hasAttribute(i)}getSlotText(e,t){const i=e.shadowRoot?.querySelector(`slot[name="${t}"]`);return (i?.assignedNodes({flatten:true})||[]).map(e=>e.textContent?.trim()).join(" ").trim()||null}};var r$1$1="top",o="bottom",n$1$1="right",a="left",l$3$1="auto",c$3$1=[r$1$1,o,n$1$1,a],p$6$1="start",d$3$1="end",f$6$1="viewport",h$3$1="popper",u$6$1=c$3$1.reduce(function(e,t){return e.concat([t+"-"+p$6$1,t+"-"+d$3$1])},[]),m$6$1=[].concat(c$3$1,[l$3$1]).reduce(function(e,t){return e.concat([t,t+"-"+p$6$1,t+"-"+d$3$1])},[]),g$6$1=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"];function v$3$1(e){return e?(e.nodeName||"").toLowerCase():null}function y$6$1(e){if(null==e)return window;if("[object Window]"!==e.toString()){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function w$6$1(e){return e instanceof y$6$1(e).Element||e instanceof Element}function b$3$1(e){return e instanceof y$6$1(e).HTMLElement||e instanceof HTMLElement}function x$3$1(e){return "undefined"!=typeof ShadowRoot&&(e instanceof y$6$1(e).ShadowRoot||e instanceof ShadowRoot)}var S$3$1={name:"applyStyles",enabled:true,phase:"write",fn:function(e){var t=e.state;Object.keys(t.elements).forEach(function(e){var i=t.styles[e]||{},s=t.attributes[e]||{},r=t.elements[e];b$3$1(r)&&v$3$1(r)&&(Object.assign(r.style,i),Object.keys(s).forEach(function(e){var t=s[e];false===t?r.removeAttribute(e):r.setAttribute(e,true===t?"":t);}));});},effect:function(e){var t=e.state,i={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,i.popper),t.styles=i,t.elements.arrow&&Object.assign(t.elements.arrow.style,i.arrow),function(){Object.keys(t.elements).forEach(function(e){var s=t.elements[e],r=t.attributes[e]||{},o=Object.keys(t.styles.hasOwnProperty(e)?t.styles[e]:i[e]).reduce(function(e,t){return e[t]="",e},{});b$3$1(s)&&v$3$1(s)&&(Object.assign(s.style,o),Object.keys(r).forEach(function(e){s.removeAttribute(e);}));});}},requires:["computeStyles"]};function _$4$1(e){return e.split("-")[0]}var A$3$1=Math.max,O=Math.min,k$6$1=Math.round;function T$3$1(){var e=navigator.userAgentData;return null!=e&&e.brands&&Array.isArray(e.brands)?e.brands.map(function(e){return e.brand+"/"+e.version}).join(" "):navigator.userAgent}function z$6$1(){return !/^((?!chrome|android).)*safari/i.test(T$3$1())}function E(e,t,i){ void 0===t&&(t=false),void 0===i&&(i=false);var s=e.getBoundingClientRect(),r=1,o=1;t&&b$3$1(e)&&(r=e.offsetWidth>0&&k$6$1(s.width)/e.offsetWidth||1,o=e.offsetHeight>0&&k$6$1(s.height)/e.offsetHeight||1);var n=(w$6$1(e)?y$6$1(e):window).visualViewport,a=!z$6$1()&&i,l=(s.left+(a&&n?n.offsetLeft:0))/r,c=(s.top+(a&&n?n.offsetTop:0))/o,p=s.width/r,d=s.height/o;return {width:p,height:d,top:c,right:l+p,bottom:c+d,left:l,x:l,y:c}}function M$6$1(e){var t=E(e),i=e.offsetWidth,s=e.offsetHeight;return Math.abs(t.width-i)<=1&&(i=t.width),Math.abs(t.height-s)<=1&&(s=t.height),{x:e.offsetLeft,y:e.offsetTop,width:i,height:s}}function B$3$1(e,t){var i=t.getRootNode&&t.getRootNode();if(e.contains(t))return true;if(i&&x$3$1(i)){var s=t;do{if(s&&e.isSameNode(s))return true;s=s.parentNode||s.host;}while(s)}return false}function L(e){return y$6$1(e).getComputedStyle(e)}function R$3$1(e){return ["table","td","th"].indexOf(v$3$1(e))>=0}function H$3$1(e){return ((w$6$1(e)?e.ownerDocument:e.document)||window.document).documentElement}function C$3$1(e){return "html"===v$3$1(e)?e:e.assignedSlot||e.parentNode||(x$3$1(e)?e.host:null)||H$3$1(e)}function D(e){return b$3$1(e)&&"fixed"!==L(e).position?e.offsetParent:null}function N$3$1(e){for(var t=y$6$1(e),i=D(e);i&&R$3$1(i)&&"static"===L(i).position;)i=D(i);return i&&("html"===v$3$1(i)||"body"===v$3$1(i)&&"static"===L(i).position)?t:i||function(e){var t=/firefox/i.test(T$3$1());if(/Trident/i.test(T$3$1())&&b$3$1(e)&&"fixed"===L(e).position)return null;var i=C$3$1(e);for(x$3$1(i)&&(i=i.host);b$3$1(i)&&["html","body"].indexOf(v$3$1(i))<0;){var s=L(i);if("none"!==s.transform||"none"!==s.perspective||"paint"===s.contain||-1!==["transform","perspective"].indexOf(s.willChange)||t&&"filter"===s.willChange||t&&s.filter&&"none"!==s.filter)return i;i=i.parentNode;}return null}(e)||t}function P(e){return ["top","bottom"].indexOf(e)>=0?"x":"y"}function j(e,t,i){return A$3$1(e,O(t,i))}function I(e){return Object.assign({},{top:0,right:0,bottom:0,left:0},e)}function q$3$1(e,t){return t.reduce(function(t,i){return t[i]=e,t},{})}var F={name:"arrow",enabled:true,phase:"main",fn:function(e){var t,i=e.state,s=e.name,l=e.options,p=i.elements.arrow,d=i.modifiersData.popperOffsets,f=_$4$1(i.placement),h=P(f),u=[a,n$1$1].indexOf(f)>=0?"height":"width";if(p&&d){var m=function(e,t){return I("number"!=typeof(e="function"==typeof e?e(Object.assign({},t.rects,{placement:t.placement})):e)?e:q$3$1(e,c$3$1))}(l.padding,i),g=M$6$1(p),v="y"===h?r$1$1:a,y="y"===h?o:n$1$1,w=i.rects.reference[u]+i.rects.reference[h]-d[h]-i.rects.popper[u],b=d[h]-i.rects.reference[h],x=N$3$1(p),S=x?"y"===h?x.clientHeight||0:x.clientWidth||0:0,A=w/2-b/2,O=m[v],k=S-g[u]-m[y],T=S/2-g[u]/2+A,z=j(O,T,k),E=h;i.modifiersData[s]=((t={})[E]=z,t.centerOffset=z-T,t);}},effect:function(e){var t=e.state,i=e.options.element,s=void 0===i?"[data-popper-arrow]":i;null!=s&&("string"!=typeof s||(s=t.elements.popper.querySelector(s)))&&B$3$1(t.elements.popper,s)&&(t.elements.arrow=s);},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function U$3$1(e){return e.split("-")[1]}var V={top:"auto",right:"auto",bottom:"auto",left:"auto"};function W(e){var t,i=e.popper,s=e.popperRect,l=e.placement,c=e.variation,p=e.offsets,f=e.position,h=e.gpuAcceleration,u=e.adaptive,m=e.roundOffsets,g=e.isFixed,v=p.x,w=void 0===v?0:v,b=p.y,x=void 0===b?0:b,S="function"==typeof m?m({x:w,y:x}):{x:w,y:x};w=S.x,x=S.y;var _=p.hasOwnProperty("x"),A=p.hasOwnProperty("y"),O=a,T=r$1$1,z=window;if(u){var E=N$3$1(i),M="clientHeight",B="clientWidth";if(E===y$6$1(i)&&"static"!==L(E=H$3$1(i)).position&&"absolute"===f&&(M="scrollHeight",B="scrollWidth"),l===r$1$1||(l===a||l===n$1$1)&&c===d$3$1)T=o,x-=(g&&E===z&&z.visualViewport?z.visualViewport.height:E[M])-s.height,x*=h?1:-1;if(l===a||(l===r$1$1||l===o)&&c===d$3$1)O=n$1$1,w-=(g&&E===z&&z.visualViewport?z.visualViewport.width:E[B])-s.width,w*=h?1:-1;}var R,C=Object.assign({position:f},u&&V),D=true===m?function(e,t){var i=e.x,s=e.y,r=t.devicePixelRatio||1;return {x:k$6$1(i*r)/r||0,y:k$6$1(s*r)/r||0}}({x:w,y:x},y$6$1(i)):{x:w,y:x};return w=D.x,x=D.y,h?Object.assign({},C,((R={})[T]=A?"0":"",R[O]=_?"0":"",R.transform=(z.devicePixelRatio||1)<=1?"translate("+w+"px, "+x+"px)":"translate3d("+w+"px, "+x+"px, 0)",R)):Object.assign({},C,((t={})[T]=A?x+"px":"",t[O]=_?w+"px":"",t.transform="",t))}var X={passive:true};var $={left:"right",right:"left",bottom:"top",top:"bottom"};function G(e){return e.replace(/left|right|bottom|top/g,function(e){return $[e]})}var K={start:"end",end:"start"};function Y(e){return e.replace(/start|end/g,function(e){return K[e]})}function J(e){var t=y$6$1(e);return {scrollLeft:t.pageXOffset,scrollTop:t.pageYOffset}}function Q(e){return E(H$3$1(e)).left+J(e).scrollLeft}function Z(e){var t=L(e),i=t.overflow,s=t.overflowX,r=t.overflowY;return /auto|scroll|overlay|hidden/.test(i+r+s)}function ee(e){return ["html","body","#document"].indexOf(v$3$1(e))>=0?e.ownerDocument.body:b$3$1(e)&&Z(e)?e:ee(C$3$1(e))}function te(e,t){var i;void 0===t&&(t=[]);var s=ee(e),r=s===(null==(i=e.ownerDocument)?void 0:i.body),o=y$6$1(s),n=r?[o].concat(o.visualViewport||[],Z(s)?s:[]):s,a=t.concat(n);return r?a:a.concat(te(C$3$1(n)))}function ie(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function se(e,t,i){return t===f$6$1?ie(function(e,t){var i=y$6$1(e),s=H$3$1(e),r=i.visualViewport,o=s.clientWidth,n=s.clientHeight,a=0,l=0;if(r){o=r.width,n=r.height;var c=z$6$1();(c||!c&&"fixed"===t)&&(a=r.offsetLeft,l=r.offsetTop);}return {width:o,height:n,x:a+Q(e),y:l}}(e,i)):w$6$1(t)?function(e,t){var i=E(e,false,"fixed"===t);return i.top=i.top+e.clientTop,i.left=i.left+e.clientLeft,i.bottom=i.top+e.clientHeight,i.right=i.left+e.clientWidth,i.width=e.clientWidth,i.height=e.clientHeight,i.x=i.left,i.y=i.top,i}(t,i):ie(function(e){var t,i=H$3$1(e),s=J(e),r=null==(t=e.ownerDocument)?void 0:t.body,o=A$3$1(i.scrollWidth,i.clientWidth,r?r.scrollWidth:0,r?r.clientWidth:0),n=A$3$1(i.scrollHeight,i.clientHeight,r?r.scrollHeight:0,r?r.clientHeight:0),a=-s.scrollLeft+Q(e),l=-s.scrollTop;return "rtl"===L(r||i).direction&&(a+=A$3$1(i.clientWidth,r?r.clientWidth:0)-o),{width:o,height:n,x:a,y:l}}(H$3$1(e)))}function re(e,t,i,s){var r="clippingParents"===t?function(e){var t=te(C$3$1(e)),i=["absolute","fixed"].indexOf(L(e).position)>=0&&b$3$1(e)?N$3$1(e):e;return w$6$1(i)?t.filter(function(e){return w$6$1(e)&&B$3$1(e,i)&&"body"!==v$3$1(e)}):[]}(e):[].concat(t),o=[].concat(r,[i]),n=o[0],a=o.reduce(function(t,i){var r=se(e,i,s);return t.top=A$3$1(r.top,t.top),t.right=O(r.right,t.right),t.bottom=O(r.bottom,t.bottom),t.left=A$3$1(r.left,t.left),t},se(e,n,s));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}function oe(e){var t,i=e.reference,s=e.element,l=e.placement,c=l?_$4$1(l):null,f=l?U$3$1(l):null,h=i.x+i.width/2-s.width/2,u=i.y+i.height/2-s.height/2;switch(c){case r$1$1:t={x:h,y:i.y-s.height};break;case o:t={x:h,y:i.y+i.height};break;case n$1$1:t={x:i.x+i.width,y:u};break;case a:t={x:i.x-s.width,y:u};break;default:t={x:i.x,y:i.y};}var m=c?P(c):null;if(null!=m){var g="y"===m?"height":"width";switch(f){case p$6$1:t[m]=t[m]-(i[g]/2-s[g]/2);break;case d$3$1:t[m]=t[m]+(i[g]/2-s[g]/2);}}return t}function ne(e,t){ void 0===t&&(t={});var i=t,s=i.placement,a=void 0===s?e.placement:s,l=i.strategy,p=void 0===l?e.strategy:l,d=i.boundary,u=void 0===d?"clippingParents":d,m=i.rootBoundary,g=void 0===m?f$6$1:m,v=i.elementContext,y=void 0===v?h$3$1:v,b=i.altBoundary,x=void 0!==b&&b,S=i.padding,_=void 0===S?0:S,A=I("number"!=typeof _?_:q$3$1(_,c$3$1)),O=y===h$3$1?"reference":h$3$1,k=e.rects.popper,T=e.elements[x?O:y],z=re(w$6$1(T)?T:T.contextElement||H$3$1(e.elements.popper),u,g,p),M=E(e.elements.reference),B=oe({reference:M,element:k,placement:a}),L=ie(Object.assign({},k,B)),R=y===h$3$1?L:M,C={top:z.top-R.top+A.top,bottom:R.bottom-z.bottom+A.bottom,left:z.left-R.left+A.left,right:R.right-z.right+A.right},D=e.modifiersData.offset;if(y===h$3$1&&D){var N=D[a];Object.keys(C).forEach(function(e){var t=[n$1$1,o].indexOf(e)>=0?1:-1,i=[r$1$1,o].indexOf(e)>=0?"y":"x";C[e]+=N[i]*t;});}return C}function ae(e,t){ void 0===t&&(t={});var i=t,s=i.placement,r=i.boundary,o=i.rootBoundary,n=i.padding,a=i.flipVariations,l=i.allowedAutoPlacements,p=void 0===l?m$6$1:l,d=U$3$1(s),f=d?a?u$6$1:u$6$1.filter(function(e){return U$3$1(e)===d}):c$3$1,h=f.filter(function(e){return p.indexOf(e)>=0});0===h.length&&(h=f);var g=h.reduce(function(t,i){return t[i]=ne(e,{placement:i,boundary:r,rootBoundary:o,padding:n})[_$4$1(i)],t},{});return Object.keys(g).sort(function(e,t){return g[e]-g[t]})}var le={name:"flip",enabled:true,phase:"main",fn:function(e){var t=e.state,i=e.options,s=e.name;if(!t.modifiersData[s]._skip){for(var c=i.mainAxis,d=void 0===c||c,f=i.altAxis,h=void 0===f||f,u=i.fallbackPlacements,m=i.padding,g=i.boundary,v=i.rootBoundary,y=i.altBoundary,w=i.flipVariations,b=void 0===w||w,x=i.allowedAutoPlacements,S=t.options.placement,A=_$4$1(S),O=u||(A===S||!b?[G(S)]:function(e){if(_$4$1(e)===l$3$1)return [];var t=G(e);return [Y(e),t,Y(t)]}(S)),k=[S].concat(O).reduce(function(e,i){return e.concat(_$4$1(i)===l$3$1?ae(t,{placement:i,boundary:g,rootBoundary:v,padding:m,flipVariations:b,allowedAutoPlacements:x}):i)},[]),T=t.rects.reference,z=t.rects.popper,E=new Map,M=true,B=k[0],L=0;L<k.length;L++){var R=k[L],H=_$4$1(R),C=U$3$1(R)===p$6$1,D=[r$1$1,o].indexOf(H)>=0,N=D?"width":"height",P=ne(t,{placement:R,boundary:g,rootBoundary:v,altBoundary:y,padding:m}),j=D?C?n$1$1:a:C?o:r$1$1;T[N]>z[N]&&(j=G(j));var I=G(j),q=[];if(d&&q.push(P[H]<=0),h&&q.push(P[j]<=0,P[I]<=0),q.every(function(e){return e})){B=R,M=false;break}E.set(R,q);}if(M)for(var F=function(e){var t=k.find(function(t){var i=E.get(t);if(i)return i.slice(0,e).every(function(e){return e})});if(t)return B=t,"break"},V=b?3:1;V>0;V--){if("break"===F(V))break}t.placement!==B&&(t.modifiersData[s]._skip=true,t.placement=B,t.reset=true);}},requiresIfExists:["offset"],data:{_skip:false}};function ce(e,t,i){return void 0===i&&(i={x:0,y:0}),{top:e.top-t.height-i.y,right:e.right-t.width+i.x,bottom:e.bottom-t.height+i.y,left:e.left-t.width-i.x}}function pe(e){return [r$1$1,n$1$1,o,a].some(function(t){return e[t]>=0})}var de={name:"offset",enabled:true,phase:"main",requires:["popperOffsets"],fn:function(e){var t=e.state,i=e.options,s=e.name,o=i.offset,l=void 0===o?[0,0]:o,c=m$6$1.reduce(function(e,i){return e[i]=function(e,t,i){var s=_$4$1(e),o=[a,r$1$1].indexOf(s)>=0?-1:1,l="function"==typeof i?i(Object.assign({},t,{placement:e})):i,c=l[0],p=l[1];return c=c||0,p=(p||0)*o,[a,n$1$1].indexOf(s)>=0?{x:p,y:c}:{x:c,y:p}}(i,t.rects,l),e},{}),p=c[t.placement],d=p.x,f=p.y;null!=t.modifiersData.popperOffsets&&(t.modifiersData.popperOffsets.x+=d,t.modifiersData.popperOffsets.y+=f),t.modifiersData[s]=c;}};var fe={name:"preventOverflow",enabled:true,phase:"main",fn:function(e){var t=e.state,i=e.options,s=e.name,l=i.mainAxis,c=void 0===l||l,d=i.altAxis,f=void 0!==d&&d,h=i.boundary,u=i.rootBoundary,m=i.altBoundary,g=i.padding,v=i.tether,y=void 0===v||v,w=i.tetherOffset,b=void 0===w?0:w,x=ne(t,{boundary:h,rootBoundary:u,padding:g,altBoundary:m}),S=_$4$1(t.placement),k=U$3$1(t.placement),T=!k,z=P(S),E="x"===z?"y":"x",B=t.modifiersData.popperOffsets,L=t.rects.reference,R=t.rects.popper,H="function"==typeof b?b(Object.assign({},t.rects,{placement:t.placement})):b,C="number"==typeof H?{mainAxis:H,altAxis:H}:Object.assign({mainAxis:0,altAxis:0},H),D=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,I={x:0,y:0};if(B){if(c){var q,F="y"===z?r$1$1:a,V="y"===z?o:n$1$1,W="y"===z?"height":"width",X=B[z],$=X+x[F],G=X-x[V],K=y?-R[W]/2:0,Y=k===p$6$1?L[W]:R[W],J=k===p$6$1?-R[W]:-L[W],Q=t.elements.arrow,Z=y&&Q?M$6$1(Q):{width:0,height:0},ee=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},te=ee[F],ie=ee[V],se=j(0,L[W],Z[W]),re=T?L[W]/2-K-se-te-C.mainAxis:Y-se-te-C.mainAxis,oe=T?-L[W]/2+K+se+ie+C.mainAxis:J+se+ie+C.mainAxis,ae=t.elements.arrow&&N$3$1(t.elements.arrow),le=ae?"y"===z?ae.clientTop||0:ae.clientLeft||0:0,ce=null!=(q=null==D?void 0:D[z])?q:0,pe=X+oe-ce,de=j(y?O($,X+re-ce-le):$,X,y?A$3$1(G,pe):G);B[z]=de,I[z]=de-X;}if(f){var fe,he="x"===z?r$1$1:a,ue="x"===z?o:n$1$1,me=B[E],ge="y"===E?"height":"width",ve=me+x[he],ye=me-x[ue],we=-1!==[r$1$1,a].indexOf(S),be=null!=(fe=null==D?void 0:D[E])?fe:0,xe=we?ve:me-L[ge]-R[ge]-be+C.altAxis,Se=we?me+L[ge]+R[ge]-be-C.altAxis:ye,_e=y&&we?function(e,t,i){var s=j(e,t,i);return s>i?i:s}(xe,me,Se):j(y?xe:ve,me,y?Se:ye);B[E]=_e,I[E]=_e-me;}t.modifiersData[s]=I;}},requiresIfExists:["offset"]};function he(e,t,i){ void 0===i&&(i=false);var s,r,o=b$3$1(t),n=b$3$1(t)&&function(e){var t=e.getBoundingClientRect(),i=k$6$1(t.width)/e.offsetWidth||1,s=k$6$1(t.height)/e.offsetHeight||1;return 1!==i||1!==s}(t),a=H$3$1(t),l=E(e,n,i),c={scrollLeft:0,scrollTop:0},p={x:0,y:0};return (o||!o&&!i)&&(("body"!==v$3$1(t)||Z(a))&&(c=(s=t)!==y$6$1(s)&&b$3$1(s)?{scrollLeft:(r=s).scrollLeft,scrollTop:r.scrollTop}:J(s)),b$3$1(t)?((p=E(t,true)).x+=t.clientLeft,p.y+=t.clientTop):a&&(p.x=Q(a))),{x:l.left+c.scrollLeft-p.x,y:l.top+c.scrollTop-p.y,width:l.width,height:l.height}}function ue(e){var t=new Map,i=new Set,s=[];function r(e){i.add(e.name),[].concat(e.requires||[],e.requiresIfExists||[]).forEach(function(e){if(!i.has(e)){var s=t.get(e);s&&r(s);}}),s.push(e);}return e.forEach(function(e){t.set(e.name,e);}),e.forEach(function(e){i.has(e.name)||r(e);}),s}var me={placement:"bottom",modifiers:[],strategy:"absolute"};function ge(){for(var e=arguments.length,t=new Array(e),i=0;i<e;i++)t[i]=arguments[i];return !t.some(function(e){return !(e&&"function"==typeof e.getBoundingClientRect)})}function ve(e){ void 0===e&&(e={});var t=e,i=t.defaultModifiers,s=void 0===i?[]:i,r=t.defaultOptions,o=void 0===r?me:r;return function(e,t,i){ void 0===i&&(i=o);var r,n,a={placement:"bottom",orderedModifiers:[],options:Object.assign({},me,o),modifiersData:{},elements:{reference:e,popper:t},attributes:{},styles:{}},l=[],c=false,p={state:a,setOptions:function(i){var r="function"==typeof i?i(a.options):i;d(),a.options=Object.assign({},o,a.options,r),a.scrollParents={reference:w$6$1(e)?te(e):e.contextElement?te(e.contextElement):[],popper:te(t)};var n,c,f=function(e){var t=ue(e);return g$6$1.reduce(function(e,i){return e.concat(t.filter(function(e){return e.phase===i}))},[])}((n=[].concat(s,a.options.modifiers),c=n.reduce(function(e,t){var i=e[t.name];return e[t.name]=i?Object.assign({},i,t,{options:Object.assign({},i.options,t.options),data:Object.assign({},i.data,t.data)}):t,e},{}),Object.keys(c).map(function(e){return c[e]})));return a.orderedModifiers=f.filter(function(e){return e.enabled}),a.orderedModifiers.forEach(function(e){var t=e.name,i=e.options,s=void 0===i?{}:i,r=e.effect;if("function"==typeof r){var o=r({state:a,name:t,instance:p,options:s}),n=function(){};l.push(o||n);}}),p.update()},forceUpdate:function(){if(!c){var e=a.elements,t=e.reference,i=e.popper;if(ge(t,i)){a.rects={reference:he(t,N$3$1(i),"fixed"===a.options.strategy),popper:M$6$1(i)},a.reset=false,a.placement=a.options.placement,a.orderedModifiers.forEach(function(e){return a.modifiersData[e.name]=Object.assign({},e.data)});for(var s=0;s<a.orderedModifiers.length;s++)if(true!==a.reset){var r=a.orderedModifiers[s],o=r.fn,n=r.options,l=void 0===n?{}:n,d=r.name;"function"==typeof o&&(a=o({state:a,options:l,name:d,instance:p})||a);}else a.reset=false,s=-1;}}},update:(r=function(){return new Promise(function(e){p.forceUpdate(),e(a);})},function(){return n||(n=new Promise(function(e){Promise.resolve().then(function(){n=void 0,e(r());});})),n}),destroy:function(){d(),c=true;}};if(!ge(e,t))return p;function d(){l.forEach(function(e){return e()}),l=[];}return p.setOptions(i).then(function(e){!c&&i.onFirstUpdate&&i.onFirstUpdate(e);}),p}}var ye=ve({defaultModifiers:[{name:"eventListeners",enabled:true,phase:"write",fn:function(){},effect:function(e){var t=e.state,i=e.instance,s=e.options,r=s.scroll,o=void 0===r||r,n=s.resize,a=void 0===n||n,l=y$6$1(t.elements.popper),c=[].concat(t.scrollParents.reference,t.scrollParents.popper);return o&&c.forEach(function(e){e.addEventListener("scroll",i.update,X);}),a&&l.addEventListener("resize",i.update,X),function(){o&&c.forEach(function(e){e.removeEventListener("scroll",i.update,X);}),a&&l.removeEventListener("resize",i.update,X);}},data:{}},{name:"popperOffsets",enabled:true,phase:"read",fn:function(e){var t=e.state,i=e.name;t.modifiersData[i]=oe({reference:t.rects.reference,element:t.rects.popper,placement:t.placement});},data:{}},{name:"computeStyles",enabled:true,phase:"beforeWrite",fn:function(e){var t=e.state,i=e.options,s=i.gpuAcceleration,r=void 0===s||s,o=i.adaptive,n=void 0===o||o,a=i.roundOffsets,l=void 0===a||a,c={placement:_$4$1(t.placement),variation:U$3$1(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:r,isFixed:"fixed"===t.options.strategy};null!=t.modifiersData.popperOffsets&&(t.styles.popper=Object.assign({},t.styles.popper,W(Object.assign({},c,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:n,roundOffsets:l})))),null!=t.modifiersData.arrow&&(t.styles.arrow=Object.assign({},t.styles.arrow,W(Object.assign({},c,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:false,roundOffsets:l})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement});},data:{}},S$3$1,de,le,fe,F,{name:"hide",enabled:true,phase:"main",requiresIfExists:["preventOverflow"],fn:function(e){var t=e.state,i=e.name,s=t.rects.reference,r=t.rects.popper,o=t.modifiersData.preventOverflow,n=ne(t,{elementContext:"reference"}),a=ne(t,{altBoundary:true}),l=ce(n,s),c=ce(a,r,o),p=pe(l),d=pe(c);t.modifiersData[i]={referenceClippingOffsets:l,popperEscapeOffsets:c,isReferenceHidden:p,hasPopperEscaped:d},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":p,"data-popper-escaped":d});}}]});class we{constructor(e,t,i,s){this.anchor=e,this.popover=t,this.boundaryElement=this.setBoundary(s),this.options={placement:i,visibleClass:"data-show"},this.popover.classList.remove(this.options.visibleClass);}setBoundary(e){return "string"==typeof e?document.querySelector(e)||document.body:e||document.body}show(){this.popper&&this.popper.destroy(),this.popper=ye(this.anchor,this.popover,{tooltip:this.anchor,placement:this.options.placement,modifiers:[{name:"offset",options:{offset:[0,18]}},{name:"preventOverflow",options:{mainAxis:true,boundary:this.boundaryElement,rootBoundary:"document",padding:16}}]});}triggerUpdate(){this.popper.update();}hide(){this.popover.classList.remove(this.options.visibleClass);}}var be=i$7`::slotted(*):not([onDark]),::slotted(*):not([appearance=inverse]){color:var(--ds-auro-popover-text-color)}.popover{background-color:var(--ds-auro-popover-container-color);box-shadow:var(--ds-auro-popover-boxshadow-color)}.arrow:before{background-color:var(--ds-auro-popover-container-color);box-shadow:2px 2px 1px 0 var(--ds-auro-popover-boxshadow-color)}
16034
16033
  `,xe=i$7`.body-default{font-size:var(--wcss-body-default-font-size, 1rem);line-height:var(--wcss-body-default-line-height, 1.5rem)}.body-default,.body-lg{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-weight, 450);letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-lg{font-size:var(--wcss-body-lg-font-size, 1.125rem);line-height:var(--wcss-body-lg-line-height, 1.625rem)}.body-sm{font-size:var(--wcss-body-sm-font-size, .875rem);line-height:var(--wcss-body-sm-line-height, 1.25rem)}.body-sm,.body-xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-weight, 450);letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-xs{font-size:var(--wcss-body-xs-font-size, .75rem);line-height:var(--wcss-body-xs-line-height, 1rem)}.body-2xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:var(--wcss-body-2xs-font-size, .625rem);font-weight:var(--wcss-body-weight, 450);letter-spacing:var(--wcss-body-letter-spacing, 0);line-height:var(--wcss-body-2xs-line-height, .875rem)}.display-2xl{font-family:var(--wcss-display-2xl-family, "AS Circular"),var(--wcss-display-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-2xl-font-size, clamp(3.5rem, 6vw, 5.375rem));font-weight:var(--wcss-display-2xl-weight, 300);letter-spacing:var(--wcss-display-2xl-letter-spacing, 0);line-height:var(--wcss-display-2xl-line-height, 1.3)}.display-xl{font-family:var(--wcss-display-xl-family, "AS Circular"),var(--wcss-display-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-xl-font-size, clamp(3rem, 5.3333333333vw, 4.5rem));font-weight:var(--wcss-display-xl-weight, 300);letter-spacing:var(--wcss-display-xl-letter-spacing, 0);line-height:var(--wcss-display-xl-line-height, 1.3)}.display-lg{font-family:var(--wcss-display-lg-family, "AS Circular"),var(--wcss-display-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-lg-font-size, clamp(2.75rem, 4.6666666667vw, 4rem));font-weight:var(--wcss-display-lg-weight, 300);letter-spacing:var(--wcss-display-lg-letter-spacing, 0);line-height:var(--wcss-display-lg-line-height, 1.3)}.display-md{font-family:var(--wcss-display-md-family, "AS Circular"),var(--wcss-display-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-md-font-size, clamp(2.5rem, 4vw, 3.5rem));font-weight:var(--wcss-display-md-weight, 300);letter-spacing:var(--wcss-display-md-letter-spacing, 0);line-height:var(--wcss-display-md-line-height, 1.3)}.display-sm{font-family:var(--wcss-display-sm-family, "AS Circular"),var(--wcss-display-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-sm-font-size, clamp(2rem, 3.6666666667vw, 3rem));font-weight:var(--wcss-display-sm-weight, 300);letter-spacing:var(--wcss-display-sm-letter-spacing, 0);line-height:var(--wcss-display-sm-line-height, 1.3)}.display-xs{font-family:var(--wcss-display-xs-family, "AS Circular"),var(--wcss-display-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-xs-font-size, clamp(1.75rem, 3vw, 2.375rem));font-weight:var(--wcss-display-xs-weight, 300);letter-spacing:var(--wcss-display-xs-letter-spacing, 0);line-height:var(--wcss-display-xs-line-height, 1.3)}.heading-xl{font-family:var(--wcss-heading-xl-family, "AS Circular"),var(--wcss-heading-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-xl-font-size, clamp(2rem, 3vw, 2.5rem));font-weight:var(--wcss-heading-xl-weight, 300);letter-spacing:var(--wcss-heading-xl-letter-spacing, 0);line-height:var(--wcss-heading-xl-line-height, 1.3)}.heading-lg{font-family:var(--wcss-heading-lg-family, "AS Circular"),var(--wcss-heading-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-lg-font-size, clamp(1.75rem, 2.6666666667vw, 2.25rem));font-weight:var(--wcss-heading-lg-weight, 300);letter-spacing:var(--wcss-heading-lg-letter-spacing, 0);line-height:var(--wcss-heading-lg-line-height, 1.3)}.heading-md{font-family:var(--wcss-heading-md-family, "AS Circular"),var(--wcss-heading-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-md-font-size, clamp(1.625rem, 2.3333333333vw, 1.75rem));font-weight:var(--wcss-heading-md-weight, 300);letter-spacing:var(--wcss-heading-md-letter-spacing, 0);line-height:var(--wcss-heading-md-line-height, 1.3)}.heading-sm{font-family:var(--wcss-heading-sm-family, "AS Circular"),var(--wcss-heading-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-sm-font-size, clamp(1.375rem, 2vw, 1.5rem));font-weight:var(--wcss-heading-sm-weight, 300);letter-spacing:var(--wcss-heading-sm-letter-spacing, 0);line-height:var(--wcss-heading-sm-line-height, 1.3)}.heading-xs{font-family:var(--wcss-heading-xs-family, "AS Circular"),var(--wcss-heading-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-xs-font-size, clamp(1.25rem, 1.6666666667vw, 1.25rem));font-weight:var(--wcss-heading-xs-weight, 450);letter-spacing:var(--wcss-heading-xs-letter-spacing, 0);line-height:var(--wcss-heading-xs-line-height, 1.3)}.heading-2xs{font-family:var(--wcss-heading-2xs-family, "AS Circular"),var(--wcss-heading-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-2xs-font-size, clamp(1.125rem, 1.5vw, 1.125rem));font-weight:var(--wcss-heading-2xs-weight, 450);letter-spacing:var(--wcss-heading-2xs-letter-spacing, 0);line-height:var(--wcss-heading-2xs-line-height, 1.3)}.accent-2xl{font-family:var(--wcss-accent-2xl-family, "Good OT"),var(--wcss-accent-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-2xl-font-size, clamp(2rem, 3.1666666667vw, 2.375rem));font-weight:var(--wcss-accent-2xl-weight, 450);letter-spacing:var(--wcss-accent-2xl-letter-spacing, .05em);line-height:var(--wcss-accent-2xl-line-height, 1)}.accent-2xl,.accent-xl{text-transform:uppercase}.accent-xl{font-family:var(--wcss-accent-xl-family, "Good OT"),var(--wcss-accent-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-xl-font-size, clamp(1.625rem, 2.3333333333vw, 2rem));font-weight:var(--wcss-accent-xl-weight, 450);letter-spacing:var(--wcss-accent-xl-letter-spacing, .05em);line-height:var(--wcss-accent-xl-line-height, 1.3)}.accent-lg{font-family:var(--wcss-accent-lg-family, "Good OT"),var(--wcss-accent-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-lg-font-size, clamp(1.5rem, 2.1666666667vw, 1.75rem));font-weight:var(--wcss-accent-lg-weight, 450);letter-spacing:var(--wcss-accent-lg-letter-spacing, .05em);line-height:var(--wcss-accent-lg-line-height, 1.3)}.accent-lg,.accent-md{text-transform:uppercase}.accent-md{font-family:var(--wcss-accent-md-family, "Good OT"),var(--wcss-accent-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-md-font-size, clamp(1.375rem, 1.8333333333vw, 1.5rem));font-weight:var(--wcss-accent-md-weight, 500);letter-spacing:var(--wcss-accent-md-letter-spacing, .05em);line-height:var(--wcss-accent-md-line-height, 1.3)}.accent-sm{font-family:var(--wcss-accent-sm-family, "Good OT"),var(--wcss-accent-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-sm-font-size, clamp(1.125rem, 1.5vw, 1.25rem));font-weight:var(--wcss-accent-sm-weight, 500);letter-spacing:var(--wcss-accent-sm-letter-spacing, .05em);line-height:var(--wcss-accent-sm-line-height, 1.3)}.accent-sm,.accent-xs{text-transform:uppercase}.accent-xs{font-family:var(--wcss-accent-xs-family, "Good OT"),var(--wcss-accent-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-xs-font-size, clamp(1rem, 1.3333333333vw, 1rem));font-weight:var(--wcss-accent-xs-weight, 500);letter-spacing:var(--wcss-accent-xs-letter-spacing, .1em);line-height:var(--wcss-accent-xs-line-height, 1.3)}.accent-2xs{font-family:var(--wcss-accent-2xs-family, "Good OT"),var(--wcss-accent-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-2xs-font-size, clamp(.875rem, 1.1666666667vw, .875rem));font-weight:var(--wcss-accent-2xs-weight, 450);letter-spacing:var(--wcss-accent-2xs-letter-spacing, .1em);line-height:var(--wcss-accent-2xs-line-height, 1.3);text-transform:uppercase}:focus:not(:focus-visible){outline:3px solid transparent}.util_displayInline{display:inline}.util_displayInlineBlock{display:inline-block}.util_displayBlock{display:block}.util_displayFlex{display:flex}.util_displayHidden,:host(:not([data-show])) .popover,:host([disabled]) .popover,:host([addSpace]) :host(:not([data-show])) .popover{display:none}.util_displayHiddenVisually{position:absolute;overflow:hidden;clip:rect(1px,1px,1px,1px);width:1px;height:1px;padding:0;border:0}.util_insetNone{padding:0}.util_insetXxxs{padding:.125rem}.util_insetXxxs--stretch{padding:.25rem .125rem}.util_insetXxxs--squish{padding:0 .125rem}.util_insetXxs{padding:.25rem}.util_insetXxs--stretch{padding:.375rem .25rem}.util_insetXxs--squish{padding:.125rem .25rem}.util_insetXs{padding:.5rem}.util_insetXs--stretch{padding:.75rem .5rem}.util_insetXs--squish{padding:.25rem .5rem}.util_insetSm{padding:.75rem}.util_insetSm--stretch{padding:1.125rem .75rem}.util_insetSm--squish{padding:.375rem .75rem}.util_insetMd{padding:1rem}.util_insetMd--stretch{padding:1.5rem 1rem}.util_insetMd--squish{padding:.5rem 1rem}.util_insetLg{padding:1.5rem}.util_insetLg--stretch{padding:2.25rem 1.5rem}.util_insetLg--squish{padding:.75rem 1.5rem}.util_insetXl{padding:2rem}.util_insetXl--stretch{padding:3rem 2rem}.util_insetXl--squish{padding:1rem 2rem}.util_insetXxl{padding:3rem}.util_insetXxl--stretch{padding:4.5rem 3rem}.util_insetXxl--squish{padding:1.5rem 3rem}.util_insetXxxl{padding:4rem}.util_insetXxxl--stretch{padding:6rem 4rem}.util_insetXxxl--squish{padding:2rem 4rem}::slotted(*){white-space:normal}::slotted(*:hover){cursor:pointer}[data-trigger-placement]::slotted(*:hover){position:relative}[data-trigger-placement]::slotted(*:hover):before{position:absolute;left:0;display:block;width:100%;height:calc(var(--ds-size-200, 1rem) + var(--ds-size-50, .25rem));content:""}[data-trigger-placement^=top]::slotted(*:hover):before{top:calc(-1 * (var(--ds-size-200, 1rem) + var(--ds-size-50, .25rem)))}[data-trigger-placement^=bottom]::slotted(*:hover):before{bottom:calc(-1 * (var(--ds-size-200, 1rem) + var(--ds-size-50, .25rem)))}:host([data-show]) .popover{z-index:var(--ds-depth-tooltip, 400)}:host([removeSpace]) .popover{margin:calc(-1 * (var(--ds-size-50, .25rem) + 1px)) 0!important}:host([addSpace]) .popover{margin:var(--ds-size-200, 1rem) 0!important}:host([addSpace]) [data-trigger-placement]::slotted(*:hover):before{height:var(--ds-size-500, 2.5rem)}:host([addSpace]) [data-trigger-placement^=top]::slotted(*:hover):before{top:calc(-1 * var(--ds-size-500, 2.5rem))}:host([addSpace]) [data-trigger-placement^=bottom]::slotted(*:hover):before{bottom:calc(-1 * var(--ds-size-500, 2.5rem))}.popover{display:inline-block;max-width:calc(100% - var(--ds-size-400, 2rem));border-radius:var(--ds-border-radius, .375rem)}@media screen and (min-width:576px){.popover{max-width:50%}}@media screen and (min-width:768px){.popover{max-width:40%}}@media screen and (min-width:1024px){.popover{max-width:27rem}}[data-popper-placement^=top]>.arrow{bottom:calc(-1 * (var(--ds-size-100, .5rem) + var(--ds-size-25, .125rem)))}[data-popper-placement^=top]>.arrow:before{top:calc(-1 * var(--ds-size-200, 1rem));left:calc(-1 * var(--ds-size-75, .375rem));transform:rotate(45deg)}[data-popper-placement^=bottom]>.arrow{top:calc(-1 * (var(--ds-size-100, .5rem) + var(--ds-size-25, .125rem)))}[data-popper-placement^=bottom]>.arrow:before{top:var(--ds-size-50, .25rem);right:calc(-1 * var(--ds-size-200, 1rem));transform:rotate(-135deg)}.arrow{position:relative;margin-top:-var(--ds-size-100,.5rem)}.arrow:before{position:absolute;width:var(--ds-size-150, .75rem);height:var(--ds-size-150, .75rem);content:""}
16035
16034
  `,Se=i$7`:host{--ds-auro-popover-boxshadow-color: var(--ds-elevation-200, 0px 0px 10px rgba(0, 0, 0, .15));--ds-auro-popover-container-color: var(--ds-basic-color-surface-default, #ffffff);--ds-auro-popover-text-color: var(--ds-basic-color-texticon-default, #2a2a2a)}
16036
- `;class _e extends i$4{constructor(){super(),this.placement="top",this._onTouchStart=null,this._onTriggerMouseEnter=null,this._onTriggerMouseLeave=null,this._onTriggerFocus=null,this._onTriggerBlur=null,this._onTriggerKeydown=null,this._onHidePopover=null,this._onBodyMouseover=null,this._onSlotChange=null,this._addedTabIndex=false;}_initializeDefaults(){this.isPopoverVisible=false,this.runtimeUtils=new s$3;}static get properties(){return {addSpace:{type:Boolean,reflect:true},boundary:{type:String},disabled:{type:Boolean,reflect:true},for:{type:String,reflect:true},placement:{type:String},removeSpace:{type:Boolean,reflect:true}}}static get styles(){return [i$7`${xe}`,i$7`${be}`,i$7`${Se}`]}static register(e="auro-popover"){s$3.prototype.registerComponent(e,_e);}connectedCallback(){super.connectedCallback(),this._initializeDefaults(),this._onTouchStart||(this._onTouchStart=()=>{this.toggle();}),this.addEventListener("touchstart",this._onTouchStart);}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("touchstart",this._onTouchStart),this.trigger&&(this._onTriggerMouseEnter&&this._eventTarget.removeEventListener("mouseenter",this._onTriggerMouseEnter),this._onTriggerMouseLeave&&this._eventTarget.removeEventListener("mouseleave",this._onTriggerMouseLeave),this._onTriggerFocus&&this.trigger.removeEventListener("focus",this._onTriggerFocus),this._onTriggerBlur&&this.trigger.removeEventListener("blur",this._onTriggerBlur),this._onTriggerKeydown&&this.trigger.removeEventListener("keydown",this._onTriggerKeydown),this._onSlotChange&&this.shadowRoot?.querySelector("slot:not([name])")?.removeEventListener("slotchange",this._onSlotChange),this.trigger.removeAttribute("aria-description"),this._addedTabIndex&&"0"===this.trigger.getAttribute("tabindex")&&this.trigger.removeAttribute("tabindex")),this._onHidePopover&&this.removeEventListener("hidePopover",this._onHidePopover),this._onBodyMouseover&&document.body.removeEventListener("mouseover",this._onBodyMouseover),this.popper?.popper&&"function"==typeof this.popper.popper.destroy&&(this.popper.popper.destroy(),this.popper.popper=null);}firstUpdated(){if(this.runtimeUtils.handleComponentTagRename(this,"auro-popover"),this.for&&(this.trigger=document.querySelector(`#${this.for}`)||this.getRootNode().querySelector(`#${this.for}`)),this.trigger||([this.trigger]=this.shadowRoot.querySelector('slot[name="trigger"]').assignedElements()),!this.trigger)return;const e=this.trigger.tabIndex>=0,t=!!this.trigger.shadowRoot&&Boolean(this.trigger.shadowRoot.querySelector('button:not([disabled]), a[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])'));e||t||this.trigger.hasAttribute("tabindex")||(this.trigger.setAttribute("tabindex","0"),this._addedTabIndex=true);const i=this.shadowRoot.querySelector("slot:not([name])"),s=()=>i.assignedNodes({flatten:true}).map(e=>e.textContent??"").join(" ").replace(/\s+/g," ").trim();this.trigger.setAttribute("aria-description",s()),this._onSlotChange=()=>{this.trigger?.setAttribute("aria-description",s());},i.addEventListener("slotchange",this._onSlotChange),this.auroPopover=this.shadowRoot.querySelector("#popover"),this.popper=new we(this.trigger,this.auroPopover,this.placement,this.boundary),this._onBodyMouseover=e=>this.handleMouseoverEvent(e),this._onTriggerMouseEnter=()=>{this.toggleShow();},this._onTriggerMouseLeave=()=>{this.toggleHide();},this._onTriggerFocus=()=>{this.toggleShow();},this._onTriggerBlur=()=>{this.toggleHide();},this._onTriggerKeydown=e=>{const t=e.key.toLowerCase();this.isPopoverVisible&&("tab"!==t&&"escape"!==t||this.toggleHide())," "!==t&&"enter"!==t||(" "===t&&this._addedTabIndex&&e.preventDefault(),this.toggle());},this._onHidePopover=()=>{this.toggleHide();},this._eventTarget=this.trigger.parentElement.localName===this.localName?this:this.trigger,this._eventTarget.addEventListener("mouseenter",this._onTriggerMouseEnter),this._eventTarget.addEventListener("mouseleave",this._onTriggerMouseLeave),this.trigger.addEventListener("keydown",this._onTriggerKeydown),this.trigger.addEventListener("focus",this._onTriggerFocus),this.trigger.addEventListener("blur",this._onTriggerBlur),this.addEventListener("hidePopover",this._onHidePopover);}toggle(){this.popper&&(this.isPopoverVisible?this.toggleHide():this.toggleShow());}toggleHide(){this.isPopoverVisible=false,this.removeAttribute("data-show"),this._onBodyMouseover&&document.body.removeEventListener("mouseover",this._onBodyMouseover),this.popper&&this.popper.hide();}toggleShow(){this.popper&&(this.popper.show(),this.isPopoverVisible=true,this.setAttribute("data-show","true"),document.body.addEventListener("mouseover",this._onBodyMouseover));}handleMouseoverEvent(e){this.isPopoverVisible&&!e.composedPath().includes(this)&&this.toggleHide();}updated(e){e.has("boundary")&&this.popper&&(this.popper.boundaryElement=this.popper.setBoundary(this.boundary));}render(){return b$7`
16037
- <div id="popover" class="popover util_insetLg body-default" part="popover">
16035
+ `;class _e extends i$4{constructor(){super(),this.placement="top",this.isPopoverVisible=false,this._onTouchStart=null,this._onTriggerMouseEnter=null,this._onTriggerMouseLeave=null,this._onTriggerFocus=null,this._onTriggerBlur=null,this._onTriggerKeydown=null,this._onHidePopover=null,this._onBodyMouseover=null,this._onSlotChange=null,this._addedTabIndex=false;}_initializeDefaults(){this.runtimeUtils=new s$3;}static get properties(){return {addSpace:{type:Boolean,reflect:true},boundary:{type:String},disabled:{type:Boolean,reflect:true},for:{type:String,reflect:true},placement:{type:String},removeSpace:{type:Boolean,reflect:true},isPopoverVisible:{type:Boolean,reflect:true,attribute:"data-show",converter:{fromAttribute:e=>null!==e,toAttribute:e=>e?"true":null}}}}static get styles(){return [i$7`${xe}`,i$7`${be}`,i$7`${Se}`]}static register(e="auro-popover"){s$3.prototype.registerComponent(e,_e);}connectedCallback(){super.connectedCallback(),this.hasAttribute("role")||this.setAttribute("role","none"),this._initializeDefaults(),this._onTouchStart||(this._onTouchStart=()=>{this.toggle();}),this.addEventListener("touchstart",this._onTouchStart);}disconnectedCallback(){if(super.disconnectedCallback(),this.removeEventListener("touchstart",this._onTouchStart),this.trigger){this._onTriggerMouseEnter&&this._eventTarget.removeEventListener("mouseenter",this._onTriggerMouseEnter),this._onTriggerMouseLeave&&this._eventTarget.removeEventListener("mouseleave",this._onTriggerMouseLeave),this._onTriggerFocus&&this.trigger.removeEventListener("focusin",this._onTriggerFocus),this._onTriggerBlur&&this.trigger.removeEventListener("focusout",this._onTriggerBlur),this._onTriggerKeydown&&this.trigger.removeEventListener("keydown",this._onTriggerKeydown),this._onSlotChange&&this.shadowRoot?.querySelector("slot:not([name])")?.removeEventListener("slotchange",this._onSlotChange);for(const e of this._ariaDescriptionTargets||[this.trigger])e.removeAttribute("aria-description");this._addedTabIndex&&"0"===this.trigger.getAttribute("tabindex")&&this.trigger.removeAttribute("tabindex");}this._onHidePopover&&this.removeEventListener("hidePopover",this._onHidePopover),this._onBodyMouseover&&document.body.removeEventListener("mouseover",this._onBodyMouseover),this.popper?.popper&&"function"==typeof this.popper.popper.destroy&&(this.popper.popper.destroy(),this.popper.popper=null);}firstUpdated(){this.runtimeUtils.handleComponentTagRename(this,"auro-popover"),this.for&&(this.trigger=document.querySelector(`#${this.for}`)||this.getRootNode().querySelector(`#${this.for}`)),this.trigger||([this.trigger]=this.shadowRoot.querySelector('slot[name="trigger"]').assignedElements()),this.trigger&&(this._setupAccessibility(),this._setupEventListeners(),this.isPopoverVisible&&this.popper&&(this.disabled?this.isPopoverVisible=false:(this.popper.show(),document.body.addEventListener("mouseover",this._onBodyMouseover))));}_setupEventListeners(){this.auroPopover=this.shadowRoot.querySelector("#popover"),this.popper=new we(this.trigger,this.auroPopover,this.placement,this.boundary),this._onBodyMouseover=e=>this.handleMouseoverEvent(e),this._onTriggerMouseEnter=()=>{this.toggleShow();},this._onTriggerMouseLeave=()=>{this.toggleHide();},this._onTriggerFocus=()=>{this.toggleShow();},this._onTriggerBlur=e=>{let t=e.relatedTarget,i=false;for(;t;){if(this.trigger.contains(t)||this.contains(t)){i=true;break}const e=t.getRootNode();t=e instanceof ShadowRoot?e.host:null;}i||this.toggleHide();},this._onTriggerKeydown=e=>{const t=e.key.toLowerCase();if(this.isPopoverVisible&&("tab"!==t&&"escape"!==t||this.toggleHide())," "===t||"enter"===t){if(e.target!==this.trigger&&!this._addedTabIndex)return;" "===t&&this._addedTabIndex&&e.preventDefault(),this.toggle();}},this._onHidePopover=()=>{this.toggleHide();},this._eventTarget=this.trigger.parentElement.localName===this.localName?this:this.trigger,this._eventTarget.addEventListener("mouseenter",this._onTriggerMouseEnter),this._eventTarget.addEventListener("mouseleave",this._onTriggerMouseLeave),this.trigger.addEventListener("keydown",this._onTriggerKeydown),this.trigger.addEventListener("focusin",this._onTriggerFocus),this.trigger.addEventListener("focusout",this._onTriggerBlur),this.addEventListener("hidePopover",this._onHidePopover);}_setupAccessibility(){const e=this.trigger.tabIndex>=0,t='button:not([disabled]), a[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex^="-"]), [contenteditable]:not([contenteditable="false"]), summary, iframe, audio[controls], video[controls]',i=e=>{if(e.tabIndex<0)return false;let t=e;for(;t;){if(t.closest("[hidden], [inert]"))return false;const e=t.getRootNode();t=e instanceof ShadowRoot?e.host:null;}return true};let s=[...this.trigger.querySelectorAll(t)].some(i);if(!s){const e=this.trigger.querySelectorAll("*");for(const r of e)if(r.localName.includes("-")&&(r.tabIndex>=0||r.shadowRoot&&[...r.shadowRoot.querySelectorAll(t)].some(i))){s=true;break}}!s&&this.trigger.localName.includes("-")&&this.trigger.shadowRoot&&(s=[...this.trigger.shadowRoot.querySelectorAll(t)].some(i)),e||s||this.trigger.hasAttribute("tabindex")||(this.trigger.setAttribute("tabindex","0"),this._addedTabIndex=true);const r=this.shadowRoot.querySelector("slot:not([name])"),o=()=>r.assignedNodes({flatten:true}).map(e=>e.textContent??"").join(" ").replace(/\s+/g," ").trim();if(this._ariaDescriptionTargets=[],!e&&s){const e=[...this.trigger.querySelectorAll(t)].filter(i);this._ariaDescriptionTargets.push(...e);const s=this.trigger.querySelectorAll("*");for(const r of s)if(r.localName.includes("-")&&!e.includes(r))if(r.tabIndex>=0)this._ariaDescriptionTargets.push(r);else if(r.shadowRoot){const e=[...r.shadowRoot.querySelectorAll(t)].filter(i);for(const t of e)this._ariaDescriptionTargets.push(t);}if(0===this._ariaDescriptionTargets.length){if(this.trigger.localName.includes("-")&&this.trigger.shadowRoot){const e=[...this.trigger.shadowRoot.querySelectorAll(t)].filter(i);this._ariaDescriptionTargets.push(...e);}0===this._ariaDescriptionTargets.length&&this._ariaDescriptionTargets.push(this.trigger);}}else this._ariaDescriptionTargets.push(this.trigger);const n=o();for(const e of this._ariaDescriptionTargets)e.setAttribute("aria-description",n);this._onSlotChange=()=>{const e=o();for(const t of this._ariaDescriptionTargets)t?.setAttribute("aria-description",e);},r.addEventListener("slotchange",this._onSlotChange);}toggle(){this.popper&&(this.isPopoverVisible?this.toggleHide():this.toggleShow());}toggleHide(){this.isPopoverVisible=false;}toggleShow(){this.popper&&!this.disabled&&(this.isPopoverVisible=true);}handleMouseoverEvent(e){this.isPopoverVisible&&!e.composedPath().includes(this)&&this.toggleHide();}updated(e){if(e.has("boundary")&&this.popper&&(this.popper.boundaryElement=this.popper.setBoundary(this.boundary)),e.has("isPopoverVisible")&&this.popper)if(this.isPopoverVisible){if(this.disabled)return void(this.isPopoverVisible=false);this.popper.show(),document.body.addEventListener("mouseover",this._onBodyMouseover);}else this._onBodyMouseover&&document.body.removeEventListener("mouseover",this._onBodyMouseover),this.popper.hide();e.has("disabled")&&this.disabled&&this.isPopoverVisible&&(this.isPopoverVisible=false);}render(){return b$7`
16036
+ <div
16037
+ id="popover"
16038
+ class="popover util_insetLg body-default"
16039
+ part="popover"
16040
+ role="tooltip"
16041
+ aria-hidden="${this.isPopoverVisible?"false":"true"}">
16038
16042
  <div id="arrow" class="arrow" data-popper-arrow></div>
16039
- <span role="tooltip"><slot></slot></span>
16043
+ <slot></slot>
16040
16044
  </div>
16041
16045
 
16042
- <span>
16046
+ <span role="presentation">
16043
16047
  <slot name="trigger" data-trigger-placement="${this.placement}"></slot>
16044
16048
  </span>
16045
16049
  `}}
@@ -16054,7 +16058,6 @@ class AuroCalendarCell extends i$4 {
16054
16058
 
16055
16059
  this.day = null;
16056
16060
  this.selected = false;
16057
- this.hovered = false;
16058
16061
  this.dateTo = null;
16059
16062
  this.dateFrom = null;
16060
16063
  this.month = null;
@@ -16062,11 +16065,12 @@ class AuroCalendarCell extends i$4 {
16062
16065
  this.max = null;
16063
16066
  this.disabled = false;
16064
16067
  this.disabledDays = [];
16065
- this.hoveredDate = null;
16066
16068
  this.isCurrentDate = false;
16067
16069
  this._locale = null;
16068
16070
  this.dateStr = null;
16069
16071
  this.renderForDateSlot = false; // When false, the numerical date will render vertically centered. When true, the date will render off-center to the top and leave room below for the slot content.
16072
+ this.active = false;
16073
+ this.hasPopoverContent = false;
16070
16074
 
16071
16075
  this.runtimeUtils = new AuroLibraryRuntimeUtils$5$1();
16072
16076
 
@@ -16085,7 +16089,6 @@ class AuroCalendarCell extends i$4 {
16085
16089
  // ...super.properties,
16086
16090
  day: { type: Object },
16087
16091
  selected: { type: Boolean },
16088
- hovered: { type: Boolean },
16089
16092
  dateTo: { type: String },
16090
16093
  dateFrom: { type: String },
16091
16094
  month: { type: String },
@@ -16096,11 +16099,11 @@ class AuroCalendarCell extends i$4 {
16096
16099
  reflect: true
16097
16100
  },
16098
16101
  disabledDays: { type: Array },
16099
- hoveredDate: { type: String },
16100
16102
  isCurrentDate: { type: Boolean },
16101
16103
  locale: { type: Object },
16102
16104
  dateStr: { type: String },
16103
- renderForDateSlot: { type: Boolean }
16105
+ renderForDateSlot: { type: Boolean },
16106
+ hasPopoverContent: { type: Boolean }
16104
16107
  };
16105
16108
  }
16106
16109
 
@@ -16124,17 +16127,17 @@ class AuroCalendarCell extends i$4 {
16124
16127
  }
16125
16128
 
16126
16129
  /**
16127
- * Handles selected and hovered states of the calendar cell when the date changes.
16130
+ * Handles selected state of the calendar cell when the selection changes.
16131
+ * Also clears any imperative range preview classes so classMap is the
16132
+ * sole source of truth after a selection update.
16128
16133
  * @private
16129
16134
  * @param {Number} dateFrom - Depart date.
16130
16135
  * @param {Number} dateTo - Return date.
16131
- * @param {Number} hoveredDate - Hovered date.
16132
16136
  * @param {Object} day - An object containing the dateFrom and day of month values.
16133
16137
  * @returns {void}
16134
16138
  */
16135
- dateChanged(dateFrom, dateTo, hoveredDate, day) {
16139
+ dateChanged(dateFrom, dateTo, day) {
16136
16140
  this.selected = false;
16137
- this.hovered = false;
16138
16141
 
16139
16142
  const parsedDateFrom = parseInt(dateFrom, 10);
16140
16143
  const parsedDateTo = parseInt(dateTo, 10);
@@ -16146,10 +16149,6 @@ class AuroCalendarCell extends i$4 {
16146
16149
  if (day.date === departTimestamp || day.date === returnTimestamp) {
16147
16150
  this.selected = true;
16148
16151
  }
16149
-
16150
- if (((hoveredDate === day.date || day.date < hoveredDate) && day.date > parsedDateFrom && !parsedDateTo && !Number.isNaN(parsedDateFrom) && parsedDateFrom !== undefined && !this.selected) || (day.date > parsedDateFrom && day.date < parsedDateTo)) {
16151
- this.hovered = true;
16152
- }
16153
16152
  }
16154
16153
  }
16155
16154
 
@@ -16159,27 +16158,105 @@ class AuroCalendarCell extends i$4 {
16159
16158
  * @returns {void}
16160
16159
  */
16161
16160
  handleTap() {
16162
- if (!this.disabled) {
16161
+ if (!this.disabled && !this.isBlackout()) {
16163
16162
  this.datepicker.handleCellClick(this.day.date);
16164
16163
  }
16164
+
16165
+ // Set this cell as the active cell regardless of blackout status
16166
+ if (this.day) {
16167
+ this.dispatchEvent(new CustomEvent('calendar-cell-activate', {
16168
+ bubbles: true,
16169
+ composed: true,
16170
+ detail: { date: this.day.date }
16171
+ }));
16172
+ }
16165
16173
  }
16166
16174
 
16167
16175
  /**
16168
16176
  * Handles user hover events and dispatches a custom event.
16177
+ * Does NOT set any reactive properties — the range preview is handled
16178
+ * imperatively by the calendar component to avoid O(N) re-renders.
16169
16179
  * @private
16170
16180
  * @returns {void}
16171
16181
  */
16172
16182
  handleHover() {
16173
- this.hovered = true;
16174
-
16175
- let _a;
16176
16183
  this.dispatchEvent(new CustomEvent('date-is-hovered', {
16177
- detail: { date: (_a = this.day) === null || _a === void 0 ? void 0 : _a.date },
16184
+ detail: { date: this.day?.date },
16185
+ }));
16186
+ }
16187
+
16188
+ /**
16189
+ * Handles focus events on the cell button.
16190
+ * Dispatches a lightweight event for the calendar to handle SR
16191
+ * announcements and range preview updates without triggering
16192
+ * any Lit lifecycle updates.
16193
+ * @private
16194
+ * @returns {void}
16195
+ */
16196
+ handleFocus() {
16197
+ this.dispatchEvent(new CustomEvent('calendar-cell-focused', {
16198
+ bubbles: true,
16199
+ composed: true,
16200
+ detail: { date: this.day?.date },
16178
16201
  }));
16179
16202
  }
16180
16203
 
16181
16204
  /**
16182
- * Checks if the current date is a valid date depending on the min and max values.
16205
+ * Checks if the current date is outside the valid min/max range.
16206
+ * Out-of-range cells are not focusable and are hidden from screen readers.
16207
+ * @private
16208
+ * @param {Object} day - An object containing the dateFrom and day of month values.
16209
+ * @param {Number} min - The minimum date value.
16210
+ * @param {Number} max - The maximum date value.
16211
+ * @returns {Boolean} - True if the date is out of range.
16212
+ */
16213
+ isOutOfRange(day, min, max) {
16214
+ if (day && day.date != null) {
16215
+ return day.date < min || day.date > max;
16216
+ }
16217
+ return false;
16218
+ }
16219
+
16220
+ /**
16221
+ * Checks if the current date is a blackout date (in disabledDays but within range).
16222
+ * Blackout cells are focusable but not selectable.
16223
+ * @private
16224
+ * @returns {Boolean} - True if the date is a blackout date.
16225
+ */
16226
+ isBlackout() {
16227
+ if (!this.day || this.day.date == null || this.isOutOfRange(this.day, this.min, this.max)) {
16228
+ return false;
16229
+ }
16230
+
16231
+ // Check against disabledDays timestamps (legacy path)
16232
+ if (Array.isArray(this.disabledDays) && this.disabledDays.length > 0) {
16233
+ if (this.disabledDays.findIndex(d => parseInt(d, 10) === this.day.date) !== -1) {
16234
+ return true;
16235
+ }
16236
+ }
16237
+
16238
+ // Check against blackoutDates (ISO format YYYY-MM-DD) on the datepicker
16239
+ const blackoutDates = this.datepicker?.blackoutDates;
16240
+
16241
+ if (Array.isArray(blackoutDates) && blackoutDates.length > 0) {
16242
+ const date = new Date(this.day.date * 1000);
16243
+ const yyyy = date.getFullYear();
16244
+ const mm = String(date.getMonth() + 1).padStart(2, '0');
16245
+ const dd = String(date.getDate()).padStart(2, '0');
16246
+ const cellDate = `${yyyy}-${mm}-${dd}`;
16247
+ if (blackoutDates.includes(cellDate)) {
16248
+ return true;
16249
+ }
16250
+ }
16251
+
16252
+ return false;
16253
+ }
16254
+
16255
+ /**
16256
+ * Checks if the current date is disabled based on min/max range or the
16257
+ * legacy disabledDays timestamp list. Sets the `disabled` attribute on the
16258
+ * host when the date falls outside the allowed range or appears in
16259
+ * disabledDays. Note: blackout dates are handled separately by `isBlackout()`.
16183
16260
  * @private
16184
16261
  * @param {Object} day - An object containing the dateFrom and day of month values.
16185
16262
  * @param {Number} min - The minimum date value.
@@ -16199,6 +16276,105 @@ class AuroCalendarCell extends i$4 {
16199
16276
  return false;
16200
16277
  }
16201
16278
 
16279
+ /**
16280
+ * Generates a unique cell ID in the format cell-YYYY-MM-DD.
16281
+ * @private
16282
+ * @returns {String} The unique cell ID.
16283
+ */
16284
+ getCellId() {
16285
+ if (!this.day || !this.day.date) return '';
16286
+ const date = new Date(this.day.date * 1000);
16287
+ const year = date.getFullYear();
16288
+ const month = String(date.getMonth() + 1).padStart(2, '0');
16289
+ const day = String(date.getDate()).padStart(2, '0');
16290
+ return `cell-${year}-${month}-${day}`;
16291
+ }
16292
+
16293
+ /**
16294
+ * Generates a localized aria-label for the cell button using Intl.DateTimeFormat.
16295
+ * Includes range position and blackout status.
16296
+ * @private
16297
+ * @returns {String} The aria-label string.
16298
+ */
16299
+ getAriaLabel() {
16300
+ if (!this.day || this.day.date === undefined) return '';
16301
+
16302
+ const date = new Date(this.day.date * 1000);
16303
+
16304
+ // Generate localized full date string using the configured locale
16305
+ const localeCode = this.locale?.code || undefined;
16306
+ const dateFormatter = new Intl.DateTimeFormat(localeCode, {
16307
+ weekday: 'long',
16308
+ year: 'numeric',
16309
+ month: 'long',
16310
+ day: 'numeric'
16311
+ });
16312
+
16313
+ let label = dateFormatter.format(date);
16314
+
16315
+ // Append date slot content (e.g. prices) so it is announced with the date.
16316
+ if (this.renderForDateSlot) {
16317
+ const dateSlotEl = this.querySelector(`[slot="date_${this.dateStr}"]`);
16318
+ if (dateSlotEl) {
16319
+ const text = dateSlotEl.innerText?.trim();
16320
+ if (text) {
16321
+ label += `, ${text}`;
16322
+ }
16323
+ }
16324
+ }
16325
+
16326
+ // appending popover content here so that it gets read in a logical order with the other date content.
16327
+ if (this.hasPopoverContent) {
16328
+ const popoverEl = this.querySelector(`[slot="popover_${this.dateStr}"]`);
16329
+ if (popoverEl) {
16330
+ label += `, ${popoverEl.innerText.trim()}`;
16331
+ }
16332
+ }
16333
+
16334
+ // Append range position label for range datepickers
16335
+ const rangePosition = this.getRangePosition();
16336
+ if (rangePosition) {
16337
+ label += `, ${rangePosition}`;
16338
+ }
16339
+
16340
+ // Append blackout label for blackout cells
16341
+ if (this.isBlackout()) {
16342
+ label += `, ${this.datepicker?.blackoutLabel || 'unavailable'}`;
16343
+ }
16344
+
16345
+ return label;
16346
+ }
16347
+
16348
+ /**
16349
+ * Determines the range position of this cell relative to the current selection.
16350
+ * @private
16351
+ * @returns {String|null} Range position label or null if not in range mode.
16352
+ */
16353
+ getRangePosition() {
16354
+ if (!this.datepicker || !this.datepicker.hasAttribute('range')) return null;
16355
+
16356
+ const parsedDateFrom = Number.parseInt(this.dateFrom, 10);
16357
+ if (!Number.isFinite(parsedDateFrom)) return null;
16358
+
16359
+ const departTimestamp = startOfDay(parsedDateFrom * 1000) / 1000;
16360
+ const dayDate = this.day.date;
16361
+
16362
+ const parsedDateTo = Number.parseInt(this.dateTo, 10);
16363
+ const hasDateTo = Number.isFinite(parsedDateTo);
16364
+ const returnTimestamp = hasDateTo ? startOfDay(parsedDateTo * 1000) / 1000 : null;
16365
+
16366
+ if (dayDate === departTimestamp) return this.datepicker.rangeLabelStart || 'range start';
16367
+
16368
+ if (hasDateTo && dayDate === returnTimestamp) return this.datepicker.rangeLabelEnd || 'range end';
16369
+
16370
+ if (dayDate < departTimestamp) return this.datepicker.rangeLabelBeforeRange || 'before range';
16371
+
16372
+ if (hasDateTo && dayDate > departTimestamp && dayDate < returnTimestamp) return this.datepicker.rangeLabelInRange || 'in range';
16373
+
16374
+ // After start date, no end date yet, or after end date
16375
+ return this.datepicker.rangeLabelAfterRange || 'after range';
16376
+ }
16377
+
16202
16378
  /**
16203
16379
  * Checks if the current date is the depart date.
16204
16380
  * @private
@@ -16360,9 +16536,9 @@ class AuroCalendarCell extends i$4 {
16360
16536
 
16361
16537
  if (popoverSlotContent) {
16362
16538
  this.appendChild(popoverSlotContent.cloneNode(true));
16363
- this.auroPopover.removeAttribute('disabled');
16539
+ this.hasPopoverContent = true;
16364
16540
  } else {
16365
- this.auroPopover.setAttribute('disabled', true);
16541
+ this.hasPopoverContent = false;
16366
16542
  }
16367
16543
  } catch (err) { // eslint-disable-line no-unused-vars
16368
16544
  // Error handling goes here
@@ -16378,60 +16554,238 @@ class AuroCalendarCell extends i$4 {
16378
16554
  return;
16379
16555
  }
16380
16556
  this.datepicker = calendar.datepicker;
16381
- this.datepicker.addEventListener('auroDatePicker-newSlotContent', () => {
16557
+ this._slotContentHandler = () => {
16382
16558
  this.handleSlotContent();
16559
+ // Force re-render so isBlackout()/aria-disabled reflect updated blackoutDates.
16560
+ this.requestUpdate();
16561
+ };
16562
+ this.datepicker.addEventListener('auroDatePicker-newSlotContent', this._slotContentHandler);
16563
+
16564
+ // Cache button reference for imperative class manipulation.
16565
+ this.updateComplete.then(() => {
16566
+ this._cachedButton = this.shadowRoot.querySelector('button.day');
16383
16567
  });
16384
16568
 
16569
+ // Trigger an initial update now that `this.datepicker` is assigned so
16570
+ // cells reflect blackout/slot state that was configured before first render.
16571
+ this.requestUpdate();
16572
+
16573
+ this.calendarMonth = calendarMonth;
16574
+ this.configurePopover();
16575
+ }
16576
+
16577
+ disconnectedCallback() {
16578
+ super.disconnectedCallback();
16579
+ if (this.datepicker && this._slotContentHandler) {
16580
+ this.datepicker.removeEventListener('auroDatePicker-newSlotContent', this._slotContentHandler);
16581
+ }
16582
+ }
16583
+
16584
+ /**
16585
+ * Configures the popover instance with the calendar month boundary.
16586
+ * Called from firstUpdated and updated because the popover element is only
16587
+ * rendered after hasPopoverContent becomes true (set by handleSlotContent).
16588
+ * @private
16589
+ * @returns {void}
16590
+ */
16591
+ configurePopover() {
16385
16592
  this.auroPopover = this.shadowRoot.querySelector(this.popoverTag._$litStatic$);
16386
16593
 
16387
- this.auroPopover.boundary = calendarMonth;
16594
+ if (this.auroPopover && this.calendarMonth) {
16595
+ this.auroPopover.boundary = this.calendarMonth;
16596
+ }
16388
16597
  }
16389
16598
 
16390
16599
  updated(properties) {
16391
- if (properties.has('dateFrom') || properties.has('dateTo') || properties.has('hoveredDate') || properties.has('day')) {
16392
- this.dateChanged(this.dateFrom, this.dateTo, this.hoveredDate, this.day);
16600
+ if (properties.has('dateFrom') || properties.has('dateTo') || properties.has('day')) {
16601
+ this.dateChanged(this.dateFrom, this.dateTo, this.day);
16602
+ }
16603
+
16604
+ if (properties.has('day') && this.day) {
16605
+ this.setDateSlotName();
16606
+ this.handleSlotContent();
16607
+
16608
+ // Re-cache button reference when the day changes (cell may have re-rendered).
16609
+ this.updateComplete.then(() => {
16610
+ this._cachedButton = this.shadowRoot.querySelector('button.day');
16611
+ });
16612
+
16613
+ // Update host-level aria attributes for ariaActiveDescendantElement.
16614
+ this.updateHostAria();
16615
+ }
16616
+
16617
+ // Update host aria when selection changes (aria-selected, range labels)
16618
+ if (properties.has('dateFrom') || properties.has('dateTo') || properties.has('selected')) {
16619
+ this.updateHostAria();
16393
16620
  }
16394
16621
 
16395
- this.setDateSlotName();
16396
- this.handleSlotContent();
16622
+ // Configure popover when it first becomes rendered
16623
+ if (properties.has('hasPopoverContent') && this.hasPopoverContent) {
16624
+ this.updateComplete.then(() => this.configurePopover());
16625
+ }
16397
16626
  }
16398
16627
 
16399
- render() {
16628
+ /**
16629
+ * Updates ARIA attributes on the host element so that
16630
+ * ariaActiveDescendantElement can expose cell info to the SR.
16631
+ * @private
16632
+ * @returns {void}
16633
+ */
16634
+ updateHostAria() {
16635
+ if (!this.day || this.day.date === undefined) return;
16636
+
16637
+ const outOfRange = this.isOutOfRange(this.day, this.min, this.max);
16638
+ if (outOfRange) {
16639
+ this.removeAttribute('role');
16640
+ this.removeAttribute('aria-label');
16641
+ return;
16642
+ }
16643
+
16644
+ // The host acts as the gridcell for ariaActiveDescendantElement.
16645
+ this.setAttribute('role', 'gridcell');
16646
+ this.setAttribute('aria-label', this.getAriaLabel());
16647
+ this.setAttribute('aria-selected', this.selected ? 'true' : 'false');
16648
+
16649
+ if (this.isBlackout()) {
16650
+ this.setAttribute('aria-disabled', 'true');
16651
+ } else {
16652
+ this.removeAttribute('aria-disabled');
16653
+ }
16654
+ }
16655
+
16656
+ /**
16657
+ * Programmatically focuses the cell's interactive button element.
16658
+ * Uses focusVisible: true so the :focus-visible ring appears even when
16659
+ * the bib was opened via mouse click (which sets mouse input modality).
16660
+ * @returns {void}
16661
+ */
16662
+ focusButton() {
16663
+ const button = this._cachedButton || this.shadowRoot.querySelector('button:not([aria-hidden])');
16664
+ if (button) {
16665
+ button.focus({ focusVisible: true });
16666
+ }
16667
+ }
16668
+
16669
+ /**
16670
+ * Imperatively marks this cell as active (tabindex="0") without
16671
+ * triggering a Lit re-render.
16672
+ * @returns {void}
16673
+ */
16674
+ setActive() {
16675
+ this.active = true;
16676
+ const btn = this._cachedButton;
16677
+ if (btn) {
16678
+ btn.setAttribute('tabindex', '0');
16679
+ btn.classList.add('visualFocus');
16680
+ }
16681
+ }
16682
+
16683
+ /**
16684
+ * Imperatively marks this cell as inactive (tabindex="-1") without
16685
+ * triggering a Lit re-render.
16686
+ * @returns {void}
16687
+ */
16688
+ clearActive() {
16689
+ this.active = false;
16690
+ const btn = this._cachedButton;
16691
+ if (btn) {
16692
+ btn.setAttribute('tabindex', '-1');
16693
+ btn.classList.remove('visualFocus');
16694
+ }
16695
+ }
16696
+
16697
+ /**
16698
+ * Updates range preview classes imperatively (no Lit re-render).
16699
+ * Called by the calendar component when the hovered date changes
16700
+ * during range selection (dateFrom set, dateTo not yet set).
16701
+ * @param {Number} hoveredDate - Unix timestamp of the currently hovered/focused date.
16702
+ * @param {Number} dateFrom - Unix timestamp of the selected departure date.
16703
+ * @returns {void}
16704
+ */
16705
+ updateRangePreviewClasses(hoveredDate, dateFrom) {
16706
+ const btn = this._cachedButton;
16707
+ if (!btn || !this.day) return;
16708
+
16709
+ const dayDate = this.day.date;
16710
+ const departTimestamp = startOfDay(dateFrom * 1000) / 1000;
16711
+ const isInRange = dayDate > departTimestamp && dayDate < hoveredDate;
16712
+ const isLastHovered = dayDate === hoveredDate && hoveredDate > departTimestamp;
16713
+ const isDepartWithPreview = dayDate === departTimestamp && hoveredDate > departTimestamp;
16714
+
16715
+ btn.classList.toggle('inRange', isInRange);
16716
+ btn.classList.toggle('lastHoveredDate', isLastHovered);
16717
+ btn.classList.toggle('rangeDepartDate', isDepartWithPreview);
16718
+ }
16719
+
16720
+ /**
16721
+ * Clears all imperative range preview classes from the cell button.
16722
+ * Called when a selection occurs so classMap becomes the sole source of truth.
16723
+ * @returns {void}
16724
+ */
16725
+ clearRangePreviewClasses() {
16726
+ const btn = this._cachedButton;
16727
+ if (!btn) return;
16728
+
16729
+ btn.classList.remove('inRange', 'lastHoveredDate', 'rangeDepartDate');
16730
+ }
16731
+
16732
+ renderCellButton() {
16733
+ const outOfRange = this.isOutOfRange(this.day, this.min, this.max);
16734
+ const blackout = this.isBlackout();
16735
+
16736
+ // Static and selection-driven classes only. Hover-driven classes
16737
+ // (inRange, lastHoveredDate, rangeDepartDate during preview) are
16738
+ // managed imperatively via updateRangePreviewClasses() to avoid
16739
+ // O(N) Lit re-renders on every focus/hover event.
16400
16740
  const buttonClasses = {
16401
16741
  'day': true,
16402
16742
  'body-lg': true,
16403
- 'currentDate': this.currentDate,
16743
+ 'currentDate': this.isCurrentDate,
16404
16744
  'selected': this.selected,
16405
- 'inRange': this.hovered && this.isInRange(this.day, this.dateFrom, this.dateTo),
16406
- 'lastHoveredDate': this.isLastHoveredDate(this.day, this.dateFrom, this.dateTo, this.hoveredDate) && this.datepicker && this.datepicker.hasAttribute('range'),
16407
- 'disabled': this.isEnabled(this.day, this.min, this.max, this.disabledDays),
16408
- 'rangeDepartDate': this.isDepartDate(this.day, this.dateFrom) && (this.hoveredDate > this.dateFrom || this.dateTo),
16409
- 'rangeReturnDate': this.isReturnDate(this.day, this.dateFrom, this.dateTo),
16745
+ 'inRange': this.datepicker?.hasAttribute('range') && this.dateTo && this.isInRange(this.day, this.dateFrom, this.dateTo),
16746
+ 'disabled': outOfRange,
16747
+ 'blackout': blackout,
16748
+ 'rangeDepartDate': this.datepicker?.hasAttribute('range') && this.isDepartDate(this.day, this.dateFrom) && this.dateTo,
16749
+ 'rangeReturnDate': this.datepicker?.hasAttribute('range') && this.isReturnDate(this.day, this.dateFrom, this.dateTo),
16410
16750
  'reference': this.isReferenceDate(this.dateStr),
16411
- 'sameDateTrip': this.dateFrom === this.dateTo
16751
+ 'sameDateTrip': this.datepicker?.hasAttribute('range') && this.dateFrom === this.dateTo
16412
16752
  };
16413
16753
 
16414
- let _a, _b;
16415
16754
  return u$c`
16416
- <${this.popoverTag}>
16417
- <slot name="popover_${this.dateStr}"></slot>
16418
- <button
16419
- slot="trigger"
16420
- @click="${this.handleTap}"
16421
- @mouseover="${this.handleHover}"
16422
- @focus="${this.handleHover}"
16423
- class="${e$3(buttonClasses)}"
16424
- ?disabled="${this.disabled}"
16425
- title="${this.getTitle((_a = this.day) === null || _a === void 0 ? void 0 : _a.date)}"
16426
- tabindex="-1">
16427
- <div class="buttonWrapper">
16428
- <div class="currentDayMarker">${(_b = this.day) === null || _b === void 0 ? void 0 : _b.title}</div>
16429
- <div class="dateSlot body-2xs" part="dateSlot">
16430
- <slot name="date_${this.dateStr}"></slot>
16431
- </div>
16432
- </div>
16433
- </button>
16434
- </${this.popoverTag}>
16755
+ <button
16756
+ slot="trigger"
16757
+ id="${this.getCellId()}"
16758
+ @click="${outOfRange ? undefined : this.handleTap}"
16759
+ @mouseover="${outOfRange ? undefined : this.handleHover}"
16760
+ @focus="${outOfRange ? undefined : this.handleFocus}"
16761
+ class="${e$3(buttonClasses)}"
16762
+ ?disabled="${outOfRange}"
16763
+ aria-hidden="${outOfRange ? 'true' : A$7}"
16764
+ tabindex="${this.active ? '0' : '-1'}">
16765
+ <div class="buttonWrapper" aria-hidden="true">
16766
+ <div class="currentDayMarker">${this.day?.title || A$7}</div>
16767
+ </div>
16768
+ <div class="dateSlot body-2xs" part="dateSlot" aria-hidden="true" ?hidden="${!this.renderForDateSlot}">
16769
+ <slot name="date_${this.dateStr}"></slot>
16770
+ </div>
16771
+ </button>
16772
+ `;
16773
+ }
16774
+
16775
+ render() {
16776
+ const hasPopoverContent = this.hasPopoverContent;
16777
+
16778
+ if (hasPopoverContent) {
16779
+ return u$c`
16780
+ <${this.popoverTag}>
16781
+ <span aria-hidden="true"><slot name="popover_${this.dateStr}"></slot></span>
16782
+ ${this.renderCellButton()}
16783
+ </${this.popoverTag}>
16784
+ `;
16785
+ }
16786
+
16787
+ return u$c`
16788
+ ${this.renderCellButton()}
16435
16789
  `;
16436
16790
  }
16437
16791
  }
@@ -16499,16 +16853,28 @@ class AuroCalendarMonth extends RangeDatepickerCalendar {
16499
16853
  return this.monthNames[month - 1];
16500
16854
  }
16501
16855
 
16856
+ /**
16857
+ * Returns the unique heading ID for this month, used by aria-labelledby.
16858
+ * @private
16859
+ * @returns {String} The heading ID.
16860
+ */
16861
+ getHeadingId() {
16862
+ return `month-heading-${this.month}-${this.year}`;
16863
+ }
16864
+
16502
16865
  /**
16503
16866
  * Determines the current month name based on locale.
16867
+ * Also builds parallel arrays of full day names for abbr attributes.
16504
16868
  * This is a rewrite of the function used in the class RangeDatepickerCalendar and should not be removed from here.
16505
16869
  * @private
16506
16870
  * @returns {void}
16507
16871
  */
16508
16872
  localeChanged() {
16509
16873
  const dayNamesOfTheWeek = [];
16874
+ const dayFullNames = [];
16510
16875
  for (let int = 0; int < 7; int += 1) {
16511
16876
  dayNamesOfTheWeek.push(this.locale.localize.day(int, { width: 'narrow' }));
16877
+ dayFullNames.push(this.locale.localize.day(int, { width: 'long' }));
16512
16878
  }
16513
16879
  const firstDayOfWeek = this.locale.options.weekStartsOn
16514
16880
  ? this.locale.options.weekStartsOn
@@ -16519,6 +16885,139 @@ class AuroCalendarMonth extends RangeDatepickerCalendar {
16519
16885
  .splice(firstDayOfWeek, dayNamesOfTheWeek.length)
16520
16886
  .concat(tmp);
16521
16887
  this.dayNamesOfTheWeek = newDayNamesOfTheWeek;
16888
+
16889
+ const tmpFull = dayFullNames.slice().splice(0, firstDayOfWeek);
16890
+ const newDayFullNames = dayFullNames
16891
+ .slice()
16892
+ .splice(firstDayOfWeek, dayFullNames.length)
16893
+ .concat(tmpFull);
16894
+ this.dayFullNames = newDayFullNames;
16895
+ }
16896
+
16897
+ /**
16898
+ * Renders a day-of-week header with abbr attribute for the full day name.
16899
+ * @private
16900
+ * @param {String} dayOfWeek - The short day name.
16901
+ * @param {Number} index - The index in the dayNamesOfTheWeek array.
16902
+ * @returns {Object} The header HTML.
16903
+ */
16904
+ renderDayOfWeek(dayOfWeek, index) {
16905
+ const fullName = this.dayFullNames ? this.dayFullNames[index] : dayOfWeek;
16906
+ return b$7`<div class="th body-default"><abbr title="${fullName}">${dayOfWeek}</abbr></div>`;
16907
+ }
16908
+
16909
+ /**
16910
+ * Returns all focusable cell elements (enabled + blackout, not out-of-range) in this month.
16911
+ * @returns {Array} Array of auro-formkit-calendar-cell elements.
16912
+ */
16913
+ getFocusableCells() {
16914
+ const cells = Array.from(this.shadowRoot.querySelectorAll('auro-formkit-calendar-cell'));
16915
+ return cells.filter(cell => {
16916
+ if (!cell.day) return false;
16917
+ return !cell.isOutOfRange(cell.day, cell.min, cell.max);
16918
+ });
16919
+ }
16920
+
16921
+ /**
16922
+ * Overrides the base class handler to prevent setting `this.hoveredDate`
16923
+ * as a reactive property. Instead, just dispatches the event upward so
16924
+ * the calendar can handle range preview imperatively.
16925
+ * @private
16926
+ * @param {CustomEvent} event - The date-is-hovered event from a cell.
16927
+ * @returns {void}
16928
+ */
16929
+ handleDateHovered(event) {
16930
+ this.dispatchEvent(new CustomEvent('hovered-date-changed', {
16931
+ detail: { value: event.detail.date },
16932
+ }));
16933
+ }
16934
+
16935
+ /**
16936
+ * Handles arrow key navigation within the month grid.
16937
+ * Dispatches a cross-month navigation event when the boundary is reached.
16938
+ * @private
16939
+ * @param {KeyboardEvent} event - The keyboard event.
16940
+ * @returns {void}
16941
+ */
16942
+ handleGridKeyDown(event) {
16943
+ const { key } = event;
16944
+ const arrowKeys = ['ArrowRight', 'ArrowLeft', 'ArrowDown', 'ArrowUp'];
16945
+
16946
+ if (!arrowKeys.includes(key)) return;
16947
+
16948
+ event.preventDefault();
16949
+
16950
+ const focusableCells = this.getFocusableCells();
16951
+ if (focusableCells.length === 0) return;
16952
+
16953
+ // Find the currently active cell within this month
16954
+ const activeCell = focusableCells.find(cell => cell.active);
16955
+ if (!activeCell) return;
16956
+
16957
+ const activeIndex = focusableCells.indexOf(activeCell);
16958
+ let targetCell = null;
16959
+
16960
+ if (key === 'ArrowRight') {
16961
+ if (activeIndex < focusableCells.length - 1) {
16962
+ targetCell = focusableCells[activeIndex + 1];
16963
+ } else {
16964
+ // At end of month, request cross-month navigation
16965
+ this.dispatchEvent(new CustomEvent('calendar-month-boundary', {
16966
+ bubbles: true,
16967
+ composed: true,
16968
+ detail: { direction: 'next', fromDate: activeCell.day.date, key }
16969
+ }));
16970
+ return;
16971
+ }
16972
+ } else if (key === 'ArrowLeft') {
16973
+ if (activeIndex > 0) {
16974
+ targetCell = focusableCells[activeIndex - 1];
16975
+ } else {
16976
+ // At start of month, request cross-month navigation
16977
+ this.dispatchEvent(new CustomEvent('calendar-month-boundary', {
16978
+ bubbles: true,
16979
+ composed: true,
16980
+ detail: { direction: 'prev', fromDate: activeCell.day.date, key }
16981
+ }));
16982
+ return;
16983
+ }
16984
+ } else if (key === 'ArrowDown' || key === 'ArrowUp') {
16985
+ // Find the target day (same day-of-week, +/- 7 days)
16986
+ // Use Date arithmetic instead of fixed seconds to handle DST correctly
16987
+ const increment = key === 'ArrowDown' ? 7 : -7;
16988
+ const currentDate = new Date(activeCell.day.date * 1000);
16989
+ currentDate.setDate(currentDate.getDate() + increment);
16990
+ currentDate.setHours(0, 0, 0, 0);
16991
+ const targetDate = Math.floor(currentDate.getTime() / 1000);
16992
+
16993
+ // Look for the target date in this month's focusable cells
16994
+ targetCell = focusableCells.find(cell => cell.day.date === targetDate);
16995
+
16996
+ if (!targetCell) {
16997
+ // Target is in another month or all cells in that direction are disabled
16998
+ const direction = key === 'ArrowDown' ? 'next' : 'prev';
16999
+ this.dispatchEvent(new CustomEvent('calendar-month-boundary', {
17000
+ bubbles: true,
17001
+ composed: true,
17002
+ detail: { direction, fromDate: activeCell.day.date, key }
17003
+ }));
17004
+ return;
17005
+ }
17006
+ }
17007
+
17008
+ if (targetCell) {
17009
+ this.dispatchEvent(new CustomEvent('calendar-cell-activate', {
17010
+ bubbles: true,
17011
+ composed: true,
17012
+ detail: { date: targetCell.day.date }
17013
+ }));
17014
+ }
17015
+ }
17016
+
17017
+ renderWeek(week) {
17018
+ return b$7`
17019
+ <div class="tr" role="row">${week.map((day) => this.renderDay(day))}</div>
17020
+ `;
16522
17021
  }
16523
17022
 
16524
17023
  renderDay(day) {
@@ -16531,7 +17030,6 @@ class AuroCalendarMonth extends RangeDatepickerCalendar {
16531
17030
  .min="${this.min}"
16532
17031
  .max="${this.max}"
16533
17032
  .month="${this.month}"
16534
- .hoveredDate="${this.hoveredDate}"
16535
17033
  .dateTo="${this.dateTo}"
16536
17034
  .dateFrom="${this.dateFrom}"
16537
17035
  .locale="${this.locale}"
@@ -16542,7 +17040,7 @@ class AuroCalendarMonth extends RangeDatepickerCalendar {
16542
17040
  >
16543
17041
  </auro-formkit-calendar-cell>
16544
17042
  `
16545
- : null}
17043
+ : b$7`<div aria-hidden="true" inert></div>`}
16546
17044
  </div>
16547
17045
  `;
16548
17046
  }
@@ -16553,10 +17051,10 @@ class AuroCalendarMonth extends RangeDatepickerCalendar {
16553
17051
  var _a, _b;
16554
17052
 
16555
17053
  return b$7 `
16556
- <div>
17054
+ <div aria-labelledby="${this.getHeadingId()}">
16557
17055
  <div class="header">
16558
17056
  ${this.renderPrevButton()}
16559
- <div class="headerTitle heading-xs">
17057
+ <div class="headerTitle heading-xs" id="${this.getHeadingId()}" aria-live="polite" aria-atomic="true">
16560
17058
  ${this.monthFirst ? b$7`
16561
17059
  <div>${this.computeCurrentMonthName(this.month)}</div>
16562
17060
  <div>${this.renderYear()}</div>
@@ -16568,13 +17066,13 @@ class AuroCalendarMonth extends RangeDatepickerCalendar {
16568
17066
  ${this.renderNextButton()}
16569
17067
  </div>
16570
17068
 
16571
- <div class="table">
16572
- <div class="thead">
17069
+ <div class="table" role="grid" aria-labelledby="${this.getHeadingId()}" @keydown="${this.handleGridKeyDown}">
17070
+ <div class="thead" aria-hidden="true">
16573
17071
  <div class="tr">
16574
- ${(_a = this.dayNamesOfTheWeek) === null || _a === void 0 ? void 0 : _a.map(dayNameOfWeek => this.renderDayOfWeek(dayNameOfWeek))}
17072
+ ${(_a = this.dayNamesOfTheWeek) === null || _a === void 0 ? void 0 : _a.map((dayNameOfWeek, index) => this.renderDayOfWeek(dayNameOfWeek, index))}
16575
17073
  </div>
16576
17074
  </div>
16577
- <div class="tbody">
17075
+ <div class="tbody" role="rowgroup">
16578
17076
  ${(_b = this.daysOfMonth) === null || _b === void 0 ? void 0 : _b.map(week => this.renderWeek(week))}
16579
17077
  </div>
16580
17078
  </div>
@@ -17267,6 +17765,14 @@ let AuroBibtemplate$3 = class AuroBibtemplate extends i$4 {
17267
17765
  large: {
17268
17766
  type: Boolean,
17269
17767
  reflect: true
17768
+ },
17769
+
17770
+ /**
17771
+ * If declared, the footer slot will be rendered even when not in fullscreen mode.
17772
+ */
17773
+ showFooter: {
17774
+ type: Boolean,
17775
+ reflect: true
17270
17776
  }
17271
17777
  };
17272
17778
  }
@@ -17369,7 +17875,7 @@ let AuroBibtemplate$3 = class AuroBibtemplate extends i$4 {
17369
17875
  <slot></slot>
17370
17876
  </div>
17371
17877
 
17372
- ${this.isFullscreen ? u$c`
17878
+ ${this.isFullscreen || this.showFooter ? u$c`
17373
17879
  <div id="footerContainer">
17374
17880
  <slot name="footer"></slot>
17375
17881
  </div>` : null}
@@ -17378,7 +17884,7 @@ let AuroBibtemplate$3 = class AuroBibtemplate extends i$4 {
17378
17884
  }
17379
17885
  };
17380
17886
 
17381
- var formkitVersion$2$1 = '202605201646';
17887
+ var formkitVersion$2$1 = '202605210326';
17382
17888
 
17383
17889
  let l$1$2 = class l{generateElementName(t,e){let o=t;return o+="-",o+=e.replace(/[.]/g,"_"),o}generateTag(o,s,a){const r=this.generateElementName(o,s),i=i$3`${s$6(r)}`;return customElements.get(r)||customElements.define(r,class extends a{}),i}};let d$1$2 = class d{registerComponent(t,e){customElements.get(t)||customElements.define(t,class extends e{});}closestElement(t,e=this,o=(e,s=e&&e.closest(t))=>e&&e!==document&&e!==window?s||o(e.getRootNode().host):null){return o(e)}handleComponentTagRename(t,e){const o=e.toLowerCase();t.tagName.toLowerCase()!==o&&t.setAttribute(o,true);}elementMatch(t,e){const o=e.toLowerCase();return t.tagName.toLowerCase()===o||t.hasAttribute(o)}getSlotText(t,e){const o=t.shadowRoot?.querySelector(`slot[name="${e}"]`),s=(o?.assignedNodes({flatten:true})||[]).map(t=>t.textContent?.trim()).join(" ").trim();return s||null}};let h$1$2 = class h{registerComponent(t,e){customElements.get(t)||customElements.define(t,class extends e{});}closestElement(t,e=this,o=(e,s=e&&e.closest(t))=>e&&e!==document&&e!==window?s||o(e.getRootNode().host):null){return o(e)}handleComponentTagRename(t,e){const o=e.toLowerCase();t.tagName.toLowerCase()!==o&&t.setAttribute(o,true);}elementMatch(t,e){const o=e.toLowerCase();return t.tagName.toLowerCase()===o||t.hasAttribute(o)}};var c$1$3=i$7`:host{color:var(--ds-auro-loader-color)}:host>span{background-color:var(--ds-auro-loader-background-color);border-color:var(--ds-auro-loader-border-color)}:host([onlight]),:host([appearance=brand]){--ds-auro-loader-color: var(--ds-basic-color-brand-primary, #01426a)}:host([ondark]),:host([appearance=inverse]){--ds-auro-loader-color: var(--ds-basic-color-texticon-inverse, #ffffff)}:host([orbit])>span{--ds-auro-loader-background-color: transparent}:host([orbit])>span:nth-child(1){--ds-auro-loader-border-color: currentcolor;opacity:.25}:host([orbit])>span:nth-child(2){--ds-auro-loader-border-color: currentcolor;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent}
17384
17890
  `,u$4$1=i$7`.body-default{font-size:var(--wcss-body-default-font-size, 1rem);line-height:var(--wcss-body-default-line-height, 1.5rem)}.body-default,.body-lg{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-weight, 450);letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-lg{font-size:var(--wcss-body-lg-font-size, 1.125rem);line-height:var(--wcss-body-lg-line-height, 1.625rem)}.body-sm{font-size:var(--wcss-body-sm-font-size, .875rem);line-height:var(--wcss-body-sm-line-height, 1.25rem)}.body-sm,.body-xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-weight, 450);letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-xs{font-size:var(--wcss-body-xs-font-size, .75rem);line-height:var(--wcss-body-xs-line-height, 1rem)}.body-2xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:var(--wcss-body-2xs-font-size, .625rem);font-weight:var(--wcss-body-weight, 450);letter-spacing:var(--wcss-body-letter-spacing, 0);line-height:var(--wcss-body-2xs-line-height, .875rem)}.display-2xl{font-family:var(--wcss-display-2xl-family, "AS Circular"),var(--wcss-display-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-2xl-font-size, clamp(3.5rem, 6vw, 5.375rem));font-weight:var(--wcss-display-2xl-weight, 300);letter-spacing:var(--wcss-display-2xl-letter-spacing, 0);line-height:var(--wcss-display-2xl-line-height, 1.3)}.display-xl{font-family:var(--wcss-display-xl-family, "AS Circular"),var(--wcss-display-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-xl-font-size, clamp(3rem, 5.3333333333vw, 4.5rem));font-weight:var(--wcss-display-xl-weight, 300);letter-spacing:var(--wcss-display-xl-letter-spacing, 0);line-height:var(--wcss-display-xl-line-height, 1.3)}.display-lg{font-family:var(--wcss-display-lg-family, "AS Circular"),var(--wcss-display-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-lg-font-size, clamp(2.75rem, 4.6666666667vw, 4rem));font-weight:var(--wcss-display-lg-weight, 300);letter-spacing:var(--wcss-display-lg-letter-spacing, 0);line-height:var(--wcss-display-lg-line-height, 1.3)}.display-md{font-family:var(--wcss-display-md-family, "AS Circular"),var(--wcss-display-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-md-font-size, clamp(2.5rem, 4vw, 3.5rem));font-weight:var(--wcss-display-md-weight, 300);letter-spacing:var(--wcss-display-md-letter-spacing, 0);line-height:var(--wcss-display-md-line-height, 1.3)}.display-sm{font-family:var(--wcss-display-sm-family, "AS Circular"),var(--wcss-display-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-sm-font-size, clamp(2rem, 3.6666666667vw, 3rem));font-weight:var(--wcss-display-sm-weight, 300);letter-spacing:var(--wcss-display-sm-letter-spacing, 0);line-height:var(--wcss-display-sm-line-height, 1.3)}.display-xs{font-family:var(--wcss-display-xs-family, "AS Circular"),var(--wcss-display-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-xs-font-size, clamp(1.75rem, 3vw, 2.375rem));font-weight:var(--wcss-display-xs-weight, 300);letter-spacing:var(--wcss-display-xs-letter-spacing, 0);line-height:var(--wcss-display-xs-line-height, 1.3)}.heading-xl{font-family:var(--wcss-heading-xl-family, "AS Circular"),var(--wcss-heading-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-xl-font-size, clamp(2rem, 3vw, 2.5rem));font-weight:var(--wcss-heading-xl-weight, 300);letter-spacing:var(--wcss-heading-xl-letter-spacing, 0);line-height:var(--wcss-heading-xl-line-height, 1.3)}.heading-lg{font-family:var(--wcss-heading-lg-family, "AS Circular"),var(--wcss-heading-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-lg-font-size, clamp(1.75rem, 2.6666666667vw, 2.25rem));font-weight:var(--wcss-heading-lg-weight, 300);letter-spacing:var(--wcss-heading-lg-letter-spacing, 0);line-height:var(--wcss-heading-lg-line-height, 1.3)}.heading-md{font-family:var(--wcss-heading-md-family, "AS Circular"),var(--wcss-heading-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-md-font-size, clamp(1.625rem, 2.3333333333vw, 1.75rem));font-weight:var(--wcss-heading-md-weight, 300);letter-spacing:var(--wcss-heading-md-letter-spacing, 0);line-height:var(--wcss-heading-md-line-height, 1.3)}.heading-sm{font-family:var(--wcss-heading-sm-family, "AS Circular"),var(--wcss-heading-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-sm-font-size, clamp(1.375rem, 2vw, 1.5rem));font-weight:var(--wcss-heading-sm-weight, 300);letter-spacing:var(--wcss-heading-sm-letter-spacing, 0);line-height:var(--wcss-heading-sm-line-height, 1.3)}.heading-xs{font-family:var(--wcss-heading-xs-family, "AS Circular"),var(--wcss-heading-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-xs-font-size, clamp(1.25rem, 1.6666666667vw, 1.25rem));font-weight:var(--wcss-heading-xs-weight, 450);letter-spacing:var(--wcss-heading-xs-letter-spacing, 0);line-height:var(--wcss-heading-xs-line-height, 1.3)}.heading-2xs{font-family:var(--wcss-heading-2xs-family, "AS Circular"),var(--wcss-heading-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-2xs-font-size, clamp(1.125rem, 1.5vw, 1.125rem));font-weight:var(--wcss-heading-2xs-weight, 450);letter-spacing:var(--wcss-heading-2xs-letter-spacing, 0);line-height:var(--wcss-heading-2xs-line-height, 1.3)}.accent-2xl{font-family:var(--wcss-accent-2xl-family, "Good OT"),var(--wcss-accent-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-2xl-font-size, clamp(2rem, 3.1666666667vw, 2.375rem));font-weight:var(--wcss-accent-2xl-weight, 450);letter-spacing:var(--wcss-accent-2xl-letter-spacing, .05em);line-height:var(--wcss-accent-2xl-line-height, 1)}.accent-2xl,.accent-xl{text-transform:uppercase}.accent-xl{font-family:var(--wcss-accent-xl-family, "Good OT"),var(--wcss-accent-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-xl-font-size, clamp(1.625rem, 2.3333333333vw, 2rem));font-weight:var(--wcss-accent-xl-weight, 450);letter-spacing:var(--wcss-accent-xl-letter-spacing, .05em);line-height:var(--wcss-accent-xl-line-height, 1.3)}.accent-lg{font-family:var(--wcss-accent-lg-family, "Good OT"),var(--wcss-accent-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-lg-font-size, clamp(1.5rem, 2.1666666667vw, 1.75rem));font-weight:var(--wcss-accent-lg-weight, 450);letter-spacing:var(--wcss-accent-lg-letter-spacing, .05em);line-height:var(--wcss-accent-lg-line-height, 1.3)}.accent-lg,.accent-md{text-transform:uppercase}.accent-md{font-family:var(--wcss-accent-md-family, "Good OT"),var(--wcss-accent-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-md-font-size, clamp(1.375rem, 1.8333333333vw, 1.5rem));font-weight:var(--wcss-accent-md-weight, 500);letter-spacing:var(--wcss-accent-md-letter-spacing, .05em);line-height:var(--wcss-accent-md-line-height, 1.3)}.accent-sm{font-family:var(--wcss-accent-sm-family, "Good OT"),var(--wcss-accent-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-sm-font-size, clamp(1.125rem, 1.5vw, 1.25rem));font-weight:var(--wcss-accent-sm-weight, 500);letter-spacing:var(--wcss-accent-sm-letter-spacing, .05em);line-height:var(--wcss-accent-sm-line-height, 1.3)}.accent-sm,.accent-xs{text-transform:uppercase}.accent-xs{font-family:var(--wcss-accent-xs-family, "Good OT"),var(--wcss-accent-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-xs-font-size, clamp(1rem, 1.3333333333vw, 1rem));font-weight:var(--wcss-accent-xs-weight, 500);letter-spacing:var(--wcss-accent-xs-letter-spacing, .1em);line-height:var(--wcss-accent-xs-line-height, 1.3)}.accent-2xs{font-family:var(--wcss-accent-2xs-family, "Good OT"),var(--wcss-accent-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-2xs-font-size, clamp(.875rem, 1.1666666667vw, .875rem));font-weight:var(--wcss-accent-2xs-weight, 450);letter-spacing:var(--wcss-accent-2xs-letter-spacing, .1em);line-height:var(--wcss-accent-2xs-line-height, 1.3);text-transform:uppercase}:focus:not(:focus-visible){outline:3px solid transparent}:host,:host>span{position:relative}:host{width:2rem;height:2rem;display:inline-block;font-size:0}:host>span{position:absolute;display:inline-block;float:none;top:0;left:0;width:2rem;height:2rem;border-radius:100%;border-style:solid;border-width:0;box-sizing:border-box}:host([xs]),:host([xs])>span{width:1.2rem;height:1.2rem}:host([sm]),:host([sm])>span{width:3rem;height:3rem}:host([md]),:host([md])>span{width:5rem;height:5rem}:host([lg]),:host([lg])>span{width:8rem;height:8rem}:host{--margin: .375rem;--margin-xs: .2rem;--margin-sm: .5rem;--margin-md: .75rem;--margin-lg: 1rem}:host([pulse]),:host([pulse])>span{position:relative}:host([pulse]){width:calc(3rem + var(--margin) * 6);height:calc(1rem + var(--margin) * 2)}:host([pulse])>span{width:1rem;height:1rem;margin:var(--margin);animation:pulse 1.5s ease infinite}:host([pulse][xs]){width:calc(1.95rem + var(--margin-xs) * 6);height:calc(.65rem + var(--margin-xs) * 2)}:host([pulse][xs])>span{margin:var(--margin-xs);width:.65rem;height:.65rem}:host([pulse][sm]){width:calc(6rem + var(--margin-sm) * 6);height:calc(2rem + var(--margin-sm) * 2)}:host([pulse][sm])>span{margin:var(--margin-sm);width:2rem;height:2rem}:host([pulse][md]){width:calc(9rem + var(--margin-md) * 6);height:calc(3rem + var(--margin-md) * 2)}:host([pulse][md])>span{margin:var(--margin-md);width:3rem;height:3rem}:host([pulse][lg]){width:calc(15rem + var(--margin-lg) * 6);height:calc(5rem + var(--margin-lg) * 2)}:host([pulse][lg])>span{margin:var(--margin-lg);width:5rem;height:5rem}:host([pulse])>span:nth-child(1){animation-delay:-.4s}:host([pulse])>span:nth-child(2){animation-delay:-.2s}:host([pulse])>span:nth-child(3){animation-delay:0ms}@keyframes pulse{0%,to{opacity:.1;transform:scale(.9)}50%{opacity:1;transform:scale(1.1)}}:host([orbit]),:host([orbit])>span{opacity:1}:host([orbit])>span{border-width:5px}:host([orbit])>span:nth-child(2){animation:orbit 2s linear infinite}:host([orbit][sm])>span{border-width:8px}:host([orbit][md])>span{border-width:13px}:host([orbit][lg])>span{border-width:21px}@keyframes orbit{0%{transform:rotate(0)}to{transform:rotate(360deg)}}:host([ringworm])>svg{animation:rotate 2s linear infinite;height:100%;width:100%;stroke:currentcolor;stroke-width:8}:host([ringworm]) .path{stroke-dashoffset:0;animation:ringworm 1.5s ease-in-out infinite;stroke-linecap:round}@keyframes rotate{to{transform:rotate(360deg)}}@keyframes ringworm{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px}to{stroke-dasharray:89,200;stroke-dashoffset:-124px}}:host([laser]){position:static;width:100%;display:block;height:0;overflow:hidden;font-size:unset}:host([laser])>span{position:fixed;width:100%;height:.25rem;border-radius:0;z-index:100}:host([laser])>span:nth-child(1){border-color:currentcolor;opacity:.25}:host([laser])>span:nth-child(2){border-color:currentcolor;animation:laser 2s linear infinite;opacity:1;width:50%}:host([laser][sm])>span:nth-child(2){width:20%}:host([laser][md])>span:nth-child(2){width:30%}:host([laser][lg])>span:nth-child(2){width:50%;animation-duration:1.5s}:host([laser][xl])>span:nth-child(2){width:80%;animation-duration:1.5s}@keyframes laser{0%{left:-100%}to{left:110%}}:host>.no-animation{display:none}@media (prefers-reduced-motion: reduce){:host{display:flex;align-items:center;justify-content:center}:host>span{opacity:1}:host>.loader{display:none}:host>svg{display:none}:host>.no-animation{display:block}}
@@ -17476,6 +17982,13 @@ class AuroCalendar extends RangeDatepicker {
17476
17982
  this.largeFullscreenHeadline = false;
17477
17983
  this.isFullscreen = false;
17478
17984
 
17985
+ /**
17986
+ * The date of the currently active cell (Unix timestamp).
17987
+ * Only one cell across the entire calendar has tabindex="0" at a time.
17988
+ * @private
17989
+ */
17990
+ this.activeCellDate = null;
17991
+
17479
17992
  /**
17480
17993
  * @private
17481
17994
  */
@@ -17641,6 +18154,8 @@ class AuroCalendar extends RangeDatepicker {
17641
18154
  */
17642
18155
  handlePrevMonth() {
17643
18156
  this.utilCal.handleMonthChange(this, 'prev');
18157
+ this.updateActiveCellForVisibleMonth();
18158
+ this.announceMonthChange();
17644
18159
  }
17645
18160
 
17646
18161
  /**
@@ -17650,6 +18165,38 @@ class AuroCalendar extends RangeDatepicker {
17650
18165
  */
17651
18166
  handleNextMonth() {
17652
18167
  this.utilCal.handleMonthChange(this, 'next');
18168
+ this.updateActiveCellForVisibleMonth();
18169
+ this.announceMonthChange();
18170
+ }
18171
+
18172
+ /**
18173
+ * Announces the current month and year via the live region after navigation.
18174
+ * @private
18175
+ * @returns {void}
18176
+ */
18177
+ announceMonthChange() {
18178
+ const date = new Date(this.centralDate);
18179
+ const localeCode = this.locale?.code || undefined;
18180
+ const formatter = new Intl.DateTimeFormat(localeCode, { month: 'long', year: 'numeric' });
18181
+ this.announceSelection(formatter.format(date));
18182
+ }
18183
+
18184
+ /**
18185
+ * Recomputes and sets the active cell for the newly visible month after
18186
+ * month navigation. Without this, activeCellDate can point at a date in
18187
+ * the old month, leaving no tabindex="0" cell in the grid.
18188
+ * @private
18189
+ * @returns {void}
18190
+ */
18191
+ updateActiveCellForVisibleMonth() {
18192
+ // Skip the dateFrom shortcut so the active cell lands in the newly
18193
+ // visible month rather than jumping back to the selected date's month.
18194
+ this.activeCellDate = this.computeActiveDate({ skipDateFrom: true });
18195
+ this.updateComplete.then(() => {
18196
+ if (this.activeCellDate != null) {
18197
+ this.setActiveCell(this.activeCellDate);
18198
+ }
18199
+ });
17653
18200
  }
17654
18201
 
17655
18202
  /**
@@ -17757,6 +18304,778 @@ class AuroCalendar extends RangeDatepicker {
17757
18304
  this.utilCal.scrollMonthIntoView(this, date, this.format);
17758
18305
  }
17759
18306
 
18307
+ /**
18308
+ * Gets all rendered month components.
18309
+ * @private
18310
+ * @returns {Array} Array of auro-formkit-calendar-month elements.
18311
+ */
18312
+ getMonthComponents() {
18313
+ return Array.from(this.shadowRoot.querySelectorAll('auro-formkit-calendar-month'));
18314
+ }
18315
+
18316
+ /**
18317
+ * Gets all focusable cells across all rendered months.
18318
+ * @private
18319
+ * @returns {Array} Array of auro-formkit-calendar-cell elements.
18320
+ */
18321
+ getAllFocusableCells() {
18322
+ const months = this.getMonthComponents();
18323
+ let cells = [];
18324
+ months.forEach(month => {
18325
+ cells = cells.concat(month.getFocusableCells());
18326
+ });
18327
+ return cells;
18328
+ }
18329
+
18330
+ /**
18331
+ * Sets the active cell across all months. Only one cell has tabindex="0" at a time.
18332
+ * Uses imperative DOM manipulation — no Lit re-render triggered.
18333
+ * Also updates ariaActiveDescendantElement on the grid wrapper so
18334
+ * screen readers announce the active cell without moving DOM focus.
18335
+ * @param {Number} date - Unix timestamp of the cell to activate.
18336
+ * @returns {void}
18337
+ */
18338
+ setActiveCell(date) {
18339
+ const allCells = this.getAllFocusableCells();
18340
+
18341
+ let newActiveCell = null;
18342
+ allCells.forEach(cell => {
18343
+ if (cell.day && cell.day.date === date) {
18344
+ cell.setActive();
18345
+ newActiveCell = cell;
18346
+ } else if (cell.active) {
18347
+ cell.clearActive();
18348
+ }
18349
+ });
18350
+
18351
+ this.activeCellDate = date;
18352
+
18353
+ // Update the proxy element that aria-activedescendant references.
18354
+ // The proxy lives in the same shadow root as the grid wrapper, so
18355
+ // string-based aria-activedescendant works reliably with all SRs.
18356
+ if (newActiveCell) {
18357
+ const proxy = this.shadowRoot.querySelector('#activeDescendantProxy');
18358
+ if (proxy) {
18359
+ proxy.setAttribute('aria-label', newActiveCell.getAriaLabel());
18360
+ proxy.setAttribute('aria-selected', newActiveCell.selected ? 'true' : 'false');
18361
+ if (newActiveCell.isCurrentDate) {
18362
+ proxy.setAttribute('aria-current', 'date');
18363
+ } else {
18364
+ proxy.removeAttribute('aria-current');
18365
+ }
18366
+ if (newActiveCell.isBlackout()) {
18367
+ proxy.setAttribute('aria-disabled', 'true');
18368
+ } else {
18369
+ proxy.removeAttribute('aria-disabled');
18370
+ }
18371
+ }
18372
+ }
18373
+ }
18374
+
18375
+ /**
18376
+ * Focuses the calendar grid wrapper and sets the active cell.
18377
+ * DOM focus stays on the grid wrapper; ariaActiveDescendantElement
18378
+ * tells the screen reader which cell is "active".
18379
+ * @returns {void}
18380
+ */
18381
+ focusActiveCell() {
18382
+ if (this.activeCellDate != null) {
18383
+ this.setActiveCell(this.activeCellDate);
18384
+ }
18385
+
18386
+ const gridWrapper = this.shadowRoot.querySelector('#calendarGrid');
18387
+ if (gridWrapper) {
18388
+ gridWrapper.focus({ focusVisible: true });
18389
+ }
18390
+ }
18391
+
18392
+ /**
18393
+ * Computes the initial active date from data properties alone — no DOM required.
18394
+ * Priority:
18395
+ * 1. Selected date (dateFrom) if within range
18396
+ * 2. Today's date if not disabled (in-range and not blackout)
18397
+ * 3. First future non-disabled date (scans day-by-day from today up to 1 year)
18398
+ * 4. First previous non-disabled date (scans day-by-day from today up to 1 year)
18399
+ * 5. First enabled date in finite [min, max] range
18400
+ * 5b. First enabled date scanning forward from finite min (unbounded max)
18401
+ * 5c. First enabled date scanning backward from finite max (unbounded min)
18402
+ * 6. First in-range date (even if blackout) so focus can land somewhere
18403
+ * 7. undefined — no valid target
18404
+ *
18405
+ * @private
18406
+ * @param {Object} [options] - Optional settings.
18407
+ * @param {boolean} [options.skipDateFrom=false] - When true, skip the selected-date
18408
+ * shortcut (step 1). Used after month navigation so the active cell lands in the
18409
+ * newly visible month instead of jumping back to the selected date's month.
18410
+ * @returns {Number|undefined} Unix timestamp (seconds) of the date to activate, or undefined.
18411
+ */
18412
+ computeActiveDate(options = {}) {
18413
+ const MAX_SCAN_DAYS = 366; // scan at most ~1 year in each direction
18414
+
18415
+ /**
18416
+ * Adds days to a timestamp using Date arithmetic to handle DST correctly.
18417
+ * Returns a local-midnight-aligned timestamp in seconds.
18418
+ */
18419
+ const addDays = (ts, days) => {
18420
+ const d = new Date(ts * 1000);
18421
+ d.setDate(d.getDate() + days);
18422
+ d.setHours(0, 0, 0, 0);
18423
+ return Math.floor(d.getTime() / 1000);
18424
+ };
18425
+
18426
+ const rawMin = Number(this.min);
18427
+ const rawMax = Number(this.max);
18428
+
18429
+ // When min/max are NaN (no minDate/maxDate configured), treat as unbounded.
18430
+ const minTs = Number.isFinite(rawMin) ? rawMin : -Infinity;
18431
+ const maxTs = Number.isFinite(rawMax) ? rawMax : Infinity;
18432
+
18433
+ // Build a Set of blackout timestamps for O(1) lookup.
18434
+ const blackoutSet = new Set(
18435
+ (this.disabledDays || []).map(d => parseInt(d, 10))
18436
+ );
18437
+
18438
+ // Also include ISO-format blackoutDates from the datepicker if available.
18439
+ // Parse YYYY-MM-DD as local date to avoid UTC shift issues.
18440
+ const isoBlackouts = this.datepicker?.blackoutDates;
18441
+ if (Array.isArray(isoBlackouts)) {
18442
+ for (const isoStr of isoBlackouts) {
18443
+ const parts = isoStr.split('-');
18444
+ const ts = Math.floor(new Date(parseInt(parts[0], 10), parseInt(parts[1], 10) - 1, parseInt(parts[2], 10)).getTime() / 1000);
18445
+ if (Number.isFinite(ts)) blackoutSet.add(ts);
18446
+ }
18447
+ }
18448
+
18449
+ /**
18450
+ * A date (unix timestamp in seconds, midnight-aligned) is "enabled" when
18451
+ * it is within [min, max] AND not a blackout day.
18452
+ */
18453
+ const isEnabled = (ts) => ts >= minTs && ts <= maxTs && !blackoutSet.has(ts);
18454
+
18455
+ /**
18456
+ * A date is "in range" (focusable in the grid) when it is within [min, max].
18457
+ * Blackout dates are focusable but not selectable.
18458
+ */
18459
+ const isInRange = (ts) => ts >= minTs && ts <= maxTs;
18460
+
18461
+ // 1. Selected date — always valid target if within range (user chose it).
18462
+ // Skipped when called from month navigation so the active cell lands in
18463
+ // the newly visible month rather than the (possibly off-screen) selection.
18464
+ if (!options.skipDateFrom && this.dateFrom) {
18465
+ const parsedFrom = parseInt(this.dateFrom, 10);
18466
+ if (Number.isFinite(parsedFrom) && isInRange(parsedFrom)) return parsedFrom;
18467
+ }
18468
+
18469
+ // 2. Today's date (midnight-aligned) if enabled.
18470
+ const now = Math.floor(new Date().setHours(0, 0, 0, 0) / 1000);
18471
+
18472
+ // When centralDate is configured, prefer a date within the month(s) that
18473
+ // will actually be rendered. If today falls outside the visible range, an
18474
+ // active cell set to today would have no matching DOM element and keyboard
18475
+ // focus could not enter the calendar.
18476
+ const centralDateValue = this.centralDate ? new Date(this.centralDate) : null;
18477
+
18478
+ if (centralDateValue && !isNaN(centralDateValue.getTime())) {
18479
+ const centralMonth = centralDateValue.getMonth();
18480
+ const centralYear = centralDateValue.getFullYear();
18481
+ const todayDate = new Date(now * 1000);
18482
+ const todayMonth = todayDate.getMonth();
18483
+ const todayYear = todayDate.getFullYear();
18484
+
18485
+ // Today is outside the centralDate's month — scan for an enabled date
18486
+ // within the visible month instead.
18487
+ if (todayMonth !== centralMonth || todayYear !== centralYear) {
18488
+ const visibleStart = new Date(centralYear, centralMonth, 1);
18489
+ visibleStart.setHours(0, 0, 0, 0);
18490
+ const visibleEnd = new Date(centralYear, centralMonth + 1, 0); // last day of month
18491
+ visibleEnd.setHours(0, 0, 0, 0);
18492
+ const startTs = Math.floor(visibleStart.getTime() / 1000);
18493
+ const endTs = Math.floor(visibleEnd.getTime() / 1000);
18494
+ const daysInMonth = visibleEnd.getDate();
18495
+
18496
+ for (let idx = 0; idx < daysInMonth; idx++) {
18497
+ const ts = addDays(startTs, idx);
18498
+ if (ts > endTs) break;
18499
+ if (isEnabled(ts)) return ts;
18500
+ }
18501
+
18502
+ // No enabled date in the visible month — fall back to first in-range
18503
+ // date in the month so focus still lands on a focusable cell.
18504
+ for (let idx = 0; idx < daysInMonth; idx++) {
18505
+ const ts = addDays(startTs, idx);
18506
+ if (ts > endTs) break;
18507
+ if (isInRange(ts)) return ts;
18508
+ }
18509
+ }
18510
+ }
18511
+
18512
+ if (isEnabled(now)) return now;
18513
+
18514
+ // When a centralDate is configured (or inferred), constrain the scan to the
18515
+ // rendered month(s) first so a single-month calendar does not pick a date
18516
+ // that has no DOM cell. Determine the visible range based on centralDate and
18517
+ // the number of rendered months.
18518
+ const renderedMonths = this.numCalendars || 1;
18519
+ const visibleAnchor = centralDateValue && !isNaN(centralDateValue.getTime())
18520
+ ? centralDateValue
18521
+ : new Date(now * 1000);
18522
+ const visMonthStart = new Date(visibleAnchor.getFullYear(), visibleAnchor.getMonth(), 1);
18523
+ visMonthStart.setHours(0, 0, 0, 0);
18524
+ const visMonthEnd = new Date(visibleAnchor.getFullYear(), visibleAnchor.getMonth() + renderedMonths, 0);
18525
+ visMonthEnd.setHours(0, 0, 0, 0);
18526
+ const visStartTs = Math.floor(visMonthStart.getTime() / 1000);
18527
+ const visEndTs = Math.floor(visMonthEnd.getTime() / 1000);
18528
+ const visDays = Math.round((visEndTs - visStartTs) / 86400) + 1;
18529
+
18530
+ // Scan visible months for an enabled date.
18531
+ for (let idx = 0; idx < visDays; idx++) {
18532
+ const ts = addDays(visStartTs, idx);
18533
+ if (ts > visEndTs) break;
18534
+ if (isEnabled(ts)) return ts;
18535
+ }
18536
+
18537
+ // No enabled date in visible months — try an in-range (focusable) date so
18538
+ // keyboard focus still has a tabindex="0" target.
18539
+ for (let idx = 0; idx < visDays; idx++) {
18540
+ const ts = addDays(visStartTs, idx);
18541
+ if (ts > visEndTs) break;
18542
+ if (isInRange(ts)) return ts;
18543
+ }
18544
+
18545
+ // 3. First future enabled date (scan forward from tomorrow, capped by max and MAX_SCAN_DAYS).
18546
+ for (let idx = 1; idx <= MAX_SCAN_DAYS; idx++) {
18547
+ const ts = addDays(now, idx);
18548
+ if (Number.isFinite(maxTs) && ts > maxTs) break;
18549
+ if (isEnabled(ts)) return ts;
18550
+ }
18551
+
18552
+ // 4. First previous enabled date (scan backward from yesterday, capped by min and MAX_SCAN_DAYS).
18553
+ for (let idx = 1; idx <= MAX_SCAN_DAYS; idx++) {
18554
+ const ts = addDays(now, -idx);
18555
+ if (Number.isFinite(minTs) && ts < minTs) break;
18556
+ if (isEnabled(ts)) return ts;
18557
+ }
18558
+
18559
+ // 5. If scans missed (e.g. min/max range is far from today), fall back to
18560
+ // the first enabled date in the [min, max] range.
18561
+ if (Number.isFinite(minTs) && Number.isFinite(maxTs)) {
18562
+ let ts = minTs;
18563
+ for (let idx = 0; ts <= maxTs; idx++) {
18564
+ if (isEnabled(ts)) return ts;
18565
+ ts = addDays(minTs, idx + 1);
18566
+ }
18567
+ }
18568
+
18569
+ // 5b. Finite min with unbounded max (e.g. minDate far in the future):
18570
+ // scan forward from min for up to MAX_SCAN_DAYS.
18571
+ if (Number.isFinite(minTs) && !Number.isFinite(maxTs)) {
18572
+ for (let idx = 0; idx <= MAX_SCAN_DAYS; idx++) {
18573
+ const ts = addDays(minTs, idx);
18574
+ if (isEnabled(ts)) return ts;
18575
+ }
18576
+ }
18577
+
18578
+ // 5c. Unbounded min with a finite max far in the past (e.g. birth-date picker):
18579
+ // scan backward from max for up to MAX_SCAN_DAYS.
18580
+ if (!Number.isFinite(minTs) && Number.isFinite(maxTs)) {
18581
+ for (let idx = 0; idx <= MAX_SCAN_DAYS; idx++) {
18582
+ const ts = addDays(maxTs, -idx);
18583
+ if (isEnabled(ts)) return ts;
18584
+ }
18585
+ }
18586
+
18587
+ // 6. All dates are blackout — fall back to the first in-range date so focus
18588
+ // still lands on a focusable (but not selectable) cell.
18589
+ if (Number.isFinite(minTs) && isInRange(minTs)) return minTs;
18590
+ if (isInRange(now)) return now;
18591
+
18592
+ return undefined;
18593
+ }
18594
+
18595
+ /**
18596
+ * Handles arrow key navigation on the calendar grid wrapper.
18597
+ * Focus stays on the grid wrapper; only ariaActiveDescendantElement
18598
+ * and the visual active-cell indicator change.
18599
+ * @private
18600
+ * @param {KeyboardEvent} event - The keyboard event.
18601
+ * @returns {void}
18602
+ */
18603
+ handleGridKeyDown(event) {
18604
+ const { key } = event;
18605
+ const actionKeys = ['ArrowRight', 'ArrowLeft', 'ArrowDown', 'ArrowUp', 'Enter', ' '];
18606
+
18607
+ if (!actionKeys.includes(key)) return;
18608
+
18609
+ event.preventDefault();
18610
+
18611
+ const allCells = this.getAllFocusableCells();
18612
+ if (allCells.length === 0) return;
18613
+
18614
+ const activeCell = allCells.find(cell => cell.active);
18615
+ if (!activeCell) return;
18616
+
18617
+ // Handle Enter/Space to select the active cell
18618
+ if (key === 'Enter' || key === ' ') {
18619
+ activeCell.handleTap();
18620
+ return;
18621
+ }
18622
+
18623
+ const activeIndex = allCells.indexOf(activeCell);
18624
+
18625
+ if (key === 'ArrowRight' || key === 'ArrowLeft') {
18626
+ const direction = key === 'ArrowRight' ? 1 : -1;
18627
+ const targetIndex = activeIndex + direction;
18628
+
18629
+ if (targetIndex >= 0 && targetIndex < allCells.length) {
18630
+ // Target cell exists in rendered months
18631
+ this.setActiveCell(allCells[targetIndex].day.date);
18632
+ this.scrollToActiveCell();
18633
+ // Dispatch focus event for the cell so live region + range preview update
18634
+ this.handleCellFocused({ detail: { date: allCells[targetIndex].day.date } });
18635
+ } else {
18636
+ // At boundary — need to navigate to next/prev month
18637
+ const navDir = direction === 1 ? 'next' : 'prev';
18638
+ if ((navDir === 'next' && this.showNextMonthBtn) || (navDir === 'prev' && this.showPrevMonthBtn)) {
18639
+ const targetDate = new Date(activeCell.day.date * 1000);
18640
+ targetDate.setDate(targetDate.getDate() + direction);
18641
+ targetDate.setHours(0, 0, 0, 0);
18642
+ const targetTs = Math.floor(targetDate.getTime() / 1000);
18643
+
18644
+ if (navDir === 'next') {
18645
+ this.handleNextMonth();
18646
+ } else {
18647
+ this.handlePrevMonth();
18648
+ }
18649
+ requestAnimationFrame(() => {
18650
+ requestAnimationFrame(() => {
18651
+ const cells = this.getAllFocusableCells();
18652
+ const target = cells.find(cell => cell.day && cell.day.date === targetTs);
18653
+ if (target) {
18654
+ this.setActiveCell(target.day.date);
18655
+ this.handleCellFocused({ detail: { date: target.day.date } });
18656
+ } else if (cells.length > 0) {
18657
+ const fallback = navDir === 'next' ? cells[cells.length - 1] : cells[0];
18658
+ this.setActiveCell(fallback.day.date);
18659
+ this.handleCellFocused({ detail: { date: fallback.day.date } });
18660
+ }
18661
+ // Re-focus grid wrapper after month change re-render
18662
+ this.focusActiveCell();
18663
+ });
18664
+ });
18665
+ }
18666
+ }
18667
+ } else if (key === 'ArrowDown' || key === 'ArrowUp') {
18668
+ const increment = key === 'ArrowDown' ? 7 : -7;
18669
+ const currentDate = new Date(activeCell.day.date * 1000);
18670
+ currentDate.setDate(currentDate.getDate() + increment);
18671
+ currentDate.setHours(0, 0, 0, 0);
18672
+ const targetDate = Math.floor(currentDate.getTime() / 1000);
18673
+
18674
+ const targetCell = allCells.find(cell => cell.day && cell.day.date === targetDate);
18675
+
18676
+ if (targetCell) {
18677
+ this.setActiveCell(targetCell.day.date);
18678
+ this.scrollToActiveCell();
18679
+ this.handleCellFocused({ detail: { date: targetCell.day.date } });
18680
+ } else {
18681
+ // Target might be in an unrendered month
18682
+ const navDirection = key === 'ArrowDown' ? 'next' : 'prev';
18683
+ if ((navDirection === 'next' && this.showNextMonthBtn) || (navDirection === 'prev' && this.showPrevMonthBtn)) {
18684
+ if (navDirection === 'next') {
18685
+ this.handleNextMonth();
18686
+ } else {
18687
+ this.handlePrevMonth();
18688
+ }
18689
+ requestAnimationFrame(() => {
18690
+ requestAnimationFrame(() => {
18691
+ const cells = this.getAllFocusableCells();
18692
+ const target = cells.find(cell => cell.day && cell.day.date === targetDate);
18693
+ if (target) {
18694
+ this.setActiveCell(target.day.date);
18695
+ this.handleCellFocused({ detail: { date: target.day.date } });
18696
+ } else if (cells.length > 0) {
18697
+ const nearest = navDirection === 'next' ? cells[0] : cells[cells.length - 1];
18698
+ this.setActiveCell(nearest.day.date);
18699
+ this.handleCellFocused({ detail: { date: nearest.day.date } });
18700
+ }
18701
+ this.focusActiveCell();
18702
+ });
18703
+ });
18704
+ }
18705
+ }
18706
+ }
18707
+ }
18708
+
18709
+ /**
18710
+ * Handles cross-month boundary navigation events from month components.
18711
+ * @private
18712
+ * @param {CustomEvent} event - The boundary event with direction and source date info.
18713
+ * @returns {void}
18714
+ */
18715
+ handleMonthBoundary(event) {
18716
+ const { direction, fromDate, key } = event.detail;
18717
+
18718
+ if (key === 'ArrowRight' || key === 'ArrowLeft') {
18719
+ // Linear navigation: find adjacent focusable cell across months
18720
+ const allCells = this.getAllFocusableCells();
18721
+ const currentIndex = allCells.findIndex(cell => cell.day && cell.day.date === fromDate);
18722
+
18723
+ if (currentIndex === -1) return;
18724
+
18725
+ let targetIndex;
18726
+ if (direction === 'next') {
18727
+ targetIndex = currentIndex + 1;
18728
+ } else {
18729
+ targetIndex = currentIndex - 1;
18730
+ }
18731
+
18732
+ if (targetIndex >= 0 && targetIndex < allCells.length) {
18733
+ const targetCell = allCells[targetIndex];
18734
+ this.setActiveCell(targetCell.day.date);
18735
+ this.scrollToActiveCell();
18736
+ this.focusActiveCell();
18737
+ } else if (direction === 'next' && this.showNextMonthBtn) {
18738
+ // Navigate to next month and focus the computed next date.
18739
+ // Using the target date (fromDate + 1 day) instead of cells[0]
18740
+ // avoids jumping backward in range datepickers where cells[0]
18741
+ // belongs to the previous (still-rendered) month.
18742
+ const nextDate = new Date(fromDate * 1000);
18743
+ nextDate.setDate(nextDate.getDate() + 1);
18744
+ nextDate.setHours(0, 0, 0, 0);
18745
+ const nextTs = Math.floor(nextDate.getTime() / 1000);
18746
+
18747
+ this.handleNextMonth();
18748
+ requestAnimationFrame(() => {
18749
+ requestAnimationFrame(() => {
18750
+ const cells = this.getAllFocusableCells();
18751
+ const target = cells.find(cell => cell.day && cell.day.date === nextTs);
18752
+ if (target) {
18753
+ this.setActiveCell(target.day.date);
18754
+ this.focusActiveCell();
18755
+ } else if (cells.length > 0) {
18756
+ // Fallback: first cell of the last rendered month
18757
+ this.setActiveCell(cells[cells.length - 1].day.date);
18758
+ this.focusActiveCell();
18759
+ }
18760
+ });
18761
+ });
18762
+ } else if (direction === 'prev' && this.showPrevMonthBtn) {
18763
+ // Navigate to previous month and focus the computed previous date.
18764
+ const prevDate = new Date(fromDate * 1000);
18765
+ prevDate.setDate(prevDate.getDate() - 1);
18766
+ prevDate.setHours(0, 0, 0, 0);
18767
+ const prevTs = Math.floor(prevDate.getTime() / 1000);
18768
+
18769
+ this.handlePrevMonth();
18770
+ requestAnimationFrame(() => {
18771
+ requestAnimationFrame(() => {
18772
+ const cells = this.getAllFocusableCells();
18773
+ const target = cells.find(cell => cell.day && cell.day.date === prevTs);
18774
+ if (target) {
18775
+ this.setActiveCell(target.day.date);
18776
+ this.focusActiveCell();
18777
+ } else if (cells.length > 0) {
18778
+ // Fallback: last cell of the first rendered month
18779
+ this.setActiveCell(cells[0].day.date);
18780
+ this.focusActiveCell();
18781
+ }
18782
+ });
18783
+ });
18784
+ }
18785
+ } else if (key === 'ArrowDown' || key === 'ArrowUp') {
18786
+ // Vertical navigation: find same day-of-week +/- 7 days
18787
+ // Use Date arithmetic instead of fixed seconds to handle DST correctly
18788
+ const increment = key === 'ArrowDown' ? 7 : -7;
18789
+ const currentDate = new Date(fromDate * 1000);
18790
+ currentDate.setDate(currentDate.getDate() + increment);
18791
+ currentDate.setHours(0, 0, 0, 0);
18792
+ const targetDate = Math.floor(currentDate.getTime() / 1000);
18793
+
18794
+ const allCells = this.getAllFocusableCells();
18795
+ let targetCell = allCells.find(cell => cell.day && cell.day.date === targetDate);
18796
+
18797
+ if (targetCell) {
18798
+ this.setActiveCell(targetCell.day.date);
18799
+ this.scrollToActiveCell();
18800
+ this.focusActiveCell();
18801
+ } else {
18802
+ // Target might be in an unrendered month, navigate there
18803
+ const navDirection = key === 'ArrowDown' ? 'next' : 'prev';
18804
+ if ((navDirection === 'next' && this.showNextMonthBtn) || (navDirection === 'prev' && this.showPrevMonthBtn)) {
18805
+ if (navDirection === 'next') {
18806
+ this.handleNextMonth();
18807
+ } else {
18808
+ this.handlePrevMonth();
18809
+ }
18810
+ requestAnimationFrame(() => {
18811
+ requestAnimationFrame(() => {
18812
+ const cells = this.getAllFocusableCells();
18813
+ const target = cells.find(cell => cell.day && cell.day.date === targetDate);
18814
+ if (target) {
18815
+ this.setActiveCell(target.day.date);
18816
+ this.focusActiveCell();
18817
+ } else if (cells.length > 0) {
18818
+ // Clamp to nearest focusable cell
18819
+ const nearest = navDirection === 'next' ? cells[0] : cells[cells.length - 1];
18820
+ this.setActiveCell(nearest.day.date);
18821
+ this.focusActiveCell();
18822
+ }
18823
+ });
18824
+ });
18825
+ }
18826
+ }
18827
+ }
18828
+ }
18829
+
18830
+ /**
18831
+ * Handles cell activation events from month components.
18832
+ * @private
18833
+ * @param {CustomEvent} event - The activation event with target date.
18834
+ * @returns {void}
18835
+ */
18836
+ handleCellActivate(event) {
18837
+ const { date } = event.detail;
18838
+ this.setActiveCell(date);
18839
+ this.focusActiveCell();
18840
+ }
18841
+
18842
+ /**
18843
+ * Handles focus events from calendar cells.
18844
+ * Updates the live region with an SR announcement and triggers
18845
+ * the imperative range preview if applicable.
18846
+ * @private
18847
+ * @param {CustomEvent} event - The calendar-cell-focused event.
18848
+ * @returns {void}
18849
+ */
18850
+ handleCellFocused(event) {
18851
+ const { date } = event.detail;
18852
+ if (date == null) return;
18853
+
18854
+ // With aria-activedescendant, the button no longer receives native focus,
18855
+ // so we use the debounced live region for the full context announcement.
18856
+ const announcement = this.buildFocusAnnouncement(date);
18857
+ this.announceFocusDebounced(announcement);
18858
+
18859
+ // Update the range preview imperatively if in range-preview mode.
18860
+ this.updateRangePreview(date);
18861
+ }
18862
+
18863
+ /**
18864
+ * Builds a full SR announcement string for a focused cell date.
18865
+ * Includes the localized date, range position, popover content,
18866
+ * and blackout status.
18867
+ * @private
18868
+ * @param {Number} date - Unix timestamp (seconds) of the focused cell.
18869
+ * @returns {String} The announcement string.
18870
+ */
18871
+ buildFocusAnnouncement(date) {
18872
+ let label = this.formatAnnouncementDate(date);
18873
+
18874
+ // Append date slot content (e.g. prices) if present.
18875
+ const dateObj = new Date(date * 1000);
18876
+ const mm = String(dateObj.getMonth() + 1).padStart(2, '0');
18877
+ const dd = String(dateObj.getDate()).padStart(2, '0');
18878
+ const yyyy = dateObj.getFullYear();
18879
+ const dateStr = `${mm}_${dd}_${yyyy}`;
18880
+ const dateSlotEl = this.datepicker?.querySelector(`[slot="date_${dateStr}"]`);
18881
+ if (dateSlotEl) {
18882
+ const text = dateSlotEl.innerText?.trim();
18883
+ if (text) {
18884
+ label += `, ${text}`;
18885
+ }
18886
+ }
18887
+
18888
+ // Append popover content if present.
18889
+ const popoverEl = this.datepicker?.querySelector(`[slot="popover_${dateStr}"]`);
18890
+ if (popoverEl) {
18891
+ const text = popoverEl.innerText?.trim();
18892
+ if (text) {
18893
+ label += `, ${text}`;
18894
+ }
18895
+ }
18896
+
18897
+ // Append range position context.
18898
+ if (this.datepicker?.hasAttribute('range')) {
18899
+ const rangeLabel = this.getRangePositionLabel(date);
18900
+ if (rangeLabel) {
18901
+ label += `, ${rangeLabel}`;
18902
+ }
18903
+ }
18904
+
18905
+ // Append blackout label.
18906
+ if (this.isDateBlackout(date)) {
18907
+ label += `, ${this.datepicker?.blackoutLabel || 'unavailable'}`;
18908
+ }
18909
+
18910
+ return label;
18911
+ }
18912
+
18913
+ /**
18914
+ * Determines the range position label for a given date.
18915
+ * @private
18916
+ * @param {Number} date - Unix timestamp (seconds).
18917
+ * @returns {String|null} The range position label, or null.
18918
+ */
18919
+ getRangePositionLabel(date) {
18920
+ const parsedFrom = Number.parseInt(this.dateFrom, 10);
18921
+ if (!Number.isFinite(parsedFrom)) return null;
18922
+
18923
+ const departTs = startOfDay(parsedFrom * 1000) / 1000;
18924
+ const parsedTo = Number.parseInt(this.dateTo, 10);
18925
+ const hasTo = Number.isFinite(parsedTo);
18926
+ const returnTs = hasTo ? startOfDay(parsedTo * 1000) / 1000 : null;
18927
+
18928
+ if (date === departTs) return this.datepicker.rangeLabelStart || 'range start';
18929
+ if (hasTo && date === returnTs) return this.datepicker.rangeLabelEnd || 'range end';
18930
+ if (date < departTs) return this.datepicker.rangeLabelBeforeRange || 'before range';
18931
+ if (hasTo && date > departTs && date < returnTs) return this.datepicker.rangeLabelInRange || 'in range';
18932
+ return this.datepicker.rangeLabelAfterRange || 'after range';
18933
+ }
18934
+
18935
+ /**
18936
+ * Checks whether a given date is a blackout date.
18937
+ * @private
18938
+ * @param {Number} dateTs - Unix timestamp (seconds).
18939
+ * @returns {Boolean} True if the date is blacked out.
18940
+ */
18941
+ isDateBlackout(dateTs) {
18942
+ // Check legacy disabledDays.
18943
+ if (Array.isArray(this.disabledDays) && this.disabledDays.length > 0) {
18944
+ if (this.disabledDays.findIndex(d => parseInt(d, 10) === dateTs) !== -1) {
18945
+ return true;
18946
+ }
18947
+ }
18948
+
18949
+ // Check ISO blackoutDates.
18950
+ const blackoutDates = this.datepicker?.blackoutDates;
18951
+ if (Array.isArray(blackoutDates) && blackoutDates.length > 0) {
18952
+ const date = new Date(dateTs * 1000);
18953
+ const yyyy = date.getFullYear();
18954
+ const mm = String(date.getMonth() + 1).padStart(2, '0');
18955
+ const dd = String(date.getDate()).padStart(2, '0');
18956
+ if (blackoutDates.includes(`${yyyy}-${mm}-${dd}`)) {
18957
+ return true;
18958
+ }
18959
+ }
18960
+
18961
+ return false;
18962
+ }
18963
+
18964
+ /**
18965
+ * Updates the range preview classes imperatively across all cells.
18966
+ * Only active when in range mode with dateFrom set and dateTo not yet set.
18967
+ * @private
18968
+ * @param {Number} hoveredDate - Unix timestamp of the hovered/focused date.
18969
+ * @returns {void}
18970
+ */
18971
+ updateRangePreview(hoveredDate) {
18972
+ if (this.noRange || !this.dateFrom || this.dateTo) {
18973
+ return;
18974
+ }
18975
+
18976
+ const parsedDateFrom = parseInt(this.dateFrom, 10);
18977
+ const allCells = this.getAllFocusableCells();
18978
+
18979
+ allCells.forEach(cell => {
18980
+ cell.updateRangePreviewClasses(hoveredDate, parsedDateFrom);
18981
+ });
18982
+ }
18983
+
18984
+ /**
18985
+ * Clears range preview classes from all cells.
18986
+ * @private
18987
+ * @returns {void}
18988
+ */
18989
+ clearRangePreview() {
18990
+ const allCells = this.getAllFocusableCells();
18991
+ allCells.forEach(cell => {
18992
+ cell.clearRangePreviewClasses();
18993
+ });
18994
+ }
18995
+
18996
+ /**
18997
+ * Overrides the base class handler to prevent setting `this.hoveredDate`
18998
+ * as a reactive property. Instead, handles the range preview imperatively.
18999
+ * @private
19000
+ * @param {CustomEvent} event - The hovered-date-changed event from a month.
19001
+ * @returns {void}
19002
+ */
19003
+ hoveredDateChanged(event) {
19004
+ const hoveredDate = event.detail.value;
19005
+ this.updateRangePreview(hoveredDate);
19006
+ }
19007
+
19008
+ /**
19009
+ * Scrolls the calendar to ensure the month containing the active cell is visible.
19010
+ * @private
19011
+ * @returns {void}
19012
+ */
19013
+ scrollToActiveCell() {
19014
+ if (this.activeCellDate == null) return;
19015
+
19016
+ const date = new Date(this.activeCellDate * 1000);
19017
+ const month = date.getMonth() + 1;
19018
+ const year = date.getFullYear();
19019
+ const selector = `#month-${month}-${year}`;
19020
+ const monthElem = this.shadowRoot.querySelector(selector);
19021
+
19022
+ if (monthElem) {
19023
+ const prefersReducedMotion = window.matchMedia('(prefers-reduced-motion: reduce)').matches;
19024
+ monthElem.scrollIntoView({ block: 'nearest', behavior: prefersReducedMotion ? 'instant' : 'smooth' });
19025
+ }
19026
+ }
19027
+
19028
+ /**
19029
+ * Announces a date selection or focus change via the live region.
19030
+ * @private
19031
+ * @param {String} dateStr - The localized date string to announce.
19032
+ * @returns {void}
19033
+ */
19034
+ announceSelection(dateStr) {
19035
+ const liveRegion = this.shadowRoot.querySelector('#calendar-live-region');
19036
+ if (liveRegion) {
19037
+ liveRegion.textContent = '';
19038
+ // Use microtask to ensure SR picks up the change
19039
+ Promise.resolve().then(() => {
19040
+ liveRegion.textContent = dateStr;
19041
+ });
19042
+ }
19043
+ }
19044
+
19045
+ /**
19046
+ * Debounced version of announceSelection for focus navigation.
19047
+ * Only announces the last focused date after rapid navigation pauses,
19048
+ * preventing the screen reader from queueing up stale announcements
19049
+ * that can't keep pace with arrow-key traversal.
19050
+ * @private
19051
+ * @param {String} dateStr - The localized date string to announce.
19052
+ * @returns {void}
19053
+ */
19054
+ announceFocusDebounced(dateStr) {
19055
+ if (this._focusAnnounceTimer) {
19056
+ clearTimeout(this._focusAnnounceTimer);
19057
+ }
19058
+ this._focusAnnounceTimer = setTimeout(() => {
19059
+ this.announceSelection(dateStr);
19060
+ this._focusAnnounceTimer = null;
19061
+ }, 150);
19062
+ }
19063
+
19064
+ /**
19065
+ * Formats a Unix timestamp (seconds) as a localized date string for SR announcements.
19066
+ * @private
19067
+ * @param {String|Number} timestamp - Unix timestamp in seconds.
19068
+ * @returns {String} Localized date string.
19069
+ */
19070
+ formatAnnouncementDate(timestamp) {
19071
+ const date = new Date(parseInt(timestamp, 10) * 1000);
19072
+ const localeCode = this.locale?.code || undefined;
19073
+ const formatter = new Intl.DateTimeFormat(localeCode, {
19074
+ weekday: 'long', year: 'numeric', month: 'long', day: 'numeric'
19075
+ });
19076
+ return formatter.format(date);
19077
+ }
19078
+
17760
19079
  firstUpdated() {
17761
19080
  this.addEventListener('date-from-changed', () => {
17762
19081
  this.dispatchEvent(new CustomEvent('auroCalendar-dateSelected', {
@@ -17776,6 +19095,21 @@ class AuroCalendar extends RangeDatepicker {
17776
19095
  composed: true,
17777
19096
  }));
17778
19097
  });
19098
+
19099
+ // Listen for cross-month boundary navigation events
19100
+ this.addEventListener('calendar-month-boundary', (event) => {
19101
+ this.handleMonthBoundary(event);
19102
+ });
19103
+
19104
+ // Listen for cell activation events
19105
+ this.addEventListener('calendar-cell-activate', (event) => {
19106
+ this.handleCellActivate(event);
19107
+ });
19108
+
19109
+ // Listen for cell focus events (SR announcements + range preview)
19110
+ this.addEventListener('calendar-cell-focused', (event) => {
19111
+ this.handleCellFocused(event);
19112
+ });
17779
19113
  }
17780
19114
 
17781
19115
  injectSlot(slotName, nodes) {
@@ -17800,7 +19134,37 @@ class AuroCalendar extends RangeDatepicker {
17800
19134
  }
17801
19135
 
17802
19136
  if (changedProperties.has('visible')) {
17803
- setTimeout(() => this.requestUpdate());
19137
+ if (this.visible) {
19138
+ // Compute the active date eagerly from data — no DOM needed.
19139
+ if (this.activeCellDate == null) {
19140
+ this.activeCellDate = this.computeActiveDate();
19141
+ }
19142
+
19143
+ this.requestUpdate();
19144
+ } else {
19145
+ this.requestUpdate();
19146
+ }
19147
+ }
19148
+
19149
+ // Announce date selection to screen readers when user clicks/selects a cell
19150
+ const isCellClick = this.datepicker?.wasCellClick || this.datepicker?.cellClickActive;
19151
+
19152
+ if (changedProperties.has('dateFrom') && this.dateFrom && isCellClick) {
19153
+ const dateStr = this.formatAnnouncementDate(this.dateFrom);
19154
+ const isRange = !this.noRange;
19155
+
19156
+ if (isRange) {
19157
+ const rangeLabel = this.datepicker.rangeLabelStart || 'range start';
19158
+ this.announceSelection(`${dateStr}, selected as ${rangeLabel}`);
19159
+ } else {
19160
+ this.announceSelection(`${dateStr}, selected`);
19161
+ }
19162
+ }
19163
+
19164
+ if (changedProperties.has('dateTo') && this.dateTo && isCellClick) {
19165
+ const dateStr = this.formatAnnouncementDate(this.dateTo);
19166
+ const rangeLabel = this.datepicker.rangeLabelEnd || 'range end';
19167
+ this.announceSelection(`${dateStr}, selected as ${rangeLabel}`);
17804
19168
  }
17805
19169
  }
17806
19170
 
@@ -17809,6 +19173,7 @@ class AuroCalendar extends RangeDatepicker {
17809
19173
  <${this.bibtemplateTag}
17810
19174
  ?large="${this.largeFullscreenHeadline}"
17811
19175
  ?isFullscreen="${this.isFullscreen}"
19176
+ ?showFooter="${!this.isFullscreen && this.dropdown?.desktopModal}"
17812
19177
  @close-click="${this.utilCal.requestDismiss}">
17813
19178
  <span slot="ariaLabel.close">${this.slots["ariaLabel.bib.close"]}</span>
17814
19179
 
@@ -17826,24 +19191,27 @@ class AuroCalendar extends RangeDatepicker {
17826
19191
  </div>
17827
19192
  </div>
17828
19193
 
17829
- <div class="calendarWrapper">
17830
- <div class="calendars">
17831
- ${this.renderAllCalendars()}
17832
- </div>
19194
+ <div class="calendarWrapper ${!this.isFullscreen && this.dropdown?.desktopModal ? 'hasFooter' : ''}">
17833
19195
  <div class="calendarNavButtons">
17834
19196
  ${this.showPrevMonthBtn ? u$c`
17835
- <button tabIndex="-1" class="calendarNavBtn prevMonth" @click="${this.handlePrevMonth}">
19197
+ <button tabIndex="0" class="calendarNavBtn prevMonth" aria-label="${this.datepicker?.navLabelPrevMonth || 'Previous month'}" @click="${this.handlePrevMonth}">
17836
19198
  ${this.util.generateIconHtml(chevronLeft)}
17837
19199
  </button>
17838
19200
  ` : undefined}
17839
19201
  ${this.showNextMonthBtn ? u$c`
17840
- <button tabIndex="-1" class="calendarNavBtn nextMonth" @click="${this.handleNextMonth}">
19202
+ <button tabIndex="0" class="calendarNavBtn nextMonth" aria-label="${this.datepicker?.navLabelNextMonth || 'Next month'}" @click="${this.handleNextMonth}">
17841
19203
  ${this.util.generateIconHtml(chevronRight)}
17842
19204
  </button>
17843
19205
  ` : undefined}
17844
19206
  </div>
19207
+ <div id="calendarGrid" class="calendars" role="group" tabindex="-1" aria-activedescendant="activeDescendantProxy" @keydown="${this.handleGridKeyDown}">
19208
+ <span id="activeDescendantProxy" role="gridcell" aria-label="" class="sr-only"></span>
19209
+ ${this.renderAllCalendars()}
19210
+ </div>
17845
19211
  </div>
17846
19212
 
19213
+ <div id="calendar-live-region" aria-live="assertive" aria-atomic="true" class="sr-only"></div>
19214
+
17847
19215
  <${this.buttonTag} slot="footer" fluid @click="${this.utilCal.requestDismiss}">Done</${this.buttonTag}>
17848
19216
  </${this.bibtemplateTag}>
17849
19217
  `;
@@ -21091,7 +22459,7 @@ function applyKeyboardStrategy$1$2(component, strategy, options = {}) {
21091
22459
  });
21092
22460
  }
21093
22461
 
21094
- var styleCss$2$1$2 = i$7`:host{position:fixed;z-index:var(--depth-tooltip, 400);display:none;isolation:isolate}:host dialog{width:auto;max-width:none;height:auto;max-height:none;padding:0;border:none;margin:0;outline:none;transform:translateZ(0)}:host dialog::backdrop{background:transparent}:host(:not([isfullscreen])) dialog{position:relative;inset:unset}:host(:not([isfullscreen])) .container.shape-box{border-radius:unset}:host(:not([isfullscreen])) .container[class*=shape-pill],:host(:not([isfullscreen])) .container[class*=shape-snowflake]{border-radius:30px}:host(:not([isfullscreen])) .container[class*=shape-rounded]{border-radius:16px}:host(:not([matchWidth])) .container{min-width:fit-content}:host([isfullscreen]){position:fixed;top:0;left:0}:host([isfullscreen]) .container{width:100dvw;max-width:none;height:100dvh;max-height:none;border-radius:unset;margin-top:0;box-shadow:unset;overscroll-behavior:contain}:host([isfullscreen]) .container::backdrop{background:var(--ds-color-background-primary, #fff)}:host(:popover-open){position:fixed;overflow:visible;padding:0;border:none;margin:0;background:transparent;inset:unset;outline:none}:host([data-show]){display:flex}:host([common]:not([isfullscreen])) .container,:host([rounded]:not([isfullscreen])) .container{border-radius:var(--ds-border-radius, 0.375rem)}:host([common][isfullscreen]) .container,:host([rounded][isfullscreen]) .container{border-radius:unset;box-shadow:unset}.container{display:inline-block;overflow:auto;box-sizing:border-box;border-radius:var(--ds-border-radius, 0.375rem);margin:var(--ds-size-50, 0.25rem) 0}.util_displayHiddenVisually{position:absolute;overflow:hidden;width:1px;height:1px;padding:0;border:0;margin:-1px;clip-path:inset(50%);white-space:nowrap}`;
22462
+ var styleCss$2$1$2 = i$7`:host{position:fixed;z-index:var(--depth-tooltip, 400);display:none;isolation:isolate}:host dialog{width:auto;max-width:none;height:auto;max-height:none;padding:0;border:none;margin:0;outline:none;transform:translateZ(0)}:host dialog::backdrop{background:transparent}:host(:not([isfullscreen])) dialog{position:relative;inset:unset}:host(:not([isfullscreen])) .container.shape-box{border-radius:unset}:host(:not([isfullscreen])) .container[class*=shape-pill],:host(:not([isfullscreen])) .container[class*=shape-snowflake]{border-radius:30px}:host(:not([isfullscreen])) .container[class*=shape-rounded]{border-radius:16px}:host([desktopmodal]:popover-open)::backdrop{background:transparent}:host(:not([matchWidth])) .container{min-width:fit-content}:host([isfullscreen]){position:fixed;top:0;left:0}:host([isfullscreen]) .container{width:100dvw;max-width:none;height:100dvh;max-height:none;border-radius:unset;margin-top:0;box-shadow:unset;overscroll-behavior:contain}:host([isfullscreen]) .container::backdrop{background:var(--ds-color-background-primary, #fff)}:host(:popover-open){position:fixed;overflow:visible;padding:0;border:none;margin:0;background:transparent;inset:unset;outline:none}:host([data-show]){display:flex}:host([common]:not([isfullscreen])) .container,:host([rounded]:not([isfullscreen])) .container{border-radius:var(--ds-border-radius, 0.375rem)}:host([common][isfullscreen]) .container,:host([rounded][isfullscreen]) .container{border-radius:unset;box-shadow:unset}.container{display:inline-block;overflow:auto;box-sizing:border-box;border-radius:var(--ds-border-radius, 0.375rem);margin:var(--ds-size-50, 0.25rem) 0}.util_displayHiddenVisually{position:absolute;overflow:hidden;width:1px;height:1px;padding:0;border:0;margin:-1px;clip-path:inset(50%);white-space:nowrap}`;
21095
22463
 
21096
22464
  var colorCss$2$7 = i$7`.container{background-color:var(--ds-auro-dropdownbib-container-color);box-shadow:var(--ds-auro-dropdownbib-boxshadow-color);color:var(--ds-auro-dropdownbib-text-color)}`;
21097
22465
 
@@ -21722,7 +23090,7 @@ let AuroHelpText$2$1 = class AuroHelpText extends i$4 {
21722
23090
  }
21723
23091
  };
21724
23092
 
21725
- var formkitVersion$1$2 = '202605201646';
23093
+ var formkitVersion$1$2 = '202605210326';
21726
23094
 
21727
23095
  let AuroElement$2$2 = class AuroElement extends i$4 {
21728
23096
  static get properties() {
@@ -21902,6 +23270,7 @@ let AuroDropdown$3 = class AuroDropdown extends AuroElement$2$2 {
21902
23270
  _intializeDefaults() {
21903
23271
  this.appearance = 'default';
21904
23272
  this.chevron = false;
23273
+ this.desktopModal = false;
21905
23274
  this.disabled = false;
21906
23275
  this.disableKeyboardHandling = false;
21907
23276
  this.error = false;
@@ -22082,6 +23451,14 @@ let AuroDropdown$3 = class AuroDropdown extends AuroElement$2$2 {
22082
23451
  reflect: true
22083
23452
  },
22084
23453
 
23454
+ /**
23455
+ * If declared, the dropdown will behave as a modal dialog when in a desktop viewport size.
23456
+ */
23457
+ desktopModal: {
23458
+ type: Boolean,
23459
+ reflect: true
23460
+ },
23461
+
22085
23462
  /**
22086
23463
  * If declared, the dropdown will only show by calling the API .show() public method.
22087
23464
  */
@@ -22369,6 +23746,15 @@ let AuroDropdown$3 = class AuroDropdown extends AuroElement$2$2 {
22369
23746
 
22370
23747
  disconnectedCallback() {
22371
23748
  super.disconnectedCallback();
23749
+ this._clearPageInert();
23750
+ if (this._bibTabHandler) {
23751
+ this.removeEventListener('keydown', this._bibTabHandler);
23752
+ this._bibTabHandler = undefined;
23753
+ }
23754
+ if (this.focusTrap) {
23755
+ this.focusTrap.disconnect();
23756
+ this.focusTrap = undefined;
23757
+ }
22372
23758
  if (this.floater) {
22373
23759
  this.floater.hideBib('disconnect');
22374
23760
  this.floater.disconnect();
@@ -22396,19 +23782,45 @@ let AuroDropdown$3 = class AuroDropdown extends AuroElement$2$2 {
22396
23782
  if (this.isPopoverVisible) {
22397
23783
  // Fullscreen: use showModal() for native accessibility (inert outside, focus trap)
22398
23784
  // Desktop: use show() for Floating UI positioning + FocusTrap for focus management
22399
- const useModal = this.isBibFullscreen;
22400
- this.bibElement.value.open(useModal);
23785
+ this.bibElement.value.open(this.isBibFullscreen);
23786
+ this.updateFocusTrap();
23787
+
23788
+ // Desktop modal: make siblings inert so content outside is not interactive
23789
+ if (this.desktopModal && !this.isBibFullscreen) {
23790
+ this._setPageInert();
23791
+ }
22401
23792
  } else {
22402
23793
  this.bibElement.value.close();
23794
+ this._clearPageInert();
22403
23795
  }
22404
23796
  }
22405
23797
 
22406
23798
  // When fullscreen strategy changes while open, re-open dialog with correct mode
22407
23799
  // (e.g. resizing from desktop → mobile while dropdown is open)
22408
23800
  if (changedProperties.has('isBibFullscreen') && this.isPopoverVisible && this.bibElement.value) {
22409
- const useModal = this.isBibFullscreen;
22410
23801
  this.bibElement.value.close();
22411
- this.bibElement.value.open(useModal);
23802
+ this.bibElement.value.open(this.isBibFullscreen);
23803
+
23804
+ // Re-initialize focus management for the new strategy
23805
+ this.updateFocusTrap();
23806
+
23807
+ // Toggle inert: desktop modal needs it, fullscreen showModal() handles it natively
23808
+ if (this.desktopModal && !this.isBibFullscreen) {
23809
+ this._setPageInert();
23810
+ } else {
23811
+ this._clearPageInert();
23812
+ }
23813
+ }
23814
+
23815
+ // Handle desktopModal toggled while the dropdown is already open.
23816
+ // Re-initialize focus trapping and page inert state to match the new mode.
23817
+ if (changedProperties.has('desktopModal') && this.isPopoverVisible && !this.isBibFullscreen) {
23818
+ this.updateFocusTrap();
23819
+ if (this.desktopModal) {
23820
+ this._setPageInert();
23821
+ } else {
23822
+ this._clearPageInert();
23823
+ }
22412
23824
  }
22413
23825
  }
22414
23826
 
@@ -22418,8 +23830,14 @@ let AuroDropdown$3 = class AuroDropdown extends AuroElement$2$2 {
22418
23830
  * @param {CustomEvent} event - The custom event that contains the dropdown toggle information.
22419
23831
  */
22420
23832
  handleDropdownToggle(event) {
22421
- this.updateFocusTrap();
22422
23833
  this.isPopoverVisible = event.detail.expanded;
23834
+
23835
+ // Tear down FocusTrap when closing. Creation happens in updated()
23836
+ // after the dialog is open so getFocusableElements can find content.
23837
+ if (!this.isPopoverVisible) {
23838
+ this.updateFocusTrap();
23839
+ }
23840
+
22423
23841
  const eventType = event.detail.eventType || "unknown";
22424
23842
  if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown") {
22425
23843
  this.trigger.focus();
@@ -22518,19 +23936,178 @@ let AuroDropdown$3 = class AuroDropdown extends AuroElement$2$2 {
22518
23936
  * @private
22519
23937
  */
22520
23938
  updateFocusTrap() {
23939
+ // Always clean up existing handlers/traps before setting up new ones
23940
+ // to prevent duplicate listeners on repeated calls.
23941
+ if (this._bibTabHandler) {
23942
+ this.removeEventListener('keydown', this._bibTabHandler);
23943
+ this._bibTabHandler = undefined;
23944
+ }
23945
+
23946
+ if (this.focusTrap) {
23947
+ this.focusTrap.disconnect();
23948
+ this.focusTrap = undefined;
23949
+ }
23950
+
22521
23951
  if (this.isPopoverVisible) {
22522
23952
  if (!this.isBibFullscreen) {
22523
- // Desktop: show() doesn't trap focus, so use FocusTrap
22524
- this.focusTrap = new FocusTrap$3(this.bibContent);
22525
- this.focusTrap.focusFirstElement();
23953
+ if (this.desktopModal) {
23954
+ // Desktop modal: trap focus only within the bib content.
23955
+ // Can't use FocusTrap on the bib element because keydown events
23956
+ // from slotted content bubble through the dropdown host (light DOM),
23957
+ // not through the bib (shadow projection target). Using FocusTrap
23958
+ // on the dropdown would include the trigger in the tab cycle.
23959
+ // Instead, listen for Tab on the dropdown and manually wrap focus
23960
+ // within the bib's focusable elements.
23961
+ this._bibTabHandler = (event) => {
23962
+ if (event.key !== 'Tab') {
23963
+ return;
23964
+ }
23965
+
23966
+ // Collect focusable elements from the bib content.
23967
+ const focusables = getFocusableElements$3(this.bibContent);
23968
+
23969
+ // Fallback: try from slotted content directly
23970
+ if (!focusables.length) {
23971
+ const slot = this.shadowRoot.querySelector('.slotContent slot');
23972
+ const assignedNodes = slot ? slot.assignedNodes({ flatten: true }) : [];
23973
+
23974
+ for (const node of assignedNodes) {
23975
+ if (node.nodeType === Node.ELEMENT_NODE) {
23976
+ focusables.push(...getFocusableElements$3(node));
23977
+ }
23978
+ }
23979
+ }
23980
+
23981
+ if (!focusables.length) {
23982
+ return;
23983
+ }
23984
+
23985
+ event.preventDefault();
23986
+
23987
+ const direction = event.shiftKey ? -1 : 1; // eslint-disable-line no-magic-numbers
23988
+
23989
+ // Walk the active element chain through shadow roots
23990
+ const actives = this._getActiveElements();
23991
+
23992
+ let idx = focusables.findIndex((el) => actives.includes(el));
23993
+
23994
+ if (idx === -1) { // eslint-disable-line no-magic-numbers
23995
+ // Focus is not on a known element — move to first/last
23996
+ idx = direction === 1 ? -1 : focusables.length; // eslint-disable-line no-magic-numbers
23997
+ }
23998
+
23999
+ // Try each element in order, skipping any that can't receive focus
24000
+ // (e.g. hidden elements, elements in collapsed sections)
24001
+ for (let index = 0; index < focusables.length; index++) { // eslint-disable-line no-plusplus
24002
+ let nextIdx = idx + direction;
24003
+
24004
+ // Wrap around
24005
+ if (nextIdx < 0) {
24006
+ nextIdx = focusables.length - 1;
24007
+ } else if (nextIdx >= focusables.length) {
24008
+ nextIdx = 0;
24009
+ }
24010
+
24011
+ focusables[nextIdx].focus();
24012
+
24013
+ // Verify focus actually moved to the target
24014
+ const newActives = this._getActiveElements();
24015
+
24016
+ if (newActives.includes(focusables[nextIdx])) {
24017
+ return;
24018
+ }
24019
+
24020
+ // Focus didn't stick — skip this element and try the next
24021
+ idx = nextIdx;
24022
+ }
24023
+ };
24024
+ this.addEventListener('keydown', this._bibTabHandler);
24025
+
24026
+ // Move initial focus into the bib content, matching FocusTrap behavior
24027
+ requestAnimationFrame(() => {
24028
+ const focusables = getFocusableElements$3(this.bibContent);
24029
+ if (focusables.length) {
24030
+ focusables[0].focus();
24031
+ }
24032
+ });
24033
+ } else {
24034
+ // Normal desktop: use FocusTrap on the bib element
24035
+ this.focusTrap = new FocusTrap$3(this.bibContent);
24036
+ this.focusTrap.focusFirstElement();
24037
+ }
22526
24038
  }
22527
24039
  // Fullscreen: showModal() provides native focus trapping
24040
+ }
24041
+ }
24042
+
24043
+ /**
24044
+ * Returns the chain of active (focused) elements through shadow roots.
24045
+ * @private
24046
+ * @returns {Array<HTMLElement>}
24047
+ */
24048
+ _getActiveElements() {
24049
+ let { activeElement } = document;
24050
+ const actives = [activeElement];
24051
+
24052
+ while (activeElement?.shadowRoot?.activeElement) {
24053
+ activeElement = activeElement.shadowRoot.activeElement;
24054
+ actives.push(activeElement);
24055
+ }
24056
+
24057
+ return actives;
24058
+ }
24059
+
24060
+ /**
24061
+ * Sets `inert` on sibling elements of the dropdown's top-level host
24062
+ * so that content outside the dropdown is not interactive while the modal is open.
24063
+ * Walks up through shadow DOM boundaries to find the outermost host element
24064
+ * in the light DOM, then sets `inert` on siblings at each ancestor level
24065
+ * to ensure all page content outside the host subtree is inert.
24066
+ * @private
24067
+ */
24068
+ _setPageInert() {
24069
+ if (this._inertSiblings) {
22528
24070
  return;
22529
24071
  }
22530
24072
 
22531
- if (this.focusTrap) {
22532
- this.focusTrap.disconnect();
22533
- this.focusTrap = undefined;
24073
+ this._inertSiblings = [];
24074
+
24075
+ // Walk up through shadow DOM boundaries to find the topmost host
24076
+ // element in the light DOM. For example, if this dropdown is inside
24077
+ // auro-datepicker's shadow DOM, we walk up to the datepicker element
24078
+ // so we set inert on its siblings — not on the datepicker itself.
24079
+ let host = this;
24080
+ while (host.getRootNode() instanceof ShadowRoot) {
24081
+ host = host.getRootNode().host;
24082
+ }
24083
+
24084
+ // Walk up the ancestor chain, inerting siblings at each level
24085
+ // to ensure the entire page outside the host subtree is inert.
24086
+ let current = host;
24087
+ while (current.parentElement) {
24088
+ const parent = current.parentElement;
24089
+ for (const sibling of parent.children) {
24090
+ if (sibling !== current) {
24091
+ this._inertSiblings.push({ element: sibling, wasInert: sibling.inert });
24092
+ sibling.inert = true;
24093
+ }
24094
+ }
24095
+ current = parent;
24096
+ }
24097
+ }
24098
+
24099
+ /**
24100
+ * Restores `inert` state on siblings that were tracked by `_setPageInert`.
24101
+ * Preserves the previous inert state so externally-inerted elements are
24102
+ * not inadvertently re-enabled.
24103
+ * @private
24104
+ */
24105
+ _clearPageInert() {
24106
+ if (this._inertSiblings) {
24107
+ for (const entry of this._inertSiblings) {
24108
+ entry.element.inert = entry.wasInert;
24109
+ }
24110
+ this._inertSiblings = undefined;
22534
24111
  }
22535
24112
  }
22536
24113
 
@@ -22769,6 +24346,7 @@ let AuroDropdown$3 = class AuroDropdown extends AuroElement$2$2 {
22769
24346
  shape="${this.shape}"
22770
24347
  ?data-show="${this.isPopoverVisible}"
22771
24348
  ?isfullscreen="${this.isBibFullscreen}"
24349
+ ?desktopmodal="${this.desktopModal}"
22772
24350
  .dialogLabel="${this.bibDialogLabel}"
22773
24351
  ${n$6(this.bibElement)}
22774
24352
  >
@@ -29467,7 +31045,7 @@ let AuroHelpText$1$2 = class AuroHelpText extends i$4 {
29467
31045
  }
29468
31046
  };
29469
31047
 
29470
- var formkitVersion$8 = '202605201646';
31048
+ var formkitVersion$8 = '202605210326';
29471
31049
 
29472
31050
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
29473
31051
  // See LICENSE in the project root for license information.
@@ -30722,26 +32300,62 @@ function applyKeyboardStrategy$5(component, strategy, options = {}) {
30722
32300
  // components/datepicker/docs/partials/keyboardBehavior.md
30723
32301
  //
30724
32302
  // Current behavior (transitional — full bib keyboard navigation is planned for a future iteration):
30725
- // - The bib opens and closes via pointer/touch interaction only.
30726
32303
  // - Escape closes the bib and prevents the event from reaching parent containers.
32304
+ // - Enter opens the bib when it is closed (trigger input only, not clear button).
32305
+ // - Space opens the bib when it is closed (trigger input only, not clear button).
30727
32306
  // - Tab uses the browser's default tabindex sequence across trigger controls.
30728
- // - Enter and Space do not open or close the bib.
30729
32307
  //
30730
32308
  // This file is an intentional placeholder for most keys. When datepicker bib keyboard navigation is
30731
32309
  // added, handlers should go here following the same strategy pattern used by
30732
32310
  // auro-select (selectKeyboardStrategy.js) and auro-combobox (comboboxKeyboardStrategy.js).
30733
32311
  const datepickerKeyboardStrategy = {
30734
- Escape(component, evt) {
30735
- if (!component.dropdown || !component.dropdown.isPopoverVisible) {
32312
+ Escape(component, evt, ctx) {
32313
+ if (!ctx.isExpanded) {
30736
32314
  return;
30737
32315
  }
30738
32316
 
30739
- // Prevent the Escape key from bubbling up and closing any parent dialogs / drawers / popups.
30740
- // Because stopPropagation prevents the document-level floatingUI keydown handler from
30741
- // seeing this event, we must also close the dropdown explicitly.
32317
+ // Stop propagation so parent containers (auro-dialog, auro-drawer)
32318
+ // don't also react to Escape.
30742
32319
  evt.stopPropagation();
32320
+ evt.preventDefault();
30743
32321
 
30744
- component.dropdown.hide();
32322
+ component.hideBib();
32323
+ },
32324
+
32325
+ Enter(component, evt, ctx) {
32326
+ if (ctx.isExpanded) {
32327
+ return;
32328
+ }
32329
+
32330
+ // Only open from the trigger input, not the clear button or other internal elements.
32331
+ // evt.target is retargeted to the host in shadow DOM, so use composedPath()
32332
+ // to find the real origin. The clear button is rendered with class "clearBtn".
32333
+ const path = evt.composedPath();
32334
+ if (path.some(el => el.classList?.contains('clearBtn'))) {
32335
+ return;
32336
+ }
32337
+
32338
+ evt.preventDefault();
32339
+
32340
+ component.dropdown.show();
32341
+ },
32342
+
32343
+ ' '(component, evt, ctx) {
32344
+ if (ctx.isExpanded) {
32345
+ return;
32346
+ }
32347
+
32348
+ // Only open from the trigger input, not the clear button or other internal elements.
32349
+ // evt.target is retargeted to the host in shadow DOM, so use composedPath()
32350
+ // to find the real origin. The clear button is rendered with class "clearBtn".
32351
+ const path = evt.composedPath();
32352
+ if (path.some(el => el.classList?.contains('clearBtn'))) {
32353
+ return;
32354
+ }
32355
+
32356
+ evt.preventDefault();
32357
+
32358
+ component.dropdown.show();
30745
32359
  },
30746
32360
  };
30747
32361
 
@@ -30815,6 +32429,15 @@ class AuroDatePicker extends AuroElement$6 {
30815
32429
  this.required = false;
30816
32430
  this.onDark = false;
30817
32431
  this.range = false;
32432
+ this.rangeLabelStart = 'range start';
32433
+ this.rangeLabelEnd = 'range end';
32434
+ this.rangeLabelBeforeRange = 'before range';
32435
+ this.rangeLabelInRange = 'in range';
32436
+ this.rangeLabelAfterRange = 'after range';
32437
+ this.blackoutDates = [];
32438
+ this.blackoutLabel = 'unavailable';
32439
+ this.navLabelPrevMonth = 'Previous month';
32440
+ this.navLabelNextMonth = 'Next month';
30818
32441
  this.stacked = false;
30819
32442
  this.noValidate = false;
30820
32443
  this.validity = undefined;
@@ -31193,6 +32816,78 @@ class AuroDatePicker extends AuroElement$6 {
31193
32816
  reflect: true
31194
32817
  },
31195
32818
 
32819
+ /**
32820
+ * Label announced for the range start date cell.
32821
+ */
32822
+ rangeLabelStart: {
32823
+ type: String,
32824
+ reflect: true
32825
+ },
32826
+
32827
+ /**
32828
+ * Label announced for the range end date cell.
32829
+ */
32830
+ rangeLabelEnd: {
32831
+ type: String,
32832
+ reflect: true
32833
+ },
32834
+
32835
+ /**
32836
+ * Label announced for cells before the range start.
32837
+ */
32838
+ rangeLabelBeforeRange: {
32839
+ type: String,
32840
+ reflect: true
32841
+ },
32842
+
32843
+ /**
32844
+ * Label announced for cells within the selected range.
32845
+ */
32846
+ rangeLabelInRange: {
32847
+ type: String,
32848
+ reflect: true
32849
+ },
32850
+
32851
+ /**
32852
+ * Label announced for cells after the range (or after start when no end is selected).
32853
+ */
32854
+ rangeLabelAfterRange: {
32855
+ type: String,
32856
+ reflect: true
32857
+ },
32858
+
32859
+ /**
32860
+ * Array of dates that cannot be selected. Dates should be in ISO format (YYYY-MM-DD).
32861
+ */
32862
+ blackoutDates: {
32863
+ type: Array,
32864
+ reflect: true
32865
+ },
32866
+
32867
+ /**
32868
+ * Label announced for blackout (disabled but in-range) date cells.
32869
+ */
32870
+ blackoutLabel: {
32871
+ type: String,
32872
+ reflect: true
32873
+ },
32874
+
32875
+ /**
32876
+ * Accessible label for the previous month navigation button.
32877
+ */
32878
+ navLabelPrevMonth: {
32879
+ type: String,
32880
+ reflect: true
32881
+ },
32882
+
32883
+ /**
32884
+ * Accessible label for the next month navigation button.
32885
+ */
32886
+ navLabelNextMonth: {
32887
+ type: String,
32888
+ reflect: true
32889
+ },
32890
+
31196
32891
  /**
31197
32892
  * Dates that the user should have for reference as part of their decision making when selecting a date.
31198
32893
  * This should be a JSON string array of dates in the format of `MM/DD/YYYY`.
@@ -31219,6 +32914,7 @@ class AuroDatePicker extends AuroElement$6 {
31219
32914
 
31220
32915
  /**
31221
32916
  * Custom help text message to display when validity = `customError`.
32917
+ * Also used as the validation message when a blackout date is typed into the input.
31222
32918
  */
31223
32919
  setCustomValidityCustomError: {
31224
32920
  type: String
@@ -31540,6 +33236,61 @@ class AuroDatePicker extends AuroElement$6 {
31540
33236
  }));
31541
33237
  }
31542
33238
 
33239
+ /**
33240
+ * Attempts to focus the active calendar cell using a rAF retry loop.
33241
+ * Shared by both fullscreen and desktop open paths.
33242
+ * @private
33243
+ * @returns {void}
33244
+ */
33245
+ focusActiveCellWhenReady() {
33246
+ const MAX_ATTEMPTS = 20;
33247
+ let attempts = 0;
33248
+
33249
+ const tryFocus = () => {
33250
+ attempts += 1;
33251
+ const allCells = this.calendar.getAllFocusableCells();
33252
+
33253
+ if (!allCells.length && attempts < MAX_ATTEMPTS) {
33254
+ requestAnimationFrame(tryFocus);
33255
+ return;
33256
+ }
33257
+
33258
+ // Compute and mark the active cell
33259
+ if (this.calendar.activeCellDate == null) {
33260
+ this.calendar.activeCellDate = this.calendar.computeActiveDate();
33261
+ }
33262
+ if (this.calendar.activeCellDate !== undefined) {
33263
+ this.calendar.setActiveCell(this.calendar.activeCellDate);
33264
+ }
33265
+
33266
+ // If no cell matched (e.g. centralDate month differs from the rendered
33267
+ // range on mobile), fall back to the first rendered enabled cell.
33268
+ let activeCell = allCells.find(cell => cell.active);
33269
+ if (!activeCell && allCells.length) {
33270
+ const fallback = allCells[0];
33271
+ if (fallback.day) {
33272
+ this.calendar.activeCellDate = fallback.day.date;
33273
+ this.calendar.setActiveCell(this.calendar.activeCellDate);
33274
+ activeCell = allCells.find(cell => cell.active);
33275
+ }
33276
+ }
33277
+
33278
+ // Focus the calendar grid wrapper (aria-activedescendant handles
33279
+ // the SR announcement for the active cell).
33280
+ if (activeCell) {
33281
+ // Announce the initial active cell via the live region
33282
+ const announcement = this.calendar.buildFocusAnnouncement(activeCell.day.date);
33283
+ this.calendar.announceSelection(announcement);
33284
+
33285
+ this.calendar.focusActiveCell();
33286
+ } else if (attempts < MAX_ATTEMPTS) {
33287
+ requestAnimationFrame(tryFocus);
33288
+ }
33289
+ };
33290
+
33291
+ requestAnimationFrame(tryFocus);
33292
+ }
33293
+
31543
33294
  /**
31544
33295
  * Binds all behavior needed to the dropdown after rendering.
31545
33296
  * @private
@@ -31548,6 +33299,12 @@ class AuroDatePicker extends AuroElement$6 {
31548
33299
  configureDropdown() {
31549
33300
  this.dropdown = this.shadowRoot.querySelector(this.dropdownTag._$litStatic$);
31550
33301
 
33302
+ // The datepicker manages its own open/close lifecycle (Space/Escape/date-select/done).
33303
+ // Prevent the floater's document-level focusin handler from closing the bib
33304
+ // when focus moves from the trigger into the calendar cells (which live inside
33305
+ // a top-layer popover where :focus-within on the dropdown host returns false).
33306
+ this.dropdown.noHideOnThisFocusLoss = true;
33307
+
31551
33308
  // Pass label text to the dropdown bib for accessible dialog naming.
31552
33309
  // Without this, the fullscreen <dialog> has no accessible name and
31553
33310
  // screen readers announce it as just "dialog" with no context.
@@ -31565,6 +33322,23 @@ class AuroDatePicker extends AuroElement$6 {
31565
33322
  this.dropdown.addEventListener('auroDropdown-toggled', () => {
31566
33323
  this.notifyDatepickerToggled();
31567
33324
 
33325
+ if (this.dropdown.isPopoverVisible) {
33326
+ // Reset calendar focus state so it recomputes from the current selection.
33327
+ // Without this, reopening after navigating to a month without a selected
33328
+ // date leaves activeCellDate pointing at a cell in a different month than
33329
+ // what centralDate renders, causing all cells to have tabindex="-1".
33330
+ this.calendar.activeCellDate = null;
33331
+
33332
+ // Show the month containing the selected date (or today) instead of
33333
+ // whichever month the user last navigated to.
33334
+ // Respect consumer-provided centralDate/calendarStartDate if no value is set.
33335
+ if (this.value && this.util.validDateStr(this.value, this.format)) {
33336
+ this.calendarRenderUtil.updateCentralDate(this, this.formattedValue);
33337
+ } else if (!this.centralDate && !this.calendarStartDate && !this.minDate) {
33338
+ this.calendarRenderUtil.updateCentralDate(this, new Date());
33339
+ }
33340
+ }
33341
+
31568
33342
  // This forces the calendar to render when the dropdown is opened.
31569
33343
  // It is not rendered by default
31570
33344
  this.calendar.visible = this.dropdown.isPopoverVisible;
@@ -31597,12 +33371,23 @@ class AuroDatePicker extends AuroElement$6 {
31597
33371
  bibEl.open(true);
31598
33372
 
31599
33373
  doubleRaf$3(() => {
31600
- this.calendar.focusCloseButton();
33374
+ this.focusActiveCellWhenReady();
31601
33375
  });
31602
33376
  }
31603
33377
  });
31604
33378
 
31605
33379
  guardTouchPassthrough$2(this.shadowRoot.querySelector('.calendarWrapper'));
33380
+ } else {
33381
+ // Desktop (non-fullscreen) modal: make the trigger inert so users
33382
+ // cannot interact with the input while the modal bib is open.
33383
+ if (this.dropdown.desktopModal) {
33384
+ this.dropdown.trigger.inert = true;
33385
+ }
33386
+
33387
+ // Desktop (non-fullscreen): focus the active calendar cell.
33388
+ this.dropdown.updateComplete.then(() => {
33389
+ this.focusActiveCellWhenReady();
33390
+ });
31606
33391
  }
31607
33392
  } else {
31608
33393
  // Always clear the inert flag. Only restore focus to the input when the datepicker
@@ -31648,7 +33433,7 @@ class AuroDatePicker extends AuroElement$6 {
31648
33433
  bibEl.close();
31649
33434
  bibEl.open(true);
31650
33435
  doubleRaf$3(() => {
31651
- this.calendar.focusCloseButton();
33436
+ this.focusActiveCellWhenReady();
31652
33437
  });
31653
33438
  }
31654
33439
  });
@@ -31843,14 +33628,8 @@ class AuroDatePicker extends AuroElement$6 {
31843
33628
 
31844
33629
  if (onEndValue) {
31845
33630
  this.valueEnd = newDate;
31846
- if (this.dropdown.isPopoverVisible && !this.dropdown.isBibFullscreen) {
31847
- this.focus('startDate');
31848
- }
31849
33631
  } else {
31850
33632
  this.value = newDate;
31851
- if (this.dropdown.isPopoverVisible && !this.dropdown.isBibFullscreen) {
31852
- this.focus('endDate');
31853
- }
31854
33633
  }
31855
33634
  }
31856
33635
  }
@@ -31890,6 +33669,27 @@ class AuroDatePicker extends AuroElement$6 {
31890
33669
  this.resetInputs();
31891
33670
  }
31892
33671
 
33672
+ /**
33673
+ * Checks whether a formatted date string matches a blackout date.
33674
+ * @private
33675
+ * @param {string} dateStr - A date string in the component's configured format.
33676
+ * @returns {boolean} True if the date is in the blackoutDates list.
33677
+ */
33678
+ isBlackoutDate(dateStr) {
33679
+ if (!Array.isArray(this.blackoutDates) || this.blackoutDates.length === 0 || !dateStr) {
33680
+ return false;
33681
+ }
33682
+
33683
+ const formatted = this.util.toNorthAmericanFormat(dateStr, this.format);
33684
+ if (!this.util.validDateStr(dateStr, this.format)) return false;
33685
+
33686
+ const d = new Date(formatted);
33687
+ const yyyy = d.getFullYear();
33688
+ const mm = String(d.getMonth() + 1).padStart(2, '0');
33689
+ const dd = String(d.getDate()).padStart(2, '0');
33690
+ return this.blackoutDates.includes(`${yyyy}-${mm}-${dd}`);
33691
+ }
33692
+
31893
33693
  /**
31894
33694
  * Validates value.
31895
33695
  * @param {boolean} [force=false] - Whether to force validation.
@@ -31901,6 +33701,24 @@ class AuroDatePicker extends AuroElement$6 {
31901
33701
  }
31902
33702
 
31903
33703
  this.validation.validate(this, force);
33704
+
33705
+ // After standard validation, check blackout dates for typed input
33706
+ if (this.validity !== 'customError') {
33707
+ if (this.isBlackoutDate(this.value) || (this.range && this.isBlackoutDate(this.valueEnd))) {
33708
+ const msg = this.setCustomValidityCustomError || 'Selected date is unavailable';
33709
+ this.validity = 'customError';
33710
+ this.errorMessage = msg;
33711
+
33712
+ this.dispatchEvent(new CustomEvent('auroFormElement-validated', {
33713
+ bubbles: true,
33714
+ composed: true,
33715
+ detail: {
33716
+ validity: this.validity,
33717
+ message: this.errorMessage
33718
+ }
33719
+ }));
33720
+ }
33721
+ }
31904
33722
  }
31905
33723
 
31906
33724
  /**
@@ -31981,6 +33799,9 @@ class AuroDatePicker extends AuroElement$6 {
31981
33799
 
31982
33800
  if (this.cellClickActive) {
31983
33801
  this.cellClickActive = false;
33802
+ this.wasCellClick = true;
33803
+ } else {
33804
+ this.wasCellClick = false;
31984
33805
  }
31985
33806
 
31986
33807
  if (this.value && this.util.validDateStr(this.value, this.format)) {
@@ -32011,16 +33832,44 @@ class AuroDatePicker extends AuroElement$6 {
32011
33832
  }
32012
33833
 
32013
33834
  if (this.value && this.value.length === this.inputList[0].lengthForType) {
32014
- this.calendarRenderUtil.updateCentralDate(this, this.formattedValue);
33835
+ // Skip centralDate update when user clicked a cell in range mode
33836
+ // to prevent the displayed months from shifting
33837
+ if (!(this.wasCellClick && this.range)) {
33838
+ this.calendarRenderUtil.updateCentralDate(this, this.formattedValue);
33839
+ }
32015
33840
  }
32016
33841
 
32017
33842
  this.setHasValue();
32018
33843
  }
32019
33844
 
33845
+ if (changedProperties.has('blackoutDates')) {
33846
+ // Force calendar cells to re-render with updated blackout state.
33847
+ // requestUpdate on the calendar alone is insufficient because cells
33848
+ // don't receive blackoutDates as a bound property. Dispatching the
33849
+ // slot content event triggers handleSlotContent → requestUpdate on each cell.
33850
+ if (this.calendar) {
33851
+ this.calendar.requestUpdate();
33852
+ this.dispatchEvent(new CustomEvent('auroDatePicker-newSlotContent'));
33853
+ }
33854
+
33855
+ // Re-run validation so that a previously valid value that now falls on
33856
+ // a blackout date is flagged, and vice versa.
33857
+ if (this.value || this.valueEnd) {
33858
+ this.validate();
33859
+ }
33860
+ }
33861
+
32020
33862
  if (changedProperties.has('valueEnd') && this.inputList[1]) {
32021
33863
 
32022
33864
  this.formattedValueEnd = this.util.toNorthAmericanFormat(this.valueEnd, this.format);
32023
33865
 
33866
+ if (this.cellClickActive) {
33867
+ this.cellClickActive = false;
33868
+ this.wasCellClick = true;
33869
+ } else {
33870
+ this.wasCellClick = false;
33871
+ }
33872
+
32024
33873
  // update the calendar
32025
33874
  if (this.valueEnd && this.util.validDateStr(this.valueEnd, this.format)) {
32026
33875
  this.calendar.dateTo = this.convertToWcValidTime(this.formattedValueEnd);
@@ -32048,7 +33897,11 @@ class AuroDatePicker extends AuroElement$6 {
32048
33897
  }
32049
33898
 
32050
33899
  if (this.valueEnd && this.valueEnd.length === this.inputList[1].lengthForType) {
32051
- this.calendarRenderUtil.updateCentralDate(this, this.formattedValueEnd);
33900
+ // Skip centralDate update when user clicked a cell in range mode
33901
+ // to prevent the displayed months from shifting
33902
+ if (!this.wasCellClick) {
33903
+ this.calendarRenderUtil.updateCentralDate(this, this.formattedValueEnd);
33904
+ }
32052
33905
  }
32053
33906
 
32054
33907
  this.validate();
@@ -32205,6 +34058,7 @@ class AuroDatePicker extends AuroElement$6 {
32205
34058
  }
32206
34059
 
32207
34060
  firstUpdated() {
34061
+
32208
34062
  // Add the tag name as an attribute if it is different than the component name
32209
34063
  this.runtimeUtils.handleComponentTagRename(this, 'auro-datepicker');
32210
34064
 
@@ -32634,7 +34488,7 @@ class AuroDatePicker extends AuroElement$6 {
32634
34488
  // Base HTML render() handles dropdown and calendar bib
32635
34489
  return u$c`
32636
34490
  <!-- Hidden slot for clear button aria-label -->
32637
- <slot name="ariaLabel.input.clear" hidden @slotchange=${this.requestUpdate}></slot>
34491
+ <slot name="ariaLabel.input.clear" hidden @slotchange=${() => this.requestUpdate()}></slot>
32638
34492
 
32639
34493
  <${this.dropdownTag}
32640
34494
  appearance="${this.onDark ? 'inverse' : this.appearance}"
@@ -32651,6 +34505,7 @@ class AuroDatePicker extends AuroElement$6 {
32651
34505
  .shape="${this.shape}"
32652
34506
  .size="${this.size}"
32653
34507
  class="${e$3(dropdownElementClassMap)}"
34508
+ desktopModal
32654
34509
  disableEventShow
32655
34510
  for="dropdownMenu"
32656
34511
  part="dropdown"
@@ -35907,7 +37762,7 @@ function applyKeyboardStrategy$4(component, strategy, options = {}) {
35907
37762
  });
35908
37763
  }
35909
37764
 
35910
- var styleCss$2$6 = i$7`:host{position:fixed;z-index:var(--depth-tooltip, 400);display:none;isolation:isolate}:host dialog{width:auto;max-width:none;height:auto;max-height:none;padding:0;border:none;margin:0;outline:none;transform:translateZ(0)}:host dialog::backdrop{background:transparent}:host(:not([isfullscreen])) dialog{position:relative;inset:unset}:host(:not([isfullscreen])) .container.shape-box{border-radius:unset}:host(:not([isfullscreen])) .container[class*=shape-pill],:host(:not([isfullscreen])) .container[class*=shape-snowflake]{border-radius:30px}:host(:not([isfullscreen])) .container[class*=shape-rounded]{border-radius:16px}:host(:not([matchWidth])) .container{min-width:fit-content}:host([isfullscreen]){position:fixed;top:0;left:0}:host([isfullscreen]) .container{width:100dvw;max-width:none;height:100dvh;max-height:none;border-radius:unset;margin-top:0;box-shadow:unset;overscroll-behavior:contain}:host([isfullscreen]) .container::backdrop{background:var(--ds-color-background-primary, #fff)}:host(:popover-open){position:fixed;overflow:visible;padding:0;border:none;margin:0;background:transparent;inset:unset;outline:none}:host([data-show]){display:flex}:host([common]:not([isfullscreen])) .container,:host([rounded]:not([isfullscreen])) .container{border-radius:var(--ds-border-radius, 0.375rem)}:host([common][isfullscreen]) .container,:host([rounded][isfullscreen]) .container{border-radius:unset;box-shadow:unset}.container{display:inline-block;overflow:auto;box-sizing:border-box;border-radius:var(--ds-border-radius, 0.375rem);margin:var(--ds-size-50, 0.25rem) 0}.util_displayHiddenVisually{position:absolute;overflow:hidden;width:1px;height:1px;padding:0;border:0;margin:-1px;clip-path:inset(50%);white-space:nowrap}`;
37765
+ var styleCss$2$6 = i$7`:host{position:fixed;z-index:var(--depth-tooltip, 400);display:none;isolation:isolate}:host dialog{width:auto;max-width:none;height:auto;max-height:none;padding:0;border:none;margin:0;outline:none;transform:translateZ(0)}:host dialog::backdrop{background:transparent}:host(:not([isfullscreen])) dialog{position:relative;inset:unset}:host(:not([isfullscreen])) .container.shape-box{border-radius:unset}:host(:not([isfullscreen])) .container[class*=shape-pill],:host(:not([isfullscreen])) .container[class*=shape-snowflake]{border-radius:30px}:host(:not([isfullscreen])) .container[class*=shape-rounded]{border-radius:16px}:host([desktopmodal]:popover-open)::backdrop{background:transparent}:host(:not([matchWidth])) .container{min-width:fit-content}:host([isfullscreen]){position:fixed;top:0;left:0}:host([isfullscreen]) .container{width:100dvw;max-width:none;height:100dvh;max-height:none;border-radius:unset;margin-top:0;box-shadow:unset;overscroll-behavior:contain}:host([isfullscreen]) .container::backdrop{background:var(--ds-color-background-primary, #fff)}:host(:popover-open){position:fixed;overflow:visible;padding:0;border:none;margin:0;background:transparent;inset:unset;outline:none}:host([data-show]){display:flex}:host([common]:not([isfullscreen])) .container,:host([rounded]:not([isfullscreen])) .container{border-radius:var(--ds-border-radius, 0.375rem)}:host([common][isfullscreen]) .container,:host([rounded][isfullscreen]) .container{border-radius:unset;box-shadow:unset}.container{display:inline-block;overflow:auto;box-sizing:border-box;border-radius:var(--ds-border-radius, 0.375rem);margin:var(--ds-size-50, 0.25rem) 0}.util_displayHiddenVisually{position:absolute;overflow:hidden;width:1px;height:1px;padding:0;border:0;margin:-1px;clip-path:inset(50%);white-space:nowrap}`;
35911
37766
 
35912
37767
  var colorCss$2$6 = i$7`.container{background-color:var(--ds-auro-dropdownbib-container-color);box-shadow:var(--ds-auro-dropdownbib-boxshadow-color);color:var(--ds-auro-dropdownbib-text-color)}`;
35913
37768
 
@@ -36538,7 +38393,7 @@ let AuroHelpText$7 = class AuroHelpText extends i$4 {
36538
38393
  }
36539
38394
  };
36540
38395
 
36541
- var formkitVersion$7 = '202605201646';
38396
+ var formkitVersion$7 = '202605210326';
36542
38397
 
36543
38398
  let AuroElement$5 = class AuroElement extends i$4 {
36544
38399
  static get properties() {
@@ -36718,6 +38573,7 @@ let AuroDropdown$2 = class AuroDropdown extends AuroElement$5 {
36718
38573
  _intializeDefaults() {
36719
38574
  this.appearance = 'default';
36720
38575
  this.chevron = false;
38576
+ this.desktopModal = false;
36721
38577
  this.disabled = false;
36722
38578
  this.disableKeyboardHandling = false;
36723
38579
  this.error = false;
@@ -36898,6 +38754,14 @@ let AuroDropdown$2 = class AuroDropdown extends AuroElement$5 {
36898
38754
  reflect: true
36899
38755
  },
36900
38756
 
38757
+ /**
38758
+ * If declared, the dropdown will behave as a modal dialog when in a desktop viewport size.
38759
+ */
38760
+ desktopModal: {
38761
+ type: Boolean,
38762
+ reflect: true
38763
+ },
38764
+
36901
38765
  /**
36902
38766
  * If declared, the dropdown will only show by calling the API .show() public method.
36903
38767
  */
@@ -37185,6 +39049,15 @@ let AuroDropdown$2 = class AuroDropdown extends AuroElement$5 {
37185
39049
 
37186
39050
  disconnectedCallback() {
37187
39051
  super.disconnectedCallback();
39052
+ this._clearPageInert();
39053
+ if (this._bibTabHandler) {
39054
+ this.removeEventListener('keydown', this._bibTabHandler);
39055
+ this._bibTabHandler = undefined;
39056
+ }
39057
+ if (this.focusTrap) {
39058
+ this.focusTrap.disconnect();
39059
+ this.focusTrap = undefined;
39060
+ }
37188
39061
  if (this.floater) {
37189
39062
  this.floater.hideBib('disconnect');
37190
39063
  this.floater.disconnect();
@@ -37212,19 +39085,45 @@ let AuroDropdown$2 = class AuroDropdown extends AuroElement$5 {
37212
39085
  if (this.isPopoverVisible) {
37213
39086
  // Fullscreen: use showModal() for native accessibility (inert outside, focus trap)
37214
39087
  // Desktop: use show() for Floating UI positioning + FocusTrap for focus management
37215
- const useModal = this.isBibFullscreen;
37216
- this.bibElement.value.open(useModal);
39088
+ this.bibElement.value.open(this.isBibFullscreen);
39089
+ this.updateFocusTrap();
39090
+
39091
+ // Desktop modal: make siblings inert so content outside is not interactive
39092
+ if (this.desktopModal && !this.isBibFullscreen) {
39093
+ this._setPageInert();
39094
+ }
37217
39095
  } else {
37218
39096
  this.bibElement.value.close();
39097
+ this._clearPageInert();
37219
39098
  }
37220
39099
  }
37221
39100
 
37222
39101
  // When fullscreen strategy changes while open, re-open dialog with correct mode
37223
39102
  // (e.g. resizing from desktop → mobile while dropdown is open)
37224
39103
  if (changedProperties.has('isBibFullscreen') && this.isPopoverVisible && this.bibElement.value) {
37225
- const useModal = this.isBibFullscreen;
37226
39104
  this.bibElement.value.close();
37227
- this.bibElement.value.open(useModal);
39105
+ this.bibElement.value.open(this.isBibFullscreen);
39106
+
39107
+ // Re-initialize focus management for the new strategy
39108
+ this.updateFocusTrap();
39109
+
39110
+ // Toggle inert: desktop modal needs it, fullscreen showModal() handles it natively
39111
+ if (this.desktopModal && !this.isBibFullscreen) {
39112
+ this._setPageInert();
39113
+ } else {
39114
+ this._clearPageInert();
39115
+ }
39116
+ }
39117
+
39118
+ // Handle desktopModal toggled while the dropdown is already open.
39119
+ // Re-initialize focus trapping and page inert state to match the new mode.
39120
+ if (changedProperties.has('desktopModal') && this.isPopoverVisible && !this.isBibFullscreen) {
39121
+ this.updateFocusTrap();
39122
+ if (this.desktopModal) {
39123
+ this._setPageInert();
39124
+ } else {
39125
+ this._clearPageInert();
39126
+ }
37228
39127
  }
37229
39128
  }
37230
39129
 
@@ -37234,8 +39133,14 @@ let AuroDropdown$2 = class AuroDropdown extends AuroElement$5 {
37234
39133
  * @param {CustomEvent} event - The custom event that contains the dropdown toggle information.
37235
39134
  */
37236
39135
  handleDropdownToggle(event) {
37237
- this.updateFocusTrap();
37238
39136
  this.isPopoverVisible = event.detail.expanded;
39137
+
39138
+ // Tear down FocusTrap when closing. Creation happens in updated()
39139
+ // after the dialog is open so getFocusableElements can find content.
39140
+ if (!this.isPopoverVisible) {
39141
+ this.updateFocusTrap();
39142
+ }
39143
+
37239
39144
  const eventType = event.detail.eventType || "unknown";
37240
39145
  if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown") {
37241
39146
  this.trigger.focus();
@@ -37334,19 +39239,178 @@ let AuroDropdown$2 = class AuroDropdown extends AuroElement$5 {
37334
39239
  * @private
37335
39240
  */
37336
39241
  updateFocusTrap() {
39242
+ // Always clean up existing handlers/traps before setting up new ones
39243
+ // to prevent duplicate listeners on repeated calls.
39244
+ if (this._bibTabHandler) {
39245
+ this.removeEventListener('keydown', this._bibTabHandler);
39246
+ this._bibTabHandler = undefined;
39247
+ }
39248
+
39249
+ if (this.focusTrap) {
39250
+ this.focusTrap.disconnect();
39251
+ this.focusTrap = undefined;
39252
+ }
39253
+
37337
39254
  if (this.isPopoverVisible) {
37338
39255
  if (!this.isBibFullscreen) {
37339
- // Desktop: show() doesn't trap focus, so use FocusTrap
37340
- this.focusTrap = new FocusTrap$2(this.bibContent);
37341
- this.focusTrap.focusFirstElement();
39256
+ if (this.desktopModal) {
39257
+ // Desktop modal: trap focus only within the bib content.
39258
+ // Can't use FocusTrap on the bib element because keydown events
39259
+ // from slotted content bubble through the dropdown host (light DOM),
39260
+ // not through the bib (shadow projection target). Using FocusTrap
39261
+ // on the dropdown would include the trigger in the tab cycle.
39262
+ // Instead, listen for Tab on the dropdown and manually wrap focus
39263
+ // within the bib's focusable elements.
39264
+ this._bibTabHandler = (event) => {
39265
+ if (event.key !== 'Tab') {
39266
+ return;
39267
+ }
39268
+
39269
+ // Collect focusable elements from the bib content.
39270
+ const focusables = getFocusableElements$2(this.bibContent);
39271
+
39272
+ // Fallback: try from slotted content directly
39273
+ if (!focusables.length) {
39274
+ const slot = this.shadowRoot.querySelector('.slotContent slot');
39275
+ const assignedNodes = slot ? slot.assignedNodes({ flatten: true }) : [];
39276
+
39277
+ for (const node of assignedNodes) {
39278
+ if (node.nodeType === Node.ELEMENT_NODE) {
39279
+ focusables.push(...getFocusableElements$2(node));
39280
+ }
39281
+ }
39282
+ }
39283
+
39284
+ if (!focusables.length) {
39285
+ return;
39286
+ }
39287
+
39288
+ event.preventDefault();
39289
+
39290
+ const direction = event.shiftKey ? -1 : 1; // eslint-disable-line no-magic-numbers
39291
+
39292
+ // Walk the active element chain through shadow roots
39293
+ const actives = this._getActiveElements();
39294
+
39295
+ let idx = focusables.findIndex((el) => actives.includes(el));
39296
+
39297
+ if (idx === -1) { // eslint-disable-line no-magic-numbers
39298
+ // Focus is not on a known element — move to first/last
39299
+ idx = direction === 1 ? -1 : focusables.length; // eslint-disable-line no-magic-numbers
39300
+ }
39301
+
39302
+ // Try each element in order, skipping any that can't receive focus
39303
+ // (e.g. hidden elements, elements in collapsed sections)
39304
+ for (let index = 0; index < focusables.length; index++) { // eslint-disable-line no-plusplus
39305
+ let nextIdx = idx + direction;
39306
+
39307
+ // Wrap around
39308
+ if (nextIdx < 0) {
39309
+ nextIdx = focusables.length - 1;
39310
+ } else if (nextIdx >= focusables.length) {
39311
+ nextIdx = 0;
39312
+ }
39313
+
39314
+ focusables[nextIdx].focus();
39315
+
39316
+ // Verify focus actually moved to the target
39317
+ const newActives = this._getActiveElements();
39318
+
39319
+ if (newActives.includes(focusables[nextIdx])) {
39320
+ return;
39321
+ }
39322
+
39323
+ // Focus didn't stick — skip this element and try the next
39324
+ idx = nextIdx;
39325
+ }
39326
+ };
39327
+ this.addEventListener('keydown', this._bibTabHandler);
39328
+
39329
+ // Move initial focus into the bib content, matching FocusTrap behavior
39330
+ requestAnimationFrame(() => {
39331
+ const focusables = getFocusableElements$2(this.bibContent);
39332
+ if (focusables.length) {
39333
+ focusables[0].focus();
39334
+ }
39335
+ });
39336
+ } else {
39337
+ // Normal desktop: use FocusTrap on the bib element
39338
+ this.focusTrap = new FocusTrap$2(this.bibContent);
39339
+ this.focusTrap.focusFirstElement();
39340
+ }
37342
39341
  }
37343
39342
  // Fullscreen: showModal() provides native focus trapping
39343
+ }
39344
+ }
39345
+
39346
+ /**
39347
+ * Returns the chain of active (focused) elements through shadow roots.
39348
+ * @private
39349
+ * @returns {Array<HTMLElement>}
39350
+ */
39351
+ _getActiveElements() {
39352
+ let { activeElement } = document;
39353
+ const actives = [activeElement];
39354
+
39355
+ while (activeElement?.shadowRoot?.activeElement) {
39356
+ activeElement = activeElement.shadowRoot.activeElement;
39357
+ actives.push(activeElement);
39358
+ }
39359
+
39360
+ return actives;
39361
+ }
39362
+
39363
+ /**
39364
+ * Sets `inert` on sibling elements of the dropdown's top-level host
39365
+ * so that content outside the dropdown is not interactive while the modal is open.
39366
+ * Walks up through shadow DOM boundaries to find the outermost host element
39367
+ * in the light DOM, then sets `inert` on siblings at each ancestor level
39368
+ * to ensure all page content outside the host subtree is inert.
39369
+ * @private
39370
+ */
39371
+ _setPageInert() {
39372
+ if (this._inertSiblings) {
37344
39373
  return;
37345
39374
  }
37346
39375
 
37347
- if (this.focusTrap) {
37348
- this.focusTrap.disconnect();
37349
- this.focusTrap = undefined;
39376
+ this._inertSiblings = [];
39377
+
39378
+ // Walk up through shadow DOM boundaries to find the topmost host
39379
+ // element in the light DOM. For example, if this dropdown is inside
39380
+ // auro-datepicker's shadow DOM, we walk up to the datepicker element
39381
+ // so we set inert on its siblings — not on the datepicker itself.
39382
+ let host = this;
39383
+ while (host.getRootNode() instanceof ShadowRoot) {
39384
+ host = host.getRootNode().host;
39385
+ }
39386
+
39387
+ // Walk up the ancestor chain, inerting siblings at each level
39388
+ // to ensure the entire page outside the host subtree is inert.
39389
+ let current = host;
39390
+ while (current.parentElement) {
39391
+ const parent = current.parentElement;
39392
+ for (const sibling of parent.children) {
39393
+ if (sibling !== current) {
39394
+ this._inertSiblings.push({ element: sibling, wasInert: sibling.inert });
39395
+ sibling.inert = true;
39396
+ }
39397
+ }
39398
+ current = parent;
39399
+ }
39400
+ }
39401
+
39402
+ /**
39403
+ * Restores `inert` state on siblings that were tracked by `_setPageInert`.
39404
+ * Preserves the previous inert state so externally-inerted elements are
39405
+ * not inadvertently re-enabled.
39406
+ * @private
39407
+ */
39408
+ _clearPageInert() {
39409
+ if (this._inertSiblings) {
39410
+ for (const entry of this._inertSiblings) {
39411
+ entry.element.inert = entry.wasInert;
39412
+ }
39413
+ this._inertSiblings = undefined;
37350
39414
  }
37351
39415
  }
37352
39416
 
@@ -37585,6 +39649,7 @@ let AuroDropdown$2 = class AuroDropdown extends AuroElement$5 {
37585
39649
  shape="${this.shape}"
37586
39650
  ?data-show="${this.isPopoverVisible}"
37587
39651
  ?isfullscreen="${this.isBibFullscreen}"
39652
+ ?desktopmodal="${this.desktopModal}"
37588
39653
  .dialogLabel="${this.bibDialogLabel}"
37589
39654
  ${n$6(this.bibElement)}
37590
39655
  >
@@ -39139,7 +41204,7 @@ let AuroHelpText$6 = class AuroHelpText extends i$4 {
39139
41204
  }
39140
41205
  };
39141
41206
 
39142
- var formkitVersion$6 = '202605201646';
41207
+ var formkitVersion$6 = '202605210326';
39143
41208
 
39144
41209
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
39145
41210
  // See LICENSE in the project root for license information.
@@ -39877,6 +41942,14 @@ let AuroBibtemplate$2 = class AuroBibtemplate extends i$4 {
39877
41942
  large: {
39878
41943
  type: Boolean,
39879
41944
  reflect: true
41945
+ },
41946
+
41947
+ /**
41948
+ * If declared, the footer slot will be rendered even when not in fullscreen mode.
41949
+ */
41950
+ showFooter: {
41951
+ type: Boolean,
41952
+ reflect: true
39880
41953
  }
39881
41954
  };
39882
41955
  }
@@ -39979,7 +42052,7 @@ let AuroBibtemplate$2 = class AuroBibtemplate extends i$4 {
39979
42052
  <slot></slot>
39980
42053
  </div>
39981
42054
 
39982
- ${this.isFullscreen ? u$c`
42055
+ ${this.isFullscreen || this.showFooter ? u$c`
39983
42056
  <div id="footerContainer">
39984
42057
  <slot name="footer"></slot>
39985
42058
  </div>` : null}
@@ -42557,7 +44630,7 @@ let AuroHelpText$5 = class AuroHelpText extends i$4 {
42557
44630
  }
42558
44631
  };
42559
44632
 
42560
- var formkitVersion$5 = '202605201646';
44633
+ var formkitVersion$5 = '202605210326';
42561
44634
 
42562
44635
  // Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
42563
44636
  // See LICENSE in the project root for license information.
@@ -44729,7 +46802,7 @@ let AuroHelpText$4 = class AuroHelpText extends i$4 {
44729
46802
  }
44730
46803
  };
44731
46804
 
44732
- var formkitVersion$4 = '202605201646';
46805
+ var formkitVersion$4 = '202605210326';
44733
46806
 
44734
46807
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
44735
46808
  // See LICENSE in the project root for license information.
@@ -46370,7 +48443,7 @@ const comboboxKeyboardStrategy = {
46370
48443
 
46371
48444
  // navigate if bib is open otherwise open it
46372
48445
  if (component.dropdown.isPopoverVisible) {
46373
- if (evt.altKey || evt.ctrlKey || evt.metaKey) {
48446
+ if (evt.altKey || evt.metaKey) {
46374
48447
  component.activateLastEnabledAvailableOption();
46375
48448
  } else {
46376
48449
  navigateArrow$1(component, 'down');
@@ -46393,7 +48466,7 @@ const comboboxKeyboardStrategy = {
46393
48466
 
46394
48467
  // navigate if bib is open otherwise open it
46395
48468
  if (component.dropdown.isPopoverVisible) {
46396
- if (evt.altKey || evt.ctrlKey || evt.metaKey) {
48469
+ if (evt.altKey || evt.metaKey) {
46397
48470
  component.activateFirstEnabledAvailableOption();
46398
48471
  } else {
46399
48472
  navigateArrow$1(component, 'up');
@@ -49718,7 +51791,7 @@ function applyKeyboardStrategy$2(component, strategy, options = {}) {
49718
51791
  });
49719
51792
  }
49720
51793
 
49721
- var styleCss$2$1$1 = i$7`:host{position:fixed;z-index:var(--depth-tooltip, 400);display:none;isolation:isolate}:host dialog{width:auto;max-width:none;height:auto;max-height:none;padding:0;border:none;margin:0;outline:none;transform:translateZ(0)}:host dialog::backdrop{background:transparent}:host(:not([isfullscreen])) dialog{position:relative;inset:unset}:host(:not([isfullscreen])) .container.shape-box{border-radius:unset}:host(:not([isfullscreen])) .container[class*=shape-pill],:host(:not([isfullscreen])) .container[class*=shape-snowflake]{border-radius:30px}:host(:not([isfullscreen])) .container[class*=shape-rounded]{border-radius:16px}:host(:not([matchWidth])) .container{min-width:fit-content}:host([isfullscreen]){position:fixed;top:0;left:0}:host([isfullscreen]) .container{width:100dvw;max-width:none;height:100dvh;max-height:none;border-radius:unset;margin-top:0;box-shadow:unset;overscroll-behavior:contain}:host([isfullscreen]) .container::backdrop{background:var(--ds-color-background-primary, #fff)}:host(:popover-open){position:fixed;overflow:visible;padding:0;border:none;margin:0;background:transparent;inset:unset;outline:none}:host([data-show]){display:flex}:host([common]:not([isfullscreen])) .container,:host([rounded]:not([isfullscreen])) .container{border-radius:var(--ds-border-radius, 0.375rem)}:host([common][isfullscreen]) .container,:host([rounded][isfullscreen]) .container{border-radius:unset;box-shadow:unset}.container{display:inline-block;overflow:auto;box-sizing:border-box;border-radius:var(--ds-border-radius, 0.375rem);margin:var(--ds-size-50, 0.25rem) 0}.util_displayHiddenVisually{position:absolute;overflow:hidden;width:1px;height:1px;padding:0;border:0;margin:-1px;clip-path:inset(50%);white-space:nowrap}`;
51794
+ var styleCss$2$1$1 = i$7`:host{position:fixed;z-index:var(--depth-tooltip, 400);display:none;isolation:isolate}:host dialog{width:auto;max-width:none;height:auto;max-height:none;padding:0;border:none;margin:0;outline:none;transform:translateZ(0)}:host dialog::backdrop{background:transparent}:host(:not([isfullscreen])) dialog{position:relative;inset:unset}:host(:not([isfullscreen])) .container.shape-box{border-radius:unset}:host(:not([isfullscreen])) .container[class*=shape-pill],:host(:not([isfullscreen])) .container[class*=shape-snowflake]{border-radius:30px}:host(:not([isfullscreen])) .container[class*=shape-rounded]{border-radius:16px}:host([desktopmodal]:popover-open)::backdrop{background:transparent}:host(:not([matchWidth])) .container{min-width:fit-content}:host([isfullscreen]){position:fixed;top:0;left:0}:host([isfullscreen]) .container{width:100dvw;max-width:none;height:100dvh;max-height:none;border-radius:unset;margin-top:0;box-shadow:unset;overscroll-behavior:contain}:host([isfullscreen]) .container::backdrop{background:var(--ds-color-background-primary, #fff)}:host(:popover-open){position:fixed;overflow:visible;padding:0;border:none;margin:0;background:transparent;inset:unset;outline:none}:host([data-show]){display:flex}:host([common]:not([isfullscreen])) .container,:host([rounded]:not([isfullscreen])) .container{border-radius:var(--ds-border-radius, 0.375rem)}:host([common][isfullscreen]) .container,:host([rounded][isfullscreen]) .container{border-radius:unset;box-shadow:unset}.container{display:inline-block;overflow:auto;box-sizing:border-box;border-radius:var(--ds-border-radius, 0.375rem);margin:var(--ds-size-50, 0.25rem) 0}.util_displayHiddenVisually{position:absolute;overflow:hidden;width:1px;height:1px;padding:0;border:0;margin:-1px;clip-path:inset(50%);white-space:nowrap}`;
49722
51795
 
49723
51796
  var colorCss$2$1 = i$7`.container{background-color:var(--ds-auro-dropdownbib-container-color);box-shadow:var(--ds-auro-dropdownbib-boxshadow-color);color:var(--ds-auro-dropdownbib-text-color)}`;
49724
51797
 
@@ -50349,7 +52422,7 @@ let AuroHelpText$2 = class AuroHelpText extends i$4 {
50349
52422
  }
50350
52423
  };
50351
52424
 
50352
- var formkitVersion$2 = '202605201646';
52425
+ var formkitVersion$2 = '202605210326';
50353
52426
 
50354
52427
  let AuroElement$2$1 = class AuroElement extends i$4 {
50355
52428
  static get properties() {
@@ -50529,6 +52602,7 @@ let AuroDropdown$1 = class AuroDropdown extends AuroElement$2$1 {
50529
52602
  _intializeDefaults() {
50530
52603
  this.appearance = 'default';
50531
52604
  this.chevron = false;
52605
+ this.desktopModal = false;
50532
52606
  this.disabled = false;
50533
52607
  this.disableKeyboardHandling = false;
50534
52608
  this.error = false;
@@ -50709,6 +52783,14 @@ let AuroDropdown$1 = class AuroDropdown extends AuroElement$2$1 {
50709
52783
  reflect: true
50710
52784
  },
50711
52785
 
52786
+ /**
52787
+ * If declared, the dropdown will behave as a modal dialog when in a desktop viewport size.
52788
+ */
52789
+ desktopModal: {
52790
+ type: Boolean,
52791
+ reflect: true
52792
+ },
52793
+
50712
52794
  /**
50713
52795
  * If declared, the dropdown will only show by calling the API .show() public method.
50714
52796
  */
@@ -50996,6 +53078,15 @@ let AuroDropdown$1 = class AuroDropdown extends AuroElement$2$1 {
50996
53078
 
50997
53079
  disconnectedCallback() {
50998
53080
  super.disconnectedCallback();
53081
+ this._clearPageInert();
53082
+ if (this._bibTabHandler) {
53083
+ this.removeEventListener('keydown', this._bibTabHandler);
53084
+ this._bibTabHandler = undefined;
53085
+ }
53086
+ if (this.focusTrap) {
53087
+ this.focusTrap.disconnect();
53088
+ this.focusTrap = undefined;
53089
+ }
50999
53090
  if (this.floater) {
51000
53091
  this.floater.hideBib('disconnect');
51001
53092
  this.floater.disconnect();
@@ -51023,19 +53114,45 @@ let AuroDropdown$1 = class AuroDropdown extends AuroElement$2$1 {
51023
53114
  if (this.isPopoverVisible) {
51024
53115
  // Fullscreen: use showModal() for native accessibility (inert outside, focus trap)
51025
53116
  // Desktop: use show() for Floating UI positioning + FocusTrap for focus management
51026
- const useModal = this.isBibFullscreen;
51027
- this.bibElement.value.open(useModal);
53117
+ this.bibElement.value.open(this.isBibFullscreen);
53118
+ this.updateFocusTrap();
53119
+
53120
+ // Desktop modal: make siblings inert so content outside is not interactive
53121
+ if (this.desktopModal && !this.isBibFullscreen) {
53122
+ this._setPageInert();
53123
+ }
51028
53124
  } else {
51029
53125
  this.bibElement.value.close();
53126
+ this._clearPageInert();
51030
53127
  }
51031
53128
  }
51032
53129
 
51033
53130
  // When fullscreen strategy changes while open, re-open dialog with correct mode
51034
53131
  // (e.g. resizing from desktop → mobile while dropdown is open)
51035
53132
  if (changedProperties.has('isBibFullscreen') && this.isPopoverVisible && this.bibElement.value) {
51036
- const useModal = this.isBibFullscreen;
51037
53133
  this.bibElement.value.close();
51038
- this.bibElement.value.open(useModal);
53134
+ this.bibElement.value.open(this.isBibFullscreen);
53135
+
53136
+ // Re-initialize focus management for the new strategy
53137
+ this.updateFocusTrap();
53138
+
53139
+ // Toggle inert: desktop modal needs it, fullscreen showModal() handles it natively
53140
+ if (this.desktopModal && !this.isBibFullscreen) {
53141
+ this._setPageInert();
53142
+ } else {
53143
+ this._clearPageInert();
53144
+ }
53145
+ }
53146
+
53147
+ // Handle desktopModal toggled while the dropdown is already open.
53148
+ // Re-initialize focus trapping and page inert state to match the new mode.
53149
+ if (changedProperties.has('desktopModal') && this.isPopoverVisible && !this.isBibFullscreen) {
53150
+ this.updateFocusTrap();
53151
+ if (this.desktopModal) {
53152
+ this._setPageInert();
53153
+ } else {
53154
+ this._clearPageInert();
53155
+ }
51039
53156
  }
51040
53157
  }
51041
53158
 
@@ -51045,8 +53162,14 @@ let AuroDropdown$1 = class AuroDropdown extends AuroElement$2$1 {
51045
53162
  * @param {CustomEvent} event - The custom event that contains the dropdown toggle information.
51046
53163
  */
51047
53164
  handleDropdownToggle(event) {
51048
- this.updateFocusTrap();
51049
53165
  this.isPopoverVisible = event.detail.expanded;
53166
+
53167
+ // Tear down FocusTrap when closing. Creation happens in updated()
53168
+ // after the dialog is open so getFocusableElements can find content.
53169
+ if (!this.isPopoverVisible) {
53170
+ this.updateFocusTrap();
53171
+ }
53172
+
51050
53173
  const eventType = event.detail.eventType || "unknown";
51051
53174
  if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown") {
51052
53175
  this.trigger.focus();
@@ -51145,19 +53268,178 @@ let AuroDropdown$1 = class AuroDropdown extends AuroElement$2$1 {
51145
53268
  * @private
51146
53269
  */
51147
53270
  updateFocusTrap() {
53271
+ // Always clean up existing handlers/traps before setting up new ones
53272
+ // to prevent duplicate listeners on repeated calls.
53273
+ if (this._bibTabHandler) {
53274
+ this.removeEventListener('keydown', this._bibTabHandler);
53275
+ this._bibTabHandler = undefined;
53276
+ }
53277
+
53278
+ if (this.focusTrap) {
53279
+ this.focusTrap.disconnect();
53280
+ this.focusTrap = undefined;
53281
+ }
53282
+
51148
53283
  if (this.isPopoverVisible) {
51149
53284
  if (!this.isBibFullscreen) {
51150
- // Desktop: show() doesn't trap focus, so use FocusTrap
51151
- this.focusTrap = new FocusTrap$1(this.bibContent);
51152
- this.focusTrap.focusFirstElement();
53285
+ if (this.desktopModal) {
53286
+ // Desktop modal: trap focus only within the bib content.
53287
+ // Can't use FocusTrap on the bib element because keydown events
53288
+ // from slotted content bubble through the dropdown host (light DOM),
53289
+ // not through the bib (shadow projection target). Using FocusTrap
53290
+ // on the dropdown would include the trigger in the tab cycle.
53291
+ // Instead, listen for Tab on the dropdown and manually wrap focus
53292
+ // within the bib's focusable elements.
53293
+ this._bibTabHandler = (event) => {
53294
+ if (event.key !== 'Tab') {
53295
+ return;
53296
+ }
53297
+
53298
+ // Collect focusable elements from the bib content.
53299
+ const focusables = getFocusableElements$1(this.bibContent);
53300
+
53301
+ // Fallback: try from slotted content directly
53302
+ if (!focusables.length) {
53303
+ const slot = this.shadowRoot.querySelector('.slotContent slot');
53304
+ const assignedNodes = slot ? slot.assignedNodes({ flatten: true }) : [];
53305
+
53306
+ for (const node of assignedNodes) {
53307
+ if (node.nodeType === Node.ELEMENT_NODE) {
53308
+ focusables.push(...getFocusableElements$1(node));
53309
+ }
53310
+ }
53311
+ }
53312
+
53313
+ if (!focusables.length) {
53314
+ return;
53315
+ }
53316
+
53317
+ event.preventDefault();
53318
+
53319
+ const direction = event.shiftKey ? -1 : 1; // eslint-disable-line no-magic-numbers
53320
+
53321
+ // Walk the active element chain through shadow roots
53322
+ const actives = this._getActiveElements();
53323
+
53324
+ let idx = focusables.findIndex((el) => actives.includes(el));
53325
+
53326
+ if (idx === -1) { // eslint-disable-line no-magic-numbers
53327
+ // Focus is not on a known element — move to first/last
53328
+ idx = direction === 1 ? -1 : focusables.length; // eslint-disable-line no-magic-numbers
53329
+ }
53330
+
53331
+ // Try each element in order, skipping any that can't receive focus
53332
+ // (e.g. hidden elements, elements in collapsed sections)
53333
+ for (let index = 0; index < focusables.length; index++) { // eslint-disable-line no-plusplus
53334
+ let nextIdx = idx + direction;
53335
+
53336
+ // Wrap around
53337
+ if (nextIdx < 0) {
53338
+ nextIdx = focusables.length - 1;
53339
+ } else if (nextIdx >= focusables.length) {
53340
+ nextIdx = 0;
53341
+ }
53342
+
53343
+ focusables[nextIdx].focus();
53344
+
53345
+ // Verify focus actually moved to the target
53346
+ const newActives = this._getActiveElements();
53347
+
53348
+ if (newActives.includes(focusables[nextIdx])) {
53349
+ return;
53350
+ }
53351
+
53352
+ // Focus didn't stick — skip this element and try the next
53353
+ idx = nextIdx;
53354
+ }
53355
+ };
53356
+ this.addEventListener('keydown', this._bibTabHandler);
53357
+
53358
+ // Move initial focus into the bib content, matching FocusTrap behavior
53359
+ requestAnimationFrame(() => {
53360
+ const focusables = getFocusableElements$1(this.bibContent);
53361
+ if (focusables.length) {
53362
+ focusables[0].focus();
53363
+ }
53364
+ });
53365
+ } else {
53366
+ // Normal desktop: use FocusTrap on the bib element
53367
+ this.focusTrap = new FocusTrap$1(this.bibContent);
53368
+ this.focusTrap.focusFirstElement();
53369
+ }
51153
53370
  }
51154
53371
  // Fullscreen: showModal() provides native focus trapping
53372
+ }
53373
+ }
53374
+
53375
+ /**
53376
+ * Returns the chain of active (focused) elements through shadow roots.
53377
+ * @private
53378
+ * @returns {Array<HTMLElement>}
53379
+ */
53380
+ _getActiveElements() {
53381
+ let { activeElement } = document;
53382
+ const actives = [activeElement];
53383
+
53384
+ while (activeElement?.shadowRoot?.activeElement) {
53385
+ activeElement = activeElement.shadowRoot.activeElement;
53386
+ actives.push(activeElement);
53387
+ }
53388
+
53389
+ return actives;
53390
+ }
53391
+
53392
+ /**
53393
+ * Sets `inert` on sibling elements of the dropdown's top-level host
53394
+ * so that content outside the dropdown is not interactive while the modal is open.
53395
+ * Walks up through shadow DOM boundaries to find the outermost host element
53396
+ * in the light DOM, then sets `inert` on siblings at each ancestor level
53397
+ * to ensure all page content outside the host subtree is inert.
53398
+ * @private
53399
+ */
53400
+ _setPageInert() {
53401
+ if (this._inertSiblings) {
51155
53402
  return;
51156
53403
  }
51157
53404
 
51158
- if (this.focusTrap) {
51159
- this.focusTrap.disconnect();
51160
- this.focusTrap = undefined;
53405
+ this._inertSiblings = [];
53406
+
53407
+ // Walk up through shadow DOM boundaries to find the topmost host
53408
+ // element in the light DOM. For example, if this dropdown is inside
53409
+ // auro-datepicker's shadow DOM, we walk up to the datepicker element
53410
+ // so we set inert on its siblings — not on the datepicker itself.
53411
+ let host = this;
53412
+ while (host.getRootNode() instanceof ShadowRoot) {
53413
+ host = host.getRootNode().host;
53414
+ }
53415
+
53416
+ // Walk up the ancestor chain, inerting siblings at each level
53417
+ // to ensure the entire page outside the host subtree is inert.
53418
+ let current = host;
53419
+ while (current.parentElement) {
53420
+ const parent = current.parentElement;
53421
+ for (const sibling of parent.children) {
53422
+ if (sibling !== current) {
53423
+ this._inertSiblings.push({ element: sibling, wasInert: sibling.inert });
53424
+ sibling.inert = true;
53425
+ }
53426
+ }
53427
+ current = parent;
53428
+ }
53429
+ }
53430
+
53431
+ /**
53432
+ * Restores `inert` state on siblings that were tracked by `_setPageInert`.
53433
+ * Preserves the previous inert state so externally-inerted elements are
53434
+ * not inadvertently re-enabled.
53435
+ * @private
53436
+ */
53437
+ _clearPageInert() {
53438
+ if (this._inertSiblings) {
53439
+ for (const entry of this._inertSiblings) {
53440
+ entry.element.inert = entry.wasInert;
53441
+ }
53442
+ this._inertSiblings = undefined;
51161
53443
  }
51162
53444
  }
51163
53445
 
@@ -51396,6 +53678,7 @@ let AuroDropdown$1 = class AuroDropdown extends AuroElement$2$1 {
51396
53678
  shape="${this.shape}"
51397
53679
  ?data-show="${this.isPopoverVisible}"
51398
53680
  ?isfullscreen="${this.isBibFullscreen}"
53681
+ ?desktopmodal="${this.desktopModal}"
51399
53682
  .dialogLabel="${this.bibDialogLabel}"
51400
53683
  ${n$6(this.bibElement)}
51401
53684
  >
@@ -58094,7 +60377,7 @@ let AuroHelpText$1$1 = class AuroHelpText extends i$4 {
58094
60377
  }
58095
60378
  };
58096
60379
 
58097
- var formkitVersion$1$1 = '202605201646';
60380
+ var formkitVersion$1$1 = '202605210326';
58098
60381
 
58099
60382
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
58100
60383
  // See LICENSE in the project root for license information.
@@ -59048,6 +61331,14 @@ let AuroBibtemplate$1 = class AuroBibtemplate extends i$4 {
59048
61331
  large: {
59049
61332
  type: Boolean,
59050
61333
  reflect: true
61334
+ },
61335
+
61336
+ /**
61337
+ * If declared, the footer slot will be rendered even when not in fullscreen mode.
61338
+ */
61339
+ showFooter: {
61340
+ type: Boolean,
61341
+ reflect: true
59051
61342
  }
59052
61343
  };
59053
61344
  }
@@ -59150,7 +61441,7 @@ let AuroBibtemplate$1 = class AuroBibtemplate extends i$4 {
59150
61441
  <slot></slot>
59151
61442
  </div>
59152
61443
 
59153
- ${this.isFullscreen ? u$c`
61444
+ ${this.isFullscreen || this.showFooter ? u$c`
59154
61445
  <div id="footerContainer">
59155
61446
  <slot name="footer"></slot>
59156
61447
  </div>` : null}
@@ -59159,7 +61450,7 @@ let AuroBibtemplate$1 = class AuroBibtemplate extends i$4 {
59159
61450
  }
59160
61451
  };
59161
61452
 
59162
- var formkitVersion$3 = '202605201646';
61453
+ var formkitVersion$3 = '202605210326';
59163
61454
 
59164
61455
  var styleCss$1$3 = i$7`.util_displayInline{display:inline}.util_displayInlineBlock{display:inline-block}.util_displayBlock{display:block}.util_displayFlex{display:flex}.util_displayHidden{display:none}.util_displayHiddenVisually{position:absolute;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);width:1px;height:1px;padding:0;border:0}:host{display:block;text-align:left}:host [auro-dropdown]{--ds-auro-dropdown-trigger-background-color: transparent}:host #inputInBib::part(wrapper){box-shadow:none}:host #inputInBib::part(accent-left){display:none}:host([layout*=classic]) [auro-input]{width:100%}:host([layout*=classic]) [auro-input]::part(helpText){display:none}:host([layout*=classic]) #slotHolder{display:none}`;
59165
61456
 
@@ -64645,30 +66936,28 @@ function navigateArrow(component, direction, options = {}) {
64645
66936
  const selectKeyboardStrategy = {
64646
66937
  ArrowDown(component, evt, ctx) {
64647
66938
  evt.preventDefault();
64648
- if (ctx.isExpanded) {
64649
- if (evt.altKey || evt.ctrlKey || evt.metaKey) {
64650
- // navigate to last enabled option
64651
- selectKeyboardStrategy.End(component, evt, ctx);
64652
- } else {
64653
- navigateArrow(component, 'down', { ctx });
64654
- }
64655
- } else {
64656
- component.dropdown.show();
66939
+ if (evt.altKey || evt.metaKey) {
66940
+ // navigate to last enabled option
66941
+ selectKeyboardStrategy.End(component, evt, ctx);
66942
+ return;
64657
66943
  }
66944
+ navigateArrow(component, 'down', {
66945
+ ctx,
66946
+ showFn: () => component.dropdown.show(),
66947
+ });
64658
66948
  },
64659
66949
 
64660
66950
  ArrowUp(component, evt, ctx) {
64661
66951
  evt.preventDefault();
64662
- if (ctx.isExpanded) {
64663
- if (evt.altKey || evt.ctrlKey || evt.metaKey) {
64664
- // navigate to first enabled option
64665
- selectKeyboardStrategy.Home(component, evt, ctx);
64666
- } else {
64667
- navigateArrow(component, 'up', { ctx });
64668
- }
64669
- } else {
64670
- component.dropdown.show();
66952
+ if (evt.altKey || evt.metaKey) {
66953
+ // navigate to first enabled option
66954
+ selectKeyboardStrategy.Home(component, evt, ctx);
66955
+ return;
64671
66956
  }
66957
+ navigateArrow(component, 'up', {
66958
+ ctx,
66959
+ showFn: () => component.dropdown.show(),
66960
+ });
64672
66961
  },
64673
66962
 
64674
66963
  Escape(component, evt, ctx) {
@@ -68020,7 +70309,7 @@ function applyKeyboardStrategy(component, strategy, options = {}) {
68020
70309
  });
68021
70310
  }
68022
70311
 
68023
- var styleCss$2$1 = i$7`:host{position:fixed;z-index:var(--depth-tooltip, 400);display:none;isolation:isolate}:host dialog{width:auto;max-width:none;height:auto;max-height:none;padding:0;border:none;margin:0;outline:none;transform:translateZ(0)}:host dialog::backdrop{background:transparent}:host(:not([isfullscreen])) dialog{position:relative;inset:unset}:host(:not([isfullscreen])) .container.shape-box{border-radius:unset}:host(:not([isfullscreen])) .container[class*=shape-pill],:host(:not([isfullscreen])) .container[class*=shape-snowflake]{border-radius:30px}:host(:not([isfullscreen])) .container[class*=shape-rounded]{border-radius:16px}:host(:not([matchWidth])) .container{min-width:fit-content}:host([isfullscreen]){position:fixed;top:0;left:0}:host([isfullscreen]) .container{width:100dvw;max-width:none;height:100dvh;max-height:none;border-radius:unset;margin-top:0;box-shadow:unset;overscroll-behavior:contain}:host([isfullscreen]) .container::backdrop{background:var(--ds-color-background-primary, #fff)}:host(:popover-open){position:fixed;overflow:visible;padding:0;border:none;margin:0;background:transparent;inset:unset;outline:none}:host([data-show]){display:flex}:host([common]:not([isfullscreen])) .container,:host([rounded]:not([isfullscreen])) .container{border-radius:var(--ds-border-radius, 0.375rem)}:host([common][isfullscreen]) .container,:host([rounded][isfullscreen]) .container{border-radius:unset;box-shadow:unset}.container{display:inline-block;overflow:auto;box-sizing:border-box;border-radius:var(--ds-border-radius, 0.375rem);margin:var(--ds-size-50, 0.25rem) 0}.util_displayHiddenVisually{position:absolute;overflow:hidden;width:1px;height:1px;padding:0;border:0;margin:-1px;clip-path:inset(50%);white-space:nowrap}`;
70312
+ var styleCss$2$1 = i$7`:host{position:fixed;z-index:var(--depth-tooltip, 400);display:none;isolation:isolate}:host dialog{width:auto;max-width:none;height:auto;max-height:none;padding:0;border:none;margin:0;outline:none;transform:translateZ(0)}:host dialog::backdrop{background:transparent}:host(:not([isfullscreen])) dialog{position:relative;inset:unset}:host(:not([isfullscreen])) .container.shape-box{border-radius:unset}:host(:not([isfullscreen])) .container[class*=shape-pill],:host(:not([isfullscreen])) .container[class*=shape-snowflake]{border-radius:30px}:host(:not([isfullscreen])) .container[class*=shape-rounded]{border-radius:16px}:host([desktopmodal]:popover-open)::backdrop{background:transparent}:host(:not([matchWidth])) .container{min-width:fit-content}:host([isfullscreen]){position:fixed;top:0;left:0}:host([isfullscreen]) .container{width:100dvw;max-width:none;height:100dvh;max-height:none;border-radius:unset;margin-top:0;box-shadow:unset;overscroll-behavior:contain}:host([isfullscreen]) .container::backdrop{background:var(--ds-color-background-primary, #fff)}:host(:popover-open){position:fixed;overflow:visible;padding:0;border:none;margin:0;background:transparent;inset:unset;outline:none}:host([data-show]){display:flex}:host([common]:not([isfullscreen])) .container,:host([rounded]:not([isfullscreen])) .container{border-radius:var(--ds-border-radius, 0.375rem)}:host([common][isfullscreen]) .container,:host([rounded][isfullscreen]) .container{border-radius:unset;box-shadow:unset}.container{display:inline-block;overflow:auto;box-sizing:border-box;border-radius:var(--ds-border-radius, 0.375rem);margin:var(--ds-size-50, 0.25rem) 0}.util_displayHiddenVisually{position:absolute;overflow:hidden;width:1px;height:1px;padding:0;border:0;margin:-1px;clip-path:inset(50%);white-space:nowrap}`;
68024
70313
 
68025
70314
  var colorCss$2 = i$7`.container{background-color:var(--ds-auro-dropdownbib-container-color);box-shadow:var(--ds-auro-dropdownbib-boxshadow-color);color:var(--ds-auro-dropdownbib-text-color)}`;
68026
70315
 
@@ -68651,7 +70940,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$4 {
68651
70940
  }
68652
70941
  };
68653
70942
 
68654
- var formkitVersion$1 = '202605201646';
70943
+ var formkitVersion$1 = '202605210326';
68655
70944
 
68656
70945
  class AuroElement extends i$4 {
68657
70946
  static get properties() {
@@ -68831,6 +71120,7 @@ class AuroDropdown extends AuroElement {
68831
71120
  _intializeDefaults() {
68832
71121
  this.appearance = 'default';
68833
71122
  this.chevron = false;
71123
+ this.desktopModal = false;
68834
71124
  this.disabled = false;
68835
71125
  this.disableKeyboardHandling = false;
68836
71126
  this.error = false;
@@ -69011,6 +71301,14 @@ class AuroDropdown extends AuroElement {
69011
71301
  reflect: true
69012
71302
  },
69013
71303
 
71304
+ /**
71305
+ * If declared, the dropdown will behave as a modal dialog when in a desktop viewport size.
71306
+ */
71307
+ desktopModal: {
71308
+ type: Boolean,
71309
+ reflect: true
71310
+ },
71311
+
69014
71312
  /**
69015
71313
  * If declared, the dropdown will only show by calling the API .show() public method.
69016
71314
  */
@@ -69298,6 +71596,15 @@ class AuroDropdown extends AuroElement {
69298
71596
 
69299
71597
  disconnectedCallback() {
69300
71598
  super.disconnectedCallback();
71599
+ this._clearPageInert();
71600
+ if (this._bibTabHandler) {
71601
+ this.removeEventListener('keydown', this._bibTabHandler);
71602
+ this._bibTabHandler = undefined;
71603
+ }
71604
+ if (this.focusTrap) {
71605
+ this.focusTrap.disconnect();
71606
+ this.focusTrap = undefined;
71607
+ }
69301
71608
  if (this.floater) {
69302
71609
  this.floater.hideBib('disconnect');
69303
71610
  this.floater.disconnect();
@@ -69325,19 +71632,45 @@ class AuroDropdown extends AuroElement {
69325
71632
  if (this.isPopoverVisible) {
69326
71633
  // Fullscreen: use showModal() for native accessibility (inert outside, focus trap)
69327
71634
  // Desktop: use show() for Floating UI positioning + FocusTrap for focus management
69328
- const useModal = this.isBibFullscreen;
69329
- this.bibElement.value.open(useModal);
71635
+ this.bibElement.value.open(this.isBibFullscreen);
71636
+ this.updateFocusTrap();
71637
+
71638
+ // Desktop modal: make siblings inert so content outside is not interactive
71639
+ if (this.desktopModal && !this.isBibFullscreen) {
71640
+ this._setPageInert();
71641
+ }
69330
71642
  } else {
69331
71643
  this.bibElement.value.close();
71644
+ this._clearPageInert();
69332
71645
  }
69333
71646
  }
69334
71647
 
69335
71648
  // When fullscreen strategy changes while open, re-open dialog with correct mode
69336
71649
  // (e.g. resizing from desktop → mobile while dropdown is open)
69337
71650
  if (changedProperties.has('isBibFullscreen') && this.isPopoverVisible && this.bibElement.value) {
69338
- const useModal = this.isBibFullscreen;
69339
71651
  this.bibElement.value.close();
69340
- this.bibElement.value.open(useModal);
71652
+ this.bibElement.value.open(this.isBibFullscreen);
71653
+
71654
+ // Re-initialize focus management for the new strategy
71655
+ this.updateFocusTrap();
71656
+
71657
+ // Toggle inert: desktop modal needs it, fullscreen showModal() handles it natively
71658
+ if (this.desktopModal && !this.isBibFullscreen) {
71659
+ this._setPageInert();
71660
+ } else {
71661
+ this._clearPageInert();
71662
+ }
71663
+ }
71664
+
71665
+ // Handle desktopModal toggled while the dropdown is already open.
71666
+ // Re-initialize focus trapping and page inert state to match the new mode.
71667
+ if (changedProperties.has('desktopModal') && this.isPopoverVisible && !this.isBibFullscreen) {
71668
+ this.updateFocusTrap();
71669
+ if (this.desktopModal) {
71670
+ this._setPageInert();
71671
+ } else {
71672
+ this._clearPageInert();
71673
+ }
69341
71674
  }
69342
71675
  }
69343
71676
 
@@ -69347,8 +71680,14 @@ class AuroDropdown extends AuroElement {
69347
71680
  * @param {CustomEvent} event - The custom event that contains the dropdown toggle information.
69348
71681
  */
69349
71682
  handleDropdownToggle(event) {
69350
- this.updateFocusTrap();
69351
71683
  this.isPopoverVisible = event.detail.expanded;
71684
+
71685
+ // Tear down FocusTrap when closing. Creation happens in updated()
71686
+ // after the dialog is open so getFocusableElements can find content.
71687
+ if (!this.isPopoverVisible) {
71688
+ this.updateFocusTrap();
71689
+ }
71690
+
69352
71691
  const eventType = event.detail.eventType || "unknown";
69353
71692
  if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown") {
69354
71693
  this.trigger.focus();
@@ -69447,19 +71786,178 @@ class AuroDropdown extends AuroElement {
69447
71786
  * @private
69448
71787
  */
69449
71788
  updateFocusTrap() {
71789
+ // Always clean up existing handlers/traps before setting up new ones
71790
+ // to prevent duplicate listeners on repeated calls.
71791
+ if (this._bibTabHandler) {
71792
+ this.removeEventListener('keydown', this._bibTabHandler);
71793
+ this._bibTabHandler = undefined;
71794
+ }
71795
+
71796
+ if (this.focusTrap) {
71797
+ this.focusTrap.disconnect();
71798
+ this.focusTrap = undefined;
71799
+ }
71800
+
69450
71801
  if (this.isPopoverVisible) {
69451
71802
  if (!this.isBibFullscreen) {
69452
- // Desktop: show() doesn't trap focus, so use FocusTrap
69453
- this.focusTrap = new FocusTrap(this.bibContent);
69454
- this.focusTrap.focusFirstElement();
71803
+ if (this.desktopModal) {
71804
+ // Desktop modal: trap focus only within the bib content.
71805
+ // Can't use FocusTrap on the bib element because keydown events
71806
+ // from slotted content bubble through the dropdown host (light DOM),
71807
+ // not through the bib (shadow projection target). Using FocusTrap
71808
+ // on the dropdown would include the trigger in the tab cycle.
71809
+ // Instead, listen for Tab on the dropdown and manually wrap focus
71810
+ // within the bib's focusable elements.
71811
+ this._bibTabHandler = (event) => {
71812
+ if (event.key !== 'Tab') {
71813
+ return;
71814
+ }
71815
+
71816
+ // Collect focusable elements from the bib content.
71817
+ const focusables = getFocusableElements(this.bibContent);
71818
+
71819
+ // Fallback: try from slotted content directly
71820
+ if (!focusables.length) {
71821
+ const slot = this.shadowRoot.querySelector('.slotContent slot');
71822
+ const assignedNodes = slot ? slot.assignedNodes({ flatten: true }) : [];
71823
+
71824
+ for (const node of assignedNodes) {
71825
+ if (node.nodeType === Node.ELEMENT_NODE) {
71826
+ focusables.push(...getFocusableElements(node));
71827
+ }
71828
+ }
71829
+ }
71830
+
71831
+ if (!focusables.length) {
71832
+ return;
71833
+ }
71834
+
71835
+ event.preventDefault();
71836
+
71837
+ const direction = event.shiftKey ? -1 : 1; // eslint-disable-line no-magic-numbers
71838
+
71839
+ // Walk the active element chain through shadow roots
71840
+ const actives = this._getActiveElements();
71841
+
71842
+ let idx = focusables.findIndex((el) => actives.includes(el));
71843
+
71844
+ if (idx === -1) { // eslint-disable-line no-magic-numbers
71845
+ // Focus is not on a known element — move to first/last
71846
+ idx = direction === 1 ? -1 : focusables.length; // eslint-disable-line no-magic-numbers
71847
+ }
71848
+
71849
+ // Try each element in order, skipping any that can't receive focus
71850
+ // (e.g. hidden elements, elements in collapsed sections)
71851
+ for (let index = 0; index < focusables.length; index++) { // eslint-disable-line no-plusplus
71852
+ let nextIdx = idx + direction;
71853
+
71854
+ // Wrap around
71855
+ if (nextIdx < 0) {
71856
+ nextIdx = focusables.length - 1;
71857
+ } else if (nextIdx >= focusables.length) {
71858
+ nextIdx = 0;
71859
+ }
71860
+
71861
+ focusables[nextIdx].focus();
71862
+
71863
+ // Verify focus actually moved to the target
71864
+ const newActives = this._getActiveElements();
71865
+
71866
+ if (newActives.includes(focusables[nextIdx])) {
71867
+ return;
71868
+ }
71869
+
71870
+ // Focus didn't stick — skip this element and try the next
71871
+ idx = nextIdx;
71872
+ }
71873
+ };
71874
+ this.addEventListener('keydown', this._bibTabHandler);
71875
+
71876
+ // Move initial focus into the bib content, matching FocusTrap behavior
71877
+ requestAnimationFrame(() => {
71878
+ const focusables = getFocusableElements(this.bibContent);
71879
+ if (focusables.length) {
71880
+ focusables[0].focus();
71881
+ }
71882
+ });
71883
+ } else {
71884
+ // Normal desktop: use FocusTrap on the bib element
71885
+ this.focusTrap = new FocusTrap(this.bibContent);
71886
+ this.focusTrap.focusFirstElement();
71887
+ }
69455
71888
  }
69456
71889
  // Fullscreen: showModal() provides native focus trapping
71890
+ }
71891
+ }
71892
+
71893
+ /**
71894
+ * Returns the chain of active (focused) elements through shadow roots.
71895
+ * @private
71896
+ * @returns {Array<HTMLElement>}
71897
+ */
71898
+ _getActiveElements() {
71899
+ let { activeElement } = document;
71900
+ const actives = [activeElement];
71901
+
71902
+ while (activeElement?.shadowRoot?.activeElement) {
71903
+ activeElement = activeElement.shadowRoot.activeElement;
71904
+ actives.push(activeElement);
71905
+ }
71906
+
71907
+ return actives;
71908
+ }
71909
+
71910
+ /**
71911
+ * Sets `inert` on sibling elements of the dropdown's top-level host
71912
+ * so that content outside the dropdown is not interactive while the modal is open.
71913
+ * Walks up through shadow DOM boundaries to find the outermost host element
71914
+ * in the light DOM, then sets `inert` on siblings at each ancestor level
71915
+ * to ensure all page content outside the host subtree is inert.
71916
+ * @private
71917
+ */
71918
+ _setPageInert() {
71919
+ if (this._inertSiblings) {
69457
71920
  return;
69458
71921
  }
69459
71922
 
69460
- if (this.focusTrap) {
69461
- this.focusTrap.disconnect();
69462
- this.focusTrap = undefined;
71923
+ this._inertSiblings = [];
71924
+
71925
+ // Walk up through shadow DOM boundaries to find the topmost host
71926
+ // element in the light DOM. For example, if this dropdown is inside
71927
+ // auro-datepicker's shadow DOM, we walk up to the datepicker element
71928
+ // so we set inert on its siblings — not on the datepicker itself.
71929
+ let host = this;
71930
+ while (host.getRootNode() instanceof ShadowRoot) {
71931
+ host = host.getRootNode().host;
71932
+ }
71933
+
71934
+ // Walk up the ancestor chain, inerting siblings at each level
71935
+ // to ensure the entire page outside the host subtree is inert.
71936
+ let current = host;
71937
+ while (current.parentElement) {
71938
+ const parent = current.parentElement;
71939
+ for (const sibling of parent.children) {
71940
+ if (sibling !== current) {
71941
+ this._inertSiblings.push({ element: sibling, wasInert: sibling.inert });
71942
+ sibling.inert = true;
71943
+ }
71944
+ }
71945
+ current = parent;
71946
+ }
71947
+ }
71948
+
71949
+ /**
71950
+ * Restores `inert` state on siblings that were tracked by `_setPageInert`.
71951
+ * Preserves the previous inert state so externally-inerted elements are
71952
+ * not inadvertently re-enabled.
71953
+ * @private
71954
+ */
71955
+ _clearPageInert() {
71956
+ if (this._inertSiblings) {
71957
+ for (const entry of this._inertSiblings) {
71958
+ entry.element.inert = entry.wasInert;
71959
+ }
71960
+ this._inertSiblings = undefined;
69463
71961
  }
69464
71962
  }
69465
71963
 
@@ -69698,6 +72196,7 @@ class AuroDropdown extends AuroElement {
69698
72196
  shape="${this.shape}"
69699
72197
  ?data-show="${this.isPopoverVisible}"
69700
72198
  ?isfullscreen="${this.isBibFullscreen}"
72199
+ ?desktopmodal="${this.desktopModal}"
69701
72200
  .dialogLabel="${this.bibDialogLabel}"
69702
72201
  ${n$6(this.bibElement)}
69703
72202
  >
@@ -70065,6 +72564,14 @@ class AuroBibtemplate extends i$4 {
70065
72564
  large: {
70066
72565
  type: Boolean,
70067
72566
  reflect: true
72567
+ },
72568
+
72569
+ /**
72570
+ * If declared, the footer slot will be rendered even when not in fullscreen mode.
72571
+ */
72572
+ showFooter: {
72573
+ type: Boolean,
72574
+ reflect: true
70068
72575
  }
70069
72576
  };
70070
72577
  }
@@ -70167,7 +72674,7 @@ class AuroBibtemplate extends i$4 {
70167
72674
  <slot></slot>
70168
72675
  </div>
70169
72676
 
70170
- ${this.isFullscreen ? u$c`
72677
+ ${this.isFullscreen || this.showFooter ? u$c`
70171
72678
  <div id="footerContainer">
70172
72679
  <slot name="footer"></slot>
70173
72680
  </div>` : null}
@@ -70404,7 +72911,7 @@ class AuroHelpText extends i$4 {
70404
72911
  }
70405
72912
  }
70406
72913
 
70407
- var formkitVersion = '202605201646';
72914
+ var formkitVersion = '202605210326';
70408
72915
 
70409
72916
  var styleCss = i$7`.util_displayInline{display:inline}.util_displayInlineBlock{display:inline-block}.util_displayBlock{display:block}.util_displayFlex{display:flex}.util_displayHidden{display:none}.util_displayHiddenVisually{position:absolute;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);width:1px;height:1px;padding:0;border:0}.body-default{font-size:var(--wcss-body-default-font-size, 1rem);font-weight:var(--wcss-body-default-weight, );line-height:var(--wcss-body-default-line-height, 1.5rem)}.body-default,.body-default-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-default-emphasized{font-size:var(--wcss-body-default-emphasized-font-size, 1rem);font-weight:var(--wcss-body-default-emphasized-weight, );line-height:var(--wcss-body-default-emphasized-line-height, 1.5rem)}.body-lg{font-size:var(--wcss-body-lg-font-size, 1.125rem);font-weight:var(--wcss-body-lg-weight, );line-height:var(--wcss-body-lg-line-height, 1.625rem)}.body-lg,.body-lg-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-lg-emphasized{font-size:var(--wcss-body-lg-emphasized-font-size, 1.125rem);font-weight:var(--wcss-body-lg-emphasized-weight, );line-height:var(--wcss-body-lg-emphasized-line-height, 1.625rem)}.body-sm{font-size:var(--wcss-body-sm-font-size, 0.875rem);font-weight:var(--wcss-body-sm-weight, );line-height:var(--wcss-body-sm-line-height, 1.25rem)}.body-sm,.body-sm-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-sm-emphasized{font-size:var(--wcss-body-sm-emphasized-font-size, 0.875rem);font-weight:var(--wcss-body-sm-emphasized-weight, );line-height:var(--wcss-body-sm-emphasized-line-height, 1.25rem)}.body-xs{font-size:var(--wcss-body-xs-font-size, 0.75rem);font-weight:var(--wcss-body-xs-weight, );line-height:var(--wcss-body-xs-line-height, 1rem)}.body-xs,.body-xs-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-xs-emphasized{font-size:var(--wcss-body-xs-emphasized-font-size, 0.75rem);font-weight:var(--wcss-body-xs-emphasized-weight, );line-height:var(--wcss-body-xs-emphasized-line-height, 1rem)}.body-2xs{font-size:var(--wcss-body-2xs-font-size, 0.625rem);font-weight:var(--wcss-body-2xs-weight, );line-height:var(--wcss-body-2xs-line-height, 0.875rem)}.body-2xs,.body-2xs-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-2xs-emphasized{font-size:var(--wcss-body-2xs-emphasized-font-size, 0.625rem);font-weight:var(--wcss-body-2xs-emphasized-weight, );line-height:var(--wcss-body-2xs-emphasized-line-height, 0.875rem)}.display-2xl{font-family:var(--wcss-display-2xl-family, "AS Circular"),var(--wcss-display-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-2xl-font-size, clamp(3.5rem, 6vw, 5.375rem));font-weight:var(--wcss-display-2xl-weight, 300);letter-spacing:var(--wcss-display-2xl-letter-spacing, 0);line-height:var(--wcss-display-2xl-line-height, 1.3)}.display-xl{font-family:var(--wcss-display-xl-family, "AS Circular"),var(--wcss-display-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-xl-font-size, clamp(3rem, 5.3333333333vw, 4.5rem));font-weight:var(--wcss-display-xl-weight, 300);letter-spacing:var(--wcss-display-xl-letter-spacing, 0);line-height:var(--wcss-display-xl-line-height, 1.3)}.display-lg{font-family:var(--wcss-display-lg-family, "AS Circular"),var(--wcss-display-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-lg-font-size, clamp(2.75rem, 4.6666666667vw, 4rem));font-weight:var(--wcss-display-lg-weight, 300);letter-spacing:var(--wcss-display-lg-letter-spacing, 0);line-height:var(--wcss-display-lg-line-height, 1.3)}.display-md{font-family:var(--wcss-display-md-family, "AS Circular"),var(--wcss-display-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-md-font-size, clamp(2.5rem, 4vw, 3.5rem));font-weight:var(--wcss-display-md-weight, 300);letter-spacing:var(--wcss-display-md-letter-spacing, 0);line-height:var(--wcss-display-md-line-height, 1.3)}.display-sm{font-family:var(--wcss-display-sm-family, "AS Circular"),var(--wcss-display-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-sm-font-size, clamp(2rem, 3.6666666667vw, 3rem));font-weight:var(--wcss-display-sm-weight, 300);letter-spacing:var(--wcss-display-sm-letter-spacing, 0);line-height:var(--wcss-display-sm-line-height, 1.3)}.display-xs{font-family:var(--wcss-display-xs-family, "AS Circular"),var(--wcss-display-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-xs-font-size, clamp(1.75rem, 3vw, 2.375rem));font-weight:var(--wcss-display-xs-weight, 300);letter-spacing:var(--wcss-display-xs-letter-spacing, 0);line-height:var(--wcss-display-xs-line-height, 1.3)}.heading-xl{font-family:var(--wcss-heading-xl-family, "AS Circular"),var(--wcss-heading-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-xl-font-size, clamp(2rem, 3vw, 2.5rem));font-weight:var(--wcss-heading-xl-weight, 300);letter-spacing:var(--wcss-heading-xl-letter-spacing, 0);line-height:var(--wcss-heading-xl-line-height, 1.3)}.heading-lg{font-family:var(--wcss-heading-lg-family, "AS Circular"),var(--wcss-heading-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-lg-font-size, clamp(1.75rem, 2.6666666667vw, 2.25rem));font-weight:var(--wcss-heading-lg-weight, 300);letter-spacing:var(--wcss-heading-lg-letter-spacing, 0);line-height:var(--wcss-heading-lg-line-height, 1.3)}.heading-md{font-family:var(--wcss-heading-md-family, "AS Circular"),var(--wcss-heading-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-md-font-size, clamp(1.625rem, 2.3333333333vw, 1.75rem));font-weight:var(--wcss-heading-md-weight, 300);letter-spacing:var(--wcss-heading-md-letter-spacing, 0);line-height:var(--wcss-heading-md-line-height, 1.3)}.heading-sm{font-family:var(--wcss-heading-sm-family, "AS Circular"),var(--wcss-heading-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-sm-font-size, clamp(1.375rem, 2vw, 1.5rem));font-weight:var(--wcss-heading-sm-weight, 300);letter-spacing:var(--wcss-heading-sm-letter-spacing, 0);line-height:var(--wcss-heading-sm-line-height, 1.3)}.heading-xs{font-family:var(--wcss-heading-xs-family, "AS Circular"),var(--wcss-heading-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-xs-font-size, clamp(1.25rem, 1.6666666667vw, 1.25rem));font-weight:var(--wcss-heading-xs-weight, 300);letter-spacing:var(--wcss-heading-xs-letter-spacing, 0);line-height:var(--wcss-heading-xs-line-height, 1.3)}.heading-2xs{font-family:var(--wcss-heading-2xs-family, "AS Circular"),var(--wcss-heading-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-2xs-font-size, clamp(1.125rem, 1.5vw, 1.125rem));font-weight:var(--wcss-heading-2xs-weight, 300);letter-spacing:var(--wcss-heading-2xs-letter-spacing, 0);line-height:var(--wcss-heading-2xs-line-height, 1.3)}.accent-2xl{font-family:var(--wcss-accent-2xl-family, "Good OT"),var(--wcss-accent-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-2xl-font-size, clamp(2rem, 3.1666666667vw, 2.375rem));font-weight:var(--wcss-accent-2xl-weight, 450);letter-spacing:var(--wcss-accent-2xl-letter-spacing, 0.05em);line-height:var(--wcss-accent-2xl-line-height, 1)}.accent-2xl,.accent-xl{text-transform:uppercase}.accent-xl{font-family:var(--wcss-accent-xl-family, "Good OT"),var(--wcss-accent-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-xl-font-size, clamp(1.625rem, 2.3333333333vw, 2rem));font-weight:var(--wcss-accent-xl-weight, 450);letter-spacing:var(--wcss-accent-xl-letter-spacing, 0.05em);line-height:var(--wcss-accent-xl-line-height, 1.3)}.accent-lg{font-family:var(--wcss-accent-lg-family, "Good OT"),var(--wcss-accent-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-lg-font-size, clamp(1.5rem, 2.1666666667vw, 1.75rem));font-weight:var(--wcss-accent-lg-weight, 450);letter-spacing:var(--wcss-accent-lg-letter-spacing, 0.05em);line-height:var(--wcss-accent-lg-line-height, 1.3)}.accent-lg,.accent-md{text-transform:uppercase}.accent-md{font-family:var(--wcss-accent-md-family, "Good OT"),var(--wcss-accent-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-md-font-size, clamp(1.375rem, 1.8333333333vw, 1.5rem));font-weight:var(--wcss-accent-md-weight, 500);letter-spacing:var(--wcss-accent-md-letter-spacing, 0.05em);line-height:var(--wcss-accent-md-line-height, 1.3)}.accent-sm{font-family:var(--wcss-accent-sm-family, "Good OT"),var(--wcss-accent-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-sm-font-size, clamp(1.125rem, 1.5vw, 1.25rem));font-weight:var(--wcss-accent-sm-weight, 500);letter-spacing:var(--wcss-accent-sm-letter-spacing, 0.05em);line-height:var(--wcss-accent-sm-line-height, 1.3)}.accent-sm,.accent-xs{text-transform:uppercase}.accent-xs{font-family:var(--wcss-accent-xs-family, "Good OT"),var(--wcss-accent-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-xs-font-size, clamp(1rem, 1.3333333333vw, 1rem));font-weight:var(--wcss-accent-xs-weight, 500);letter-spacing:var(--wcss-accent-xs-letter-spacing, 0.1em);line-height:var(--wcss-accent-xs-line-height, 1.3)}.accent-2xs{font-family:var(--wcss-accent-2xs-family, "Good OT"),var(--wcss-accent-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-2xs-font-size, clamp(0.875rem, 1.1666666667vw, 0.875rem));font-weight:var(--wcss-accent-2xs-weight, 450);letter-spacing:var(--wcss-accent-2xs-letter-spacing, 0.1em);line-height:var(--wcss-accent-2xs-line-height, 1.3);text-transform:uppercase}[auro-dropdown]{--ds-auro-dropdown-trigger-border-color: var(--ds-auro-select-border-color);--ds-auro-dropdown-trigger-background-color: var(--ds-auro-select-background-color);--ds-auro-dropdown-trigger-container-color: var(--ds-auro-select-background-color);--ds-auro-dropdown-trigger-outline-color: var(--ds-auro-select-outline-color)}:host{display:inline-block;text-align:left;vertical-align:top}:host([layout*=emphasized]) [auro-dropdown],:host([layout*=snowflake]) [auro-dropdown]{--ds-auro-select-border-color: transparent}:host([layout*=emphasized]) .mainContent,:host([layout*=snowflake]) .mainContent{text-align:center}.mainContent{position:relative;display:flex;overflow:hidden;flex:1;flex-direction:column;align-items:center;justify-content:center}.valueContainer [slot=displayValue]{display:none}.accents{display:flex;flex-direction:row;align-items:center;justify-content:center}::slotted([slot=typeIcon]){margin-right:var(--ds-size-100, 0.5rem)}.displayValue{display:block}.displayValue:not(.force){display:none}.displayValue:not(.force).hasContent:is(.withValue):not(.hasFocus){display:block}.triggerContent{display:flex;width:100%;align-items:center;justify-content:center}:host([layout*=emphasized]) .triggerContent{padding:0 var(--ds-size-100, 0.5rem) 0 var(--ds-size-300, 1.5rem)}:host([layout*=snowflake]) .triggerContent{padding:0 var(--ds-size-100, 0.5rem) 0 var(--ds-size-200, 1rem)}:host([layout*=snowflake]) label{padding-block:var(--ds-size-25, 0.125rem)}:host([layout*=classic]) .triggerContent{padding:0 var(--ds-size-100, 0.5rem)}:host([layout*=classic]) .mainContent{align-items:start}:host([layout*=classic]) label{overflow:hidden;cursor:text;text-overflow:ellipsis;white-space:nowrap}:host([layout*=classic]) .value{height:auto}label{color:var(--ds-auro-select-label-text-color)}:host(:is([validity]:not([validity=valid]))) [auro-dropdown]{--ds-auro-select-border-color: var(--ds-basic-color-status-error, #e31f26);--ds-auro-select-outline-color: var(--ds-basic-color-status-error, #e31f26);--ds-auro-dropdown-helptext-text-color: var(--ds-basic-color-texticon-default, #2a2a2a)}:host([ondark]:is([validity]:not([validity=valid]))) [auro-dropdown],:host([appearance=inverse]:is([validity]:not([validity=valid]))) [auro-dropdown]{--ds-auro-select-border-color: var(--ds-advanced-color-state-error-inverse, #f9a4a8);--ds-auro-select-outline-color: var(--ds-advanced-color-state-error-inverse, #f9a4a8);--ds-auro-dropdown-helptext-text-color: var(--ds-basic-color-texticon-inverse, #ffffff)}#slotHolder{display:none}:host([fluid]){width:100%}:host([disabled]){pointer-events:none;user-select:none}:host([disabled]:not([ondark])) [auro-dropdown],:host([disabled]:not([appearance=inverse])) [auro-dropdown]{--ds-auro-select-border-color: var(--ds-basic-color-border-subtle, #dddddd)}:host(:not([layout*=classic])[disabled][ondark]) [auro-dropdown],:host(:not([layout*=classic])[disabled][appearance=inverse]) [auro-dropdown]{--ds-auro-select-border-color: transparent}`;
70410
72917