@aurodesignsystem-dev/auro-formkit 0.0.0-pr1477.1 → 0.0.0-pr1480.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/bibtemplate/dist/auro-bibtemplate.d.ts +7 -0
- package/components/bibtemplate/dist/index.js +9 -1
- package/components/bibtemplate/dist/registered.js +9 -1
- package/components/checkbox/demo/customize.min.js +1 -1
- package/components/checkbox/demo/getting-started.min.js +1 -1
- package/components/checkbox/demo/index.min.js +1 -1
- package/components/checkbox/demo/pages.json +1 -1
- package/components/checkbox/demo/why-checkbox.html +57 -0
- package/components/checkbox/demo/why-checkbox.md +86 -0
- package/components/checkbox/dist/index.js +1 -1
- package/components/checkbox/dist/registered.js +1 -1
- package/components/combobox/demo/customize.min.js +236 -18
- package/components/combobox/demo/getting-started.min.js +236 -18
- package/components/combobox/demo/index.min.js +236 -18
- package/components/combobox/demo/keyboard-behavior.md +8 -68
- package/components/combobox/demo/pages.json +1 -1
- package/components/combobox/demo/why-combobox.html +57 -0
- package/components/combobox/demo/why-combobox.md +113 -0
- package/components/combobox/dist/index.js +236 -18
- package/components/combobox/dist/registered.js +236 -18
- package/components/counter/demo/customize.min.js +233 -15
- package/components/counter/demo/index.min.js +233 -15
- package/components/counter/demo/keyboard-behavior.md +1 -0
- package/components/counter/demo/pages.json +1 -1
- package/components/counter/demo/why-counter.html +57 -0
- package/components/counter/demo/why-counter.md +108 -0
- package/components/counter/dist/index.js +10 -2
- package/components/counter/dist/registered.js +10 -2
- package/components/datepicker/demo/accessibility.md +54 -3
- package/components/datepicker/demo/api.md +11 -2
- package/components/datepicker/demo/customize.html +2 -0
- package/components/datepicker/demo/customize.js +19 -0
- package/components/datepicker/demo/customize.md +72 -8
- package/components/datepicker/demo/customize.min.js +26498 -0
- package/components/datepicker/demo/design.md +3 -1
- package/components/datepicker/demo/index.js +5 -1
- package/components/datepicker/demo/index.md +85 -2
- package/components/datepicker/demo/index.min.js +2122 -185
- package/components/datepicker/demo/keyboard-behavior.md +201 -2
- package/components/datepicker/demo/pages.json +1 -1
- package/components/datepicker/demo/voiceover.md +21 -12
- package/components/datepicker/demo/why-datepicker.html +57 -0
- package/components/datepicker/demo/why-datepicker.md +133 -0
- package/components/datepicker/dist/index.js +2017 -156
- package/components/datepicker/dist/registered.js +2017 -156
- package/components/datepicker/dist/src/auro-calendar-cell.d.ts +112 -11
- package/components/datepicker/dist/src/auro-calendar-month.d.ts +37 -0
- package/components/datepicker/dist/src/auro-calendar.d.ts +177 -0
- package/components/datepicker/dist/src/auro-datepicker.d.ts +88 -0
- package/components/datepicker/dist/src/datepickerKeyboardStrategy.d.ts +5 -3
- package/components/dropdown/demo/accessibility.md +11 -0
- package/components/dropdown/demo/api.md +1 -0
- package/components/dropdown/demo/customize.md +3 -0
- package/components/dropdown/demo/customize.min.js +223 -13
- package/components/dropdown/demo/getting-started.min.js +223 -13
- package/components/dropdown/demo/index.min.js +223 -13
- package/components/dropdown/demo/keyboard-behavior.md +1 -0
- package/components/dropdown/demo/pages.json +1 -1
- package/components/dropdown/demo/why-dropdown.html +57 -0
- package/components/dropdown/demo/why-dropdown.md +97 -0
- package/components/dropdown/dist/auro-dropdown.d.ts +33 -1
- package/components/dropdown/dist/index.js +223 -13
- package/components/dropdown/dist/registered.js +223 -13
- package/components/form/demo/customize.min.js +2733 -220
- package/components/form/demo/getting-started.min.js +2733 -220
- package/components/form/demo/index.min.js +2733 -220
- package/components/form/demo/pages.json +1 -1
- package/components/form/demo/registerDemoDeps.min.js +2733 -220
- package/components/form/demo/why-form.html +57 -0
- package/components/form/demo/why-form.md +101 -0
- package/components/input/demo/customize.min.js +1 -1
- package/components/input/demo/getting-started.min.js +1 -1
- package/components/input/demo/index.min.js +1 -1
- package/components/input/demo/pages.json +1 -1
- package/components/input/demo/why-input.html +57 -0
- package/components/input/demo/why-input.md +121 -0
- package/components/input/dist/index.js +1 -1
- package/components/input/dist/registered.js +1 -1
- package/components/menu/demo/pages.json +1 -1
- package/components/menu/demo/why-menu.html +57 -0
- package/components/menu/demo/why-menu.md +104 -0
- package/components/radio/demo/customize.min.js +2186 -0
- package/components/radio/demo/demo-support.min.js +55807 -0
- package/components/radio/demo/getting-started.js +1 -1
- package/components/radio/demo/getting-started.md +1 -1
- package/components/radio/demo/getting-started.min.js +2205 -0
- package/components/radio/demo/index.min.js +1 -1
- package/components/radio/demo/pages.json +1 -1
- package/components/radio/demo/why-radio.html +57 -0
- package/components/radio/demo/why-radio.md +92 -0
- package/components/radio/dist/index.js +1 -1
- package/components/radio/dist/registered.js +1 -1
- package/components/select/demo/customize.min.js +249 -33
- package/components/select/demo/getting-started.min.js +249 -33
- package/components/select/demo/index.min.js +249 -33
- package/components/select/demo/keyboard-behavior.md +9 -54
- package/components/select/demo/pages.json +1 -1
- package/components/select/demo/why-select.html +57 -0
- package/components/select/demo/why-select.md +128 -0
- package/components/select/dist/index.js +249 -33
- package/components/select/dist/registered.js +249 -33
- package/custom-elements.json +1018 -74
- package/package.json +2 -2
|
@@ -6743,7 +6743,7 @@ let AuroHelpText$9 = class AuroHelpText extends i$3 {
|
|
|
6743
6743
|
}
|
|
6744
6744
|
};
|
|
6745
6745
|
|
|
6746
|
-
var formkitVersion$9 = '
|
|
6746
|
+
var formkitVersion$9 = '202605210248';
|
|
6747
6747
|
|
|
6748
6748
|
// Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
6749
6749
|
// See LICENSE in the project root for license information.
|
|
@@ -8766,7 +8766,6 @@ class UtilitiesCalendarRender {
|
|
|
8766
8766
|
.max="${elem.max}"
|
|
8767
8767
|
?noRange="${elem.noRange}"
|
|
8768
8768
|
.monthFirst="${elem.monthFirst}"
|
|
8769
|
-
.hoveredDate="${elem.hoveredDate}"
|
|
8770
8769
|
.dateTo="${elem.dateTo}"
|
|
8771
8770
|
.dateFrom="${elem.dateFrom}"
|
|
8772
8771
|
.locale="${elem.locale}"
|
|
@@ -8798,43 +8797,6 @@ var snowflakeStyle = i$5`:host([layout*=snowflake]) [auro-input]{flex:1;text-ali
|
|
|
8798
8797
|
|
|
8799
8798
|
var snowflakeColors = i$5`:host([layout=snowflake]) [auro-dropdown]:not(:is([error],.hasFocus)){--ds-auro-dropdown-trigger-border-color: transparent}`;
|
|
8800
8799
|
|
|
8801
|
-
var styleCss$7$1 = i$5`.body-default{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-default-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-default-font-size, 1rem);line-height:var(--wcss-body-default-line-height, 1.5rem)}.body-default-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-default-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-default-emphasized-font-size, 1rem);line-height:var(--wcss-body-default-emphasized-line-height, 1.5rem)}.body-lg{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-lg-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-lg-font-size, 1.125rem);line-height:var(--wcss-body-lg-line-height, 1.625rem)}.body-lg-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-lg-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-lg-emphasized-font-size, 1.125rem);line-height:var(--wcss-body-lg-emphasized-line-height, 1.625rem)}.body-sm{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-sm-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-sm-font-size, 0.875rem);line-height:var(--wcss-body-sm-line-height, 1.25rem)}.body-sm-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-sm-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-sm-emphasized-font-size, 0.875rem);line-height:var(--wcss-body-sm-emphasized-line-height, 1.25rem)}.body-xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-xs-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-xs-font-size, 0.75rem);line-height:var(--wcss-body-xs-line-height, 1rem)}.body-xs-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-xs-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-xs-emphasized-font-size, 0.75rem);line-height:var(--wcss-body-xs-emphasized-line-height, 1rem)}.body-2xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-2xs-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-2xs-font-size, 0.625rem);line-height:var(--wcss-body-2xs-line-height, 0.875rem)}.body-2xs-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-2xs-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-2xs-emphasized-font-size, 0.625rem);line-height:var(--wcss-body-2xs-emphasized-line-height, 0.875rem)}.display-2xl{font-family:var(--wcss-display-2xl-family, "AS Circular"),var(--wcss-display-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-2xl-weight, 300);line-height:var(--wcss-display-2xl-line-height, 1.3);font-size:var(--wcss-display-2xl-font-size, clamp(3.5rem, 6vw, 5.375rem));letter-spacing:var(--wcss-display-2xl-letter-spacing, 0)}.display-xl{font-family:var(--wcss-display-xl-family, "AS Circular"),var(--wcss-display-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-xl-weight, 300);line-height:var(--wcss-display-xl-line-height, 1.3);font-size:var(--wcss-display-xl-font-size, clamp(3rem, 5.3333333333vw, 4.5rem));letter-spacing:var(--wcss-display-xl-letter-spacing, 0)}.display-lg{font-family:var(--wcss-display-lg-family, "AS Circular"),var(--wcss-display-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-lg-weight, 300);line-height:var(--wcss-display-lg-line-height, 1.3);font-size:var(--wcss-display-lg-font-size, clamp(2.75rem, 4.6666666667vw, 4rem));letter-spacing:var(--wcss-display-lg-letter-spacing, 0)}.display-md{font-family:var(--wcss-display-md-family, "AS Circular"),var(--wcss-display-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-md-weight, 300);line-height:var(--wcss-display-md-line-height, 1.3);font-size:var(--wcss-display-md-font-size, clamp(2.5rem, 4vw, 3.5rem));letter-spacing:var(--wcss-display-md-letter-spacing, 0)}.display-sm{font-family:var(--wcss-display-sm-family, "AS Circular"),var(--wcss-display-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-sm-weight, 300);line-height:var(--wcss-display-sm-line-height, 1.3);font-size:var(--wcss-display-sm-font-size, clamp(2rem, 3.6666666667vw, 3rem));letter-spacing:var(--wcss-display-sm-letter-spacing, 0)}.display-xs{font-family:var(--wcss-display-xs-family, "AS Circular"),var(--wcss-display-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-xs-weight, 300);line-height:var(--wcss-display-xs-line-height, 1.3);font-size:var(--wcss-display-xs-font-size, clamp(1.75rem, 3vw, 2.375rem));letter-spacing:var(--wcss-display-xs-letter-spacing, 0)}.heading-xl{font-family:var(--wcss-heading-xl-family, "AS Circular"),var(--wcss-heading-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-xl-weight, 300);line-height:var(--wcss-heading-xl-line-height, 1.3);font-size:var(--wcss-heading-xl-font-size, clamp(2rem, 3vw, 2.5rem));letter-spacing:var(--wcss-heading-xl-letter-spacing, 0)}.heading-lg{font-family:var(--wcss-heading-lg-family, "AS Circular"),var(--wcss-heading-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-lg-weight, 300);line-height:var(--wcss-heading-lg-line-height, 1.3);font-size:var(--wcss-heading-lg-font-size, clamp(1.75rem, 2.6666666667vw, 2.25rem));letter-spacing:var(--wcss-heading-lg-letter-spacing, 0)}.heading-md{font-family:var(--wcss-heading-md-family, "AS Circular"),var(--wcss-heading-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-md-weight, 300);line-height:var(--wcss-heading-md-line-height, 1.3);font-size:var(--wcss-heading-md-font-size, clamp(1.625rem, 2.3333333333vw, 1.75rem));letter-spacing:var(--wcss-heading-md-letter-spacing, 0)}.heading-sm{font-family:var(--wcss-heading-sm-family, "AS Circular"),var(--wcss-heading-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-sm-weight, 300);line-height:var(--wcss-heading-sm-line-height, 1.3);font-size:var(--wcss-heading-sm-font-size, clamp(1.375rem, 2vw, 1.5rem));letter-spacing:var(--wcss-heading-sm-letter-spacing, 0)}.heading-xs{font-family:var(--wcss-heading-xs-family, "AS Circular"),var(--wcss-heading-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-xs-weight, 300);line-height:var(--wcss-heading-xs-line-height, 1.3);font-size:var(--wcss-heading-xs-font-size, clamp(1.25rem, 1.6666666667vw, 1.25rem));letter-spacing:var(--wcss-heading-xs-letter-spacing, 0)}.heading-2xs{font-family:var(--wcss-heading-2xs-family, "AS Circular"),var(--wcss-heading-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-2xs-weight, 300);line-height:var(--wcss-heading-2xs-line-height, 1.3);font-size:var(--wcss-heading-2xs-font-size, clamp(1.125rem, 1.5vw, 1.125rem));letter-spacing:var(--wcss-heading-2xs-letter-spacing, 0)}.accent-2xl{font-family:var(--wcss-accent-2xl-family, "Good OT"),var(--wcss-accent-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-2xl-weight, 450);line-height:var(--wcss-accent-2xl-line-height, 1);font-size:var(--wcss-accent-2xl-font-size, clamp(2rem, 3.1666666667vw, 2.375rem));letter-spacing:var(--wcss-accent-2xl-letter-spacing, 0.05em);text-transform:uppercase}.accent-xl{font-family:var(--wcss-accent-xl-family, "Good OT"),var(--wcss-accent-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-xl-weight, 450);line-height:var(--wcss-accent-xl-line-height, 1.3);font-size:var(--wcss-accent-xl-font-size, clamp(1.625rem, 2.3333333333vw, 2rem));letter-spacing:var(--wcss-accent-xl-letter-spacing, 0.05em);text-transform:uppercase}.accent-lg{font-family:var(--wcss-accent-lg-family, "Good OT"),var(--wcss-accent-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-lg-weight, 450);line-height:var(--wcss-accent-lg-line-height, 1.3);font-size:var(--wcss-accent-lg-font-size, clamp(1.5rem, 2.1666666667vw, 1.75rem));letter-spacing:var(--wcss-accent-lg-letter-spacing, 0.05em);text-transform:uppercase}.accent-md{font-family:var(--wcss-accent-md-family, "Good OT"),var(--wcss-accent-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-md-weight, 500);line-height:var(--wcss-accent-md-line-height, 1.3);font-size:var(--wcss-accent-md-font-size, clamp(1.375rem, 1.8333333333vw, 1.5rem));letter-spacing:var(--wcss-accent-md-letter-spacing, 0.05em);text-transform:uppercase}.accent-sm{font-family:var(--wcss-accent-sm-family, "Good OT"),var(--wcss-accent-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-sm-weight, 500);line-height:var(--wcss-accent-sm-line-height, 1.3);font-size:var(--wcss-accent-sm-font-size, clamp(1.125rem, 1.5vw, 1.25rem));letter-spacing:var(--wcss-accent-sm-letter-spacing, 0.05em);text-transform:uppercase}.accent-xs{font-family:var(--wcss-accent-xs-family, "Good OT"),var(--wcss-accent-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-xs-weight, 500);line-height:var(--wcss-accent-xs-line-height, 1.3);font-size:var(--wcss-accent-xs-font-size, clamp(1rem, 1.3333333333vw, 1rem));letter-spacing:var(--wcss-accent-xs-letter-spacing, 0.1em);text-transform:uppercase}.accent-2xs{font-family:var(--wcss-accent-2xs-family, "Good OT"),var(--wcss-accent-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-2xs-weight, 450);line-height:var(--wcss-accent-2xs-line-height, 1.3);font-size:var(--wcss-accent-2xs-font-size, clamp(0.875rem, 1.1666666667vw, 0.875rem));letter-spacing:var(--wcss-accent-2xs-letter-spacing, 0.1em);text-transform:uppercase}:host{--calendar-width: 336px;--mobile-footer-height: 150px;--mobile-header-height: 68px;height:100vh;height:100dvh}.calendars{display:flex;flex-direction:row}.calendarNavButtons{position:absolute;top:var(--ds-size-200, 1rem);right:var(--ds-size-50, 0.25rem);left:var(--ds-size-50, 0.25rem)}.calendarNavBtn{display:flex;width:var(--ds-size-500, 2.5rem);height:var(--ds-size-500, 2.5rem);align-items:center;justify-content:center;border-width:1px;border-style:solid;border-radius:50%;cursor:pointer}.prevMonth,.nextMonth{position:absolute;top:0}.prevMonth{left:0}.nextMonth{right:0}.headerActions{padding:0 var(--ds-size-200, 1rem)}.mobileHeader{width:100%;height:var(--mobile-header-height);z-index:1;align-items:center;flex-direction:row}.headerDateFrom,.headerDateTo{display:flex;height:var(--mobile-header-height);flex:1;flex-direction:column;justify-content:center;padding:0 var(--ds-size-150, 0.75rem) 0 var(--ds-size-200, 1rem)}.mobileDateLabel{padding:var(--ds-size-25, 0.125rem) 0}.mobileFooter{display:none;width:100%;align-items:flex-end;flex-direction:column;justify-content:flex-end}.mobileFooterActions{position:relative;bottom:0;left:50%;display:none;width:calc(100% - var(--ds-size-200, 1rem)*2);align-items:flex-end;flex-direction:column;justify-content:flex-end;padding:var(--ds-size-150) calc(var(--ds-size-200, 1rem));transform:translateX(-50%)}.mobileFooterActions auro-button{width:100%}:host([isfullscreen]){width:100%;max-height:100dvh;overflow:hidden}:host([isfullscreen]) .prevMonth,:host([isfullscreen]) .nextMonth{display:none}:host([isfullscreen]) .mobileHeader,:host([isfullscreen]) .mobileFooter,:host([isfullscreen]) .mobileFooterActions{display:flex}:host([isfullscreen]) .calendarWrapper{display:flex;flex-direction:column}:host([isfullscreen]) .calendars{display:flex;flex-direction:column;flex:1;align-items:center;width:100%;overscroll-behavior:contain}:host([isfullscreen]) .calendars:after{display:block;width:100%;height:var(--mobile-footer-height);content:""}`;
|
|
8802
|
-
|
|
8803
|
-
var colorCss$7$1 = i$5`.calendarNavBtn{border-color:var(--ds-auro-calendar-nav-btn-border-color);background-color:var(--ds-auro-calendar-nav-btn-container-color);color:var(--ds-auro-calendar-nav-btn-chevron-color)}.calendarNavBtn:hover{--ds-auro-calendar-nav-btn-container-color: var(--ds-advanced-color-state-background-hover, #f2f2f2);--ds-auro-calendar-nav-btn-border-color: var(--ds-basic-color-brand-primary, #01426a)}.calendarNavBtn:focus{--ds-auro-calendar-nav-btn-border-color: var(--ds-basic-color-brand-primary, #01426a)}.calendarNavBtn:active{--ds-auro-calendar-nav-btn-border-color: var(--ds-basic-color-brand-primary, #01426a);box-shadow:inset 0 0 0 1px var(--ds-auro-calendar-nav-btn-border-color)}.mobileHeader{background-color:var(--ds-auro-calendar-mobile-header-container-color)}.mobileDateLabel{color:var(--ds-auro-calendar-mobile-header-text-color)}:host(:not([noRange])) .headerDateTo:after{background-color:var(--ds-auro-calendar-mobile-header-divider-color)}::slotted([slot="bib.fullscreen.fromStr"]),::slotted([slot=mobileDateToStr]){color:var(--ds-auro-datepicker-placeholder-color)}@media screen and (max-width: 576px){.calendarNavBtn{--ds-auro-calendar-nav-btn-border-color: var(--ds-basic-color-brand-primary, #01426a)}}`;
|
|
8804
|
-
|
|
8805
|
-
var styleCss$6$1 = i$5`:focus:not(:focus-visible){outline:3px solid transparent}.body-default{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-default-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-default-font-size, 1rem);line-height:var(--wcss-body-default-line-height, 1.5rem)}.body-default-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-default-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-default-emphasized-font-size, 1rem);line-height:var(--wcss-body-default-emphasized-line-height, 1.5rem)}.body-lg{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-lg-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-lg-font-size, 1.125rem);line-height:var(--wcss-body-lg-line-height, 1.625rem)}.body-lg-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-lg-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-lg-emphasized-font-size, 1.125rem);line-height:var(--wcss-body-lg-emphasized-line-height, 1.625rem)}.body-sm{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-sm-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-sm-font-size, 0.875rem);line-height:var(--wcss-body-sm-line-height, 1.25rem)}.body-sm-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-sm-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-sm-emphasized-font-size, 0.875rem);line-height:var(--wcss-body-sm-emphasized-line-height, 1.25rem)}.body-xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-xs-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-xs-font-size, 0.75rem);line-height:var(--wcss-body-xs-line-height, 1rem)}.body-xs-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-xs-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-xs-emphasized-font-size, 0.75rem);line-height:var(--wcss-body-xs-emphasized-line-height, 1rem)}.body-2xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-2xs-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-2xs-font-size, 0.625rem);line-height:var(--wcss-body-2xs-line-height, 0.875rem)}.body-2xs-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-2xs-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-2xs-emphasized-font-size, 0.625rem);line-height:var(--wcss-body-2xs-emphasized-line-height, 0.875rem)}.display-2xl{font-family:var(--wcss-display-2xl-family, "AS Circular"),var(--wcss-display-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-2xl-weight, 300);line-height:var(--wcss-display-2xl-line-height, 1.3);font-size:var(--wcss-display-2xl-font-size, clamp(3.5rem, 6vw, 5.375rem));letter-spacing:var(--wcss-display-2xl-letter-spacing, 0)}.display-xl{font-family:var(--wcss-display-xl-family, "AS Circular"),var(--wcss-display-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-xl-weight, 300);line-height:var(--wcss-display-xl-line-height, 1.3);font-size:var(--wcss-display-xl-font-size, clamp(3rem, 5.3333333333vw, 4.5rem));letter-spacing:var(--wcss-display-xl-letter-spacing, 0)}.display-lg{font-family:var(--wcss-display-lg-family, "AS Circular"),var(--wcss-display-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-lg-weight, 300);line-height:var(--wcss-display-lg-line-height, 1.3);font-size:var(--wcss-display-lg-font-size, clamp(2.75rem, 4.6666666667vw, 4rem));letter-spacing:var(--wcss-display-lg-letter-spacing, 0)}.display-md{font-family:var(--wcss-display-md-family, "AS Circular"),var(--wcss-display-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-md-weight, 300);line-height:var(--wcss-display-md-line-height, 1.3);font-size:var(--wcss-display-md-font-size, clamp(2.5rem, 4vw, 3.5rem));letter-spacing:var(--wcss-display-md-letter-spacing, 0)}.display-sm{font-family:var(--wcss-display-sm-family, "AS Circular"),var(--wcss-display-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-sm-weight, 300);line-height:var(--wcss-display-sm-line-height, 1.3);font-size:var(--wcss-display-sm-font-size, clamp(2rem, 3.6666666667vw, 3rem));letter-spacing:var(--wcss-display-sm-letter-spacing, 0)}.display-xs{font-family:var(--wcss-display-xs-family, "AS Circular"),var(--wcss-display-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-xs-weight, 300);line-height:var(--wcss-display-xs-line-height, 1.3);font-size:var(--wcss-display-xs-font-size, clamp(1.75rem, 3vw, 2.375rem));letter-spacing:var(--wcss-display-xs-letter-spacing, 0)}.heading-xl{font-family:var(--wcss-heading-xl-family, "AS Circular"),var(--wcss-heading-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-xl-weight, 300);line-height:var(--wcss-heading-xl-line-height, 1.3);font-size:var(--wcss-heading-xl-font-size, clamp(2rem, 3vw, 2.5rem));letter-spacing:var(--wcss-heading-xl-letter-spacing, 0)}.heading-lg{font-family:var(--wcss-heading-lg-family, "AS Circular"),var(--wcss-heading-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-lg-weight, 300);line-height:var(--wcss-heading-lg-line-height, 1.3);font-size:var(--wcss-heading-lg-font-size, clamp(1.75rem, 2.6666666667vw, 2.25rem));letter-spacing:var(--wcss-heading-lg-letter-spacing, 0)}.heading-md{font-family:var(--wcss-heading-md-family, "AS Circular"),var(--wcss-heading-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-md-weight, 300);line-height:var(--wcss-heading-md-line-height, 1.3);font-size:var(--wcss-heading-md-font-size, clamp(1.625rem, 2.3333333333vw, 1.75rem));letter-spacing:var(--wcss-heading-md-letter-spacing, 0)}.heading-sm{font-family:var(--wcss-heading-sm-family, "AS Circular"),var(--wcss-heading-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-sm-weight, 300);line-height:var(--wcss-heading-sm-line-height, 1.3);font-size:var(--wcss-heading-sm-font-size, clamp(1.375rem, 2vw, 1.5rem));letter-spacing:var(--wcss-heading-sm-letter-spacing, 0)}.heading-xs{font-family:var(--wcss-heading-xs-family, "AS Circular"),var(--wcss-heading-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-xs-weight, 300);line-height:var(--wcss-heading-xs-line-height, 1.3);font-size:var(--wcss-heading-xs-font-size, clamp(1.25rem, 1.6666666667vw, 1.25rem));letter-spacing:var(--wcss-heading-xs-letter-spacing, 0)}.heading-2xs{font-family:var(--wcss-heading-2xs-family, "AS Circular"),var(--wcss-heading-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-2xs-weight, 300);line-height:var(--wcss-heading-2xs-line-height, 1.3);font-size:var(--wcss-heading-2xs-font-size, clamp(1.125rem, 1.5vw, 1.125rem));letter-spacing:var(--wcss-heading-2xs-letter-spacing, 0)}.accent-2xl{font-family:var(--wcss-accent-2xl-family, "Good OT"),var(--wcss-accent-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-2xl-weight, 450);line-height:var(--wcss-accent-2xl-line-height, 1);font-size:var(--wcss-accent-2xl-font-size, clamp(2rem, 3.1666666667vw, 2.375rem));letter-spacing:var(--wcss-accent-2xl-letter-spacing, 0.05em);text-transform:uppercase}.accent-xl{font-family:var(--wcss-accent-xl-family, "Good OT"),var(--wcss-accent-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-xl-weight, 450);line-height:var(--wcss-accent-xl-line-height, 1.3);font-size:var(--wcss-accent-xl-font-size, clamp(1.625rem, 2.3333333333vw, 2rem));letter-spacing:var(--wcss-accent-xl-letter-spacing, 0.05em);text-transform:uppercase}.accent-lg{font-family:var(--wcss-accent-lg-family, "Good OT"),var(--wcss-accent-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-lg-weight, 450);line-height:var(--wcss-accent-lg-line-height, 1.3);font-size:var(--wcss-accent-lg-font-size, clamp(1.5rem, 2.1666666667vw, 1.75rem));letter-spacing:var(--wcss-accent-lg-letter-spacing, 0.05em);text-transform:uppercase}.accent-md{font-family:var(--wcss-accent-md-family, "Good OT"),var(--wcss-accent-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-md-weight, 500);line-height:var(--wcss-accent-md-line-height, 1.3);font-size:var(--wcss-accent-md-font-size, clamp(1.375rem, 1.8333333333vw, 1.5rem));letter-spacing:var(--wcss-accent-md-letter-spacing, 0.05em);text-transform:uppercase}.accent-sm{font-family:var(--wcss-accent-sm-family, "Good OT"),var(--wcss-accent-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-sm-weight, 500);line-height:var(--wcss-accent-sm-line-height, 1.3);font-size:var(--wcss-accent-sm-font-size, clamp(1.125rem, 1.5vw, 1.25rem));letter-spacing:var(--wcss-accent-sm-letter-spacing, 0.05em);text-transform:uppercase}.accent-xs{font-family:var(--wcss-accent-xs-family, "Good OT"),var(--wcss-accent-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-xs-weight, 500);line-height:var(--wcss-accent-xs-line-height, 1.3);font-size:var(--wcss-accent-xs-font-size, clamp(1rem, 1.3333333333vw, 1rem));letter-spacing:var(--wcss-accent-xs-letter-spacing, 0.1em);text-transform:uppercase}.accent-2xs{font-family:var(--wcss-accent-2xs-family, "Good OT"),var(--wcss-accent-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-2xs-weight, 450);line-height:var(--wcss-accent-2xs-line-height, 1.3);font-size:var(--wcss-accent-2xs-font-size, clamp(0.875rem, 1.1666666667vw, 0.875rem));letter-spacing:var(--wcss-accent-2xs-letter-spacing, 0.1em);text-transform:uppercase}:host{position:relative;display:block;width:calc(100% - var(--ds-size-200, 1rem) - var(--ds-size-200, 1rem));margin:0 var(--ds-size-200, 1rem)}@media screen and (min-width: 576px){:host{width:336px;padding:var(--ds-size-200, 1rem)}}@media screen and (min-width: 576px){:host(:not(:last-of-type)):after{position:absolute;top:var(--ds-size-200, 1rem);right:calc(-1*var(--ds-size-200, 1rem));height:calc(100% - var(--ds-size-200, 1rem) - var(--ds-size-200, 1rem));display:block;width:1px;content:""}}.header{display:flex;height:var(--ds-size-500, 2.5rem);margin-bottom:var(--ds-size-150, 0.75rem);align-items:center;flex-direction:row;text-align:center}.headerTitle{display:flex;align-items:center;flex:1;flex-direction:row;justify-content:center}.headerTitle div:first-child{margin-right:var(--ds-size-100, 0.5rem)}.calendarNavBtn{position:relative;display:flex;width:var(--ds-size-500, 2.5rem);height:var(--ds-size-500, 2.5rem);align-items:center;justify-content:center;border-width:1px;border-style:solid;border-radius:50%;cursor:pointer}.table{width:100%;border-collapse:collapse}.thead{margin-bottom:var(--ds-size-100, 0.5rem)}.th{display:flex;flex:1;align-items:center;justify-content:center}.tbody{width:100%;transition:all 0ms;transform:translateX(0)}@media screen and (min-width: 576px){.tbody{height:384px}}.td{flex:1;margin:0;padding:0}.tr{display:flex;flex-direction:row;width:100%}`;
|
|
8806
|
-
|
|
8807
|
-
var colorCss$6$1 = i$5`:focus:not(:focus-visible){outline:3px solid transparent}:host{background-color:var(--ds-auro-calendar-month-container-color)}@media screen and (min-width: 576px){:host(:not(:last-of-type)):after{background-color:var(--ds-auro-calendar-month-divider-color)}}.header{color:var(--ds-auro-calendar-month-header-color)}`;
|
|
8808
|
-
|
|
8809
|
-
/******************************************************************************
|
|
8810
|
-
Copyright (c) Microsoft Corporation.
|
|
8811
|
-
|
|
8812
|
-
Permission to use, copy, modify, and/or distribute this software for any
|
|
8813
|
-
purpose with or without fee is hereby granted.
|
|
8814
|
-
|
|
8815
|
-
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
8816
|
-
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
8817
|
-
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
8818
|
-
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
8819
|
-
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
8820
|
-
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
8821
|
-
PERFORMANCE OF THIS SOFTWARE.
|
|
8822
|
-
***************************************************************************** */
|
|
8823
|
-
/* global Reflect, Promise, SuppressedError, Symbol, Iterator */
|
|
8824
|
-
|
|
8825
|
-
|
|
8826
|
-
function __decorate(decorators, target, key, desc) {
|
|
8827
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
8828
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
8829
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
8830
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
8831
|
-
}
|
|
8832
|
-
|
|
8833
|
-
typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
|
|
8834
|
-
var e = new Error(message);
|
|
8835
|
-
return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
|
|
8836
|
-
};
|
|
8837
|
-
|
|
8838
8800
|
/**
|
|
8839
8801
|
* @module constants
|
|
8840
8802
|
* @summary Useful constants
|
|
@@ -14589,6 +14551,43 @@ function subYears(date, amount, options) {
|
|
|
14589
14551
|
return addYears(date, -1, options);
|
|
14590
14552
|
}
|
|
14591
14553
|
|
|
14554
|
+
var styleCss$7$1 = i$5`.body-default{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-default-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-default-font-size, 1rem);line-height:var(--wcss-body-default-line-height, 1.5rem)}.body-default-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-default-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-default-emphasized-font-size, 1rem);line-height:var(--wcss-body-default-emphasized-line-height, 1.5rem)}.body-lg{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-lg-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-lg-font-size, 1.125rem);line-height:var(--wcss-body-lg-line-height, 1.625rem)}.body-lg-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-lg-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-lg-emphasized-font-size, 1.125rem);line-height:var(--wcss-body-lg-emphasized-line-height, 1.625rem)}.body-sm{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-sm-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-sm-font-size, 0.875rem);line-height:var(--wcss-body-sm-line-height, 1.25rem)}.body-sm-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-sm-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-sm-emphasized-font-size, 0.875rem);line-height:var(--wcss-body-sm-emphasized-line-height, 1.25rem)}.body-xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-xs-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-xs-font-size, 0.75rem);line-height:var(--wcss-body-xs-line-height, 1rem)}.body-xs-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-xs-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-xs-emphasized-font-size, 0.75rem);line-height:var(--wcss-body-xs-emphasized-line-height, 1rem)}.body-2xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-2xs-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-2xs-font-size, 0.625rem);line-height:var(--wcss-body-2xs-line-height, 0.875rem)}.body-2xs-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-2xs-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-2xs-emphasized-font-size, 0.625rem);line-height:var(--wcss-body-2xs-emphasized-line-height, 0.875rem)}.display-2xl{font-family:var(--wcss-display-2xl-family, "AS Circular"),var(--wcss-display-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-2xl-weight, 300);line-height:var(--wcss-display-2xl-line-height, 1.3);font-size:var(--wcss-display-2xl-font-size, clamp(3.5rem, 6vw, 5.375rem));letter-spacing:var(--wcss-display-2xl-letter-spacing, 0)}.display-xl{font-family:var(--wcss-display-xl-family, "AS Circular"),var(--wcss-display-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-xl-weight, 300);line-height:var(--wcss-display-xl-line-height, 1.3);font-size:var(--wcss-display-xl-font-size, clamp(3rem, 5.3333333333vw, 4.5rem));letter-spacing:var(--wcss-display-xl-letter-spacing, 0)}.display-lg{font-family:var(--wcss-display-lg-family, "AS Circular"),var(--wcss-display-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-lg-weight, 300);line-height:var(--wcss-display-lg-line-height, 1.3);font-size:var(--wcss-display-lg-font-size, clamp(2.75rem, 4.6666666667vw, 4rem));letter-spacing:var(--wcss-display-lg-letter-spacing, 0)}.display-md{font-family:var(--wcss-display-md-family, "AS Circular"),var(--wcss-display-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-md-weight, 300);line-height:var(--wcss-display-md-line-height, 1.3);font-size:var(--wcss-display-md-font-size, clamp(2.5rem, 4vw, 3.5rem));letter-spacing:var(--wcss-display-md-letter-spacing, 0)}.display-sm{font-family:var(--wcss-display-sm-family, "AS Circular"),var(--wcss-display-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-sm-weight, 300);line-height:var(--wcss-display-sm-line-height, 1.3);font-size:var(--wcss-display-sm-font-size, clamp(2rem, 3.6666666667vw, 3rem));letter-spacing:var(--wcss-display-sm-letter-spacing, 0)}.display-xs{font-family:var(--wcss-display-xs-family, "AS Circular"),var(--wcss-display-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-xs-weight, 300);line-height:var(--wcss-display-xs-line-height, 1.3);font-size:var(--wcss-display-xs-font-size, clamp(1.75rem, 3vw, 2.375rem));letter-spacing:var(--wcss-display-xs-letter-spacing, 0)}.heading-xl{font-family:var(--wcss-heading-xl-family, "AS Circular"),var(--wcss-heading-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-xl-weight, 300);line-height:var(--wcss-heading-xl-line-height, 1.3);font-size:var(--wcss-heading-xl-font-size, clamp(2rem, 3vw, 2.5rem));letter-spacing:var(--wcss-heading-xl-letter-spacing, 0)}.heading-lg{font-family:var(--wcss-heading-lg-family, "AS Circular"),var(--wcss-heading-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-lg-weight, 300);line-height:var(--wcss-heading-lg-line-height, 1.3);font-size:var(--wcss-heading-lg-font-size, clamp(1.75rem, 2.6666666667vw, 2.25rem));letter-spacing:var(--wcss-heading-lg-letter-spacing, 0)}.heading-md{font-family:var(--wcss-heading-md-family, "AS Circular"),var(--wcss-heading-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-md-weight, 300);line-height:var(--wcss-heading-md-line-height, 1.3);font-size:var(--wcss-heading-md-font-size, clamp(1.625rem, 2.3333333333vw, 1.75rem));letter-spacing:var(--wcss-heading-md-letter-spacing, 0)}.heading-sm{font-family:var(--wcss-heading-sm-family, "AS Circular"),var(--wcss-heading-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-sm-weight, 300);line-height:var(--wcss-heading-sm-line-height, 1.3);font-size:var(--wcss-heading-sm-font-size, clamp(1.375rem, 2vw, 1.5rem));letter-spacing:var(--wcss-heading-sm-letter-spacing, 0)}.heading-xs{font-family:var(--wcss-heading-xs-family, "AS Circular"),var(--wcss-heading-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-xs-weight, 300);line-height:var(--wcss-heading-xs-line-height, 1.3);font-size:var(--wcss-heading-xs-font-size, clamp(1.25rem, 1.6666666667vw, 1.25rem));letter-spacing:var(--wcss-heading-xs-letter-spacing, 0)}.heading-2xs{font-family:var(--wcss-heading-2xs-family, "AS Circular"),var(--wcss-heading-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-2xs-weight, 300);line-height:var(--wcss-heading-2xs-line-height, 1.3);font-size:var(--wcss-heading-2xs-font-size, clamp(1.125rem, 1.5vw, 1.125rem));letter-spacing:var(--wcss-heading-2xs-letter-spacing, 0)}.accent-2xl{font-family:var(--wcss-accent-2xl-family, "Good OT"),var(--wcss-accent-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-2xl-weight, 450);line-height:var(--wcss-accent-2xl-line-height, 1);font-size:var(--wcss-accent-2xl-font-size, clamp(2rem, 3.1666666667vw, 2.375rem));letter-spacing:var(--wcss-accent-2xl-letter-spacing, 0.05em);text-transform:uppercase}.accent-xl{font-family:var(--wcss-accent-xl-family, "Good OT"),var(--wcss-accent-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-xl-weight, 450);line-height:var(--wcss-accent-xl-line-height, 1.3);font-size:var(--wcss-accent-xl-font-size, clamp(1.625rem, 2.3333333333vw, 2rem));letter-spacing:var(--wcss-accent-xl-letter-spacing, 0.05em);text-transform:uppercase}.accent-lg{font-family:var(--wcss-accent-lg-family, "Good OT"),var(--wcss-accent-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-lg-weight, 450);line-height:var(--wcss-accent-lg-line-height, 1.3);font-size:var(--wcss-accent-lg-font-size, clamp(1.5rem, 2.1666666667vw, 1.75rem));letter-spacing:var(--wcss-accent-lg-letter-spacing, 0.05em);text-transform:uppercase}.accent-md{font-family:var(--wcss-accent-md-family, "Good OT"),var(--wcss-accent-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-md-weight, 500);line-height:var(--wcss-accent-md-line-height, 1.3);font-size:var(--wcss-accent-md-font-size, clamp(1.375rem, 1.8333333333vw, 1.5rem));letter-spacing:var(--wcss-accent-md-letter-spacing, 0.05em);text-transform:uppercase}.accent-sm{font-family:var(--wcss-accent-sm-family, "Good OT"),var(--wcss-accent-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-sm-weight, 500);line-height:var(--wcss-accent-sm-line-height, 1.3);font-size:var(--wcss-accent-sm-font-size, clamp(1.125rem, 1.5vw, 1.25rem));letter-spacing:var(--wcss-accent-sm-letter-spacing, 0.05em);text-transform:uppercase}.accent-xs{font-family:var(--wcss-accent-xs-family, "Good OT"),var(--wcss-accent-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-xs-weight, 500);line-height:var(--wcss-accent-xs-line-height, 1.3);font-size:var(--wcss-accent-xs-font-size, clamp(1rem, 1.3333333333vw, 1rem));letter-spacing:var(--wcss-accent-xs-letter-spacing, 0.1em);text-transform:uppercase}.accent-2xs{font-family:var(--wcss-accent-2xs-family, "Good OT"),var(--wcss-accent-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-2xs-weight, 450);line-height:var(--wcss-accent-2xs-line-height, 1.3);font-size:var(--wcss-accent-2xs-font-size, clamp(0.875rem, 1.1666666667vw, 0.875rem));letter-spacing:var(--wcss-accent-2xs-letter-spacing, 0.1em);text-transform:uppercase}:host{--calendar-width: 336px;--mobile-footer-height: 150px;--mobile-header-height: 68px;--desktop-footer-height: 80px;height:100vh;height:100dvh}.calendars{display:flex;flex-direction:row}.calendars:focus{outline:none}.calendarNavButtons{position:absolute;z-index:1;top:var(--ds-size-200, 1rem);right:var(--ds-size-50, 0.25rem);left:var(--ds-size-50, 0.25rem)}.calendarNavBtn{display:flex;width:var(--ds-size-500, 2.5rem);height:var(--ds-size-500, 2.5rem);align-items:center;justify-content:center;border-width:1px;border-style:solid;border-radius:50%;cursor:pointer}.prevMonth,.nextMonth{position:absolute;top:0}.prevMonth{left:0}.nextMonth{right:0}.headerActions{padding:0 var(--ds-size-200, 1rem)}.mobileHeader{width:100%;height:var(--mobile-header-height);z-index:1;align-items:center;flex-direction:row}.headerDateFrom,.headerDateTo{display:flex;height:var(--mobile-header-height);flex:1;flex-direction:column;justify-content:center;padding:0 var(--ds-size-150, 0.75rem) 0 var(--ds-size-200, 1rem)}.mobileDateLabel{padding:var(--ds-size-25, 0.125rem) 0}.mobileFooter{display:none;width:100%;align-items:flex-end;flex-direction:column;justify-content:flex-end}.mobileFooterActions{position:relative;bottom:0;left:50%;display:none;width:calc(100% - var(--ds-size-200, 1rem)*2);align-items:flex-end;flex-direction:column;justify-content:flex-end;padding:var(--ds-size-150) calc(var(--ds-size-200, 1rem));transform:translateX(-50%)}.mobileFooterActions auro-button{width:100%}.calendarWrapper.hasFooter{padding-bottom:var(--desktop-footer-height)}:host([isfullscreen]){width:100%;max-height:100dvh;overflow:hidden}:host([isfullscreen]) .prevMonth,:host([isfullscreen]) .nextMonth{display:none}:host([isfullscreen]) .mobileHeader,:host([isfullscreen]) .mobileFooter,:host([isfullscreen]) .mobileFooterActions{display:flex}:host([isfullscreen]) .calendarWrapper{display:flex;flex-direction:column}:host([isfullscreen]) .calendars{display:flex;flex-direction:column;flex:1;align-items:center;width:100%;overscroll-behavior:contain}:host([isfullscreen]) .calendars:after{display:block;width:100%;height:var(--mobile-footer-height);content:""}.sr-only{position:absolute;overflow:hidden;clip:rect(0, 0, 0, 0);width:1px;height:1px;margin:-1px;padding:0;border:0;white-space:nowrap}`;
|
|
14555
|
+
|
|
14556
|
+
var colorCss$7$1 = i$5`.calendarNavBtn{border-color:var(--ds-auro-calendar-nav-btn-border-color);background-color:var(--ds-auro-calendar-nav-btn-container-color);color:var(--ds-auro-calendar-nav-btn-chevron-color)}.calendarNavBtn:hover{--ds-auro-calendar-nav-btn-container-color: var(--ds-advanced-color-state-background-hover, #f2f2f2);--ds-auro-calendar-nav-btn-border-color: var(--ds-basic-color-brand-primary, #01426a)}.calendarNavBtn:focus{--ds-auro-calendar-nav-btn-border-color: var(--ds-basic-color-brand-primary, #01426a)}.calendarNavBtn:active{--ds-auro-calendar-nav-btn-border-color: var(--ds-basic-color-brand-primary, #01426a);box-shadow:inset 0 0 0 1px var(--ds-auro-calendar-nav-btn-border-color)}.mobileHeader{background-color:var(--ds-auro-calendar-mobile-header-container-color)}.mobileDateLabel{color:var(--ds-auro-calendar-mobile-header-text-color)}:host(:not([noRange])) .headerDateTo:after{background-color:var(--ds-auro-calendar-mobile-header-divider-color)}::slotted([slot="bib.fullscreen.fromStr"]),::slotted([slot=mobileDateToStr]){color:var(--ds-auro-datepicker-placeholder-color)}@media screen and (max-width: 576px){.calendarNavBtn{--ds-auro-calendar-nav-btn-border-color: var(--ds-basic-color-brand-primary, #01426a)}}`;
|
|
14557
|
+
|
|
14558
|
+
var styleCss$6$1 = i$5`:focus:not(:focus-visible){outline:3px solid transparent}.body-default{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-default-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-default-font-size, 1rem);line-height:var(--wcss-body-default-line-height, 1.5rem)}.body-default-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-default-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-default-emphasized-font-size, 1rem);line-height:var(--wcss-body-default-emphasized-line-height, 1.5rem)}.body-lg{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-lg-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-lg-font-size, 1.125rem);line-height:var(--wcss-body-lg-line-height, 1.625rem)}.body-lg-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-lg-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-lg-emphasized-font-size, 1.125rem);line-height:var(--wcss-body-lg-emphasized-line-height, 1.625rem)}.body-sm{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-sm-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-sm-font-size, 0.875rem);line-height:var(--wcss-body-sm-line-height, 1.25rem)}.body-sm-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-sm-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-sm-emphasized-font-size, 0.875rem);line-height:var(--wcss-body-sm-emphasized-line-height, 1.25rem)}.body-xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-xs-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-xs-font-size, 0.75rem);line-height:var(--wcss-body-xs-line-height, 1rem)}.body-xs-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-xs-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-xs-emphasized-font-size, 0.75rem);line-height:var(--wcss-body-xs-emphasized-line-height, 1rem)}.body-2xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-2xs-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-2xs-font-size, 0.625rem);line-height:var(--wcss-body-2xs-line-height, 0.875rem)}.body-2xs-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-2xs-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-2xs-emphasized-font-size, 0.625rem);line-height:var(--wcss-body-2xs-emphasized-line-height, 0.875rem)}.display-2xl{font-family:var(--wcss-display-2xl-family, "AS Circular"),var(--wcss-display-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-2xl-weight, 300);line-height:var(--wcss-display-2xl-line-height, 1.3);font-size:var(--wcss-display-2xl-font-size, clamp(3.5rem, 6vw, 5.375rem));letter-spacing:var(--wcss-display-2xl-letter-spacing, 0)}.display-xl{font-family:var(--wcss-display-xl-family, "AS Circular"),var(--wcss-display-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-xl-weight, 300);line-height:var(--wcss-display-xl-line-height, 1.3);font-size:var(--wcss-display-xl-font-size, clamp(3rem, 5.3333333333vw, 4.5rem));letter-spacing:var(--wcss-display-xl-letter-spacing, 0)}.display-lg{font-family:var(--wcss-display-lg-family, "AS Circular"),var(--wcss-display-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-lg-weight, 300);line-height:var(--wcss-display-lg-line-height, 1.3);font-size:var(--wcss-display-lg-font-size, clamp(2.75rem, 4.6666666667vw, 4rem));letter-spacing:var(--wcss-display-lg-letter-spacing, 0)}.display-md{font-family:var(--wcss-display-md-family, "AS Circular"),var(--wcss-display-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-md-weight, 300);line-height:var(--wcss-display-md-line-height, 1.3);font-size:var(--wcss-display-md-font-size, clamp(2.5rem, 4vw, 3.5rem));letter-spacing:var(--wcss-display-md-letter-spacing, 0)}.display-sm{font-family:var(--wcss-display-sm-family, "AS Circular"),var(--wcss-display-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-sm-weight, 300);line-height:var(--wcss-display-sm-line-height, 1.3);font-size:var(--wcss-display-sm-font-size, clamp(2rem, 3.6666666667vw, 3rem));letter-spacing:var(--wcss-display-sm-letter-spacing, 0)}.display-xs{font-family:var(--wcss-display-xs-family, "AS Circular"),var(--wcss-display-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-xs-weight, 300);line-height:var(--wcss-display-xs-line-height, 1.3);font-size:var(--wcss-display-xs-font-size, clamp(1.75rem, 3vw, 2.375rem));letter-spacing:var(--wcss-display-xs-letter-spacing, 0)}.heading-xl{font-family:var(--wcss-heading-xl-family, "AS Circular"),var(--wcss-heading-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-xl-weight, 300);line-height:var(--wcss-heading-xl-line-height, 1.3);font-size:var(--wcss-heading-xl-font-size, clamp(2rem, 3vw, 2.5rem));letter-spacing:var(--wcss-heading-xl-letter-spacing, 0)}.heading-lg{font-family:var(--wcss-heading-lg-family, "AS Circular"),var(--wcss-heading-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-lg-weight, 300);line-height:var(--wcss-heading-lg-line-height, 1.3);font-size:var(--wcss-heading-lg-font-size, clamp(1.75rem, 2.6666666667vw, 2.25rem));letter-spacing:var(--wcss-heading-lg-letter-spacing, 0)}.heading-md{font-family:var(--wcss-heading-md-family, "AS Circular"),var(--wcss-heading-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-md-weight, 300);line-height:var(--wcss-heading-md-line-height, 1.3);font-size:var(--wcss-heading-md-font-size, clamp(1.625rem, 2.3333333333vw, 1.75rem));letter-spacing:var(--wcss-heading-md-letter-spacing, 0)}.heading-sm{font-family:var(--wcss-heading-sm-family, "AS Circular"),var(--wcss-heading-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-sm-weight, 300);line-height:var(--wcss-heading-sm-line-height, 1.3);font-size:var(--wcss-heading-sm-font-size, clamp(1.375rem, 2vw, 1.5rem));letter-spacing:var(--wcss-heading-sm-letter-spacing, 0)}.heading-xs{font-family:var(--wcss-heading-xs-family, "AS Circular"),var(--wcss-heading-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-xs-weight, 300);line-height:var(--wcss-heading-xs-line-height, 1.3);font-size:var(--wcss-heading-xs-font-size, clamp(1.25rem, 1.6666666667vw, 1.25rem));letter-spacing:var(--wcss-heading-xs-letter-spacing, 0)}.heading-2xs{font-family:var(--wcss-heading-2xs-family, "AS Circular"),var(--wcss-heading-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-2xs-weight, 300);line-height:var(--wcss-heading-2xs-line-height, 1.3);font-size:var(--wcss-heading-2xs-font-size, clamp(1.125rem, 1.5vw, 1.125rem));letter-spacing:var(--wcss-heading-2xs-letter-spacing, 0)}.accent-2xl{font-family:var(--wcss-accent-2xl-family, "Good OT"),var(--wcss-accent-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-2xl-weight, 450);line-height:var(--wcss-accent-2xl-line-height, 1);font-size:var(--wcss-accent-2xl-font-size, clamp(2rem, 3.1666666667vw, 2.375rem));letter-spacing:var(--wcss-accent-2xl-letter-spacing, 0.05em);text-transform:uppercase}.accent-xl{font-family:var(--wcss-accent-xl-family, "Good OT"),var(--wcss-accent-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-xl-weight, 450);line-height:var(--wcss-accent-xl-line-height, 1.3);font-size:var(--wcss-accent-xl-font-size, clamp(1.625rem, 2.3333333333vw, 2rem));letter-spacing:var(--wcss-accent-xl-letter-spacing, 0.05em);text-transform:uppercase}.accent-lg{font-family:var(--wcss-accent-lg-family, "Good OT"),var(--wcss-accent-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-lg-weight, 450);line-height:var(--wcss-accent-lg-line-height, 1.3);font-size:var(--wcss-accent-lg-font-size, clamp(1.5rem, 2.1666666667vw, 1.75rem));letter-spacing:var(--wcss-accent-lg-letter-spacing, 0.05em);text-transform:uppercase}.accent-md{font-family:var(--wcss-accent-md-family, "Good OT"),var(--wcss-accent-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-md-weight, 500);line-height:var(--wcss-accent-md-line-height, 1.3);font-size:var(--wcss-accent-md-font-size, clamp(1.375rem, 1.8333333333vw, 1.5rem));letter-spacing:var(--wcss-accent-md-letter-spacing, 0.05em);text-transform:uppercase}.accent-sm{font-family:var(--wcss-accent-sm-family, "Good OT"),var(--wcss-accent-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-sm-weight, 500);line-height:var(--wcss-accent-sm-line-height, 1.3);font-size:var(--wcss-accent-sm-font-size, clamp(1.125rem, 1.5vw, 1.25rem));letter-spacing:var(--wcss-accent-sm-letter-spacing, 0.05em);text-transform:uppercase}.accent-xs{font-family:var(--wcss-accent-xs-family, "Good OT"),var(--wcss-accent-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-xs-weight, 500);line-height:var(--wcss-accent-xs-line-height, 1.3);font-size:var(--wcss-accent-xs-font-size, clamp(1rem, 1.3333333333vw, 1rem));letter-spacing:var(--wcss-accent-xs-letter-spacing, 0.1em);text-transform:uppercase}.accent-2xs{font-family:var(--wcss-accent-2xs-family, "Good OT"),var(--wcss-accent-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-2xs-weight, 450);line-height:var(--wcss-accent-2xs-line-height, 1.3);font-size:var(--wcss-accent-2xs-font-size, clamp(0.875rem, 1.1666666667vw, 0.875rem));letter-spacing:var(--wcss-accent-2xs-letter-spacing, 0.1em);text-transform:uppercase}:host{position:relative;display:block;width:calc(100% - var(--ds-size-200, 1rem) - var(--ds-size-200, 1rem));margin:0 var(--ds-size-200, 1rem)}@media screen and (min-width: 576px){:host{width:336px;padding:var(--ds-size-200, 1rem)}}@media screen and (min-width: 576px){:host(:not(:last-of-type)):after{position:absolute;top:var(--ds-size-200, 1rem);right:calc(-1*var(--ds-size-200, 1rem));height:calc(100% - var(--ds-size-200, 1rem) - var(--ds-size-200, 1rem));display:block;width:1px;content:""}}.header{display:flex;height:var(--ds-size-500, 2.5rem);margin-bottom:var(--ds-size-150, 0.75rem);align-items:center;flex-direction:row;text-align:center}.headerTitle{display:flex;align-items:center;flex:1;flex-direction:row;justify-content:center}.headerTitle div:first-child{margin-right:var(--ds-size-100, 0.5rem)}.calendarNavBtn{position:relative;display:flex;width:var(--ds-size-500, 2.5rem);height:var(--ds-size-500, 2.5rem);align-items:center;justify-content:center;border-width:1px;border-style:solid;border-radius:50%;cursor:pointer}.table{width:100%;border-collapse:collapse}.thead{margin-bottom:var(--ds-size-100, 0.5rem)}.th{display:flex;flex:1;align-items:center;justify-content:center}.th abbr{text-decoration:none}.tbody{width:100%;transition:all 0ms;transform:translateX(0)}@media screen and (min-width: 576px){.tbody{height:384px}}.td{flex:1;margin:0;padding:0}.tr{display:flex;flex-direction:row;width:100%}`;
|
|
14559
|
+
|
|
14560
|
+
var colorCss$6$1 = i$5`:focus:not(:focus-visible){outline:3px solid transparent}:host{background-color:var(--ds-auro-calendar-month-container-color)}@media screen and (min-width: 576px){:host(:not(:last-of-type)):after{background-color:var(--ds-auro-calendar-month-divider-color)}}.header{color:var(--ds-auro-calendar-month-header-color)}`;
|
|
14561
|
+
|
|
14562
|
+
/******************************************************************************
|
|
14563
|
+
Copyright (c) Microsoft Corporation.
|
|
14564
|
+
|
|
14565
|
+
Permission to use, copy, modify, and/or distribute this software for any
|
|
14566
|
+
purpose with or without fee is hereby granted.
|
|
14567
|
+
|
|
14568
|
+
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
14569
|
+
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
14570
|
+
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
14571
|
+
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
14572
|
+
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
14573
|
+
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
14574
|
+
PERFORMANCE OF THIS SOFTWARE.
|
|
14575
|
+
***************************************************************************** */
|
|
14576
|
+
/* global Reflect, Promise, SuppressedError, Symbol, Iterator */
|
|
14577
|
+
|
|
14578
|
+
|
|
14579
|
+
function __decorate(decorators, target, key, desc) {
|
|
14580
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
14581
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
14582
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
14583
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
14584
|
+
}
|
|
14585
|
+
|
|
14586
|
+
typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
|
|
14587
|
+
var e = new Error(message);
|
|
14588
|
+
return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
|
|
14589
|
+
};
|
|
14590
|
+
|
|
14592
14591
|
class RangeDatepickerCell extends i$3 {
|
|
14593
14592
|
constructor() {
|
|
14594
14593
|
super(...arguments);
|
|
@@ -15311,20 +15310,25 @@ __decorate([n$5({ type: Array })], RangeDatepickerCalendar.prototype, "dayNamesO
|
|
|
15311
15310
|
__decorate([n$5({ type: Array })], RangeDatepickerCalendar.prototype, "daysOfMonth", void 0);
|
|
15312
15311
|
AuroLibraryRuntimeUtils$5$1.prototype.registerComponent('wc-range-datepicker-calendar', RangeDatepickerCalendar);
|
|
15313
15312
|
|
|
15314
|
-
var styleCss$5$1 = i$5`.body-default{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-default-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-default-font-size, 1rem);line-height:var(--wcss-body-default-line-height, 1.5rem)}.body-default-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-default-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-default-emphasized-font-size, 1rem);line-height:var(--wcss-body-default-emphasized-line-height, 1.5rem)}.body-lg{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-lg-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-lg-font-size, 1.125rem);line-height:var(--wcss-body-lg-line-height, 1.625rem)}.body-lg-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-lg-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-lg-emphasized-font-size, 1.125rem);line-height:var(--wcss-body-lg-emphasized-line-height, 1.625rem)}.body-sm{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-sm-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-sm-font-size, 0.875rem);line-height:var(--wcss-body-sm-line-height, 1.25rem)}.body-sm-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-sm-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-sm-emphasized-font-size, 0.875rem);line-height:var(--wcss-body-sm-emphasized-line-height, 1.25rem)}.body-xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-xs-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-xs-font-size, 0.75rem);line-height:var(--wcss-body-xs-line-height, 1rem)}.body-xs-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-xs-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-xs-emphasized-font-size, 0.75rem);line-height:var(--wcss-body-xs-emphasized-line-height, 1rem)}.body-2xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-2xs-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-2xs-font-size, 0.625rem);line-height:var(--wcss-body-2xs-line-height, 0.875rem)}.body-2xs-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-2xs-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-2xs-emphasized-font-size, 0.625rem);line-height:var(--wcss-body-2xs-emphasized-line-height, 0.875rem)}.display-2xl{font-family:var(--wcss-display-2xl-family, "AS Circular"),var(--wcss-display-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-2xl-weight, 300);line-height:var(--wcss-display-2xl-line-height, 1.3);font-size:var(--wcss-display-2xl-font-size, clamp(3.5rem, 6vw, 5.375rem));letter-spacing:var(--wcss-display-2xl-letter-spacing, 0)}.display-xl{font-family:var(--wcss-display-xl-family, "AS Circular"),var(--wcss-display-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-xl-weight, 300);line-height:var(--wcss-display-xl-line-height, 1.3);font-size:var(--wcss-display-xl-font-size, clamp(3rem, 5.3333333333vw, 4.5rem));letter-spacing:var(--wcss-display-xl-letter-spacing, 0)}.display-lg{font-family:var(--wcss-display-lg-family, "AS Circular"),var(--wcss-display-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-lg-weight, 300);line-height:var(--wcss-display-lg-line-height, 1.3);font-size:var(--wcss-display-lg-font-size, clamp(2.75rem, 4.6666666667vw, 4rem));letter-spacing:var(--wcss-display-lg-letter-spacing, 0)}.display-md{font-family:var(--wcss-display-md-family, "AS Circular"),var(--wcss-display-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-md-weight, 300);line-height:var(--wcss-display-md-line-height, 1.3);font-size:var(--wcss-display-md-font-size, clamp(2.5rem, 4vw, 3.5rem));letter-spacing:var(--wcss-display-md-letter-spacing, 0)}.display-sm{font-family:var(--wcss-display-sm-family, "AS Circular"),var(--wcss-display-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-sm-weight, 300);line-height:var(--wcss-display-sm-line-height, 1.3);font-size:var(--wcss-display-sm-font-size, clamp(2rem, 3.6666666667vw, 3rem));letter-spacing:var(--wcss-display-sm-letter-spacing, 0)}.display-xs{font-family:var(--wcss-display-xs-family, "AS Circular"),var(--wcss-display-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-xs-weight, 300);line-height:var(--wcss-display-xs-line-height, 1.3);font-size:var(--wcss-display-xs-font-size, clamp(1.75rem, 3vw, 2.375rem));letter-spacing:var(--wcss-display-xs-letter-spacing, 0)}.heading-xl{font-family:var(--wcss-heading-xl-family, "AS Circular"),var(--wcss-heading-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-xl-weight, 300);line-height:var(--wcss-heading-xl-line-height, 1.3);font-size:var(--wcss-heading-xl-font-size, clamp(2rem, 3vw, 2.5rem));letter-spacing:var(--wcss-heading-xl-letter-spacing, 0)}.heading-lg{font-family:var(--wcss-heading-lg-family, "AS Circular"),var(--wcss-heading-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-lg-weight, 300);line-height:var(--wcss-heading-lg-line-height, 1.3);font-size:var(--wcss-heading-lg-font-size, clamp(1.75rem, 2.6666666667vw, 2.25rem));letter-spacing:var(--wcss-heading-lg-letter-spacing, 0)}.heading-md{font-family:var(--wcss-heading-md-family, "AS Circular"),var(--wcss-heading-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-md-weight, 300);line-height:var(--wcss-heading-md-line-height, 1.3);font-size:var(--wcss-heading-md-font-size, clamp(1.625rem, 2.3333333333vw, 1.75rem));letter-spacing:var(--wcss-heading-md-letter-spacing, 0)}.heading-sm{font-family:var(--wcss-heading-sm-family, "AS Circular"),var(--wcss-heading-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-sm-weight, 300);line-height:var(--wcss-heading-sm-line-height, 1.3);font-size:var(--wcss-heading-sm-font-size, clamp(1.375rem, 2vw, 1.5rem));letter-spacing:var(--wcss-heading-sm-letter-spacing, 0)}.heading-xs{font-family:var(--wcss-heading-xs-family, "AS Circular"),var(--wcss-heading-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-xs-weight, 300);line-height:var(--wcss-heading-xs-line-height, 1.3);font-size:var(--wcss-heading-xs-font-size, clamp(1.25rem, 1.6666666667vw, 1.25rem));letter-spacing:var(--wcss-heading-xs-letter-spacing, 0)}.heading-2xs{font-family:var(--wcss-heading-2xs-family, "AS Circular"),var(--wcss-heading-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-2xs-weight, 300);line-height:var(--wcss-heading-2xs-line-height, 1.3);font-size:var(--wcss-heading-2xs-font-size, clamp(1.125rem, 1.5vw, 1.125rem));letter-spacing:var(--wcss-heading-2xs-letter-spacing, 0)}.accent-2xl{font-family:var(--wcss-accent-2xl-family, "Good OT"),var(--wcss-accent-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-2xl-weight, 450);line-height:var(--wcss-accent-2xl-line-height, 1);font-size:var(--wcss-accent-2xl-font-size, clamp(2rem, 3.1666666667vw, 2.375rem));letter-spacing:var(--wcss-accent-2xl-letter-spacing, 0.05em);text-transform:uppercase}.accent-xl{font-family:var(--wcss-accent-xl-family, "Good OT"),var(--wcss-accent-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-xl-weight, 450);line-height:var(--wcss-accent-xl-line-height, 1.3);font-size:var(--wcss-accent-xl-font-size, clamp(1.625rem, 2.3333333333vw, 2rem));letter-spacing:var(--wcss-accent-xl-letter-spacing, 0.05em);text-transform:uppercase}.accent-lg{font-family:var(--wcss-accent-lg-family, "Good OT"),var(--wcss-accent-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-lg-weight, 450);line-height:var(--wcss-accent-lg-line-height, 1.3);font-size:var(--wcss-accent-lg-font-size, clamp(1.5rem, 2.1666666667vw, 1.75rem));letter-spacing:var(--wcss-accent-lg-letter-spacing, 0.05em);text-transform:uppercase}.accent-md{font-family:var(--wcss-accent-md-family, "Good OT"),var(--wcss-accent-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-md-weight, 500);line-height:var(--wcss-accent-md-line-height, 1.3);font-size:var(--wcss-accent-md-font-size, clamp(1.375rem, 1.8333333333vw, 1.5rem));letter-spacing:var(--wcss-accent-md-letter-spacing, 0.05em);text-transform:uppercase}.accent-sm{font-family:var(--wcss-accent-sm-family, "Good OT"),var(--wcss-accent-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-sm-weight, 500);line-height:var(--wcss-accent-sm-line-height, 1.3);font-size:var(--wcss-accent-sm-font-size, clamp(1.125rem, 1.5vw, 1.25rem));letter-spacing:var(--wcss-accent-sm-letter-spacing, 0.05em);text-transform:uppercase}.accent-xs{font-family:var(--wcss-accent-xs-family, "Good OT"),var(--wcss-accent-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-xs-weight, 500);line-height:var(--wcss-accent-xs-line-height, 1.3);font-size:var(--wcss-accent-xs-font-size, clamp(1rem, 1.3333333333vw, 1rem));letter-spacing:var(--wcss-accent-xs-letter-spacing, 0.1em);text-transform:uppercase}.accent-2xs{font-family:var(--wcss-accent-2xs-family, "Good OT"),var(--wcss-accent-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-2xs-weight, 450);line-height:var(--wcss-accent-2xs-line-height, 1.3);font-size:var(--wcss-accent-2xs-font-size, clamp(0.875rem, 1.1666666667vw, 0.875rem));letter-spacing:var(--wcss-accent-2xs-letter-spacing, 0.1em);text-transform:uppercase}@media screen and (max-width: 576px){:host{display:flex;justify-content:center}}.day{position:relative;width:var(--ds-size-500, 2.5rem);height:calc(var(--ds-size-700, 3.5rem) - 2px);padding:0;border-width:1px;border-style:solid;border-radius:var(--ds-size-300, 1.5rem);cursor:pointer;user-select:none}.day.disabled{cursor:default !important;pointer-events:none}.day.reference{box-shadow:inset 0 0 0 2px var(--ds-advanced-color-shared-background, #ffffff)}.day.inRange::before{position:absolute;z-index:-1;top:50%;left:50%;display:block;width:14.2857142857vw;height:var(--ds-size-600, 3rem);content:"";transform:translate(-50%, -50%)}@media screen and (min-width: 576px){.day.inRange::before{width:var(--ds-size-600, 3rem)}}.day.rangeDepartDate::before{position:absolute;z-index:-1;top:50%;left:50%;display:block;width:14.2857142857vw;height:var(--ds-size-600, 3rem);content:"";transform:translate(-50%, -50%);width:7.1428571429vw;transform:translate(0%, -50%)}@media screen and (min-width: 576px){.day.rangeDepartDate::before{width:calc(var(--ds-size-600, 3rem)/2)}}.day.rangeReturnDate::before,.day.lastHoveredDate::before{position:absolute;z-index:-1;top:50%;left:50%;display:block;width:14.2857142857vw;height:var(--ds-size-600, 3rem);content:"";transform:translate(-50%, -50%);width:7.1428571429vw;transform:translate(-100%, -50%)}@media screen and (min-width: 576px){.day.rangeReturnDate::before,.day.lastHoveredDate::before{width:calc(var(--ds-size-600, 3rem)/2)}}.dateSlot{display:flex;flex-direction:column}::slotted([slot^=date_]){position:absolute;top:80%;left:50%;width:100%;white-space:nowrap;transform:translate(-50%, -50%)}::slotted(auro-icon){max-height:24px;max-width:24px}:host([renderForDateSlot]) .buttonWrapper{position:relative;width:100%;top:5px}:host([renderForDateSlot]) .currentDayMarker{position:relative;padding-bottom:5px;top:-8px}@media screen and (min-width: 576px){.day{width:var(--ds-size-600, 3rem);height:var(--ds-size-800, 4rem)}.day:hover{cursor:pointer}}`;
|
|
15313
|
+
var styleCss$5$1 = i$5`.body-default{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-default-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-default-font-size, 1rem);line-height:var(--wcss-body-default-line-height, 1.5rem)}.body-default-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-default-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-default-emphasized-font-size, 1rem);line-height:var(--wcss-body-default-emphasized-line-height, 1.5rem)}.body-lg{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-lg-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-lg-font-size, 1.125rem);line-height:var(--wcss-body-lg-line-height, 1.625rem)}.body-lg-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-lg-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-lg-emphasized-font-size, 1.125rem);line-height:var(--wcss-body-lg-emphasized-line-height, 1.625rem)}.body-sm{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-sm-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-sm-font-size, 0.875rem);line-height:var(--wcss-body-sm-line-height, 1.25rem)}.body-sm-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-sm-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-sm-emphasized-font-size, 0.875rem);line-height:var(--wcss-body-sm-emphasized-line-height, 1.25rem)}.body-xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-xs-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-xs-font-size, 0.75rem);line-height:var(--wcss-body-xs-line-height, 1rem)}.body-xs-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-xs-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-xs-emphasized-font-size, 0.75rem);line-height:var(--wcss-body-xs-emphasized-line-height, 1rem)}.body-2xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-2xs-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-2xs-font-size, 0.625rem);line-height:var(--wcss-body-2xs-line-height, 0.875rem)}.body-2xs-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-2xs-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-2xs-emphasized-font-size, 0.625rem);line-height:var(--wcss-body-2xs-emphasized-line-height, 0.875rem)}.display-2xl{font-family:var(--wcss-display-2xl-family, "AS Circular"),var(--wcss-display-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-2xl-weight, 300);line-height:var(--wcss-display-2xl-line-height, 1.3);font-size:var(--wcss-display-2xl-font-size, clamp(3.5rem, 6vw, 5.375rem));letter-spacing:var(--wcss-display-2xl-letter-spacing, 0)}.display-xl{font-family:var(--wcss-display-xl-family, "AS Circular"),var(--wcss-display-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-xl-weight, 300);line-height:var(--wcss-display-xl-line-height, 1.3);font-size:var(--wcss-display-xl-font-size, clamp(3rem, 5.3333333333vw, 4.5rem));letter-spacing:var(--wcss-display-xl-letter-spacing, 0)}.display-lg{font-family:var(--wcss-display-lg-family, "AS Circular"),var(--wcss-display-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-lg-weight, 300);line-height:var(--wcss-display-lg-line-height, 1.3);font-size:var(--wcss-display-lg-font-size, clamp(2.75rem, 4.6666666667vw, 4rem));letter-spacing:var(--wcss-display-lg-letter-spacing, 0)}.display-md{font-family:var(--wcss-display-md-family, "AS Circular"),var(--wcss-display-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-md-weight, 300);line-height:var(--wcss-display-md-line-height, 1.3);font-size:var(--wcss-display-md-font-size, clamp(2.5rem, 4vw, 3.5rem));letter-spacing:var(--wcss-display-md-letter-spacing, 0)}.display-sm{font-family:var(--wcss-display-sm-family, "AS Circular"),var(--wcss-display-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-sm-weight, 300);line-height:var(--wcss-display-sm-line-height, 1.3);font-size:var(--wcss-display-sm-font-size, clamp(2rem, 3.6666666667vw, 3rem));letter-spacing:var(--wcss-display-sm-letter-spacing, 0)}.display-xs{font-family:var(--wcss-display-xs-family, "AS Circular"),var(--wcss-display-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-xs-weight, 300);line-height:var(--wcss-display-xs-line-height, 1.3);font-size:var(--wcss-display-xs-font-size, clamp(1.75rem, 3vw, 2.375rem));letter-spacing:var(--wcss-display-xs-letter-spacing, 0)}.heading-xl{font-family:var(--wcss-heading-xl-family, "AS Circular"),var(--wcss-heading-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-xl-weight, 300);line-height:var(--wcss-heading-xl-line-height, 1.3);font-size:var(--wcss-heading-xl-font-size, clamp(2rem, 3vw, 2.5rem));letter-spacing:var(--wcss-heading-xl-letter-spacing, 0)}.heading-lg{font-family:var(--wcss-heading-lg-family, "AS Circular"),var(--wcss-heading-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-lg-weight, 300);line-height:var(--wcss-heading-lg-line-height, 1.3);font-size:var(--wcss-heading-lg-font-size, clamp(1.75rem, 2.6666666667vw, 2.25rem));letter-spacing:var(--wcss-heading-lg-letter-spacing, 0)}.heading-md{font-family:var(--wcss-heading-md-family, "AS Circular"),var(--wcss-heading-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-md-weight, 300);line-height:var(--wcss-heading-md-line-height, 1.3);font-size:var(--wcss-heading-md-font-size, clamp(1.625rem, 2.3333333333vw, 1.75rem));letter-spacing:var(--wcss-heading-md-letter-spacing, 0)}.heading-sm{font-family:var(--wcss-heading-sm-family, "AS Circular"),var(--wcss-heading-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-sm-weight, 300);line-height:var(--wcss-heading-sm-line-height, 1.3);font-size:var(--wcss-heading-sm-font-size, clamp(1.375rem, 2vw, 1.5rem));letter-spacing:var(--wcss-heading-sm-letter-spacing, 0)}.heading-xs{font-family:var(--wcss-heading-xs-family, "AS Circular"),var(--wcss-heading-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-xs-weight, 300);line-height:var(--wcss-heading-xs-line-height, 1.3);font-size:var(--wcss-heading-xs-font-size, clamp(1.25rem, 1.6666666667vw, 1.25rem));letter-spacing:var(--wcss-heading-xs-letter-spacing, 0)}.heading-2xs{font-family:var(--wcss-heading-2xs-family, "AS Circular"),var(--wcss-heading-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-2xs-weight, 300);line-height:var(--wcss-heading-2xs-line-height, 1.3);font-size:var(--wcss-heading-2xs-font-size, clamp(1.125rem, 1.5vw, 1.125rem));letter-spacing:var(--wcss-heading-2xs-letter-spacing, 0)}.accent-2xl{font-family:var(--wcss-accent-2xl-family, "Good OT"),var(--wcss-accent-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-2xl-weight, 450);line-height:var(--wcss-accent-2xl-line-height, 1);font-size:var(--wcss-accent-2xl-font-size, clamp(2rem, 3.1666666667vw, 2.375rem));letter-spacing:var(--wcss-accent-2xl-letter-spacing, 0.05em);text-transform:uppercase}.accent-xl{font-family:var(--wcss-accent-xl-family, "Good OT"),var(--wcss-accent-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-xl-weight, 450);line-height:var(--wcss-accent-xl-line-height, 1.3);font-size:var(--wcss-accent-xl-font-size, clamp(1.625rem, 2.3333333333vw, 2rem));letter-spacing:var(--wcss-accent-xl-letter-spacing, 0.05em);text-transform:uppercase}.accent-lg{font-family:var(--wcss-accent-lg-family, "Good OT"),var(--wcss-accent-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-lg-weight, 450);line-height:var(--wcss-accent-lg-line-height, 1.3);font-size:var(--wcss-accent-lg-font-size, clamp(1.5rem, 2.1666666667vw, 1.75rem));letter-spacing:var(--wcss-accent-lg-letter-spacing, 0.05em);text-transform:uppercase}.accent-md{font-family:var(--wcss-accent-md-family, "Good OT"),var(--wcss-accent-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-md-weight, 500);line-height:var(--wcss-accent-md-line-height, 1.3);font-size:var(--wcss-accent-md-font-size, clamp(1.375rem, 1.8333333333vw, 1.5rem));letter-spacing:var(--wcss-accent-md-letter-spacing, 0.05em);text-transform:uppercase}.accent-sm{font-family:var(--wcss-accent-sm-family, "Good OT"),var(--wcss-accent-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-sm-weight, 500);line-height:var(--wcss-accent-sm-line-height, 1.3);font-size:var(--wcss-accent-sm-font-size, clamp(1.125rem, 1.5vw, 1.25rem));letter-spacing:var(--wcss-accent-sm-letter-spacing, 0.05em);text-transform:uppercase}.accent-xs{font-family:var(--wcss-accent-xs-family, "Good OT"),var(--wcss-accent-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-xs-weight, 500);line-height:var(--wcss-accent-xs-line-height, 1.3);font-size:var(--wcss-accent-xs-font-size, clamp(1rem, 1.3333333333vw, 1rem));letter-spacing:var(--wcss-accent-xs-letter-spacing, 0.1em);text-transform:uppercase}.accent-2xs{font-family:var(--wcss-accent-2xs-family, "Good OT"),var(--wcss-accent-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-2xs-weight, 450);line-height:var(--wcss-accent-2xs-line-height, 1.3);font-size:var(--wcss-accent-2xs-font-size, clamp(0.875rem, 1.1666666667vw, 0.875rem));letter-spacing:var(--wcss-accent-2xs-letter-spacing, 0.1em);text-transform:uppercase}@media screen and (max-width: 576px){:host{display:flex;justify-content:center}}.day{position:relative;width:var(--ds-size-500, 2.5rem);height:calc(var(--ds-size-700, 3.5rem) - 2px);padding:0;border-width:1px;border-style:solid;border-radius:var(--ds-size-300, 1.5rem);cursor:pointer;user-select:none}.day:focus-visible,.day.visualFocus{outline:2px solid var(--ds-basic-color-border-default, #959595);outline-offset:2px}.day.disabled{cursor:default !important;pointer-events:none}.day.blackout{cursor:default}.day.reference{box-shadow:inset 0 0 0 2px var(--ds-advanced-color-shared-background, #ffffff)}.day.inRange::before{position:absolute;z-index:-1;top:50%;left:50%;display:block;width:14.2857142857vw;height:var(--ds-size-600, 3rem);content:"";transform:translate(-50%, -50%)}@media screen and (min-width: 576px){.day.inRange::before{width:var(--ds-size-600, 3rem)}}.day.rangeDepartDate::before{position:absolute;z-index:-1;top:50%;left:50%;display:block;width:14.2857142857vw;height:var(--ds-size-600, 3rem);content:"";transform:translate(-50%, -50%);width:7.1428571429vw;transform:translate(0%, -50%)}@media screen and (min-width: 576px){.day.rangeDepartDate::before{width:calc(var(--ds-size-600, 3rem)/2)}}.day.rangeReturnDate::before,.day.lastHoveredDate::before{position:absolute;z-index:-1;top:50%;left:50%;display:block;width:14.2857142857vw;height:var(--ds-size-600, 3rem);content:"";transform:translate(-50%, -50%);width:7.1428571429vw;transform:translate(-100%, -50%)}@media screen and (min-width: 576px){.day.rangeReturnDate::before,.day.lastHoveredDate::before{width:calc(var(--ds-size-600, 3rem)/2)}}.dateSlot{display:flex;flex-direction:column}.srOnly{position:absolute;overflow:hidden;width:1px;height:1px;padding:0;border:0;clip:rect(0, 0, 0, 0);white-space:nowrap}::slotted([slot^=date_]){position:absolute;top:80%;left:50%;width:100%;white-space:nowrap;transform:translate(-50%, -50%)}::slotted(auro-icon){max-height:24px;max-width:24px}:host([renderForDateSlot]) .buttonWrapper{position:relative;width:100%;top:5px}:host([renderForDateSlot]) .currentDayMarker{position:relative;padding-bottom:5px;top:-8px}@media screen and (min-width: 576px){.day{width:var(--ds-size-600, 3rem);height:var(--ds-size-800, 4rem)}.day:hover{cursor:pointer}}`;
|
|
15315
15314
|
|
|
15316
|
-
var colorCss$5$1 = i$5`:host ::slotted([slot^=date_]){color:var(--ds-auro-calendar-cell-price-text-color)}:host ::slotted([slot^=date_][highlight]){--ds-auro-calendar-cell-price-text-color: var(--ds-basic-color-status-success, #447a1f)}:host .day{border-color:var(--ds-auro-calendar-cell-border-color);background-color:var(--ds-auro-calendar-cell-container-color);color:var(--ds-auro-calendar-cell-text-color)}:host .day.selected{--ds-auro-calendar-cell-container-color: var(--ds-advanced-color-state-selected, #01426a);--ds-auro-calendar-cell-text-color: var(--ds-basic-color-texticon-inverse, #ffffff);--ds-auro-calendar-cell-price-text-color: var(--ds-basic-color-texticon-inverse, #ffffff)}:host .day.selected ::slotted([slot^=date_][highlight]){--ds-auro-calendar-cell-price-text-color: var(--ds-basic-color-status-success-subtle, #d6eac7)}:host .day.selected:hover{--ds-auro-calendar-cell-container-color: var(--ds-advanced-color-state-selected-hover, #00274a);--ds-auro-calendar-cell-text-color: var(--ds-basic-color-texticon-inverse, #ffffff)}:host .day.reference{--ds-auro-calendar-cell-border-color: var(--ds-basic-color-border-default, #959595)}:host .day.reference:not(.selected):not(.disabled){--ds-auro-calendar-cell-text-color: var(--ds-basic-color-texticon-muted, #676767)}:host .day.reference.selected{--ds-auro-calendar-cell-text-color: var(--ds-basic-color-texticon-inverse, #ffffff)}:host .day:hover{--ds-auro-calendar-cell-container-color: var(--ds-advanced-color-state-background-hover, #f2f2f2);--ds-auro-calendar-cell-text-color: var(--ds-basic-color-texticon-default, #2a2a2a)}:host .day.disabled{--ds-auro-calendar-cell-container-color: transparent;--ds-auro-calendar-cell-text-color: var(--ds-basic-color-texticon-disabled, #d0d0d0);--ds-auro-calendar-cell-price-text-color: var(--ds-basic-color-texticon-disabled, #d0d0d0)}:host .day.inRange:before,:host .day.rangeDepartDate:before,:host .day.rangeReturnDate:before,:host .day.lastHoveredDate:before{background-color:var(--ds-auro-calendar-cell-in-range-color)}:host .day.sameDateTrip:before{--ds-auro-calendar-cell-in-range-color: transparent}`;
|
|
15315
|
+
var colorCss$5$1 = i$5`:host ::slotted([slot^=date_]){color:var(--ds-auro-calendar-cell-price-text-color)}:host ::slotted([slot^=date_][highlight]){--ds-auro-calendar-cell-price-text-color: var(--ds-basic-color-status-success, #447a1f)}:host .day{border-color:var(--ds-auro-calendar-cell-border-color);background-color:var(--ds-auro-calendar-cell-container-color);color:var(--ds-auro-calendar-cell-text-color)}:host .day:focus-visible:not(.selected),:host .day.visualFocus:not(.selected){--ds-auro-calendar-cell-container-color: var(--ds-auro-calendar-cell-in-range-color)}:host .day.selected{--ds-auro-calendar-cell-container-color: var(--ds-advanced-color-state-selected, #01426a);--ds-auro-calendar-cell-text-color: var(--ds-basic-color-texticon-inverse, #ffffff);--ds-auro-calendar-cell-price-text-color: var(--ds-basic-color-texticon-inverse, #ffffff)}:host .day.selected ::slotted([slot^=date_][highlight]){--ds-auro-calendar-cell-price-text-color: var(--ds-basic-color-status-success-subtle, #d6eac7)}:host .day.selected:hover{--ds-auro-calendar-cell-container-color: var(--ds-advanced-color-state-selected-hover, #00274a);--ds-auro-calendar-cell-text-color: var(--ds-basic-color-texticon-inverse, #ffffff)}:host .day.reference{--ds-auro-calendar-cell-border-color: var(--ds-basic-color-border-default, #959595)}:host .day.reference:not(.selected):not(.disabled){--ds-auro-calendar-cell-text-color: var(--ds-basic-color-texticon-muted, #676767)}:host .day.reference.selected{--ds-auro-calendar-cell-text-color: var(--ds-basic-color-texticon-inverse, #ffffff)}:host .day:hover{--ds-auro-calendar-cell-container-color: var(--ds-advanced-color-state-background-hover, #f2f2f2);--ds-auro-calendar-cell-text-color: var(--ds-basic-color-texticon-default, #2a2a2a)}:host .day.disabled{--ds-auro-calendar-cell-container-color: transparent;--ds-auro-calendar-cell-text-color: var(--ds-basic-color-texticon-disabled, #d0d0d0);--ds-auro-calendar-cell-price-text-color: var(--ds-basic-color-texticon-disabled, #d0d0d0)}:host .day.blackout{--ds-auro-calendar-cell-container-color: transparent;--ds-auro-calendar-cell-text-color: var(--ds-basic-color-texticon-disabled, #d0d0d0);--ds-auro-calendar-cell-price-text-color: var(--ds-basic-color-texticon-disabled, #d0d0d0)}:host .day.inRange:before,:host .day.rangeDepartDate:before,:host .day.rangeReturnDate:before,:host .day.lastHoveredDate:before{background-color:var(--ds-auro-calendar-cell-in-range-color)}:host .day.sameDateTrip:before{--ds-auro-calendar-cell-in-range-color: transparent}`;
|
|
15317
15316
|
|
|
15318
|
-
let s$3 = class s{registerComponent(e,t){customElements.get(e)||customElements.define(e,class extends t{});}closestElement(e,t=this,i=(t,s=t&&t.closest(e))=>t&&t!==document&&t!==window?s||i(t.getRootNode().host):null){return i(t)}handleComponentTagRename(e,t){const i=t.toLowerCase();e.tagName.toLowerCase()!==i&&e.setAttribute(i,true);}elementMatch(e,t){const i=t.toLowerCase();return e.tagName.toLowerCase()===i||e.hasAttribute(i)}getSlotText(e,t){const i=e.shadowRoot?.querySelector(`slot[name="${t}"]`);return (i?.assignedNodes({flatten:true})||[]).map(e=>e.textContent?.trim()).join(" ").trim()||null}};var r$1$1="top",o="bottom",n$1$1="right",a="left",l$3$1="auto",c$3$1=[r$1$1,o,n$1$1,a],p$6$1="start",d$3$1="end",f$6$1="viewport",h$3$1="popper",m$6$1=c$3$1.reduce(function(e,t){return e.concat([t+"-"+p$6$1,t+"-"+d$3$1])},[]),u$6$1=[].concat(c$3$1,[l$3$1]).reduce(function(e,t){return e.concat([t,t+"-"+p$6$1,t+"-"+d$3$1])},[]),g$6$1=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"];function v$3$1(e){return e?(e.nodeName||"").toLowerCase():null}function y$6$1(e){if(null==e)return window;if("[object Window]"!==e.toString()){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function w$6$1(e){return e instanceof y$6$1(e).Element||e instanceof Element}function b$3$1(e){return e instanceof y$6$1(e).HTMLElement||e instanceof HTMLElement}function x$3$1(e){return "undefined"!=typeof ShadowRoot&&(e instanceof y$6$1(e).ShadowRoot||e instanceof ShadowRoot)}var S$3$1={name:"applyStyles",enabled:true,phase:"write",fn:function(e){var t=e.state;Object.keys(t.elements).forEach(function(e){var i=t.styles[e]||{},s=t.attributes[e]||{},r=t.elements[e];b$3$1(r)&&v$3$1(r)&&(Object.assign(r.style,i),Object.keys(s).forEach(function(e){var t=s[e];false===t?r.removeAttribute(e):r.setAttribute(e,true===t?"":t);}));});},effect:function(e){var t=e.state,i={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,i.popper),t.styles=i,t.elements.arrow&&Object.assign(t.elements.arrow.style,i.arrow),function(){Object.keys(t.elements).forEach(function(e){var s=t.elements[e],r=t.attributes[e]||{},o=Object.keys(t.styles.hasOwnProperty(e)?t.styles[e]:i[e]).reduce(function(e,t){return e[t]="",e},{});b$3$1(s)&&v$3$1(s)&&(Object.assign(s.style,o),Object.keys(r).forEach(function(e){s.removeAttribute(e);}));});}},requires:["computeStyles"]};function _$4$1(e){return e.split("-")[0]}var O=Math.max,k$6$1=Math.min,A$3$1=Math.round;function z$6$1(){var e=navigator.userAgentData;return null!=e&&e.brands&&Array.isArray(e.brands)?e.brands.map(function(e){return e.brand+"/"+e.version}).join(" "):navigator.userAgent}function E(){return !/^((?!chrome|android).)*safari/i.test(z$6$1())}function M$6$1(e,t,i){ void 0===t&&(t=false),void 0===i&&(i=false);var s=e.getBoundingClientRect(),r=1,o=1;t&&b$3$1(e)&&(r=e.offsetWidth>0&&A$3$1(s.width)/e.offsetWidth||1,o=e.offsetHeight>0&&A$3$1(s.height)/e.offsetHeight||1);var n=(w$6$1(e)?y$6$1(e):window).visualViewport,a=!E()&&i,l=(s.left+(a&&n?n.offsetLeft:0))/r,c=(s.top+(a&&n?n.offsetTop:0))/o,p=s.width/r,d=s.height/o;return {width:p,height:d,top:c,right:l+p,bottom:c+d,left:l,x:l,y:c}}function T$3$1(e){var t=M$6$1(e),i=e.offsetWidth,s=e.offsetHeight;return Math.abs(t.width-i)<=1&&(i=t.width),Math.abs(t.height-s)<=1&&(s=t.height),{x:e.offsetLeft,y:e.offsetTop,width:i,height:s}}function B$3$1(e,t){var i=t.getRootNode&&t.getRootNode();if(e.contains(t))return true;if(i&&x$3$1(i)){var s=t;do{if(s&&e.isSameNode(s))return true;s=s.parentNode||s.host;}while(s)}return false}function L(e){return y$6$1(e).getComputedStyle(e)}function H$3$1(e){return ["table","td","th"].indexOf(v$3$1(e))>=0}function C$3$1(e){return ((w$6$1(e)?e.ownerDocument:e.document)||window.document).documentElement}function R$3$1(e){return "html"===v$3$1(e)?e:e.assignedSlot||e.parentNode||(x$3$1(e)?e.host:null)||C$3$1(e)}function j(e){return b$3$1(e)&&"fixed"!==L(e).position?e.offsetParent:null}function N$3$1(e){for(var t=y$6$1(e),i=j(e);i&&H$3$1(i)&&"static"===L(i).position;)i=j(i);return i&&("html"===v$3$1(i)||"body"===v$3$1(i)&&"static"===L(i).position)?t:i||function(e){var t=/firefox/i.test(z$6$1());if(/Trident/i.test(z$6$1())&&b$3$1(e)&&"fixed"===L(e).position)return null;var i=R$3$1(e);for(x$3$1(i)&&(i=i.host);b$3$1(i)&&["html","body"].indexOf(v$3$1(i))<0;){var s=L(i);if("none"!==s.transform||"none"!==s.perspective||"paint"===s.contain||-1!==["transform","perspective"].indexOf(s.willChange)||t&&"filter"===s.willChange||t&&s.filter&&"none"!==s.filter)return i;i=i.parentNode;}return null}(e)||t}function P(e){return ["top","bottom"].indexOf(e)>=0?"x":"y"}function D(e,t,i){return O(e,k$6$1(t,i))}function I(e){return Object.assign({},{top:0,right:0,bottom:0,left:0},e)}function F(e,t){return t.reduce(function(t,i){return t[i]=e,t},{})}var U$3$1={name:"arrow",enabled:true,phase:"main",fn:function(e){var t,i=e.state,s=e.name,l=e.options,p=i.elements.arrow,d=i.modifiersData.popperOffsets,f=_$4$1(i.placement),h=P(f),m=[a,n$1$1].indexOf(f)>=0?"height":"width";if(p&&d){var u=function(e,t){return I("number"!=typeof(e="function"==typeof e?e(Object.assign({},t.rects,{placement:t.placement})):e)?e:F(e,c$3$1))}(l.padding,i),g=T$3$1(p),v="y"===h?r$1$1:a,y="y"===h?o:n$1$1,w=i.rects.reference[m]+i.rects.reference[h]-d[h]-i.rects.popper[m],b=d[h]-i.rects.reference[h],x=N$3$1(p),S=x?"y"===h?x.clientHeight||0:x.clientWidth||0:0,O=w/2-b/2,k=u[v],A=S-g[m]-u[y],z=S/2-g[m]/2+O,E=D(k,z,A),M=h;i.modifiersData[s]=((t={})[M]=E,t.centerOffset=E-z,t);}},effect:function(e){var t=e.state,i=e.options.element,s=void 0===i?"[data-popper-arrow]":i;null!=s&&("string"!=typeof s||(s=t.elements.popper.querySelector(s)))&&B$3$1(t.elements.popper,s)&&(t.elements.arrow=s);},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function q$3$1(e){return e.split("-")[1]}var W={top:"auto",right:"auto",bottom:"auto",left:"auto"};function X(e){var t,i=e.popper,s=e.popperRect,l=e.placement,c=e.variation,p=e.offsets,f=e.position,h=e.gpuAcceleration,m=e.adaptive,u=e.roundOffsets,g=e.isFixed,v=p.x,w=void 0===v?0:v,b=p.y,x=void 0===b?0:b,S="function"==typeof u?u({x:w,y:x}):{x:w,y:x};w=S.x,x=S.y;var _=p.hasOwnProperty("x"),O=p.hasOwnProperty("y"),k=a,z=r$1$1,E=window;if(m){var M=N$3$1(i),T="clientHeight",B="clientWidth";if(M===y$6$1(i)&&"static"!==L(M=C$3$1(i)).position&&"absolute"===f&&(T="scrollHeight",B="scrollWidth"),l===r$1$1||(l===a||l===n$1$1)&&c===d$3$1)z=o,x-=(g&&M===E&&E.visualViewport?E.visualViewport.height:M[T])-s.height,x*=h?1:-1;if(l===a||(l===r$1$1||l===o)&&c===d$3$1)k=n$1$1,w-=(g&&M===E&&E.visualViewport?E.visualViewport.width:M[B])-s.width,w*=h?1:-1;}var H,R=Object.assign({position:f},m&&W),j=true===u?function(e,t){var i=e.x,s=e.y,r=t.devicePixelRatio||1;return {x:A$3$1(i*r)/r||0,y:A$3$1(s*r)/r||0}}({x:w,y:x},y$6$1(i)):{x:w,y:x};return w=j.x,x=j.y,h?Object.assign({},R,((H={})[z]=O?"0":"",H[k]=_?"0":"",H.transform=(E.devicePixelRatio||1)<=1?"translate("+w+"px, "+x+"px)":"translate3d("+w+"px, "+x+"px, 0)",H)):Object.assign({},R,((t={})[z]=O?x+"px":"",t[k]=_?w+"px":"",t.transform="",t))}var V={passive:true};var G={left:"right",right:"left",bottom:"top",top:"bottom"};function $(e){return e.replace(/left|right|bottom|top/g,function(e){return G[e]})}var K={start:"end",end:"start"};function Y(e){return e.replace(/start|end/g,function(e){return K[e]})}function J(e){var t=y$6$1(e);return {scrollLeft:t.pageXOffset,scrollTop:t.pageYOffset}}function Q(e){return M$6$1(C$3$1(e)).left+J(e).scrollLeft}function Z(e){var t=L(e),i=t.overflow,s=t.overflowX,r=t.overflowY;return /auto|scroll|overlay|hidden/.test(i+r+s)}function ee(e){return ["html","body","#document"].indexOf(v$3$1(e))>=0?e.ownerDocument.body:b$3$1(e)&&Z(e)?e:ee(R$3$1(e))}function te(e,t){var i;void 0===t&&(t=[]);var s=ee(e),r=s===(null==(i=e.ownerDocument)?void 0:i.body),o=y$6$1(s),n=r?[o].concat(o.visualViewport||[],Z(s)?s:[]):s,a=t.concat(n);return r?a:a.concat(te(R$3$1(n)))}function ie(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function se(e,t,i){return t===f$6$1?ie(function(e,t){var i=y$6$1(e),s=C$3$1(e),r=i.visualViewport,o=s.clientWidth,n=s.clientHeight,a=0,l=0;if(r){o=r.width,n=r.height;var c=E();(c||!c&&"fixed"===t)&&(a=r.offsetLeft,l=r.offsetTop);}return {width:o,height:n,x:a+Q(e),y:l}}(e,i)):w$6$1(t)?function(e,t){var i=M$6$1(e,false,"fixed"===t);return i.top=i.top+e.clientTop,i.left=i.left+e.clientLeft,i.bottom=i.top+e.clientHeight,i.right=i.left+e.clientWidth,i.width=e.clientWidth,i.height=e.clientHeight,i.x=i.left,i.y=i.top,i}(t,i):ie(function(e){var t,i=C$3$1(e),s=J(e),r=null==(t=e.ownerDocument)?void 0:t.body,o=O(i.scrollWidth,i.clientWidth,r?r.scrollWidth:0,r?r.clientWidth:0),n=O(i.scrollHeight,i.clientHeight,r?r.scrollHeight:0,r?r.clientHeight:0),a=-s.scrollLeft+Q(e),l=-s.scrollTop;return "rtl"===L(r||i).direction&&(a+=O(i.clientWidth,r?r.clientWidth:0)-o),{width:o,height:n,x:a,y:l}}(C$3$1(e)))}function re(e,t,i,s){var r="clippingParents"===t?function(e){var t=te(R$3$1(e)),i=["absolute","fixed"].indexOf(L(e).position)>=0&&b$3$1(e)?N$3$1(e):e;return w$6$1(i)?t.filter(function(e){return w$6$1(e)&&B$3$1(e,i)&&"body"!==v$3$1(e)}):[]}(e):[].concat(t),o=[].concat(r,[i]),n=o[0],a=o.reduce(function(t,i){var r=se(e,i,s);return t.top=O(r.top,t.top),t.right=k$6$1(r.right,t.right),t.bottom=k$6$1(r.bottom,t.bottom),t.left=O(r.left,t.left),t},se(e,n,s));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}function oe(e){var t,i=e.reference,s=e.element,l=e.placement,c=l?_$4$1(l):null,f=l?q$3$1(l):null,h=i.x+i.width/2-s.width/2,m=i.y+i.height/2-s.height/2;switch(c){case r$1$1:t={x:h,y:i.y-s.height};break;case o:t={x:h,y:i.y+i.height};break;case n$1$1:t={x:i.x+i.width,y:m};break;case a:t={x:i.x-s.width,y:m};break;default:t={x:i.x,y:i.y};}var u=c?P(c):null;if(null!=u){var g="y"===u?"height":"width";switch(f){case p$6$1:t[u]=t[u]-(i[g]/2-s[g]/2);break;case d$3$1:t[u]=t[u]+(i[g]/2-s[g]/2);}}return t}function ne(e,t){ void 0===t&&(t={});var i=t,s=i.placement,a=void 0===s?e.placement:s,l=i.strategy,p=void 0===l?e.strategy:l,d=i.boundary,m=void 0===d?"clippingParents":d,u=i.rootBoundary,g=void 0===u?f$6$1:u,v=i.elementContext,y=void 0===v?h$3$1:v,b=i.altBoundary,x=void 0!==b&&b,S=i.padding,_=void 0===S?0:S,O=I("number"!=typeof _?_:F(_,c$3$1)),k=y===h$3$1?"reference":h$3$1,A=e.rects.popper,z=e.elements[x?k:y],E=re(w$6$1(z)?z:z.contextElement||C$3$1(e.elements.popper),m,g,p),T=M$6$1(e.elements.reference),B=oe({reference:T,element:A,placement:a}),L=ie(Object.assign({},A,B)),H=y===h$3$1?L:T,R={top:E.top-H.top+O.top,bottom:H.bottom-E.bottom+O.bottom,left:E.left-H.left+O.left,right:H.right-E.right+O.right},j=e.modifiersData.offset;if(y===h$3$1&&j){var N=j[a];Object.keys(R).forEach(function(e){var t=[n$1$1,o].indexOf(e)>=0?1:-1,i=[r$1$1,o].indexOf(e)>=0?"y":"x";R[e]+=N[i]*t;});}return R}function ae(e,t){ void 0===t&&(t={});var i=t,s=i.placement,r=i.boundary,o=i.rootBoundary,n=i.padding,a=i.flipVariations,l=i.allowedAutoPlacements,p=void 0===l?u$6$1:l,d=q$3$1(s),f=d?a?m$6$1:m$6$1.filter(function(e){return q$3$1(e)===d}):c$3$1,h=f.filter(function(e){return p.indexOf(e)>=0});0===h.length&&(h=f);var g=h.reduce(function(t,i){return t[i]=ne(e,{placement:i,boundary:r,rootBoundary:o,padding:n})[_$4$1(i)],t},{});return Object.keys(g).sort(function(e,t){return g[e]-g[t]})}var le={name:"flip",enabled:true,phase:"main",fn:function(e){var t=e.state,i=e.options,s=e.name;if(!t.modifiersData[s]._skip){for(var c=i.mainAxis,d=void 0===c||c,f=i.altAxis,h=void 0===f||f,m=i.fallbackPlacements,u=i.padding,g=i.boundary,v=i.rootBoundary,y=i.altBoundary,w=i.flipVariations,b=void 0===w||w,x=i.allowedAutoPlacements,S=t.options.placement,O=_$4$1(S),k=m||(O===S||!b?[$(S)]:function(e){if(_$4$1(e)===l$3$1)return [];var t=$(e);return [Y(e),t,Y(t)]}(S)),A=[S].concat(k).reduce(function(e,i){return e.concat(_$4$1(i)===l$3$1?ae(t,{placement:i,boundary:g,rootBoundary:v,padding:u,flipVariations:b,allowedAutoPlacements:x}):i)},[]),z=t.rects.reference,E=t.rects.popper,M=new Map,T=true,B=A[0],L=0;L<A.length;L++){var H=A[L],C=_$4$1(H),R=q$3$1(H)===p$6$1,j=[r$1$1,o].indexOf(C)>=0,N=j?"width":"height",P=ne(t,{placement:H,boundary:g,rootBoundary:v,altBoundary:y,padding:u}),D=j?R?n$1$1:a:R?o:r$1$1;z[N]>E[N]&&(D=$(D));var I=$(D),F=[];if(d&&F.push(P[C]<=0),h&&F.push(P[D]<=0,P[I]<=0),F.every(function(e){return e})){B=H,T=false;break}M.set(H,F);}if(T)for(var U=function(e){var t=A.find(function(t){var i=M.get(t);if(i)return i.slice(0,e).every(function(e){return e})});if(t)return B=t,"break"},W=b?3:1;W>0;W--){if("break"===U(W))break}t.placement!==B&&(t.modifiersData[s]._skip=true,t.placement=B,t.reset=true);}},requiresIfExists:["offset"],data:{_skip:false}};function ce(e,t,i){return void 0===i&&(i={x:0,y:0}),{top:e.top-t.height-i.y,right:e.right-t.width+i.x,bottom:e.bottom-t.height+i.y,left:e.left-t.width-i.x}}function pe(e){return [r$1$1,n$1$1,o,a].some(function(t){return e[t]>=0})}var de={name:"offset",enabled:true,phase:"main",requires:["popperOffsets"],fn:function(e){var t=e.state,i=e.options,s=e.name,o=i.offset,l=void 0===o?[0,0]:o,c=u$6$1.reduce(function(e,i){return e[i]=function(e,t,i){var s=_$4$1(e),o=[a,r$1$1].indexOf(s)>=0?-1:1,l="function"==typeof i?i(Object.assign({},t,{placement:e})):i,c=l[0],p=l[1];return c=c||0,p=(p||0)*o,[a,n$1$1].indexOf(s)>=0?{x:p,y:c}:{x:c,y:p}}(i,t.rects,l),e},{}),p=c[t.placement],d=p.x,f=p.y;null!=t.modifiersData.popperOffsets&&(t.modifiersData.popperOffsets.x+=d,t.modifiersData.popperOffsets.y+=f),t.modifiersData[s]=c;}};var fe={name:"preventOverflow",enabled:true,phase:"main",fn:function(e){var t=e.state,i=e.options,s=e.name,l=i.mainAxis,c=void 0===l||l,d=i.altAxis,f=void 0!==d&&d,h=i.boundary,m=i.rootBoundary,u=i.altBoundary,g=i.padding,v=i.tether,y=void 0===v||v,w=i.tetherOffset,b=void 0===w?0:w,x=ne(t,{boundary:h,rootBoundary:m,padding:g,altBoundary:u}),S=_$4$1(t.placement),A=q$3$1(t.placement),z=!A,E=P(S),M="x"===E?"y":"x",B=t.modifiersData.popperOffsets,L=t.rects.reference,H=t.rects.popper,C="function"==typeof b?b(Object.assign({},t.rects,{placement:t.placement})):b,R="number"==typeof C?{mainAxis:C,altAxis:C}:Object.assign({mainAxis:0,altAxis:0},C),j=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,I={x:0,y:0};if(B){if(c){var F,U="y"===E?r$1$1:a,W="y"===E?o:n$1$1,X="y"===E?"height":"width",V=B[E],G=V+x[U],$=V-x[W],K=y?-H[X]/2:0,Y=A===p$6$1?L[X]:H[X],J=A===p$6$1?-H[X]:-L[X],Q=t.elements.arrow,Z=y&&Q?T$3$1(Q):{width:0,height:0},ee=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},te=ee[U],ie=ee[W],se=D(0,L[X],Z[X]),re=z?L[X]/2-K-se-te-R.mainAxis:Y-se-te-R.mainAxis,oe=z?-L[X]/2+K+se+ie+R.mainAxis:J+se+ie+R.mainAxis,ae=t.elements.arrow&&N$3$1(t.elements.arrow),le=ae?"y"===E?ae.clientTop||0:ae.clientLeft||0:0,ce=null!=(F=null==j?void 0:j[E])?F:0,pe=V+oe-ce,de=D(y?k$6$1(G,V+re-ce-le):G,V,y?O($,pe):$);B[E]=de,I[E]=de-V;}if(f){var fe,he="x"===E?r$1$1:a,me="x"===E?o:n$1$1,ue=B[M],ge="y"===M?"height":"width",ve=ue+x[he],ye=ue-x[me],we=-1!==[r$1$1,a].indexOf(S),be=null!=(fe=null==j?void 0:j[M])?fe:0,xe=we?ve:ue-L[ge]-H[ge]-be+R.altAxis,Se=we?ue+L[ge]+H[ge]-be-R.altAxis:ye,_e=y&&we?function(e,t,i){var s=D(e,t,i);return s>i?i:s}(xe,ue,Se):D(y?xe:ve,ue,y?Se:ye);B[M]=_e,I[M]=_e-ue;}t.modifiersData[s]=I;}},requiresIfExists:["offset"]};function he(e,t,i){ void 0===i&&(i=false);var s,r,o=b$3$1(t),n=b$3$1(t)&&function(e){var t=e.getBoundingClientRect(),i=A$3$1(t.width)/e.offsetWidth||1,s=A$3$1(t.height)/e.offsetHeight||1;return 1!==i||1!==s}(t),a=C$3$1(t),l=M$6$1(e,n,i),c={scrollLeft:0,scrollTop:0},p={x:0,y:0};return (o||!o&&!i)&&(("body"!==v$3$1(t)||Z(a))&&(c=(s=t)!==y$6$1(s)&&b$3$1(s)?{scrollLeft:(r=s).scrollLeft,scrollTop:r.scrollTop}:J(s)),b$3$1(t)?((p=M$6$1(t,true)).x+=t.clientLeft,p.y+=t.clientTop):a&&(p.x=Q(a))),{x:l.left+c.scrollLeft-p.x,y:l.top+c.scrollTop-p.y,width:l.width,height:l.height}}function me(e){var t=new Map,i=new Set,s=[];function r(e){i.add(e.name),[].concat(e.requires||[],e.requiresIfExists||[]).forEach(function(e){if(!i.has(e)){var s=t.get(e);s&&r(s);}}),s.push(e);}return e.forEach(function(e){t.set(e.name,e);}),e.forEach(function(e){i.has(e.name)||r(e);}),s}var ue={placement:"bottom",modifiers:[],strategy:"absolute"};function ge(){for(var e=arguments.length,t=new Array(e),i=0;i<e;i++)t[i]=arguments[i];return !t.some(function(e){return !(e&&"function"==typeof e.getBoundingClientRect)})}function ve(e){ void 0===e&&(e={});var t=e,i=t.defaultModifiers,s=void 0===i?[]:i,r=t.defaultOptions,o=void 0===r?ue:r;return function(e,t,i){ void 0===i&&(i=o);var r,n,a={placement:"bottom",orderedModifiers:[],options:Object.assign({},ue,o),modifiersData:{},elements:{reference:e,popper:t},attributes:{},styles:{}},l=[],c=false,p={state:a,setOptions:function(i){var r="function"==typeof i?i(a.options):i;d(),a.options=Object.assign({},o,a.options,r),a.scrollParents={reference:w$6$1(e)?te(e):e.contextElement?te(e.contextElement):[],popper:te(t)};var n,c,f=function(e){var t=me(e);return g$6$1.reduce(function(e,i){return e.concat(t.filter(function(e){return e.phase===i}))},[])}((n=[].concat(s,a.options.modifiers),c=n.reduce(function(e,t){var i=e[t.name];return e[t.name]=i?Object.assign({},i,t,{options:Object.assign({},i.options,t.options),data:Object.assign({},i.data,t.data)}):t,e},{}),Object.keys(c).map(function(e){return c[e]})));return a.orderedModifiers=f.filter(function(e){return e.enabled}),a.orderedModifiers.forEach(function(e){var t=e.name,i=e.options,s=void 0===i?{}:i,r=e.effect;if("function"==typeof r){var o=r({state:a,name:t,instance:p,options:s}),n=function(){};l.push(o||n);}}),p.update()},forceUpdate:function(){if(!c){var e=a.elements,t=e.reference,i=e.popper;if(ge(t,i)){a.rects={reference:he(t,N$3$1(i),"fixed"===a.options.strategy),popper:T$3$1(i)},a.reset=false,a.placement=a.options.placement,a.orderedModifiers.forEach(function(e){return a.modifiersData[e.name]=Object.assign({},e.data)});for(var s=0;s<a.orderedModifiers.length;s++)if(true!==a.reset){var r=a.orderedModifiers[s],o=r.fn,n=r.options,l=void 0===n?{}:n,d=r.name;"function"==typeof o&&(a=o({state:a,options:l,name:d,instance:p})||a);}else a.reset=false,s=-1;}}},update:(r=function(){return new Promise(function(e){p.forceUpdate(),e(a);})},function(){return n||(n=new Promise(function(e){Promise.resolve().then(function(){n=void 0,e(r());});})),n}),destroy:function(){d(),c=true;}};if(!ge(e,t))return p;function d(){l.forEach(function(e){return e()}),l=[];}return p.setOptions(i).then(function(e){!c&&i.onFirstUpdate&&i.onFirstUpdate(e);}),p}}var ye=ve({defaultModifiers:[{name:"eventListeners",enabled:true,phase:"write",fn:function(){},effect:function(e){var t=e.state,i=e.instance,s=e.options,r=s.scroll,o=void 0===r||r,n=s.resize,a=void 0===n||n,l=y$6$1(t.elements.popper),c=[].concat(t.scrollParents.reference,t.scrollParents.popper);return o&&c.forEach(function(e){e.addEventListener("scroll",i.update,V);}),a&&l.addEventListener("resize",i.update,V),function(){o&&c.forEach(function(e){e.removeEventListener("scroll",i.update,V);}),a&&l.removeEventListener("resize",i.update,V);}},data:{}},{name:"popperOffsets",enabled:true,phase:"read",fn:function(e){var t=e.state,i=e.name;t.modifiersData[i]=oe({reference:t.rects.reference,element:t.rects.popper,placement:t.placement});},data:{}},{name:"computeStyles",enabled:true,phase:"beforeWrite",fn:function(e){var t=e.state,i=e.options,s=i.gpuAcceleration,r=void 0===s||s,o=i.adaptive,n=void 0===o||o,a=i.roundOffsets,l=void 0===a||a,c={placement:_$4$1(t.placement),variation:q$3$1(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:r,isFixed:"fixed"===t.options.strategy};null!=t.modifiersData.popperOffsets&&(t.styles.popper=Object.assign({},t.styles.popper,X(Object.assign({},c,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:n,roundOffsets:l})))),null!=t.modifiersData.arrow&&(t.styles.arrow=Object.assign({},t.styles.arrow,X(Object.assign({},c,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:false,roundOffsets:l})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement});},data:{}},S$3$1,de,le,fe,U$3$1,{name:"hide",enabled:true,phase:"main",requiresIfExists:["preventOverflow"],fn:function(e){var t=e.state,i=e.name,s=t.rects.reference,r=t.rects.popper,o=t.modifiersData.preventOverflow,n=ne(t,{elementContext:"reference"}),a=ne(t,{altBoundary:true}),l=ce(n,s),c=ce(a,r,o),p=pe(l),d=pe(c);t.modifiersData[i]={referenceClippingOffsets:l,popperEscapeOffsets:c,isReferenceHidden:p,hasPopperEscaped:d},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":p,"data-popper-escaped":d});}}]});class we{constructor(e,t,i,s){this.anchor=e,this.popover=t,this.boundaryElement=this.setBoundary(s),this.options={placement:i,visibleClass:"data-show"},this.popover.classList.remove(this.options.visibleClass);}setBoundary(e){return "string"==typeof e?document.querySelector(e)||document.body:e||document.body}show(){this.popper&&this.popper.destroy(),this.popper=ye(this.anchor,this.popover,{tooltip:this.anchor,placement:this.options.placement,modifiers:[{name:"offset",options:{offset:[0,18]}},{name:"preventOverflow",options:{mainAxis:true,boundary:this.boundaryElement,rootBoundary:"document",padding:16}}]});}triggerUpdate(){this.popper.update();}hide(){this.popover.classList.remove(this.options.visibleClass);}}var be=i$5`::slotted(*):not([onDark]),::slotted(*):not([appearance=inverse]){color:var(--ds-auro-popover-text-color)}.popover{background-color:var(--ds-auro-popover-container-color);box-shadow:var(--ds-auro-popover-boxshadow-color)}.arrow:before{background-color:var(--ds-auro-popover-container-color);box-shadow:2px 2px 1px 0 var(--ds-auro-popover-boxshadow-color)}
|
|
15317
|
+
let s$3 = class s{registerComponent(e,t){customElements.get(e)||customElements.define(e,class extends t{});}closestElement(e,t=this,i=(t,s=t&&t.closest(e))=>t&&t!==document&&t!==window?s||i(t.getRootNode().host):null){return i(t)}handleComponentTagRename(e,t){const i=t.toLowerCase();e.tagName.toLowerCase()!==i&&e.setAttribute(i,true);}elementMatch(e,t){const i=t.toLowerCase();return e.tagName.toLowerCase()===i||e.hasAttribute(i)}getSlotText(e,t){const i=e.shadowRoot?.querySelector(`slot[name="${t}"]`);return (i?.assignedNodes({flatten:true})||[]).map(e=>e.textContent?.trim()).join(" ").trim()||null}};var r$1$1="top",o="bottom",n$1$1="right",a="left",l$3$1="auto",c$3$1=[r$1$1,o,n$1$1,a],p$6$1="start",d$3$1="end",f$6$1="viewport",h$3$1="popper",u$6$1=c$3$1.reduce(function(e,t){return e.concat([t+"-"+p$6$1,t+"-"+d$3$1])},[]),m$6$1=[].concat(c$3$1,[l$3$1]).reduce(function(e,t){return e.concat([t,t+"-"+p$6$1,t+"-"+d$3$1])},[]),g$6$1=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"];function v$3$1(e){return e?(e.nodeName||"").toLowerCase():null}function y$6$1(e){if(null==e)return window;if("[object Window]"!==e.toString()){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function w$6$1(e){return e instanceof y$6$1(e).Element||e instanceof Element}function b$3$1(e){return e instanceof y$6$1(e).HTMLElement||e instanceof HTMLElement}function x$3$1(e){return "undefined"!=typeof ShadowRoot&&(e instanceof y$6$1(e).ShadowRoot||e instanceof ShadowRoot)}var S$3$1={name:"applyStyles",enabled:true,phase:"write",fn:function(e){var t=e.state;Object.keys(t.elements).forEach(function(e){var i=t.styles[e]||{},s=t.attributes[e]||{},r=t.elements[e];b$3$1(r)&&v$3$1(r)&&(Object.assign(r.style,i),Object.keys(s).forEach(function(e){var t=s[e];false===t?r.removeAttribute(e):r.setAttribute(e,true===t?"":t);}));});},effect:function(e){var t=e.state,i={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,i.popper),t.styles=i,t.elements.arrow&&Object.assign(t.elements.arrow.style,i.arrow),function(){Object.keys(t.elements).forEach(function(e){var s=t.elements[e],r=t.attributes[e]||{},o=Object.keys(t.styles.hasOwnProperty(e)?t.styles[e]:i[e]).reduce(function(e,t){return e[t]="",e},{});b$3$1(s)&&v$3$1(s)&&(Object.assign(s.style,o),Object.keys(r).forEach(function(e){s.removeAttribute(e);}));});}},requires:["computeStyles"]};function _$4$1(e){return e.split("-")[0]}var A$3$1=Math.max,O=Math.min,k$6$1=Math.round;function T$3$1(){var e=navigator.userAgentData;return null!=e&&e.brands&&Array.isArray(e.brands)?e.brands.map(function(e){return e.brand+"/"+e.version}).join(" "):navigator.userAgent}function z$6$1(){return !/^((?!chrome|android).)*safari/i.test(T$3$1())}function E(e,t,i){ void 0===t&&(t=false),void 0===i&&(i=false);var s=e.getBoundingClientRect(),r=1,o=1;t&&b$3$1(e)&&(r=e.offsetWidth>0&&k$6$1(s.width)/e.offsetWidth||1,o=e.offsetHeight>0&&k$6$1(s.height)/e.offsetHeight||1);var n=(w$6$1(e)?y$6$1(e):window).visualViewport,a=!z$6$1()&&i,l=(s.left+(a&&n?n.offsetLeft:0))/r,c=(s.top+(a&&n?n.offsetTop:0))/o,p=s.width/r,d=s.height/o;return {width:p,height:d,top:c,right:l+p,bottom:c+d,left:l,x:l,y:c}}function M$6$1(e){var t=E(e),i=e.offsetWidth,s=e.offsetHeight;return Math.abs(t.width-i)<=1&&(i=t.width),Math.abs(t.height-s)<=1&&(s=t.height),{x:e.offsetLeft,y:e.offsetTop,width:i,height:s}}function B$3$1(e,t){var i=t.getRootNode&&t.getRootNode();if(e.contains(t))return true;if(i&&x$3$1(i)){var s=t;do{if(s&&e.isSameNode(s))return true;s=s.parentNode||s.host;}while(s)}return false}function L(e){return y$6$1(e).getComputedStyle(e)}function R$3$1(e){return ["table","td","th"].indexOf(v$3$1(e))>=0}function H$3$1(e){return ((w$6$1(e)?e.ownerDocument:e.document)||window.document).documentElement}function C$3$1(e){return "html"===v$3$1(e)?e:e.assignedSlot||e.parentNode||(x$3$1(e)?e.host:null)||H$3$1(e)}function D(e){return b$3$1(e)&&"fixed"!==L(e).position?e.offsetParent:null}function N$3$1(e){for(var t=y$6$1(e),i=D(e);i&&R$3$1(i)&&"static"===L(i).position;)i=D(i);return i&&("html"===v$3$1(i)||"body"===v$3$1(i)&&"static"===L(i).position)?t:i||function(e){var t=/firefox/i.test(T$3$1());if(/Trident/i.test(T$3$1())&&b$3$1(e)&&"fixed"===L(e).position)return null;var i=C$3$1(e);for(x$3$1(i)&&(i=i.host);b$3$1(i)&&["html","body"].indexOf(v$3$1(i))<0;){var s=L(i);if("none"!==s.transform||"none"!==s.perspective||"paint"===s.contain||-1!==["transform","perspective"].indexOf(s.willChange)||t&&"filter"===s.willChange||t&&s.filter&&"none"!==s.filter)return i;i=i.parentNode;}return null}(e)||t}function P(e){return ["top","bottom"].indexOf(e)>=0?"x":"y"}function j(e,t,i){return A$3$1(e,O(t,i))}function I(e){return Object.assign({},{top:0,right:0,bottom:0,left:0},e)}function q$3$1(e,t){return t.reduce(function(t,i){return t[i]=e,t},{})}var F={name:"arrow",enabled:true,phase:"main",fn:function(e){var t,i=e.state,s=e.name,l=e.options,p=i.elements.arrow,d=i.modifiersData.popperOffsets,f=_$4$1(i.placement),h=P(f),u=[a,n$1$1].indexOf(f)>=0?"height":"width";if(p&&d){var m=function(e,t){return I("number"!=typeof(e="function"==typeof e?e(Object.assign({},t.rects,{placement:t.placement})):e)?e:q$3$1(e,c$3$1))}(l.padding,i),g=M$6$1(p),v="y"===h?r$1$1:a,y="y"===h?o:n$1$1,w=i.rects.reference[u]+i.rects.reference[h]-d[h]-i.rects.popper[u],b=d[h]-i.rects.reference[h],x=N$3$1(p),S=x?"y"===h?x.clientHeight||0:x.clientWidth||0:0,A=w/2-b/2,O=m[v],k=S-g[u]-m[y],T=S/2-g[u]/2+A,z=j(O,T,k),E=h;i.modifiersData[s]=((t={})[E]=z,t.centerOffset=z-T,t);}},effect:function(e){var t=e.state,i=e.options.element,s=void 0===i?"[data-popper-arrow]":i;null!=s&&("string"!=typeof s||(s=t.elements.popper.querySelector(s)))&&B$3$1(t.elements.popper,s)&&(t.elements.arrow=s);},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function U$3$1(e){return e.split("-")[1]}var V={top:"auto",right:"auto",bottom:"auto",left:"auto"};function W(e){var t,i=e.popper,s=e.popperRect,l=e.placement,c=e.variation,p=e.offsets,f=e.position,h=e.gpuAcceleration,u=e.adaptive,m=e.roundOffsets,g=e.isFixed,v=p.x,w=void 0===v?0:v,b=p.y,x=void 0===b?0:b,S="function"==typeof m?m({x:w,y:x}):{x:w,y:x};w=S.x,x=S.y;var _=p.hasOwnProperty("x"),A=p.hasOwnProperty("y"),O=a,T=r$1$1,z=window;if(u){var E=N$3$1(i),M="clientHeight",B="clientWidth";if(E===y$6$1(i)&&"static"!==L(E=H$3$1(i)).position&&"absolute"===f&&(M="scrollHeight",B="scrollWidth"),l===r$1$1||(l===a||l===n$1$1)&&c===d$3$1)T=o,x-=(g&&E===z&&z.visualViewport?z.visualViewport.height:E[M])-s.height,x*=h?1:-1;if(l===a||(l===r$1$1||l===o)&&c===d$3$1)O=n$1$1,w-=(g&&E===z&&z.visualViewport?z.visualViewport.width:E[B])-s.width,w*=h?1:-1;}var R,C=Object.assign({position:f},u&&V),D=true===m?function(e,t){var i=e.x,s=e.y,r=t.devicePixelRatio||1;return {x:k$6$1(i*r)/r||0,y:k$6$1(s*r)/r||0}}({x:w,y:x},y$6$1(i)):{x:w,y:x};return w=D.x,x=D.y,h?Object.assign({},C,((R={})[T]=A?"0":"",R[O]=_?"0":"",R.transform=(z.devicePixelRatio||1)<=1?"translate("+w+"px, "+x+"px)":"translate3d("+w+"px, "+x+"px, 0)",R)):Object.assign({},C,((t={})[T]=A?x+"px":"",t[O]=_?w+"px":"",t.transform="",t))}var X={passive:true};var $={left:"right",right:"left",bottom:"top",top:"bottom"};function G(e){return e.replace(/left|right|bottom|top/g,function(e){return $[e]})}var K={start:"end",end:"start"};function Y(e){return e.replace(/start|end/g,function(e){return K[e]})}function J(e){var t=y$6$1(e);return {scrollLeft:t.pageXOffset,scrollTop:t.pageYOffset}}function Q(e){return E(H$3$1(e)).left+J(e).scrollLeft}function Z(e){var t=L(e),i=t.overflow,s=t.overflowX,r=t.overflowY;return /auto|scroll|overlay|hidden/.test(i+r+s)}function ee(e){return ["html","body","#document"].indexOf(v$3$1(e))>=0?e.ownerDocument.body:b$3$1(e)&&Z(e)?e:ee(C$3$1(e))}function te(e,t){var i;void 0===t&&(t=[]);var s=ee(e),r=s===(null==(i=e.ownerDocument)?void 0:i.body),o=y$6$1(s),n=r?[o].concat(o.visualViewport||[],Z(s)?s:[]):s,a=t.concat(n);return r?a:a.concat(te(C$3$1(n)))}function ie(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function se(e,t,i){return t===f$6$1?ie(function(e,t){var i=y$6$1(e),s=H$3$1(e),r=i.visualViewport,o=s.clientWidth,n=s.clientHeight,a=0,l=0;if(r){o=r.width,n=r.height;var c=z$6$1();(c||!c&&"fixed"===t)&&(a=r.offsetLeft,l=r.offsetTop);}return {width:o,height:n,x:a+Q(e),y:l}}(e,i)):w$6$1(t)?function(e,t){var i=E(e,false,"fixed"===t);return i.top=i.top+e.clientTop,i.left=i.left+e.clientLeft,i.bottom=i.top+e.clientHeight,i.right=i.left+e.clientWidth,i.width=e.clientWidth,i.height=e.clientHeight,i.x=i.left,i.y=i.top,i}(t,i):ie(function(e){var t,i=H$3$1(e),s=J(e),r=null==(t=e.ownerDocument)?void 0:t.body,o=A$3$1(i.scrollWidth,i.clientWidth,r?r.scrollWidth:0,r?r.clientWidth:0),n=A$3$1(i.scrollHeight,i.clientHeight,r?r.scrollHeight:0,r?r.clientHeight:0),a=-s.scrollLeft+Q(e),l=-s.scrollTop;return "rtl"===L(r||i).direction&&(a+=A$3$1(i.clientWidth,r?r.clientWidth:0)-o),{width:o,height:n,x:a,y:l}}(H$3$1(e)))}function re(e,t,i,s){var r="clippingParents"===t?function(e){var t=te(C$3$1(e)),i=["absolute","fixed"].indexOf(L(e).position)>=0&&b$3$1(e)?N$3$1(e):e;return w$6$1(i)?t.filter(function(e){return w$6$1(e)&&B$3$1(e,i)&&"body"!==v$3$1(e)}):[]}(e):[].concat(t),o=[].concat(r,[i]),n=o[0],a=o.reduce(function(t,i){var r=se(e,i,s);return t.top=A$3$1(r.top,t.top),t.right=O(r.right,t.right),t.bottom=O(r.bottom,t.bottom),t.left=A$3$1(r.left,t.left),t},se(e,n,s));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}function oe(e){var t,i=e.reference,s=e.element,l=e.placement,c=l?_$4$1(l):null,f=l?U$3$1(l):null,h=i.x+i.width/2-s.width/2,u=i.y+i.height/2-s.height/2;switch(c){case r$1$1:t={x:h,y:i.y-s.height};break;case o:t={x:h,y:i.y+i.height};break;case n$1$1:t={x:i.x+i.width,y:u};break;case a:t={x:i.x-s.width,y:u};break;default:t={x:i.x,y:i.y};}var m=c?P(c):null;if(null!=m){var g="y"===m?"height":"width";switch(f){case p$6$1:t[m]=t[m]-(i[g]/2-s[g]/2);break;case d$3$1:t[m]=t[m]+(i[g]/2-s[g]/2);}}return t}function ne(e,t){ void 0===t&&(t={});var i=t,s=i.placement,a=void 0===s?e.placement:s,l=i.strategy,p=void 0===l?e.strategy:l,d=i.boundary,u=void 0===d?"clippingParents":d,m=i.rootBoundary,g=void 0===m?f$6$1:m,v=i.elementContext,y=void 0===v?h$3$1:v,b=i.altBoundary,x=void 0!==b&&b,S=i.padding,_=void 0===S?0:S,A=I("number"!=typeof _?_:q$3$1(_,c$3$1)),O=y===h$3$1?"reference":h$3$1,k=e.rects.popper,T=e.elements[x?O:y],z=re(w$6$1(T)?T:T.contextElement||H$3$1(e.elements.popper),u,g,p),M=E(e.elements.reference),B=oe({reference:M,element:k,placement:a}),L=ie(Object.assign({},k,B)),R=y===h$3$1?L:M,C={top:z.top-R.top+A.top,bottom:R.bottom-z.bottom+A.bottom,left:z.left-R.left+A.left,right:R.right-z.right+A.right},D=e.modifiersData.offset;if(y===h$3$1&&D){var N=D[a];Object.keys(C).forEach(function(e){var t=[n$1$1,o].indexOf(e)>=0?1:-1,i=[r$1$1,o].indexOf(e)>=0?"y":"x";C[e]+=N[i]*t;});}return C}function ae(e,t){ void 0===t&&(t={});var i=t,s=i.placement,r=i.boundary,o=i.rootBoundary,n=i.padding,a=i.flipVariations,l=i.allowedAutoPlacements,p=void 0===l?m$6$1:l,d=U$3$1(s),f=d?a?u$6$1:u$6$1.filter(function(e){return U$3$1(e)===d}):c$3$1,h=f.filter(function(e){return p.indexOf(e)>=0});0===h.length&&(h=f);var g=h.reduce(function(t,i){return t[i]=ne(e,{placement:i,boundary:r,rootBoundary:o,padding:n})[_$4$1(i)],t},{});return Object.keys(g).sort(function(e,t){return g[e]-g[t]})}var le={name:"flip",enabled:true,phase:"main",fn:function(e){var t=e.state,i=e.options,s=e.name;if(!t.modifiersData[s]._skip){for(var c=i.mainAxis,d=void 0===c||c,f=i.altAxis,h=void 0===f||f,u=i.fallbackPlacements,m=i.padding,g=i.boundary,v=i.rootBoundary,y=i.altBoundary,w=i.flipVariations,b=void 0===w||w,x=i.allowedAutoPlacements,S=t.options.placement,A=_$4$1(S),O=u||(A===S||!b?[G(S)]:function(e){if(_$4$1(e)===l$3$1)return [];var t=G(e);return [Y(e),t,Y(t)]}(S)),k=[S].concat(O).reduce(function(e,i){return e.concat(_$4$1(i)===l$3$1?ae(t,{placement:i,boundary:g,rootBoundary:v,padding:m,flipVariations:b,allowedAutoPlacements:x}):i)},[]),T=t.rects.reference,z=t.rects.popper,E=new Map,M=true,B=k[0],L=0;L<k.length;L++){var R=k[L],H=_$4$1(R),C=U$3$1(R)===p$6$1,D=[r$1$1,o].indexOf(H)>=0,N=D?"width":"height",P=ne(t,{placement:R,boundary:g,rootBoundary:v,altBoundary:y,padding:m}),j=D?C?n$1$1:a:C?o:r$1$1;T[N]>z[N]&&(j=G(j));var I=G(j),q=[];if(d&&q.push(P[H]<=0),h&&q.push(P[j]<=0,P[I]<=0),q.every(function(e){return e})){B=R,M=false;break}E.set(R,q);}if(M)for(var F=function(e){var t=k.find(function(t){var i=E.get(t);if(i)return i.slice(0,e).every(function(e){return e})});if(t)return B=t,"break"},V=b?3:1;V>0;V--){if("break"===F(V))break}t.placement!==B&&(t.modifiersData[s]._skip=true,t.placement=B,t.reset=true);}},requiresIfExists:["offset"],data:{_skip:false}};function ce(e,t,i){return void 0===i&&(i={x:0,y:0}),{top:e.top-t.height-i.y,right:e.right-t.width+i.x,bottom:e.bottom-t.height+i.y,left:e.left-t.width-i.x}}function pe(e){return [r$1$1,n$1$1,o,a].some(function(t){return e[t]>=0})}var de={name:"offset",enabled:true,phase:"main",requires:["popperOffsets"],fn:function(e){var t=e.state,i=e.options,s=e.name,o=i.offset,l=void 0===o?[0,0]:o,c=m$6$1.reduce(function(e,i){return e[i]=function(e,t,i){var s=_$4$1(e),o=[a,r$1$1].indexOf(s)>=0?-1:1,l="function"==typeof i?i(Object.assign({},t,{placement:e})):i,c=l[0],p=l[1];return c=c||0,p=(p||0)*o,[a,n$1$1].indexOf(s)>=0?{x:p,y:c}:{x:c,y:p}}(i,t.rects,l),e},{}),p=c[t.placement],d=p.x,f=p.y;null!=t.modifiersData.popperOffsets&&(t.modifiersData.popperOffsets.x+=d,t.modifiersData.popperOffsets.y+=f),t.modifiersData[s]=c;}};var fe={name:"preventOverflow",enabled:true,phase:"main",fn:function(e){var t=e.state,i=e.options,s=e.name,l=i.mainAxis,c=void 0===l||l,d=i.altAxis,f=void 0!==d&&d,h=i.boundary,u=i.rootBoundary,m=i.altBoundary,g=i.padding,v=i.tether,y=void 0===v||v,w=i.tetherOffset,b=void 0===w?0:w,x=ne(t,{boundary:h,rootBoundary:u,padding:g,altBoundary:m}),S=_$4$1(t.placement),k=U$3$1(t.placement),T=!k,z=P(S),E="x"===z?"y":"x",B=t.modifiersData.popperOffsets,L=t.rects.reference,R=t.rects.popper,H="function"==typeof b?b(Object.assign({},t.rects,{placement:t.placement})):b,C="number"==typeof H?{mainAxis:H,altAxis:H}:Object.assign({mainAxis:0,altAxis:0},H),D=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,I={x:0,y:0};if(B){if(c){var q,F="y"===z?r$1$1:a,V="y"===z?o:n$1$1,W="y"===z?"height":"width",X=B[z],$=X+x[F],G=X-x[V],K=y?-R[W]/2:0,Y=k===p$6$1?L[W]:R[W],J=k===p$6$1?-R[W]:-L[W],Q=t.elements.arrow,Z=y&&Q?M$6$1(Q):{width:0,height:0},ee=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},te=ee[F],ie=ee[V],se=j(0,L[W],Z[W]),re=T?L[W]/2-K-se-te-C.mainAxis:Y-se-te-C.mainAxis,oe=T?-L[W]/2+K+se+ie+C.mainAxis:J+se+ie+C.mainAxis,ae=t.elements.arrow&&N$3$1(t.elements.arrow),le=ae?"y"===z?ae.clientTop||0:ae.clientLeft||0:0,ce=null!=(q=null==D?void 0:D[z])?q:0,pe=X+oe-ce,de=j(y?O($,X+re-ce-le):$,X,y?A$3$1(G,pe):G);B[z]=de,I[z]=de-X;}if(f){var fe,he="x"===z?r$1$1:a,ue="x"===z?o:n$1$1,me=B[E],ge="y"===E?"height":"width",ve=me+x[he],ye=me-x[ue],we=-1!==[r$1$1,a].indexOf(S),be=null!=(fe=null==D?void 0:D[E])?fe:0,xe=we?ve:me-L[ge]-R[ge]-be+C.altAxis,Se=we?me+L[ge]+R[ge]-be-C.altAxis:ye,_e=y&&we?function(e,t,i){var s=j(e,t,i);return s>i?i:s}(xe,me,Se):j(y?xe:ve,me,y?Se:ye);B[E]=_e,I[E]=_e-me;}t.modifiersData[s]=I;}},requiresIfExists:["offset"]};function he(e,t,i){ void 0===i&&(i=false);var s,r,o=b$3$1(t),n=b$3$1(t)&&function(e){var t=e.getBoundingClientRect(),i=k$6$1(t.width)/e.offsetWidth||1,s=k$6$1(t.height)/e.offsetHeight||1;return 1!==i||1!==s}(t),a=H$3$1(t),l=E(e,n,i),c={scrollLeft:0,scrollTop:0},p={x:0,y:0};return (o||!o&&!i)&&(("body"!==v$3$1(t)||Z(a))&&(c=(s=t)!==y$6$1(s)&&b$3$1(s)?{scrollLeft:(r=s).scrollLeft,scrollTop:r.scrollTop}:J(s)),b$3$1(t)?((p=E(t,true)).x+=t.clientLeft,p.y+=t.clientTop):a&&(p.x=Q(a))),{x:l.left+c.scrollLeft-p.x,y:l.top+c.scrollTop-p.y,width:l.width,height:l.height}}function ue(e){var t=new Map,i=new Set,s=[];function r(e){i.add(e.name),[].concat(e.requires||[],e.requiresIfExists||[]).forEach(function(e){if(!i.has(e)){var s=t.get(e);s&&r(s);}}),s.push(e);}return e.forEach(function(e){t.set(e.name,e);}),e.forEach(function(e){i.has(e.name)||r(e);}),s}var me={placement:"bottom",modifiers:[],strategy:"absolute"};function ge(){for(var e=arguments.length,t=new Array(e),i=0;i<e;i++)t[i]=arguments[i];return !t.some(function(e){return !(e&&"function"==typeof e.getBoundingClientRect)})}function ve(e){ void 0===e&&(e={});var t=e,i=t.defaultModifiers,s=void 0===i?[]:i,r=t.defaultOptions,o=void 0===r?me:r;return function(e,t,i){ void 0===i&&(i=o);var r,n,a={placement:"bottom",orderedModifiers:[],options:Object.assign({},me,o),modifiersData:{},elements:{reference:e,popper:t},attributes:{},styles:{}},l=[],c=false,p={state:a,setOptions:function(i){var r="function"==typeof i?i(a.options):i;d(),a.options=Object.assign({},o,a.options,r),a.scrollParents={reference:w$6$1(e)?te(e):e.contextElement?te(e.contextElement):[],popper:te(t)};var n,c,f=function(e){var t=ue(e);return g$6$1.reduce(function(e,i){return e.concat(t.filter(function(e){return e.phase===i}))},[])}((n=[].concat(s,a.options.modifiers),c=n.reduce(function(e,t){var i=e[t.name];return e[t.name]=i?Object.assign({},i,t,{options:Object.assign({},i.options,t.options),data:Object.assign({},i.data,t.data)}):t,e},{}),Object.keys(c).map(function(e){return c[e]})));return a.orderedModifiers=f.filter(function(e){return e.enabled}),a.orderedModifiers.forEach(function(e){var t=e.name,i=e.options,s=void 0===i?{}:i,r=e.effect;if("function"==typeof r){var o=r({state:a,name:t,instance:p,options:s}),n=function(){};l.push(o||n);}}),p.update()},forceUpdate:function(){if(!c){var e=a.elements,t=e.reference,i=e.popper;if(ge(t,i)){a.rects={reference:he(t,N$3$1(i),"fixed"===a.options.strategy),popper:M$6$1(i)},a.reset=false,a.placement=a.options.placement,a.orderedModifiers.forEach(function(e){return a.modifiersData[e.name]=Object.assign({},e.data)});for(var s=0;s<a.orderedModifiers.length;s++)if(true!==a.reset){var r=a.orderedModifiers[s],o=r.fn,n=r.options,l=void 0===n?{}:n,d=r.name;"function"==typeof o&&(a=o({state:a,options:l,name:d,instance:p})||a);}else a.reset=false,s=-1;}}},update:(r=function(){return new Promise(function(e){p.forceUpdate(),e(a);})},function(){return n||(n=new Promise(function(e){Promise.resolve().then(function(){n=void 0,e(r());});})),n}),destroy:function(){d(),c=true;}};if(!ge(e,t))return p;function d(){l.forEach(function(e){return e()}),l=[];}return p.setOptions(i).then(function(e){!c&&i.onFirstUpdate&&i.onFirstUpdate(e);}),p}}var ye=ve({defaultModifiers:[{name:"eventListeners",enabled:true,phase:"write",fn:function(){},effect:function(e){var t=e.state,i=e.instance,s=e.options,r=s.scroll,o=void 0===r||r,n=s.resize,a=void 0===n||n,l=y$6$1(t.elements.popper),c=[].concat(t.scrollParents.reference,t.scrollParents.popper);return o&&c.forEach(function(e){e.addEventListener("scroll",i.update,X);}),a&&l.addEventListener("resize",i.update,X),function(){o&&c.forEach(function(e){e.removeEventListener("scroll",i.update,X);}),a&&l.removeEventListener("resize",i.update,X);}},data:{}},{name:"popperOffsets",enabled:true,phase:"read",fn:function(e){var t=e.state,i=e.name;t.modifiersData[i]=oe({reference:t.rects.reference,element:t.rects.popper,placement:t.placement});},data:{}},{name:"computeStyles",enabled:true,phase:"beforeWrite",fn:function(e){var t=e.state,i=e.options,s=i.gpuAcceleration,r=void 0===s||s,o=i.adaptive,n=void 0===o||o,a=i.roundOffsets,l=void 0===a||a,c={placement:_$4$1(t.placement),variation:U$3$1(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:r,isFixed:"fixed"===t.options.strategy};null!=t.modifiersData.popperOffsets&&(t.styles.popper=Object.assign({},t.styles.popper,W(Object.assign({},c,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:n,roundOffsets:l})))),null!=t.modifiersData.arrow&&(t.styles.arrow=Object.assign({},t.styles.arrow,W(Object.assign({},c,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:false,roundOffsets:l})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement});},data:{}},S$3$1,de,le,fe,F,{name:"hide",enabled:true,phase:"main",requiresIfExists:["preventOverflow"],fn:function(e){var t=e.state,i=e.name,s=t.rects.reference,r=t.rects.popper,o=t.modifiersData.preventOverflow,n=ne(t,{elementContext:"reference"}),a=ne(t,{altBoundary:true}),l=ce(n,s),c=ce(a,r,o),p=pe(l),d=pe(c);t.modifiersData[i]={referenceClippingOffsets:l,popperEscapeOffsets:c,isReferenceHidden:p,hasPopperEscaped:d},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":p,"data-popper-escaped":d});}}]});class we{constructor(e,t,i,s){this.anchor=e,this.popover=t,this.boundaryElement=this.setBoundary(s),this.options={placement:i,visibleClass:"data-show"},this.popover.classList.remove(this.options.visibleClass);}setBoundary(e){return "string"==typeof e?document.querySelector(e)||document.body:e||document.body}show(){this.popper&&this.popper.destroy(),this.popper=ye(this.anchor,this.popover,{tooltip:this.anchor,placement:this.options.placement,modifiers:[{name:"offset",options:{offset:[0,18]}},{name:"preventOverflow",options:{mainAxis:true,boundary:this.boundaryElement,rootBoundary:"document",padding:16}}]});}triggerUpdate(){this.popper.update();}hide(){this.popover.classList.remove(this.options.visibleClass);}}var be=i$5`::slotted(*):not([onDark]),::slotted(*):not([appearance=inverse]){color:var(--ds-auro-popover-text-color)}.popover{background-color:var(--ds-auro-popover-container-color);box-shadow:var(--ds-auro-popover-boxshadow-color)}.arrow:before{background-color:var(--ds-auro-popover-container-color);box-shadow:2px 2px 1px 0 var(--ds-auro-popover-boxshadow-color)}
|
|
15319
15318
|
`,xe=i$5`.body-default{font-size:var(--wcss-body-default-font-size, 1rem);line-height:var(--wcss-body-default-line-height, 1.5rem)}.body-default,.body-lg{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-weight, 450);letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-lg{font-size:var(--wcss-body-lg-font-size, 1.125rem);line-height:var(--wcss-body-lg-line-height, 1.625rem)}.body-sm{font-size:var(--wcss-body-sm-font-size, .875rem);line-height:var(--wcss-body-sm-line-height, 1.25rem)}.body-sm,.body-xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-weight, 450);letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-xs{font-size:var(--wcss-body-xs-font-size, .75rem);line-height:var(--wcss-body-xs-line-height, 1rem)}.body-2xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:var(--wcss-body-2xs-font-size, .625rem);font-weight:var(--wcss-body-weight, 450);letter-spacing:var(--wcss-body-letter-spacing, 0);line-height:var(--wcss-body-2xs-line-height, .875rem)}.display-2xl{font-family:var(--wcss-display-2xl-family, "AS Circular"),var(--wcss-display-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-2xl-font-size, clamp(3.5rem, 6vw, 5.375rem));font-weight:var(--wcss-display-2xl-weight, 300);letter-spacing:var(--wcss-display-2xl-letter-spacing, 0);line-height:var(--wcss-display-2xl-line-height, 1.3)}.display-xl{font-family:var(--wcss-display-xl-family, "AS Circular"),var(--wcss-display-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-xl-font-size, clamp(3rem, 5.3333333333vw, 4.5rem));font-weight:var(--wcss-display-xl-weight, 300);letter-spacing:var(--wcss-display-xl-letter-spacing, 0);line-height:var(--wcss-display-xl-line-height, 1.3)}.display-lg{font-family:var(--wcss-display-lg-family, "AS Circular"),var(--wcss-display-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-lg-font-size, clamp(2.75rem, 4.6666666667vw, 4rem));font-weight:var(--wcss-display-lg-weight, 300);letter-spacing:var(--wcss-display-lg-letter-spacing, 0);line-height:var(--wcss-display-lg-line-height, 1.3)}.display-md{font-family:var(--wcss-display-md-family, "AS Circular"),var(--wcss-display-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-md-font-size, clamp(2.5rem, 4vw, 3.5rem));font-weight:var(--wcss-display-md-weight, 300);letter-spacing:var(--wcss-display-md-letter-spacing, 0);line-height:var(--wcss-display-md-line-height, 1.3)}.display-sm{font-family:var(--wcss-display-sm-family, "AS Circular"),var(--wcss-display-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-sm-font-size, clamp(2rem, 3.6666666667vw, 3rem));font-weight:var(--wcss-display-sm-weight, 300);letter-spacing:var(--wcss-display-sm-letter-spacing, 0);line-height:var(--wcss-display-sm-line-height, 1.3)}.display-xs{font-family:var(--wcss-display-xs-family, "AS Circular"),var(--wcss-display-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-xs-font-size, clamp(1.75rem, 3vw, 2.375rem));font-weight:var(--wcss-display-xs-weight, 300);letter-spacing:var(--wcss-display-xs-letter-spacing, 0);line-height:var(--wcss-display-xs-line-height, 1.3)}.heading-xl{font-family:var(--wcss-heading-xl-family, "AS Circular"),var(--wcss-heading-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-xl-font-size, clamp(2rem, 3vw, 2.5rem));font-weight:var(--wcss-heading-xl-weight, 300);letter-spacing:var(--wcss-heading-xl-letter-spacing, 0);line-height:var(--wcss-heading-xl-line-height, 1.3)}.heading-lg{font-family:var(--wcss-heading-lg-family, "AS Circular"),var(--wcss-heading-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-lg-font-size, clamp(1.75rem, 2.6666666667vw, 2.25rem));font-weight:var(--wcss-heading-lg-weight, 300);letter-spacing:var(--wcss-heading-lg-letter-spacing, 0);line-height:var(--wcss-heading-lg-line-height, 1.3)}.heading-md{font-family:var(--wcss-heading-md-family, "AS Circular"),var(--wcss-heading-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-md-font-size, clamp(1.625rem, 2.3333333333vw, 1.75rem));font-weight:var(--wcss-heading-md-weight, 300);letter-spacing:var(--wcss-heading-md-letter-spacing, 0);line-height:var(--wcss-heading-md-line-height, 1.3)}.heading-sm{font-family:var(--wcss-heading-sm-family, "AS Circular"),var(--wcss-heading-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-sm-font-size, clamp(1.375rem, 2vw, 1.5rem));font-weight:var(--wcss-heading-sm-weight, 300);letter-spacing:var(--wcss-heading-sm-letter-spacing, 0);line-height:var(--wcss-heading-sm-line-height, 1.3)}.heading-xs{font-family:var(--wcss-heading-xs-family, "AS Circular"),var(--wcss-heading-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-xs-font-size, clamp(1.25rem, 1.6666666667vw, 1.25rem));font-weight:var(--wcss-heading-xs-weight, 450);letter-spacing:var(--wcss-heading-xs-letter-spacing, 0);line-height:var(--wcss-heading-xs-line-height, 1.3)}.heading-2xs{font-family:var(--wcss-heading-2xs-family, "AS Circular"),var(--wcss-heading-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-2xs-font-size, clamp(1.125rem, 1.5vw, 1.125rem));font-weight:var(--wcss-heading-2xs-weight, 450);letter-spacing:var(--wcss-heading-2xs-letter-spacing, 0);line-height:var(--wcss-heading-2xs-line-height, 1.3)}.accent-2xl{font-family:var(--wcss-accent-2xl-family, "Good OT"),var(--wcss-accent-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-2xl-font-size, clamp(2rem, 3.1666666667vw, 2.375rem));font-weight:var(--wcss-accent-2xl-weight, 450);letter-spacing:var(--wcss-accent-2xl-letter-spacing, .05em);line-height:var(--wcss-accent-2xl-line-height, 1)}.accent-2xl,.accent-xl{text-transform:uppercase}.accent-xl{font-family:var(--wcss-accent-xl-family, "Good OT"),var(--wcss-accent-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-xl-font-size, clamp(1.625rem, 2.3333333333vw, 2rem));font-weight:var(--wcss-accent-xl-weight, 450);letter-spacing:var(--wcss-accent-xl-letter-spacing, .05em);line-height:var(--wcss-accent-xl-line-height, 1.3)}.accent-lg{font-family:var(--wcss-accent-lg-family, "Good OT"),var(--wcss-accent-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-lg-font-size, clamp(1.5rem, 2.1666666667vw, 1.75rem));font-weight:var(--wcss-accent-lg-weight, 450);letter-spacing:var(--wcss-accent-lg-letter-spacing, .05em);line-height:var(--wcss-accent-lg-line-height, 1.3)}.accent-lg,.accent-md{text-transform:uppercase}.accent-md{font-family:var(--wcss-accent-md-family, "Good OT"),var(--wcss-accent-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-md-font-size, clamp(1.375rem, 1.8333333333vw, 1.5rem));font-weight:var(--wcss-accent-md-weight, 500);letter-spacing:var(--wcss-accent-md-letter-spacing, .05em);line-height:var(--wcss-accent-md-line-height, 1.3)}.accent-sm{font-family:var(--wcss-accent-sm-family, "Good OT"),var(--wcss-accent-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-sm-font-size, clamp(1.125rem, 1.5vw, 1.25rem));font-weight:var(--wcss-accent-sm-weight, 500);letter-spacing:var(--wcss-accent-sm-letter-spacing, .05em);line-height:var(--wcss-accent-sm-line-height, 1.3)}.accent-sm,.accent-xs{text-transform:uppercase}.accent-xs{font-family:var(--wcss-accent-xs-family, "Good OT"),var(--wcss-accent-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-xs-font-size, clamp(1rem, 1.3333333333vw, 1rem));font-weight:var(--wcss-accent-xs-weight, 500);letter-spacing:var(--wcss-accent-xs-letter-spacing, .1em);line-height:var(--wcss-accent-xs-line-height, 1.3)}.accent-2xs{font-family:var(--wcss-accent-2xs-family, "Good OT"),var(--wcss-accent-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-2xs-font-size, clamp(.875rem, 1.1666666667vw, .875rem));font-weight:var(--wcss-accent-2xs-weight, 450);letter-spacing:var(--wcss-accent-2xs-letter-spacing, .1em);line-height:var(--wcss-accent-2xs-line-height, 1.3);text-transform:uppercase}:focus:not(:focus-visible){outline:3px solid transparent}.util_displayInline{display:inline}.util_displayInlineBlock{display:inline-block}.util_displayBlock{display:block}.util_displayFlex{display:flex}.util_displayHidden,:host(:not([data-show])) .popover,:host([disabled]) .popover,:host([addSpace]) :host(:not([data-show])) .popover{display:none}.util_displayHiddenVisually{position:absolute;overflow:hidden;clip:rect(1px,1px,1px,1px);width:1px;height:1px;padding:0;border:0}.util_insetNone{padding:0}.util_insetXxxs{padding:.125rem}.util_insetXxxs--stretch{padding:.25rem .125rem}.util_insetXxxs--squish{padding:0 .125rem}.util_insetXxs{padding:.25rem}.util_insetXxs--stretch{padding:.375rem .25rem}.util_insetXxs--squish{padding:.125rem .25rem}.util_insetXs{padding:.5rem}.util_insetXs--stretch{padding:.75rem .5rem}.util_insetXs--squish{padding:.25rem .5rem}.util_insetSm{padding:.75rem}.util_insetSm--stretch{padding:1.125rem .75rem}.util_insetSm--squish{padding:.375rem .75rem}.util_insetMd{padding:1rem}.util_insetMd--stretch{padding:1.5rem 1rem}.util_insetMd--squish{padding:.5rem 1rem}.util_insetLg{padding:1.5rem}.util_insetLg--stretch{padding:2.25rem 1.5rem}.util_insetLg--squish{padding:.75rem 1.5rem}.util_insetXl{padding:2rem}.util_insetXl--stretch{padding:3rem 2rem}.util_insetXl--squish{padding:1rem 2rem}.util_insetXxl{padding:3rem}.util_insetXxl--stretch{padding:4.5rem 3rem}.util_insetXxl--squish{padding:1.5rem 3rem}.util_insetXxxl{padding:4rem}.util_insetXxxl--stretch{padding:6rem 4rem}.util_insetXxxl--squish{padding:2rem 4rem}::slotted(*){white-space:normal}::slotted(*:hover){cursor:pointer}[data-trigger-placement]::slotted(*:hover){position:relative}[data-trigger-placement]::slotted(*:hover):before{position:absolute;left:0;display:block;width:100%;height:calc(var(--ds-size-200, 1rem) + var(--ds-size-50, .25rem));content:""}[data-trigger-placement^=top]::slotted(*:hover):before{top:calc(-1 * (var(--ds-size-200, 1rem) + var(--ds-size-50, .25rem)))}[data-trigger-placement^=bottom]::slotted(*:hover):before{bottom:calc(-1 * (var(--ds-size-200, 1rem) + var(--ds-size-50, .25rem)))}:host([data-show]) .popover{z-index:var(--ds-depth-tooltip, 400)}:host([removeSpace]) .popover{margin:calc(-1 * (var(--ds-size-50, .25rem) + 1px)) 0!important}:host([addSpace]) .popover{margin:var(--ds-size-200, 1rem) 0!important}:host([addSpace]) [data-trigger-placement]::slotted(*:hover):before{height:var(--ds-size-500, 2.5rem)}:host([addSpace]) [data-trigger-placement^=top]::slotted(*:hover):before{top:calc(-1 * var(--ds-size-500, 2.5rem))}:host([addSpace]) [data-trigger-placement^=bottom]::slotted(*:hover):before{bottom:calc(-1 * var(--ds-size-500, 2.5rem))}.popover{display:inline-block;max-width:calc(100% - var(--ds-size-400, 2rem));border-radius:var(--ds-border-radius, .375rem)}@media screen and (min-width:576px){.popover{max-width:50%}}@media screen and (min-width:768px){.popover{max-width:40%}}@media screen and (min-width:1024px){.popover{max-width:27rem}}[data-popper-placement^=top]>.arrow{bottom:calc(-1 * (var(--ds-size-100, .5rem) + var(--ds-size-25, .125rem)))}[data-popper-placement^=top]>.arrow:before{top:calc(-1 * var(--ds-size-200, 1rem));left:calc(-1 * var(--ds-size-75, .375rem));transform:rotate(45deg)}[data-popper-placement^=bottom]>.arrow{top:calc(-1 * (var(--ds-size-100, .5rem) + var(--ds-size-25, .125rem)))}[data-popper-placement^=bottom]>.arrow:before{top:var(--ds-size-50, .25rem);right:calc(-1 * var(--ds-size-200, 1rem));transform:rotate(-135deg)}.arrow{position:relative;margin-top:-var(--ds-size-100,.5rem)}.arrow:before{position:absolute;width:var(--ds-size-150, .75rem);height:var(--ds-size-150, .75rem);content:""}
|
|
15320
15319
|
`,Se=i$5`:host{--ds-auro-popover-boxshadow-color: var(--ds-elevation-200, 0px 0px 10px rgba(0, 0, 0, .15));--ds-auro-popover-container-color: var(--ds-basic-color-surface-default, #ffffff);--ds-auro-popover-text-color: var(--ds-basic-color-texticon-default, #2a2a2a)}
|
|
15321
|
-
`;class _e extends i$3{constructor(){super(),this.placement="top",this._onTouchStart=null,this._onTriggerMouseEnter=null,this._onTriggerMouseLeave=null,this._onTriggerFocus=null,this._onTriggerBlur=null,this._onTriggerKeydown=null,this._onHidePopover=null,this._onBodyMouseover=null,this._onSlotChange=null,this._addedTabIndex=false;}_initializeDefaults(){this.
|
|
15322
|
-
<div
|
|
15320
|
+
`;class _e extends i$3{constructor(){super(),this.placement="top",this.isPopoverVisible=false,this._onTouchStart=null,this._onTriggerMouseEnter=null,this._onTriggerMouseLeave=null,this._onTriggerFocus=null,this._onTriggerBlur=null,this._onTriggerKeydown=null,this._onHidePopover=null,this._onBodyMouseover=null,this._onSlotChange=null,this._addedTabIndex=false;}_initializeDefaults(){this.runtimeUtils=new s$3;}static get properties(){return {addSpace:{type:Boolean,reflect:true},boundary:{type:String},disabled:{type:Boolean,reflect:true},for:{type:String,reflect:true},placement:{type:String},removeSpace:{type:Boolean,reflect:true},isPopoverVisible:{type:Boolean,reflect:true,attribute:"data-show",converter:{fromAttribute:e=>null!==e,toAttribute:e=>e?"true":null}}}}static get styles(){return [i$5`${xe}`,i$5`${be}`,i$5`${Se}`]}static register(e="auro-popover"){s$3.prototype.registerComponent(e,_e);}connectedCallback(){super.connectedCallback(),this.hasAttribute("role")||this.setAttribute("role","none"),this._initializeDefaults(),this._onTouchStart||(this._onTouchStart=()=>{this.toggle();}),this.addEventListener("touchstart",this._onTouchStart);}disconnectedCallback(){if(super.disconnectedCallback(),this.removeEventListener("touchstart",this._onTouchStart),this.trigger){this._onTriggerMouseEnter&&this._eventTarget.removeEventListener("mouseenter",this._onTriggerMouseEnter),this._onTriggerMouseLeave&&this._eventTarget.removeEventListener("mouseleave",this._onTriggerMouseLeave),this._onTriggerFocus&&this.trigger.removeEventListener("focusin",this._onTriggerFocus),this._onTriggerBlur&&this.trigger.removeEventListener("focusout",this._onTriggerBlur),this._onTriggerKeydown&&this.trigger.removeEventListener("keydown",this._onTriggerKeydown),this._onSlotChange&&this.shadowRoot?.querySelector("slot:not([name])")?.removeEventListener("slotchange",this._onSlotChange);for(const e of this._ariaDescriptionTargets||[this.trigger])e.removeAttribute("aria-description");this._addedTabIndex&&"0"===this.trigger.getAttribute("tabindex")&&this.trigger.removeAttribute("tabindex");}this._onHidePopover&&this.removeEventListener("hidePopover",this._onHidePopover),this._onBodyMouseover&&document.body.removeEventListener("mouseover",this._onBodyMouseover),this.popper?.popper&&"function"==typeof this.popper.popper.destroy&&(this.popper.popper.destroy(),this.popper.popper=null);}firstUpdated(){this.runtimeUtils.handleComponentTagRename(this,"auro-popover"),this.for&&(this.trigger=document.querySelector(`#${this.for}`)||this.getRootNode().querySelector(`#${this.for}`)),this.trigger||([this.trigger]=this.shadowRoot.querySelector('slot[name="trigger"]').assignedElements()),this.trigger&&(this._setupAccessibility(),this._setupEventListeners(),this.isPopoverVisible&&this.popper&&(this.disabled?this.isPopoverVisible=false:(this.popper.show(),document.body.addEventListener("mouseover",this._onBodyMouseover))));}_setupEventListeners(){this.auroPopover=this.shadowRoot.querySelector("#popover"),this.popper=new we(this.trigger,this.auroPopover,this.placement,this.boundary),this._onBodyMouseover=e=>this.handleMouseoverEvent(e),this._onTriggerMouseEnter=()=>{this.toggleShow();},this._onTriggerMouseLeave=()=>{this.toggleHide();},this._onTriggerFocus=()=>{this.toggleShow();},this._onTriggerBlur=e=>{let t=e.relatedTarget,i=false;for(;t;){if(this.trigger.contains(t)||this.contains(t)){i=true;break}const e=t.getRootNode();t=e instanceof ShadowRoot?e.host:null;}i||this.toggleHide();},this._onTriggerKeydown=e=>{const t=e.key.toLowerCase();if(this.isPopoverVisible&&("tab"!==t&&"escape"!==t||this.toggleHide())," "===t||"enter"===t){if(e.target!==this.trigger&&!this._addedTabIndex)return;" "===t&&this._addedTabIndex&&e.preventDefault(),this.toggle();}},this._onHidePopover=()=>{this.toggleHide();},this._eventTarget=this.trigger.parentElement.localName===this.localName?this:this.trigger,this._eventTarget.addEventListener("mouseenter",this._onTriggerMouseEnter),this._eventTarget.addEventListener("mouseleave",this._onTriggerMouseLeave),this.trigger.addEventListener("keydown",this._onTriggerKeydown),this.trigger.addEventListener("focusin",this._onTriggerFocus),this.trigger.addEventListener("focusout",this._onTriggerBlur),this.addEventListener("hidePopover",this._onHidePopover);}_setupAccessibility(){const e=this.trigger.tabIndex>=0,t='button:not([disabled]), a[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex^="-"]), [contenteditable]:not([contenteditable="false"]), summary, iframe, audio[controls], video[controls]',i=e=>{if(e.tabIndex<0)return false;let t=e;for(;t;){if(t.closest("[hidden], [inert]"))return false;const e=t.getRootNode();t=e instanceof ShadowRoot?e.host:null;}return true};let s=[...this.trigger.querySelectorAll(t)].some(i);if(!s){const e=this.trigger.querySelectorAll("*");for(const r of e)if(r.localName.includes("-")&&(r.tabIndex>=0||r.shadowRoot&&[...r.shadowRoot.querySelectorAll(t)].some(i))){s=true;break}}!s&&this.trigger.localName.includes("-")&&this.trigger.shadowRoot&&(s=[...this.trigger.shadowRoot.querySelectorAll(t)].some(i)),e||s||this.trigger.hasAttribute("tabindex")||(this.trigger.setAttribute("tabindex","0"),this._addedTabIndex=true);const r=this.shadowRoot.querySelector("slot:not([name])"),o=()=>r.assignedNodes({flatten:true}).map(e=>e.textContent??"").join(" ").replace(/\s+/g," ").trim();if(this._ariaDescriptionTargets=[],!e&&s){const e=[...this.trigger.querySelectorAll(t)].filter(i);this._ariaDescriptionTargets.push(...e);const s=this.trigger.querySelectorAll("*");for(const r of s)if(r.localName.includes("-")&&!e.includes(r))if(r.tabIndex>=0)this._ariaDescriptionTargets.push(r);else if(r.shadowRoot){const e=[...r.shadowRoot.querySelectorAll(t)].filter(i);for(const t of e)this._ariaDescriptionTargets.push(t);}if(0===this._ariaDescriptionTargets.length){if(this.trigger.localName.includes("-")&&this.trigger.shadowRoot){const e=[...this.trigger.shadowRoot.querySelectorAll(t)].filter(i);this._ariaDescriptionTargets.push(...e);}0===this._ariaDescriptionTargets.length&&this._ariaDescriptionTargets.push(this.trigger);}}else this._ariaDescriptionTargets.push(this.trigger);const n=o();for(const e of this._ariaDescriptionTargets)e.setAttribute("aria-description",n);this._onSlotChange=()=>{const e=o();for(const t of this._ariaDescriptionTargets)t?.setAttribute("aria-description",e);},r.addEventListener("slotchange",this._onSlotChange);}toggle(){this.popper&&(this.isPopoverVisible?this.toggleHide():this.toggleShow());}toggleHide(){this.isPopoverVisible=false;}toggleShow(){this.popper&&!this.disabled&&(this.isPopoverVisible=true);}handleMouseoverEvent(e){this.isPopoverVisible&&!e.composedPath().includes(this)&&this.toggleHide();}updated(e){if(e.has("boundary")&&this.popper&&(this.popper.boundaryElement=this.popper.setBoundary(this.boundary)),e.has("isPopoverVisible")&&this.popper)if(this.isPopoverVisible){if(this.disabled)return void(this.isPopoverVisible=false);this.popper.show(),document.body.addEventListener("mouseover",this._onBodyMouseover);}else this._onBodyMouseover&&document.body.removeEventListener("mouseover",this._onBodyMouseover),this.popper.hide();e.has("disabled")&&this.disabled&&this.isPopoverVisible&&(this.isPopoverVisible=false);}render(){return b$8`
|
|
15321
|
+
<div
|
|
15322
|
+
id="popover"
|
|
15323
|
+
class="popover util_insetLg body-default"
|
|
15324
|
+
part="popover"
|
|
15325
|
+
role="tooltip"
|
|
15326
|
+
aria-hidden="${this.isPopoverVisible?"false":"true"}">
|
|
15323
15327
|
<div id="arrow" class="arrow" data-popper-arrow></div>
|
|
15324
|
-
<
|
|
15328
|
+
<slot></slot>
|
|
15325
15329
|
</div>
|
|
15326
15330
|
|
|
15327
|
-
<span>
|
|
15331
|
+
<span role="presentation">
|
|
15328
15332
|
<slot name="trigger" data-trigger-placement="${this.placement}"></slot>
|
|
15329
15333
|
</span>
|
|
15330
15334
|
`}}
|
|
@@ -15339,7 +15343,6 @@ class AuroCalendarCell extends i$3 {
|
|
|
15339
15343
|
|
|
15340
15344
|
this.day = null;
|
|
15341
15345
|
this.selected = false;
|
|
15342
|
-
this.hovered = false;
|
|
15343
15346
|
this.dateTo = null;
|
|
15344
15347
|
this.dateFrom = null;
|
|
15345
15348
|
this.month = null;
|
|
@@ -15347,11 +15350,12 @@ class AuroCalendarCell extends i$3 {
|
|
|
15347
15350
|
this.max = null;
|
|
15348
15351
|
this.disabled = false;
|
|
15349
15352
|
this.disabledDays = [];
|
|
15350
|
-
this.hoveredDate = null;
|
|
15351
15353
|
this.isCurrentDate = false;
|
|
15352
15354
|
this._locale = null;
|
|
15353
15355
|
this.dateStr = null;
|
|
15354
15356
|
this.renderForDateSlot = false; // When false, the numerical date will render vertically centered. When true, the date will render off-center to the top and leave room below for the slot content.
|
|
15357
|
+
this.active = false;
|
|
15358
|
+
this.hasPopoverContent = false;
|
|
15355
15359
|
|
|
15356
15360
|
this.runtimeUtils = new AuroLibraryRuntimeUtils$5$1();
|
|
15357
15361
|
|
|
@@ -15370,7 +15374,6 @@ class AuroCalendarCell extends i$3 {
|
|
|
15370
15374
|
// ...super.properties,
|
|
15371
15375
|
day: { type: Object },
|
|
15372
15376
|
selected: { type: Boolean },
|
|
15373
|
-
hovered: { type: Boolean },
|
|
15374
15377
|
dateTo: { type: String },
|
|
15375
15378
|
dateFrom: { type: String },
|
|
15376
15379
|
month: { type: String },
|
|
@@ -15381,11 +15384,11 @@ class AuroCalendarCell extends i$3 {
|
|
|
15381
15384
|
reflect: true
|
|
15382
15385
|
},
|
|
15383
15386
|
disabledDays: { type: Array },
|
|
15384
|
-
hoveredDate: { type: String },
|
|
15385
15387
|
isCurrentDate: { type: Boolean },
|
|
15386
15388
|
locale: { type: Object },
|
|
15387
15389
|
dateStr: { type: String },
|
|
15388
|
-
renderForDateSlot: { type: Boolean }
|
|
15390
|
+
renderForDateSlot: { type: Boolean },
|
|
15391
|
+
hasPopoverContent: { type: Boolean }
|
|
15389
15392
|
};
|
|
15390
15393
|
}
|
|
15391
15394
|
|
|
@@ -15409,17 +15412,17 @@ class AuroCalendarCell extends i$3 {
|
|
|
15409
15412
|
}
|
|
15410
15413
|
|
|
15411
15414
|
/**
|
|
15412
|
-
* Handles selected
|
|
15415
|
+
* Handles selected state of the calendar cell when the selection changes.
|
|
15416
|
+
* Also clears any imperative range preview classes so classMap is the
|
|
15417
|
+
* sole source of truth after a selection update.
|
|
15413
15418
|
* @private
|
|
15414
15419
|
* @param {Number} dateFrom - Depart date.
|
|
15415
15420
|
* @param {Number} dateTo - Return date.
|
|
15416
|
-
* @param {Number} hoveredDate - Hovered date.
|
|
15417
15421
|
* @param {Object} day - An object containing the dateFrom and day of month values.
|
|
15418
15422
|
* @returns {void}
|
|
15419
15423
|
*/
|
|
15420
|
-
dateChanged(dateFrom, dateTo,
|
|
15424
|
+
dateChanged(dateFrom, dateTo, day) {
|
|
15421
15425
|
this.selected = false;
|
|
15422
|
-
this.hovered = false;
|
|
15423
15426
|
|
|
15424
15427
|
const parsedDateFrom = parseInt(dateFrom, 10);
|
|
15425
15428
|
const parsedDateTo = parseInt(dateTo, 10);
|
|
@@ -15431,10 +15434,6 @@ class AuroCalendarCell extends i$3 {
|
|
|
15431
15434
|
if (day.date === departTimestamp || day.date === returnTimestamp) {
|
|
15432
15435
|
this.selected = true;
|
|
15433
15436
|
}
|
|
15434
|
-
|
|
15435
|
-
if (((hoveredDate === day.date || day.date < hoveredDate) && day.date > parsedDateFrom && !parsedDateTo && !Number.isNaN(parsedDateFrom) && parsedDateFrom !== undefined && !this.selected) || (day.date > parsedDateFrom && day.date < parsedDateTo)) {
|
|
15436
|
-
this.hovered = true;
|
|
15437
|
-
}
|
|
15438
15437
|
}
|
|
15439
15438
|
}
|
|
15440
15439
|
|
|
@@ -15444,27 +15443,105 @@ class AuroCalendarCell extends i$3 {
|
|
|
15444
15443
|
* @returns {void}
|
|
15445
15444
|
*/
|
|
15446
15445
|
handleTap() {
|
|
15447
|
-
if (!this.disabled) {
|
|
15446
|
+
if (!this.disabled && !this.isBlackout()) {
|
|
15448
15447
|
this.datepicker.handleCellClick(this.day.date);
|
|
15449
15448
|
}
|
|
15449
|
+
|
|
15450
|
+
// Set this cell as the active cell regardless of blackout status
|
|
15451
|
+
if (this.day) {
|
|
15452
|
+
this.dispatchEvent(new CustomEvent('calendar-cell-activate', {
|
|
15453
|
+
bubbles: true,
|
|
15454
|
+
composed: true,
|
|
15455
|
+
detail: { date: this.day.date }
|
|
15456
|
+
}));
|
|
15457
|
+
}
|
|
15450
15458
|
}
|
|
15451
15459
|
|
|
15452
15460
|
/**
|
|
15453
15461
|
* Handles user hover events and dispatches a custom event.
|
|
15462
|
+
* Does NOT set any reactive properties — the range preview is handled
|
|
15463
|
+
* imperatively by the calendar component to avoid O(N) re-renders.
|
|
15454
15464
|
* @private
|
|
15455
15465
|
* @returns {void}
|
|
15456
15466
|
*/
|
|
15457
15467
|
handleHover() {
|
|
15458
|
-
this.hovered = true;
|
|
15459
|
-
|
|
15460
|
-
let _a;
|
|
15461
15468
|
this.dispatchEvent(new CustomEvent('date-is-hovered', {
|
|
15462
|
-
detail: { date:
|
|
15469
|
+
detail: { date: this.day?.date },
|
|
15470
|
+
}));
|
|
15471
|
+
}
|
|
15472
|
+
|
|
15473
|
+
/**
|
|
15474
|
+
* Handles focus events on the cell button.
|
|
15475
|
+
* Dispatches a lightweight event for the calendar to handle SR
|
|
15476
|
+
* announcements and range preview updates without triggering
|
|
15477
|
+
* any Lit lifecycle updates.
|
|
15478
|
+
* @private
|
|
15479
|
+
* @returns {void}
|
|
15480
|
+
*/
|
|
15481
|
+
handleFocus() {
|
|
15482
|
+
this.dispatchEvent(new CustomEvent('calendar-cell-focused', {
|
|
15483
|
+
bubbles: true,
|
|
15484
|
+
composed: true,
|
|
15485
|
+
detail: { date: this.day?.date },
|
|
15463
15486
|
}));
|
|
15464
15487
|
}
|
|
15465
15488
|
|
|
15466
15489
|
/**
|
|
15467
|
-
* Checks if the current date is
|
|
15490
|
+
* Checks if the current date is outside the valid min/max range.
|
|
15491
|
+
* Out-of-range cells are not focusable and are hidden from screen readers.
|
|
15492
|
+
* @private
|
|
15493
|
+
* @param {Object} day - An object containing the dateFrom and day of month values.
|
|
15494
|
+
* @param {Number} min - The minimum date value.
|
|
15495
|
+
* @param {Number} max - The maximum date value.
|
|
15496
|
+
* @returns {Boolean} - True if the date is out of range.
|
|
15497
|
+
*/
|
|
15498
|
+
isOutOfRange(day, min, max) {
|
|
15499
|
+
if (day && day.date != null) {
|
|
15500
|
+
return day.date < min || day.date > max;
|
|
15501
|
+
}
|
|
15502
|
+
return false;
|
|
15503
|
+
}
|
|
15504
|
+
|
|
15505
|
+
/**
|
|
15506
|
+
* Checks if the current date is a blackout date (in disabledDays but within range).
|
|
15507
|
+
* Blackout cells are focusable but not selectable.
|
|
15508
|
+
* @private
|
|
15509
|
+
* @returns {Boolean} - True if the date is a blackout date.
|
|
15510
|
+
*/
|
|
15511
|
+
isBlackout() {
|
|
15512
|
+
if (!this.day || this.day.date == null || this.isOutOfRange(this.day, this.min, this.max)) {
|
|
15513
|
+
return false;
|
|
15514
|
+
}
|
|
15515
|
+
|
|
15516
|
+
// Check against disabledDays timestamps (legacy path)
|
|
15517
|
+
if (Array.isArray(this.disabledDays) && this.disabledDays.length > 0) {
|
|
15518
|
+
if (this.disabledDays.findIndex(d => parseInt(d, 10) === this.day.date) !== -1) {
|
|
15519
|
+
return true;
|
|
15520
|
+
}
|
|
15521
|
+
}
|
|
15522
|
+
|
|
15523
|
+
// Check against blackoutDates (ISO format YYYY-MM-DD) on the datepicker
|
|
15524
|
+
const blackoutDates = this.datepicker?.blackoutDates;
|
|
15525
|
+
|
|
15526
|
+
if (Array.isArray(blackoutDates) && blackoutDates.length > 0) {
|
|
15527
|
+
const date = new Date(this.day.date * 1000);
|
|
15528
|
+
const yyyy = date.getFullYear();
|
|
15529
|
+
const mm = String(date.getMonth() + 1).padStart(2, '0');
|
|
15530
|
+
const dd = String(date.getDate()).padStart(2, '0');
|
|
15531
|
+
const cellDate = `${yyyy}-${mm}-${dd}`;
|
|
15532
|
+
if (blackoutDates.includes(cellDate)) {
|
|
15533
|
+
return true;
|
|
15534
|
+
}
|
|
15535
|
+
}
|
|
15536
|
+
|
|
15537
|
+
return false;
|
|
15538
|
+
}
|
|
15539
|
+
|
|
15540
|
+
/**
|
|
15541
|
+
* Checks if the current date is disabled based on min/max range or the
|
|
15542
|
+
* legacy disabledDays timestamp list. Sets the `disabled` attribute on the
|
|
15543
|
+
* host when the date falls outside the allowed range or appears in
|
|
15544
|
+
* disabledDays. Note: blackout dates are handled separately by `isBlackout()`.
|
|
15468
15545
|
* @private
|
|
15469
15546
|
* @param {Object} day - An object containing the dateFrom and day of month values.
|
|
15470
15547
|
* @param {Number} min - The minimum date value.
|
|
@@ -15484,6 +15561,105 @@ class AuroCalendarCell extends i$3 {
|
|
|
15484
15561
|
return false;
|
|
15485
15562
|
}
|
|
15486
15563
|
|
|
15564
|
+
/**
|
|
15565
|
+
* Generates a unique cell ID in the format cell-YYYY-MM-DD.
|
|
15566
|
+
* @private
|
|
15567
|
+
* @returns {String} The unique cell ID.
|
|
15568
|
+
*/
|
|
15569
|
+
getCellId() {
|
|
15570
|
+
if (!this.day || !this.day.date) return '';
|
|
15571
|
+
const date = new Date(this.day.date * 1000);
|
|
15572
|
+
const year = date.getFullYear();
|
|
15573
|
+
const month = String(date.getMonth() + 1).padStart(2, '0');
|
|
15574
|
+
const day = String(date.getDate()).padStart(2, '0');
|
|
15575
|
+
return `cell-${year}-${month}-${day}`;
|
|
15576
|
+
}
|
|
15577
|
+
|
|
15578
|
+
/**
|
|
15579
|
+
* Generates a localized aria-label for the cell button using Intl.DateTimeFormat.
|
|
15580
|
+
* Includes range position and blackout status.
|
|
15581
|
+
* @private
|
|
15582
|
+
* @returns {String} The aria-label string.
|
|
15583
|
+
*/
|
|
15584
|
+
getAriaLabel() {
|
|
15585
|
+
if (!this.day || this.day.date === undefined) return '';
|
|
15586
|
+
|
|
15587
|
+
const date = new Date(this.day.date * 1000);
|
|
15588
|
+
|
|
15589
|
+
// Generate localized full date string using the configured locale
|
|
15590
|
+
const localeCode = this.locale?.code || undefined;
|
|
15591
|
+
const dateFormatter = new Intl.DateTimeFormat(localeCode, {
|
|
15592
|
+
weekday: 'long',
|
|
15593
|
+
year: 'numeric',
|
|
15594
|
+
month: 'long',
|
|
15595
|
+
day: 'numeric'
|
|
15596
|
+
});
|
|
15597
|
+
|
|
15598
|
+
let label = dateFormatter.format(date);
|
|
15599
|
+
|
|
15600
|
+
// Append date slot content (e.g. prices) so it is announced with the date.
|
|
15601
|
+
if (this.renderForDateSlot) {
|
|
15602
|
+
const dateSlotEl = this.querySelector(`[slot="date_${this.dateStr}"]`);
|
|
15603
|
+
if (dateSlotEl) {
|
|
15604
|
+
const text = dateSlotEl.innerText?.trim();
|
|
15605
|
+
if (text) {
|
|
15606
|
+
label += `, ${text}`;
|
|
15607
|
+
}
|
|
15608
|
+
}
|
|
15609
|
+
}
|
|
15610
|
+
|
|
15611
|
+
// appending popover content here so that it gets read in a logical order with the other date content.
|
|
15612
|
+
if (this.hasPopoverContent) {
|
|
15613
|
+
const popoverEl = this.querySelector(`[slot="popover_${this.dateStr}"]`);
|
|
15614
|
+
if (popoverEl) {
|
|
15615
|
+
label += `, ${popoverEl.innerText.trim()}`;
|
|
15616
|
+
}
|
|
15617
|
+
}
|
|
15618
|
+
|
|
15619
|
+
// Append range position label for range datepickers
|
|
15620
|
+
const rangePosition = this.getRangePosition();
|
|
15621
|
+
if (rangePosition) {
|
|
15622
|
+
label += `, ${rangePosition}`;
|
|
15623
|
+
}
|
|
15624
|
+
|
|
15625
|
+
// Append blackout label for blackout cells
|
|
15626
|
+
if (this.isBlackout()) {
|
|
15627
|
+
label += `, ${this.datepicker?.blackoutLabel || 'unavailable'}`;
|
|
15628
|
+
}
|
|
15629
|
+
|
|
15630
|
+
return label;
|
|
15631
|
+
}
|
|
15632
|
+
|
|
15633
|
+
/**
|
|
15634
|
+
* Determines the range position of this cell relative to the current selection.
|
|
15635
|
+
* @private
|
|
15636
|
+
* @returns {String|null} Range position label or null if not in range mode.
|
|
15637
|
+
*/
|
|
15638
|
+
getRangePosition() {
|
|
15639
|
+
if (!this.datepicker || !this.datepicker.hasAttribute('range')) return null;
|
|
15640
|
+
|
|
15641
|
+
const parsedDateFrom = Number.parseInt(this.dateFrom, 10);
|
|
15642
|
+
if (!Number.isFinite(parsedDateFrom)) return null;
|
|
15643
|
+
|
|
15644
|
+
const departTimestamp = startOfDay(parsedDateFrom * 1000) / 1000;
|
|
15645
|
+
const dayDate = this.day.date;
|
|
15646
|
+
|
|
15647
|
+
const parsedDateTo = Number.parseInt(this.dateTo, 10);
|
|
15648
|
+
const hasDateTo = Number.isFinite(parsedDateTo);
|
|
15649
|
+
const returnTimestamp = hasDateTo ? startOfDay(parsedDateTo * 1000) / 1000 : null;
|
|
15650
|
+
|
|
15651
|
+
if (dayDate === departTimestamp) return this.datepicker.rangeLabelStart || 'range start';
|
|
15652
|
+
|
|
15653
|
+
if (hasDateTo && dayDate === returnTimestamp) return this.datepicker.rangeLabelEnd || 'range end';
|
|
15654
|
+
|
|
15655
|
+
if (dayDate < departTimestamp) return this.datepicker.rangeLabelBeforeRange || 'before range';
|
|
15656
|
+
|
|
15657
|
+
if (hasDateTo && dayDate > departTimestamp && dayDate < returnTimestamp) return this.datepicker.rangeLabelInRange || 'in range';
|
|
15658
|
+
|
|
15659
|
+
// After start date, no end date yet, or after end date
|
|
15660
|
+
return this.datepicker.rangeLabelAfterRange || 'after range';
|
|
15661
|
+
}
|
|
15662
|
+
|
|
15487
15663
|
/**
|
|
15488
15664
|
* Checks if the current date is the depart date.
|
|
15489
15665
|
* @private
|
|
@@ -15645,9 +15821,9 @@ class AuroCalendarCell extends i$3 {
|
|
|
15645
15821
|
|
|
15646
15822
|
if (popoverSlotContent) {
|
|
15647
15823
|
this.appendChild(popoverSlotContent.cloneNode(true));
|
|
15648
|
-
this.
|
|
15824
|
+
this.hasPopoverContent = true;
|
|
15649
15825
|
} else {
|
|
15650
|
-
this.
|
|
15826
|
+
this.hasPopoverContent = false;
|
|
15651
15827
|
}
|
|
15652
15828
|
} catch (err) { // eslint-disable-line no-unused-vars
|
|
15653
15829
|
// Error handling goes here
|
|
@@ -15663,60 +15839,244 @@ class AuroCalendarCell extends i$3 {
|
|
|
15663
15839
|
return;
|
|
15664
15840
|
}
|
|
15665
15841
|
this.datepicker = calendar.datepicker;
|
|
15666
|
-
this.
|
|
15842
|
+
this._slotContentHandler = () => {
|
|
15667
15843
|
this.handleSlotContent();
|
|
15844
|
+
// Force re-render so isBlackout()/aria-disabled reflect updated blackoutDates.
|
|
15845
|
+
this.requestUpdate();
|
|
15846
|
+
};
|
|
15847
|
+
this.datepicker.addEventListener('auroDatePicker-newSlotContent', this._slotContentHandler);
|
|
15848
|
+
|
|
15849
|
+
// Cache button reference for imperative class manipulation.
|
|
15850
|
+
this.updateComplete.then(() => {
|
|
15851
|
+
this._cachedButton = this.shadowRoot.querySelector('button.day');
|
|
15668
15852
|
});
|
|
15669
15853
|
|
|
15854
|
+
// Trigger an initial update now that `this.datepicker` is assigned so
|
|
15855
|
+
// cells reflect blackout/slot state that was configured before first render.
|
|
15856
|
+
this.requestUpdate();
|
|
15857
|
+
|
|
15858
|
+
this.calendarMonth = calendarMonth;
|
|
15859
|
+
this.configurePopover();
|
|
15860
|
+
}
|
|
15861
|
+
|
|
15862
|
+
disconnectedCallback() {
|
|
15863
|
+
super.disconnectedCallback();
|
|
15864
|
+
if (this.datepicker && this._slotContentHandler) {
|
|
15865
|
+
this.datepicker.removeEventListener('auroDatePicker-newSlotContent', this._slotContentHandler);
|
|
15866
|
+
}
|
|
15867
|
+
}
|
|
15868
|
+
|
|
15869
|
+
/**
|
|
15870
|
+
* Configures the popover instance with the calendar month boundary.
|
|
15871
|
+
* Called from firstUpdated and updated because the popover element is only
|
|
15872
|
+
* rendered after hasPopoverContent becomes true (set by handleSlotContent).
|
|
15873
|
+
* @private
|
|
15874
|
+
* @returns {void}
|
|
15875
|
+
*/
|
|
15876
|
+
configurePopover() {
|
|
15670
15877
|
this.auroPopover = this.shadowRoot.querySelector(this.popoverTag._$litStatic$);
|
|
15671
15878
|
|
|
15672
|
-
this.auroPopover
|
|
15879
|
+
if (this.auroPopover && this.calendarMonth) {
|
|
15880
|
+
this.auroPopover.boundary = this.calendarMonth;
|
|
15881
|
+
}
|
|
15673
15882
|
}
|
|
15674
15883
|
|
|
15675
15884
|
updated(properties) {
|
|
15676
|
-
if (properties.has('dateFrom') || properties.has('dateTo') || properties.has('
|
|
15677
|
-
this.dateChanged(this.dateFrom, this.dateTo, this.
|
|
15885
|
+
if (properties.has('dateFrom') || properties.has('dateTo') || properties.has('day')) {
|
|
15886
|
+
this.dateChanged(this.dateFrom, this.dateTo, this.day);
|
|
15887
|
+
}
|
|
15888
|
+
|
|
15889
|
+
if (properties.has('day') && this.day) {
|
|
15890
|
+
this.setDateSlotName();
|
|
15891
|
+
this.handleSlotContent();
|
|
15892
|
+
|
|
15893
|
+
// Re-cache button reference when the day changes (cell may have re-rendered).
|
|
15894
|
+
this.updateComplete.then(() => {
|
|
15895
|
+
this._cachedButton = this.shadowRoot.querySelector('button.day');
|
|
15896
|
+
});
|
|
15897
|
+
|
|
15898
|
+
// Update host-level aria attributes for ariaActiveDescendantElement.
|
|
15899
|
+
this.updateHostAria();
|
|
15900
|
+
}
|
|
15901
|
+
|
|
15902
|
+
// Update host aria when selection changes (aria-selected, range labels)
|
|
15903
|
+
if (properties.has('dateFrom') || properties.has('dateTo') || properties.has('selected')) {
|
|
15904
|
+
this.updateHostAria();
|
|
15678
15905
|
}
|
|
15679
15906
|
|
|
15680
|
-
|
|
15681
|
-
|
|
15907
|
+
// Configure popover when it first becomes rendered
|
|
15908
|
+
if (properties.has('hasPopoverContent') && this.hasPopoverContent) {
|
|
15909
|
+
this.updateComplete.then(() => this.configurePopover());
|
|
15910
|
+
}
|
|
15682
15911
|
}
|
|
15683
15912
|
|
|
15684
|
-
|
|
15913
|
+
/**
|
|
15914
|
+
* Updates ARIA attributes on the host element so that
|
|
15915
|
+
* ariaActiveDescendantElement can expose cell info to the SR.
|
|
15916
|
+
* @private
|
|
15917
|
+
* @returns {void}
|
|
15918
|
+
*/
|
|
15919
|
+
updateHostAria() {
|
|
15920
|
+
if (!this.day || this.day.date === undefined) return;
|
|
15921
|
+
|
|
15922
|
+
const outOfRange = this.isOutOfRange(this.day, this.min, this.max);
|
|
15923
|
+
if (outOfRange) {
|
|
15924
|
+
this.removeAttribute('role');
|
|
15925
|
+
this.removeAttribute('aria-label');
|
|
15926
|
+
return;
|
|
15927
|
+
}
|
|
15928
|
+
|
|
15929
|
+
// The host acts as the gridcell for ariaActiveDescendantElement.
|
|
15930
|
+
this.setAttribute('role', 'gridcell');
|
|
15931
|
+
this.setAttribute('aria-label', this.getAriaLabel());
|
|
15932
|
+
this.setAttribute('aria-selected', this.selected ? 'true' : 'false');
|
|
15933
|
+
|
|
15934
|
+
if (this.isBlackout()) {
|
|
15935
|
+
this.setAttribute('aria-disabled', 'true');
|
|
15936
|
+
} else {
|
|
15937
|
+
this.removeAttribute('aria-disabled');
|
|
15938
|
+
}
|
|
15939
|
+
}
|
|
15940
|
+
|
|
15941
|
+
/**
|
|
15942
|
+
* Programmatically focuses the cell's interactive button element.
|
|
15943
|
+
* Uses focusVisible: true so the :focus-visible ring appears even when
|
|
15944
|
+
* the bib was opened via mouse click (which sets mouse input modality).
|
|
15945
|
+
* @returns {void}
|
|
15946
|
+
*/
|
|
15947
|
+
focusButton() {
|
|
15948
|
+
const button = this._cachedButton || this.shadowRoot.querySelector('button:not([aria-hidden])');
|
|
15949
|
+
if (button) {
|
|
15950
|
+
button.focus({ focusVisible: true });
|
|
15951
|
+
}
|
|
15952
|
+
}
|
|
15953
|
+
|
|
15954
|
+
/**
|
|
15955
|
+
* Imperatively marks this cell as active (tabindex="0") without
|
|
15956
|
+
* triggering a Lit re-render.
|
|
15957
|
+
* @returns {void}
|
|
15958
|
+
*/
|
|
15959
|
+
setActive() {
|
|
15960
|
+
this.active = true;
|
|
15961
|
+
const btn = this._cachedButton;
|
|
15962
|
+
if (btn) {
|
|
15963
|
+
btn.setAttribute('tabindex', '0');
|
|
15964
|
+
btn.classList.add('visualFocus');
|
|
15965
|
+
}
|
|
15966
|
+
}
|
|
15967
|
+
|
|
15968
|
+
/**
|
|
15969
|
+
* Imperatively marks this cell as inactive (tabindex="-1") without
|
|
15970
|
+
* triggering a Lit re-render.
|
|
15971
|
+
* @returns {void}
|
|
15972
|
+
*/
|
|
15973
|
+
clearActive() {
|
|
15974
|
+
this.active = false;
|
|
15975
|
+
const btn = this._cachedButton;
|
|
15976
|
+
if (btn) {
|
|
15977
|
+
btn.setAttribute('tabindex', '-1');
|
|
15978
|
+
btn.classList.remove('visualFocus');
|
|
15979
|
+
}
|
|
15980
|
+
}
|
|
15981
|
+
|
|
15982
|
+
/**
|
|
15983
|
+
* Updates range preview classes imperatively (no Lit re-render).
|
|
15984
|
+
* Called by the calendar component when the hovered date changes
|
|
15985
|
+
* during range selection (dateFrom set, dateTo not yet set).
|
|
15986
|
+
* @param {Number} hoveredDate - Unix timestamp of the currently hovered/focused date.
|
|
15987
|
+
* @param {Number} dateFrom - Unix timestamp of the selected departure date.
|
|
15988
|
+
* @returns {void}
|
|
15989
|
+
*/
|
|
15990
|
+
updateRangePreviewClasses(hoveredDate, dateFrom) {
|
|
15991
|
+
const btn = this._cachedButton;
|
|
15992
|
+
if (!btn || !this.day) return;
|
|
15993
|
+
|
|
15994
|
+
const dayDate = this.day.date;
|
|
15995
|
+
const departTimestamp = startOfDay(dateFrom * 1000) / 1000;
|
|
15996
|
+
const isInRange = dayDate > departTimestamp && dayDate < hoveredDate;
|
|
15997
|
+
const isLastHovered = dayDate === hoveredDate && hoveredDate > departTimestamp;
|
|
15998
|
+
const isDepartWithPreview = dayDate === departTimestamp && hoveredDate > departTimestamp;
|
|
15999
|
+
|
|
16000
|
+
btn.classList.toggle('inRange', isInRange);
|
|
16001
|
+
btn.classList.toggle('lastHoveredDate', isLastHovered);
|
|
16002
|
+
btn.classList.toggle('rangeDepartDate', isDepartWithPreview);
|
|
16003
|
+
}
|
|
16004
|
+
|
|
16005
|
+
/**
|
|
16006
|
+
* Clears all imperative range preview classes from the cell button.
|
|
16007
|
+
* Called when a selection occurs so classMap becomes the sole source of truth.
|
|
16008
|
+
* @returns {void}
|
|
16009
|
+
*/
|
|
16010
|
+
clearRangePreviewClasses() {
|
|
16011
|
+
const btn = this._cachedButton;
|
|
16012
|
+
if (!btn) return;
|
|
16013
|
+
|
|
16014
|
+
btn.classList.remove('inRange', 'lastHoveredDate', 'rangeDepartDate');
|
|
16015
|
+
}
|
|
16016
|
+
|
|
16017
|
+
renderCellButton() {
|
|
16018
|
+
const outOfRange = this.isOutOfRange(this.day, this.min, this.max);
|
|
16019
|
+
const role = outOfRange ? 'presentation' : 'gridcell';
|
|
16020
|
+
const blackout = this.isBlackout();
|
|
16021
|
+
|
|
16022
|
+
// Static and selection-driven classes only. Hover-driven classes
|
|
16023
|
+
// (inRange, lastHoveredDate, rangeDepartDate during preview) are
|
|
16024
|
+
// managed imperatively via updateRangePreviewClasses() to avoid
|
|
16025
|
+
// O(N) Lit re-renders on every focus/hover event.
|
|
15685
16026
|
const buttonClasses = {
|
|
15686
16027
|
'day': true,
|
|
15687
16028
|
'body-lg': true,
|
|
15688
|
-
'currentDate': this.
|
|
16029
|
+
'currentDate': this.isCurrentDate,
|
|
15689
16030
|
'selected': this.selected,
|
|
15690
|
-
'inRange': this.
|
|
15691
|
-
'
|
|
15692
|
-
'
|
|
15693
|
-
'rangeDepartDate': this.isDepartDate(this.day, this.dateFrom) &&
|
|
15694
|
-
'rangeReturnDate': this.isReturnDate(this.day, this.dateFrom, this.dateTo),
|
|
16031
|
+
'inRange': this.datepicker?.hasAttribute('range') && this.dateTo && this.isInRange(this.day, this.dateFrom, this.dateTo),
|
|
16032
|
+
'disabled': outOfRange,
|
|
16033
|
+
'blackout': blackout,
|
|
16034
|
+
'rangeDepartDate': this.datepicker?.hasAttribute('range') && this.isDepartDate(this.day, this.dateFrom) && this.dateTo,
|
|
16035
|
+
'rangeReturnDate': this.datepicker?.hasAttribute('range') && this.isReturnDate(this.day, this.dateFrom, this.dateTo),
|
|
15695
16036
|
'reference': this.isReferenceDate(this.dateStr),
|
|
15696
|
-
'sameDateTrip': this.dateFrom === this.dateTo
|
|
16037
|
+
'sameDateTrip': this.datepicker?.hasAttribute('range') && this.dateFrom === this.dateTo
|
|
15697
16038
|
};
|
|
15698
16039
|
|
|
15699
|
-
let _a, _b;
|
|
15700
16040
|
return u$d`
|
|
15701
|
-
|
|
15702
|
-
|
|
15703
|
-
|
|
15704
|
-
|
|
15705
|
-
|
|
15706
|
-
|
|
15707
|
-
|
|
15708
|
-
|
|
15709
|
-
|
|
15710
|
-
|
|
15711
|
-
|
|
15712
|
-
|
|
15713
|
-
|
|
15714
|
-
|
|
15715
|
-
|
|
15716
|
-
|
|
15717
|
-
</div>
|
|
15718
|
-
</
|
|
15719
|
-
|
|
16041
|
+
<button
|
|
16042
|
+
slot="trigger"
|
|
16043
|
+
id="${this.getCellId()}"
|
|
16044
|
+
role="${role}"
|
|
16045
|
+
@click="${outOfRange ? undefined : this.handleTap}"
|
|
16046
|
+
@mouseover="${outOfRange ? undefined : this.handleHover}"
|
|
16047
|
+
@focus="${outOfRange ? undefined : this.handleFocus}"
|
|
16048
|
+
class="${e$3(buttonClasses)}"
|
|
16049
|
+
?disabled="${outOfRange}"
|
|
16050
|
+
aria-label="${this.getAriaLabel()}"
|
|
16051
|
+
aria-disabled="${blackout ? 'true' : A$7}"
|
|
16052
|
+
aria-hidden="${outOfRange ? 'true' : A$7}"
|
|
16053
|
+
aria-selected="${this.selected ? 'true' : 'false'}"
|
|
16054
|
+
aria-current="${this.isCurrentDate ? 'date' : A$7}"
|
|
16055
|
+
tabindex="${this.active ? '0' : '-1'}">
|
|
16056
|
+
<div class="buttonWrapper" aria-hidden="true">
|
|
16057
|
+
<div class="currentDayMarker">${this.day?.title || A$7}</div>
|
|
16058
|
+
</div>
|
|
16059
|
+
<div class="dateSlot body-2xs" part="dateSlot" aria-hidden="true" ?hidden="${!this.renderForDateSlot}">
|
|
16060
|
+
<slot name="date_${this.dateStr}"></slot>
|
|
16061
|
+
</div>
|
|
16062
|
+
</button>
|
|
16063
|
+
`;
|
|
16064
|
+
}
|
|
16065
|
+
|
|
16066
|
+
render() {
|
|
16067
|
+
const hasPopoverContent = this.hasPopoverContent;
|
|
16068
|
+
|
|
16069
|
+
if (hasPopoverContent) {
|
|
16070
|
+
return u$d`
|
|
16071
|
+
<${this.popoverTag}>
|
|
16072
|
+
<span aria-hidden="true"><slot name="popover_${this.dateStr}"></slot></span>
|
|
16073
|
+
${this.renderCellButton()}
|
|
16074
|
+
</${this.popoverTag}>
|
|
16075
|
+
`;
|
|
16076
|
+
}
|
|
16077
|
+
|
|
16078
|
+
return u$d`
|
|
16079
|
+
${this.renderCellButton()}
|
|
15720
16080
|
`;
|
|
15721
16081
|
}
|
|
15722
16082
|
}
|
|
@@ -15784,16 +16144,28 @@ class AuroCalendarMonth extends RangeDatepickerCalendar {
|
|
|
15784
16144
|
return this.monthNames[month - 1];
|
|
15785
16145
|
}
|
|
15786
16146
|
|
|
16147
|
+
/**
|
|
16148
|
+
* Returns the unique heading ID for this month, used by aria-labelledby.
|
|
16149
|
+
* @private
|
|
16150
|
+
* @returns {String} The heading ID.
|
|
16151
|
+
*/
|
|
16152
|
+
getHeadingId() {
|
|
16153
|
+
return `month-heading-${this.month}-${this.year}`;
|
|
16154
|
+
}
|
|
16155
|
+
|
|
15787
16156
|
/**
|
|
15788
16157
|
* Determines the current month name based on locale.
|
|
16158
|
+
* Also builds parallel arrays of full day names for abbr attributes.
|
|
15789
16159
|
* This is a rewrite of the function used in the class RangeDatepickerCalendar and should not be removed from here.
|
|
15790
16160
|
* @private
|
|
15791
16161
|
* @returns {void}
|
|
15792
16162
|
*/
|
|
15793
16163
|
localeChanged() {
|
|
15794
16164
|
const dayNamesOfTheWeek = [];
|
|
16165
|
+
const dayFullNames = [];
|
|
15795
16166
|
for (let int = 0; int < 7; int += 1) {
|
|
15796
16167
|
dayNamesOfTheWeek.push(this.locale.localize.day(int, { width: 'narrow' }));
|
|
16168
|
+
dayFullNames.push(this.locale.localize.day(int, { width: 'long' }));
|
|
15797
16169
|
}
|
|
15798
16170
|
const firstDayOfWeek = this.locale.options.weekStartsOn
|
|
15799
16171
|
? this.locale.options.weekStartsOn
|
|
@@ -15804,6 +16176,139 @@ class AuroCalendarMonth extends RangeDatepickerCalendar {
|
|
|
15804
16176
|
.splice(firstDayOfWeek, dayNamesOfTheWeek.length)
|
|
15805
16177
|
.concat(tmp);
|
|
15806
16178
|
this.dayNamesOfTheWeek = newDayNamesOfTheWeek;
|
|
16179
|
+
|
|
16180
|
+
const tmpFull = dayFullNames.slice().splice(0, firstDayOfWeek);
|
|
16181
|
+
const newDayFullNames = dayFullNames
|
|
16182
|
+
.slice()
|
|
16183
|
+
.splice(firstDayOfWeek, dayFullNames.length)
|
|
16184
|
+
.concat(tmpFull);
|
|
16185
|
+
this.dayFullNames = newDayFullNames;
|
|
16186
|
+
}
|
|
16187
|
+
|
|
16188
|
+
/**
|
|
16189
|
+
* Renders a day-of-week header with abbr attribute for the full day name.
|
|
16190
|
+
* @private
|
|
16191
|
+
* @param {String} dayOfWeek - The short day name.
|
|
16192
|
+
* @param {Number} index - The index in the dayNamesOfTheWeek array.
|
|
16193
|
+
* @returns {Object} The header HTML.
|
|
16194
|
+
*/
|
|
16195
|
+
renderDayOfWeek(dayOfWeek, index) {
|
|
16196
|
+
const fullName = this.dayFullNames ? this.dayFullNames[index] : dayOfWeek;
|
|
16197
|
+
return b$8`<div class="th body-default" role="columnheader"><abbr title="${fullName}">${dayOfWeek}</abbr></div>`;
|
|
16198
|
+
}
|
|
16199
|
+
|
|
16200
|
+
/**
|
|
16201
|
+
* Returns all focusable cell elements (enabled + blackout, not out-of-range) in this month.
|
|
16202
|
+
* @returns {Array} Array of auro-formkit-calendar-cell elements.
|
|
16203
|
+
*/
|
|
16204
|
+
getFocusableCells() {
|
|
16205
|
+
const cells = Array.from(this.shadowRoot.querySelectorAll('auro-formkit-calendar-cell'));
|
|
16206
|
+
return cells.filter(cell => {
|
|
16207
|
+
if (!cell.day) return false;
|
|
16208
|
+
return !cell.isOutOfRange(cell.day, cell.min, cell.max);
|
|
16209
|
+
});
|
|
16210
|
+
}
|
|
16211
|
+
|
|
16212
|
+
/**
|
|
16213
|
+
* Overrides the base class handler to prevent setting `this.hoveredDate`
|
|
16214
|
+
* as a reactive property. Instead, just dispatches the event upward so
|
|
16215
|
+
* the calendar can handle range preview imperatively.
|
|
16216
|
+
* @private
|
|
16217
|
+
* @param {CustomEvent} event - The date-is-hovered event from a cell.
|
|
16218
|
+
* @returns {void}
|
|
16219
|
+
*/
|
|
16220
|
+
handleDateHovered(event) {
|
|
16221
|
+
this.dispatchEvent(new CustomEvent('hovered-date-changed', {
|
|
16222
|
+
detail: { value: event.detail.date },
|
|
16223
|
+
}));
|
|
16224
|
+
}
|
|
16225
|
+
|
|
16226
|
+
/**
|
|
16227
|
+
* Handles arrow key navigation within the month grid.
|
|
16228
|
+
* Dispatches a cross-month navigation event when the boundary is reached.
|
|
16229
|
+
* @private
|
|
16230
|
+
* @param {KeyboardEvent} event - The keyboard event.
|
|
16231
|
+
* @returns {void}
|
|
16232
|
+
*/
|
|
16233
|
+
handleGridKeyDown(event) {
|
|
16234
|
+
const { key } = event;
|
|
16235
|
+
const arrowKeys = ['ArrowRight', 'ArrowLeft', 'ArrowDown', 'ArrowUp'];
|
|
16236
|
+
|
|
16237
|
+
if (!arrowKeys.includes(key)) return;
|
|
16238
|
+
|
|
16239
|
+
event.preventDefault();
|
|
16240
|
+
|
|
16241
|
+
const focusableCells = this.getFocusableCells();
|
|
16242
|
+
if (focusableCells.length === 0) return;
|
|
16243
|
+
|
|
16244
|
+
// Find the currently active cell within this month
|
|
16245
|
+
const activeCell = focusableCells.find(cell => cell.active);
|
|
16246
|
+
if (!activeCell) return;
|
|
16247
|
+
|
|
16248
|
+
const activeIndex = focusableCells.indexOf(activeCell);
|
|
16249
|
+
let targetCell = null;
|
|
16250
|
+
|
|
16251
|
+
if (key === 'ArrowRight') {
|
|
16252
|
+
if (activeIndex < focusableCells.length - 1) {
|
|
16253
|
+
targetCell = focusableCells[activeIndex + 1];
|
|
16254
|
+
} else {
|
|
16255
|
+
// At end of month, request cross-month navigation
|
|
16256
|
+
this.dispatchEvent(new CustomEvent('calendar-month-boundary', {
|
|
16257
|
+
bubbles: true,
|
|
16258
|
+
composed: true,
|
|
16259
|
+
detail: { direction: 'next', fromDate: activeCell.day.date, key }
|
|
16260
|
+
}));
|
|
16261
|
+
return;
|
|
16262
|
+
}
|
|
16263
|
+
} else if (key === 'ArrowLeft') {
|
|
16264
|
+
if (activeIndex > 0) {
|
|
16265
|
+
targetCell = focusableCells[activeIndex - 1];
|
|
16266
|
+
} else {
|
|
16267
|
+
// At start of month, request cross-month navigation
|
|
16268
|
+
this.dispatchEvent(new CustomEvent('calendar-month-boundary', {
|
|
16269
|
+
bubbles: true,
|
|
16270
|
+
composed: true,
|
|
16271
|
+
detail: { direction: 'prev', fromDate: activeCell.day.date, key }
|
|
16272
|
+
}));
|
|
16273
|
+
return;
|
|
16274
|
+
}
|
|
16275
|
+
} else if (key === 'ArrowDown' || key === 'ArrowUp') {
|
|
16276
|
+
// Find the target day (same day-of-week, +/- 7 days)
|
|
16277
|
+
// Use Date arithmetic instead of fixed seconds to handle DST correctly
|
|
16278
|
+
const increment = key === 'ArrowDown' ? 7 : -7;
|
|
16279
|
+
const currentDate = new Date(activeCell.day.date * 1000);
|
|
16280
|
+
currentDate.setDate(currentDate.getDate() + increment);
|
|
16281
|
+
currentDate.setHours(0, 0, 0, 0);
|
|
16282
|
+
const targetDate = Math.floor(currentDate.getTime() / 1000);
|
|
16283
|
+
|
|
16284
|
+
// Look for the target date in this month's focusable cells
|
|
16285
|
+
targetCell = focusableCells.find(cell => cell.day.date === targetDate);
|
|
16286
|
+
|
|
16287
|
+
if (!targetCell) {
|
|
16288
|
+
// Target is in another month or all cells in that direction are disabled
|
|
16289
|
+
const direction = key === 'ArrowDown' ? 'next' : 'prev';
|
|
16290
|
+
this.dispatchEvent(new CustomEvent('calendar-month-boundary', {
|
|
16291
|
+
bubbles: true,
|
|
16292
|
+
composed: true,
|
|
16293
|
+
detail: { direction, fromDate: activeCell.day.date, key }
|
|
16294
|
+
}));
|
|
16295
|
+
return;
|
|
16296
|
+
}
|
|
16297
|
+
}
|
|
16298
|
+
|
|
16299
|
+
if (targetCell) {
|
|
16300
|
+
this.dispatchEvent(new CustomEvent('calendar-cell-activate', {
|
|
16301
|
+
bubbles: true,
|
|
16302
|
+
composed: true,
|
|
16303
|
+
detail: { date: targetCell.day.date }
|
|
16304
|
+
}));
|
|
16305
|
+
}
|
|
16306
|
+
}
|
|
16307
|
+
|
|
16308
|
+
renderWeek(week) {
|
|
16309
|
+
return b$8`
|
|
16310
|
+
<div class="tr" role="row">${week.map((day) => this.renderDay(day))}</div>
|
|
16311
|
+
`;
|
|
15807
16312
|
}
|
|
15808
16313
|
|
|
15809
16314
|
renderDay(day) {
|
|
@@ -15816,7 +16321,6 @@ class AuroCalendarMonth extends RangeDatepickerCalendar {
|
|
|
15816
16321
|
.min="${this.min}"
|
|
15817
16322
|
.max="${this.max}"
|
|
15818
16323
|
.month="${this.month}"
|
|
15819
|
-
.hoveredDate="${this.hoveredDate}"
|
|
15820
16324
|
.dateTo="${this.dateTo}"
|
|
15821
16325
|
.dateFrom="${this.dateFrom}"
|
|
15822
16326
|
.locale="${this.locale}"
|
|
@@ -15827,7 +16331,7 @@ class AuroCalendarMonth extends RangeDatepickerCalendar {
|
|
|
15827
16331
|
>
|
|
15828
16332
|
</auro-formkit-calendar-cell>
|
|
15829
16333
|
`
|
|
15830
|
-
:
|
|
16334
|
+
: b$8`<div aria-hidden="true" inert></div>`}
|
|
15831
16335
|
</div>
|
|
15832
16336
|
`;
|
|
15833
16337
|
}
|
|
@@ -15838,10 +16342,10 @@ class AuroCalendarMonth extends RangeDatepickerCalendar {
|
|
|
15838
16342
|
var _a, _b;
|
|
15839
16343
|
|
|
15840
16344
|
return b$8 `
|
|
15841
|
-
<div>
|
|
16345
|
+
<div aria-labelledby="${this.getHeadingId()}">
|
|
15842
16346
|
<div class="header">
|
|
15843
16347
|
${this.renderPrevButton()}
|
|
15844
|
-
<div class="headerTitle heading-xs">
|
|
16348
|
+
<div class="headerTitle heading-xs" id="${this.getHeadingId()}" aria-live="polite" aria-atomic="true">
|
|
15845
16349
|
${this.monthFirst ? b$8`
|
|
15846
16350
|
<div>${this.computeCurrentMonthName(this.month)}</div>
|
|
15847
16351
|
<div>${this.renderYear()}</div>
|
|
@@ -15853,13 +16357,13 @@ class AuroCalendarMonth extends RangeDatepickerCalendar {
|
|
|
15853
16357
|
${this.renderNextButton()}
|
|
15854
16358
|
</div>
|
|
15855
16359
|
|
|
15856
|
-
<div class="table">
|
|
15857
|
-
<div class="thead">
|
|
15858
|
-
<div class="tr">
|
|
15859
|
-
${(_a = this.dayNamesOfTheWeek) === null || _a === void 0 ? void 0 : _a.map(dayNameOfWeek => this.renderDayOfWeek(dayNameOfWeek))}
|
|
16360
|
+
<div class="table" role="grid" aria-labelledby="${this.getHeadingId()}" @keydown="${this.handleGridKeyDown}">
|
|
16361
|
+
<div class="thead" role="rowgroup">
|
|
16362
|
+
<div class="tr" role="row">
|
|
16363
|
+
${(_a = this.dayNamesOfTheWeek) === null || _a === void 0 ? void 0 : _a.map((dayNameOfWeek, index) => this.renderDayOfWeek(dayNameOfWeek, index))}
|
|
15860
16364
|
</div>
|
|
15861
16365
|
</div>
|
|
15862
|
-
<div class="tbody">
|
|
16366
|
+
<div class="tbody" role="rowgroup">
|
|
15863
16367
|
${(_b = this.daysOfMonth) === null || _b === void 0 ? void 0 : _b.map(week => this.renderWeek(week))}
|
|
15864
16368
|
</div>
|
|
15865
16369
|
</div>
|
|
@@ -16552,6 +17056,14 @@ let AuroBibtemplate$3 = class AuroBibtemplate extends i$3 {
|
|
|
16552
17056
|
large: {
|
|
16553
17057
|
type: Boolean,
|
|
16554
17058
|
reflect: true
|
|
17059
|
+
},
|
|
17060
|
+
|
|
17061
|
+
/**
|
|
17062
|
+
* If declared, the footer slot will be rendered even when not in fullscreen mode.
|
|
17063
|
+
*/
|
|
17064
|
+
showFooter: {
|
|
17065
|
+
type: Boolean,
|
|
17066
|
+
reflect: true
|
|
16555
17067
|
}
|
|
16556
17068
|
};
|
|
16557
17069
|
}
|
|
@@ -16654,7 +17166,7 @@ let AuroBibtemplate$3 = class AuroBibtemplate extends i$3 {
|
|
|
16654
17166
|
<slot></slot>
|
|
16655
17167
|
</div>
|
|
16656
17168
|
|
|
16657
|
-
${this.isFullscreen ? u$d`
|
|
17169
|
+
${this.isFullscreen || this.showFooter ? u$d`
|
|
16658
17170
|
<div id="footerContainer">
|
|
16659
17171
|
<slot name="footer"></slot>
|
|
16660
17172
|
</div>` : null}
|
|
@@ -16663,7 +17175,7 @@ let AuroBibtemplate$3 = class AuroBibtemplate extends i$3 {
|
|
|
16663
17175
|
}
|
|
16664
17176
|
};
|
|
16665
17177
|
|
|
16666
|
-
var formkitVersion$2$1 = '
|
|
17178
|
+
var formkitVersion$2$1 = '202605210248';
|
|
16667
17179
|
|
|
16668
17180
|
let l$1$2 = class l{generateElementName(t,e){let o=t;return o+="-",o+=e.replace(/[.]/g,"_"),o}generateTag(o,s,a){const r=this.generateElementName(o,s),i=i$6`${s$8(r)}`;return customElements.get(r)||customElements.define(r,class extends a{}),i}};let d$1$2 = class d{registerComponent(t,e){customElements.get(t)||customElements.define(t,class extends e{});}closestElement(t,e=this,o=(e,s=e&&e.closest(t))=>e&&e!==document&&e!==window?s||o(e.getRootNode().host):null){return o(e)}handleComponentTagRename(t,e){const o=e.toLowerCase();t.tagName.toLowerCase()!==o&&t.setAttribute(o,true);}elementMatch(t,e){const o=e.toLowerCase();return t.tagName.toLowerCase()===o||t.hasAttribute(o)}getSlotText(t,e){const o=t.shadowRoot?.querySelector(`slot[name="${e}"]`),s=(o?.assignedNodes({flatten:true})||[]).map(t=>t.textContent?.trim()).join(" ").trim();return s||null}};let h$1$2 = class h{registerComponent(t,e){customElements.get(t)||customElements.define(t,class extends e{});}closestElement(t,e=this,o=(e,s=e&&e.closest(t))=>e&&e!==document&&e!==window?s||o(e.getRootNode().host):null){return o(e)}handleComponentTagRename(t,e){const o=e.toLowerCase();t.tagName.toLowerCase()!==o&&t.setAttribute(o,true);}elementMatch(t,e){const o=e.toLowerCase();return t.tagName.toLowerCase()===o||t.hasAttribute(o)}};var c$1$3=i$5`:host{color:var(--ds-auro-loader-color)}:host>span{background-color:var(--ds-auro-loader-background-color);border-color:var(--ds-auro-loader-border-color)}:host([onlight]),:host([appearance=brand]){--ds-auro-loader-color: var(--ds-basic-color-brand-primary, #01426a)}:host([ondark]),:host([appearance=inverse]){--ds-auro-loader-color: var(--ds-basic-color-texticon-inverse, #ffffff)}:host([orbit])>span{--ds-auro-loader-background-color: transparent}:host([orbit])>span:nth-child(1){--ds-auro-loader-border-color: currentcolor;opacity:.25}:host([orbit])>span:nth-child(2){--ds-auro-loader-border-color: currentcolor;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent}
|
|
16669
17181
|
`,u$4$1=i$5`.body-default{font-size:var(--wcss-body-default-font-size, 1rem);line-height:var(--wcss-body-default-line-height, 1.5rem)}.body-default,.body-lg{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-weight, 450);letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-lg{font-size:var(--wcss-body-lg-font-size, 1.125rem);line-height:var(--wcss-body-lg-line-height, 1.625rem)}.body-sm{font-size:var(--wcss-body-sm-font-size, .875rem);line-height:var(--wcss-body-sm-line-height, 1.25rem)}.body-sm,.body-xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-weight, 450);letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-xs{font-size:var(--wcss-body-xs-font-size, .75rem);line-height:var(--wcss-body-xs-line-height, 1rem)}.body-2xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:var(--wcss-body-2xs-font-size, .625rem);font-weight:var(--wcss-body-weight, 450);letter-spacing:var(--wcss-body-letter-spacing, 0);line-height:var(--wcss-body-2xs-line-height, .875rem)}.display-2xl{font-family:var(--wcss-display-2xl-family, "AS Circular"),var(--wcss-display-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-2xl-font-size, clamp(3.5rem, 6vw, 5.375rem));font-weight:var(--wcss-display-2xl-weight, 300);letter-spacing:var(--wcss-display-2xl-letter-spacing, 0);line-height:var(--wcss-display-2xl-line-height, 1.3)}.display-xl{font-family:var(--wcss-display-xl-family, "AS Circular"),var(--wcss-display-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-xl-font-size, clamp(3rem, 5.3333333333vw, 4.5rem));font-weight:var(--wcss-display-xl-weight, 300);letter-spacing:var(--wcss-display-xl-letter-spacing, 0);line-height:var(--wcss-display-xl-line-height, 1.3)}.display-lg{font-family:var(--wcss-display-lg-family, "AS Circular"),var(--wcss-display-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-lg-font-size, clamp(2.75rem, 4.6666666667vw, 4rem));font-weight:var(--wcss-display-lg-weight, 300);letter-spacing:var(--wcss-display-lg-letter-spacing, 0);line-height:var(--wcss-display-lg-line-height, 1.3)}.display-md{font-family:var(--wcss-display-md-family, "AS Circular"),var(--wcss-display-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-md-font-size, clamp(2.5rem, 4vw, 3.5rem));font-weight:var(--wcss-display-md-weight, 300);letter-spacing:var(--wcss-display-md-letter-spacing, 0);line-height:var(--wcss-display-md-line-height, 1.3)}.display-sm{font-family:var(--wcss-display-sm-family, "AS Circular"),var(--wcss-display-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-sm-font-size, clamp(2rem, 3.6666666667vw, 3rem));font-weight:var(--wcss-display-sm-weight, 300);letter-spacing:var(--wcss-display-sm-letter-spacing, 0);line-height:var(--wcss-display-sm-line-height, 1.3)}.display-xs{font-family:var(--wcss-display-xs-family, "AS Circular"),var(--wcss-display-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-xs-font-size, clamp(1.75rem, 3vw, 2.375rem));font-weight:var(--wcss-display-xs-weight, 300);letter-spacing:var(--wcss-display-xs-letter-spacing, 0);line-height:var(--wcss-display-xs-line-height, 1.3)}.heading-xl{font-family:var(--wcss-heading-xl-family, "AS Circular"),var(--wcss-heading-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-xl-font-size, clamp(2rem, 3vw, 2.5rem));font-weight:var(--wcss-heading-xl-weight, 300);letter-spacing:var(--wcss-heading-xl-letter-spacing, 0);line-height:var(--wcss-heading-xl-line-height, 1.3)}.heading-lg{font-family:var(--wcss-heading-lg-family, "AS Circular"),var(--wcss-heading-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-lg-font-size, clamp(1.75rem, 2.6666666667vw, 2.25rem));font-weight:var(--wcss-heading-lg-weight, 300);letter-spacing:var(--wcss-heading-lg-letter-spacing, 0);line-height:var(--wcss-heading-lg-line-height, 1.3)}.heading-md{font-family:var(--wcss-heading-md-family, "AS Circular"),var(--wcss-heading-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-md-font-size, clamp(1.625rem, 2.3333333333vw, 1.75rem));font-weight:var(--wcss-heading-md-weight, 300);letter-spacing:var(--wcss-heading-md-letter-spacing, 0);line-height:var(--wcss-heading-md-line-height, 1.3)}.heading-sm{font-family:var(--wcss-heading-sm-family, "AS Circular"),var(--wcss-heading-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-sm-font-size, clamp(1.375rem, 2vw, 1.5rem));font-weight:var(--wcss-heading-sm-weight, 300);letter-spacing:var(--wcss-heading-sm-letter-spacing, 0);line-height:var(--wcss-heading-sm-line-height, 1.3)}.heading-xs{font-family:var(--wcss-heading-xs-family, "AS Circular"),var(--wcss-heading-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-xs-font-size, clamp(1.25rem, 1.6666666667vw, 1.25rem));font-weight:var(--wcss-heading-xs-weight, 450);letter-spacing:var(--wcss-heading-xs-letter-spacing, 0);line-height:var(--wcss-heading-xs-line-height, 1.3)}.heading-2xs{font-family:var(--wcss-heading-2xs-family, "AS Circular"),var(--wcss-heading-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-2xs-font-size, clamp(1.125rem, 1.5vw, 1.125rem));font-weight:var(--wcss-heading-2xs-weight, 450);letter-spacing:var(--wcss-heading-2xs-letter-spacing, 0);line-height:var(--wcss-heading-2xs-line-height, 1.3)}.accent-2xl{font-family:var(--wcss-accent-2xl-family, "Good OT"),var(--wcss-accent-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-2xl-font-size, clamp(2rem, 3.1666666667vw, 2.375rem));font-weight:var(--wcss-accent-2xl-weight, 450);letter-spacing:var(--wcss-accent-2xl-letter-spacing, .05em);line-height:var(--wcss-accent-2xl-line-height, 1)}.accent-2xl,.accent-xl{text-transform:uppercase}.accent-xl{font-family:var(--wcss-accent-xl-family, "Good OT"),var(--wcss-accent-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-xl-font-size, clamp(1.625rem, 2.3333333333vw, 2rem));font-weight:var(--wcss-accent-xl-weight, 450);letter-spacing:var(--wcss-accent-xl-letter-spacing, .05em);line-height:var(--wcss-accent-xl-line-height, 1.3)}.accent-lg{font-family:var(--wcss-accent-lg-family, "Good OT"),var(--wcss-accent-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-lg-font-size, clamp(1.5rem, 2.1666666667vw, 1.75rem));font-weight:var(--wcss-accent-lg-weight, 450);letter-spacing:var(--wcss-accent-lg-letter-spacing, .05em);line-height:var(--wcss-accent-lg-line-height, 1.3)}.accent-lg,.accent-md{text-transform:uppercase}.accent-md{font-family:var(--wcss-accent-md-family, "Good OT"),var(--wcss-accent-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-md-font-size, clamp(1.375rem, 1.8333333333vw, 1.5rem));font-weight:var(--wcss-accent-md-weight, 500);letter-spacing:var(--wcss-accent-md-letter-spacing, .05em);line-height:var(--wcss-accent-md-line-height, 1.3)}.accent-sm{font-family:var(--wcss-accent-sm-family, "Good OT"),var(--wcss-accent-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-sm-font-size, clamp(1.125rem, 1.5vw, 1.25rem));font-weight:var(--wcss-accent-sm-weight, 500);letter-spacing:var(--wcss-accent-sm-letter-spacing, .05em);line-height:var(--wcss-accent-sm-line-height, 1.3)}.accent-sm,.accent-xs{text-transform:uppercase}.accent-xs{font-family:var(--wcss-accent-xs-family, "Good OT"),var(--wcss-accent-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-xs-font-size, clamp(1rem, 1.3333333333vw, 1rem));font-weight:var(--wcss-accent-xs-weight, 500);letter-spacing:var(--wcss-accent-xs-letter-spacing, .1em);line-height:var(--wcss-accent-xs-line-height, 1.3)}.accent-2xs{font-family:var(--wcss-accent-2xs-family, "Good OT"),var(--wcss-accent-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-2xs-font-size, clamp(.875rem, 1.1666666667vw, .875rem));font-weight:var(--wcss-accent-2xs-weight, 450);letter-spacing:var(--wcss-accent-2xs-letter-spacing, .1em);line-height:var(--wcss-accent-2xs-line-height, 1.3);text-transform:uppercase}:focus:not(:focus-visible){outline:3px solid transparent}:host,:host>span{position:relative}:host{width:2rem;height:2rem;display:inline-block;font-size:0}:host>span{position:absolute;display:inline-block;float:none;top:0;left:0;width:2rem;height:2rem;border-radius:100%;border-style:solid;border-width:0;box-sizing:border-box}:host([xs]),:host([xs])>span{width:1.2rem;height:1.2rem}:host([sm]),:host([sm])>span{width:3rem;height:3rem}:host([md]),:host([md])>span{width:5rem;height:5rem}:host([lg]),:host([lg])>span{width:8rem;height:8rem}:host{--margin: .375rem;--margin-xs: .2rem;--margin-sm: .5rem;--margin-md: .75rem;--margin-lg: 1rem}:host([pulse]),:host([pulse])>span{position:relative}:host([pulse]){width:calc(3rem + var(--margin) * 6);height:calc(1rem + var(--margin) * 2)}:host([pulse])>span{width:1rem;height:1rem;margin:var(--margin);animation:pulse 1.5s ease infinite}:host([pulse][xs]){width:calc(1.95rem + var(--margin-xs) * 6);height:calc(.65rem + var(--margin-xs) * 2)}:host([pulse][xs])>span{margin:var(--margin-xs);width:.65rem;height:.65rem}:host([pulse][sm]){width:calc(6rem + var(--margin-sm) * 6);height:calc(2rem + var(--margin-sm) * 2)}:host([pulse][sm])>span{margin:var(--margin-sm);width:2rem;height:2rem}:host([pulse][md]){width:calc(9rem + var(--margin-md) * 6);height:calc(3rem + var(--margin-md) * 2)}:host([pulse][md])>span{margin:var(--margin-md);width:3rem;height:3rem}:host([pulse][lg]){width:calc(15rem + var(--margin-lg) * 6);height:calc(5rem + var(--margin-lg) * 2)}:host([pulse][lg])>span{margin:var(--margin-lg);width:5rem;height:5rem}:host([pulse])>span:nth-child(1){animation-delay:-.4s}:host([pulse])>span:nth-child(2){animation-delay:-.2s}:host([pulse])>span:nth-child(3){animation-delay:0ms}@keyframes pulse{0%,to{opacity:.1;transform:scale(.9)}50%{opacity:1;transform:scale(1.1)}}:host([orbit]),:host([orbit])>span{opacity:1}:host([orbit])>span{border-width:5px}:host([orbit])>span:nth-child(2){animation:orbit 2s linear infinite}:host([orbit][sm])>span{border-width:8px}:host([orbit][md])>span{border-width:13px}:host([orbit][lg])>span{border-width:21px}@keyframes orbit{0%{transform:rotate(0)}to{transform:rotate(360deg)}}:host([ringworm])>svg{animation:rotate 2s linear infinite;height:100%;width:100%;stroke:currentcolor;stroke-width:8}:host([ringworm]) .path{stroke-dashoffset:0;animation:ringworm 1.5s ease-in-out infinite;stroke-linecap:round}@keyframes rotate{to{transform:rotate(360deg)}}@keyframes ringworm{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px}to{stroke-dasharray:89,200;stroke-dashoffset:-124px}}:host([laser]){position:static;width:100%;display:block;height:0;overflow:hidden;font-size:unset}:host([laser])>span{position:fixed;width:100%;height:.25rem;border-radius:0;z-index:100}:host([laser])>span:nth-child(1){border-color:currentcolor;opacity:.25}:host([laser])>span:nth-child(2){border-color:currentcolor;animation:laser 2s linear infinite;opacity:1;width:50%}:host([laser][sm])>span:nth-child(2){width:20%}:host([laser][md])>span:nth-child(2){width:30%}:host([laser][lg])>span:nth-child(2){width:50%;animation-duration:1.5s}:host([laser][xl])>span:nth-child(2){width:80%;animation-duration:1.5s}@keyframes laser{0%{left:-100%}to{left:110%}}:host>.no-animation{display:none}@media (prefers-reduced-motion: reduce){:host{display:flex;align-items:center;justify-content:center}:host>span{opacity:1}:host>.loader{display:none}:host>svg{display:none}:host>.no-animation{display:block}}
|
|
@@ -16761,6 +17273,13 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
16761
17273
|
this.largeFullscreenHeadline = false;
|
|
16762
17274
|
this.isFullscreen = false;
|
|
16763
17275
|
|
|
17276
|
+
/**
|
|
17277
|
+
* The date of the currently active cell (Unix timestamp).
|
|
17278
|
+
* Only one cell across the entire calendar has tabindex="0" at a time.
|
|
17279
|
+
* @private
|
|
17280
|
+
*/
|
|
17281
|
+
this.activeCellDate = null;
|
|
17282
|
+
|
|
16764
17283
|
/**
|
|
16765
17284
|
* @private
|
|
16766
17285
|
*/
|
|
@@ -16926,6 +17445,8 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
16926
17445
|
*/
|
|
16927
17446
|
handlePrevMonth() {
|
|
16928
17447
|
this.utilCal.handleMonthChange(this, 'prev');
|
|
17448
|
+
this.updateActiveCellForVisibleMonth();
|
|
17449
|
+
this.announceMonthChange();
|
|
16929
17450
|
}
|
|
16930
17451
|
|
|
16931
17452
|
/**
|
|
@@ -16935,6 +17456,38 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
16935
17456
|
*/
|
|
16936
17457
|
handleNextMonth() {
|
|
16937
17458
|
this.utilCal.handleMonthChange(this, 'next');
|
|
17459
|
+
this.updateActiveCellForVisibleMonth();
|
|
17460
|
+
this.announceMonthChange();
|
|
17461
|
+
}
|
|
17462
|
+
|
|
17463
|
+
/**
|
|
17464
|
+
* Announces the current month and year via the live region after navigation.
|
|
17465
|
+
* @private
|
|
17466
|
+
* @returns {void}
|
|
17467
|
+
*/
|
|
17468
|
+
announceMonthChange() {
|
|
17469
|
+
const date = new Date(this.centralDate);
|
|
17470
|
+
const localeCode = this.locale?.code || undefined;
|
|
17471
|
+
const formatter = new Intl.DateTimeFormat(localeCode, { month: 'long', year: 'numeric' });
|
|
17472
|
+
this.announceSelection(formatter.format(date));
|
|
17473
|
+
}
|
|
17474
|
+
|
|
17475
|
+
/**
|
|
17476
|
+
* Recomputes and sets the active cell for the newly visible month after
|
|
17477
|
+
* month navigation. Without this, activeCellDate can point at a date in
|
|
17478
|
+
* the old month, leaving no tabindex="0" cell in the grid.
|
|
17479
|
+
* @private
|
|
17480
|
+
* @returns {void}
|
|
17481
|
+
*/
|
|
17482
|
+
updateActiveCellForVisibleMonth() {
|
|
17483
|
+
// Skip the dateFrom shortcut so the active cell lands in the newly
|
|
17484
|
+
// visible month rather than jumping back to the selected date's month.
|
|
17485
|
+
this.activeCellDate = this.computeActiveDate({ skipDateFrom: true });
|
|
17486
|
+
this.updateComplete.then(() => {
|
|
17487
|
+
if (this.activeCellDate != null) {
|
|
17488
|
+
this.setActiveCell(this.activeCellDate);
|
|
17489
|
+
}
|
|
17490
|
+
});
|
|
16938
17491
|
}
|
|
16939
17492
|
|
|
16940
17493
|
/**
|
|
@@ -17042,6 +17595,778 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
17042
17595
|
this.utilCal.scrollMonthIntoView(this, date, this.format);
|
|
17043
17596
|
}
|
|
17044
17597
|
|
|
17598
|
+
/**
|
|
17599
|
+
* Gets all rendered month components.
|
|
17600
|
+
* @private
|
|
17601
|
+
* @returns {Array} Array of auro-formkit-calendar-month elements.
|
|
17602
|
+
*/
|
|
17603
|
+
getMonthComponents() {
|
|
17604
|
+
return Array.from(this.shadowRoot.querySelectorAll('auro-formkit-calendar-month'));
|
|
17605
|
+
}
|
|
17606
|
+
|
|
17607
|
+
/**
|
|
17608
|
+
* Gets all focusable cells across all rendered months.
|
|
17609
|
+
* @private
|
|
17610
|
+
* @returns {Array} Array of auro-formkit-calendar-cell elements.
|
|
17611
|
+
*/
|
|
17612
|
+
getAllFocusableCells() {
|
|
17613
|
+
const months = this.getMonthComponents();
|
|
17614
|
+
let cells = [];
|
|
17615
|
+
months.forEach(month => {
|
|
17616
|
+
cells = cells.concat(month.getFocusableCells());
|
|
17617
|
+
});
|
|
17618
|
+
return cells;
|
|
17619
|
+
}
|
|
17620
|
+
|
|
17621
|
+
/**
|
|
17622
|
+
* Sets the active cell across all months. Only one cell has tabindex="0" at a time.
|
|
17623
|
+
* Uses imperative DOM manipulation — no Lit re-render triggered.
|
|
17624
|
+
* Also updates ariaActiveDescendantElement on the grid wrapper so
|
|
17625
|
+
* screen readers announce the active cell without moving DOM focus.
|
|
17626
|
+
* @param {Number} date - Unix timestamp of the cell to activate.
|
|
17627
|
+
* @returns {void}
|
|
17628
|
+
*/
|
|
17629
|
+
setActiveCell(date) {
|
|
17630
|
+
const allCells = this.getAllFocusableCells();
|
|
17631
|
+
|
|
17632
|
+
let newActiveCell = null;
|
|
17633
|
+
allCells.forEach(cell => {
|
|
17634
|
+
if (cell.day && cell.day.date === date) {
|
|
17635
|
+
cell.setActive();
|
|
17636
|
+
newActiveCell = cell;
|
|
17637
|
+
} else if (cell.active) {
|
|
17638
|
+
cell.clearActive();
|
|
17639
|
+
}
|
|
17640
|
+
});
|
|
17641
|
+
|
|
17642
|
+
this.activeCellDate = date;
|
|
17643
|
+
|
|
17644
|
+
// Update the proxy element that aria-activedescendant references.
|
|
17645
|
+
// The proxy lives in the same shadow root as the grid wrapper, so
|
|
17646
|
+
// string-based aria-activedescendant works reliably with all SRs.
|
|
17647
|
+
if (newActiveCell) {
|
|
17648
|
+
const proxy = this.shadowRoot.querySelector('#activeDescendantProxy');
|
|
17649
|
+
if (proxy) {
|
|
17650
|
+
proxy.setAttribute('aria-label', newActiveCell.getAriaLabel());
|
|
17651
|
+
proxy.setAttribute('aria-selected', newActiveCell.selected ? 'true' : 'false');
|
|
17652
|
+
if (newActiveCell.isCurrentDate) {
|
|
17653
|
+
proxy.setAttribute('aria-current', 'date');
|
|
17654
|
+
} else {
|
|
17655
|
+
proxy.removeAttribute('aria-current');
|
|
17656
|
+
}
|
|
17657
|
+
if (newActiveCell.isBlackout()) {
|
|
17658
|
+
proxy.setAttribute('aria-disabled', 'true');
|
|
17659
|
+
} else {
|
|
17660
|
+
proxy.removeAttribute('aria-disabled');
|
|
17661
|
+
}
|
|
17662
|
+
}
|
|
17663
|
+
}
|
|
17664
|
+
}
|
|
17665
|
+
|
|
17666
|
+
/**
|
|
17667
|
+
* Focuses the calendar grid wrapper and sets the active cell.
|
|
17668
|
+
* DOM focus stays on the grid wrapper; ariaActiveDescendantElement
|
|
17669
|
+
* tells the screen reader which cell is "active".
|
|
17670
|
+
* @returns {void}
|
|
17671
|
+
*/
|
|
17672
|
+
focusActiveCell() {
|
|
17673
|
+
if (this.activeCellDate != null) {
|
|
17674
|
+
this.setActiveCell(this.activeCellDate);
|
|
17675
|
+
}
|
|
17676
|
+
|
|
17677
|
+
const gridWrapper = this.shadowRoot.querySelector('#calendarGrid');
|
|
17678
|
+
if (gridWrapper) {
|
|
17679
|
+
gridWrapper.focus({ focusVisible: true });
|
|
17680
|
+
}
|
|
17681
|
+
}
|
|
17682
|
+
|
|
17683
|
+
/**
|
|
17684
|
+
* Computes the initial active date from data properties alone — no DOM required.
|
|
17685
|
+
* Priority:
|
|
17686
|
+
* 1. Selected date (dateFrom) if within range
|
|
17687
|
+
* 2. Today's date if not disabled (in-range and not blackout)
|
|
17688
|
+
* 3. First future non-disabled date (scans day-by-day from today up to 1 year)
|
|
17689
|
+
* 4. First previous non-disabled date (scans day-by-day from today up to 1 year)
|
|
17690
|
+
* 5. First enabled date in finite [min, max] range
|
|
17691
|
+
* 5b. First enabled date scanning forward from finite min (unbounded max)
|
|
17692
|
+
* 5c. First enabled date scanning backward from finite max (unbounded min)
|
|
17693
|
+
* 6. First in-range date (even if blackout) so focus can land somewhere
|
|
17694
|
+
* 7. undefined — no valid target
|
|
17695
|
+
*
|
|
17696
|
+
* @private
|
|
17697
|
+
* @param {Object} [options] - Optional settings.
|
|
17698
|
+
* @param {boolean} [options.skipDateFrom=false] - When true, skip the selected-date
|
|
17699
|
+
* shortcut (step 1). Used after month navigation so the active cell lands in the
|
|
17700
|
+
* newly visible month instead of jumping back to the selected date's month.
|
|
17701
|
+
* @returns {Number|undefined} Unix timestamp (seconds) of the date to activate, or undefined.
|
|
17702
|
+
*/
|
|
17703
|
+
computeActiveDate(options = {}) {
|
|
17704
|
+
const MAX_SCAN_DAYS = 366; // scan at most ~1 year in each direction
|
|
17705
|
+
|
|
17706
|
+
/**
|
|
17707
|
+
* Adds days to a timestamp using Date arithmetic to handle DST correctly.
|
|
17708
|
+
* Returns a local-midnight-aligned timestamp in seconds.
|
|
17709
|
+
*/
|
|
17710
|
+
const addDays = (ts, days) => {
|
|
17711
|
+
const d = new Date(ts * 1000);
|
|
17712
|
+
d.setDate(d.getDate() + days);
|
|
17713
|
+
d.setHours(0, 0, 0, 0);
|
|
17714
|
+
return Math.floor(d.getTime() / 1000);
|
|
17715
|
+
};
|
|
17716
|
+
|
|
17717
|
+
const rawMin = Number(this.min);
|
|
17718
|
+
const rawMax = Number(this.max);
|
|
17719
|
+
|
|
17720
|
+
// When min/max are NaN (no minDate/maxDate configured), treat as unbounded.
|
|
17721
|
+
const minTs = Number.isFinite(rawMin) ? rawMin : -Infinity;
|
|
17722
|
+
const maxTs = Number.isFinite(rawMax) ? rawMax : Infinity;
|
|
17723
|
+
|
|
17724
|
+
// Build a Set of blackout timestamps for O(1) lookup.
|
|
17725
|
+
const blackoutSet = new Set(
|
|
17726
|
+
(this.disabledDays || []).map(d => parseInt(d, 10))
|
|
17727
|
+
);
|
|
17728
|
+
|
|
17729
|
+
// Also include ISO-format blackoutDates from the datepicker if available.
|
|
17730
|
+
// Parse YYYY-MM-DD as local date to avoid UTC shift issues.
|
|
17731
|
+
const isoBlackouts = this.datepicker?.blackoutDates;
|
|
17732
|
+
if (Array.isArray(isoBlackouts)) {
|
|
17733
|
+
for (const isoStr of isoBlackouts) {
|
|
17734
|
+
const parts = isoStr.split('-');
|
|
17735
|
+
const ts = Math.floor(new Date(parseInt(parts[0], 10), parseInt(parts[1], 10) - 1, parseInt(parts[2], 10)).getTime() / 1000);
|
|
17736
|
+
if (Number.isFinite(ts)) blackoutSet.add(ts);
|
|
17737
|
+
}
|
|
17738
|
+
}
|
|
17739
|
+
|
|
17740
|
+
/**
|
|
17741
|
+
* A date (unix timestamp in seconds, midnight-aligned) is "enabled" when
|
|
17742
|
+
* it is within [min, max] AND not a blackout day.
|
|
17743
|
+
*/
|
|
17744
|
+
const isEnabled = (ts) => ts >= minTs && ts <= maxTs && !blackoutSet.has(ts);
|
|
17745
|
+
|
|
17746
|
+
/**
|
|
17747
|
+
* A date is "in range" (focusable in the grid) when it is within [min, max].
|
|
17748
|
+
* Blackout dates are focusable but not selectable.
|
|
17749
|
+
*/
|
|
17750
|
+
const isInRange = (ts) => ts >= minTs && ts <= maxTs;
|
|
17751
|
+
|
|
17752
|
+
// 1. Selected date — always valid target if within range (user chose it).
|
|
17753
|
+
// Skipped when called from month navigation so the active cell lands in
|
|
17754
|
+
// the newly visible month rather than the (possibly off-screen) selection.
|
|
17755
|
+
if (!options.skipDateFrom && this.dateFrom) {
|
|
17756
|
+
const parsedFrom = parseInt(this.dateFrom, 10);
|
|
17757
|
+
if (Number.isFinite(parsedFrom) && isInRange(parsedFrom)) return parsedFrom;
|
|
17758
|
+
}
|
|
17759
|
+
|
|
17760
|
+
// 2. Today's date (midnight-aligned) if enabled.
|
|
17761
|
+
const now = Math.floor(new Date().setHours(0, 0, 0, 0) / 1000);
|
|
17762
|
+
|
|
17763
|
+
// When centralDate is configured, prefer a date within the month(s) that
|
|
17764
|
+
// will actually be rendered. If today falls outside the visible range, an
|
|
17765
|
+
// active cell set to today would have no matching DOM element and keyboard
|
|
17766
|
+
// focus could not enter the calendar.
|
|
17767
|
+
const centralDateValue = this.centralDate ? new Date(this.centralDate) : null;
|
|
17768
|
+
|
|
17769
|
+
if (centralDateValue && !isNaN(centralDateValue.getTime())) {
|
|
17770
|
+
const centralMonth = centralDateValue.getMonth();
|
|
17771
|
+
const centralYear = centralDateValue.getFullYear();
|
|
17772
|
+
const todayDate = new Date(now * 1000);
|
|
17773
|
+
const todayMonth = todayDate.getMonth();
|
|
17774
|
+
const todayYear = todayDate.getFullYear();
|
|
17775
|
+
|
|
17776
|
+
// Today is outside the centralDate's month — scan for an enabled date
|
|
17777
|
+
// within the visible month instead.
|
|
17778
|
+
if (todayMonth !== centralMonth || todayYear !== centralYear) {
|
|
17779
|
+
const visibleStart = new Date(centralYear, centralMonth, 1);
|
|
17780
|
+
visibleStart.setHours(0, 0, 0, 0);
|
|
17781
|
+
const visibleEnd = new Date(centralYear, centralMonth + 1, 0); // last day of month
|
|
17782
|
+
visibleEnd.setHours(0, 0, 0, 0);
|
|
17783
|
+
const startTs = Math.floor(visibleStart.getTime() / 1000);
|
|
17784
|
+
const endTs = Math.floor(visibleEnd.getTime() / 1000);
|
|
17785
|
+
const daysInMonth = visibleEnd.getDate();
|
|
17786
|
+
|
|
17787
|
+
for (let idx = 0; idx < daysInMonth; idx++) {
|
|
17788
|
+
const ts = addDays(startTs, idx);
|
|
17789
|
+
if (ts > endTs) break;
|
|
17790
|
+
if (isEnabled(ts)) return ts;
|
|
17791
|
+
}
|
|
17792
|
+
|
|
17793
|
+
// No enabled date in the visible month — fall back to first in-range
|
|
17794
|
+
// date in the month so focus still lands on a focusable cell.
|
|
17795
|
+
for (let idx = 0; idx < daysInMonth; idx++) {
|
|
17796
|
+
const ts = addDays(startTs, idx);
|
|
17797
|
+
if (ts > endTs) break;
|
|
17798
|
+
if (isInRange(ts)) return ts;
|
|
17799
|
+
}
|
|
17800
|
+
}
|
|
17801
|
+
}
|
|
17802
|
+
|
|
17803
|
+
if (isEnabled(now)) return now;
|
|
17804
|
+
|
|
17805
|
+
// When a centralDate is configured (or inferred), constrain the scan to the
|
|
17806
|
+
// rendered month(s) first so a single-month calendar does not pick a date
|
|
17807
|
+
// that has no DOM cell. Determine the visible range based on centralDate and
|
|
17808
|
+
// the number of rendered months.
|
|
17809
|
+
const renderedMonths = this.numCalendars || 1;
|
|
17810
|
+
const visibleAnchor = centralDateValue && !isNaN(centralDateValue.getTime())
|
|
17811
|
+
? centralDateValue
|
|
17812
|
+
: new Date(now * 1000);
|
|
17813
|
+
const visMonthStart = new Date(visibleAnchor.getFullYear(), visibleAnchor.getMonth(), 1);
|
|
17814
|
+
visMonthStart.setHours(0, 0, 0, 0);
|
|
17815
|
+
const visMonthEnd = new Date(visibleAnchor.getFullYear(), visibleAnchor.getMonth() + renderedMonths, 0);
|
|
17816
|
+
visMonthEnd.setHours(0, 0, 0, 0);
|
|
17817
|
+
const visStartTs = Math.floor(visMonthStart.getTime() / 1000);
|
|
17818
|
+
const visEndTs = Math.floor(visMonthEnd.getTime() / 1000);
|
|
17819
|
+
const visDays = Math.round((visEndTs - visStartTs) / 86400) + 1;
|
|
17820
|
+
|
|
17821
|
+
// Scan visible months for an enabled date.
|
|
17822
|
+
for (let idx = 0; idx < visDays; idx++) {
|
|
17823
|
+
const ts = addDays(visStartTs, idx);
|
|
17824
|
+
if (ts > visEndTs) break;
|
|
17825
|
+
if (isEnabled(ts)) return ts;
|
|
17826
|
+
}
|
|
17827
|
+
|
|
17828
|
+
// No enabled date in visible months — try an in-range (focusable) date so
|
|
17829
|
+
// keyboard focus still has a tabindex="0" target.
|
|
17830
|
+
for (let idx = 0; idx < visDays; idx++) {
|
|
17831
|
+
const ts = addDays(visStartTs, idx);
|
|
17832
|
+
if (ts > visEndTs) break;
|
|
17833
|
+
if (isInRange(ts)) return ts;
|
|
17834
|
+
}
|
|
17835
|
+
|
|
17836
|
+
// 3. First future enabled date (scan forward from tomorrow, capped by max and MAX_SCAN_DAYS).
|
|
17837
|
+
for (let idx = 1; idx <= MAX_SCAN_DAYS; idx++) {
|
|
17838
|
+
const ts = addDays(now, idx);
|
|
17839
|
+
if (Number.isFinite(maxTs) && ts > maxTs) break;
|
|
17840
|
+
if (isEnabled(ts)) return ts;
|
|
17841
|
+
}
|
|
17842
|
+
|
|
17843
|
+
// 4. First previous enabled date (scan backward from yesterday, capped by min and MAX_SCAN_DAYS).
|
|
17844
|
+
for (let idx = 1; idx <= MAX_SCAN_DAYS; idx++) {
|
|
17845
|
+
const ts = addDays(now, -idx);
|
|
17846
|
+
if (Number.isFinite(minTs) && ts < minTs) break;
|
|
17847
|
+
if (isEnabled(ts)) return ts;
|
|
17848
|
+
}
|
|
17849
|
+
|
|
17850
|
+
// 5. If scans missed (e.g. min/max range is far from today), fall back to
|
|
17851
|
+
// the first enabled date in the [min, max] range.
|
|
17852
|
+
if (Number.isFinite(minTs) && Number.isFinite(maxTs)) {
|
|
17853
|
+
let ts = minTs;
|
|
17854
|
+
for (let idx = 0; ts <= maxTs; idx++) {
|
|
17855
|
+
if (isEnabled(ts)) return ts;
|
|
17856
|
+
ts = addDays(minTs, idx + 1);
|
|
17857
|
+
}
|
|
17858
|
+
}
|
|
17859
|
+
|
|
17860
|
+
// 5b. Finite min with unbounded max (e.g. minDate far in the future):
|
|
17861
|
+
// scan forward from min for up to MAX_SCAN_DAYS.
|
|
17862
|
+
if (Number.isFinite(minTs) && !Number.isFinite(maxTs)) {
|
|
17863
|
+
for (let idx = 0; idx <= MAX_SCAN_DAYS; idx++) {
|
|
17864
|
+
const ts = addDays(minTs, idx);
|
|
17865
|
+
if (isEnabled(ts)) return ts;
|
|
17866
|
+
}
|
|
17867
|
+
}
|
|
17868
|
+
|
|
17869
|
+
// 5c. Unbounded min with a finite max far in the past (e.g. birth-date picker):
|
|
17870
|
+
// scan backward from max for up to MAX_SCAN_DAYS.
|
|
17871
|
+
if (!Number.isFinite(minTs) && Number.isFinite(maxTs)) {
|
|
17872
|
+
for (let idx = 0; idx <= MAX_SCAN_DAYS; idx++) {
|
|
17873
|
+
const ts = addDays(maxTs, -idx);
|
|
17874
|
+
if (isEnabled(ts)) return ts;
|
|
17875
|
+
}
|
|
17876
|
+
}
|
|
17877
|
+
|
|
17878
|
+
// 6. All dates are blackout — fall back to the first in-range date so focus
|
|
17879
|
+
// still lands on a focusable (but not selectable) cell.
|
|
17880
|
+
if (Number.isFinite(minTs) && isInRange(minTs)) return minTs;
|
|
17881
|
+
if (isInRange(now)) return now;
|
|
17882
|
+
|
|
17883
|
+
return undefined;
|
|
17884
|
+
}
|
|
17885
|
+
|
|
17886
|
+
/**
|
|
17887
|
+
* Handles arrow key navigation on the calendar grid wrapper.
|
|
17888
|
+
* Focus stays on the grid wrapper; only ariaActiveDescendantElement
|
|
17889
|
+
* and the visual active-cell indicator change.
|
|
17890
|
+
* @private
|
|
17891
|
+
* @param {KeyboardEvent} event - The keyboard event.
|
|
17892
|
+
* @returns {void}
|
|
17893
|
+
*/
|
|
17894
|
+
handleGridKeyDown(event) {
|
|
17895
|
+
const { key } = event;
|
|
17896
|
+
const actionKeys = ['ArrowRight', 'ArrowLeft', 'ArrowDown', 'ArrowUp', 'Enter', ' '];
|
|
17897
|
+
|
|
17898
|
+
if (!actionKeys.includes(key)) return;
|
|
17899
|
+
|
|
17900
|
+
event.preventDefault();
|
|
17901
|
+
|
|
17902
|
+
const allCells = this.getAllFocusableCells();
|
|
17903
|
+
if (allCells.length === 0) return;
|
|
17904
|
+
|
|
17905
|
+
const activeCell = allCells.find(cell => cell.active);
|
|
17906
|
+
if (!activeCell) return;
|
|
17907
|
+
|
|
17908
|
+
// Handle Enter/Space to select the active cell
|
|
17909
|
+
if (key === 'Enter' || key === ' ') {
|
|
17910
|
+
activeCell.handleTap();
|
|
17911
|
+
return;
|
|
17912
|
+
}
|
|
17913
|
+
|
|
17914
|
+
const activeIndex = allCells.indexOf(activeCell);
|
|
17915
|
+
|
|
17916
|
+
if (key === 'ArrowRight' || key === 'ArrowLeft') {
|
|
17917
|
+
const direction = key === 'ArrowRight' ? 1 : -1;
|
|
17918
|
+
const targetIndex = activeIndex + direction;
|
|
17919
|
+
|
|
17920
|
+
if (targetIndex >= 0 && targetIndex < allCells.length) {
|
|
17921
|
+
// Target cell exists in rendered months
|
|
17922
|
+
this.setActiveCell(allCells[targetIndex].day.date);
|
|
17923
|
+
this.scrollToActiveCell();
|
|
17924
|
+
// Dispatch focus event for the cell so live region + range preview update
|
|
17925
|
+
this.handleCellFocused({ detail: { date: allCells[targetIndex].day.date } });
|
|
17926
|
+
} else {
|
|
17927
|
+
// At boundary — need to navigate to next/prev month
|
|
17928
|
+
const navDir = direction === 1 ? 'next' : 'prev';
|
|
17929
|
+
if ((navDir === 'next' && this.showNextMonthBtn) || (navDir === 'prev' && this.showPrevMonthBtn)) {
|
|
17930
|
+
const targetDate = new Date(activeCell.day.date * 1000);
|
|
17931
|
+
targetDate.setDate(targetDate.getDate() + direction);
|
|
17932
|
+
targetDate.setHours(0, 0, 0, 0);
|
|
17933
|
+
const targetTs = Math.floor(targetDate.getTime() / 1000);
|
|
17934
|
+
|
|
17935
|
+
if (navDir === 'next') {
|
|
17936
|
+
this.handleNextMonth();
|
|
17937
|
+
} else {
|
|
17938
|
+
this.handlePrevMonth();
|
|
17939
|
+
}
|
|
17940
|
+
requestAnimationFrame(() => {
|
|
17941
|
+
requestAnimationFrame(() => {
|
|
17942
|
+
const cells = this.getAllFocusableCells();
|
|
17943
|
+
const target = cells.find(cell => cell.day && cell.day.date === targetTs);
|
|
17944
|
+
if (target) {
|
|
17945
|
+
this.setActiveCell(target.day.date);
|
|
17946
|
+
this.handleCellFocused({ detail: { date: target.day.date } });
|
|
17947
|
+
} else if (cells.length > 0) {
|
|
17948
|
+
const fallback = navDir === 'next' ? cells[cells.length - 1] : cells[0];
|
|
17949
|
+
this.setActiveCell(fallback.day.date);
|
|
17950
|
+
this.handleCellFocused({ detail: { date: fallback.day.date } });
|
|
17951
|
+
}
|
|
17952
|
+
// Re-focus grid wrapper after month change re-render
|
|
17953
|
+
this.focusActiveCell();
|
|
17954
|
+
});
|
|
17955
|
+
});
|
|
17956
|
+
}
|
|
17957
|
+
}
|
|
17958
|
+
} else if (key === 'ArrowDown' || key === 'ArrowUp') {
|
|
17959
|
+
const increment = key === 'ArrowDown' ? 7 : -7;
|
|
17960
|
+
const currentDate = new Date(activeCell.day.date * 1000);
|
|
17961
|
+
currentDate.setDate(currentDate.getDate() + increment);
|
|
17962
|
+
currentDate.setHours(0, 0, 0, 0);
|
|
17963
|
+
const targetDate = Math.floor(currentDate.getTime() / 1000);
|
|
17964
|
+
|
|
17965
|
+
const targetCell = allCells.find(cell => cell.day && cell.day.date === targetDate);
|
|
17966
|
+
|
|
17967
|
+
if (targetCell) {
|
|
17968
|
+
this.setActiveCell(targetCell.day.date);
|
|
17969
|
+
this.scrollToActiveCell();
|
|
17970
|
+
this.handleCellFocused({ detail: { date: targetCell.day.date } });
|
|
17971
|
+
} else {
|
|
17972
|
+
// Target might be in an unrendered month
|
|
17973
|
+
const navDirection = key === 'ArrowDown' ? 'next' : 'prev';
|
|
17974
|
+
if ((navDirection === 'next' && this.showNextMonthBtn) || (navDirection === 'prev' && this.showPrevMonthBtn)) {
|
|
17975
|
+
if (navDirection === 'next') {
|
|
17976
|
+
this.handleNextMonth();
|
|
17977
|
+
} else {
|
|
17978
|
+
this.handlePrevMonth();
|
|
17979
|
+
}
|
|
17980
|
+
requestAnimationFrame(() => {
|
|
17981
|
+
requestAnimationFrame(() => {
|
|
17982
|
+
const cells = this.getAllFocusableCells();
|
|
17983
|
+
const target = cells.find(cell => cell.day && cell.day.date === targetDate);
|
|
17984
|
+
if (target) {
|
|
17985
|
+
this.setActiveCell(target.day.date);
|
|
17986
|
+
this.handleCellFocused({ detail: { date: target.day.date } });
|
|
17987
|
+
} else if (cells.length > 0) {
|
|
17988
|
+
const nearest = navDirection === 'next' ? cells[0] : cells[cells.length - 1];
|
|
17989
|
+
this.setActiveCell(nearest.day.date);
|
|
17990
|
+
this.handleCellFocused({ detail: { date: nearest.day.date } });
|
|
17991
|
+
}
|
|
17992
|
+
this.focusActiveCell();
|
|
17993
|
+
});
|
|
17994
|
+
});
|
|
17995
|
+
}
|
|
17996
|
+
}
|
|
17997
|
+
}
|
|
17998
|
+
}
|
|
17999
|
+
|
|
18000
|
+
/**
|
|
18001
|
+
* Handles cross-month boundary navigation events from month components.
|
|
18002
|
+
* @private
|
|
18003
|
+
* @param {CustomEvent} event - The boundary event with direction and source date info.
|
|
18004
|
+
* @returns {void}
|
|
18005
|
+
*/
|
|
18006
|
+
handleMonthBoundary(event) {
|
|
18007
|
+
const { direction, fromDate, key } = event.detail;
|
|
18008
|
+
|
|
18009
|
+
if (key === 'ArrowRight' || key === 'ArrowLeft') {
|
|
18010
|
+
// Linear navigation: find adjacent focusable cell across months
|
|
18011
|
+
const allCells = this.getAllFocusableCells();
|
|
18012
|
+
const currentIndex = allCells.findIndex(cell => cell.day && cell.day.date === fromDate);
|
|
18013
|
+
|
|
18014
|
+
if (currentIndex === -1) return;
|
|
18015
|
+
|
|
18016
|
+
let targetIndex;
|
|
18017
|
+
if (direction === 'next') {
|
|
18018
|
+
targetIndex = currentIndex + 1;
|
|
18019
|
+
} else {
|
|
18020
|
+
targetIndex = currentIndex - 1;
|
|
18021
|
+
}
|
|
18022
|
+
|
|
18023
|
+
if (targetIndex >= 0 && targetIndex < allCells.length) {
|
|
18024
|
+
const targetCell = allCells[targetIndex];
|
|
18025
|
+
this.setActiveCell(targetCell.day.date);
|
|
18026
|
+
this.scrollToActiveCell();
|
|
18027
|
+
this.focusActiveCell();
|
|
18028
|
+
} else if (direction === 'next' && this.showNextMonthBtn) {
|
|
18029
|
+
// Navigate to next month and focus the computed next date.
|
|
18030
|
+
// Using the target date (fromDate + 1 day) instead of cells[0]
|
|
18031
|
+
// avoids jumping backward in range datepickers where cells[0]
|
|
18032
|
+
// belongs to the previous (still-rendered) month.
|
|
18033
|
+
const nextDate = new Date(fromDate * 1000);
|
|
18034
|
+
nextDate.setDate(nextDate.getDate() + 1);
|
|
18035
|
+
nextDate.setHours(0, 0, 0, 0);
|
|
18036
|
+
const nextTs = Math.floor(nextDate.getTime() / 1000);
|
|
18037
|
+
|
|
18038
|
+
this.handleNextMonth();
|
|
18039
|
+
requestAnimationFrame(() => {
|
|
18040
|
+
requestAnimationFrame(() => {
|
|
18041
|
+
const cells = this.getAllFocusableCells();
|
|
18042
|
+
const target = cells.find(cell => cell.day && cell.day.date === nextTs);
|
|
18043
|
+
if (target) {
|
|
18044
|
+
this.setActiveCell(target.day.date);
|
|
18045
|
+
this.focusActiveCell();
|
|
18046
|
+
} else if (cells.length > 0) {
|
|
18047
|
+
// Fallback: first cell of the last rendered month
|
|
18048
|
+
this.setActiveCell(cells[cells.length - 1].day.date);
|
|
18049
|
+
this.focusActiveCell();
|
|
18050
|
+
}
|
|
18051
|
+
});
|
|
18052
|
+
});
|
|
18053
|
+
} else if (direction === 'prev' && this.showPrevMonthBtn) {
|
|
18054
|
+
// Navigate to previous month and focus the computed previous date.
|
|
18055
|
+
const prevDate = new Date(fromDate * 1000);
|
|
18056
|
+
prevDate.setDate(prevDate.getDate() - 1);
|
|
18057
|
+
prevDate.setHours(0, 0, 0, 0);
|
|
18058
|
+
const prevTs = Math.floor(prevDate.getTime() / 1000);
|
|
18059
|
+
|
|
18060
|
+
this.handlePrevMonth();
|
|
18061
|
+
requestAnimationFrame(() => {
|
|
18062
|
+
requestAnimationFrame(() => {
|
|
18063
|
+
const cells = this.getAllFocusableCells();
|
|
18064
|
+
const target = cells.find(cell => cell.day && cell.day.date === prevTs);
|
|
18065
|
+
if (target) {
|
|
18066
|
+
this.setActiveCell(target.day.date);
|
|
18067
|
+
this.focusActiveCell();
|
|
18068
|
+
} else if (cells.length > 0) {
|
|
18069
|
+
// Fallback: last cell of the first rendered month
|
|
18070
|
+
this.setActiveCell(cells[0].day.date);
|
|
18071
|
+
this.focusActiveCell();
|
|
18072
|
+
}
|
|
18073
|
+
});
|
|
18074
|
+
});
|
|
18075
|
+
}
|
|
18076
|
+
} else if (key === 'ArrowDown' || key === 'ArrowUp') {
|
|
18077
|
+
// Vertical navigation: find same day-of-week +/- 7 days
|
|
18078
|
+
// Use Date arithmetic instead of fixed seconds to handle DST correctly
|
|
18079
|
+
const increment = key === 'ArrowDown' ? 7 : -7;
|
|
18080
|
+
const currentDate = new Date(fromDate * 1000);
|
|
18081
|
+
currentDate.setDate(currentDate.getDate() + increment);
|
|
18082
|
+
currentDate.setHours(0, 0, 0, 0);
|
|
18083
|
+
const targetDate = Math.floor(currentDate.getTime() / 1000);
|
|
18084
|
+
|
|
18085
|
+
const allCells = this.getAllFocusableCells();
|
|
18086
|
+
let targetCell = allCells.find(cell => cell.day && cell.day.date === targetDate);
|
|
18087
|
+
|
|
18088
|
+
if (targetCell) {
|
|
18089
|
+
this.setActiveCell(targetCell.day.date);
|
|
18090
|
+
this.scrollToActiveCell();
|
|
18091
|
+
this.focusActiveCell();
|
|
18092
|
+
} else {
|
|
18093
|
+
// Target might be in an unrendered month, navigate there
|
|
18094
|
+
const navDirection = key === 'ArrowDown' ? 'next' : 'prev';
|
|
18095
|
+
if ((navDirection === 'next' && this.showNextMonthBtn) || (navDirection === 'prev' && this.showPrevMonthBtn)) {
|
|
18096
|
+
if (navDirection === 'next') {
|
|
18097
|
+
this.handleNextMonth();
|
|
18098
|
+
} else {
|
|
18099
|
+
this.handlePrevMonth();
|
|
18100
|
+
}
|
|
18101
|
+
requestAnimationFrame(() => {
|
|
18102
|
+
requestAnimationFrame(() => {
|
|
18103
|
+
const cells = this.getAllFocusableCells();
|
|
18104
|
+
const target = cells.find(cell => cell.day && cell.day.date === targetDate);
|
|
18105
|
+
if (target) {
|
|
18106
|
+
this.setActiveCell(target.day.date);
|
|
18107
|
+
this.focusActiveCell();
|
|
18108
|
+
} else if (cells.length > 0) {
|
|
18109
|
+
// Clamp to nearest focusable cell
|
|
18110
|
+
const nearest = navDirection === 'next' ? cells[0] : cells[cells.length - 1];
|
|
18111
|
+
this.setActiveCell(nearest.day.date);
|
|
18112
|
+
this.focusActiveCell();
|
|
18113
|
+
}
|
|
18114
|
+
});
|
|
18115
|
+
});
|
|
18116
|
+
}
|
|
18117
|
+
}
|
|
18118
|
+
}
|
|
18119
|
+
}
|
|
18120
|
+
|
|
18121
|
+
/**
|
|
18122
|
+
* Handles cell activation events from month components.
|
|
18123
|
+
* @private
|
|
18124
|
+
* @param {CustomEvent} event - The activation event with target date.
|
|
18125
|
+
* @returns {void}
|
|
18126
|
+
*/
|
|
18127
|
+
handleCellActivate(event) {
|
|
18128
|
+
const { date } = event.detail;
|
|
18129
|
+
this.setActiveCell(date);
|
|
18130
|
+
this.focusActiveCell();
|
|
18131
|
+
}
|
|
18132
|
+
|
|
18133
|
+
/**
|
|
18134
|
+
* Handles focus events from calendar cells.
|
|
18135
|
+
* Updates the live region with an SR announcement and triggers
|
|
18136
|
+
* the imperative range preview if applicable.
|
|
18137
|
+
* @private
|
|
18138
|
+
* @param {CustomEvent} event - The calendar-cell-focused event.
|
|
18139
|
+
* @returns {void}
|
|
18140
|
+
*/
|
|
18141
|
+
handleCellFocused(event) {
|
|
18142
|
+
const { date } = event.detail;
|
|
18143
|
+
if (date == null) return;
|
|
18144
|
+
|
|
18145
|
+
// With aria-activedescendant, the button no longer receives native focus,
|
|
18146
|
+
// so we use the debounced live region for the full context announcement.
|
|
18147
|
+
const announcement = this.buildFocusAnnouncement(date);
|
|
18148
|
+
this.announceFocusDebounced(announcement);
|
|
18149
|
+
|
|
18150
|
+
// Update the range preview imperatively if in range-preview mode.
|
|
18151
|
+
this.updateRangePreview(date);
|
|
18152
|
+
}
|
|
18153
|
+
|
|
18154
|
+
/**
|
|
18155
|
+
* Builds a full SR announcement string for a focused cell date.
|
|
18156
|
+
* Includes the localized date, range position, popover content,
|
|
18157
|
+
* and blackout status.
|
|
18158
|
+
* @private
|
|
18159
|
+
* @param {Number} date - Unix timestamp (seconds) of the focused cell.
|
|
18160
|
+
* @returns {String} The announcement string.
|
|
18161
|
+
*/
|
|
18162
|
+
buildFocusAnnouncement(date) {
|
|
18163
|
+
let label = this.formatAnnouncementDate(date);
|
|
18164
|
+
|
|
18165
|
+
// Append date slot content (e.g. prices) if present.
|
|
18166
|
+
const dateObj = new Date(date * 1000);
|
|
18167
|
+
const mm = String(dateObj.getMonth() + 1).padStart(2, '0');
|
|
18168
|
+
const dd = String(dateObj.getDate()).padStart(2, '0');
|
|
18169
|
+
const yyyy = dateObj.getFullYear();
|
|
18170
|
+
const dateStr = `${mm}_${dd}_${yyyy}`;
|
|
18171
|
+
const dateSlotEl = this.datepicker?.querySelector(`[slot="date_${dateStr}"]`);
|
|
18172
|
+
if (dateSlotEl) {
|
|
18173
|
+
const text = dateSlotEl.innerText?.trim();
|
|
18174
|
+
if (text) {
|
|
18175
|
+
label += `, ${text}`;
|
|
18176
|
+
}
|
|
18177
|
+
}
|
|
18178
|
+
|
|
18179
|
+
// Append popover content if present.
|
|
18180
|
+
const popoverEl = this.datepicker?.querySelector(`[slot="popover_${dateStr}"]`);
|
|
18181
|
+
if (popoverEl) {
|
|
18182
|
+
const text = popoverEl.innerText?.trim();
|
|
18183
|
+
if (text) {
|
|
18184
|
+
label += `, ${text}`;
|
|
18185
|
+
}
|
|
18186
|
+
}
|
|
18187
|
+
|
|
18188
|
+
// Append range position context.
|
|
18189
|
+
if (this.datepicker?.hasAttribute('range')) {
|
|
18190
|
+
const rangeLabel = this.getRangePositionLabel(date);
|
|
18191
|
+
if (rangeLabel) {
|
|
18192
|
+
label += `, ${rangeLabel}`;
|
|
18193
|
+
}
|
|
18194
|
+
}
|
|
18195
|
+
|
|
18196
|
+
// Append blackout label.
|
|
18197
|
+
if (this.isDateBlackout(date)) {
|
|
18198
|
+
label += `, ${this.datepicker?.blackoutLabel || 'unavailable'}`;
|
|
18199
|
+
}
|
|
18200
|
+
|
|
18201
|
+
return label;
|
|
18202
|
+
}
|
|
18203
|
+
|
|
18204
|
+
/**
|
|
18205
|
+
* Determines the range position label for a given date.
|
|
18206
|
+
* @private
|
|
18207
|
+
* @param {Number} date - Unix timestamp (seconds).
|
|
18208
|
+
* @returns {String|null} The range position label, or null.
|
|
18209
|
+
*/
|
|
18210
|
+
getRangePositionLabel(date) {
|
|
18211
|
+
const parsedFrom = Number.parseInt(this.dateFrom, 10);
|
|
18212
|
+
if (!Number.isFinite(parsedFrom)) return null;
|
|
18213
|
+
|
|
18214
|
+
const departTs = startOfDay(parsedFrom * 1000) / 1000;
|
|
18215
|
+
const parsedTo = Number.parseInt(this.dateTo, 10);
|
|
18216
|
+
const hasTo = Number.isFinite(parsedTo);
|
|
18217
|
+
const returnTs = hasTo ? startOfDay(parsedTo * 1000) / 1000 : null;
|
|
18218
|
+
|
|
18219
|
+
if (date === departTs) return this.datepicker.rangeLabelStart || 'range start';
|
|
18220
|
+
if (hasTo && date === returnTs) return this.datepicker.rangeLabelEnd || 'range end';
|
|
18221
|
+
if (date < departTs) return this.datepicker.rangeLabelBeforeRange || 'before range';
|
|
18222
|
+
if (hasTo && date > departTs && date < returnTs) return this.datepicker.rangeLabelInRange || 'in range';
|
|
18223
|
+
return this.datepicker.rangeLabelAfterRange || 'after range';
|
|
18224
|
+
}
|
|
18225
|
+
|
|
18226
|
+
/**
|
|
18227
|
+
* Checks whether a given date is a blackout date.
|
|
18228
|
+
* @private
|
|
18229
|
+
* @param {Number} dateTs - Unix timestamp (seconds).
|
|
18230
|
+
* @returns {Boolean} True if the date is blacked out.
|
|
18231
|
+
*/
|
|
18232
|
+
isDateBlackout(dateTs) {
|
|
18233
|
+
// Check legacy disabledDays.
|
|
18234
|
+
if (Array.isArray(this.disabledDays) && this.disabledDays.length > 0) {
|
|
18235
|
+
if (this.disabledDays.findIndex(d => parseInt(d, 10) === dateTs) !== -1) {
|
|
18236
|
+
return true;
|
|
18237
|
+
}
|
|
18238
|
+
}
|
|
18239
|
+
|
|
18240
|
+
// Check ISO blackoutDates.
|
|
18241
|
+
const blackoutDates = this.datepicker?.blackoutDates;
|
|
18242
|
+
if (Array.isArray(blackoutDates) && blackoutDates.length > 0) {
|
|
18243
|
+
const date = new Date(dateTs * 1000);
|
|
18244
|
+
const yyyy = date.getFullYear();
|
|
18245
|
+
const mm = String(date.getMonth() + 1).padStart(2, '0');
|
|
18246
|
+
const dd = String(date.getDate()).padStart(2, '0');
|
|
18247
|
+
if (blackoutDates.includes(`${yyyy}-${mm}-${dd}`)) {
|
|
18248
|
+
return true;
|
|
18249
|
+
}
|
|
18250
|
+
}
|
|
18251
|
+
|
|
18252
|
+
return false;
|
|
18253
|
+
}
|
|
18254
|
+
|
|
18255
|
+
/**
|
|
18256
|
+
* Updates the range preview classes imperatively across all cells.
|
|
18257
|
+
* Only active when in range mode with dateFrom set and dateTo not yet set.
|
|
18258
|
+
* @private
|
|
18259
|
+
* @param {Number} hoveredDate - Unix timestamp of the hovered/focused date.
|
|
18260
|
+
* @returns {void}
|
|
18261
|
+
*/
|
|
18262
|
+
updateRangePreview(hoveredDate) {
|
|
18263
|
+
if (this.noRange || !this.dateFrom || this.dateTo) {
|
|
18264
|
+
return;
|
|
18265
|
+
}
|
|
18266
|
+
|
|
18267
|
+
const parsedDateFrom = parseInt(this.dateFrom, 10);
|
|
18268
|
+
const allCells = this.getAllFocusableCells();
|
|
18269
|
+
|
|
18270
|
+
allCells.forEach(cell => {
|
|
18271
|
+
cell.updateRangePreviewClasses(hoveredDate, parsedDateFrom);
|
|
18272
|
+
});
|
|
18273
|
+
}
|
|
18274
|
+
|
|
18275
|
+
/**
|
|
18276
|
+
* Clears range preview classes from all cells.
|
|
18277
|
+
* @private
|
|
18278
|
+
* @returns {void}
|
|
18279
|
+
*/
|
|
18280
|
+
clearRangePreview() {
|
|
18281
|
+
const allCells = this.getAllFocusableCells();
|
|
18282
|
+
allCells.forEach(cell => {
|
|
18283
|
+
cell.clearRangePreviewClasses();
|
|
18284
|
+
});
|
|
18285
|
+
}
|
|
18286
|
+
|
|
18287
|
+
/**
|
|
18288
|
+
* Overrides the base class handler to prevent setting `this.hoveredDate`
|
|
18289
|
+
* as a reactive property. Instead, handles the range preview imperatively.
|
|
18290
|
+
* @private
|
|
18291
|
+
* @param {CustomEvent} event - The hovered-date-changed event from a month.
|
|
18292
|
+
* @returns {void}
|
|
18293
|
+
*/
|
|
18294
|
+
hoveredDateChanged(event) {
|
|
18295
|
+
const hoveredDate = event.detail.value;
|
|
18296
|
+
this.updateRangePreview(hoveredDate);
|
|
18297
|
+
}
|
|
18298
|
+
|
|
18299
|
+
/**
|
|
18300
|
+
* Scrolls the calendar to ensure the month containing the active cell is visible.
|
|
18301
|
+
* @private
|
|
18302
|
+
* @returns {void}
|
|
18303
|
+
*/
|
|
18304
|
+
scrollToActiveCell() {
|
|
18305
|
+
if (this.activeCellDate == null) return;
|
|
18306
|
+
|
|
18307
|
+
const date = new Date(this.activeCellDate * 1000);
|
|
18308
|
+
const month = date.getMonth() + 1;
|
|
18309
|
+
const year = date.getFullYear();
|
|
18310
|
+
const selector = `#month-${month}-${year}`;
|
|
18311
|
+
const monthElem = this.shadowRoot.querySelector(selector);
|
|
18312
|
+
|
|
18313
|
+
if (monthElem) {
|
|
18314
|
+
const prefersReducedMotion = window.matchMedia('(prefers-reduced-motion: reduce)').matches;
|
|
18315
|
+
monthElem.scrollIntoView({ block: 'nearest', behavior: prefersReducedMotion ? 'instant' : 'smooth' });
|
|
18316
|
+
}
|
|
18317
|
+
}
|
|
18318
|
+
|
|
18319
|
+
/**
|
|
18320
|
+
* Announces a date selection or focus change via the live region.
|
|
18321
|
+
* @private
|
|
18322
|
+
* @param {String} dateStr - The localized date string to announce.
|
|
18323
|
+
* @returns {void}
|
|
18324
|
+
*/
|
|
18325
|
+
announceSelection(dateStr) {
|
|
18326
|
+
const liveRegion = this.shadowRoot.querySelector('#calendar-live-region');
|
|
18327
|
+
if (liveRegion) {
|
|
18328
|
+
liveRegion.textContent = '';
|
|
18329
|
+
// Use microtask to ensure SR picks up the change
|
|
18330
|
+
Promise.resolve().then(() => {
|
|
18331
|
+
liveRegion.textContent = dateStr;
|
|
18332
|
+
});
|
|
18333
|
+
}
|
|
18334
|
+
}
|
|
18335
|
+
|
|
18336
|
+
/**
|
|
18337
|
+
* Debounced version of announceSelection for focus navigation.
|
|
18338
|
+
* Only announces the last focused date after rapid navigation pauses,
|
|
18339
|
+
* preventing the screen reader from queueing up stale announcements
|
|
18340
|
+
* that can't keep pace with arrow-key traversal.
|
|
18341
|
+
* @private
|
|
18342
|
+
* @param {String} dateStr - The localized date string to announce.
|
|
18343
|
+
* @returns {void}
|
|
18344
|
+
*/
|
|
18345
|
+
announceFocusDebounced(dateStr) {
|
|
18346
|
+
if (this._focusAnnounceTimer) {
|
|
18347
|
+
clearTimeout(this._focusAnnounceTimer);
|
|
18348
|
+
}
|
|
18349
|
+
this._focusAnnounceTimer = setTimeout(() => {
|
|
18350
|
+
this.announceSelection(dateStr);
|
|
18351
|
+
this._focusAnnounceTimer = null;
|
|
18352
|
+
}, 150);
|
|
18353
|
+
}
|
|
18354
|
+
|
|
18355
|
+
/**
|
|
18356
|
+
* Formats a Unix timestamp (seconds) as a localized date string for SR announcements.
|
|
18357
|
+
* @private
|
|
18358
|
+
* @param {String|Number} timestamp - Unix timestamp in seconds.
|
|
18359
|
+
* @returns {String} Localized date string.
|
|
18360
|
+
*/
|
|
18361
|
+
formatAnnouncementDate(timestamp) {
|
|
18362
|
+
const date = new Date(parseInt(timestamp, 10) * 1000);
|
|
18363
|
+
const localeCode = this.locale?.code || undefined;
|
|
18364
|
+
const formatter = new Intl.DateTimeFormat(localeCode, {
|
|
18365
|
+
weekday: 'long', year: 'numeric', month: 'long', day: 'numeric'
|
|
18366
|
+
});
|
|
18367
|
+
return formatter.format(date);
|
|
18368
|
+
}
|
|
18369
|
+
|
|
17045
18370
|
firstUpdated() {
|
|
17046
18371
|
this.addEventListener('date-from-changed', () => {
|
|
17047
18372
|
this.dispatchEvent(new CustomEvent('auroCalendar-dateSelected', {
|
|
@@ -17061,6 +18386,21 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
17061
18386
|
composed: true,
|
|
17062
18387
|
}));
|
|
17063
18388
|
});
|
|
18389
|
+
|
|
18390
|
+
// Listen for cross-month boundary navigation events
|
|
18391
|
+
this.addEventListener('calendar-month-boundary', (event) => {
|
|
18392
|
+
this.handleMonthBoundary(event);
|
|
18393
|
+
});
|
|
18394
|
+
|
|
18395
|
+
// Listen for cell activation events
|
|
18396
|
+
this.addEventListener('calendar-cell-activate', (event) => {
|
|
18397
|
+
this.handleCellActivate(event);
|
|
18398
|
+
});
|
|
18399
|
+
|
|
18400
|
+
// Listen for cell focus events (SR announcements + range preview)
|
|
18401
|
+
this.addEventListener('calendar-cell-focused', (event) => {
|
|
18402
|
+
this.handleCellFocused(event);
|
|
18403
|
+
});
|
|
17064
18404
|
}
|
|
17065
18405
|
|
|
17066
18406
|
injectSlot(slotName, nodes) {
|
|
@@ -17085,7 +18425,37 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
17085
18425
|
}
|
|
17086
18426
|
|
|
17087
18427
|
if (changedProperties.has('visible')) {
|
|
17088
|
-
|
|
18428
|
+
if (this.visible) {
|
|
18429
|
+
// Compute the active date eagerly from data — no DOM needed.
|
|
18430
|
+
if (this.activeCellDate == null) {
|
|
18431
|
+
this.activeCellDate = this.computeActiveDate();
|
|
18432
|
+
}
|
|
18433
|
+
|
|
18434
|
+
this.requestUpdate();
|
|
18435
|
+
} else {
|
|
18436
|
+
this.requestUpdate();
|
|
18437
|
+
}
|
|
18438
|
+
}
|
|
18439
|
+
|
|
18440
|
+
// Announce date selection to screen readers when user clicks/selects a cell
|
|
18441
|
+
const isCellClick = this.datepicker?.wasCellClick || this.datepicker?.cellClickActive;
|
|
18442
|
+
|
|
18443
|
+
if (changedProperties.has('dateFrom') && this.dateFrom && isCellClick) {
|
|
18444
|
+
const dateStr = this.formatAnnouncementDate(this.dateFrom);
|
|
18445
|
+
const isRange = !this.noRange;
|
|
18446
|
+
|
|
18447
|
+
if (isRange) {
|
|
18448
|
+
const rangeLabel = this.datepicker.rangeLabelStart || 'range start';
|
|
18449
|
+
this.announceSelection(`${dateStr}, selected as ${rangeLabel}`);
|
|
18450
|
+
} else {
|
|
18451
|
+
this.announceSelection(`${dateStr}, selected`);
|
|
18452
|
+
}
|
|
18453
|
+
}
|
|
18454
|
+
|
|
18455
|
+
if (changedProperties.has('dateTo') && this.dateTo && isCellClick) {
|
|
18456
|
+
const dateStr = this.formatAnnouncementDate(this.dateTo);
|
|
18457
|
+
const rangeLabel = this.datepicker.rangeLabelEnd || 'range end';
|
|
18458
|
+
this.announceSelection(`${dateStr}, selected as ${rangeLabel}`);
|
|
17089
18459
|
}
|
|
17090
18460
|
}
|
|
17091
18461
|
|
|
@@ -17094,6 +18464,7 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
17094
18464
|
<${this.bibtemplateTag}
|
|
17095
18465
|
?large="${this.largeFullscreenHeadline}"
|
|
17096
18466
|
?isFullscreen="${this.isFullscreen}"
|
|
18467
|
+
?showFooter="${!this.isFullscreen && this.dropdown?.desktopModal}"
|
|
17097
18468
|
@close-click="${this.utilCal.requestDismiss}">
|
|
17098
18469
|
<span slot="ariaLabel.close">${this.slots["ariaLabel.bib.close"]}</span>
|
|
17099
18470
|
|
|
@@ -17111,24 +18482,27 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
17111
18482
|
</div>
|
|
17112
18483
|
</div>
|
|
17113
18484
|
|
|
17114
|
-
<div class="calendarWrapper">
|
|
17115
|
-
<div class="calendars">
|
|
17116
|
-
${this.renderAllCalendars()}
|
|
17117
|
-
</div>
|
|
18485
|
+
<div class="calendarWrapper ${!this.isFullscreen && this.dropdown?.desktopModal ? 'hasFooter' : ''}">
|
|
17118
18486
|
<div class="calendarNavButtons">
|
|
17119
18487
|
${this.showPrevMonthBtn ? u$d`
|
|
17120
|
-
<button tabIndex="
|
|
18488
|
+
<button tabIndex="0" class="calendarNavBtn prevMonth" aria-label="${this.datepicker?.navLabelPrevMonth || 'Previous month'}" @click="${this.handlePrevMonth}">
|
|
17121
18489
|
${this.util.generateIconHtml(chevronLeft)}
|
|
17122
18490
|
</button>
|
|
17123
18491
|
` : undefined}
|
|
17124
18492
|
${this.showNextMonthBtn ? u$d`
|
|
17125
|
-
<button tabIndex="
|
|
18493
|
+
<button tabIndex="0" class="calendarNavBtn nextMonth" aria-label="${this.datepicker?.navLabelNextMonth || 'Next month'}" @click="${this.handleNextMonth}">
|
|
17126
18494
|
${this.util.generateIconHtml(chevronRight)}
|
|
17127
18495
|
</button>
|
|
17128
18496
|
` : undefined}
|
|
17129
18497
|
</div>
|
|
18498
|
+
<div id="calendarGrid" class="calendars" role="group" tabindex="-1" aria-activedescendant="activeDescendantProxy" @keydown="${this.handleGridKeyDown}">
|
|
18499
|
+
<span id="activeDescendantProxy" role="gridcell" aria-label="" class="sr-only"></span>
|
|
18500
|
+
${this.renderAllCalendars()}
|
|
18501
|
+
</div>
|
|
17130
18502
|
</div>
|
|
17131
18503
|
|
|
18504
|
+
<div id="calendar-live-region" aria-live="assertive" aria-atomic="true" class="sr-only"></div>
|
|
18505
|
+
|
|
17132
18506
|
<${this.buttonTag} slot="footer" fluid @click="${this.utilCal.requestDismiss}">Done</${this.buttonTag}>
|
|
17133
18507
|
</${this.bibtemplateTag}>
|
|
17134
18508
|
`;
|
|
@@ -20376,7 +21750,7 @@ function applyKeyboardStrategy$1$2(component, strategy, options = {}) {
|
|
|
20376
21750
|
});
|
|
20377
21751
|
}
|
|
20378
21752
|
|
|
20379
|
-
var styleCss$2$1$2 = i$5`:host{position:fixed;z-index:var(--depth-tooltip, 400);display:none;isolation:isolate}:host dialog{width:auto;max-width:none;height:auto;max-height:none;padding:0;border:none;margin:0;outline:none;transform:translateZ(0)}:host dialog::backdrop{background:transparent}:host(:not([isfullscreen])) dialog{position:relative;inset:unset}:host(:not([isfullscreen])) .container.shape-box{border-radius:unset}:host(:not([isfullscreen])) .container[class*=shape-pill],:host(:not([isfullscreen])) .container[class*=shape-snowflake]{border-radius:30px}:host(:not([isfullscreen])) .container[class*=shape-rounded]{border-radius:16px}:host(:not([matchWidth])) .container{min-width:fit-content}:host([isfullscreen]){position:fixed;top:0;left:0}:host([isfullscreen]) .container{width:100dvw;max-width:none;height:100dvh;max-height:none;border-radius:unset;margin-top:0;box-shadow:unset;overscroll-behavior:contain}:host([isfullscreen]) .container::backdrop{background:var(--ds-color-background-primary, #fff)}:host(:popover-open){position:fixed;overflow:visible;padding:0;border:none;margin:0;background:transparent;inset:unset;outline:none}:host([data-show]){display:flex}:host([common]:not([isfullscreen])) .container,:host([rounded]:not([isfullscreen])) .container{border-radius:var(--ds-border-radius, 0.375rem)}:host([common][isfullscreen]) .container,:host([rounded][isfullscreen]) .container{border-radius:unset;box-shadow:unset}.container{display:inline-block;overflow:auto;box-sizing:border-box;border-radius:var(--ds-border-radius, 0.375rem);margin:var(--ds-size-50, 0.25rem) 0}.util_displayHiddenVisually{position:absolute;overflow:hidden;width:1px;height:1px;padding:0;border:0;margin:-1px;clip-path:inset(50%);white-space:nowrap}`;
|
|
21753
|
+
var styleCss$2$1$2 = i$5`:host{position:fixed;z-index:var(--depth-tooltip, 400);display:none;isolation:isolate}:host dialog{width:auto;max-width:none;height:auto;max-height:none;padding:0;border:none;margin:0;outline:none;transform:translateZ(0)}:host dialog::backdrop{background:transparent}:host(:not([isfullscreen])) dialog{position:relative;inset:unset}:host(:not([isfullscreen])) .container.shape-box{border-radius:unset}:host(:not([isfullscreen])) .container[class*=shape-pill],:host(:not([isfullscreen])) .container[class*=shape-snowflake]{border-radius:30px}:host(:not([isfullscreen])) .container[class*=shape-rounded]{border-radius:16px}:host([desktopmodal]:popover-open)::backdrop{background:transparent}:host(:not([matchWidth])) .container{min-width:fit-content}:host([isfullscreen]){position:fixed;top:0;left:0}:host([isfullscreen]) .container{width:100dvw;max-width:none;height:100dvh;max-height:none;border-radius:unset;margin-top:0;box-shadow:unset;overscroll-behavior:contain}:host([isfullscreen]) .container::backdrop{background:var(--ds-color-background-primary, #fff)}:host(:popover-open){position:fixed;overflow:visible;padding:0;border:none;margin:0;background:transparent;inset:unset;outline:none}:host([data-show]){display:flex}:host([common]:not([isfullscreen])) .container,:host([rounded]:not([isfullscreen])) .container{border-radius:var(--ds-border-radius, 0.375rem)}:host([common][isfullscreen]) .container,:host([rounded][isfullscreen]) .container{border-radius:unset;box-shadow:unset}.container{display:inline-block;overflow:auto;box-sizing:border-box;border-radius:var(--ds-border-radius, 0.375rem);margin:var(--ds-size-50, 0.25rem) 0}.util_displayHiddenVisually{position:absolute;overflow:hidden;width:1px;height:1px;padding:0;border:0;margin:-1px;clip-path:inset(50%);white-space:nowrap}`;
|
|
20380
21754
|
|
|
20381
21755
|
var colorCss$2$7 = i$5`.container{background-color:var(--ds-auro-dropdownbib-container-color);box-shadow:var(--ds-auro-dropdownbib-boxshadow-color);color:var(--ds-auro-dropdownbib-text-color)}`;
|
|
20382
21756
|
|
|
@@ -21007,7 +22381,7 @@ let AuroHelpText$2$1 = class AuroHelpText extends i$3 {
|
|
|
21007
22381
|
}
|
|
21008
22382
|
};
|
|
21009
22383
|
|
|
21010
|
-
var formkitVersion$1$2 = '
|
|
22384
|
+
var formkitVersion$1$2 = '202605210248';
|
|
21011
22385
|
|
|
21012
22386
|
let AuroElement$2$2 = class AuroElement extends i$3 {
|
|
21013
22387
|
static get properties() {
|
|
@@ -21187,6 +22561,7 @@ let AuroDropdown$3 = class AuroDropdown extends AuroElement$2$2 {
|
|
|
21187
22561
|
_intializeDefaults() {
|
|
21188
22562
|
this.appearance = 'default';
|
|
21189
22563
|
this.chevron = false;
|
|
22564
|
+
this.desktopModal = false;
|
|
21190
22565
|
this.disabled = false;
|
|
21191
22566
|
this.disableKeyboardHandling = false;
|
|
21192
22567
|
this.error = false;
|
|
@@ -21367,6 +22742,14 @@ let AuroDropdown$3 = class AuroDropdown extends AuroElement$2$2 {
|
|
|
21367
22742
|
reflect: true
|
|
21368
22743
|
},
|
|
21369
22744
|
|
|
22745
|
+
/**
|
|
22746
|
+
* If declared, the dropdown will behave as a modal dialog when in a desktop viewport size.
|
|
22747
|
+
*/
|
|
22748
|
+
desktopModal: {
|
|
22749
|
+
type: Boolean,
|
|
22750
|
+
reflect: true
|
|
22751
|
+
},
|
|
22752
|
+
|
|
21370
22753
|
/**
|
|
21371
22754
|
* If declared, the dropdown will only show by calling the API .show() public method.
|
|
21372
22755
|
*/
|
|
@@ -21654,6 +23037,15 @@ let AuroDropdown$3 = class AuroDropdown extends AuroElement$2$2 {
|
|
|
21654
23037
|
|
|
21655
23038
|
disconnectedCallback() {
|
|
21656
23039
|
super.disconnectedCallback();
|
|
23040
|
+
this._clearPageInert();
|
|
23041
|
+
if (this._bibTabHandler) {
|
|
23042
|
+
this.removeEventListener('keydown', this._bibTabHandler);
|
|
23043
|
+
this._bibTabHandler = undefined;
|
|
23044
|
+
}
|
|
23045
|
+
if (this.focusTrap) {
|
|
23046
|
+
this.focusTrap.disconnect();
|
|
23047
|
+
this.focusTrap = undefined;
|
|
23048
|
+
}
|
|
21657
23049
|
if (this.floater) {
|
|
21658
23050
|
this.floater.hideBib('disconnect');
|
|
21659
23051
|
this.floater.disconnect();
|
|
@@ -21681,19 +23073,45 @@ let AuroDropdown$3 = class AuroDropdown extends AuroElement$2$2 {
|
|
|
21681
23073
|
if (this.isPopoverVisible) {
|
|
21682
23074
|
// Fullscreen: use showModal() for native accessibility (inert outside, focus trap)
|
|
21683
23075
|
// Desktop: use show() for Floating UI positioning + FocusTrap for focus management
|
|
21684
|
-
|
|
21685
|
-
this.
|
|
23076
|
+
this.bibElement.value.open(this.isBibFullscreen);
|
|
23077
|
+
this.updateFocusTrap();
|
|
23078
|
+
|
|
23079
|
+
// Desktop modal: make siblings inert so content outside is not interactive
|
|
23080
|
+
if (this.desktopModal && !this.isBibFullscreen) {
|
|
23081
|
+
this._setPageInert();
|
|
23082
|
+
}
|
|
21686
23083
|
} else {
|
|
21687
23084
|
this.bibElement.value.close();
|
|
23085
|
+
this._clearPageInert();
|
|
21688
23086
|
}
|
|
21689
23087
|
}
|
|
21690
23088
|
|
|
21691
23089
|
// When fullscreen strategy changes while open, re-open dialog with correct mode
|
|
21692
23090
|
// (e.g. resizing from desktop → mobile while dropdown is open)
|
|
21693
23091
|
if (changedProperties.has('isBibFullscreen') && this.isPopoverVisible && this.bibElement.value) {
|
|
21694
|
-
const useModal = this.isBibFullscreen;
|
|
21695
23092
|
this.bibElement.value.close();
|
|
21696
|
-
this.bibElement.value.open(
|
|
23093
|
+
this.bibElement.value.open(this.isBibFullscreen);
|
|
23094
|
+
|
|
23095
|
+
// Re-initialize focus management for the new strategy
|
|
23096
|
+
this.updateFocusTrap();
|
|
23097
|
+
|
|
23098
|
+
// Toggle inert: desktop modal needs it, fullscreen showModal() handles it natively
|
|
23099
|
+
if (this.desktopModal && !this.isBibFullscreen) {
|
|
23100
|
+
this._setPageInert();
|
|
23101
|
+
} else {
|
|
23102
|
+
this._clearPageInert();
|
|
23103
|
+
}
|
|
23104
|
+
}
|
|
23105
|
+
|
|
23106
|
+
// Handle desktopModal toggled while the dropdown is already open.
|
|
23107
|
+
// Re-initialize focus trapping and page inert state to match the new mode.
|
|
23108
|
+
if (changedProperties.has('desktopModal') && this.isPopoverVisible && !this.isBibFullscreen) {
|
|
23109
|
+
this.updateFocusTrap();
|
|
23110
|
+
if (this.desktopModal) {
|
|
23111
|
+
this._setPageInert();
|
|
23112
|
+
} else {
|
|
23113
|
+
this._clearPageInert();
|
|
23114
|
+
}
|
|
21697
23115
|
}
|
|
21698
23116
|
}
|
|
21699
23117
|
|
|
@@ -21703,8 +23121,14 @@ let AuroDropdown$3 = class AuroDropdown extends AuroElement$2$2 {
|
|
|
21703
23121
|
* @param {CustomEvent} event - The custom event that contains the dropdown toggle information.
|
|
21704
23122
|
*/
|
|
21705
23123
|
handleDropdownToggle(event) {
|
|
21706
|
-
this.updateFocusTrap();
|
|
21707
23124
|
this.isPopoverVisible = event.detail.expanded;
|
|
23125
|
+
|
|
23126
|
+
// Tear down FocusTrap when closing. Creation happens in updated()
|
|
23127
|
+
// after the dialog is open so getFocusableElements can find content.
|
|
23128
|
+
if (!this.isPopoverVisible) {
|
|
23129
|
+
this.updateFocusTrap();
|
|
23130
|
+
}
|
|
23131
|
+
|
|
21708
23132
|
const eventType = event.detail.eventType || "unknown";
|
|
21709
23133
|
if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown") {
|
|
21710
23134
|
this.trigger.focus();
|
|
@@ -21803,19 +23227,178 @@ let AuroDropdown$3 = class AuroDropdown extends AuroElement$2$2 {
|
|
|
21803
23227
|
* @private
|
|
21804
23228
|
*/
|
|
21805
23229
|
updateFocusTrap() {
|
|
23230
|
+
// Always clean up existing handlers/traps before setting up new ones
|
|
23231
|
+
// to prevent duplicate listeners on repeated calls.
|
|
23232
|
+
if (this._bibTabHandler) {
|
|
23233
|
+
this.removeEventListener('keydown', this._bibTabHandler);
|
|
23234
|
+
this._bibTabHandler = undefined;
|
|
23235
|
+
}
|
|
23236
|
+
|
|
23237
|
+
if (this.focusTrap) {
|
|
23238
|
+
this.focusTrap.disconnect();
|
|
23239
|
+
this.focusTrap = undefined;
|
|
23240
|
+
}
|
|
23241
|
+
|
|
21806
23242
|
if (this.isPopoverVisible) {
|
|
21807
23243
|
if (!this.isBibFullscreen) {
|
|
21808
|
-
|
|
21809
|
-
|
|
21810
|
-
|
|
23244
|
+
if (this.desktopModal) {
|
|
23245
|
+
// Desktop modal: trap focus only within the bib content.
|
|
23246
|
+
// Can't use FocusTrap on the bib element because keydown events
|
|
23247
|
+
// from slotted content bubble through the dropdown host (light DOM),
|
|
23248
|
+
// not through the bib (shadow projection target). Using FocusTrap
|
|
23249
|
+
// on the dropdown would include the trigger in the tab cycle.
|
|
23250
|
+
// Instead, listen for Tab on the dropdown and manually wrap focus
|
|
23251
|
+
// within the bib's focusable elements.
|
|
23252
|
+
this._bibTabHandler = (event) => {
|
|
23253
|
+
if (event.key !== 'Tab') {
|
|
23254
|
+
return;
|
|
23255
|
+
}
|
|
23256
|
+
|
|
23257
|
+
// Collect focusable elements from the bib content.
|
|
23258
|
+
const focusables = getFocusableElements$3(this.bibContent);
|
|
23259
|
+
|
|
23260
|
+
// Fallback: try from slotted content directly
|
|
23261
|
+
if (!focusables.length) {
|
|
23262
|
+
const slot = this.shadowRoot.querySelector('.slotContent slot');
|
|
23263
|
+
const assignedNodes = slot ? slot.assignedNodes({ flatten: true }) : [];
|
|
23264
|
+
|
|
23265
|
+
for (const node of assignedNodes) {
|
|
23266
|
+
if (node.nodeType === Node.ELEMENT_NODE) {
|
|
23267
|
+
focusables.push(...getFocusableElements$3(node));
|
|
23268
|
+
}
|
|
23269
|
+
}
|
|
23270
|
+
}
|
|
23271
|
+
|
|
23272
|
+
if (!focusables.length) {
|
|
23273
|
+
return;
|
|
23274
|
+
}
|
|
23275
|
+
|
|
23276
|
+
event.preventDefault();
|
|
23277
|
+
|
|
23278
|
+
const direction = event.shiftKey ? -1 : 1; // eslint-disable-line no-magic-numbers
|
|
23279
|
+
|
|
23280
|
+
// Walk the active element chain through shadow roots
|
|
23281
|
+
const actives = this._getActiveElements();
|
|
23282
|
+
|
|
23283
|
+
let idx = focusables.findIndex((el) => actives.includes(el));
|
|
23284
|
+
|
|
23285
|
+
if (idx === -1) { // eslint-disable-line no-magic-numbers
|
|
23286
|
+
// Focus is not on a known element — move to first/last
|
|
23287
|
+
idx = direction === 1 ? -1 : focusables.length; // eslint-disable-line no-magic-numbers
|
|
23288
|
+
}
|
|
23289
|
+
|
|
23290
|
+
// Try each element in order, skipping any that can't receive focus
|
|
23291
|
+
// (e.g. hidden elements, elements in collapsed sections)
|
|
23292
|
+
for (let index = 0; index < focusables.length; index++) { // eslint-disable-line no-plusplus
|
|
23293
|
+
let nextIdx = idx + direction;
|
|
23294
|
+
|
|
23295
|
+
// Wrap around
|
|
23296
|
+
if (nextIdx < 0) {
|
|
23297
|
+
nextIdx = focusables.length - 1;
|
|
23298
|
+
} else if (nextIdx >= focusables.length) {
|
|
23299
|
+
nextIdx = 0;
|
|
23300
|
+
}
|
|
23301
|
+
|
|
23302
|
+
focusables[nextIdx].focus();
|
|
23303
|
+
|
|
23304
|
+
// Verify focus actually moved to the target
|
|
23305
|
+
const newActives = this._getActiveElements();
|
|
23306
|
+
|
|
23307
|
+
if (newActives.includes(focusables[nextIdx])) {
|
|
23308
|
+
return;
|
|
23309
|
+
}
|
|
23310
|
+
|
|
23311
|
+
// Focus didn't stick — skip this element and try the next
|
|
23312
|
+
idx = nextIdx;
|
|
23313
|
+
}
|
|
23314
|
+
};
|
|
23315
|
+
this.addEventListener('keydown', this._bibTabHandler);
|
|
23316
|
+
|
|
23317
|
+
// Move initial focus into the bib content, matching FocusTrap behavior
|
|
23318
|
+
requestAnimationFrame(() => {
|
|
23319
|
+
const focusables = getFocusableElements$3(this.bibContent);
|
|
23320
|
+
if (focusables.length) {
|
|
23321
|
+
focusables[0].focus();
|
|
23322
|
+
}
|
|
23323
|
+
});
|
|
23324
|
+
} else {
|
|
23325
|
+
// Normal desktop: use FocusTrap on the bib element
|
|
23326
|
+
this.focusTrap = new FocusTrap$3(this.bibContent);
|
|
23327
|
+
this.focusTrap.focusFirstElement();
|
|
23328
|
+
}
|
|
21811
23329
|
}
|
|
21812
23330
|
// Fullscreen: showModal() provides native focus trapping
|
|
23331
|
+
}
|
|
23332
|
+
}
|
|
23333
|
+
|
|
23334
|
+
/**
|
|
23335
|
+
* Returns the chain of active (focused) elements through shadow roots.
|
|
23336
|
+
* @private
|
|
23337
|
+
* @returns {Array<HTMLElement>}
|
|
23338
|
+
*/
|
|
23339
|
+
_getActiveElements() {
|
|
23340
|
+
let { activeElement } = document;
|
|
23341
|
+
const actives = [activeElement];
|
|
23342
|
+
|
|
23343
|
+
while (activeElement?.shadowRoot?.activeElement) {
|
|
23344
|
+
activeElement = activeElement.shadowRoot.activeElement;
|
|
23345
|
+
actives.push(activeElement);
|
|
23346
|
+
}
|
|
23347
|
+
|
|
23348
|
+
return actives;
|
|
23349
|
+
}
|
|
23350
|
+
|
|
23351
|
+
/**
|
|
23352
|
+
* Sets `inert` on sibling elements of the dropdown's top-level host
|
|
23353
|
+
* so that content outside the dropdown is not interactive while the modal is open.
|
|
23354
|
+
* Walks up through shadow DOM boundaries to find the outermost host element
|
|
23355
|
+
* in the light DOM, then sets `inert` on siblings at each ancestor level
|
|
23356
|
+
* to ensure all page content outside the host subtree is inert.
|
|
23357
|
+
* @private
|
|
23358
|
+
*/
|
|
23359
|
+
_setPageInert() {
|
|
23360
|
+
if (this._inertSiblings) {
|
|
21813
23361
|
return;
|
|
21814
23362
|
}
|
|
21815
23363
|
|
|
21816
|
-
|
|
21817
|
-
|
|
21818
|
-
|
|
23364
|
+
this._inertSiblings = [];
|
|
23365
|
+
|
|
23366
|
+
// Walk up through shadow DOM boundaries to find the topmost host
|
|
23367
|
+
// element in the light DOM. For example, if this dropdown is inside
|
|
23368
|
+
// auro-datepicker's shadow DOM, we walk up to the datepicker element
|
|
23369
|
+
// so we set inert on its siblings — not on the datepicker itself.
|
|
23370
|
+
let host = this;
|
|
23371
|
+
while (host.getRootNode() instanceof ShadowRoot) {
|
|
23372
|
+
host = host.getRootNode().host;
|
|
23373
|
+
}
|
|
23374
|
+
|
|
23375
|
+
// Walk up the ancestor chain, inerting siblings at each level
|
|
23376
|
+
// to ensure the entire page outside the host subtree is inert.
|
|
23377
|
+
let current = host;
|
|
23378
|
+
while (current.parentElement) {
|
|
23379
|
+
const parent = current.parentElement;
|
|
23380
|
+
for (const sibling of parent.children) {
|
|
23381
|
+
if (sibling !== current) {
|
|
23382
|
+
this._inertSiblings.push({ element: sibling, wasInert: sibling.inert });
|
|
23383
|
+
sibling.inert = true;
|
|
23384
|
+
}
|
|
23385
|
+
}
|
|
23386
|
+
current = parent;
|
|
23387
|
+
}
|
|
23388
|
+
}
|
|
23389
|
+
|
|
23390
|
+
/**
|
|
23391
|
+
* Restores `inert` state on siblings that were tracked by `_setPageInert`.
|
|
23392
|
+
* Preserves the previous inert state so externally-inerted elements are
|
|
23393
|
+
* not inadvertently re-enabled.
|
|
23394
|
+
* @private
|
|
23395
|
+
*/
|
|
23396
|
+
_clearPageInert() {
|
|
23397
|
+
if (this._inertSiblings) {
|
|
23398
|
+
for (const entry of this._inertSiblings) {
|
|
23399
|
+
entry.element.inert = entry.wasInert;
|
|
23400
|
+
}
|
|
23401
|
+
this._inertSiblings = undefined;
|
|
21819
23402
|
}
|
|
21820
23403
|
}
|
|
21821
23404
|
|
|
@@ -22054,6 +23637,7 @@ let AuroDropdown$3 = class AuroDropdown extends AuroElement$2$2 {
|
|
|
22054
23637
|
shape="${this.shape}"
|
|
22055
23638
|
?data-show="${this.isPopoverVisible}"
|
|
22056
23639
|
?isfullscreen="${this.isBibFullscreen}"
|
|
23640
|
+
?desktopmodal="${this.desktopModal}"
|
|
22057
23641
|
.dialogLabel="${this.bibDialogLabel}"
|
|
22058
23642
|
${n$6(this.bibElement)}
|
|
22059
23643
|
>
|
|
@@ -28752,7 +30336,7 @@ let AuroHelpText$1$2 = class AuroHelpText extends i$3 {
|
|
|
28752
30336
|
}
|
|
28753
30337
|
};
|
|
28754
30338
|
|
|
28755
|
-
var formkitVersion$8 = '
|
|
30339
|
+
var formkitVersion$8 = '202605210248';
|
|
28756
30340
|
|
|
28757
30341
|
// Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
28758
30342
|
// See LICENSE in the project root for license information.
|
|
@@ -30007,26 +31591,62 @@ function applyKeyboardStrategy$5(component, strategy, options = {}) {
|
|
|
30007
31591
|
// components/datepicker/docs/partials/keyboardBehavior.md
|
|
30008
31592
|
//
|
|
30009
31593
|
// Current behavior (transitional — full bib keyboard navigation is planned for a future iteration):
|
|
30010
|
-
// - The bib opens and closes via pointer/touch interaction only.
|
|
30011
31594
|
// - Escape closes the bib and prevents the event from reaching parent containers.
|
|
31595
|
+
// - Enter opens the bib when it is closed (trigger input only, not clear button).
|
|
31596
|
+
// - Space opens the bib when it is closed (trigger input only, not clear button).
|
|
30012
31597
|
// - Tab uses the browser's default tabindex sequence across trigger controls.
|
|
30013
|
-
// - Enter and Space do not open or close the bib.
|
|
30014
31598
|
//
|
|
30015
31599
|
// This file is an intentional placeholder for most keys. When datepicker bib keyboard navigation is
|
|
30016
31600
|
// added, handlers should go here following the same strategy pattern used by
|
|
30017
31601
|
// auro-select (selectKeyboardStrategy.js) and auro-combobox (comboboxKeyboardStrategy.js).
|
|
30018
31602
|
const datepickerKeyboardStrategy = {
|
|
30019
|
-
Escape(component, evt) {
|
|
30020
|
-
if (!
|
|
31603
|
+
Escape(component, evt, ctx) {
|
|
31604
|
+
if (!ctx.isExpanded) {
|
|
30021
31605
|
return;
|
|
30022
31606
|
}
|
|
30023
31607
|
|
|
30024
|
-
//
|
|
30025
|
-
//
|
|
30026
|
-
// seeing this event, we must also close the dropdown explicitly.
|
|
31608
|
+
// Stop propagation so parent containers (auro-dialog, auro-drawer)
|
|
31609
|
+
// don't also react to Escape.
|
|
30027
31610
|
evt.stopPropagation();
|
|
31611
|
+
evt.preventDefault();
|
|
30028
31612
|
|
|
30029
|
-
component.
|
|
31613
|
+
component.hideBib();
|
|
31614
|
+
},
|
|
31615
|
+
|
|
31616
|
+
Enter(component, evt, ctx) {
|
|
31617
|
+
if (ctx.isExpanded) {
|
|
31618
|
+
return;
|
|
31619
|
+
}
|
|
31620
|
+
|
|
31621
|
+
// Only open from the trigger input, not the clear button or other internal elements.
|
|
31622
|
+
// evt.target is retargeted to the host in shadow DOM, so use composedPath()
|
|
31623
|
+
// to find the real origin. The clear button is rendered with class "clearBtn".
|
|
31624
|
+
const path = evt.composedPath();
|
|
31625
|
+
if (path.some(el => el.classList?.contains('clearBtn'))) {
|
|
31626
|
+
return;
|
|
31627
|
+
}
|
|
31628
|
+
|
|
31629
|
+
evt.preventDefault();
|
|
31630
|
+
|
|
31631
|
+
component.dropdown.show();
|
|
31632
|
+
},
|
|
31633
|
+
|
|
31634
|
+
' '(component, evt, ctx) {
|
|
31635
|
+
if (ctx.isExpanded) {
|
|
31636
|
+
return;
|
|
31637
|
+
}
|
|
31638
|
+
|
|
31639
|
+
// Only open from the trigger input, not the clear button or other internal elements.
|
|
31640
|
+
// evt.target is retargeted to the host in shadow DOM, so use composedPath()
|
|
31641
|
+
// to find the real origin. The clear button is rendered with class "clearBtn".
|
|
31642
|
+
const path = evt.composedPath();
|
|
31643
|
+
if (path.some(el => el.classList?.contains('clearBtn'))) {
|
|
31644
|
+
return;
|
|
31645
|
+
}
|
|
31646
|
+
|
|
31647
|
+
evt.preventDefault();
|
|
31648
|
+
|
|
31649
|
+
component.dropdown.show();
|
|
30030
31650
|
},
|
|
30031
31651
|
};
|
|
30032
31652
|
|
|
@@ -30100,6 +31720,15 @@ class AuroDatePicker extends AuroElement$6 {
|
|
|
30100
31720
|
this.required = false;
|
|
30101
31721
|
this.onDark = false;
|
|
30102
31722
|
this.range = false;
|
|
31723
|
+
this.rangeLabelStart = 'range start';
|
|
31724
|
+
this.rangeLabelEnd = 'range end';
|
|
31725
|
+
this.rangeLabelBeforeRange = 'before range';
|
|
31726
|
+
this.rangeLabelInRange = 'in range';
|
|
31727
|
+
this.rangeLabelAfterRange = 'after range';
|
|
31728
|
+
this.blackoutDates = [];
|
|
31729
|
+
this.blackoutLabel = 'unavailable';
|
|
31730
|
+
this.navLabelPrevMonth = 'Previous month';
|
|
31731
|
+
this.navLabelNextMonth = 'Next month';
|
|
30103
31732
|
this.stacked = false;
|
|
30104
31733
|
this.noValidate = false;
|
|
30105
31734
|
this.validity = undefined;
|
|
@@ -30478,6 +32107,78 @@ class AuroDatePicker extends AuroElement$6 {
|
|
|
30478
32107
|
reflect: true
|
|
30479
32108
|
},
|
|
30480
32109
|
|
|
32110
|
+
/**
|
|
32111
|
+
* Label announced for the range start date cell.
|
|
32112
|
+
*/
|
|
32113
|
+
rangeLabelStart: {
|
|
32114
|
+
type: String,
|
|
32115
|
+
reflect: true
|
|
32116
|
+
},
|
|
32117
|
+
|
|
32118
|
+
/**
|
|
32119
|
+
* Label announced for the range end date cell.
|
|
32120
|
+
*/
|
|
32121
|
+
rangeLabelEnd: {
|
|
32122
|
+
type: String,
|
|
32123
|
+
reflect: true
|
|
32124
|
+
},
|
|
32125
|
+
|
|
32126
|
+
/**
|
|
32127
|
+
* Label announced for cells before the range start.
|
|
32128
|
+
*/
|
|
32129
|
+
rangeLabelBeforeRange: {
|
|
32130
|
+
type: String,
|
|
32131
|
+
reflect: true
|
|
32132
|
+
},
|
|
32133
|
+
|
|
32134
|
+
/**
|
|
32135
|
+
* Label announced for cells within the selected range.
|
|
32136
|
+
*/
|
|
32137
|
+
rangeLabelInRange: {
|
|
32138
|
+
type: String,
|
|
32139
|
+
reflect: true
|
|
32140
|
+
},
|
|
32141
|
+
|
|
32142
|
+
/**
|
|
32143
|
+
* Label announced for cells after the range (or after start when no end is selected).
|
|
32144
|
+
*/
|
|
32145
|
+
rangeLabelAfterRange: {
|
|
32146
|
+
type: String,
|
|
32147
|
+
reflect: true
|
|
32148
|
+
},
|
|
32149
|
+
|
|
32150
|
+
/**
|
|
32151
|
+
* Array of dates that cannot be selected. Dates should be in ISO format (YYYY-MM-DD).
|
|
32152
|
+
*/
|
|
32153
|
+
blackoutDates: {
|
|
32154
|
+
type: Array,
|
|
32155
|
+
reflect: true
|
|
32156
|
+
},
|
|
32157
|
+
|
|
32158
|
+
/**
|
|
32159
|
+
* Label announced for blackout (disabled but in-range) date cells.
|
|
32160
|
+
*/
|
|
32161
|
+
blackoutLabel: {
|
|
32162
|
+
type: String,
|
|
32163
|
+
reflect: true
|
|
32164
|
+
},
|
|
32165
|
+
|
|
32166
|
+
/**
|
|
32167
|
+
* Accessible label for the previous month navigation button.
|
|
32168
|
+
*/
|
|
32169
|
+
navLabelPrevMonth: {
|
|
32170
|
+
type: String,
|
|
32171
|
+
reflect: true
|
|
32172
|
+
},
|
|
32173
|
+
|
|
32174
|
+
/**
|
|
32175
|
+
* Accessible label for the next month navigation button.
|
|
32176
|
+
*/
|
|
32177
|
+
navLabelNextMonth: {
|
|
32178
|
+
type: String,
|
|
32179
|
+
reflect: true
|
|
32180
|
+
},
|
|
32181
|
+
|
|
30481
32182
|
/**
|
|
30482
32183
|
* Dates that the user should have for reference as part of their decision making when selecting a date.
|
|
30483
32184
|
* This should be a JSON string array of dates in the format of `MM/DD/YYYY`.
|
|
@@ -30504,6 +32205,7 @@ class AuroDatePicker extends AuroElement$6 {
|
|
|
30504
32205
|
|
|
30505
32206
|
/**
|
|
30506
32207
|
* Custom help text message to display when validity = `customError`.
|
|
32208
|
+
* Also used as the validation message when a blackout date is typed into the input.
|
|
30507
32209
|
*/
|
|
30508
32210
|
setCustomValidityCustomError: {
|
|
30509
32211
|
type: String
|
|
@@ -30825,6 +32527,61 @@ class AuroDatePicker extends AuroElement$6 {
|
|
|
30825
32527
|
}));
|
|
30826
32528
|
}
|
|
30827
32529
|
|
|
32530
|
+
/**
|
|
32531
|
+
* Attempts to focus the active calendar cell using a rAF retry loop.
|
|
32532
|
+
* Shared by both fullscreen and desktop open paths.
|
|
32533
|
+
* @private
|
|
32534
|
+
* @returns {void}
|
|
32535
|
+
*/
|
|
32536
|
+
focusActiveCellWhenReady() {
|
|
32537
|
+
const MAX_ATTEMPTS = 20;
|
|
32538
|
+
let attempts = 0;
|
|
32539
|
+
|
|
32540
|
+
const tryFocus = () => {
|
|
32541
|
+
attempts += 1;
|
|
32542
|
+
const allCells = this.calendar.getAllFocusableCells();
|
|
32543
|
+
|
|
32544
|
+
if (!allCells.length && attempts < MAX_ATTEMPTS) {
|
|
32545
|
+
requestAnimationFrame(tryFocus);
|
|
32546
|
+
return;
|
|
32547
|
+
}
|
|
32548
|
+
|
|
32549
|
+
// Compute and mark the active cell
|
|
32550
|
+
if (this.calendar.activeCellDate == null) {
|
|
32551
|
+
this.calendar.activeCellDate = this.calendar.computeActiveDate();
|
|
32552
|
+
}
|
|
32553
|
+
if (this.calendar.activeCellDate !== undefined) {
|
|
32554
|
+
this.calendar.setActiveCell(this.calendar.activeCellDate);
|
|
32555
|
+
}
|
|
32556
|
+
|
|
32557
|
+
// If no cell matched (e.g. centralDate month differs from the rendered
|
|
32558
|
+
// range on mobile), fall back to the first rendered enabled cell.
|
|
32559
|
+
let activeCell = allCells.find(cell => cell.active);
|
|
32560
|
+
if (!activeCell && allCells.length) {
|
|
32561
|
+
const fallback = allCells[0];
|
|
32562
|
+
if (fallback.day) {
|
|
32563
|
+
this.calendar.activeCellDate = fallback.day.date;
|
|
32564
|
+
this.calendar.setActiveCell(this.calendar.activeCellDate);
|
|
32565
|
+
activeCell = allCells.find(cell => cell.active);
|
|
32566
|
+
}
|
|
32567
|
+
}
|
|
32568
|
+
|
|
32569
|
+
// Focus the calendar grid wrapper (aria-activedescendant handles
|
|
32570
|
+
// the SR announcement for the active cell).
|
|
32571
|
+
if (activeCell) {
|
|
32572
|
+
// Announce the initial active cell via the live region
|
|
32573
|
+
const announcement = this.calendar.buildFocusAnnouncement(activeCell.day.date);
|
|
32574
|
+
this.calendar.announceSelection(announcement);
|
|
32575
|
+
|
|
32576
|
+
this.calendar.focusActiveCell();
|
|
32577
|
+
} else if (attempts < MAX_ATTEMPTS) {
|
|
32578
|
+
requestAnimationFrame(tryFocus);
|
|
32579
|
+
}
|
|
32580
|
+
};
|
|
32581
|
+
|
|
32582
|
+
requestAnimationFrame(tryFocus);
|
|
32583
|
+
}
|
|
32584
|
+
|
|
30828
32585
|
/**
|
|
30829
32586
|
* Binds all behavior needed to the dropdown after rendering.
|
|
30830
32587
|
* @private
|
|
@@ -30833,6 +32590,12 @@ class AuroDatePicker extends AuroElement$6 {
|
|
|
30833
32590
|
configureDropdown() {
|
|
30834
32591
|
this.dropdown = this.shadowRoot.querySelector(this.dropdownTag._$litStatic$);
|
|
30835
32592
|
|
|
32593
|
+
// The datepicker manages its own open/close lifecycle (Space/Escape/date-select/done).
|
|
32594
|
+
// Prevent the floater's document-level focusin handler from closing the bib
|
|
32595
|
+
// when focus moves from the trigger into the calendar cells (which live inside
|
|
32596
|
+
// a top-layer popover where :focus-within on the dropdown host returns false).
|
|
32597
|
+
this.dropdown.noHideOnThisFocusLoss = true;
|
|
32598
|
+
|
|
30836
32599
|
// Pass label text to the dropdown bib for accessible dialog naming.
|
|
30837
32600
|
// Without this, the fullscreen <dialog> has no accessible name and
|
|
30838
32601
|
// screen readers announce it as just "dialog" with no context.
|
|
@@ -30850,6 +32613,23 @@ class AuroDatePicker extends AuroElement$6 {
|
|
|
30850
32613
|
this.dropdown.addEventListener('auroDropdown-toggled', () => {
|
|
30851
32614
|
this.notifyDatepickerToggled();
|
|
30852
32615
|
|
|
32616
|
+
if (this.dropdown.isPopoverVisible) {
|
|
32617
|
+
// Reset calendar focus state so it recomputes from the current selection.
|
|
32618
|
+
// Without this, reopening after navigating to a month without a selected
|
|
32619
|
+
// date leaves activeCellDate pointing at a cell in a different month than
|
|
32620
|
+
// what centralDate renders, causing all cells to have tabindex="-1".
|
|
32621
|
+
this.calendar.activeCellDate = null;
|
|
32622
|
+
|
|
32623
|
+
// Show the month containing the selected date (or today) instead of
|
|
32624
|
+
// whichever month the user last navigated to.
|
|
32625
|
+
// Respect consumer-provided centralDate/calendarStartDate if no value is set.
|
|
32626
|
+
if (this.value && this.util.validDateStr(this.value, this.format)) {
|
|
32627
|
+
this.calendarRenderUtil.updateCentralDate(this, this.formattedValue);
|
|
32628
|
+
} else if (!this.centralDate && !this.calendarStartDate && !this.minDate) {
|
|
32629
|
+
this.calendarRenderUtil.updateCentralDate(this, new Date());
|
|
32630
|
+
}
|
|
32631
|
+
}
|
|
32632
|
+
|
|
30853
32633
|
// This forces the calendar to render when the dropdown is opened.
|
|
30854
32634
|
// It is not rendered by default
|
|
30855
32635
|
this.calendar.visible = this.dropdown.isPopoverVisible;
|
|
@@ -30882,12 +32662,23 @@ class AuroDatePicker extends AuroElement$6 {
|
|
|
30882
32662
|
bibEl.open(true);
|
|
30883
32663
|
|
|
30884
32664
|
doubleRaf$3(() => {
|
|
30885
|
-
this.
|
|
32665
|
+
this.focusActiveCellWhenReady();
|
|
30886
32666
|
});
|
|
30887
32667
|
}
|
|
30888
32668
|
});
|
|
30889
32669
|
|
|
30890
32670
|
guardTouchPassthrough$2(this.shadowRoot.querySelector('.calendarWrapper'));
|
|
32671
|
+
} else {
|
|
32672
|
+
// Desktop (non-fullscreen) modal: make the trigger inert so users
|
|
32673
|
+
// cannot interact with the input while the modal bib is open.
|
|
32674
|
+
if (this.dropdown.desktopModal) {
|
|
32675
|
+
this.dropdown.trigger.inert = true;
|
|
32676
|
+
}
|
|
32677
|
+
|
|
32678
|
+
// Desktop (non-fullscreen): focus the active calendar cell.
|
|
32679
|
+
this.dropdown.updateComplete.then(() => {
|
|
32680
|
+
this.focusActiveCellWhenReady();
|
|
32681
|
+
});
|
|
30891
32682
|
}
|
|
30892
32683
|
} else {
|
|
30893
32684
|
// Always clear the inert flag. Only restore focus to the input when the datepicker
|
|
@@ -30933,7 +32724,7 @@ class AuroDatePicker extends AuroElement$6 {
|
|
|
30933
32724
|
bibEl.close();
|
|
30934
32725
|
bibEl.open(true);
|
|
30935
32726
|
doubleRaf$3(() => {
|
|
30936
|
-
this.
|
|
32727
|
+
this.focusActiveCellWhenReady();
|
|
30937
32728
|
});
|
|
30938
32729
|
}
|
|
30939
32730
|
});
|
|
@@ -31128,14 +32919,8 @@ class AuroDatePicker extends AuroElement$6 {
|
|
|
31128
32919
|
|
|
31129
32920
|
if (onEndValue) {
|
|
31130
32921
|
this.valueEnd = newDate;
|
|
31131
|
-
if (this.dropdown.isPopoverVisible && !this.dropdown.isBibFullscreen) {
|
|
31132
|
-
this.focus('startDate');
|
|
31133
|
-
}
|
|
31134
32922
|
} else {
|
|
31135
32923
|
this.value = newDate;
|
|
31136
|
-
if (this.dropdown.isPopoverVisible && !this.dropdown.isBibFullscreen) {
|
|
31137
|
-
this.focus('endDate');
|
|
31138
|
-
}
|
|
31139
32924
|
}
|
|
31140
32925
|
}
|
|
31141
32926
|
}
|
|
@@ -31175,6 +32960,27 @@ class AuroDatePicker extends AuroElement$6 {
|
|
|
31175
32960
|
this.resetInputs();
|
|
31176
32961
|
}
|
|
31177
32962
|
|
|
32963
|
+
/**
|
|
32964
|
+
* Checks whether a formatted date string matches a blackout date.
|
|
32965
|
+
* @private
|
|
32966
|
+
* @param {string} dateStr - A date string in the component's configured format.
|
|
32967
|
+
* @returns {boolean} True if the date is in the blackoutDates list.
|
|
32968
|
+
*/
|
|
32969
|
+
isBlackoutDate(dateStr) {
|
|
32970
|
+
if (!Array.isArray(this.blackoutDates) || this.blackoutDates.length === 0 || !dateStr) {
|
|
32971
|
+
return false;
|
|
32972
|
+
}
|
|
32973
|
+
|
|
32974
|
+
const formatted = this.util.toNorthAmericanFormat(dateStr, this.format);
|
|
32975
|
+
if (!this.util.validDateStr(dateStr, this.format)) return false;
|
|
32976
|
+
|
|
32977
|
+
const d = new Date(formatted);
|
|
32978
|
+
const yyyy = d.getFullYear();
|
|
32979
|
+
const mm = String(d.getMonth() + 1).padStart(2, '0');
|
|
32980
|
+
const dd = String(d.getDate()).padStart(2, '0');
|
|
32981
|
+
return this.blackoutDates.includes(`${yyyy}-${mm}-${dd}`);
|
|
32982
|
+
}
|
|
32983
|
+
|
|
31178
32984
|
/**
|
|
31179
32985
|
* Validates value.
|
|
31180
32986
|
* @param {boolean} [force=false] - Whether to force validation.
|
|
@@ -31186,6 +32992,24 @@ class AuroDatePicker extends AuroElement$6 {
|
|
|
31186
32992
|
}
|
|
31187
32993
|
|
|
31188
32994
|
this.validation.validate(this, force);
|
|
32995
|
+
|
|
32996
|
+
// After standard validation, check blackout dates for typed input
|
|
32997
|
+
if (this.validity !== 'customError') {
|
|
32998
|
+
if (this.isBlackoutDate(this.value) || (this.range && this.isBlackoutDate(this.valueEnd))) {
|
|
32999
|
+
const msg = this.setCustomValidityCustomError || 'Selected date is unavailable';
|
|
33000
|
+
this.validity = 'customError';
|
|
33001
|
+
this.errorMessage = msg;
|
|
33002
|
+
|
|
33003
|
+
this.dispatchEvent(new CustomEvent('auroFormElement-validated', {
|
|
33004
|
+
bubbles: true,
|
|
33005
|
+
composed: true,
|
|
33006
|
+
detail: {
|
|
33007
|
+
validity: this.validity,
|
|
33008
|
+
message: this.errorMessage
|
|
33009
|
+
}
|
|
33010
|
+
}));
|
|
33011
|
+
}
|
|
33012
|
+
}
|
|
31189
33013
|
}
|
|
31190
33014
|
|
|
31191
33015
|
/**
|
|
@@ -31266,6 +33090,9 @@ class AuroDatePicker extends AuroElement$6 {
|
|
|
31266
33090
|
|
|
31267
33091
|
if (this.cellClickActive) {
|
|
31268
33092
|
this.cellClickActive = false;
|
|
33093
|
+
this.wasCellClick = true;
|
|
33094
|
+
} else {
|
|
33095
|
+
this.wasCellClick = false;
|
|
31269
33096
|
}
|
|
31270
33097
|
|
|
31271
33098
|
if (this.value && this.util.validDateStr(this.value, this.format)) {
|
|
@@ -31296,16 +33123,44 @@ class AuroDatePicker extends AuroElement$6 {
|
|
|
31296
33123
|
}
|
|
31297
33124
|
|
|
31298
33125
|
if (this.value && this.value.length === this.inputList[0].lengthForType) {
|
|
31299
|
-
|
|
33126
|
+
// Skip centralDate update when user clicked a cell in range mode
|
|
33127
|
+
// to prevent the displayed months from shifting
|
|
33128
|
+
if (!(this.wasCellClick && this.range)) {
|
|
33129
|
+
this.calendarRenderUtil.updateCentralDate(this, this.formattedValue);
|
|
33130
|
+
}
|
|
31300
33131
|
}
|
|
31301
33132
|
|
|
31302
33133
|
this.setHasValue();
|
|
31303
33134
|
}
|
|
31304
33135
|
|
|
33136
|
+
if (changedProperties.has('blackoutDates')) {
|
|
33137
|
+
// Force calendar cells to re-render with updated blackout state.
|
|
33138
|
+
// requestUpdate on the calendar alone is insufficient because cells
|
|
33139
|
+
// don't receive blackoutDates as a bound property. Dispatching the
|
|
33140
|
+
// slot content event triggers handleSlotContent → requestUpdate on each cell.
|
|
33141
|
+
if (this.calendar) {
|
|
33142
|
+
this.calendar.requestUpdate();
|
|
33143
|
+
this.dispatchEvent(new CustomEvent('auroDatePicker-newSlotContent'));
|
|
33144
|
+
}
|
|
33145
|
+
|
|
33146
|
+
// Re-run validation so that a previously valid value that now falls on
|
|
33147
|
+
// a blackout date is flagged, and vice versa.
|
|
33148
|
+
if (this.value || this.valueEnd) {
|
|
33149
|
+
this.validate();
|
|
33150
|
+
}
|
|
33151
|
+
}
|
|
33152
|
+
|
|
31305
33153
|
if (changedProperties.has('valueEnd') && this.inputList[1]) {
|
|
31306
33154
|
|
|
31307
33155
|
this.formattedValueEnd = this.util.toNorthAmericanFormat(this.valueEnd, this.format);
|
|
31308
33156
|
|
|
33157
|
+
if (this.cellClickActive) {
|
|
33158
|
+
this.cellClickActive = false;
|
|
33159
|
+
this.wasCellClick = true;
|
|
33160
|
+
} else {
|
|
33161
|
+
this.wasCellClick = false;
|
|
33162
|
+
}
|
|
33163
|
+
|
|
31309
33164
|
// update the calendar
|
|
31310
33165
|
if (this.valueEnd && this.util.validDateStr(this.valueEnd, this.format)) {
|
|
31311
33166
|
this.calendar.dateTo = this.convertToWcValidTime(this.formattedValueEnd);
|
|
@@ -31333,7 +33188,11 @@ class AuroDatePicker extends AuroElement$6 {
|
|
|
31333
33188
|
}
|
|
31334
33189
|
|
|
31335
33190
|
if (this.valueEnd && this.valueEnd.length === this.inputList[1].lengthForType) {
|
|
31336
|
-
|
|
33191
|
+
// Skip centralDate update when user clicked a cell in range mode
|
|
33192
|
+
// to prevent the displayed months from shifting
|
|
33193
|
+
if (!this.wasCellClick) {
|
|
33194
|
+
this.calendarRenderUtil.updateCentralDate(this, this.formattedValueEnd);
|
|
33195
|
+
}
|
|
31337
33196
|
}
|
|
31338
33197
|
|
|
31339
33198
|
this.validate();
|
|
@@ -31490,6 +33349,7 @@ class AuroDatePicker extends AuroElement$6 {
|
|
|
31490
33349
|
}
|
|
31491
33350
|
|
|
31492
33351
|
firstUpdated() {
|
|
33352
|
+
|
|
31493
33353
|
// Add the tag name as an attribute if it is different than the component name
|
|
31494
33354
|
this.runtimeUtils.handleComponentTagRename(this, 'auro-datepicker');
|
|
31495
33355
|
|
|
@@ -31919,7 +33779,7 @@ class AuroDatePicker extends AuroElement$6 {
|
|
|
31919
33779
|
// Base HTML render() handles dropdown and calendar bib
|
|
31920
33780
|
return u$d`
|
|
31921
33781
|
<!-- Hidden slot for clear button aria-label -->
|
|
31922
|
-
<slot name="ariaLabel.input.clear" hidden @slotchange=${this.requestUpdate}></slot>
|
|
33782
|
+
<slot name="ariaLabel.input.clear" hidden @slotchange=${() => this.requestUpdate()}></slot>
|
|
31923
33783
|
|
|
31924
33784
|
<${this.dropdownTag}
|
|
31925
33785
|
appearance="${this.onDark ? 'inverse' : this.appearance}"
|
|
@@ -31936,6 +33796,7 @@ class AuroDatePicker extends AuroElement$6 {
|
|
|
31936
33796
|
.shape="${this.shape}"
|
|
31937
33797
|
.size="${this.size}"
|
|
31938
33798
|
class="${e$3(dropdownElementClassMap)}"
|
|
33799
|
+
desktopModal
|
|
31939
33800
|
disableEventShow
|
|
31940
33801
|
for="dropdownMenu"
|
|
31941
33802
|
part="dropdown"
|
|
@@ -35192,7 +37053,7 @@ function applyKeyboardStrategy$4(component, strategy, options = {}) {
|
|
|
35192
37053
|
});
|
|
35193
37054
|
}
|
|
35194
37055
|
|
|
35195
|
-
var styleCss$2$6 = i$5`:host{position:fixed;z-index:var(--depth-tooltip, 400);display:none;isolation:isolate}:host dialog{width:auto;max-width:none;height:auto;max-height:none;padding:0;border:none;margin:0;outline:none;transform:translateZ(0)}:host dialog::backdrop{background:transparent}:host(:not([isfullscreen])) dialog{position:relative;inset:unset}:host(:not([isfullscreen])) .container.shape-box{border-radius:unset}:host(:not([isfullscreen])) .container[class*=shape-pill],:host(:not([isfullscreen])) .container[class*=shape-snowflake]{border-radius:30px}:host(:not([isfullscreen])) .container[class*=shape-rounded]{border-radius:16px}:host(:not([matchWidth])) .container{min-width:fit-content}:host([isfullscreen]){position:fixed;top:0;left:0}:host([isfullscreen]) .container{width:100dvw;max-width:none;height:100dvh;max-height:none;border-radius:unset;margin-top:0;box-shadow:unset;overscroll-behavior:contain}:host([isfullscreen]) .container::backdrop{background:var(--ds-color-background-primary, #fff)}:host(:popover-open){position:fixed;overflow:visible;padding:0;border:none;margin:0;background:transparent;inset:unset;outline:none}:host([data-show]){display:flex}:host([common]:not([isfullscreen])) .container,:host([rounded]:not([isfullscreen])) .container{border-radius:var(--ds-border-radius, 0.375rem)}:host([common][isfullscreen]) .container,:host([rounded][isfullscreen]) .container{border-radius:unset;box-shadow:unset}.container{display:inline-block;overflow:auto;box-sizing:border-box;border-radius:var(--ds-border-radius, 0.375rem);margin:var(--ds-size-50, 0.25rem) 0}.util_displayHiddenVisually{position:absolute;overflow:hidden;width:1px;height:1px;padding:0;border:0;margin:-1px;clip-path:inset(50%);white-space:nowrap}`;
|
|
37056
|
+
var styleCss$2$6 = i$5`:host{position:fixed;z-index:var(--depth-tooltip, 400);display:none;isolation:isolate}:host dialog{width:auto;max-width:none;height:auto;max-height:none;padding:0;border:none;margin:0;outline:none;transform:translateZ(0)}:host dialog::backdrop{background:transparent}:host(:not([isfullscreen])) dialog{position:relative;inset:unset}:host(:not([isfullscreen])) .container.shape-box{border-radius:unset}:host(:not([isfullscreen])) .container[class*=shape-pill],:host(:not([isfullscreen])) .container[class*=shape-snowflake]{border-radius:30px}:host(:not([isfullscreen])) .container[class*=shape-rounded]{border-radius:16px}:host([desktopmodal]:popover-open)::backdrop{background:transparent}:host(:not([matchWidth])) .container{min-width:fit-content}:host([isfullscreen]){position:fixed;top:0;left:0}:host([isfullscreen]) .container{width:100dvw;max-width:none;height:100dvh;max-height:none;border-radius:unset;margin-top:0;box-shadow:unset;overscroll-behavior:contain}:host([isfullscreen]) .container::backdrop{background:var(--ds-color-background-primary, #fff)}:host(:popover-open){position:fixed;overflow:visible;padding:0;border:none;margin:0;background:transparent;inset:unset;outline:none}:host([data-show]){display:flex}:host([common]:not([isfullscreen])) .container,:host([rounded]:not([isfullscreen])) .container{border-radius:var(--ds-border-radius, 0.375rem)}:host([common][isfullscreen]) .container,:host([rounded][isfullscreen]) .container{border-radius:unset;box-shadow:unset}.container{display:inline-block;overflow:auto;box-sizing:border-box;border-radius:var(--ds-border-radius, 0.375rem);margin:var(--ds-size-50, 0.25rem) 0}.util_displayHiddenVisually{position:absolute;overflow:hidden;width:1px;height:1px;padding:0;border:0;margin:-1px;clip-path:inset(50%);white-space:nowrap}`;
|
|
35196
37057
|
|
|
35197
37058
|
var colorCss$2$6 = i$5`.container{background-color:var(--ds-auro-dropdownbib-container-color);box-shadow:var(--ds-auro-dropdownbib-boxshadow-color);color:var(--ds-auro-dropdownbib-text-color)}`;
|
|
35198
37059
|
|
|
@@ -35823,7 +37684,7 @@ let AuroHelpText$7 = class AuroHelpText extends i$3 {
|
|
|
35823
37684
|
}
|
|
35824
37685
|
};
|
|
35825
37686
|
|
|
35826
|
-
var formkitVersion$7 = '
|
|
37687
|
+
var formkitVersion$7 = '202605210248';
|
|
35827
37688
|
|
|
35828
37689
|
let AuroElement$5 = class AuroElement extends i$3 {
|
|
35829
37690
|
static get properties() {
|
|
@@ -36003,6 +37864,7 @@ let AuroDropdown$2 = class AuroDropdown extends AuroElement$5 {
|
|
|
36003
37864
|
_intializeDefaults() {
|
|
36004
37865
|
this.appearance = 'default';
|
|
36005
37866
|
this.chevron = false;
|
|
37867
|
+
this.desktopModal = false;
|
|
36006
37868
|
this.disabled = false;
|
|
36007
37869
|
this.disableKeyboardHandling = false;
|
|
36008
37870
|
this.error = false;
|
|
@@ -36183,6 +38045,14 @@ let AuroDropdown$2 = class AuroDropdown extends AuroElement$5 {
|
|
|
36183
38045
|
reflect: true
|
|
36184
38046
|
},
|
|
36185
38047
|
|
|
38048
|
+
/**
|
|
38049
|
+
* If declared, the dropdown will behave as a modal dialog when in a desktop viewport size.
|
|
38050
|
+
*/
|
|
38051
|
+
desktopModal: {
|
|
38052
|
+
type: Boolean,
|
|
38053
|
+
reflect: true
|
|
38054
|
+
},
|
|
38055
|
+
|
|
36186
38056
|
/**
|
|
36187
38057
|
* If declared, the dropdown will only show by calling the API .show() public method.
|
|
36188
38058
|
*/
|
|
@@ -36470,6 +38340,15 @@ let AuroDropdown$2 = class AuroDropdown extends AuroElement$5 {
|
|
|
36470
38340
|
|
|
36471
38341
|
disconnectedCallback() {
|
|
36472
38342
|
super.disconnectedCallback();
|
|
38343
|
+
this._clearPageInert();
|
|
38344
|
+
if (this._bibTabHandler) {
|
|
38345
|
+
this.removeEventListener('keydown', this._bibTabHandler);
|
|
38346
|
+
this._bibTabHandler = undefined;
|
|
38347
|
+
}
|
|
38348
|
+
if (this.focusTrap) {
|
|
38349
|
+
this.focusTrap.disconnect();
|
|
38350
|
+
this.focusTrap = undefined;
|
|
38351
|
+
}
|
|
36473
38352
|
if (this.floater) {
|
|
36474
38353
|
this.floater.hideBib('disconnect');
|
|
36475
38354
|
this.floater.disconnect();
|
|
@@ -36497,19 +38376,45 @@ let AuroDropdown$2 = class AuroDropdown extends AuroElement$5 {
|
|
|
36497
38376
|
if (this.isPopoverVisible) {
|
|
36498
38377
|
// Fullscreen: use showModal() for native accessibility (inert outside, focus trap)
|
|
36499
38378
|
// Desktop: use show() for Floating UI positioning + FocusTrap for focus management
|
|
36500
|
-
|
|
36501
|
-
this.
|
|
38379
|
+
this.bibElement.value.open(this.isBibFullscreen);
|
|
38380
|
+
this.updateFocusTrap();
|
|
38381
|
+
|
|
38382
|
+
// Desktop modal: make siblings inert so content outside is not interactive
|
|
38383
|
+
if (this.desktopModal && !this.isBibFullscreen) {
|
|
38384
|
+
this._setPageInert();
|
|
38385
|
+
}
|
|
36502
38386
|
} else {
|
|
36503
38387
|
this.bibElement.value.close();
|
|
38388
|
+
this._clearPageInert();
|
|
36504
38389
|
}
|
|
36505
38390
|
}
|
|
36506
38391
|
|
|
36507
38392
|
// When fullscreen strategy changes while open, re-open dialog with correct mode
|
|
36508
38393
|
// (e.g. resizing from desktop → mobile while dropdown is open)
|
|
36509
38394
|
if (changedProperties.has('isBibFullscreen') && this.isPopoverVisible && this.bibElement.value) {
|
|
36510
|
-
const useModal = this.isBibFullscreen;
|
|
36511
38395
|
this.bibElement.value.close();
|
|
36512
|
-
this.bibElement.value.open(
|
|
38396
|
+
this.bibElement.value.open(this.isBibFullscreen);
|
|
38397
|
+
|
|
38398
|
+
// Re-initialize focus management for the new strategy
|
|
38399
|
+
this.updateFocusTrap();
|
|
38400
|
+
|
|
38401
|
+
// Toggle inert: desktop modal needs it, fullscreen showModal() handles it natively
|
|
38402
|
+
if (this.desktopModal && !this.isBibFullscreen) {
|
|
38403
|
+
this._setPageInert();
|
|
38404
|
+
} else {
|
|
38405
|
+
this._clearPageInert();
|
|
38406
|
+
}
|
|
38407
|
+
}
|
|
38408
|
+
|
|
38409
|
+
// Handle desktopModal toggled while the dropdown is already open.
|
|
38410
|
+
// Re-initialize focus trapping and page inert state to match the new mode.
|
|
38411
|
+
if (changedProperties.has('desktopModal') && this.isPopoverVisible && !this.isBibFullscreen) {
|
|
38412
|
+
this.updateFocusTrap();
|
|
38413
|
+
if (this.desktopModal) {
|
|
38414
|
+
this._setPageInert();
|
|
38415
|
+
} else {
|
|
38416
|
+
this._clearPageInert();
|
|
38417
|
+
}
|
|
36513
38418
|
}
|
|
36514
38419
|
}
|
|
36515
38420
|
|
|
@@ -36519,8 +38424,14 @@ let AuroDropdown$2 = class AuroDropdown extends AuroElement$5 {
|
|
|
36519
38424
|
* @param {CustomEvent} event - The custom event that contains the dropdown toggle information.
|
|
36520
38425
|
*/
|
|
36521
38426
|
handleDropdownToggle(event) {
|
|
36522
|
-
this.updateFocusTrap();
|
|
36523
38427
|
this.isPopoverVisible = event.detail.expanded;
|
|
38428
|
+
|
|
38429
|
+
// Tear down FocusTrap when closing. Creation happens in updated()
|
|
38430
|
+
// after the dialog is open so getFocusableElements can find content.
|
|
38431
|
+
if (!this.isPopoverVisible) {
|
|
38432
|
+
this.updateFocusTrap();
|
|
38433
|
+
}
|
|
38434
|
+
|
|
36524
38435
|
const eventType = event.detail.eventType || "unknown";
|
|
36525
38436
|
if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown") {
|
|
36526
38437
|
this.trigger.focus();
|
|
@@ -36619,19 +38530,178 @@ let AuroDropdown$2 = class AuroDropdown extends AuroElement$5 {
|
|
|
36619
38530
|
* @private
|
|
36620
38531
|
*/
|
|
36621
38532
|
updateFocusTrap() {
|
|
38533
|
+
// Always clean up existing handlers/traps before setting up new ones
|
|
38534
|
+
// to prevent duplicate listeners on repeated calls.
|
|
38535
|
+
if (this._bibTabHandler) {
|
|
38536
|
+
this.removeEventListener('keydown', this._bibTabHandler);
|
|
38537
|
+
this._bibTabHandler = undefined;
|
|
38538
|
+
}
|
|
38539
|
+
|
|
38540
|
+
if (this.focusTrap) {
|
|
38541
|
+
this.focusTrap.disconnect();
|
|
38542
|
+
this.focusTrap = undefined;
|
|
38543
|
+
}
|
|
38544
|
+
|
|
36622
38545
|
if (this.isPopoverVisible) {
|
|
36623
38546
|
if (!this.isBibFullscreen) {
|
|
36624
|
-
|
|
36625
|
-
|
|
36626
|
-
|
|
38547
|
+
if (this.desktopModal) {
|
|
38548
|
+
// Desktop modal: trap focus only within the bib content.
|
|
38549
|
+
// Can't use FocusTrap on the bib element because keydown events
|
|
38550
|
+
// from slotted content bubble through the dropdown host (light DOM),
|
|
38551
|
+
// not through the bib (shadow projection target). Using FocusTrap
|
|
38552
|
+
// on the dropdown would include the trigger in the tab cycle.
|
|
38553
|
+
// Instead, listen for Tab on the dropdown and manually wrap focus
|
|
38554
|
+
// within the bib's focusable elements.
|
|
38555
|
+
this._bibTabHandler = (event) => {
|
|
38556
|
+
if (event.key !== 'Tab') {
|
|
38557
|
+
return;
|
|
38558
|
+
}
|
|
38559
|
+
|
|
38560
|
+
// Collect focusable elements from the bib content.
|
|
38561
|
+
const focusables = getFocusableElements$2(this.bibContent);
|
|
38562
|
+
|
|
38563
|
+
// Fallback: try from slotted content directly
|
|
38564
|
+
if (!focusables.length) {
|
|
38565
|
+
const slot = this.shadowRoot.querySelector('.slotContent slot');
|
|
38566
|
+
const assignedNodes = slot ? slot.assignedNodes({ flatten: true }) : [];
|
|
38567
|
+
|
|
38568
|
+
for (const node of assignedNodes) {
|
|
38569
|
+
if (node.nodeType === Node.ELEMENT_NODE) {
|
|
38570
|
+
focusables.push(...getFocusableElements$2(node));
|
|
38571
|
+
}
|
|
38572
|
+
}
|
|
38573
|
+
}
|
|
38574
|
+
|
|
38575
|
+
if (!focusables.length) {
|
|
38576
|
+
return;
|
|
38577
|
+
}
|
|
38578
|
+
|
|
38579
|
+
event.preventDefault();
|
|
38580
|
+
|
|
38581
|
+
const direction = event.shiftKey ? -1 : 1; // eslint-disable-line no-magic-numbers
|
|
38582
|
+
|
|
38583
|
+
// Walk the active element chain through shadow roots
|
|
38584
|
+
const actives = this._getActiveElements();
|
|
38585
|
+
|
|
38586
|
+
let idx = focusables.findIndex((el) => actives.includes(el));
|
|
38587
|
+
|
|
38588
|
+
if (idx === -1) { // eslint-disable-line no-magic-numbers
|
|
38589
|
+
// Focus is not on a known element — move to first/last
|
|
38590
|
+
idx = direction === 1 ? -1 : focusables.length; // eslint-disable-line no-magic-numbers
|
|
38591
|
+
}
|
|
38592
|
+
|
|
38593
|
+
// Try each element in order, skipping any that can't receive focus
|
|
38594
|
+
// (e.g. hidden elements, elements in collapsed sections)
|
|
38595
|
+
for (let index = 0; index < focusables.length; index++) { // eslint-disable-line no-plusplus
|
|
38596
|
+
let nextIdx = idx + direction;
|
|
38597
|
+
|
|
38598
|
+
// Wrap around
|
|
38599
|
+
if (nextIdx < 0) {
|
|
38600
|
+
nextIdx = focusables.length - 1;
|
|
38601
|
+
} else if (nextIdx >= focusables.length) {
|
|
38602
|
+
nextIdx = 0;
|
|
38603
|
+
}
|
|
38604
|
+
|
|
38605
|
+
focusables[nextIdx].focus();
|
|
38606
|
+
|
|
38607
|
+
// Verify focus actually moved to the target
|
|
38608
|
+
const newActives = this._getActiveElements();
|
|
38609
|
+
|
|
38610
|
+
if (newActives.includes(focusables[nextIdx])) {
|
|
38611
|
+
return;
|
|
38612
|
+
}
|
|
38613
|
+
|
|
38614
|
+
// Focus didn't stick — skip this element and try the next
|
|
38615
|
+
idx = nextIdx;
|
|
38616
|
+
}
|
|
38617
|
+
};
|
|
38618
|
+
this.addEventListener('keydown', this._bibTabHandler);
|
|
38619
|
+
|
|
38620
|
+
// Move initial focus into the bib content, matching FocusTrap behavior
|
|
38621
|
+
requestAnimationFrame(() => {
|
|
38622
|
+
const focusables = getFocusableElements$2(this.bibContent);
|
|
38623
|
+
if (focusables.length) {
|
|
38624
|
+
focusables[0].focus();
|
|
38625
|
+
}
|
|
38626
|
+
});
|
|
38627
|
+
} else {
|
|
38628
|
+
// Normal desktop: use FocusTrap on the bib element
|
|
38629
|
+
this.focusTrap = new FocusTrap$2(this.bibContent);
|
|
38630
|
+
this.focusTrap.focusFirstElement();
|
|
38631
|
+
}
|
|
36627
38632
|
}
|
|
36628
38633
|
// Fullscreen: showModal() provides native focus trapping
|
|
38634
|
+
}
|
|
38635
|
+
}
|
|
38636
|
+
|
|
38637
|
+
/**
|
|
38638
|
+
* Returns the chain of active (focused) elements through shadow roots.
|
|
38639
|
+
* @private
|
|
38640
|
+
* @returns {Array<HTMLElement>}
|
|
38641
|
+
*/
|
|
38642
|
+
_getActiveElements() {
|
|
38643
|
+
let { activeElement } = document;
|
|
38644
|
+
const actives = [activeElement];
|
|
38645
|
+
|
|
38646
|
+
while (activeElement?.shadowRoot?.activeElement) {
|
|
38647
|
+
activeElement = activeElement.shadowRoot.activeElement;
|
|
38648
|
+
actives.push(activeElement);
|
|
38649
|
+
}
|
|
38650
|
+
|
|
38651
|
+
return actives;
|
|
38652
|
+
}
|
|
38653
|
+
|
|
38654
|
+
/**
|
|
38655
|
+
* Sets `inert` on sibling elements of the dropdown's top-level host
|
|
38656
|
+
* so that content outside the dropdown is not interactive while the modal is open.
|
|
38657
|
+
* Walks up through shadow DOM boundaries to find the outermost host element
|
|
38658
|
+
* in the light DOM, then sets `inert` on siblings at each ancestor level
|
|
38659
|
+
* to ensure all page content outside the host subtree is inert.
|
|
38660
|
+
* @private
|
|
38661
|
+
*/
|
|
38662
|
+
_setPageInert() {
|
|
38663
|
+
if (this._inertSiblings) {
|
|
36629
38664
|
return;
|
|
36630
38665
|
}
|
|
36631
38666
|
|
|
36632
|
-
|
|
36633
|
-
|
|
36634
|
-
|
|
38667
|
+
this._inertSiblings = [];
|
|
38668
|
+
|
|
38669
|
+
// Walk up through shadow DOM boundaries to find the topmost host
|
|
38670
|
+
// element in the light DOM. For example, if this dropdown is inside
|
|
38671
|
+
// auro-datepicker's shadow DOM, we walk up to the datepicker element
|
|
38672
|
+
// so we set inert on its siblings — not on the datepicker itself.
|
|
38673
|
+
let host = this;
|
|
38674
|
+
while (host.getRootNode() instanceof ShadowRoot) {
|
|
38675
|
+
host = host.getRootNode().host;
|
|
38676
|
+
}
|
|
38677
|
+
|
|
38678
|
+
// Walk up the ancestor chain, inerting siblings at each level
|
|
38679
|
+
// to ensure the entire page outside the host subtree is inert.
|
|
38680
|
+
let current = host;
|
|
38681
|
+
while (current.parentElement) {
|
|
38682
|
+
const parent = current.parentElement;
|
|
38683
|
+
for (const sibling of parent.children) {
|
|
38684
|
+
if (sibling !== current) {
|
|
38685
|
+
this._inertSiblings.push({ element: sibling, wasInert: sibling.inert });
|
|
38686
|
+
sibling.inert = true;
|
|
38687
|
+
}
|
|
38688
|
+
}
|
|
38689
|
+
current = parent;
|
|
38690
|
+
}
|
|
38691
|
+
}
|
|
38692
|
+
|
|
38693
|
+
/**
|
|
38694
|
+
* Restores `inert` state on siblings that were tracked by `_setPageInert`.
|
|
38695
|
+
* Preserves the previous inert state so externally-inerted elements are
|
|
38696
|
+
* not inadvertently re-enabled.
|
|
38697
|
+
* @private
|
|
38698
|
+
*/
|
|
38699
|
+
_clearPageInert() {
|
|
38700
|
+
if (this._inertSiblings) {
|
|
38701
|
+
for (const entry of this._inertSiblings) {
|
|
38702
|
+
entry.element.inert = entry.wasInert;
|
|
38703
|
+
}
|
|
38704
|
+
this._inertSiblings = undefined;
|
|
36635
38705
|
}
|
|
36636
38706
|
}
|
|
36637
38707
|
|
|
@@ -36870,6 +38940,7 @@ let AuroDropdown$2 = class AuroDropdown extends AuroElement$5 {
|
|
|
36870
38940
|
shape="${this.shape}"
|
|
36871
38941
|
?data-show="${this.isPopoverVisible}"
|
|
36872
38942
|
?isfullscreen="${this.isBibFullscreen}"
|
|
38943
|
+
?desktopmodal="${this.desktopModal}"
|
|
36873
38944
|
.dialogLabel="${this.bibDialogLabel}"
|
|
36874
38945
|
${n$6(this.bibElement)}
|
|
36875
38946
|
>
|
|
@@ -38424,7 +40495,7 @@ let AuroHelpText$6 = class AuroHelpText extends i$3 {
|
|
|
38424
40495
|
}
|
|
38425
40496
|
};
|
|
38426
40497
|
|
|
38427
|
-
var formkitVersion$6 = '
|
|
40498
|
+
var formkitVersion$6 = '202605210248';
|
|
38428
40499
|
|
|
38429
40500
|
// Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
|
|
38430
40501
|
// See LICENSE in the project root for license information.
|
|
@@ -39162,6 +41233,14 @@ let AuroBibtemplate$2 = class AuroBibtemplate extends i$3 {
|
|
|
39162
41233
|
large: {
|
|
39163
41234
|
type: Boolean,
|
|
39164
41235
|
reflect: true
|
|
41236
|
+
},
|
|
41237
|
+
|
|
41238
|
+
/**
|
|
41239
|
+
* If declared, the footer slot will be rendered even when not in fullscreen mode.
|
|
41240
|
+
*/
|
|
41241
|
+
showFooter: {
|
|
41242
|
+
type: Boolean,
|
|
41243
|
+
reflect: true
|
|
39165
41244
|
}
|
|
39166
41245
|
};
|
|
39167
41246
|
}
|
|
@@ -39264,7 +41343,7 @@ let AuroBibtemplate$2 = class AuroBibtemplate extends i$3 {
|
|
|
39264
41343
|
<slot></slot>
|
|
39265
41344
|
</div>
|
|
39266
41345
|
|
|
39267
|
-
${this.isFullscreen ? u$d`
|
|
41346
|
+
${this.isFullscreen || this.showFooter ? u$d`
|
|
39268
41347
|
<div id="footerContainer">
|
|
39269
41348
|
<slot name="footer"></slot>
|
|
39270
41349
|
</div>` : null}
|
|
@@ -41842,7 +43921,7 @@ let AuroHelpText$5 = class AuroHelpText extends i$3 {
|
|
|
41842
43921
|
}
|
|
41843
43922
|
};
|
|
41844
43923
|
|
|
41845
|
-
var formkitVersion$5 = '
|
|
43924
|
+
var formkitVersion$5 = '202605210248';
|
|
41846
43925
|
|
|
41847
43926
|
// Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
|
|
41848
43927
|
// See LICENSE in the project root for license information.
|
|
@@ -44014,7 +46093,7 @@ let AuroHelpText$4 = class AuroHelpText extends i$3 {
|
|
|
44014
46093
|
}
|
|
44015
46094
|
};
|
|
44016
46095
|
|
|
44017
|
-
var formkitVersion$4 = '
|
|
46096
|
+
var formkitVersion$4 = '202605210248';
|
|
44018
46097
|
|
|
44019
46098
|
// Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
|
|
44020
46099
|
// See LICENSE in the project root for license information.
|
|
@@ -45655,7 +47734,7 @@ const comboboxKeyboardStrategy = {
|
|
|
45655
47734
|
|
|
45656
47735
|
// navigate if bib is open otherwise open it
|
|
45657
47736
|
if (component.dropdown.isPopoverVisible) {
|
|
45658
|
-
if (evt.altKey || evt.
|
|
47737
|
+
if (evt.altKey || evt.metaKey) {
|
|
45659
47738
|
component.activateLastEnabledAvailableOption();
|
|
45660
47739
|
} else {
|
|
45661
47740
|
navigateArrow$1(component, 'down');
|
|
@@ -45678,7 +47757,7 @@ const comboboxKeyboardStrategy = {
|
|
|
45678
47757
|
|
|
45679
47758
|
// navigate if bib is open otherwise open it
|
|
45680
47759
|
if (component.dropdown.isPopoverVisible) {
|
|
45681
|
-
if (evt.altKey || evt.
|
|
47760
|
+
if (evt.altKey || evt.metaKey) {
|
|
45682
47761
|
component.activateFirstEnabledAvailableOption();
|
|
45683
47762
|
} else {
|
|
45684
47763
|
navigateArrow$1(component, 'up');
|
|
@@ -49003,7 +51082,7 @@ function applyKeyboardStrategy$2(component, strategy, options = {}) {
|
|
|
49003
51082
|
});
|
|
49004
51083
|
}
|
|
49005
51084
|
|
|
49006
|
-
var styleCss$2$1$1 = i$5`:host{position:fixed;z-index:var(--depth-tooltip, 400);display:none;isolation:isolate}:host dialog{width:auto;max-width:none;height:auto;max-height:none;padding:0;border:none;margin:0;outline:none;transform:translateZ(0)}:host dialog::backdrop{background:transparent}:host(:not([isfullscreen])) dialog{position:relative;inset:unset}:host(:not([isfullscreen])) .container.shape-box{border-radius:unset}:host(:not([isfullscreen])) .container[class*=shape-pill],:host(:not([isfullscreen])) .container[class*=shape-snowflake]{border-radius:30px}:host(:not([isfullscreen])) .container[class*=shape-rounded]{border-radius:16px}:host(:not([matchWidth])) .container{min-width:fit-content}:host([isfullscreen]){position:fixed;top:0;left:0}:host([isfullscreen]) .container{width:100dvw;max-width:none;height:100dvh;max-height:none;border-radius:unset;margin-top:0;box-shadow:unset;overscroll-behavior:contain}:host([isfullscreen]) .container::backdrop{background:var(--ds-color-background-primary, #fff)}:host(:popover-open){position:fixed;overflow:visible;padding:0;border:none;margin:0;background:transparent;inset:unset;outline:none}:host([data-show]){display:flex}:host([common]:not([isfullscreen])) .container,:host([rounded]:not([isfullscreen])) .container{border-radius:var(--ds-border-radius, 0.375rem)}:host([common][isfullscreen]) .container,:host([rounded][isfullscreen]) .container{border-radius:unset;box-shadow:unset}.container{display:inline-block;overflow:auto;box-sizing:border-box;border-radius:var(--ds-border-radius, 0.375rem);margin:var(--ds-size-50, 0.25rem) 0}.util_displayHiddenVisually{position:absolute;overflow:hidden;width:1px;height:1px;padding:0;border:0;margin:-1px;clip-path:inset(50%);white-space:nowrap}`;
|
|
51085
|
+
var styleCss$2$1$1 = i$5`:host{position:fixed;z-index:var(--depth-tooltip, 400);display:none;isolation:isolate}:host dialog{width:auto;max-width:none;height:auto;max-height:none;padding:0;border:none;margin:0;outline:none;transform:translateZ(0)}:host dialog::backdrop{background:transparent}:host(:not([isfullscreen])) dialog{position:relative;inset:unset}:host(:not([isfullscreen])) .container.shape-box{border-radius:unset}:host(:not([isfullscreen])) .container[class*=shape-pill],:host(:not([isfullscreen])) .container[class*=shape-snowflake]{border-radius:30px}:host(:not([isfullscreen])) .container[class*=shape-rounded]{border-radius:16px}:host([desktopmodal]:popover-open)::backdrop{background:transparent}:host(:not([matchWidth])) .container{min-width:fit-content}:host([isfullscreen]){position:fixed;top:0;left:0}:host([isfullscreen]) .container{width:100dvw;max-width:none;height:100dvh;max-height:none;border-radius:unset;margin-top:0;box-shadow:unset;overscroll-behavior:contain}:host([isfullscreen]) .container::backdrop{background:var(--ds-color-background-primary, #fff)}:host(:popover-open){position:fixed;overflow:visible;padding:0;border:none;margin:0;background:transparent;inset:unset;outline:none}:host([data-show]){display:flex}:host([common]:not([isfullscreen])) .container,:host([rounded]:not([isfullscreen])) .container{border-radius:var(--ds-border-radius, 0.375rem)}:host([common][isfullscreen]) .container,:host([rounded][isfullscreen]) .container{border-radius:unset;box-shadow:unset}.container{display:inline-block;overflow:auto;box-sizing:border-box;border-radius:var(--ds-border-radius, 0.375rem);margin:var(--ds-size-50, 0.25rem) 0}.util_displayHiddenVisually{position:absolute;overflow:hidden;width:1px;height:1px;padding:0;border:0;margin:-1px;clip-path:inset(50%);white-space:nowrap}`;
|
|
49007
51086
|
|
|
49008
51087
|
var colorCss$2$1 = i$5`.container{background-color:var(--ds-auro-dropdownbib-container-color);box-shadow:var(--ds-auro-dropdownbib-boxshadow-color);color:var(--ds-auro-dropdownbib-text-color)}`;
|
|
49009
51088
|
|
|
@@ -49634,7 +51713,7 @@ let AuroHelpText$2 = class AuroHelpText extends i$3 {
|
|
|
49634
51713
|
}
|
|
49635
51714
|
};
|
|
49636
51715
|
|
|
49637
|
-
var formkitVersion$2 = '
|
|
51716
|
+
var formkitVersion$2 = '202605210248';
|
|
49638
51717
|
|
|
49639
51718
|
let AuroElement$2$1 = class AuroElement extends i$3 {
|
|
49640
51719
|
static get properties() {
|
|
@@ -49814,6 +51893,7 @@ let AuroDropdown$1 = class AuroDropdown extends AuroElement$2$1 {
|
|
|
49814
51893
|
_intializeDefaults() {
|
|
49815
51894
|
this.appearance = 'default';
|
|
49816
51895
|
this.chevron = false;
|
|
51896
|
+
this.desktopModal = false;
|
|
49817
51897
|
this.disabled = false;
|
|
49818
51898
|
this.disableKeyboardHandling = false;
|
|
49819
51899
|
this.error = false;
|
|
@@ -49994,6 +52074,14 @@ let AuroDropdown$1 = class AuroDropdown extends AuroElement$2$1 {
|
|
|
49994
52074
|
reflect: true
|
|
49995
52075
|
},
|
|
49996
52076
|
|
|
52077
|
+
/**
|
|
52078
|
+
* If declared, the dropdown will behave as a modal dialog when in a desktop viewport size.
|
|
52079
|
+
*/
|
|
52080
|
+
desktopModal: {
|
|
52081
|
+
type: Boolean,
|
|
52082
|
+
reflect: true
|
|
52083
|
+
},
|
|
52084
|
+
|
|
49997
52085
|
/**
|
|
49998
52086
|
* If declared, the dropdown will only show by calling the API .show() public method.
|
|
49999
52087
|
*/
|
|
@@ -50281,6 +52369,15 @@ let AuroDropdown$1 = class AuroDropdown extends AuroElement$2$1 {
|
|
|
50281
52369
|
|
|
50282
52370
|
disconnectedCallback() {
|
|
50283
52371
|
super.disconnectedCallback();
|
|
52372
|
+
this._clearPageInert();
|
|
52373
|
+
if (this._bibTabHandler) {
|
|
52374
|
+
this.removeEventListener('keydown', this._bibTabHandler);
|
|
52375
|
+
this._bibTabHandler = undefined;
|
|
52376
|
+
}
|
|
52377
|
+
if (this.focusTrap) {
|
|
52378
|
+
this.focusTrap.disconnect();
|
|
52379
|
+
this.focusTrap = undefined;
|
|
52380
|
+
}
|
|
50284
52381
|
if (this.floater) {
|
|
50285
52382
|
this.floater.hideBib('disconnect');
|
|
50286
52383
|
this.floater.disconnect();
|
|
@@ -50308,19 +52405,45 @@ let AuroDropdown$1 = class AuroDropdown extends AuroElement$2$1 {
|
|
|
50308
52405
|
if (this.isPopoverVisible) {
|
|
50309
52406
|
// Fullscreen: use showModal() for native accessibility (inert outside, focus trap)
|
|
50310
52407
|
// Desktop: use show() for Floating UI positioning + FocusTrap for focus management
|
|
50311
|
-
|
|
50312
|
-
this.
|
|
52408
|
+
this.bibElement.value.open(this.isBibFullscreen);
|
|
52409
|
+
this.updateFocusTrap();
|
|
52410
|
+
|
|
52411
|
+
// Desktop modal: make siblings inert so content outside is not interactive
|
|
52412
|
+
if (this.desktopModal && !this.isBibFullscreen) {
|
|
52413
|
+
this._setPageInert();
|
|
52414
|
+
}
|
|
50313
52415
|
} else {
|
|
50314
52416
|
this.bibElement.value.close();
|
|
52417
|
+
this._clearPageInert();
|
|
50315
52418
|
}
|
|
50316
52419
|
}
|
|
50317
52420
|
|
|
50318
52421
|
// When fullscreen strategy changes while open, re-open dialog with correct mode
|
|
50319
52422
|
// (e.g. resizing from desktop → mobile while dropdown is open)
|
|
50320
52423
|
if (changedProperties.has('isBibFullscreen') && this.isPopoverVisible && this.bibElement.value) {
|
|
50321
|
-
const useModal = this.isBibFullscreen;
|
|
50322
52424
|
this.bibElement.value.close();
|
|
50323
|
-
this.bibElement.value.open(
|
|
52425
|
+
this.bibElement.value.open(this.isBibFullscreen);
|
|
52426
|
+
|
|
52427
|
+
// Re-initialize focus management for the new strategy
|
|
52428
|
+
this.updateFocusTrap();
|
|
52429
|
+
|
|
52430
|
+
// Toggle inert: desktop modal needs it, fullscreen showModal() handles it natively
|
|
52431
|
+
if (this.desktopModal && !this.isBibFullscreen) {
|
|
52432
|
+
this._setPageInert();
|
|
52433
|
+
} else {
|
|
52434
|
+
this._clearPageInert();
|
|
52435
|
+
}
|
|
52436
|
+
}
|
|
52437
|
+
|
|
52438
|
+
// Handle desktopModal toggled while the dropdown is already open.
|
|
52439
|
+
// Re-initialize focus trapping and page inert state to match the new mode.
|
|
52440
|
+
if (changedProperties.has('desktopModal') && this.isPopoverVisible && !this.isBibFullscreen) {
|
|
52441
|
+
this.updateFocusTrap();
|
|
52442
|
+
if (this.desktopModal) {
|
|
52443
|
+
this._setPageInert();
|
|
52444
|
+
} else {
|
|
52445
|
+
this._clearPageInert();
|
|
52446
|
+
}
|
|
50324
52447
|
}
|
|
50325
52448
|
}
|
|
50326
52449
|
|
|
@@ -50330,8 +52453,14 @@ let AuroDropdown$1 = class AuroDropdown extends AuroElement$2$1 {
|
|
|
50330
52453
|
* @param {CustomEvent} event - The custom event that contains the dropdown toggle information.
|
|
50331
52454
|
*/
|
|
50332
52455
|
handleDropdownToggle(event) {
|
|
50333
|
-
this.updateFocusTrap();
|
|
50334
52456
|
this.isPopoverVisible = event.detail.expanded;
|
|
52457
|
+
|
|
52458
|
+
// Tear down FocusTrap when closing. Creation happens in updated()
|
|
52459
|
+
// after the dialog is open so getFocusableElements can find content.
|
|
52460
|
+
if (!this.isPopoverVisible) {
|
|
52461
|
+
this.updateFocusTrap();
|
|
52462
|
+
}
|
|
52463
|
+
|
|
50335
52464
|
const eventType = event.detail.eventType || "unknown";
|
|
50336
52465
|
if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown") {
|
|
50337
52466
|
this.trigger.focus();
|
|
@@ -50430,19 +52559,178 @@ let AuroDropdown$1 = class AuroDropdown extends AuroElement$2$1 {
|
|
|
50430
52559
|
* @private
|
|
50431
52560
|
*/
|
|
50432
52561
|
updateFocusTrap() {
|
|
52562
|
+
// Always clean up existing handlers/traps before setting up new ones
|
|
52563
|
+
// to prevent duplicate listeners on repeated calls.
|
|
52564
|
+
if (this._bibTabHandler) {
|
|
52565
|
+
this.removeEventListener('keydown', this._bibTabHandler);
|
|
52566
|
+
this._bibTabHandler = undefined;
|
|
52567
|
+
}
|
|
52568
|
+
|
|
52569
|
+
if (this.focusTrap) {
|
|
52570
|
+
this.focusTrap.disconnect();
|
|
52571
|
+
this.focusTrap = undefined;
|
|
52572
|
+
}
|
|
52573
|
+
|
|
50433
52574
|
if (this.isPopoverVisible) {
|
|
50434
52575
|
if (!this.isBibFullscreen) {
|
|
50435
|
-
|
|
50436
|
-
|
|
50437
|
-
|
|
52576
|
+
if (this.desktopModal) {
|
|
52577
|
+
// Desktop modal: trap focus only within the bib content.
|
|
52578
|
+
// Can't use FocusTrap on the bib element because keydown events
|
|
52579
|
+
// from slotted content bubble through the dropdown host (light DOM),
|
|
52580
|
+
// not through the bib (shadow projection target). Using FocusTrap
|
|
52581
|
+
// on the dropdown would include the trigger in the tab cycle.
|
|
52582
|
+
// Instead, listen for Tab on the dropdown and manually wrap focus
|
|
52583
|
+
// within the bib's focusable elements.
|
|
52584
|
+
this._bibTabHandler = (event) => {
|
|
52585
|
+
if (event.key !== 'Tab') {
|
|
52586
|
+
return;
|
|
52587
|
+
}
|
|
52588
|
+
|
|
52589
|
+
// Collect focusable elements from the bib content.
|
|
52590
|
+
const focusables = getFocusableElements$1(this.bibContent);
|
|
52591
|
+
|
|
52592
|
+
// Fallback: try from slotted content directly
|
|
52593
|
+
if (!focusables.length) {
|
|
52594
|
+
const slot = this.shadowRoot.querySelector('.slotContent slot');
|
|
52595
|
+
const assignedNodes = slot ? slot.assignedNodes({ flatten: true }) : [];
|
|
52596
|
+
|
|
52597
|
+
for (const node of assignedNodes) {
|
|
52598
|
+
if (node.nodeType === Node.ELEMENT_NODE) {
|
|
52599
|
+
focusables.push(...getFocusableElements$1(node));
|
|
52600
|
+
}
|
|
52601
|
+
}
|
|
52602
|
+
}
|
|
52603
|
+
|
|
52604
|
+
if (!focusables.length) {
|
|
52605
|
+
return;
|
|
52606
|
+
}
|
|
52607
|
+
|
|
52608
|
+
event.preventDefault();
|
|
52609
|
+
|
|
52610
|
+
const direction = event.shiftKey ? -1 : 1; // eslint-disable-line no-magic-numbers
|
|
52611
|
+
|
|
52612
|
+
// Walk the active element chain through shadow roots
|
|
52613
|
+
const actives = this._getActiveElements();
|
|
52614
|
+
|
|
52615
|
+
let idx = focusables.findIndex((el) => actives.includes(el));
|
|
52616
|
+
|
|
52617
|
+
if (idx === -1) { // eslint-disable-line no-magic-numbers
|
|
52618
|
+
// Focus is not on a known element — move to first/last
|
|
52619
|
+
idx = direction === 1 ? -1 : focusables.length; // eslint-disable-line no-magic-numbers
|
|
52620
|
+
}
|
|
52621
|
+
|
|
52622
|
+
// Try each element in order, skipping any that can't receive focus
|
|
52623
|
+
// (e.g. hidden elements, elements in collapsed sections)
|
|
52624
|
+
for (let index = 0; index < focusables.length; index++) { // eslint-disable-line no-plusplus
|
|
52625
|
+
let nextIdx = idx + direction;
|
|
52626
|
+
|
|
52627
|
+
// Wrap around
|
|
52628
|
+
if (nextIdx < 0) {
|
|
52629
|
+
nextIdx = focusables.length - 1;
|
|
52630
|
+
} else if (nextIdx >= focusables.length) {
|
|
52631
|
+
nextIdx = 0;
|
|
52632
|
+
}
|
|
52633
|
+
|
|
52634
|
+
focusables[nextIdx].focus();
|
|
52635
|
+
|
|
52636
|
+
// Verify focus actually moved to the target
|
|
52637
|
+
const newActives = this._getActiveElements();
|
|
52638
|
+
|
|
52639
|
+
if (newActives.includes(focusables[nextIdx])) {
|
|
52640
|
+
return;
|
|
52641
|
+
}
|
|
52642
|
+
|
|
52643
|
+
// Focus didn't stick — skip this element and try the next
|
|
52644
|
+
idx = nextIdx;
|
|
52645
|
+
}
|
|
52646
|
+
};
|
|
52647
|
+
this.addEventListener('keydown', this._bibTabHandler);
|
|
52648
|
+
|
|
52649
|
+
// Move initial focus into the bib content, matching FocusTrap behavior
|
|
52650
|
+
requestAnimationFrame(() => {
|
|
52651
|
+
const focusables = getFocusableElements$1(this.bibContent);
|
|
52652
|
+
if (focusables.length) {
|
|
52653
|
+
focusables[0].focus();
|
|
52654
|
+
}
|
|
52655
|
+
});
|
|
52656
|
+
} else {
|
|
52657
|
+
// Normal desktop: use FocusTrap on the bib element
|
|
52658
|
+
this.focusTrap = new FocusTrap$1(this.bibContent);
|
|
52659
|
+
this.focusTrap.focusFirstElement();
|
|
52660
|
+
}
|
|
50438
52661
|
}
|
|
50439
52662
|
// Fullscreen: showModal() provides native focus trapping
|
|
52663
|
+
}
|
|
52664
|
+
}
|
|
52665
|
+
|
|
52666
|
+
/**
|
|
52667
|
+
* Returns the chain of active (focused) elements through shadow roots.
|
|
52668
|
+
* @private
|
|
52669
|
+
* @returns {Array<HTMLElement>}
|
|
52670
|
+
*/
|
|
52671
|
+
_getActiveElements() {
|
|
52672
|
+
let { activeElement } = document;
|
|
52673
|
+
const actives = [activeElement];
|
|
52674
|
+
|
|
52675
|
+
while (activeElement?.shadowRoot?.activeElement) {
|
|
52676
|
+
activeElement = activeElement.shadowRoot.activeElement;
|
|
52677
|
+
actives.push(activeElement);
|
|
52678
|
+
}
|
|
52679
|
+
|
|
52680
|
+
return actives;
|
|
52681
|
+
}
|
|
52682
|
+
|
|
52683
|
+
/**
|
|
52684
|
+
* Sets `inert` on sibling elements of the dropdown's top-level host
|
|
52685
|
+
* so that content outside the dropdown is not interactive while the modal is open.
|
|
52686
|
+
* Walks up through shadow DOM boundaries to find the outermost host element
|
|
52687
|
+
* in the light DOM, then sets `inert` on siblings at each ancestor level
|
|
52688
|
+
* to ensure all page content outside the host subtree is inert.
|
|
52689
|
+
* @private
|
|
52690
|
+
*/
|
|
52691
|
+
_setPageInert() {
|
|
52692
|
+
if (this._inertSiblings) {
|
|
50440
52693
|
return;
|
|
50441
52694
|
}
|
|
50442
52695
|
|
|
50443
|
-
|
|
50444
|
-
|
|
50445
|
-
|
|
52696
|
+
this._inertSiblings = [];
|
|
52697
|
+
|
|
52698
|
+
// Walk up through shadow DOM boundaries to find the topmost host
|
|
52699
|
+
// element in the light DOM. For example, if this dropdown is inside
|
|
52700
|
+
// auro-datepicker's shadow DOM, we walk up to the datepicker element
|
|
52701
|
+
// so we set inert on its siblings — not on the datepicker itself.
|
|
52702
|
+
let host = this;
|
|
52703
|
+
while (host.getRootNode() instanceof ShadowRoot) {
|
|
52704
|
+
host = host.getRootNode().host;
|
|
52705
|
+
}
|
|
52706
|
+
|
|
52707
|
+
// Walk up the ancestor chain, inerting siblings at each level
|
|
52708
|
+
// to ensure the entire page outside the host subtree is inert.
|
|
52709
|
+
let current = host;
|
|
52710
|
+
while (current.parentElement) {
|
|
52711
|
+
const parent = current.parentElement;
|
|
52712
|
+
for (const sibling of parent.children) {
|
|
52713
|
+
if (sibling !== current) {
|
|
52714
|
+
this._inertSiblings.push({ element: sibling, wasInert: sibling.inert });
|
|
52715
|
+
sibling.inert = true;
|
|
52716
|
+
}
|
|
52717
|
+
}
|
|
52718
|
+
current = parent;
|
|
52719
|
+
}
|
|
52720
|
+
}
|
|
52721
|
+
|
|
52722
|
+
/**
|
|
52723
|
+
* Restores `inert` state on siblings that were tracked by `_setPageInert`.
|
|
52724
|
+
* Preserves the previous inert state so externally-inerted elements are
|
|
52725
|
+
* not inadvertently re-enabled.
|
|
52726
|
+
* @private
|
|
52727
|
+
*/
|
|
52728
|
+
_clearPageInert() {
|
|
52729
|
+
if (this._inertSiblings) {
|
|
52730
|
+
for (const entry of this._inertSiblings) {
|
|
52731
|
+
entry.element.inert = entry.wasInert;
|
|
52732
|
+
}
|
|
52733
|
+
this._inertSiblings = undefined;
|
|
50446
52734
|
}
|
|
50447
52735
|
}
|
|
50448
52736
|
|
|
@@ -50681,6 +52969,7 @@ let AuroDropdown$1 = class AuroDropdown extends AuroElement$2$1 {
|
|
|
50681
52969
|
shape="${this.shape}"
|
|
50682
52970
|
?data-show="${this.isPopoverVisible}"
|
|
50683
52971
|
?isfullscreen="${this.isBibFullscreen}"
|
|
52972
|
+
?desktopmodal="${this.desktopModal}"
|
|
50684
52973
|
.dialogLabel="${this.bibDialogLabel}"
|
|
50685
52974
|
${n$6(this.bibElement)}
|
|
50686
52975
|
>
|
|
@@ -57379,7 +59668,7 @@ let AuroHelpText$1$1 = class AuroHelpText extends i$3 {
|
|
|
57379
59668
|
}
|
|
57380
59669
|
};
|
|
57381
59670
|
|
|
57382
|
-
var formkitVersion$1$1 = '
|
|
59671
|
+
var formkitVersion$1$1 = '202605210248';
|
|
57383
59672
|
|
|
57384
59673
|
// Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
57385
59674
|
// See LICENSE in the project root for license information.
|
|
@@ -58333,6 +60622,14 @@ let AuroBibtemplate$1 = class AuroBibtemplate extends i$3 {
|
|
|
58333
60622
|
large: {
|
|
58334
60623
|
type: Boolean,
|
|
58335
60624
|
reflect: true
|
|
60625
|
+
},
|
|
60626
|
+
|
|
60627
|
+
/**
|
|
60628
|
+
* If declared, the footer slot will be rendered even when not in fullscreen mode.
|
|
60629
|
+
*/
|
|
60630
|
+
showFooter: {
|
|
60631
|
+
type: Boolean,
|
|
60632
|
+
reflect: true
|
|
58336
60633
|
}
|
|
58337
60634
|
};
|
|
58338
60635
|
}
|
|
@@ -58435,7 +60732,7 @@ let AuroBibtemplate$1 = class AuroBibtemplate extends i$3 {
|
|
|
58435
60732
|
<slot></slot>
|
|
58436
60733
|
</div>
|
|
58437
60734
|
|
|
58438
|
-
${this.isFullscreen ? u$d`
|
|
60735
|
+
${this.isFullscreen || this.showFooter ? u$d`
|
|
58439
60736
|
<div id="footerContainer">
|
|
58440
60737
|
<slot name="footer"></slot>
|
|
58441
60738
|
</div>` : null}
|
|
@@ -58444,7 +60741,7 @@ let AuroBibtemplate$1 = class AuroBibtemplate extends i$3 {
|
|
|
58444
60741
|
}
|
|
58445
60742
|
};
|
|
58446
60743
|
|
|
58447
|
-
var formkitVersion$3 = '
|
|
60744
|
+
var formkitVersion$3 = '202605210248';
|
|
58448
60745
|
|
|
58449
60746
|
var styleCss$1$3 = i$5`.util_displayInline{display:inline}.util_displayInlineBlock{display:inline-block}.util_displayBlock{display:block}.util_displayFlex{display:flex}.util_displayHidden{display:none}.util_displayHiddenVisually{position:absolute;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);width:1px;height:1px;padding:0;border:0}:host{display:block;text-align:left}:host [auro-dropdown]{--ds-auro-dropdown-trigger-background-color: transparent}:host #inputInBib::part(wrapper){box-shadow:none}:host #inputInBib::part(accent-left){display:none}:host([layout*=classic]) [auro-input]{width:100%}:host([layout*=classic]) [auro-input]::part(helpText){display:none}:host([layout*=classic]) #slotHolder{display:none}`;
|
|
58450
60747
|
|
|
@@ -63930,30 +66227,28 @@ function navigateArrow(component, direction, options = {}) {
|
|
|
63930
66227
|
const selectKeyboardStrategy = {
|
|
63931
66228
|
ArrowDown(component, evt, ctx) {
|
|
63932
66229
|
evt.preventDefault();
|
|
63933
|
-
if (
|
|
63934
|
-
|
|
63935
|
-
|
|
63936
|
-
|
|
63937
|
-
} else {
|
|
63938
|
-
navigateArrow(component, 'down', { ctx });
|
|
63939
|
-
}
|
|
63940
|
-
} else {
|
|
63941
|
-
component.dropdown.show();
|
|
66230
|
+
if (evt.altKey || evt.metaKey) {
|
|
66231
|
+
// navigate to last enabled option
|
|
66232
|
+
selectKeyboardStrategy.End(component, evt, ctx);
|
|
66233
|
+
return;
|
|
63942
66234
|
}
|
|
66235
|
+
navigateArrow(component, 'down', {
|
|
66236
|
+
ctx,
|
|
66237
|
+
showFn: () => component.dropdown.show(),
|
|
66238
|
+
});
|
|
63943
66239
|
},
|
|
63944
66240
|
|
|
63945
66241
|
ArrowUp(component, evt, ctx) {
|
|
63946
66242
|
evt.preventDefault();
|
|
63947
|
-
if (
|
|
63948
|
-
|
|
63949
|
-
|
|
63950
|
-
|
|
63951
|
-
} else {
|
|
63952
|
-
navigateArrow(component, 'up', { ctx });
|
|
63953
|
-
}
|
|
63954
|
-
} else {
|
|
63955
|
-
component.dropdown.show();
|
|
66243
|
+
if (evt.altKey || evt.metaKey) {
|
|
66244
|
+
// navigate to first enabled option
|
|
66245
|
+
selectKeyboardStrategy.Home(component, evt, ctx);
|
|
66246
|
+
return;
|
|
63956
66247
|
}
|
|
66248
|
+
navigateArrow(component, 'up', {
|
|
66249
|
+
ctx,
|
|
66250
|
+
showFn: () => component.dropdown.show(),
|
|
66251
|
+
});
|
|
63957
66252
|
},
|
|
63958
66253
|
|
|
63959
66254
|
Escape(component, evt, ctx) {
|
|
@@ -67305,7 +69600,7 @@ function applyKeyboardStrategy(component, strategy, options = {}) {
|
|
|
67305
69600
|
});
|
|
67306
69601
|
}
|
|
67307
69602
|
|
|
67308
|
-
var styleCss$2$1 = i$5`:host{position:fixed;z-index:var(--depth-tooltip, 400);display:none;isolation:isolate}:host dialog{width:auto;max-width:none;height:auto;max-height:none;padding:0;border:none;margin:0;outline:none;transform:translateZ(0)}:host dialog::backdrop{background:transparent}:host(:not([isfullscreen])) dialog{position:relative;inset:unset}:host(:not([isfullscreen])) .container.shape-box{border-radius:unset}:host(:not([isfullscreen])) .container[class*=shape-pill],:host(:not([isfullscreen])) .container[class*=shape-snowflake]{border-radius:30px}:host(:not([isfullscreen])) .container[class*=shape-rounded]{border-radius:16px}:host(:not([matchWidth])) .container{min-width:fit-content}:host([isfullscreen]){position:fixed;top:0;left:0}:host([isfullscreen]) .container{width:100dvw;max-width:none;height:100dvh;max-height:none;border-radius:unset;margin-top:0;box-shadow:unset;overscroll-behavior:contain}:host([isfullscreen]) .container::backdrop{background:var(--ds-color-background-primary, #fff)}:host(:popover-open){position:fixed;overflow:visible;padding:0;border:none;margin:0;background:transparent;inset:unset;outline:none}:host([data-show]){display:flex}:host([common]:not([isfullscreen])) .container,:host([rounded]:not([isfullscreen])) .container{border-radius:var(--ds-border-radius, 0.375rem)}:host([common][isfullscreen]) .container,:host([rounded][isfullscreen]) .container{border-radius:unset;box-shadow:unset}.container{display:inline-block;overflow:auto;box-sizing:border-box;border-radius:var(--ds-border-radius, 0.375rem);margin:var(--ds-size-50, 0.25rem) 0}.util_displayHiddenVisually{position:absolute;overflow:hidden;width:1px;height:1px;padding:0;border:0;margin:-1px;clip-path:inset(50%);white-space:nowrap}`;
|
|
69603
|
+
var styleCss$2$1 = i$5`:host{position:fixed;z-index:var(--depth-tooltip, 400);display:none;isolation:isolate}:host dialog{width:auto;max-width:none;height:auto;max-height:none;padding:0;border:none;margin:0;outline:none;transform:translateZ(0)}:host dialog::backdrop{background:transparent}:host(:not([isfullscreen])) dialog{position:relative;inset:unset}:host(:not([isfullscreen])) .container.shape-box{border-radius:unset}:host(:not([isfullscreen])) .container[class*=shape-pill],:host(:not([isfullscreen])) .container[class*=shape-snowflake]{border-radius:30px}:host(:not([isfullscreen])) .container[class*=shape-rounded]{border-radius:16px}:host([desktopmodal]:popover-open)::backdrop{background:transparent}:host(:not([matchWidth])) .container{min-width:fit-content}:host([isfullscreen]){position:fixed;top:0;left:0}:host([isfullscreen]) .container{width:100dvw;max-width:none;height:100dvh;max-height:none;border-radius:unset;margin-top:0;box-shadow:unset;overscroll-behavior:contain}:host([isfullscreen]) .container::backdrop{background:var(--ds-color-background-primary, #fff)}:host(:popover-open){position:fixed;overflow:visible;padding:0;border:none;margin:0;background:transparent;inset:unset;outline:none}:host([data-show]){display:flex}:host([common]:not([isfullscreen])) .container,:host([rounded]:not([isfullscreen])) .container{border-radius:var(--ds-border-radius, 0.375rem)}:host([common][isfullscreen]) .container,:host([rounded][isfullscreen]) .container{border-radius:unset;box-shadow:unset}.container{display:inline-block;overflow:auto;box-sizing:border-box;border-radius:var(--ds-border-radius, 0.375rem);margin:var(--ds-size-50, 0.25rem) 0}.util_displayHiddenVisually{position:absolute;overflow:hidden;width:1px;height:1px;padding:0;border:0;margin:-1px;clip-path:inset(50%);white-space:nowrap}`;
|
|
67309
69604
|
|
|
67310
69605
|
var colorCss$2 = i$5`.container{background-color:var(--ds-auro-dropdownbib-container-color);box-shadow:var(--ds-auro-dropdownbib-boxshadow-color);color:var(--ds-auro-dropdownbib-text-color)}`;
|
|
67311
69606
|
|
|
@@ -67936,7 +70231,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$3 {
|
|
|
67936
70231
|
}
|
|
67937
70232
|
};
|
|
67938
70233
|
|
|
67939
|
-
var formkitVersion$1 = '
|
|
70234
|
+
var formkitVersion$1 = '202605210248';
|
|
67940
70235
|
|
|
67941
70236
|
class AuroElement extends i$3 {
|
|
67942
70237
|
static get properties() {
|
|
@@ -68116,6 +70411,7 @@ class AuroDropdown extends AuroElement {
|
|
|
68116
70411
|
_intializeDefaults() {
|
|
68117
70412
|
this.appearance = 'default';
|
|
68118
70413
|
this.chevron = false;
|
|
70414
|
+
this.desktopModal = false;
|
|
68119
70415
|
this.disabled = false;
|
|
68120
70416
|
this.disableKeyboardHandling = false;
|
|
68121
70417
|
this.error = false;
|
|
@@ -68296,6 +70592,14 @@ class AuroDropdown extends AuroElement {
|
|
|
68296
70592
|
reflect: true
|
|
68297
70593
|
},
|
|
68298
70594
|
|
|
70595
|
+
/**
|
|
70596
|
+
* If declared, the dropdown will behave as a modal dialog when in a desktop viewport size.
|
|
70597
|
+
*/
|
|
70598
|
+
desktopModal: {
|
|
70599
|
+
type: Boolean,
|
|
70600
|
+
reflect: true
|
|
70601
|
+
},
|
|
70602
|
+
|
|
68299
70603
|
/**
|
|
68300
70604
|
* If declared, the dropdown will only show by calling the API .show() public method.
|
|
68301
70605
|
*/
|
|
@@ -68583,6 +70887,15 @@ class AuroDropdown extends AuroElement {
|
|
|
68583
70887
|
|
|
68584
70888
|
disconnectedCallback() {
|
|
68585
70889
|
super.disconnectedCallback();
|
|
70890
|
+
this._clearPageInert();
|
|
70891
|
+
if (this._bibTabHandler) {
|
|
70892
|
+
this.removeEventListener('keydown', this._bibTabHandler);
|
|
70893
|
+
this._bibTabHandler = undefined;
|
|
70894
|
+
}
|
|
70895
|
+
if (this.focusTrap) {
|
|
70896
|
+
this.focusTrap.disconnect();
|
|
70897
|
+
this.focusTrap = undefined;
|
|
70898
|
+
}
|
|
68586
70899
|
if (this.floater) {
|
|
68587
70900
|
this.floater.hideBib('disconnect');
|
|
68588
70901
|
this.floater.disconnect();
|
|
@@ -68610,19 +70923,45 @@ class AuroDropdown extends AuroElement {
|
|
|
68610
70923
|
if (this.isPopoverVisible) {
|
|
68611
70924
|
// Fullscreen: use showModal() for native accessibility (inert outside, focus trap)
|
|
68612
70925
|
// Desktop: use show() for Floating UI positioning + FocusTrap for focus management
|
|
68613
|
-
|
|
68614
|
-
this.
|
|
70926
|
+
this.bibElement.value.open(this.isBibFullscreen);
|
|
70927
|
+
this.updateFocusTrap();
|
|
70928
|
+
|
|
70929
|
+
// Desktop modal: make siblings inert so content outside is not interactive
|
|
70930
|
+
if (this.desktopModal && !this.isBibFullscreen) {
|
|
70931
|
+
this._setPageInert();
|
|
70932
|
+
}
|
|
68615
70933
|
} else {
|
|
68616
70934
|
this.bibElement.value.close();
|
|
70935
|
+
this._clearPageInert();
|
|
68617
70936
|
}
|
|
68618
70937
|
}
|
|
68619
70938
|
|
|
68620
70939
|
// When fullscreen strategy changes while open, re-open dialog with correct mode
|
|
68621
70940
|
// (e.g. resizing from desktop → mobile while dropdown is open)
|
|
68622
70941
|
if (changedProperties.has('isBibFullscreen') && this.isPopoverVisible && this.bibElement.value) {
|
|
68623
|
-
const useModal = this.isBibFullscreen;
|
|
68624
70942
|
this.bibElement.value.close();
|
|
68625
|
-
this.bibElement.value.open(
|
|
70943
|
+
this.bibElement.value.open(this.isBibFullscreen);
|
|
70944
|
+
|
|
70945
|
+
// Re-initialize focus management for the new strategy
|
|
70946
|
+
this.updateFocusTrap();
|
|
70947
|
+
|
|
70948
|
+
// Toggle inert: desktop modal needs it, fullscreen showModal() handles it natively
|
|
70949
|
+
if (this.desktopModal && !this.isBibFullscreen) {
|
|
70950
|
+
this._setPageInert();
|
|
70951
|
+
} else {
|
|
70952
|
+
this._clearPageInert();
|
|
70953
|
+
}
|
|
70954
|
+
}
|
|
70955
|
+
|
|
70956
|
+
// Handle desktopModal toggled while the dropdown is already open.
|
|
70957
|
+
// Re-initialize focus trapping and page inert state to match the new mode.
|
|
70958
|
+
if (changedProperties.has('desktopModal') && this.isPopoverVisible && !this.isBibFullscreen) {
|
|
70959
|
+
this.updateFocusTrap();
|
|
70960
|
+
if (this.desktopModal) {
|
|
70961
|
+
this._setPageInert();
|
|
70962
|
+
} else {
|
|
70963
|
+
this._clearPageInert();
|
|
70964
|
+
}
|
|
68626
70965
|
}
|
|
68627
70966
|
}
|
|
68628
70967
|
|
|
@@ -68632,8 +70971,14 @@ class AuroDropdown extends AuroElement {
|
|
|
68632
70971
|
* @param {CustomEvent} event - The custom event that contains the dropdown toggle information.
|
|
68633
70972
|
*/
|
|
68634
70973
|
handleDropdownToggle(event) {
|
|
68635
|
-
this.updateFocusTrap();
|
|
68636
70974
|
this.isPopoverVisible = event.detail.expanded;
|
|
70975
|
+
|
|
70976
|
+
// Tear down FocusTrap when closing. Creation happens in updated()
|
|
70977
|
+
// after the dialog is open so getFocusableElements can find content.
|
|
70978
|
+
if (!this.isPopoverVisible) {
|
|
70979
|
+
this.updateFocusTrap();
|
|
70980
|
+
}
|
|
70981
|
+
|
|
68637
70982
|
const eventType = event.detail.eventType || "unknown";
|
|
68638
70983
|
if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown") {
|
|
68639
70984
|
this.trigger.focus();
|
|
@@ -68732,19 +71077,178 @@ class AuroDropdown extends AuroElement {
|
|
|
68732
71077
|
* @private
|
|
68733
71078
|
*/
|
|
68734
71079
|
updateFocusTrap() {
|
|
71080
|
+
// Always clean up existing handlers/traps before setting up new ones
|
|
71081
|
+
// to prevent duplicate listeners on repeated calls.
|
|
71082
|
+
if (this._bibTabHandler) {
|
|
71083
|
+
this.removeEventListener('keydown', this._bibTabHandler);
|
|
71084
|
+
this._bibTabHandler = undefined;
|
|
71085
|
+
}
|
|
71086
|
+
|
|
71087
|
+
if (this.focusTrap) {
|
|
71088
|
+
this.focusTrap.disconnect();
|
|
71089
|
+
this.focusTrap = undefined;
|
|
71090
|
+
}
|
|
71091
|
+
|
|
68735
71092
|
if (this.isPopoverVisible) {
|
|
68736
71093
|
if (!this.isBibFullscreen) {
|
|
68737
|
-
|
|
68738
|
-
|
|
68739
|
-
|
|
71094
|
+
if (this.desktopModal) {
|
|
71095
|
+
// Desktop modal: trap focus only within the bib content.
|
|
71096
|
+
// Can't use FocusTrap on the bib element because keydown events
|
|
71097
|
+
// from slotted content bubble through the dropdown host (light DOM),
|
|
71098
|
+
// not through the bib (shadow projection target). Using FocusTrap
|
|
71099
|
+
// on the dropdown would include the trigger in the tab cycle.
|
|
71100
|
+
// Instead, listen for Tab on the dropdown and manually wrap focus
|
|
71101
|
+
// within the bib's focusable elements.
|
|
71102
|
+
this._bibTabHandler = (event) => {
|
|
71103
|
+
if (event.key !== 'Tab') {
|
|
71104
|
+
return;
|
|
71105
|
+
}
|
|
71106
|
+
|
|
71107
|
+
// Collect focusable elements from the bib content.
|
|
71108
|
+
const focusables = getFocusableElements(this.bibContent);
|
|
71109
|
+
|
|
71110
|
+
// Fallback: try from slotted content directly
|
|
71111
|
+
if (!focusables.length) {
|
|
71112
|
+
const slot = this.shadowRoot.querySelector('.slotContent slot');
|
|
71113
|
+
const assignedNodes = slot ? slot.assignedNodes({ flatten: true }) : [];
|
|
71114
|
+
|
|
71115
|
+
for (const node of assignedNodes) {
|
|
71116
|
+
if (node.nodeType === Node.ELEMENT_NODE) {
|
|
71117
|
+
focusables.push(...getFocusableElements(node));
|
|
71118
|
+
}
|
|
71119
|
+
}
|
|
71120
|
+
}
|
|
71121
|
+
|
|
71122
|
+
if (!focusables.length) {
|
|
71123
|
+
return;
|
|
71124
|
+
}
|
|
71125
|
+
|
|
71126
|
+
event.preventDefault();
|
|
71127
|
+
|
|
71128
|
+
const direction = event.shiftKey ? -1 : 1; // eslint-disable-line no-magic-numbers
|
|
71129
|
+
|
|
71130
|
+
// Walk the active element chain through shadow roots
|
|
71131
|
+
const actives = this._getActiveElements();
|
|
71132
|
+
|
|
71133
|
+
let idx = focusables.findIndex((el) => actives.includes(el));
|
|
71134
|
+
|
|
71135
|
+
if (idx === -1) { // eslint-disable-line no-magic-numbers
|
|
71136
|
+
// Focus is not on a known element — move to first/last
|
|
71137
|
+
idx = direction === 1 ? -1 : focusables.length; // eslint-disable-line no-magic-numbers
|
|
71138
|
+
}
|
|
71139
|
+
|
|
71140
|
+
// Try each element in order, skipping any that can't receive focus
|
|
71141
|
+
// (e.g. hidden elements, elements in collapsed sections)
|
|
71142
|
+
for (let index = 0; index < focusables.length; index++) { // eslint-disable-line no-plusplus
|
|
71143
|
+
let nextIdx = idx + direction;
|
|
71144
|
+
|
|
71145
|
+
// Wrap around
|
|
71146
|
+
if (nextIdx < 0) {
|
|
71147
|
+
nextIdx = focusables.length - 1;
|
|
71148
|
+
} else if (nextIdx >= focusables.length) {
|
|
71149
|
+
nextIdx = 0;
|
|
71150
|
+
}
|
|
71151
|
+
|
|
71152
|
+
focusables[nextIdx].focus();
|
|
71153
|
+
|
|
71154
|
+
// Verify focus actually moved to the target
|
|
71155
|
+
const newActives = this._getActiveElements();
|
|
71156
|
+
|
|
71157
|
+
if (newActives.includes(focusables[nextIdx])) {
|
|
71158
|
+
return;
|
|
71159
|
+
}
|
|
71160
|
+
|
|
71161
|
+
// Focus didn't stick — skip this element and try the next
|
|
71162
|
+
idx = nextIdx;
|
|
71163
|
+
}
|
|
71164
|
+
};
|
|
71165
|
+
this.addEventListener('keydown', this._bibTabHandler);
|
|
71166
|
+
|
|
71167
|
+
// Move initial focus into the bib content, matching FocusTrap behavior
|
|
71168
|
+
requestAnimationFrame(() => {
|
|
71169
|
+
const focusables = getFocusableElements(this.bibContent);
|
|
71170
|
+
if (focusables.length) {
|
|
71171
|
+
focusables[0].focus();
|
|
71172
|
+
}
|
|
71173
|
+
});
|
|
71174
|
+
} else {
|
|
71175
|
+
// Normal desktop: use FocusTrap on the bib element
|
|
71176
|
+
this.focusTrap = new FocusTrap(this.bibContent);
|
|
71177
|
+
this.focusTrap.focusFirstElement();
|
|
71178
|
+
}
|
|
68740
71179
|
}
|
|
68741
71180
|
// Fullscreen: showModal() provides native focus trapping
|
|
71181
|
+
}
|
|
71182
|
+
}
|
|
71183
|
+
|
|
71184
|
+
/**
|
|
71185
|
+
* Returns the chain of active (focused) elements through shadow roots.
|
|
71186
|
+
* @private
|
|
71187
|
+
* @returns {Array<HTMLElement>}
|
|
71188
|
+
*/
|
|
71189
|
+
_getActiveElements() {
|
|
71190
|
+
let { activeElement } = document;
|
|
71191
|
+
const actives = [activeElement];
|
|
71192
|
+
|
|
71193
|
+
while (activeElement?.shadowRoot?.activeElement) {
|
|
71194
|
+
activeElement = activeElement.shadowRoot.activeElement;
|
|
71195
|
+
actives.push(activeElement);
|
|
71196
|
+
}
|
|
71197
|
+
|
|
71198
|
+
return actives;
|
|
71199
|
+
}
|
|
71200
|
+
|
|
71201
|
+
/**
|
|
71202
|
+
* Sets `inert` on sibling elements of the dropdown's top-level host
|
|
71203
|
+
* so that content outside the dropdown is not interactive while the modal is open.
|
|
71204
|
+
* Walks up through shadow DOM boundaries to find the outermost host element
|
|
71205
|
+
* in the light DOM, then sets `inert` on siblings at each ancestor level
|
|
71206
|
+
* to ensure all page content outside the host subtree is inert.
|
|
71207
|
+
* @private
|
|
71208
|
+
*/
|
|
71209
|
+
_setPageInert() {
|
|
71210
|
+
if (this._inertSiblings) {
|
|
68742
71211
|
return;
|
|
68743
71212
|
}
|
|
68744
71213
|
|
|
68745
|
-
|
|
68746
|
-
|
|
68747
|
-
|
|
71214
|
+
this._inertSiblings = [];
|
|
71215
|
+
|
|
71216
|
+
// Walk up through shadow DOM boundaries to find the topmost host
|
|
71217
|
+
// element in the light DOM. For example, if this dropdown is inside
|
|
71218
|
+
// auro-datepicker's shadow DOM, we walk up to the datepicker element
|
|
71219
|
+
// so we set inert on its siblings — not on the datepicker itself.
|
|
71220
|
+
let host = this;
|
|
71221
|
+
while (host.getRootNode() instanceof ShadowRoot) {
|
|
71222
|
+
host = host.getRootNode().host;
|
|
71223
|
+
}
|
|
71224
|
+
|
|
71225
|
+
// Walk up the ancestor chain, inerting siblings at each level
|
|
71226
|
+
// to ensure the entire page outside the host subtree is inert.
|
|
71227
|
+
let current = host;
|
|
71228
|
+
while (current.parentElement) {
|
|
71229
|
+
const parent = current.parentElement;
|
|
71230
|
+
for (const sibling of parent.children) {
|
|
71231
|
+
if (sibling !== current) {
|
|
71232
|
+
this._inertSiblings.push({ element: sibling, wasInert: sibling.inert });
|
|
71233
|
+
sibling.inert = true;
|
|
71234
|
+
}
|
|
71235
|
+
}
|
|
71236
|
+
current = parent;
|
|
71237
|
+
}
|
|
71238
|
+
}
|
|
71239
|
+
|
|
71240
|
+
/**
|
|
71241
|
+
* Restores `inert` state on siblings that were tracked by `_setPageInert`.
|
|
71242
|
+
* Preserves the previous inert state so externally-inerted elements are
|
|
71243
|
+
* not inadvertently re-enabled.
|
|
71244
|
+
* @private
|
|
71245
|
+
*/
|
|
71246
|
+
_clearPageInert() {
|
|
71247
|
+
if (this._inertSiblings) {
|
|
71248
|
+
for (const entry of this._inertSiblings) {
|
|
71249
|
+
entry.element.inert = entry.wasInert;
|
|
71250
|
+
}
|
|
71251
|
+
this._inertSiblings = undefined;
|
|
68748
71252
|
}
|
|
68749
71253
|
}
|
|
68750
71254
|
|
|
@@ -68983,6 +71487,7 @@ class AuroDropdown extends AuroElement {
|
|
|
68983
71487
|
shape="${this.shape}"
|
|
68984
71488
|
?data-show="${this.isPopoverVisible}"
|
|
68985
71489
|
?isfullscreen="${this.isBibFullscreen}"
|
|
71490
|
+
?desktopmodal="${this.desktopModal}"
|
|
68986
71491
|
.dialogLabel="${this.bibDialogLabel}"
|
|
68987
71492
|
${n$6(this.bibElement)}
|
|
68988
71493
|
>
|
|
@@ -69350,6 +71855,14 @@ class AuroBibtemplate extends i$3 {
|
|
|
69350
71855
|
large: {
|
|
69351
71856
|
type: Boolean,
|
|
69352
71857
|
reflect: true
|
|
71858
|
+
},
|
|
71859
|
+
|
|
71860
|
+
/**
|
|
71861
|
+
* If declared, the footer slot will be rendered even when not in fullscreen mode.
|
|
71862
|
+
*/
|
|
71863
|
+
showFooter: {
|
|
71864
|
+
type: Boolean,
|
|
71865
|
+
reflect: true
|
|
69353
71866
|
}
|
|
69354
71867
|
};
|
|
69355
71868
|
}
|
|
@@ -69452,7 +71965,7 @@ class AuroBibtemplate extends i$3 {
|
|
|
69452
71965
|
<slot></slot>
|
|
69453
71966
|
</div>
|
|
69454
71967
|
|
|
69455
|
-
${this.isFullscreen ? u$d`
|
|
71968
|
+
${this.isFullscreen || this.showFooter ? u$d`
|
|
69456
71969
|
<div id="footerContainer">
|
|
69457
71970
|
<slot name="footer"></slot>
|
|
69458
71971
|
</div>` : null}
|
|
@@ -69689,7 +72202,7 @@ class AuroHelpText extends i$3 {
|
|
|
69689
72202
|
}
|
|
69690
72203
|
}
|
|
69691
72204
|
|
|
69692
|
-
var formkitVersion = '
|
|
72205
|
+
var formkitVersion = '202605210248';
|
|
69693
72206
|
|
|
69694
72207
|
var styleCss = i$5`.util_displayInline{display:inline}.util_displayInlineBlock{display:inline-block}.util_displayBlock{display:block}.util_displayFlex{display:flex}.util_displayHidden{display:none}.util_displayHiddenVisually{position:absolute;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);width:1px;height:1px;padding:0;border:0}.body-default{font-size:var(--wcss-body-default-font-size, 1rem);font-weight:var(--wcss-body-default-weight, );line-height:var(--wcss-body-default-line-height, 1.5rem)}.body-default,.body-default-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-default-emphasized{font-size:var(--wcss-body-default-emphasized-font-size, 1rem);font-weight:var(--wcss-body-default-emphasized-weight, );line-height:var(--wcss-body-default-emphasized-line-height, 1.5rem)}.body-lg{font-size:var(--wcss-body-lg-font-size, 1.125rem);font-weight:var(--wcss-body-lg-weight, );line-height:var(--wcss-body-lg-line-height, 1.625rem)}.body-lg,.body-lg-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-lg-emphasized{font-size:var(--wcss-body-lg-emphasized-font-size, 1.125rem);font-weight:var(--wcss-body-lg-emphasized-weight, );line-height:var(--wcss-body-lg-emphasized-line-height, 1.625rem)}.body-sm{font-size:var(--wcss-body-sm-font-size, 0.875rem);font-weight:var(--wcss-body-sm-weight, );line-height:var(--wcss-body-sm-line-height, 1.25rem)}.body-sm,.body-sm-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-sm-emphasized{font-size:var(--wcss-body-sm-emphasized-font-size, 0.875rem);font-weight:var(--wcss-body-sm-emphasized-weight, );line-height:var(--wcss-body-sm-emphasized-line-height, 1.25rem)}.body-xs{font-size:var(--wcss-body-xs-font-size, 0.75rem);font-weight:var(--wcss-body-xs-weight, );line-height:var(--wcss-body-xs-line-height, 1rem)}.body-xs,.body-xs-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-xs-emphasized{font-size:var(--wcss-body-xs-emphasized-font-size, 0.75rem);font-weight:var(--wcss-body-xs-emphasized-weight, );line-height:var(--wcss-body-xs-emphasized-line-height, 1rem)}.body-2xs{font-size:var(--wcss-body-2xs-font-size, 0.625rem);font-weight:var(--wcss-body-2xs-weight, );line-height:var(--wcss-body-2xs-line-height, 0.875rem)}.body-2xs,.body-2xs-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-2xs-emphasized{font-size:var(--wcss-body-2xs-emphasized-font-size, 0.625rem);font-weight:var(--wcss-body-2xs-emphasized-weight, );line-height:var(--wcss-body-2xs-emphasized-line-height, 0.875rem)}.display-2xl{font-family:var(--wcss-display-2xl-family, "AS Circular"),var(--wcss-display-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-2xl-font-size, clamp(3.5rem, 6vw, 5.375rem));font-weight:var(--wcss-display-2xl-weight, 300);letter-spacing:var(--wcss-display-2xl-letter-spacing, 0);line-height:var(--wcss-display-2xl-line-height, 1.3)}.display-xl{font-family:var(--wcss-display-xl-family, "AS Circular"),var(--wcss-display-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-xl-font-size, clamp(3rem, 5.3333333333vw, 4.5rem));font-weight:var(--wcss-display-xl-weight, 300);letter-spacing:var(--wcss-display-xl-letter-spacing, 0);line-height:var(--wcss-display-xl-line-height, 1.3)}.display-lg{font-family:var(--wcss-display-lg-family, "AS Circular"),var(--wcss-display-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-lg-font-size, clamp(2.75rem, 4.6666666667vw, 4rem));font-weight:var(--wcss-display-lg-weight, 300);letter-spacing:var(--wcss-display-lg-letter-spacing, 0);line-height:var(--wcss-display-lg-line-height, 1.3)}.display-md{font-family:var(--wcss-display-md-family, "AS Circular"),var(--wcss-display-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-md-font-size, clamp(2.5rem, 4vw, 3.5rem));font-weight:var(--wcss-display-md-weight, 300);letter-spacing:var(--wcss-display-md-letter-spacing, 0);line-height:var(--wcss-display-md-line-height, 1.3)}.display-sm{font-family:var(--wcss-display-sm-family, "AS Circular"),var(--wcss-display-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-sm-font-size, clamp(2rem, 3.6666666667vw, 3rem));font-weight:var(--wcss-display-sm-weight, 300);letter-spacing:var(--wcss-display-sm-letter-spacing, 0);line-height:var(--wcss-display-sm-line-height, 1.3)}.display-xs{font-family:var(--wcss-display-xs-family, "AS Circular"),var(--wcss-display-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-xs-font-size, clamp(1.75rem, 3vw, 2.375rem));font-weight:var(--wcss-display-xs-weight, 300);letter-spacing:var(--wcss-display-xs-letter-spacing, 0);line-height:var(--wcss-display-xs-line-height, 1.3)}.heading-xl{font-family:var(--wcss-heading-xl-family, "AS Circular"),var(--wcss-heading-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-xl-font-size, clamp(2rem, 3vw, 2.5rem));font-weight:var(--wcss-heading-xl-weight, 300);letter-spacing:var(--wcss-heading-xl-letter-spacing, 0);line-height:var(--wcss-heading-xl-line-height, 1.3)}.heading-lg{font-family:var(--wcss-heading-lg-family, "AS Circular"),var(--wcss-heading-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-lg-font-size, clamp(1.75rem, 2.6666666667vw, 2.25rem));font-weight:var(--wcss-heading-lg-weight, 300);letter-spacing:var(--wcss-heading-lg-letter-spacing, 0);line-height:var(--wcss-heading-lg-line-height, 1.3)}.heading-md{font-family:var(--wcss-heading-md-family, "AS Circular"),var(--wcss-heading-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-md-font-size, clamp(1.625rem, 2.3333333333vw, 1.75rem));font-weight:var(--wcss-heading-md-weight, 300);letter-spacing:var(--wcss-heading-md-letter-spacing, 0);line-height:var(--wcss-heading-md-line-height, 1.3)}.heading-sm{font-family:var(--wcss-heading-sm-family, "AS Circular"),var(--wcss-heading-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-sm-font-size, clamp(1.375rem, 2vw, 1.5rem));font-weight:var(--wcss-heading-sm-weight, 300);letter-spacing:var(--wcss-heading-sm-letter-spacing, 0);line-height:var(--wcss-heading-sm-line-height, 1.3)}.heading-xs{font-family:var(--wcss-heading-xs-family, "AS Circular"),var(--wcss-heading-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-xs-font-size, clamp(1.25rem, 1.6666666667vw, 1.25rem));font-weight:var(--wcss-heading-xs-weight, 300);letter-spacing:var(--wcss-heading-xs-letter-spacing, 0);line-height:var(--wcss-heading-xs-line-height, 1.3)}.heading-2xs{font-family:var(--wcss-heading-2xs-family, "AS Circular"),var(--wcss-heading-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-2xs-font-size, clamp(1.125rem, 1.5vw, 1.125rem));font-weight:var(--wcss-heading-2xs-weight, 300);letter-spacing:var(--wcss-heading-2xs-letter-spacing, 0);line-height:var(--wcss-heading-2xs-line-height, 1.3)}.accent-2xl{font-family:var(--wcss-accent-2xl-family, "Good OT"),var(--wcss-accent-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-2xl-font-size, clamp(2rem, 3.1666666667vw, 2.375rem));font-weight:var(--wcss-accent-2xl-weight, 450);letter-spacing:var(--wcss-accent-2xl-letter-spacing, 0.05em);line-height:var(--wcss-accent-2xl-line-height, 1)}.accent-2xl,.accent-xl{text-transform:uppercase}.accent-xl{font-family:var(--wcss-accent-xl-family, "Good OT"),var(--wcss-accent-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-xl-font-size, clamp(1.625rem, 2.3333333333vw, 2rem));font-weight:var(--wcss-accent-xl-weight, 450);letter-spacing:var(--wcss-accent-xl-letter-spacing, 0.05em);line-height:var(--wcss-accent-xl-line-height, 1.3)}.accent-lg{font-family:var(--wcss-accent-lg-family, "Good OT"),var(--wcss-accent-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-lg-font-size, clamp(1.5rem, 2.1666666667vw, 1.75rem));font-weight:var(--wcss-accent-lg-weight, 450);letter-spacing:var(--wcss-accent-lg-letter-spacing, 0.05em);line-height:var(--wcss-accent-lg-line-height, 1.3)}.accent-lg,.accent-md{text-transform:uppercase}.accent-md{font-family:var(--wcss-accent-md-family, "Good OT"),var(--wcss-accent-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-md-font-size, clamp(1.375rem, 1.8333333333vw, 1.5rem));font-weight:var(--wcss-accent-md-weight, 500);letter-spacing:var(--wcss-accent-md-letter-spacing, 0.05em);line-height:var(--wcss-accent-md-line-height, 1.3)}.accent-sm{font-family:var(--wcss-accent-sm-family, "Good OT"),var(--wcss-accent-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-sm-font-size, clamp(1.125rem, 1.5vw, 1.25rem));font-weight:var(--wcss-accent-sm-weight, 500);letter-spacing:var(--wcss-accent-sm-letter-spacing, 0.05em);line-height:var(--wcss-accent-sm-line-height, 1.3)}.accent-sm,.accent-xs{text-transform:uppercase}.accent-xs{font-family:var(--wcss-accent-xs-family, "Good OT"),var(--wcss-accent-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-xs-font-size, clamp(1rem, 1.3333333333vw, 1rem));font-weight:var(--wcss-accent-xs-weight, 500);letter-spacing:var(--wcss-accent-xs-letter-spacing, 0.1em);line-height:var(--wcss-accent-xs-line-height, 1.3)}.accent-2xs{font-family:var(--wcss-accent-2xs-family, "Good OT"),var(--wcss-accent-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-2xs-font-size, clamp(0.875rem, 1.1666666667vw, 0.875rem));font-weight:var(--wcss-accent-2xs-weight, 450);letter-spacing:var(--wcss-accent-2xs-letter-spacing, 0.1em);line-height:var(--wcss-accent-2xs-line-height, 1.3);text-transform:uppercase}[auro-dropdown]{--ds-auro-dropdown-trigger-border-color: var(--ds-auro-select-border-color);--ds-auro-dropdown-trigger-background-color: var(--ds-auro-select-background-color);--ds-auro-dropdown-trigger-container-color: var(--ds-auro-select-background-color);--ds-auro-dropdown-trigger-outline-color: var(--ds-auro-select-outline-color)}:host{display:inline-block;text-align:left;vertical-align:top}:host([layout*=emphasized]) [auro-dropdown],:host([layout*=snowflake]) [auro-dropdown]{--ds-auro-select-border-color: transparent}:host([layout*=emphasized]) .mainContent,:host([layout*=snowflake]) .mainContent{text-align:center}.mainContent{position:relative;display:flex;overflow:hidden;flex:1;flex-direction:column;align-items:center;justify-content:center}.valueContainer [slot=displayValue]{display:none}.accents{display:flex;flex-direction:row;align-items:center;justify-content:center}::slotted([slot=typeIcon]){margin-right:var(--ds-size-100, 0.5rem)}.displayValue{display:block}.displayValue:not(.force){display:none}.displayValue:not(.force).hasContent:is(.withValue):not(.hasFocus){display:block}.triggerContent{display:flex;width:100%;align-items:center;justify-content:center}:host([layout*=emphasized]) .triggerContent{padding:0 var(--ds-size-100, 0.5rem) 0 var(--ds-size-300, 1.5rem)}:host([layout*=snowflake]) .triggerContent{padding:0 var(--ds-size-100, 0.5rem) 0 var(--ds-size-200, 1rem)}:host([layout*=snowflake]) label{padding-block:var(--ds-size-25, 0.125rem)}:host([layout*=classic]) .triggerContent{padding:0 var(--ds-size-100, 0.5rem)}:host([layout*=classic]) .mainContent{align-items:start}:host([layout*=classic]) label{overflow:hidden;cursor:text;text-overflow:ellipsis;white-space:nowrap}:host([layout*=classic]) .value{height:auto}label{color:var(--ds-auro-select-label-text-color)}:host(:is([validity]:not([validity=valid]))) [auro-dropdown]{--ds-auro-select-border-color: var(--ds-basic-color-status-error, #e31f26);--ds-auro-select-outline-color: var(--ds-basic-color-status-error, #e31f26);--ds-auro-dropdown-helptext-text-color: var(--ds-basic-color-texticon-default, #2a2a2a)}:host([ondark]:is([validity]:not([validity=valid]))) [auro-dropdown],:host([appearance=inverse]:is([validity]:not([validity=valid]))) [auro-dropdown]{--ds-auro-select-border-color: var(--ds-advanced-color-state-error-inverse, #f9a4a8);--ds-auro-select-outline-color: var(--ds-advanced-color-state-error-inverse, #f9a4a8);--ds-auro-dropdown-helptext-text-color: var(--ds-basic-color-texticon-inverse, #ffffff)}#slotHolder{display:none}:host([fluid]){width:100%}:host([disabled]){pointer-events:none;user-select:none}:host([disabled]:not([ondark])) [auro-dropdown],:host([disabled]:not([appearance=inverse])) [auro-dropdown]{--ds-auro-select-border-color: var(--ds-basic-color-border-subtle, #dddddd)}:host(:not([layout*=classic])[disabled][ondark]) [auro-dropdown],:host(:not([layout*=classic])[disabled][appearance=inverse]) [auro-dropdown]{--ds-auro-select-border-color: transparent}`;
|
|
69695
72208
|
|