@aurodesignsystem-dev/auro-formkit 0.0.0-pr1477.2 → 0.0.0-pr1480.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|
@@ -1379,7 +1379,6 @@ class UtilitiesCalendarRender {
|
|
|
1379
1379
|
.max="${elem.max}"
|
|
1380
1380
|
?noRange="${elem.noRange}"
|
|
1381
1381
|
.monthFirst="${elem.monthFirst}"
|
|
1382
|
-
.hoveredDate="${elem.hoveredDate}"
|
|
1383
1382
|
.dateTo="${elem.dateTo}"
|
|
1384
1383
|
.dateFrom="${elem.dateFrom}"
|
|
1385
1384
|
.locale="${elem.locale}"
|
|
@@ -1411,49 +1410,6 @@ var snowflakeStyle = i$3`:host([layout*=snowflake]) [auro-input]{flex:1;text-ali
|
|
|
1411
1410
|
|
|
1412
1411
|
var snowflakeColors = i$3`:host([layout=snowflake]) [auro-dropdown]:not(:is([error],.hasFocus)){--ds-auro-dropdown-trigger-border-color: transparent}`;
|
|
1413
1412
|
|
|
1414
|
-
var styleCss$7 = i$3`.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:""}`;
|
|
1415
|
-
|
|
1416
|
-
var colorCss$7 = i$3`.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)}}`;
|
|
1417
|
-
|
|
1418
|
-
var styleCss$6 = i$3`: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%}`;
|
|
1419
|
-
|
|
1420
|
-
var colorCss$6 = i$3`: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)}`;
|
|
1421
|
-
|
|
1422
|
-
/******************************************************************************
|
|
1423
|
-
Copyright (c) Microsoft Corporation.
|
|
1424
|
-
|
|
1425
|
-
Permission to use, copy, modify, and/or distribute this software for any
|
|
1426
|
-
purpose with or without fee is hereby granted.
|
|
1427
|
-
|
|
1428
|
-
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
1429
|
-
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
1430
|
-
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
1431
|
-
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
1432
|
-
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
1433
|
-
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
1434
|
-
PERFORMANCE OF THIS SOFTWARE.
|
|
1435
|
-
***************************************************************************** */
|
|
1436
|
-
/* global Reflect, Promise, SuppressedError, Symbol, Iterator */
|
|
1437
|
-
|
|
1438
|
-
|
|
1439
|
-
function __decorate(decorators, target, key, desc) {
|
|
1440
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
1441
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
1442
|
-
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;
|
|
1443
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
1444
|
-
}
|
|
1445
|
-
|
|
1446
|
-
typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
|
|
1447
|
-
var e = new Error(message);
|
|
1448
|
-
return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
|
|
1449
|
-
};
|
|
1450
|
-
|
|
1451
|
-
/**
|
|
1452
|
-
* @license
|
|
1453
|
-
* Copyright 2017 Google LLC
|
|
1454
|
-
* SPDX-License-Identifier: BSD-3-Clause
|
|
1455
|
-
*/const o$4={attribute:true,type:String,converter:u$9,reflect:false,hasChanged:f$8},r$4=(t=o$4,e,r)=>{const{kind:n,metadata:i}=r;let s=globalThis.litPropertyMetadata.get(i);if(void 0===s&&globalThis.litPropertyMetadata.set(i,s=new Map),"setter"===n&&((t=Object.create(t)).wrapped=true),s.set(r.name,t),"accessor"===n){const{name:o}=r;return {set(r){const n=e.get.call(this);e.set.call(this,r),this.requestUpdate(o,n,t,true,r);},init(e){return void 0!==e&&this.C(o,void 0,t,e),e}}}if("setter"===n){const{name:o}=r;return function(r){const n=this[o];e.call(this,r),this.requestUpdate(o,n,t,true,r);}}throw Error("Unsupported decorator location: "+n)};function n$4(t){return (e,o)=>"object"==typeof o?r$4(t,e,o):((t,e,o)=>{const r=e.hasOwnProperty(o);return e.constructor.createProperty(o,t),r?Object.getOwnPropertyDescriptor(e,o):void 0})(t,e,o)}
|
|
1456
|
-
|
|
1457
1413
|
/**
|
|
1458
1414
|
* @module constants
|
|
1459
1415
|
* @summary Useful constants
|
|
@@ -7208,6 +7164,49 @@ function subYears(date, amount, options) {
|
|
|
7208
7164
|
return addYears(date, -1, options);
|
|
7209
7165
|
}
|
|
7210
7166
|
|
|
7167
|
+
var styleCss$7 = i$3`.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}`;
|
|
7168
|
+
|
|
7169
|
+
var colorCss$7 = i$3`.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)}}`;
|
|
7170
|
+
|
|
7171
|
+
var styleCss$6 = i$3`: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%}`;
|
|
7172
|
+
|
|
7173
|
+
var colorCss$6 = i$3`: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)}`;
|
|
7174
|
+
|
|
7175
|
+
/******************************************************************************
|
|
7176
|
+
Copyright (c) Microsoft Corporation.
|
|
7177
|
+
|
|
7178
|
+
Permission to use, copy, modify, and/or distribute this software for any
|
|
7179
|
+
purpose with or without fee is hereby granted.
|
|
7180
|
+
|
|
7181
|
+
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
7182
|
+
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
7183
|
+
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
7184
|
+
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
7185
|
+
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
7186
|
+
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
7187
|
+
PERFORMANCE OF THIS SOFTWARE.
|
|
7188
|
+
***************************************************************************** */
|
|
7189
|
+
/* global Reflect, Promise, SuppressedError, Symbol, Iterator */
|
|
7190
|
+
|
|
7191
|
+
|
|
7192
|
+
function __decorate(decorators, target, key, desc) {
|
|
7193
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
7194
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
7195
|
+
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;
|
|
7196
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7197
|
+
}
|
|
7198
|
+
|
|
7199
|
+
typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
|
|
7200
|
+
var e = new Error(message);
|
|
7201
|
+
return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
|
|
7202
|
+
};
|
|
7203
|
+
|
|
7204
|
+
/**
|
|
7205
|
+
* @license
|
|
7206
|
+
* Copyright 2017 Google LLC
|
|
7207
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
7208
|
+
*/const o$4={attribute:true,type:String,converter:u$9,reflect:false,hasChanged:f$8},r$4=(t=o$4,e,r)=>{const{kind:n,metadata:i}=r;let s=globalThis.litPropertyMetadata.get(i);if(void 0===s&&globalThis.litPropertyMetadata.set(i,s=new Map),"setter"===n&&((t=Object.create(t)).wrapped=true),s.set(r.name,t),"accessor"===n){const{name:o}=r;return {set(r){const n=e.get.call(this);e.set.call(this,r),this.requestUpdate(o,n,t,true,r);},init(e){return void 0!==e&&this.C(o,void 0,t,e),e}}}if("setter"===n){const{name:o}=r;return function(r){const n=this[o];e.call(this,r),this.requestUpdate(o,n,t,true,r);}}throw Error("Unsupported decorator location: "+n)};function n$4(t){return (e,o)=>"object"==typeof o?r$4(t,e,o):((t,e,o)=>{const r=e.hasOwnProperty(o);return e.constructor.createProperty(o,t),r?Object.getOwnPropertyDescriptor(e,o):void 0})(t,e,o)}
|
|
7209
|
+
|
|
7211
7210
|
class RangeDatepickerCell extends i$1 {
|
|
7212
7211
|
constructor() {
|
|
7213
7212
|
super(...arguments);
|
|
@@ -7930,20 +7929,25 @@ __decorate([n$4({ type: Array })], RangeDatepickerCalendar.prototype, "dayNamesO
|
|
|
7930
7929
|
__decorate([n$4({ type: Array })], RangeDatepickerCalendar.prototype, "daysOfMonth", void 0);
|
|
7931
7930
|
AuroLibraryRuntimeUtils$5.prototype.registerComponent('wc-range-datepicker-calendar', RangeDatepickerCalendar);
|
|
7932
7931
|
|
|
7933
|
-
var styleCss$5 = i$3`.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}}`;
|
|
7932
|
+
var styleCss$5 = i$3`.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}}`;
|
|
7934
7933
|
|
|
7935
|
-
var colorCss$5 = i$3`: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}`;
|
|
7934
|
+
var colorCss$5 = i$3`: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}`;
|
|
7936
7935
|
|
|
7937
|
-
let s$2 = 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$3="top",o$3="bottom",n$3="right",a="left",l$3="auto",c$5=[r$3,o$3,n$3,a],p$7="start",d$3="end",f$7="viewport",h$6="popper",m$7=c$5.reduce(function(e,t){return e.concat([t+"-"+p$7,t+"-"+d$3])},[]),u$8=[].concat(c$5,[l$3]).reduce(function(e,t){return e.concat([t,t+"-"+p$7,t+"-"+d$3])},[]),g$6=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"];function v$4(e){return e?(e.nodeName||"").toLowerCase():null}function y$6(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(e){return e instanceof y$6(e).Element||e instanceof Element}function b$3(e){return e instanceof y$6(e).HTMLElement||e instanceof HTMLElement}function x$3(e){return "undefined"!=typeof ShadowRoot&&(e instanceof y$6(e).ShadowRoot||e instanceof ShadowRoot)}var S$3={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(r)&&v$4(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(s)&&v$4(s)&&(Object.assign(s.style,o),Object.keys(r).forEach(function(e){s.removeAttribute(e);}));});}},requires:["computeStyles"]};function _$4(e){return e.split("-")[0]}var O=Math.max,k$6=Math.min,A$3=Math.round;function z$6(){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())}function M$7(e,t,i){ void 0===t&&(t=false),void 0===i&&(i=false);var s=e.getBoundingClientRect(),r=1,o=1;t&&b$3(e)&&(r=e.offsetWidth>0&&A$3(s.width)/e.offsetWidth||1,o=e.offsetHeight>0&&A$3(s.height)/e.offsetHeight||1);var n=(w$6(e)?y$6(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(e){var t=M$7(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(e,t){var i=t.getRootNode&&t.getRootNode();if(e.contains(t))return true;if(i&&x$3(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(e).getComputedStyle(e)}function H$3(e){return ["table","td","th"].indexOf(v$4(e))>=0}function C$3(e){return ((w$6(e)?e.ownerDocument:e.document)||window.document).documentElement}function R$3(e){return "html"===v$4(e)?e:e.assignedSlot||e.parentNode||(x$3(e)?e.host:null)||C$3(e)}function j(e){return b$3(e)&&"fixed"!==L(e).position?e.offsetParent:null}function N$3(e){for(var t=y$6(e),i=j(e);i&&H$3(i)&&"static"===L(i).position;)i=j(i);return i&&("html"===v$4(i)||"body"===v$4(i)&&"static"===L(i).position)?t:i||function(e){var t=/firefox/i.test(z$6());if(/Trident/i.test(z$6())&&b$3(e)&&"fixed"===L(e).position)return null;var i=R$3(e);for(x$3(i)&&(i=i.host);b$3(i)&&["html","body"].indexOf(v$4(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(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={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(i.placement),h=P(f),m=[a,n$3].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$5))}(l.padding,i),g=T$3(p),v="y"===h?r$3:a,y="y"===h?o$3:n$3,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(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(t.elements.popper,s)&&(t.elements.arrow=s);},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function q$3(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$3,E=window;if(m){var M=N$3(i),T="clientHeight",B="clientWidth";if(M===y$6(i)&&"static"!==L(M=C$3(i)).position&&"absolute"===f&&(T="scrollHeight",B="scrollWidth"),l===r$3||(l===a||l===n$3)&&c===d$3)z=o$3,x-=(g&&M===E&&E.visualViewport?E.visualViewport.height:M[T])-s.height,x*=h?1:-1;if(l===a||(l===r$3||l===o$3)&&c===d$3)k=n$3,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(i*r)/r||0,y:A$3(s*r)/r||0}}({x:w,y:x},y$6(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(e);return {scrollLeft:t.pageXOffset,scrollTop:t.pageYOffset}}function Q(e){return M$7(C$3(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$4(e))>=0?e.ownerDocument.body:b$3(e)&&Z(e)?e:ee(R$3(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(s),n=r?[o].concat(o.visualViewport||[],Z(s)?s:[]):s,a=t.concat(n);return r?a:a.concat(te(R$3(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$7?ie(function(e,t){var i=y$6(e),s=C$3(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(t)?function(e,t){var i=M$7(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(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(e)))}function re(e,t,i,s){var r="clippingParents"===t?function(e){var t=te(R$3(e)),i=["absolute","fixed"].indexOf(L(e).position)>=0&&b$3(e)?N$3(e):e;return w$6(i)?t.filter(function(e){return w$6(e)&&B$3(e,i)&&"body"!==v$4(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(r.right,t.right),t.bottom=k$6(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(l):null,f=l?q$3(l):null,h=i.x+i.width/2-s.width/2,m=i.y+i.height/2-s.height/2;switch(c){case r$3:t={x:h,y:i.y-s.height};break;case o$3:t={x:h,y:i.y+i.height};break;case n$3: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$7:t[u]=t[u]-(i[g]/2-s[g]/2);break;case d$3: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$7:u,v=i.elementContext,y=void 0===v?h$6:v,b=i.altBoundary,x=void 0!==b&&b,S=i.padding,_=void 0===S?0:S,O=I("number"!=typeof _?_:F(_,c$5)),k=y===h$6?"reference":h$6,A=e.rects.popper,z=e.elements[x?k:y],E=re(w$6(z)?z:z.contextElement||C$3(e.elements.popper),m,g,p),T=M$7(e.elements.reference),B=oe({reference:T,element:A,placement:a}),L=ie(Object.assign({},A,B)),H=y===h$6?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$6&&j){var N=j[a];Object.keys(R).forEach(function(e){var t=[n$3,o$3].indexOf(e)>=0?1:-1,i=[r$3,o$3].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$8:l,d=q$3(s),f=d?a?m$7:m$7.filter(function(e){return q$3(e)===d}):c$5,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(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(S),k=m||(O===S||!b?[$(S)]:function(e){if(_$4(e)===l$3)return [];var t=$(e);return [Y(e),t,Y(t)]}(S)),A=[S].concat(k).reduce(function(e,i){return e.concat(_$4(i)===l$3?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(H),R=q$3(H)===p$7,j=[r$3,o$3].indexOf(C)>=0,N=j?"width":"height",P=ne(t,{placement:H,boundary:g,rootBoundary:v,altBoundary:y,padding:u}),D=j?R?n$3:a:R?o$3:r$3;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$3,n$3,o$3,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$8.reduce(function(e,i){return e[i]=function(e,t,i){var s=_$4(e),o=[a,r$3].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$3].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(t.placement),A=q$3(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$3:a,W="y"===E?o$3:n$3,X="y"===E?"height":"width",V=B[E],G=V+x[U],$=V-x[W],K=y?-H[X]/2:0,Y=A===p$7?L[X]:H[X],J=A===p$7?-H[X]:-L[X],Q=t.elements.arrow,Z=y&&Q?T$3(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(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(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$3:a,me="x"===E?o$3:n$3,ue=B[M],ge="y"===M?"height":"width",ve=ue+x[he],ye=ue-x[me],we=-1!==[r$3,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(t),n=b$3(t)&&function(e){var t=e.getBoundingClientRect(),i=A$3(t.width)/e.offsetWidth||1,s=A$3(t.height)/e.offsetHeight||1;return 1!==i||1!==s}(t),a=C$3(t),l=M$7(e,n,i),c={scrollLeft:0,scrollTop:0},p={x:0,y:0};return (o||!o&&!i)&&(("body"!==v$4(t)||Z(a))&&(c=(s=t)!==y$6(s)&&b$3(s)?{scrollLeft:(r=s).scrollLeft,scrollTop:r.scrollTop}:J(s)),b$3(t)?((p=M$7(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(e)?te(e):e.contextElement?te(e.contextElement):[],popper:te(t)};var n,c,f=function(e){var t=me(e);return g$6.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(i),"fixed"===a.options.strategy),popper:T$3(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(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(t.placement),variation:q$3(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,de,le,fe,U$3,{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$3`::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)}
|
|
7936
|
+
let s$2 = 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$3="top",o$3="bottom",n$3="right",a="left",l$3="auto",c$5=[r$3,o$3,n$3,a],p$7="start",d$3="end",f$7="viewport",h$6="popper",u$8=c$5.reduce(function(e,t){return e.concat([t+"-"+p$7,t+"-"+d$3])},[]),m$7=[].concat(c$5,[l$3]).reduce(function(e,t){return e.concat([t,t+"-"+p$7,t+"-"+d$3])},[]),g$6=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"];function v$4(e){return e?(e.nodeName||"").toLowerCase():null}function y$6(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(e){return e instanceof y$6(e).Element||e instanceof Element}function b$3(e){return e instanceof y$6(e).HTMLElement||e instanceof HTMLElement}function x$3(e){return "undefined"!=typeof ShadowRoot&&(e instanceof y$6(e).ShadowRoot||e instanceof ShadowRoot)}var S$3={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(r)&&v$4(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(s)&&v$4(s)&&(Object.assign(s.style,o),Object.keys(r).forEach(function(e){s.removeAttribute(e);}));});}},requires:["computeStyles"]};function _$4(e){return e.split("-")[0]}var A$3=Math.max,O=Math.min,k$6=Math.round;function T$3(){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(){return !/^((?!chrome|android).)*safari/i.test(T$3())}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(e)&&(r=e.offsetWidth>0&&k$6(s.width)/e.offsetWidth||1,o=e.offsetHeight>0&&k$6(s.height)/e.offsetHeight||1);var n=(w$6(e)?y$6(e):window).visualViewport,a=!z$6()&&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$7(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(e,t){var i=t.getRootNode&&t.getRootNode();if(e.contains(t))return true;if(i&&x$3(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(e).getComputedStyle(e)}function R$3(e){return ["table","td","th"].indexOf(v$4(e))>=0}function H$3(e){return ((w$6(e)?e.ownerDocument:e.document)||window.document).documentElement}function C$3(e){return "html"===v$4(e)?e:e.assignedSlot||e.parentNode||(x$3(e)?e.host:null)||H$3(e)}function D(e){return b$3(e)&&"fixed"!==L(e).position?e.offsetParent:null}function N$3(e){for(var t=y$6(e),i=D(e);i&&R$3(i)&&"static"===L(i).position;)i=D(i);return i&&("html"===v$4(i)||"body"===v$4(i)&&"static"===L(i).position)?t:i||function(e){var t=/firefox/i.test(T$3());if(/Trident/i.test(T$3())&&b$3(e)&&"fixed"===L(e).position)return null;var i=C$3(e);for(x$3(i)&&(i=i.host);b$3(i)&&["html","body"].indexOf(v$4(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(e,O(t,i))}function I(e){return Object.assign({},{top:0,right:0,bottom:0,left:0},e)}function q$3(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(i.placement),h=P(f),u=[a,n$3].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(e,c$5))}(l.padding,i),g=M$7(p),v="y"===h?r$3:a,y="y"===h?o$3:n$3,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(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(t.elements.popper,s)&&(t.elements.arrow=s);},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function U$3(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$3,z=window;if(u){var E=N$3(i),M="clientHeight",B="clientWidth";if(E===y$6(i)&&"static"!==L(E=H$3(i)).position&&"absolute"===f&&(M="scrollHeight",B="scrollWidth"),l===r$3||(l===a||l===n$3)&&c===d$3)T=o$3,x-=(g&&E===z&&z.visualViewport?z.visualViewport.height:E[M])-s.height,x*=h?1:-1;if(l===a||(l===r$3||l===o$3)&&c===d$3)O=n$3,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(i*r)/r||0,y:k$6(s*r)/r||0}}({x:w,y:x},y$6(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(e);return {scrollLeft:t.pageXOffset,scrollTop:t.pageYOffset}}function Q(e){return E(H$3(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$4(e))>=0?e.ownerDocument.body:b$3(e)&&Z(e)?e:ee(C$3(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(s),n=r?[o].concat(o.visualViewport||[],Z(s)?s:[]):s,a=t.concat(n);return r?a:a.concat(te(C$3(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$7?ie(function(e,t){var i=y$6(e),s=H$3(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();(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(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(e),s=J(e),r=null==(t=e.ownerDocument)?void 0:t.body,o=A$3(i.scrollWidth,i.clientWidth,r?r.scrollWidth:0,r?r.clientWidth:0),n=A$3(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(i.clientWidth,r?r.clientWidth:0)-o),{width:o,height:n,x:a,y:l}}(H$3(e)))}function re(e,t,i,s){var r="clippingParents"===t?function(e){var t=te(C$3(e)),i=["absolute","fixed"].indexOf(L(e).position)>=0&&b$3(e)?N$3(e):e;return w$6(i)?t.filter(function(e){return w$6(e)&&B$3(e,i)&&"body"!==v$4(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(r.top,t.top),t.right=O(r.right,t.right),t.bottom=O(r.bottom,t.bottom),t.left=A$3(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(l):null,f=l?U$3(l):null,h=i.x+i.width/2-s.width/2,u=i.y+i.height/2-s.height/2;switch(c){case r$3:t={x:h,y:i.y-s.height};break;case o$3:t={x:h,y:i.y+i.height};break;case n$3: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$7:t[m]=t[m]-(i[g]/2-s[g]/2);break;case d$3: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$7:m,v=i.elementContext,y=void 0===v?h$6:v,b=i.altBoundary,x=void 0!==b&&b,S=i.padding,_=void 0===S?0:S,A=I("number"!=typeof _?_:q$3(_,c$5)),O=y===h$6?"reference":h$6,k=e.rects.popper,T=e.elements[x?O:y],z=re(w$6(T)?T:T.contextElement||H$3(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$6?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$6&&D){var N=D[a];Object.keys(C).forEach(function(e){var t=[n$3,o$3].indexOf(e)>=0?1:-1,i=[r$3,o$3].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$7:l,d=U$3(s),f=d?a?u$8:u$8.filter(function(e){return U$3(e)===d}):c$5,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(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(S),O=u||(A===S||!b?[G(S)]:function(e){if(_$4(e)===l$3)return [];var t=G(e);return [Y(e),t,Y(t)]}(S)),k=[S].concat(O).reduce(function(e,i){return e.concat(_$4(i)===l$3?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(R),C=U$3(R)===p$7,D=[r$3,o$3].indexOf(H)>=0,N=D?"width":"height",P=ne(t,{placement:R,boundary:g,rootBoundary:v,altBoundary:y,padding:m}),j=D?C?n$3:a:C?o$3:r$3;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$3,n$3,o$3,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$7.reduce(function(e,i){return e[i]=function(e,t,i){var s=_$4(e),o=[a,r$3].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$3].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(t.placement),k=U$3(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$3:a,V="y"===z?o$3:n$3,W="y"===z?"height":"width",X=B[z],$=X+x[F],G=X-x[V],K=y?-R[W]/2:0,Y=k===p$7?L[W]:R[W],J=k===p$7?-R[W]:-L[W],Q=t.elements.arrow,Z=y&&Q?M$7(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(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(G,pe):G);B[z]=de,I[z]=de-X;}if(f){var fe,he="x"===z?r$3:a,ue="x"===z?o$3:n$3,me=B[E],ge="y"===E?"height":"width",ve=me+x[he],ye=me-x[ue],we=-1!==[r$3,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(t),n=b$3(t)&&function(e){var t=e.getBoundingClientRect(),i=k$6(t.width)/e.offsetWidth||1,s=k$6(t.height)/e.offsetHeight||1;return 1!==i||1!==s}(t),a=H$3(t),l=E(e,n,i),c={scrollLeft:0,scrollTop:0},p={x:0,y:0};return (o||!o&&!i)&&(("body"!==v$4(t)||Z(a))&&(c=(s=t)!==y$6(s)&&b$3(s)?{scrollLeft:(r=s).scrollLeft,scrollTop:r.scrollTop}:J(s)),b$3(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(e)?te(e):e.contextElement?te(e.contextElement):[],popper:te(t)};var n,c,f=function(e){var t=ue(e);return g$6.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(i),"fixed"===a.options.strategy),popper:M$7(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(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(t.placement),variation:U$3(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,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$3`::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)}
|
|
7938
7937
|
`,xe=i$3`.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:""}
|
|
7939
7938
|
`,Se=i$3`: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)}
|
|
7940
|
-
`;class _e extends i$1{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.
|
|
7941
|
-
<div
|
|
7939
|
+
`;class _e extends i$1{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$2;}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$3`${xe}`,i$3`${be}`,i$3`${Se}`]}static register(e="auro-popover"){s$2.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$5`
|
|
7940
|
+
<div
|
|
7941
|
+
id="popover"
|
|
7942
|
+
class="popover util_insetLg body-default"
|
|
7943
|
+
part="popover"
|
|
7944
|
+
role="tooltip"
|
|
7945
|
+
aria-hidden="${this.isPopoverVisible?"false":"true"}">
|
|
7942
7946
|
<div id="arrow" class="arrow" data-popper-arrow></div>
|
|
7943
|
-
<
|
|
7947
|
+
<slot></slot>
|
|
7944
7948
|
</div>
|
|
7945
7949
|
|
|
7946
|
-
<span>
|
|
7950
|
+
<span role="presentation">
|
|
7947
7951
|
<slot name="trigger" data-trigger-placement="${this.placement}"></slot>
|
|
7948
7952
|
</span>
|
|
7949
7953
|
`}}
|
|
@@ -7958,7 +7962,6 @@ class AuroCalendarCell extends i$1 {
|
|
|
7958
7962
|
|
|
7959
7963
|
this.day = null;
|
|
7960
7964
|
this.selected = false;
|
|
7961
|
-
this.hovered = false;
|
|
7962
7965
|
this.dateTo = null;
|
|
7963
7966
|
this.dateFrom = null;
|
|
7964
7967
|
this.month = null;
|
|
@@ -7966,11 +7969,12 @@ class AuroCalendarCell extends i$1 {
|
|
|
7966
7969
|
this.max = null;
|
|
7967
7970
|
this.disabled = false;
|
|
7968
7971
|
this.disabledDays = [];
|
|
7969
|
-
this.hoveredDate = null;
|
|
7970
7972
|
this.isCurrentDate = false;
|
|
7971
7973
|
this._locale = null;
|
|
7972
7974
|
this.dateStr = null;
|
|
7973
7975
|
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.
|
|
7976
|
+
this.active = false;
|
|
7977
|
+
this.hasPopoverContent = false;
|
|
7974
7978
|
|
|
7975
7979
|
this.runtimeUtils = new AuroLibraryRuntimeUtils$5();
|
|
7976
7980
|
|
|
@@ -7989,7 +7993,6 @@ class AuroCalendarCell extends i$1 {
|
|
|
7989
7993
|
// ...super.properties,
|
|
7990
7994
|
day: { type: Object },
|
|
7991
7995
|
selected: { type: Boolean },
|
|
7992
|
-
hovered: { type: Boolean },
|
|
7993
7996
|
dateTo: { type: String },
|
|
7994
7997
|
dateFrom: { type: String },
|
|
7995
7998
|
month: { type: String },
|
|
@@ -8000,11 +8003,11 @@ class AuroCalendarCell extends i$1 {
|
|
|
8000
8003
|
reflect: true
|
|
8001
8004
|
},
|
|
8002
8005
|
disabledDays: { type: Array },
|
|
8003
|
-
hoveredDate: { type: String },
|
|
8004
8006
|
isCurrentDate: { type: Boolean },
|
|
8005
8007
|
locale: { type: Object },
|
|
8006
8008
|
dateStr: { type: String },
|
|
8007
|
-
renderForDateSlot: { type: Boolean }
|
|
8009
|
+
renderForDateSlot: { type: Boolean },
|
|
8010
|
+
hasPopoverContent: { type: Boolean }
|
|
8008
8011
|
};
|
|
8009
8012
|
}
|
|
8010
8013
|
|
|
@@ -8028,17 +8031,17 @@ class AuroCalendarCell extends i$1 {
|
|
|
8028
8031
|
}
|
|
8029
8032
|
|
|
8030
8033
|
/**
|
|
8031
|
-
* Handles selected
|
|
8034
|
+
* Handles selected state of the calendar cell when the selection changes.
|
|
8035
|
+
* Also clears any imperative range preview classes so classMap is the
|
|
8036
|
+
* sole source of truth after a selection update.
|
|
8032
8037
|
* @private
|
|
8033
8038
|
* @param {Number} dateFrom - Depart date.
|
|
8034
8039
|
* @param {Number} dateTo - Return date.
|
|
8035
|
-
* @param {Number} hoveredDate - Hovered date.
|
|
8036
8040
|
* @param {Object} day - An object containing the dateFrom and day of month values.
|
|
8037
8041
|
* @returns {void}
|
|
8038
8042
|
*/
|
|
8039
|
-
dateChanged(dateFrom, dateTo,
|
|
8043
|
+
dateChanged(dateFrom, dateTo, day) {
|
|
8040
8044
|
this.selected = false;
|
|
8041
|
-
this.hovered = false;
|
|
8042
8045
|
|
|
8043
8046
|
const parsedDateFrom = parseInt(dateFrom, 10);
|
|
8044
8047
|
const parsedDateTo = parseInt(dateTo, 10);
|
|
@@ -8050,10 +8053,6 @@ class AuroCalendarCell extends i$1 {
|
|
|
8050
8053
|
if (day.date === departTimestamp || day.date === returnTimestamp) {
|
|
8051
8054
|
this.selected = true;
|
|
8052
8055
|
}
|
|
8053
|
-
|
|
8054
|
-
if (((hoveredDate === day.date || day.date < hoveredDate) && day.date > parsedDateFrom && !parsedDateTo && !Number.isNaN(parsedDateFrom) && parsedDateFrom !== undefined && !this.selected) || (day.date > parsedDateFrom && day.date < parsedDateTo)) {
|
|
8055
|
-
this.hovered = true;
|
|
8056
|
-
}
|
|
8057
8056
|
}
|
|
8058
8057
|
}
|
|
8059
8058
|
|
|
@@ -8063,27 +8062,105 @@ class AuroCalendarCell extends i$1 {
|
|
|
8063
8062
|
* @returns {void}
|
|
8064
8063
|
*/
|
|
8065
8064
|
handleTap() {
|
|
8066
|
-
if (!this.disabled) {
|
|
8065
|
+
if (!this.disabled && !this.isBlackout()) {
|
|
8067
8066
|
this.datepicker.handleCellClick(this.day.date);
|
|
8068
8067
|
}
|
|
8068
|
+
|
|
8069
|
+
// Set this cell as the active cell regardless of blackout status
|
|
8070
|
+
if (this.day) {
|
|
8071
|
+
this.dispatchEvent(new CustomEvent('calendar-cell-activate', {
|
|
8072
|
+
bubbles: true,
|
|
8073
|
+
composed: true,
|
|
8074
|
+
detail: { date: this.day.date }
|
|
8075
|
+
}));
|
|
8076
|
+
}
|
|
8069
8077
|
}
|
|
8070
8078
|
|
|
8071
8079
|
/**
|
|
8072
8080
|
* Handles user hover events and dispatches a custom event.
|
|
8081
|
+
* Does NOT set any reactive properties — the range preview is handled
|
|
8082
|
+
* imperatively by the calendar component to avoid O(N) re-renders.
|
|
8073
8083
|
* @private
|
|
8074
8084
|
* @returns {void}
|
|
8075
8085
|
*/
|
|
8076
8086
|
handleHover() {
|
|
8077
|
-
this.hovered = true;
|
|
8078
|
-
|
|
8079
|
-
let _a;
|
|
8080
8087
|
this.dispatchEvent(new CustomEvent('date-is-hovered', {
|
|
8081
|
-
detail: { date:
|
|
8088
|
+
detail: { date: this.day?.date },
|
|
8089
|
+
}));
|
|
8090
|
+
}
|
|
8091
|
+
|
|
8092
|
+
/**
|
|
8093
|
+
* Handles focus events on the cell button.
|
|
8094
|
+
* Dispatches a lightweight event for the calendar to handle SR
|
|
8095
|
+
* announcements and range preview updates without triggering
|
|
8096
|
+
* any Lit lifecycle updates.
|
|
8097
|
+
* @private
|
|
8098
|
+
* @returns {void}
|
|
8099
|
+
*/
|
|
8100
|
+
handleFocus() {
|
|
8101
|
+
this.dispatchEvent(new CustomEvent('calendar-cell-focused', {
|
|
8102
|
+
bubbles: true,
|
|
8103
|
+
composed: true,
|
|
8104
|
+
detail: { date: this.day?.date },
|
|
8082
8105
|
}));
|
|
8083
8106
|
}
|
|
8084
8107
|
|
|
8085
8108
|
/**
|
|
8086
|
-
* Checks if the current date is
|
|
8109
|
+
* Checks if the current date is outside the valid min/max range.
|
|
8110
|
+
* Out-of-range cells are not focusable and are hidden from screen readers.
|
|
8111
|
+
* @private
|
|
8112
|
+
* @param {Object} day - An object containing the dateFrom and day of month values.
|
|
8113
|
+
* @param {Number} min - The minimum date value.
|
|
8114
|
+
* @param {Number} max - The maximum date value.
|
|
8115
|
+
* @returns {Boolean} - True if the date is out of range.
|
|
8116
|
+
*/
|
|
8117
|
+
isOutOfRange(day, min, max) {
|
|
8118
|
+
if (day && day.date != null) {
|
|
8119
|
+
return day.date < min || day.date > max;
|
|
8120
|
+
}
|
|
8121
|
+
return false;
|
|
8122
|
+
}
|
|
8123
|
+
|
|
8124
|
+
/**
|
|
8125
|
+
* Checks if the current date is a blackout date (in disabledDays but within range).
|
|
8126
|
+
* Blackout cells are focusable but not selectable.
|
|
8127
|
+
* @private
|
|
8128
|
+
* @returns {Boolean} - True if the date is a blackout date.
|
|
8129
|
+
*/
|
|
8130
|
+
isBlackout() {
|
|
8131
|
+
if (!this.day || this.day.date == null || this.isOutOfRange(this.day, this.min, this.max)) {
|
|
8132
|
+
return false;
|
|
8133
|
+
}
|
|
8134
|
+
|
|
8135
|
+
// Check against disabledDays timestamps (legacy path)
|
|
8136
|
+
if (Array.isArray(this.disabledDays) && this.disabledDays.length > 0) {
|
|
8137
|
+
if (this.disabledDays.findIndex(d => parseInt(d, 10) === this.day.date) !== -1) {
|
|
8138
|
+
return true;
|
|
8139
|
+
}
|
|
8140
|
+
}
|
|
8141
|
+
|
|
8142
|
+
// Check against blackoutDates (ISO format YYYY-MM-DD) on the datepicker
|
|
8143
|
+
const blackoutDates = this.datepicker?.blackoutDates;
|
|
8144
|
+
|
|
8145
|
+
if (Array.isArray(blackoutDates) && blackoutDates.length > 0) {
|
|
8146
|
+
const date = new Date(this.day.date * 1000);
|
|
8147
|
+
const yyyy = date.getFullYear();
|
|
8148
|
+
const mm = String(date.getMonth() + 1).padStart(2, '0');
|
|
8149
|
+
const dd = String(date.getDate()).padStart(2, '0');
|
|
8150
|
+
const cellDate = `${yyyy}-${mm}-${dd}`;
|
|
8151
|
+
if (blackoutDates.includes(cellDate)) {
|
|
8152
|
+
return true;
|
|
8153
|
+
}
|
|
8154
|
+
}
|
|
8155
|
+
|
|
8156
|
+
return false;
|
|
8157
|
+
}
|
|
8158
|
+
|
|
8159
|
+
/**
|
|
8160
|
+
* Checks if the current date is disabled based on min/max range or the
|
|
8161
|
+
* legacy disabledDays timestamp list. Sets the `disabled` attribute on the
|
|
8162
|
+
* host when the date falls outside the allowed range or appears in
|
|
8163
|
+
* disabledDays. Note: blackout dates are handled separately by `isBlackout()`.
|
|
8087
8164
|
* @private
|
|
8088
8165
|
* @param {Object} day - An object containing the dateFrom and day of month values.
|
|
8089
8166
|
* @param {Number} min - The minimum date value.
|
|
@@ -8103,6 +8180,105 @@ class AuroCalendarCell extends i$1 {
|
|
|
8103
8180
|
return false;
|
|
8104
8181
|
}
|
|
8105
8182
|
|
|
8183
|
+
/**
|
|
8184
|
+
* Generates a unique cell ID in the format cell-YYYY-MM-DD.
|
|
8185
|
+
* @private
|
|
8186
|
+
* @returns {String} The unique cell ID.
|
|
8187
|
+
*/
|
|
8188
|
+
getCellId() {
|
|
8189
|
+
if (!this.day || !this.day.date) return '';
|
|
8190
|
+
const date = new Date(this.day.date * 1000);
|
|
8191
|
+
const year = date.getFullYear();
|
|
8192
|
+
const month = String(date.getMonth() + 1).padStart(2, '0');
|
|
8193
|
+
const day = String(date.getDate()).padStart(2, '0');
|
|
8194
|
+
return `cell-${year}-${month}-${day}`;
|
|
8195
|
+
}
|
|
8196
|
+
|
|
8197
|
+
/**
|
|
8198
|
+
* Generates a localized aria-label for the cell button using Intl.DateTimeFormat.
|
|
8199
|
+
* Includes range position and blackout status.
|
|
8200
|
+
* @private
|
|
8201
|
+
* @returns {String} The aria-label string.
|
|
8202
|
+
*/
|
|
8203
|
+
getAriaLabel() {
|
|
8204
|
+
if (!this.day || this.day.date === undefined) return '';
|
|
8205
|
+
|
|
8206
|
+
const date = new Date(this.day.date * 1000);
|
|
8207
|
+
|
|
8208
|
+
// Generate localized full date string using the configured locale
|
|
8209
|
+
const localeCode = this.locale?.code || undefined;
|
|
8210
|
+
const dateFormatter = new Intl.DateTimeFormat(localeCode, {
|
|
8211
|
+
weekday: 'long',
|
|
8212
|
+
year: 'numeric',
|
|
8213
|
+
month: 'long',
|
|
8214
|
+
day: 'numeric'
|
|
8215
|
+
});
|
|
8216
|
+
|
|
8217
|
+
let label = dateFormatter.format(date);
|
|
8218
|
+
|
|
8219
|
+
// Append date slot content (e.g. prices) so it is announced with the date.
|
|
8220
|
+
if (this.renderForDateSlot) {
|
|
8221
|
+
const dateSlotEl = this.querySelector(`[slot="date_${this.dateStr}"]`);
|
|
8222
|
+
if (dateSlotEl) {
|
|
8223
|
+
const text = dateSlotEl.innerText?.trim();
|
|
8224
|
+
if (text) {
|
|
8225
|
+
label += `, ${text}`;
|
|
8226
|
+
}
|
|
8227
|
+
}
|
|
8228
|
+
}
|
|
8229
|
+
|
|
8230
|
+
// appending popover content here so that it gets read in a logical order with the other date content.
|
|
8231
|
+
if (this.hasPopoverContent) {
|
|
8232
|
+
const popoverEl = this.querySelector(`[slot="popover_${this.dateStr}"]`);
|
|
8233
|
+
if (popoverEl) {
|
|
8234
|
+
label += `, ${popoverEl.innerText.trim()}`;
|
|
8235
|
+
}
|
|
8236
|
+
}
|
|
8237
|
+
|
|
8238
|
+
// Append range position label for range datepickers
|
|
8239
|
+
const rangePosition = this.getRangePosition();
|
|
8240
|
+
if (rangePosition) {
|
|
8241
|
+
label += `, ${rangePosition}`;
|
|
8242
|
+
}
|
|
8243
|
+
|
|
8244
|
+
// Append blackout label for blackout cells
|
|
8245
|
+
if (this.isBlackout()) {
|
|
8246
|
+
label += `, ${this.datepicker?.blackoutLabel || 'unavailable'}`;
|
|
8247
|
+
}
|
|
8248
|
+
|
|
8249
|
+
return label;
|
|
8250
|
+
}
|
|
8251
|
+
|
|
8252
|
+
/**
|
|
8253
|
+
* Determines the range position of this cell relative to the current selection.
|
|
8254
|
+
* @private
|
|
8255
|
+
* @returns {String|null} Range position label or null if not in range mode.
|
|
8256
|
+
*/
|
|
8257
|
+
getRangePosition() {
|
|
8258
|
+
if (!this.datepicker || !this.datepicker.hasAttribute('range')) return null;
|
|
8259
|
+
|
|
8260
|
+
const parsedDateFrom = Number.parseInt(this.dateFrom, 10);
|
|
8261
|
+
if (!Number.isFinite(parsedDateFrom)) return null;
|
|
8262
|
+
|
|
8263
|
+
const departTimestamp = startOfDay(parsedDateFrom * 1000) / 1000;
|
|
8264
|
+
const dayDate = this.day.date;
|
|
8265
|
+
|
|
8266
|
+
const parsedDateTo = Number.parseInt(this.dateTo, 10);
|
|
8267
|
+
const hasDateTo = Number.isFinite(parsedDateTo);
|
|
8268
|
+
const returnTimestamp = hasDateTo ? startOfDay(parsedDateTo * 1000) / 1000 : null;
|
|
8269
|
+
|
|
8270
|
+
if (dayDate === departTimestamp) return this.datepicker.rangeLabelStart || 'range start';
|
|
8271
|
+
|
|
8272
|
+
if (hasDateTo && dayDate === returnTimestamp) return this.datepicker.rangeLabelEnd || 'range end';
|
|
8273
|
+
|
|
8274
|
+
if (dayDate < departTimestamp) return this.datepicker.rangeLabelBeforeRange || 'before range';
|
|
8275
|
+
|
|
8276
|
+
if (hasDateTo && dayDate > departTimestamp && dayDate < returnTimestamp) return this.datepicker.rangeLabelInRange || 'in range';
|
|
8277
|
+
|
|
8278
|
+
// After start date, no end date yet, or after end date
|
|
8279
|
+
return this.datepicker.rangeLabelAfterRange || 'after range';
|
|
8280
|
+
}
|
|
8281
|
+
|
|
8106
8282
|
/**
|
|
8107
8283
|
* Checks if the current date is the depart date.
|
|
8108
8284
|
* @private
|
|
@@ -8264,9 +8440,9 @@ class AuroCalendarCell extends i$1 {
|
|
|
8264
8440
|
|
|
8265
8441
|
if (popoverSlotContent) {
|
|
8266
8442
|
this.appendChild(popoverSlotContent.cloneNode(true));
|
|
8267
|
-
this.
|
|
8443
|
+
this.hasPopoverContent = true;
|
|
8268
8444
|
} else {
|
|
8269
|
-
this.
|
|
8445
|
+
this.hasPopoverContent = false;
|
|
8270
8446
|
}
|
|
8271
8447
|
} catch (err) { // eslint-disable-line no-unused-vars
|
|
8272
8448
|
// Error handling goes here
|
|
@@ -8282,88 +8458,272 @@ class AuroCalendarCell extends i$1 {
|
|
|
8282
8458
|
return;
|
|
8283
8459
|
}
|
|
8284
8460
|
this.datepicker = calendar.datepicker;
|
|
8285
|
-
this.
|
|
8461
|
+
this._slotContentHandler = () => {
|
|
8286
8462
|
this.handleSlotContent();
|
|
8463
|
+
// Force re-render so isBlackout()/aria-disabled reflect updated blackoutDates.
|
|
8464
|
+
this.requestUpdate();
|
|
8465
|
+
};
|
|
8466
|
+
this.datepicker.addEventListener('auroDatePicker-newSlotContent', this._slotContentHandler);
|
|
8467
|
+
|
|
8468
|
+
// Cache button reference for imperative class manipulation.
|
|
8469
|
+
this.updateComplete.then(() => {
|
|
8470
|
+
this._cachedButton = this.shadowRoot.querySelector('button.day');
|
|
8287
8471
|
});
|
|
8288
8472
|
|
|
8473
|
+
// Trigger an initial update now that `this.datepicker` is assigned so
|
|
8474
|
+
// cells reflect blackout/slot state that was configured before first render.
|
|
8475
|
+
this.requestUpdate();
|
|
8476
|
+
|
|
8477
|
+
this.calendarMonth = calendarMonth;
|
|
8478
|
+
this.configurePopover();
|
|
8479
|
+
}
|
|
8480
|
+
|
|
8481
|
+
disconnectedCallback() {
|
|
8482
|
+
super.disconnectedCallback();
|
|
8483
|
+
if (this.datepicker && this._slotContentHandler) {
|
|
8484
|
+
this.datepicker.removeEventListener('auroDatePicker-newSlotContent', this._slotContentHandler);
|
|
8485
|
+
}
|
|
8486
|
+
}
|
|
8487
|
+
|
|
8488
|
+
/**
|
|
8489
|
+
* Configures the popover instance with the calendar month boundary.
|
|
8490
|
+
* Called from firstUpdated and updated because the popover element is only
|
|
8491
|
+
* rendered after hasPopoverContent becomes true (set by handleSlotContent).
|
|
8492
|
+
* @private
|
|
8493
|
+
* @returns {void}
|
|
8494
|
+
*/
|
|
8495
|
+
configurePopover() {
|
|
8289
8496
|
this.auroPopover = this.shadowRoot.querySelector(this.popoverTag._$litStatic$);
|
|
8290
8497
|
|
|
8291
|
-
this.auroPopover
|
|
8498
|
+
if (this.auroPopover && this.calendarMonth) {
|
|
8499
|
+
this.auroPopover.boundary = this.calendarMonth;
|
|
8500
|
+
}
|
|
8292
8501
|
}
|
|
8293
8502
|
|
|
8294
8503
|
updated(properties) {
|
|
8295
|
-
if (properties.has('dateFrom') || properties.has('dateTo') || properties.has('
|
|
8296
|
-
this.dateChanged(this.dateFrom, this.dateTo, this.
|
|
8504
|
+
if (properties.has('dateFrom') || properties.has('dateTo') || properties.has('day')) {
|
|
8505
|
+
this.dateChanged(this.dateFrom, this.dateTo, this.day);
|
|
8297
8506
|
}
|
|
8298
8507
|
|
|
8299
|
-
|
|
8300
|
-
|
|
8301
|
-
|
|
8508
|
+
if (properties.has('day') && this.day) {
|
|
8509
|
+
this.setDateSlotName();
|
|
8510
|
+
this.handleSlotContent();
|
|
8302
8511
|
|
|
8303
|
-
|
|
8304
|
-
|
|
8305
|
-
|
|
8306
|
-
|
|
8307
|
-
'currentDate': this.currentDate,
|
|
8308
|
-
'selected': this.selected,
|
|
8309
|
-
'inRange': this.hovered && this.isInRange(this.day, this.dateFrom, this.dateTo),
|
|
8310
|
-
'lastHoveredDate': this.isLastHoveredDate(this.day, this.dateFrom, this.dateTo, this.hoveredDate) && this.datepicker && this.datepicker.hasAttribute('range'),
|
|
8311
|
-
'disabled': this.isEnabled(this.day, this.min, this.max, this.disabledDays),
|
|
8312
|
-
'rangeDepartDate': this.isDepartDate(this.day, this.dateFrom) && (this.hoveredDate > this.dateFrom || this.dateTo),
|
|
8313
|
-
'rangeReturnDate': this.isReturnDate(this.day, this.dateFrom, this.dateTo),
|
|
8314
|
-
'reference': this.isReferenceDate(this.dateStr),
|
|
8315
|
-
'sameDateTrip': this.dateFrom === this.dateTo
|
|
8316
|
-
};
|
|
8512
|
+
// Re-cache button reference when the day changes (cell may have re-rendered).
|
|
8513
|
+
this.updateComplete.then(() => {
|
|
8514
|
+
this._cachedButton = this.shadowRoot.querySelector('button.day');
|
|
8515
|
+
});
|
|
8317
8516
|
|
|
8318
|
-
|
|
8319
|
-
|
|
8320
|
-
|
|
8321
|
-
|
|
8322
|
-
|
|
8323
|
-
|
|
8324
|
-
|
|
8325
|
-
|
|
8326
|
-
|
|
8327
|
-
|
|
8328
|
-
|
|
8329
|
-
|
|
8330
|
-
|
|
8331
|
-
<div class="buttonWrapper">
|
|
8332
|
-
<div class="currentDayMarker">${(_b = this.day) === null || _b === void 0 ? void 0 : _b.title}</div>
|
|
8333
|
-
<div class="dateSlot body-2xs" part="dateSlot">
|
|
8334
|
-
<slot name="date_${this.dateStr}"></slot>
|
|
8335
|
-
</div>
|
|
8336
|
-
</div>
|
|
8337
|
-
</button>
|
|
8338
|
-
</${this.popoverTag}>
|
|
8339
|
-
`;
|
|
8517
|
+
// Update host-level aria attributes for ariaActiveDescendantElement.
|
|
8518
|
+
this.updateHostAria();
|
|
8519
|
+
}
|
|
8520
|
+
|
|
8521
|
+
// Update host aria when selection changes (aria-selected, range labels)
|
|
8522
|
+
if (properties.has('dateFrom') || properties.has('dateTo') || properties.has('selected')) {
|
|
8523
|
+
this.updateHostAria();
|
|
8524
|
+
}
|
|
8525
|
+
|
|
8526
|
+
// Configure popover when it first becomes rendered
|
|
8527
|
+
if (properties.has('hasPopoverContent') && this.hasPopoverContent) {
|
|
8528
|
+
this.updateComplete.then(() => this.configurePopover());
|
|
8529
|
+
}
|
|
8340
8530
|
}
|
|
8341
|
-
}
|
|
8342
8531
|
|
|
8343
|
-
|
|
8344
|
-
|
|
8345
|
-
|
|
8532
|
+
/**
|
|
8533
|
+
* Updates ARIA attributes on the host element so that
|
|
8534
|
+
* ariaActiveDescendantElement can expose cell info to the SR.
|
|
8535
|
+
* @private
|
|
8536
|
+
* @returns {void}
|
|
8537
|
+
*/
|
|
8538
|
+
updateHostAria() {
|
|
8539
|
+
if (!this.day || this.day.date === undefined) return;
|
|
8346
8540
|
|
|
8347
|
-
|
|
8541
|
+
const outOfRange = this.isOutOfRange(this.day, this.min, this.max);
|
|
8542
|
+
if (outOfRange) {
|
|
8543
|
+
this.removeAttribute('role');
|
|
8544
|
+
this.removeAttribute('aria-label');
|
|
8545
|
+
return;
|
|
8546
|
+
}
|
|
8348
8547
|
|
|
8349
|
-
|
|
8548
|
+
// The host acts as the gridcell for ariaActiveDescendantElement.
|
|
8549
|
+
this.setAttribute('role', 'gridcell');
|
|
8550
|
+
this.setAttribute('aria-label', this.getAriaLabel());
|
|
8551
|
+
this.setAttribute('aria-selected', this.selected ? 'true' : 'false');
|
|
8350
8552
|
|
|
8351
|
-
|
|
8352
|
-
|
|
8353
|
-
|
|
8354
|
-
|
|
8355
|
-
|
|
8356
|
-
colorCss$6,
|
|
8357
|
-
tokensCss$4
|
|
8358
|
-
];
|
|
8553
|
+
if (this.isBlackout()) {
|
|
8554
|
+
this.setAttribute('aria-disabled', 'true');
|
|
8555
|
+
} else {
|
|
8556
|
+
this.removeAttribute('aria-disabled');
|
|
8557
|
+
}
|
|
8359
8558
|
}
|
|
8360
8559
|
|
|
8361
|
-
|
|
8362
|
-
|
|
8560
|
+
/**
|
|
8561
|
+
* Programmatically focuses the cell's interactive button element.
|
|
8562
|
+
* Uses focusVisible: true so the :focus-visible ring appears even when
|
|
8563
|
+
* the bib was opened via mouse click (which sets mouse input modality).
|
|
8564
|
+
* @returns {void}
|
|
8565
|
+
*/
|
|
8566
|
+
focusButton() {
|
|
8567
|
+
const button = this._cachedButton || this.shadowRoot.querySelector('button:not([aria-hidden])');
|
|
8568
|
+
if (button) {
|
|
8569
|
+
button.focus({ focusVisible: true });
|
|
8570
|
+
}
|
|
8571
|
+
}
|
|
8363
8572
|
|
|
8364
|
-
|
|
8365
|
-
|
|
8366
|
-
|
|
8573
|
+
/**
|
|
8574
|
+
* Imperatively marks this cell as active (tabindex="0") without
|
|
8575
|
+
* triggering a Lit re-render.
|
|
8576
|
+
* @returns {void}
|
|
8577
|
+
*/
|
|
8578
|
+
setActive() {
|
|
8579
|
+
this.active = true;
|
|
8580
|
+
const btn = this._cachedButton;
|
|
8581
|
+
if (btn) {
|
|
8582
|
+
btn.setAttribute('tabindex', '0');
|
|
8583
|
+
btn.classList.add('visualFocus');
|
|
8584
|
+
}
|
|
8585
|
+
}
|
|
8586
|
+
|
|
8587
|
+
/**
|
|
8588
|
+
* Imperatively marks this cell as inactive (tabindex="-1") without
|
|
8589
|
+
* triggering a Lit re-render.
|
|
8590
|
+
* @returns {void}
|
|
8591
|
+
*/
|
|
8592
|
+
clearActive() {
|
|
8593
|
+
this.active = false;
|
|
8594
|
+
const btn = this._cachedButton;
|
|
8595
|
+
if (btn) {
|
|
8596
|
+
btn.setAttribute('tabindex', '-1');
|
|
8597
|
+
btn.classList.remove('visualFocus');
|
|
8598
|
+
}
|
|
8599
|
+
}
|
|
8600
|
+
|
|
8601
|
+
/**
|
|
8602
|
+
* Updates range preview classes imperatively (no Lit re-render).
|
|
8603
|
+
* Called by the calendar component when the hovered date changes
|
|
8604
|
+
* during range selection (dateFrom set, dateTo not yet set).
|
|
8605
|
+
* @param {Number} hoveredDate - Unix timestamp of the currently hovered/focused date.
|
|
8606
|
+
* @param {Number} dateFrom - Unix timestamp of the selected departure date.
|
|
8607
|
+
* @returns {void}
|
|
8608
|
+
*/
|
|
8609
|
+
updateRangePreviewClasses(hoveredDate, dateFrom) {
|
|
8610
|
+
const btn = this._cachedButton;
|
|
8611
|
+
if (!btn || !this.day) return;
|
|
8612
|
+
|
|
8613
|
+
const dayDate = this.day.date;
|
|
8614
|
+
const departTimestamp = startOfDay(dateFrom * 1000) / 1000;
|
|
8615
|
+
const isInRange = dayDate > departTimestamp && dayDate < hoveredDate;
|
|
8616
|
+
const isLastHovered = dayDate === hoveredDate && hoveredDate > departTimestamp;
|
|
8617
|
+
const isDepartWithPreview = dayDate === departTimestamp && hoveredDate > departTimestamp;
|
|
8618
|
+
|
|
8619
|
+
btn.classList.toggle('inRange', isInRange);
|
|
8620
|
+
btn.classList.toggle('lastHoveredDate', isLastHovered);
|
|
8621
|
+
btn.classList.toggle('rangeDepartDate', isDepartWithPreview);
|
|
8622
|
+
}
|
|
8623
|
+
|
|
8624
|
+
/**
|
|
8625
|
+
* Clears all imperative range preview classes from the cell button.
|
|
8626
|
+
* Called when a selection occurs so classMap becomes the sole source of truth.
|
|
8627
|
+
* @returns {void}
|
|
8628
|
+
*/
|
|
8629
|
+
clearRangePreviewClasses() {
|
|
8630
|
+
const btn = this._cachedButton;
|
|
8631
|
+
if (!btn) return;
|
|
8632
|
+
|
|
8633
|
+
btn.classList.remove('inRange', 'lastHoveredDate', 'rangeDepartDate');
|
|
8634
|
+
}
|
|
8635
|
+
|
|
8636
|
+
renderCellButton() {
|
|
8637
|
+
const outOfRange = this.isOutOfRange(this.day, this.min, this.max);
|
|
8638
|
+
const role = outOfRange ? 'presentation' : 'gridcell';
|
|
8639
|
+
const blackout = this.isBlackout();
|
|
8640
|
+
|
|
8641
|
+
// Static and selection-driven classes only. Hover-driven classes
|
|
8642
|
+
// (inRange, lastHoveredDate, rangeDepartDate during preview) are
|
|
8643
|
+
// managed imperatively via updateRangePreviewClasses() to avoid
|
|
8644
|
+
// O(N) Lit re-renders on every focus/hover event.
|
|
8645
|
+
const buttonClasses = {
|
|
8646
|
+
'day': true,
|
|
8647
|
+
'body-lg': true,
|
|
8648
|
+
'currentDate': this.isCurrentDate,
|
|
8649
|
+
'selected': this.selected,
|
|
8650
|
+
'inRange': this.datepicker?.hasAttribute('range') && this.dateTo && this.isInRange(this.day, this.dateFrom, this.dateTo),
|
|
8651
|
+
'disabled': outOfRange,
|
|
8652
|
+
'blackout': blackout,
|
|
8653
|
+
'rangeDepartDate': this.datepicker?.hasAttribute('range') && this.isDepartDate(this.day, this.dateFrom) && this.dateTo,
|
|
8654
|
+
'rangeReturnDate': this.datepicker?.hasAttribute('range') && this.isReturnDate(this.day, this.dateFrom, this.dateTo),
|
|
8655
|
+
'reference': this.isReferenceDate(this.dateStr),
|
|
8656
|
+
'sameDateTrip': this.datepicker?.hasAttribute('range') && this.dateFrom === this.dateTo
|
|
8657
|
+
};
|
|
8658
|
+
|
|
8659
|
+
return u$a`
|
|
8660
|
+
<button
|
|
8661
|
+
slot="trigger"
|
|
8662
|
+
id="${this.getCellId()}"
|
|
8663
|
+
role="${role}"
|
|
8664
|
+
@click="${outOfRange ? undefined : this.handleTap}"
|
|
8665
|
+
@mouseover="${outOfRange ? undefined : this.handleHover}"
|
|
8666
|
+
@focus="${outOfRange ? undefined : this.handleFocus}"
|
|
8667
|
+
class="${e$4(buttonClasses)}"
|
|
8668
|
+
?disabled="${outOfRange}"
|
|
8669
|
+
aria-label="${this.getAriaLabel()}"
|
|
8670
|
+
aria-disabled="${blackout ? 'true' : A$4}"
|
|
8671
|
+
aria-hidden="${outOfRange ? 'true' : A$4}"
|
|
8672
|
+
aria-selected="${this.selected ? 'true' : 'false'}"
|
|
8673
|
+
aria-current="${this.isCurrentDate ? 'date' : A$4}"
|
|
8674
|
+
tabindex="${this.active ? '0' : '-1'}">
|
|
8675
|
+
<div class="buttonWrapper" aria-hidden="true">
|
|
8676
|
+
<div class="currentDayMarker">${this.day?.title || A$4}</div>
|
|
8677
|
+
</div>
|
|
8678
|
+
<div class="dateSlot body-2xs" part="dateSlot" aria-hidden="true" ?hidden="${!this.renderForDateSlot}">
|
|
8679
|
+
<slot name="date_${this.dateStr}"></slot>
|
|
8680
|
+
</div>
|
|
8681
|
+
</button>
|
|
8682
|
+
`;
|
|
8683
|
+
}
|
|
8684
|
+
|
|
8685
|
+
render() {
|
|
8686
|
+
const hasPopoverContent = this.hasPopoverContent;
|
|
8687
|
+
|
|
8688
|
+
if (hasPopoverContent) {
|
|
8689
|
+
return u$a`
|
|
8690
|
+
<${this.popoverTag}>
|
|
8691
|
+
<span aria-hidden="true"><slot name="popover_${this.dateStr}"></slot></span>
|
|
8692
|
+
${this.renderCellButton()}
|
|
8693
|
+
</${this.popoverTag}>
|
|
8694
|
+
`;
|
|
8695
|
+
}
|
|
8696
|
+
|
|
8697
|
+
return u$a`
|
|
8698
|
+
${this.renderCellButton()}
|
|
8699
|
+
`;
|
|
8700
|
+
}
|
|
8701
|
+
}
|
|
8702
|
+
|
|
8703
|
+
if (!customElements.get('auro-formkit-calendar-cell')) {
|
|
8704
|
+
customElements.define('auro-formkit-calendar-cell', AuroCalendarCell);
|
|
8705
|
+
}
|
|
8706
|
+
|
|
8707
|
+
// See https://git.io/JJ6SJ for "How to document your components using JSDoc"
|
|
8708
|
+
|
|
8709
|
+
/* eslint-disable no-magic-numbers, dot-location */
|
|
8710
|
+
|
|
8711
|
+
class AuroCalendarMonth extends RangeDatepickerCalendar {
|
|
8712
|
+
static get styles() {
|
|
8713
|
+
return [
|
|
8714
|
+
// ...super.styles,
|
|
8715
|
+
styleCss$6,
|
|
8716
|
+
colorCss$6,
|
|
8717
|
+
tokensCss$4
|
|
8718
|
+
];
|
|
8719
|
+
}
|
|
8720
|
+
|
|
8721
|
+
static get properties() {
|
|
8722
|
+
return {
|
|
8723
|
+
|
|
8724
|
+
/**
|
|
8725
|
+
* @private
|
|
8726
|
+
*/
|
|
8367
8727
|
monthFirst: {
|
|
8368
8728
|
type: Boolean,
|
|
8369
8729
|
reflect: true
|
|
@@ -8403,16 +8763,28 @@ class AuroCalendarMonth extends RangeDatepickerCalendar {
|
|
|
8403
8763
|
return this.monthNames[month - 1];
|
|
8404
8764
|
}
|
|
8405
8765
|
|
|
8766
|
+
/**
|
|
8767
|
+
* Returns the unique heading ID for this month, used by aria-labelledby.
|
|
8768
|
+
* @private
|
|
8769
|
+
* @returns {String} The heading ID.
|
|
8770
|
+
*/
|
|
8771
|
+
getHeadingId() {
|
|
8772
|
+
return `month-heading-${this.month}-${this.year}`;
|
|
8773
|
+
}
|
|
8774
|
+
|
|
8406
8775
|
/**
|
|
8407
8776
|
* Determines the current month name based on locale.
|
|
8777
|
+
* Also builds parallel arrays of full day names for abbr attributes.
|
|
8408
8778
|
* This is a rewrite of the function used in the class RangeDatepickerCalendar and should not be removed from here.
|
|
8409
8779
|
* @private
|
|
8410
8780
|
* @returns {void}
|
|
8411
8781
|
*/
|
|
8412
8782
|
localeChanged() {
|
|
8413
8783
|
const dayNamesOfTheWeek = [];
|
|
8784
|
+
const dayFullNames = [];
|
|
8414
8785
|
for (let int = 0; int < 7; int += 1) {
|
|
8415
8786
|
dayNamesOfTheWeek.push(this.locale.localize.day(int, { width: 'narrow' }));
|
|
8787
|
+
dayFullNames.push(this.locale.localize.day(int, { width: 'long' }));
|
|
8416
8788
|
}
|
|
8417
8789
|
const firstDayOfWeek = this.locale.options.weekStartsOn
|
|
8418
8790
|
? this.locale.options.weekStartsOn
|
|
@@ -8423,6 +8795,139 @@ class AuroCalendarMonth extends RangeDatepickerCalendar {
|
|
|
8423
8795
|
.splice(firstDayOfWeek, dayNamesOfTheWeek.length)
|
|
8424
8796
|
.concat(tmp);
|
|
8425
8797
|
this.dayNamesOfTheWeek = newDayNamesOfTheWeek;
|
|
8798
|
+
|
|
8799
|
+
const tmpFull = dayFullNames.slice().splice(0, firstDayOfWeek);
|
|
8800
|
+
const newDayFullNames = dayFullNames
|
|
8801
|
+
.slice()
|
|
8802
|
+
.splice(firstDayOfWeek, dayFullNames.length)
|
|
8803
|
+
.concat(tmpFull);
|
|
8804
|
+
this.dayFullNames = newDayFullNames;
|
|
8805
|
+
}
|
|
8806
|
+
|
|
8807
|
+
/**
|
|
8808
|
+
* Renders a day-of-week header with abbr attribute for the full day name.
|
|
8809
|
+
* @private
|
|
8810
|
+
* @param {String} dayOfWeek - The short day name.
|
|
8811
|
+
* @param {Number} index - The index in the dayNamesOfTheWeek array.
|
|
8812
|
+
* @returns {Object} The header HTML.
|
|
8813
|
+
*/
|
|
8814
|
+
renderDayOfWeek(dayOfWeek, index) {
|
|
8815
|
+
const fullName = this.dayFullNames ? this.dayFullNames[index] : dayOfWeek;
|
|
8816
|
+
return b$5`<div class="th body-default" role="columnheader"><abbr title="${fullName}">${dayOfWeek}</abbr></div>`;
|
|
8817
|
+
}
|
|
8818
|
+
|
|
8819
|
+
/**
|
|
8820
|
+
* Returns all focusable cell elements (enabled + blackout, not out-of-range) in this month.
|
|
8821
|
+
* @returns {Array} Array of auro-formkit-calendar-cell elements.
|
|
8822
|
+
*/
|
|
8823
|
+
getFocusableCells() {
|
|
8824
|
+
const cells = Array.from(this.shadowRoot.querySelectorAll('auro-formkit-calendar-cell'));
|
|
8825
|
+
return cells.filter(cell => {
|
|
8826
|
+
if (!cell.day) return false;
|
|
8827
|
+
return !cell.isOutOfRange(cell.day, cell.min, cell.max);
|
|
8828
|
+
});
|
|
8829
|
+
}
|
|
8830
|
+
|
|
8831
|
+
/**
|
|
8832
|
+
* Overrides the base class handler to prevent setting `this.hoveredDate`
|
|
8833
|
+
* as a reactive property. Instead, just dispatches the event upward so
|
|
8834
|
+
* the calendar can handle range preview imperatively.
|
|
8835
|
+
* @private
|
|
8836
|
+
* @param {CustomEvent} event - The date-is-hovered event from a cell.
|
|
8837
|
+
* @returns {void}
|
|
8838
|
+
*/
|
|
8839
|
+
handleDateHovered(event) {
|
|
8840
|
+
this.dispatchEvent(new CustomEvent('hovered-date-changed', {
|
|
8841
|
+
detail: { value: event.detail.date },
|
|
8842
|
+
}));
|
|
8843
|
+
}
|
|
8844
|
+
|
|
8845
|
+
/**
|
|
8846
|
+
* Handles arrow key navigation within the month grid.
|
|
8847
|
+
* Dispatches a cross-month navigation event when the boundary is reached.
|
|
8848
|
+
* @private
|
|
8849
|
+
* @param {KeyboardEvent} event - The keyboard event.
|
|
8850
|
+
* @returns {void}
|
|
8851
|
+
*/
|
|
8852
|
+
handleGridKeyDown(event) {
|
|
8853
|
+
const { key } = event;
|
|
8854
|
+
const arrowKeys = ['ArrowRight', 'ArrowLeft', 'ArrowDown', 'ArrowUp'];
|
|
8855
|
+
|
|
8856
|
+
if (!arrowKeys.includes(key)) return;
|
|
8857
|
+
|
|
8858
|
+
event.preventDefault();
|
|
8859
|
+
|
|
8860
|
+
const focusableCells = this.getFocusableCells();
|
|
8861
|
+
if (focusableCells.length === 0) return;
|
|
8862
|
+
|
|
8863
|
+
// Find the currently active cell within this month
|
|
8864
|
+
const activeCell = focusableCells.find(cell => cell.active);
|
|
8865
|
+
if (!activeCell) return;
|
|
8866
|
+
|
|
8867
|
+
const activeIndex = focusableCells.indexOf(activeCell);
|
|
8868
|
+
let targetCell = null;
|
|
8869
|
+
|
|
8870
|
+
if (key === 'ArrowRight') {
|
|
8871
|
+
if (activeIndex < focusableCells.length - 1) {
|
|
8872
|
+
targetCell = focusableCells[activeIndex + 1];
|
|
8873
|
+
} else {
|
|
8874
|
+
// At end of month, request cross-month navigation
|
|
8875
|
+
this.dispatchEvent(new CustomEvent('calendar-month-boundary', {
|
|
8876
|
+
bubbles: true,
|
|
8877
|
+
composed: true,
|
|
8878
|
+
detail: { direction: 'next', fromDate: activeCell.day.date, key }
|
|
8879
|
+
}));
|
|
8880
|
+
return;
|
|
8881
|
+
}
|
|
8882
|
+
} else if (key === 'ArrowLeft') {
|
|
8883
|
+
if (activeIndex > 0) {
|
|
8884
|
+
targetCell = focusableCells[activeIndex - 1];
|
|
8885
|
+
} else {
|
|
8886
|
+
// At start of month, request cross-month navigation
|
|
8887
|
+
this.dispatchEvent(new CustomEvent('calendar-month-boundary', {
|
|
8888
|
+
bubbles: true,
|
|
8889
|
+
composed: true,
|
|
8890
|
+
detail: { direction: 'prev', fromDate: activeCell.day.date, key }
|
|
8891
|
+
}));
|
|
8892
|
+
return;
|
|
8893
|
+
}
|
|
8894
|
+
} else if (key === 'ArrowDown' || key === 'ArrowUp') {
|
|
8895
|
+
// Find the target day (same day-of-week, +/- 7 days)
|
|
8896
|
+
// Use Date arithmetic instead of fixed seconds to handle DST correctly
|
|
8897
|
+
const increment = key === 'ArrowDown' ? 7 : -7;
|
|
8898
|
+
const currentDate = new Date(activeCell.day.date * 1000);
|
|
8899
|
+
currentDate.setDate(currentDate.getDate() + increment);
|
|
8900
|
+
currentDate.setHours(0, 0, 0, 0);
|
|
8901
|
+
const targetDate = Math.floor(currentDate.getTime() / 1000);
|
|
8902
|
+
|
|
8903
|
+
// Look for the target date in this month's focusable cells
|
|
8904
|
+
targetCell = focusableCells.find(cell => cell.day.date === targetDate);
|
|
8905
|
+
|
|
8906
|
+
if (!targetCell) {
|
|
8907
|
+
// Target is in another month or all cells in that direction are disabled
|
|
8908
|
+
const direction = key === 'ArrowDown' ? 'next' : 'prev';
|
|
8909
|
+
this.dispatchEvent(new CustomEvent('calendar-month-boundary', {
|
|
8910
|
+
bubbles: true,
|
|
8911
|
+
composed: true,
|
|
8912
|
+
detail: { direction, fromDate: activeCell.day.date, key }
|
|
8913
|
+
}));
|
|
8914
|
+
return;
|
|
8915
|
+
}
|
|
8916
|
+
}
|
|
8917
|
+
|
|
8918
|
+
if (targetCell) {
|
|
8919
|
+
this.dispatchEvent(new CustomEvent('calendar-cell-activate', {
|
|
8920
|
+
bubbles: true,
|
|
8921
|
+
composed: true,
|
|
8922
|
+
detail: { date: targetCell.day.date }
|
|
8923
|
+
}));
|
|
8924
|
+
}
|
|
8925
|
+
}
|
|
8926
|
+
|
|
8927
|
+
renderWeek(week) {
|
|
8928
|
+
return b$5`
|
|
8929
|
+
<div class="tr" role="row">${week.map((day) => this.renderDay(day))}</div>
|
|
8930
|
+
`;
|
|
8426
8931
|
}
|
|
8427
8932
|
|
|
8428
8933
|
renderDay(day) {
|
|
@@ -8435,7 +8940,6 @@ class AuroCalendarMonth extends RangeDatepickerCalendar {
|
|
|
8435
8940
|
.min="${this.min}"
|
|
8436
8941
|
.max="${this.max}"
|
|
8437
8942
|
.month="${this.month}"
|
|
8438
|
-
.hoveredDate="${this.hoveredDate}"
|
|
8439
8943
|
.dateTo="${this.dateTo}"
|
|
8440
8944
|
.dateFrom="${this.dateFrom}"
|
|
8441
8945
|
.locale="${this.locale}"
|
|
@@ -8446,7 +8950,7 @@ class AuroCalendarMonth extends RangeDatepickerCalendar {
|
|
|
8446
8950
|
>
|
|
8447
8951
|
</auro-formkit-calendar-cell>
|
|
8448
8952
|
`
|
|
8449
|
-
:
|
|
8953
|
+
: b$5`<div aria-hidden="true" inert></div>`}
|
|
8450
8954
|
</div>
|
|
8451
8955
|
`;
|
|
8452
8956
|
}
|
|
@@ -8457,10 +8961,10 @@ class AuroCalendarMonth extends RangeDatepickerCalendar {
|
|
|
8457
8961
|
var _a, _b;
|
|
8458
8962
|
|
|
8459
8963
|
return b$5 `
|
|
8460
|
-
<div>
|
|
8964
|
+
<div aria-labelledby="${this.getHeadingId()}">
|
|
8461
8965
|
<div class="header">
|
|
8462
8966
|
${this.renderPrevButton()}
|
|
8463
|
-
<div class="headerTitle heading-xs">
|
|
8967
|
+
<div class="headerTitle heading-xs" id="${this.getHeadingId()}" aria-live="polite" aria-atomic="true">
|
|
8464
8968
|
${this.monthFirst ? b$5`
|
|
8465
8969
|
<div>${this.computeCurrentMonthName(this.month)}</div>
|
|
8466
8970
|
<div>${this.renderYear()}</div>
|
|
@@ -8472,13 +8976,13 @@ class AuroCalendarMonth extends RangeDatepickerCalendar {
|
|
|
8472
8976
|
${this.renderNextButton()}
|
|
8473
8977
|
</div>
|
|
8474
8978
|
|
|
8475
|
-
<div class="table">
|
|
8476
|
-
<div class="thead">
|
|
8477
|
-
<div class="tr">
|
|
8478
|
-
${(_a = this.dayNamesOfTheWeek) === null || _a === void 0 ? void 0 : _a.map(dayNameOfWeek => this.renderDayOfWeek(dayNameOfWeek))}
|
|
8979
|
+
<div class="table" role="grid" aria-labelledby="${this.getHeadingId()}" @keydown="${this.handleGridKeyDown}">
|
|
8980
|
+
<div class="thead" role="rowgroup">
|
|
8981
|
+
<div class="tr" role="row">
|
|
8982
|
+
${(_a = this.dayNamesOfTheWeek) === null || _a === void 0 ? void 0 : _a.map((dayNameOfWeek, index) => this.renderDayOfWeek(dayNameOfWeek, index))}
|
|
8479
8983
|
</div>
|
|
8480
8984
|
</div>
|
|
8481
|
-
<div class="tbody">
|
|
8985
|
+
<div class="tbody" role="rowgroup">
|
|
8482
8986
|
${(_b = this.daysOfMonth) === null || _b === void 0 ? void 0 : _b.map(week => this.renderWeek(week))}
|
|
8483
8987
|
</div>
|
|
8484
8988
|
</div>
|
|
@@ -9177,6 +9681,14 @@ class AuroBibtemplate extends i$1 {
|
|
|
9177
9681
|
large: {
|
|
9178
9682
|
type: Boolean,
|
|
9179
9683
|
reflect: true
|
|
9684
|
+
},
|
|
9685
|
+
|
|
9686
|
+
/**
|
|
9687
|
+
* If declared, the footer slot will be rendered even when not in fullscreen mode.
|
|
9688
|
+
*/
|
|
9689
|
+
showFooter: {
|
|
9690
|
+
type: Boolean,
|
|
9691
|
+
reflect: true
|
|
9180
9692
|
}
|
|
9181
9693
|
};
|
|
9182
9694
|
}
|
|
@@ -9279,7 +9791,7 @@ class AuroBibtemplate extends i$1 {
|
|
|
9279
9791
|
<slot></slot>
|
|
9280
9792
|
</div>
|
|
9281
9793
|
|
|
9282
|
-
${this.isFullscreen ? u$a`
|
|
9794
|
+
${this.isFullscreen || this.showFooter ? u$a`
|
|
9283
9795
|
<div id="footerContainer">
|
|
9284
9796
|
<slot name="footer"></slot>
|
|
9285
9797
|
</div>` : null}
|
|
@@ -9288,7 +9800,7 @@ class AuroBibtemplate extends i$1 {
|
|
|
9288
9800
|
}
|
|
9289
9801
|
}
|
|
9290
9802
|
|
|
9291
|
-
var formkitVersion$2 = '
|
|
9803
|
+
var formkitVersion$2 = '202605210248';
|
|
9292
9804
|
|
|
9293
9805
|
let l$1 = class l{generateElementName(t,e){let o=t;return o+="-",o+=e.replace(/[.]/g,"_"),o}generateTag(o,s,a){const r=this.generateElementName(o,s),i=i$5`${s$5(r)}`;return customElements.get(r)||customElements.define(r,class extends a{}),i}};let d$1 = 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$4 = 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$3=i$3`: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}
|
|
9294
9806
|
`,u$6=i$3`.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}}
|
|
@@ -9386,6 +9898,13 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
9386
9898
|
this.largeFullscreenHeadline = false;
|
|
9387
9899
|
this.isFullscreen = false;
|
|
9388
9900
|
|
|
9901
|
+
/**
|
|
9902
|
+
* The date of the currently active cell (Unix timestamp).
|
|
9903
|
+
* Only one cell across the entire calendar has tabindex="0" at a time.
|
|
9904
|
+
* @private
|
|
9905
|
+
*/
|
|
9906
|
+
this.activeCellDate = null;
|
|
9907
|
+
|
|
9389
9908
|
/**
|
|
9390
9909
|
* @private
|
|
9391
9910
|
*/
|
|
@@ -9551,6 +10070,8 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
9551
10070
|
*/
|
|
9552
10071
|
handlePrevMonth() {
|
|
9553
10072
|
this.utilCal.handleMonthChange(this, 'prev');
|
|
10073
|
+
this.updateActiveCellForVisibleMonth();
|
|
10074
|
+
this.announceMonthChange();
|
|
9554
10075
|
}
|
|
9555
10076
|
|
|
9556
10077
|
/**
|
|
@@ -9560,6 +10081,38 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
9560
10081
|
*/
|
|
9561
10082
|
handleNextMonth() {
|
|
9562
10083
|
this.utilCal.handleMonthChange(this, 'next');
|
|
10084
|
+
this.updateActiveCellForVisibleMonth();
|
|
10085
|
+
this.announceMonthChange();
|
|
10086
|
+
}
|
|
10087
|
+
|
|
10088
|
+
/**
|
|
10089
|
+
* Announces the current month and year via the live region after navigation.
|
|
10090
|
+
* @private
|
|
10091
|
+
* @returns {void}
|
|
10092
|
+
*/
|
|
10093
|
+
announceMonthChange() {
|
|
10094
|
+
const date = new Date(this.centralDate);
|
|
10095
|
+
const localeCode = this.locale?.code || undefined;
|
|
10096
|
+
const formatter = new Intl.DateTimeFormat(localeCode, { month: 'long', year: 'numeric' });
|
|
10097
|
+
this.announceSelection(formatter.format(date));
|
|
10098
|
+
}
|
|
10099
|
+
|
|
10100
|
+
/**
|
|
10101
|
+
* Recomputes and sets the active cell for the newly visible month after
|
|
10102
|
+
* month navigation. Without this, activeCellDate can point at a date in
|
|
10103
|
+
* the old month, leaving no tabindex="0" cell in the grid.
|
|
10104
|
+
* @private
|
|
10105
|
+
* @returns {void}
|
|
10106
|
+
*/
|
|
10107
|
+
updateActiveCellForVisibleMonth() {
|
|
10108
|
+
// Skip the dateFrom shortcut so the active cell lands in the newly
|
|
10109
|
+
// visible month rather than jumping back to the selected date's month.
|
|
10110
|
+
this.activeCellDate = this.computeActiveDate({ skipDateFrom: true });
|
|
10111
|
+
this.updateComplete.then(() => {
|
|
10112
|
+
if (this.activeCellDate != null) {
|
|
10113
|
+
this.setActiveCell(this.activeCellDate);
|
|
10114
|
+
}
|
|
10115
|
+
});
|
|
9563
10116
|
}
|
|
9564
10117
|
|
|
9565
10118
|
/**
|
|
@@ -9667,6 +10220,778 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
9667
10220
|
this.utilCal.scrollMonthIntoView(this, date, this.format);
|
|
9668
10221
|
}
|
|
9669
10222
|
|
|
10223
|
+
/**
|
|
10224
|
+
* Gets all rendered month components.
|
|
10225
|
+
* @private
|
|
10226
|
+
* @returns {Array} Array of auro-formkit-calendar-month elements.
|
|
10227
|
+
*/
|
|
10228
|
+
getMonthComponents() {
|
|
10229
|
+
return Array.from(this.shadowRoot.querySelectorAll('auro-formkit-calendar-month'));
|
|
10230
|
+
}
|
|
10231
|
+
|
|
10232
|
+
/**
|
|
10233
|
+
* Gets all focusable cells across all rendered months.
|
|
10234
|
+
* @private
|
|
10235
|
+
* @returns {Array} Array of auro-formkit-calendar-cell elements.
|
|
10236
|
+
*/
|
|
10237
|
+
getAllFocusableCells() {
|
|
10238
|
+
const months = this.getMonthComponents();
|
|
10239
|
+
let cells = [];
|
|
10240
|
+
months.forEach(month => {
|
|
10241
|
+
cells = cells.concat(month.getFocusableCells());
|
|
10242
|
+
});
|
|
10243
|
+
return cells;
|
|
10244
|
+
}
|
|
10245
|
+
|
|
10246
|
+
/**
|
|
10247
|
+
* Sets the active cell across all months. Only one cell has tabindex="0" at a time.
|
|
10248
|
+
* Uses imperative DOM manipulation — no Lit re-render triggered.
|
|
10249
|
+
* Also updates ariaActiveDescendantElement on the grid wrapper so
|
|
10250
|
+
* screen readers announce the active cell without moving DOM focus.
|
|
10251
|
+
* @param {Number} date - Unix timestamp of the cell to activate.
|
|
10252
|
+
* @returns {void}
|
|
10253
|
+
*/
|
|
10254
|
+
setActiveCell(date) {
|
|
10255
|
+
const allCells = this.getAllFocusableCells();
|
|
10256
|
+
|
|
10257
|
+
let newActiveCell = null;
|
|
10258
|
+
allCells.forEach(cell => {
|
|
10259
|
+
if (cell.day && cell.day.date === date) {
|
|
10260
|
+
cell.setActive();
|
|
10261
|
+
newActiveCell = cell;
|
|
10262
|
+
} else if (cell.active) {
|
|
10263
|
+
cell.clearActive();
|
|
10264
|
+
}
|
|
10265
|
+
});
|
|
10266
|
+
|
|
10267
|
+
this.activeCellDate = date;
|
|
10268
|
+
|
|
10269
|
+
// Update the proxy element that aria-activedescendant references.
|
|
10270
|
+
// The proxy lives in the same shadow root as the grid wrapper, so
|
|
10271
|
+
// string-based aria-activedescendant works reliably with all SRs.
|
|
10272
|
+
if (newActiveCell) {
|
|
10273
|
+
const proxy = this.shadowRoot.querySelector('#activeDescendantProxy');
|
|
10274
|
+
if (proxy) {
|
|
10275
|
+
proxy.setAttribute('aria-label', newActiveCell.getAriaLabel());
|
|
10276
|
+
proxy.setAttribute('aria-selected', newActiveCell.selected ? 'true' : 'false');
|
|
10277
|
+
if (newActiveCell.isCurrentDate) {
|
|
10278
|
+
proxy.setAttribute('aria-current', 'date');
|
|
10279
|
+
} else {
|
|
10280
|
+
proxy.removeAttribute('aria-current');
|
|
10281
|
+
}
|
|
10282
|
+
if (newActiveCell.isBlackout()) {
|
|
10283
|
+
proxy.setAttribute('aria-disabled', 'true');
|
|
10284
|
+
} else {
|
|
10285
|
+
proxy.removeAttribute('aria-disabled');
|
|
10286
|
+
}
|
|
10287
|
+
}
|
|
10288
|
+
}
|
|
10289
|
+
}
|
|
10290
|
+
|
|
10291
|
+
/**
|
|
10292
|
+
* Focuses the calendar grid wrapper and sets the active cell.
|
|
10293
|
+
* DOM focus stays on the grid wrapper; ariaActiveDescendantElement
|
|
10294
|
+
* tells the screen reader which cell is "active".
|
|
10295
|
+
* @returns {void}
|
|
10296
|
+
*/
|
|
10297
|
+
focusActiveCell() {
|
|
10298
|
+
if (this.activeCellDate != null) {
|
|
10299
|
+
this.setActiveCell(this.activeCellDate);
|
|
10300
|
+
}
|
|
10301
|
+
|
|
10302
|
+
const gridWrapper = this.shadowRoot.querySelector('#calendarGrid');
|
|
10303
|
+
if (gridWrapper) {
|
|
10304
|
+
gridWrapper.focus({ focusVisible: true });
|
|
10305
|
+
}
|
|
10306
|
+
}
|
|
10307
|
+
|
|
10308
|
+
/**
|
|
10309
|
+
* Computes the initial active date from data properties alone — no DOM required.
|
|
10310
|
+
* Priority:
|
|
10311
|
+
* 1. Selected date (dateFrom) if within range
|
|
10312
|
+
* 2. Today's date if not disabled (in-range and not blackout)
|
|
10313
|
+
* 3. First future non-disabled date (scans day-by-day from today up to 1 year)
|
|
10314
|
+
* 4. First previous non-disabled date (scans day-by-day from today up to 1 year)
|
|
10315
|
+
* 5. First enabled date in finite [min, max] range
|
|
10316
|
+
* 5b. First enabled date scanning forward from finite min (unbounded max)
|
|
10317
|
+
* 5c. First enabled date scanning backward from finite max (unbounded min)
|
|
10318
|
+
* 6. First in-range date (even if blackout) so focus can land somewhere
|
|
10319
|
+
* 7. undefined — no valid target
|
|
10320
|
+
*
|
|
10321
|
+
* @private
|
|
10322
|
+
* @param {Object} [options] - Optional settings.
|
|
10323
|
+
* @param {boolean} [options.skipDateFrom=false] - When true, skip the selected-date
|
|
10324
|
+
* shortcut (step 1). Used after month navigation so the active cell lands in the
|
|
10325
|
+
* newly visible month instead of jumping back to the selected date's month.
|
|
10326
|
+
* @returns {Number|undefined} Unix timestamp (seconds) of the date to activate, or undefined.
|
|
10327
|
+
*/
|
|
10328
|
+
computeActiveDate(options = {}) {
|
|
10329
|
+
const MAX_SCAN_DAYS = 366; // scan at most ~1 year in each direction
|
|
10330
|
+
|
|
10331
|
+
/**
|
|
10332
|
+
* Adds days to a timestamp using Date arithmetic to handle DST correctly.
|
|
10333
|
+
* Returns a local-midnight-aligned timestamp in seconds.
|
|
10334
|
+
*/
|
|
10335
|
+
const addDays = (ts, days) => {
|
|
10336
|
+
const d = new Date(ts * 1000);
|
|
10337
|
+
d.setDate(d.getDate() + days);
|
|
10338
|
+
d.setHours(0, 0, 0, 0);
|
|
10339
|
+
return Math.floor(d.getTime() / 1000);
|
|
10340
|
+
};
|
|
10341
|
+
|
|
10342
|
+
const rawMin = Number(this.min);
|
|
10343
|
+
const rawMax = Number(this.max);
|
|
10344
|
+
|
|
10345
|
+
// When min/max are NaN (no minDate/maxDate configured), treat as unbounded.
|
|
10346
|
+
const minTs = Number.isFinite(rawMin) ? rawMin : -Infinity;
|
|
10347
|
+
const maxTs = Number.isFinite(rawMax) ? rawMax : Infinity;
|
|
10348
|
+
|
|
10349
|
+
// Build a Set of blackout timestamps for O(1) lookup.
|
|
10350
|
+
const blackoutSet = new Set(
|
|
10351
|
+
(this.disabledDays || []).map(d => parseInt(d, 10))
|
|
10352
|
+
);
|
|
10353
|
+
|
|
10354
|
+
// Also include ISO-format blackoutDates from the datepicker if available.
|
|
10355
|
+
// Parse YYYY-MM-DD as local date to avoid UTC shift issues.
|
|
10356
|
+
const isoBlackouts = this.datepicker?.blackoutDates;
|
|
10357
|
+
if (Array.isArray(isoBlackouts)) {
|
|
10358
|
+
for (const isoStr of isoBlackouts) {
|
|
10359
|
+
const parts = isoStr.split('-');
|
|
10360
|
+
const ts = Math.floor(new Date(parseInt(parts[0], 10), parseInt(parts[1], 10) - 1, parseInt(parts[2], 10)).getTime() / 1000);
|
|
10361
|
+
if (Number.isFinite(ts)) blackoutSet.add(ts);
|
|
10362
|
+
}
|
|
10363
|
+
}
|
|
10364
|
+
|
|
10365
|
+
/**
|
|
10366
|
+
* A date (unix timestamp in seconds, midnight-aligned) is "enabled" when
|
|
10367
|
+
* it is within [min, max] AND not a blackout day.
|
|
10368
|
+
*/
|
|
10369
|
+
const isEnabled = (ts) => ts >= minTs && ts <= maxTs && !blackoutSet.has(ts);
|
|
10370
|
+
|
|
10371
|
+
/**
|
|
10372
|
+
* A date is "in range" (focusable in the grid) when it is within [min, max].
|
|
10373
|
+
* Blackout dates are focusable but not selectable.
|
|
10374
|
+
*/
|
|
10375
|
+
const isInRange = (ts) => ts >= minTs && ts <= maxTs;
|
|
10376
|
+
|
|
10377
|
+
// 1. Selected date — always valid target if within range (user chose it).
|
|
10378
|
+
// Skipped when called from month navigation so the active cell lands in
|
|
10379
|
+
// the newly visible month rather than the (possibly off-screen) selection.
|
|
10380
|
+
if (!options.skipDateFrom && this.dateFrom) {
|
|
10381
|
+
const parsedFrom = parseInt(this.dateFrom, 10);
|
|
10382
|
+
if (Number.isFinite(parsedFrom) && isInRange(parsedFrom)) return parsedFrom;
|
|
10383
|
+
}
|
|
10384
|
+
|
|
10385
|
+
// 2. Today's date (midnight-aligned) if enabled.
|
|
10386
|
+
const now = Math.floor(new Date().setHours(0, 0, 0, 0) / 1000);
|
|
10387
|
+
|
|
10388
|
+
// When centralDate is configured, prefer a date within the month(s) that
|
|
10389
|
+
// will actually be rendered. If today falls outside the visible range, an
|
|
10390
|
+
// active cell set to today would have no matching DOM element and keyboard
|
|
10391
|
+
// focus could not enter the calendar.
|
|
10392
|
+
const centralDateValue = this.centralDate ? new Date(this.centralDate) : null;
|
|
10393
|
+
|
|
10394
|
+
if (centralDateValue && !isNaN(centralDateValue.getTime())) {
|
|
10395
|
+
const centralMonth = centralDateValue.getMonth();
|
|
10396
|
+
const centralYear = centralDateValue.getFullYear();
|
|
10397
|
+
const todayDate = new Date(now * 1000);
|
|
10398
|
+
const todayMonth = todayDate.getMonth();
|
|
10399
|
+
const todayYear = todayDate.getFullYear();
|
|
10400
|
+
|
|
10401
|
+
// Today is outside the centralDate's month — scan for an enabled date
|
|
10402
|
+
// within the visible month instead.
|
|
10403
|
+
if (todayMonth !== centralMonth || todayYear !== centralYear) {
|
|
10404
|
+
const visibleStart = new Date(centralYear, centralMonth, 1);
|
|
10405
|
+
visibleStart.setHours(0, 0, 0, 0);
|
|
10406
|
+
const visibleEnd = new Date(centralYear, centralMonth + 1, 0); // last day of month
|
|
10407
|
+
visibleEnd.setHours(0, 0, 0, 0);
|
|
10408
|
+
const startTs = Math.floor(visibleStart.getTime() / 1000);
|
|
10409
|
+
const endTs = Math.floor(visibleEnd.getTime() / 1000);
|
|
10410
|
+
const daysInMonth = visibleEnd.getDate();
|
|
10411
|
+
|
|
10412
|
+
for (let idx = 0; idx < daysInMonth; idx++) {
|
|
10413
|
+
const ts = addDays(startTs, idx);
|
|
10414
|
+
if (ts > endTs) break;
|
|
10415
|
+
if (isEnabled(ts)) return ts;
|
|
10416
|
+
}
|
|
10417
|
+
|
|
10418
|
+
// No enabled date in the visible month — fall back to first in-range
|
|
10419
|
+
// date in the month so focus still lands on a focusable cell.
|
|
10420
|
+
for (let idx = 0; idx < daysInMonth; idx++) {
|
|
10421
|
+
const ts = addDays(startTs, idx);
|
|
10422
|
+
if (ts > endTs) break;
|
|
10423
|
+
if (isInRange(ts)) return ts;
|
|
10424
|
+
}
|
|
10425
|
+
}
|
|
10426
|
+
}
|
|
10427
|
+
|
|
10428
|
+
if (isEnabled(now)) return now;
|
|
10429
|
+
|
|
10430
|
+
// When a centralDate is configured (or inferred), constrain the scan to the
|
|
10431
|
+
// rendered month(s) first so a single-month calendar does not pick a date
|
|
10432
|
+
// that has no DOM cell. Determine the visible range based on centralDate and
|
|
10433
|
+
// the number of rendered months.
|
|
10434
|
+
const renderedMonths = this.numCalendars || 1;
|
|
10435
|
+
const visibleAnchor = centralDateValue && !isNaN(centralDateValue.getTime())
|
|
10436
|
+
? centralDateValue
|
|
10437
|
+
: new Date(now * 1000);
|
|
10438
|
+
const visMonthStart = new Date(visibleAnchor.getFullYear(), visibleAnchor.getMonth(), 1);
|
|
10439
|
+
visMonthStart.setHours(0, 0, 0, 0);
|
|
10440
|
+
const visMonthEnd = new Date(visibleAnchor.getFullYear(), visibleAnchor.getMonth() + renderedMonths, 0);
|
|
10441
|
+
visMonthEnd.setHours(0, 0, 0, 0);
|
|
10442
|
+
const visStartTs = Math.floor(visMonthStart.getTime() / 1000);
|
|
10443
|
+
const visEndTs = Math.floor(visMonthEnd.getTime() / 1000);
|
|
10444
|
+
const visDays = Math.round((visEndTs - visStartTs) / 86400) + 1;
|
|
10445
|
+
|
|
10446
|
+
// Scan visible months for an enabled date.
|
|
10447
|
+
for (let idx = 0; idx < visDays; idx++) {
|
|
10448
|
+
const ts = addDays(visStartTs, idx);
|
|
10449
|
+
if (ts > visEndTs) break;
|
|
10450
|
+
if (isEnabled(ts)) return ts;
|
|
10451
|
+
}
|
|
10452
|
+
|
|
10453
|
+
// No enabled date in visible months — try an in-range (focusable) date so
|
|
10454
|
+
// keyboard focus still has a tabindex="0" target.
|
|
10455
|
+
for (let idx = 0; idx < visDays; idx++) {
|
|
10456
|
+
const ts = addDays(visStartTs, idx);
|
|
10457
|
+
if (ts > visEndTs) break;
|
|
10458
|
+
if (isInRange(ts)) return ts;
|
|
10459
|
+
}
|
|
10460
|
+
|
|
10461
|
+
// 3. First future enabled date (scan forward from tomorrow, capped by max and MAX_SCAN_DAYS).
|
|
10462
|
+
for (let idx = 1; idx <= MAX_SCAN_DAYS; idx++) {
|
|
10463
|
+
const ts = addDays(now, idx);
|
|
10464
|
+
if (Number.isFinite(maxTs) && ts > maxTs) break;
|
|
10465
|
+
if (isEnabled(ts)) return ts;
|
|
10466
|
+
}
|
|
10467
|
+
|
|
10468
|
+
// 4. First previous enabled date (scan backward from yesterday, capped by min and MAX_SCAN_DAYS).
|
|
10469
|
+
for (let idx = 1; idx <= MAX_SCAN_DAYS; idx++) {
|
|
10470
|
+
const ts = addDays(now, -idx);
|
|
10471
|
+
if (Number.isFinite(minTs) && ts < minTs) break;
|
|
10472
|
+
if (isEnabled(ts)) return ts;
|
|
10473
|
+
}
|
|
10474
|
+
|
|
10475
|
+
// 5. If scans missed (e.g. min/max range is far from today), fall back to
|
|
10476
|
+
// the first enabled date in the [min, max] range.
|
|
10477
|
+
if (Number.isFinite(minTs) && Number.isFinite(maxTs)) {
|
|
10478
|
+
let ts = minTs;
|
|
10479
|
+
for (let idx = 0; ts <= maxTs; idx++) {
|
|
10480
|
+
if (isEnabled(ts)) return ts;
|
|
10481
|
+
ts = addDays(minTs, idx + 1);
|
|
10482
|
+
}
|
|
10483
|
+
}
|
|
10484
|
+
|
|
10485
|
+
// 5b. Finite min with unbounded max (e.g. minDate far in the future):
|
|
10486
|
+
// scan forward from min for up to MAX_SCAN_DAYS.
|
|
10487
|
+
if (Number.isFinite(minTs) && !Number.isFinite(maxTs)) {
|
|
10488
|
+
for (let idx = 0; idx <= MAX_SCAN_DAYS; idx++) {
|
|
10489
|
+
const ts = addDays(minTs, idx);
|
|
10490
|
+
if (isEnabled(ts)) return ts;
|
|
10491
|
+
}
|
|
10492
|
+
}
|
|
10493
|
+
|
|
10494
|
+
// 5c. Unbounded min with a finite max far in the past (e.g. birth-date picker):
|
|
10495
|
+
// scan backward from max for up to MAX_SCAN_DAYS.
|
|
10496
|
+
if (!Number.isFinite(minTs) && Number.isFinite(maxTs)) {
|
|
10497
|
+
for (let idx = 0; idx <= MAX_SCAN_DAYS; idx++) {
|
|
10498
|
+
const ts = addDays(maxTs, -idx);
|
|
10499
|
+
if (isEnabled(ts)) return ts;
|
|
10500
|
+
}
|
|
10501
|
+
}
|
|
10502
|
+
|
|
10503
|
+
// 6. All dates are blackout — fall back to the first in-range date so focus
|
|
10504
|
+
// still lands on a focusable (but not selectable) cell.
|
|
10505
|
+
if (Number.isFinite(minTs) && isInRange(minTs)) return minTs;
|
|
10506
|
+
if (isInRange(now)) return now;
|
|
10507
|
+
|
|
10508
|
+
return undefined;
|
|
10509
|
+
}
|
|
10510
|
+
|
|
10511
|
+
/**
|
|
10512
|
+
* Handles arrow key navigation on the calendar grid wrapper.
|
|
10513
|
+
* Focus stays on the grid wrapper; only ariaActiveDescendantElement
|
|
10514
|
+
* and the visual active-cell indicator change.
|
|
10515
|
+
* @private
|
|
10516
|
+
* @param {KeyboardEvent} event - The keyboard event.
|
|
10517
|
+
* @returns {void}
|
|
10518
|
+
*/
|
|
10519
|
+
handleGridKeyDown(event) {
|
|
10520
|
+
const { key } = event;
|
|
10521
|
+
const actionKeys = ['ArrowRight', 'ArrowLeft', 'ArrowDown', 'ArrowUp', 'Enter', ' '];
|
|
10522
|
+
|
|
10523
|
+
if (!actionKeys.includes(key)) return;
|
|
10524
|
+
|
|
10525
|
+
event.preventDefault();
|
|
10526
|
+
|
|
10527
|
+
const allCells = this.getAllFocusableCells();
|
|
10528
|
+
if (allCells.length === 0) return;
|
|
10529
|
+
|
|
10530
|
+
const activeCell = allCells.find(cell => cell.active);
|
|
10531
|
+
if (!activeCell) return;
|
|
10532
|
+
|
|
10533
|
+
// Handle Enter/Space to select the active cell
|
|
10534
|
+
if (key === 'Enter' || key === ' ') {
|
|
10535
|
+
activeCell.handleTap();
|
|
10536
|
+
return;
|
|
10537
|
+
}
|
|
10538
|
+
|
|
10539
|
+
const activeIndex = allCells.indexOf(activeCell);
|
|
10540
|
+
|
|
10541
|
+
if (key === 'ArrowRight' || key === 'ArrowLeft') {
|
|
10542
|
+
const direction = key === 'ArrowRight' ? 1 : -1;
|
|
10543
|
+
const targetIndex = activeIndex + direction;
|
|
10544
|
+
|
|
10545
|
+
if (targetIndex >= 0 && targetIndex < allCells.length) {
|
|
10546
|
+
// Target cell exists in rendered months
|
|
10547
|
+
this.setActiveCell(allCells[targetIndex].day.date);
|
|
10548
|
+
this.scrollToActiveCell();
|
|
10549
|
+
// Dispatch focus event for the cell so live region + range preview update
|
|
10550
|
+
this.handleCellFocused({ detail: { date: allCells[targetIndex].day.date } });
|
|
10551
|
+
} else {
|
|
10552
|
+
// At boundary — need to navigate to next/prev month
|
|
10553
|
+
const navDir = direction === 1 ? 'next' : 'prev';
|
|
10554
|
+
if ((navDir === 'next' && this.showNextMonthBtn) || (navDir === 'prev' && this.showPrevMonthBtn)) {
|
|
10555
|
+
const targetDate = new Date(activeCell.day.date * 1000);
|
|
10556
|
+
targetDate.setDate(targetDate.getDate() + direction);
|
|
10557
|
+
targetDate.setHours(0, 0, 0, 0);
|
|
10558
|
+
const targetTs = Math.floor(targetDate.getTime() / 1000);
|
|
10559
|
+
|
|
10560
|
+
if (navDir === 'next') {
|
|
10561
|
+
this.handleNextMonth();
|
|
10562
|
+
} else {
|
|
10563
|
+
this.handlePrevMonth();
|
|
10564
|
+
}
|
|
10565
|
+
requestAnimationFrame(() => {
|
|
10566
|
+
requestAnimationFrame(() => {
|
|
10567
|
+
const cells = this.getAllFocusableCells();
|
|
10568
|
+
const target = cells.find(cell => cell.day && cell.day.date === targetTs);
|
|
10569
|
+
if (target) {
|
|
10570
|
+
this.setActiveCell(target.day.date);
|
|
10571
|
+
this.handleCellFocused({ detail: { date: target.day.date } });
|
|
10572
|
+
} else if (cells.length > 0) {
|
|
10573
|
+
const fallback = navDir === 'next' ? cells[cells.length - 1] : cells[0];
|
|
10574
|
+
this.setActiveCell(fallback.day.date);
|
|
10575
|
+
this.handleCellFocused({ detail: { date: fallback.day.date } });
|
|
10576
|
+
}
|
|
10577
|
+
// Re-focus grid wrapper after month change re-render
|
|
10578
|
+
this.focusActiveCell();
|
|
10579
|
+
});
|
|
10580
|
+
});
|
|
10581
|
+
}
|
|
10582
|
+
}
|
|
10583
|
+
} else if (key === 'ArrowDown' || key === 'ArrowUp') {
|
|
10584
|
+
const increment = key === 'ArrowDown' ? 7 : -7;
|
|
10585
|
+
const currentDate = new Date(activeCell.day.date * 1000);
|
|
10586
|
+
currentDate.setDate(currentDate.getDate() + increment);
|
|
10587
|
+
currentDate.setHours(0, 0, 0, 0);
|
|
10588
|
+
const targetDate = Math.floor(currentDate.getTime() / 1000);
|
|
10589
|
+
|
|
10590
|
+
const targetCell = allCells.find(cell => cell.day && cell.day.date === targetDate);
|
|
10591
|
+
|
|
10592
|
+
if (targetCell) {
|
|
10593
|
+
this.setActiveCell(targetCell.day.date);
|
|
10594
|
+
this.scrollToActiveCell();
|
|
10595
|
+
this.handleCellFocused({ detail: { date: targetCell.day.date } });
|
|
10596
|
+
} else {
|
|
10597
|
+
// Target might be in an unrendered month
|
|
10598
|
+
const navDirection = key === 'ArrowDown' ? 'next' : 'prev';
|
|
10599
|
+
if ((navDirection === 'next' && this.showNextMonthBtn) || (navDirection === 'prev' && this.showPrevMonthBtn)) {
|
|
10600
|
+
if (navDirection === 'next') {
|
|
10601
|
+
this.handleNextMonth();
|
|
10602
|
+
} else {
|
|
10603
|
+
this.handlePrevMonth();
|
|
10604
|
+
}
|
|
10605
|
+
requestAnimationFrame(() => {
|
|
10606
|
+
requestAnimationFrame(() => {
|
|
10607
|
+
const cells = this.getAllFocusableCells();
|
|
10608
|
+
const target = cells.find(cell => cell.day && cell.day.date === targetDate);
|
|
10609
|
+
if (target) {
|
|
10610
|
+
this.setActiveCell(target.day.date);
|
|
10611
|
+
this.handleCellFocused({ detail: { date: target.day.date } });
|
|
10612
|
+
} else if (cells.length > 0) {
|
|
10613
|
+
const nearest = navDirection === 'next' ? cells[0] : cells[cells.length - 1];
|
|
10614
|
+
this.setActiveCell(nearest.day.date);
|
|
10615
|
+
this.handleCellFocused({ detail: { date: nearest.day.date } });
|
|
10616
|
+
}
|
|
10617
|
+
this.focusActiveCell();
|
|
10618
|
+
});
|
|
10619
|
+
});
|
|
10620
|
+
}
|
|
10621
|
+
}
|
|
10622
|
+
}
|
|
10623
|
+
}
|
|
10624
|
+
|
|
10625
|
+
/**
|
|
10626
|
+
* Handles cross-month boundary navigation events from month components.
|
|
10627
|
+
* @private
|
|
10628
|
+
* @param {CustomEvent} event - The boundary event with direction and source date info.
|
|
10629
|
+
* @returns {void}
|
|
10630
|
+
*/
|
|
10631
|
+
handleMonthBoundary(event) {
|
|
10632
|
+
const { direction, fromDate, key } = event.detail;
|
|
10633
|
+
|
|
10634
|
+
if (key === 'ArrowRight' || key === 'ArrowLeft') {
|
|
10635
|
+
// Linear navigation: find adjacent focusable cell across months
|
|
10636
|
+
const allCells = this.getAllFocusableCells();
|
|
10637
|
+
const currentIndex = allCells.findIndex(cell => cell.day && cell.day.date === fromDate);
|
|
10638
|
+
|
|
10639
|
+
if (currentIndex === -1) return;
|
|
10640
|
+
|
|
10641
|
+
let targetIndex;
|
|
10642
|
+
if (direction === 'next') {
|
|
10643
|
+
targetIndex = currentIndex + 1;
|
|
10644
|
+
} else {
|
|
10645
|
+
targetIndex = currentIndex - 1;
|
|
10646
|
+
}
|
|
10647
|
+
|
|
10648
|
+
if (targetIndex >= 0 && targetIndex < allCells.length) {
|
|
10649
|
+
const targetCell = allCells[targetIndex];
|
|
10650
|
+
this.setActiveCell(targetCell.day.date);
|
|
10651
|
+
this.scrollToActiveCell();
|
|
10652
|
+
this.focusActiveCell();
|
|
10653
|
+
} else if (direction === 'next' && this.showNextMonthBtn) {
|
|
10654
|
+
// Navigate to next month and focus the computed next date.
|
|
10655
|
+
// Using the target date (fromDate + 1 day) instead of cells[0]
|
|
10656
|
+
// avoids jumping backward in range datepickers where cells[0]
|
|
10657
|
+
// belongs to the previous (still-rendered) month.
|
|
10658
|
+
const nextDate = new Date(fromDate * 1000);
|
|
10659
|
+
nextDate.setDate(nextDate.getDate() + 1);
|
|
10660
|
+
nextDate.setHours(0, 0, 0, 0);
|
|
10661
|
+
const nextTs = Math.floor(nextDate.getTime() / 1000);
|
|
10662
|
+
|
|
10663
|
+
this.handleNextMonth();
|
|
10664
|
+
requestAnimationFrame(() => {
|
|
10665
|
+
requestAnimationFrame(() => {
|
|
10666
|
+
const cells = this.getAllFocusableCells();
|
|
10667
|
+
const target = cells.find(cell => cell.day && cell.day.date === nextTs);
|
|
10668
|
+
if (target) {
|
|
10669
|
+
this.setActiveCell(target.day.date);
|
|
10670
|
+
this.focusActiveCell();
|
|
10671
|
+
} else if (cells.length > 0) {
|
|
10672
|
+
// Fallback: first cell of the last rendered month
|
|
10673
|
+
this.setActiveCell(cells[cells.length - 1].day.date);
|
|
10674
|
+
this.focusActiveCell();
|
|
10675
|
+
}
|
|
10676
|
+
});
|
|
10677
|
+
});
|
|
10678
|
+
} else if (direction === 'prev' && this.showPrevMonthBtn) {
|
|
10679
|
+
// Navigate to previous month and focus the computed previous date.
|
|
10680
|
+
const prevDate = new Date(fromDate * 1000);
|
|
10681
|
+
prevDate.setDate(prevDate.getDate() - 1);
|
|
10682
|
+
prevDate.setHours(0, 0, 0, 0);
|
|
10683
|
+
const prevTs = Math.floor(prevDate.getTime() / 1000);
|
|
10684
|
+
|
|
10685
|
+
this.handlePrevMonth();
|
|
10686
|
+
requestAnimationFrame(() => {
|
|
10687
|
+
requestAnimationFrame(() => {
|
|
10688
|
+
const cells = this.getAllFocusableCells();
|
|
10689
|
+
const target = cells.find(cell => cell.day && cell.day.date === prevTs);
|
|
10690
|
+
if (target) {
|
|
10691
|
+
this.setActiveCell(target.day.date);
|
|
10692
|
+
this.focusActiveCell();
|
|
10693
|
+
} else if (cells.length > 0) {
|
|
10694
|
+
// Fallback: last cell of the first rendered month
|
|
10695
|
+
this.setActiveCell(cells[0].day.date);
|
|
10696
|
+
this.focusActiveCell();
|
|
10697
|
+
}
|
|
10698
|
+
});
|
|
10699
|
+
});
|
|
10700
|
+
}
|
|
10701
|
+
} else if (key === 'ArrowDown' || key === 'ArrowUp') {
|
|
10702
|
+
// Vertical navigation: find same day-of-week +/- 7 days
|
|
10703
|
+
// Use Date arithmetic instead of fixed seconds to handle DST correctly
|
|
10704
|
+
const increment = key === 'ArrowDown' ? 7 : -7;
|
|
10705
|
+
const currentDate = new Date(fromDate * 1000);
|
|
10706
|
+
currentDate.setDate(currentDate.getDate() + increment);
|
|
10707
|
+
currentDate.setHours(0, 0, 0, 0);
|
|
10708
|
+
const targetDate = Math.floor(currentDate.getTime() / 1000);
|
|
10709
|
+
|
|
10710
|
+
const allCells = this.getAllFocusableCells();
|
|
10711
|
+
let targetCell = allCells.find(cell => cell.day && cell.day.date === targetDate);
|
|
10712
|
+
|
|
10713
|
+
if (targetCell) {
|
|
10714
|
+
this.setActiveCell(targetCell.day.date);
|
|
10715
|
+
this.scrollToActiveCell();
|
|
10716
|
+
this.focusActiveCell();
|
|
10717
|
+
} else {
|
|
10718
|
+
// Target might be in an unrendered month, navigate there
|
|
10719
|
+
const navDirection = key === 'ArrowDown' ? 'next' : 'prev';
|
|
10720
|
+
if ((navDirection === 'next' && this.showNextMonthBtn) || (navDirection === 'prev' && this.showPrevMonthBtn)) {
|
|
10721
|
+
if (navDirection === 'next') {
|
|
10722
|
+
this.handleNextMonth();
|
|
10723
|
+
} else {
|
|
10724
|
+
this.handlePrevMonth();
|
|
10725
|
+
}
|
|
10726
|
+
requestAnimationFrame(() => {
|
|
10727
|
+
requestAnimationFrame(() => {
|
|
10728
|
+
const cells = this.getAllFocusableCells();
|
|
10729
|
+
const target = cells.find(cell => cell.day && cell.day.date === targetDate);
|
|
10730
|
+
if (target) {
|
|
10731
|
+
this.setActiveCell(target.day.date);
|
|
10732
|
+
this.focusActiveCell();
|
|
10733
|
+
} else if (cells.length > 0) {
|
|
10734
|
+
// Clamp to nearest focusable cell
|
|
10735
|
+
const nearest = navDirection === 'next' ? cells[0] : cells[cells.length - 1];
|
|
10736
|
+
this.setActiveCell(nearest.day.date);
|
|
10737
|
+
this.focusActiveCell();
|
|
10738
|
+
}
|
|
10739
|
+
});
|
|
10740
|
+
});
|
|
10741
|
+
}
|
|
10742
|
+
}
|
|
10743
|
+
}
|
|
10744
|
+
}
|
|
10745
|
+
|
|
10746
|
+
/**
|
|
10747
|
+
* Handles cell activation events from month components.
|
|
10748
|
+
* @private
|
|
10749
|
+
* @param {CustomEvent} event - The activation event with target date.
|
|
10750
|
+
* @returns {void}
|
|
10751
|
+
*/
|
|
10752
|
+
handleCellActivate(event) {
|
|
10753
|
+
const { date } = event.detail;
|
|
10754
|
+
this.setActiveCell(date);
|
|
10755
|
+
this.focusActiveCell();
|
|
10756
|
+
}
|
|
10757
|
+
|
|
10758
|
+
/**
|
|
10759
|
+
* Handles focus events from calendar cells.
|
|
10760
|
+
* Updates the live region with an SR announcement and triggers
|
|
10761
|
+
* the imperative range preview if applicable.
|
|
10762
|
+
* @private
|
|
10763
|
+
* @param {CustomEvent} event - The calendar-cell-focused event.
|
|
10764
|
+
* @returns {void}
|
|
10765
|
+
*/
|
|
10766
|
+
handleCellFocused(event) {
|
|
10767
|
+
const { date } = event.detail;
|
|
10768
|
+
if (date == null) return;
|
|
10769
|
+
|
|
10770
|
+
// With aria-activedescendant, the button no longer receives native focus,
|
|
10771
|
+
// so we use the debounced live region for the full context announcement.
|
|
10772
|
+
const announcement = this.buildFocusAnnouncement(date);
|
|
10773
|
+
this.announceFocusDebounced(announcement);
|
|
10774
|
+
|
|
10775
|
+
// Update the range preview imperatively if in range-preview mode.
|
|
10776
|
+
this.updateRangePreview(date);
|
|
10777
|
+
}
|
|
10778
|
+
|
|
10779
|
+
/**
|
|
10780
|
+
* Builds a full SR announcement string for a focused cell date.
|
|
10781
|
+
* Includes the localized date, range position, popover content,
|
|
10782
|
+
* and blackout status.
|
|
10783
|
+
* @private
|
|
10784
|
+
* @param {Number} date - Unix timestamp (seconds) of the focused cell.
|
|
10785
|
+
* @returns {String} The announcement string.
|
|
10786
|
+
*/
|
|
10787
|
+
buildFocusAnnouncement(date) {
|
|
10788
|
+
let label = this.formatAnnouncementDate(date);
|
|
10789
|
+
|
|
10790
|
+
// Append date slot content (e.g. prices) if present.
|
|
10791
|
+
const dateObj = new Date(date * 1000);
|
|
10792
|
+
const mm = String(dateObj.getMonth() + 1).padStart(2, '0');
|
|
10793
|
+
const dd = String(dateObj.getDate()).padStart(2, '0');
|
|
10794
|
+
const yyyy = dateObj.getFullYear();
|
|
10795
|
+
const dateStr = `${mm}_${dd}_${yyyy}`;
|
|
10796
|
+
const dateSlotEl = this.datepicker?.querySelector(`[slot="date_${dateStr}"]`);
|
|
10797
|
+
if (dateSlotEl) {
|
|
10798
|
+
const text = dateSlotEl.innerText?.trim();
|
|
10799
|
+
if (text) {
|
|
10800
|
+
label += `, ${text}`;
|
|
10801
|
+
}
|
|
10802
|
+
}
|
|
10803
|
+
|
|
10804
|
+
// Append popover content if present.
|
|
10805
|
+
const popoverEl = this.datepicker?.querySelector(`[slot="popover_${dateStr}"]`);
|
|
10806
|
+
if (popoverEl) {
|
|
10807
|
+
const text = popoverEl.innerText?.trim();
|
|
10808
|
+
if (text) {
|
|
10809
|
+
label += `, ${text}`;
|
|
10810
|
+
}
|
|
10811
|
+
}
|
|
10812
|
+
|
|
10813
|
+
// Append range position context.
|
|
10814
|
+
if (this.datepicker?.hasAttribute('range')) {
|
|
10815
|
+
const rangeLabel = this.getRangePositionLabel(date);
|
|
10816
|
+
if (rangeLabel) {
|
|
10817
|
+
label += `, ${rangeLabel}`;
|
|
10818
|
+
}
|
|
10819
|
+
}
|
|
10820
|
+
|
|
10821
|
+
// Append blackout label.
|
|
10822
|
+
if (this.isDateBlackout(date)) {
|
|
10823
|
+
label += `, ${this.datepicker?.blackoutLabel || 'unavailable'}`;
|
|
10824
|
+
}
|
|
10825
|
+
|
|
10826
|
+
return label;
|
|
10827
|
+
}
|
|
10828
|
+
|
|
10829
|
+
/**
|
|
10830
|
+
* Determines the range position label for a given date.
|
|
10831
|
+
* @private
|
|
10832
|
+
* @param {Number} date - Unix timestamp (seconds).
|
|
10833
|
+
* @returns {String|null} The range position label, or null.
|
|
10834
|
+
*/
|
|
10835
|
+
getRangePositionLabel(date) {
|
|
10836
|
+
const parsedFrom = Number.parseInt(this.dateFrom, 10);
|
|
10837
|
+
if (!Number.isFinite(parsedFrom)) return null;
|
|
10838
|
+
|
|
10839
|
+
const departTs = startOfDay(parsedFrom * 1000) / 1000;
|
|
10840
|
+
const parsedTo = Number.parseInt(this.dateTo, 10);
|
|
10841
|
+
const hasTo = Number.isFinite(parsedTo);
|
|
10842
|
+
const returnTs = hasTo ? startOfDay(parsedTo * 1000) / 1000 : null;
|
|
10843
|
+
|
|
10844
|
+
if (date === departTs) return this.datepicker.rangeLabelStart || 'range start';
|
|
10845
|
+
if (hasTo && date === returnTs) return this.datepicker.rangeLabelEnd || 'range end';
|
|
10846
|
+
if (date < departTs) return this.datepicker.rangeLabelBeforeRange || 'before range';
|
|
10847
|
+
if (hasTo && date > departTs && date < returnTs) return this.datepicker.rangeLabelInRange || 'in range';
|
|
10848
|
+
return this.datepicker.rangeLabelAfterRange || 'after range';
|
|
10849
|
+
}
|
|
10850
|
+
|
|
10851
|
+
/**
|
|
10852
|
+
* Checks whether a given date is a blackout date.
|
|
10853
|
+
* @private
|
|
10854
|
+
* @param {Number} dateTs - Unix timestamp (seconds).
|
|
10855
|
+
* @returns {Boolean} True if the date is blacked out.
|
|
10856
|
+
*/
|
|
10857
|
+
isDateBlackout(dateTs) {
|
|
10858
|
+
// Check legacy disabledDays.
|
|
10859
|
+
if (Array.isArray(this.disabledDays) && this.disabledDays.length > 0) {
|
|
10860
|
+
if (this.disabledDays.findIndex(d => parseInt(d, 10) === dateTs) !== -1) {
|
|
10861
|
+
return true;
|
|
10862
|
+
}
|
|
10863
|
+
}
|
|
10864
|
+
|
|
10865
|
+
// Check ISO blackoutDates.
|
|
10866
|
+
const blackoutDates = this.datepicker?.blackoutDates;
|
|
10867
|
+
if (Array.isArray(blackoutDates) && blackoutDates.length > 0) {
|
|
10868
|
+
const date = new Date(dateTs * 1000);
|
|
10869
|
+
const yyyy = date.getFullYear();
|
|
10870
|
+
const mm = String(date.getMonth() + 1).padStart(2, '0');
|
|
10871
|
+
const dd = String(date.getDate()).padStart(2, '0');
|
|
10872
|
+
if (blackoutDates.includes(`${yyyy}-${mm}-${dd}`)) {
|
|
10873
|
+
return true;
|
|
10874
|
+
}
|
|
10875
|
+
}
|
|
10876
|
+
|
|
10877
|
+
return false;
|
|
10878
|
+
}
|
|
10879
|
+
|
|
10880
|
+
/**
|
|
10881
|
+
* Updates the range preview classes imperatively across all cells.
|
|
10882
|
+
* Only active when in range mode with dateFrom set and dateTo not yet set.
|
|
10883
|
+
* @private
|
|
10884
|
+
* @param {Number} hoveredDate - Unix timestamp of the hovered/focused date.
|
|
10885
|
+
* @returns {void}
|
|
10886
|
+
*/
|
|
10887
|
+
updateRangePreview(hoveredDate) {
|
|
10888
|
+
if (this.noRange || !this.dateFrom || this.dateTo) {
|
|
10889
|
+
return;
|
|
10890
|
+
}
|
|
10891
|
+
|
|
10892
|
+
const parsedDateFrom = parseInt(this.dateFrom, 10);
|
|
10893
|
+
const allCells = this.getAllFocusableCells();
|
|
10894
|
+
|
|
10895
|
+
allCells.forEach(cell => {
|
|
10896
|
+
cell.updateRangePreviewClasses(hoveredDate, parsedDateFrom);
|
|
10897
|
+
});
|
|
10898
|
+
}
|
|
10899
|
+
|
|
10900
|
+
/**
|
|
10901
|
+
* Clears range preview classes from all cells.
|
|
10902
|
+
* @private
|
|
10903
|
+
* @returns {void}
|
|
10904
|
+
*/
|
|
10905
|
+
clearRangePreview() {
|
|
10906
|
+
const allCells = this.getAllFocusableCells();
|
|
10907
|
+
allCells.forEach(cell => {
|
|
10908
|
+
cell.clearRangePreviewClasses();
|
|
10909
|
+
});
|
|
10910
|
+
}
|
|
10911
|
+
|
|
10912
|
+
/**
|
|
10913
|
+
* Overrides the base class handler to prevent setting `this.hoveredDate`
|
|
10914
|
+
* as a reactive property. Instead, handles the range preview imperatively.
|
|
10915
|
+
* @private
|
|
10916
|
+
* @param {CustomEvent} event - The hovered-date-changed event from a month.
|
|
10917
|
+
* @returns {void}
|
|
10918
|
+
*/
|
|
10919
|
+
hoveredDateChanged(event) {
|
|
10920
|
+
const hoveredDate = event.detail.value;
|
|
10921
|
+
this.updateRangePreview(hoveredDate);
|
|
10922
|
+
}
|
|
10923
|
+
|
|
10924
|
+
/**
|
|
10925
|
+
* Scrolls the calendar to ensure the month containing the active cell is visible.
|
|
10926
|
+
* @private
|
|
10927
|
+
* @returns {void}
|
|
10928
|
+
*/
|
|
10929
|
+
scrollToActiveCell() {
|
|
10930
|
+
if (this.activeCellDate == null) return;
|
|
10931
|
+
|
|
10932
|
+
const date = new Date(this.activeCellDate * 1000);
|
|
10933
|
+
const month = date.getMonth() + 1;
|
|
10934
|
+
const year = date.getFullYear();
|
|
10935
|
+
const selector = `#month-${month}-${year}`;
|
|
10936
|
+
const monthElem = this.shadowRoot.querySelector(selector);
|
|
10937
|
+
|
|
10938
|
+
if (monthElem) {
|
|
10939
|
+
const prefersReducedMotion = window.matchMedia('(prefers-reduced-motion: reduce)').matches;
|
|
10940
|
+
monthElem.scrollIntoView({ block: 'nearest', behavior: prefersReducedMotion ? 'instant' : 'smooth' });
|
|
10941
|
+
}
|
|
10942
|
+
}
|
|
10943
|
+
|
|
10944
|
+
/**
|
|
10945
|
+
* Announces a date selection or focus change via the live region.
|
|
10946
|
+
* @private
|
|
10947
|
+
* @param {String} dateStr - The localized date string to announce.
|
|
10948
|
+
* @returns {void}
|
|
10949
|
+
*/
|
|
10950
|
+
announceSelection(dateStr) {
|
|
10951
|
+
const liveRegion = this.shadowRoot.querySelector('#calendar-live-region');
|
|
10952
|
+
if (liveRegion) {
|
|
10953
|
+
liveRegion.textContent = '';
|
|
10954
|
+
// Use microtask to ensure SR picks up the change
|
|
10955
|
+
Promise.resolve().then(() => {
|
|
10956
|
+
liveRegion.textContent = dateStr;
|
|
10957
|
+
});
|
|
10958
|
+
}
|
|
10959
|
+
}
|
|
10960
|
+
|
|
10961
|
+
/**
|
|
10962
|
+
* Debounced version of announceSelection for focus navigation.
|
|
10963
|
+
* Only announces the last focused date after rapid navigation pauses,
|
|
10964
|
+
* preventing the screen reader from queueing up stale announcements
|
|
10965
|
+
* that can't keep pace with arrow-key traversal.
|
|
10966
|
+
* @private
|
|
10967
|
+
* @param {String} dateStr - The localized date string to announce.
|
|
10968
|
+
* @returns {void}
|
|
10969
|
+
*/
|
|
10970
|
+
announceFocusDebounced(dateStr) {
|
|
10971
|
+
if (this._focusAnnounceTimer) {
|
|
10972
|
+
clearTimeout(this._focusAnnounceTimer);
|
|
10973
|
+
}
|
|
10974
|
+
this._focusAnnounceTimer = setTimeout(() => {
|
|
10975
|
+
this.announceSelection(dateStr);
|
|
10976
|
+
this._focusAnnounceTimer = null;
|
|
10977
|
+
}, 150);
|
|
10978
|
+
}
|
|
10979
|
+
|
|
10980
|
+
/**
|
|
10981
|
+
* Formats a Unix timestamp (seconds) as a localized date string for SR announcements.
|
|
10982
|
+
* @private
|
|
10983
|
+
* @param {String|Number} timestamp - Unix timestamp in seconds.
|
|
10984
|
+
* @returns {String} Localized date string.
|
|
10985
|
+
*/
|
|
10986
|
+
formatAnnouncementDate(timestamp) {
|
|
10987
|
+
const date = new Date(parseInt(timestamp, 10) * 1000);
|
|
10988
|
+
const localeCode = this.locale?.code || undefined;
|
|
10989
|
+
const formatter = new Intl.DateTimeFormat(localeCode, {
|
|
10990
|
+
weekday: 'long', year: 'numeric', month: 'long', day: 'numeric'
|
|
10991
|
+
});
|
|
10992
|
+
return formatter.format(date);
|
|
10993
|
+
}
|
|
10994
|
+
|
|
9670
10995
|
firstUpdated() {
|
|
9671
10996
|
this.addEventListener('date-from-changed', () => {
|
|
9672
10997
|
this.dispatchEvent(new CustomEvent('auroCalendar-dateSelected', {
|
|
@@ -9686,6 +11011,21 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
9686
11011
|
composed: true,
|
|
9687
11012
|
}));
|
|
9688
11013
|
});
|
|
11014
|
+
|
|
11015
|
+
// Listen for cross-month boundary navigation events
|
|
11016
|
+
this.addEventListener('calendar-month-boundary', (event) => {
|
|
11017
|
+
this.handleMonthBoundary(event);
|
|
11018
|
+
});
|
|
11019
|
+
|
|
11020
|
+
// Listen for cell activation events
|
|
11021
|
+
this.addEventListener('calendar-cell-activate', (event) => {
|
|
11022
|
+
this.handleCellActivate(event);
|
|
11023
|
+
});
|
|
11024
|
+
|
|
11025
|
+
// Listen for cell focus events (SR announcements + range preview)
|
|
11026
|
+
this.addEventListener('calendar-cell-focused', (event) => {
|
|
11027
|
+
this.handleCellFocused(event);
|
|
11028
|
+
});
|
|
9689
11029
|
}
|
|
9690
11030
|
|
|
9691
11031
|
injectSlot(slotName, nodes) {
|
|
@@ -9710,7 +11050,37 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
9710
11050
|
}
|
|
9711
11051
|
|
|
9712
11052
|
if (changedProperties.has('visible')) {
|
|
9713
|
-
|
|
11053
|
+
if (this.visible) {
|
|
11054
|
+
// Compute the active date eagerly from data — no DOM needed.
|
|
11055
|
+
if (this.activeCellDate == null) {
|
|
11056
|
+
this.activeCellDate = this.computeActiveDate();
|
|
11057
|
+
}
|
|
11058
|
+
|
|
11059
|
+
this.requestUpdate();
|
|
11060
|
+
} else {
|
|
11061
|
+
this.requestUpdate();
|
|
11062
|
+
}
|
|
11063
|
+
}
|
|
11064
|
+
|
|
11065
|
+
// Announce date selection to screen readers when user clicks/selects a cell
|
|
11066
|
+
const isCellClick = this.datepicker?.wasCellClick || this.datepicker?.cellClickActive;
|
|
11067
|
+
|
|
11068
|
+
if (changedProperties.has('dateFrom') && this.dateFrom && isCellClick) {
|
|
11069
|
+
const dateStr = this.formatAnnouncementDate(this.dateFrom);
|
|
11070
|
+
const isRange = !this.noRange;
|
|
11071
|
+
|
|
11072
|
+
if (isRange) {
|
|
11073
|
+
const rangeLabel = this.datepicker.rangeLabelStart || 'range start';
|
|
11074
|
+
this.announceSelection(`${dateStr}, selected as ${rangeLabel}`);
|
|
11075
|
+
} else {
|
|
11076
|
+
this.announceSelection(`${dateStr}, selected`);
|
|
11077
|
+
}
|
|
11078
|
+
}
|
|
11079
|
+
|
|
11080
|
+
if (changedProperties.has('dateTo') && this.dateTo && isCellClick) {
|
|
11081
|
+
const dateStr = this.formatAnnouncementDate(this.dateTo);
|
|
11082
|
+
const rangeLabel = this.datepicker.rangeLabelEnd || 'range end';
|
|
11083
|
+
this.announceSelection(`${dateStr}, selected as ${rangeLabel}`);
|
|
9714
11084
|
}
|
|
9715
11085
|
}
|
|
9716
11086
|
|
|
@@ -9719,6 +11089,7 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
9719
11089
|
<${this.bibtemplateTag}
|
|
9720
11090
|
?large="${this.largeFullscreenHeadline}"
|
|
9721
11091
|
?isFullscreen="${this.isFullscreen}"
|
|
11092
|
+
?showFooter="${!this.isFullscreen && this.dropdown?.desktopModal}"
|
|
9722
11093
|
@close-click="${this.utilCal.requestDismiss}">
|
|
9723
11094
|
<span slot="ariaLabel.close">${this.slots["ariaLabel.bib.close"]}</span>
|
|
9724
11095
|
|
|
@@ -9736,24 +11107,27 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
9736
11107
|
</div>
|
|
9737
11108
|
</div>
|
|
9738
11109
|
|
|
9739
|
-
<div class="calendarWrapper">
|
|
9740
|
-
<div class="calendars">
|
|
9741
|
-
${this.renderAllCalendars()}
|
|
9742
|
-
</div>
|
|
11110
|
+
<div class="calendarWrapper ${!this.isFullscreen && this.dropdown?.desktopModal ? 'hasFooter' : ''}">
|
|
9743
11111
|
<div class="calendarNavButtons">
|
|
9744
11112
|
${this.showPrevMonthBtn ? u$a`
|
|
9745
|
-
<button tabIndex="
|
|
11113
|
+
<button tabIndex="0" class="calendarNavBtn prevMonth" aria-label="${this.datepicker?.navLabelPrevMonth || 'Previous month'}" @click="${this.handlePrevMonth}">
|
|
9746
11114
|
${this.util.generateIconHtml(chevronLeft)}
|
|
9747
11115
|
</button>
|
|
9748
11116
|
` : undefined}
|
|
9749
11117
|
${this.showNextMonthBtn ? u$a`
|
|
9750
|
-
<button tabIndex="
|
|
11118
|
+
<button tabIndex="0" class="calendarNavBtn nextMonth" aria-label="${this.datepicker?.navLabelNextMonth || 'Next month'}" @click="${this.handleNextMonth}">
|
|
9751
11119
|
${this.util.generateIconHtml(chevronRight)}
|
|
9752
11120
|
</button>
|
|
9753
11121
|
` : undefined}
|
|
9754
11122
|
</div>
|
|
11123
|
+
<div id="calendarGrid" class="calendars" role="group" tabindex="-1" aria-activedescendant="activeDescendantProxy" @keydown="${this.handleGridKeyDown}">
|
|
11124
|
+
<span id="activeDescendantProxy" role="gridcell" aria-label="" class="sr-only"></span>
|
|
11125
|
+
${this.renderAllCalendars()}
|
|
11126
|
+
</div>
|
|
9755
11127
|
</div>
|
|
9756
11128
|
|
|
11129
|
+
<div id="calendar-live-region" aria-live="assertive" aria-atomic="true" class="sr-only"></div>
|
|
11130
|
+
|
|
9757
11131
|
<${this.buttonTag} slot="footer" fluid @click="${this.utilCal.requestDismiss}">Done</${this.buttonTag}>
|
|
9758
11132
|
</${this.bibtemplateTag}>
|
|
9759
11133
|
`;
|
|
@@ -13025,7 +14399,7 @@ function applyKeyboardStrategy$1(component, strategy, options = {}) {
|
|
|
13025
14399
|
});
|
|
13026
14400
|
}
|
|
13027
14401
|
|
|
13028
|
-
var styleCss$2$1 = i$3`: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}`;
|
|
14402
|
+
var styleCss$2$1 = i$3`: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}`;
|
|
13029
14403
|
|
|
13030
14404
|
var colorCss$2 = i$3`.container{background-color:var(--ds-auro-dropdownbib-container-color);box-shadow:var(--ds-auro-dropdownbib-boxshadow-color);color:var(--ds-auro-dropdownbib-text-color)}`;
|
|
13031
14405
|
|
|
@@ -13656,7 +15030,7 @@ let AuroHelpText$2 = class AuroHelpText extends i$1 {
|
|
|
13656
15030
|
}
|
|
13657
15031
|
};
|
|
13658
15032
|
|
|
13659
|
-
var formkitVersion$1 = '
|
|
15033
|
+
var formkitVersion$1 = '202605210248';
|
|
13660
15034
|
|
|
13661
15035
|
let AuroElement$2 = class AuroElement extends i$1 {
|
|
13662
15036
|
static get properties() {
|
|
@@ -13836,6 +15210,7 @@ class AuroDropdown extends AuroElement$2 {
|
|
|
13836
15210
|
_intializeDefaults() {
|
|
13837
15211
|
this.appearance = 'default';
|
|
13838
15212
|
this.chevron = false;
|
|
15213
|
+
this.desktopModal = false;
|
|
13839
15214
|
this.disabled = false;
|
|
13840
15215
|
this.disableKeyboardHandling = false;
|
|
13841
15216
|
this.error = false;
|
|
@@ -14016,6 +15391,14 @@ class AuroDropdown extends AuroElement$2 {
|
|
|
14016
15391
|
reflect: true
|
|
14017
15392
|
},
|
|
14018
15393
|
|
|
15394
|
+
/**
|
|
15395
|
+
* If declared, the dropdown will behave as a modal dialog when in a desktop viewport size.
|
|
15396
|
+
*/
|
|
15397
|
+
desktopModal: {
|
|
15398
|
+
type: Boolean,
|
|
15399
|
+
reflect: true
|
|
15400
|
+
},
|
|
15401
|
+
|
|
14019
15402
|
/**
|
|
14020
15403
|
* If declared, the dropdown will only show by calling the API .show() public method.
|
|
14021
15404
|
*/
|
|
@@ -14303,6 +15686,15 @@ class AuroDropdown extends AuroElement$2 {
|
|
|
14303
15686
|
|
|
14304
15687
|
disconnectedCallback() {
|
|
14305
15688
|
super.disconnectedCallback();
|
|
15689
|
+
this._clearPageInert();
|
|
15690
|
+
if (this._bibTabHandler) {
|
|
15691
|
+
this.removeEventListener('keydown', this._bibTabHandler);
|
|
15692
|
+
this._bibTabHandler = undefined;
|
|
15693
|
+
}
|
|
15694
|
+
if (this.focusTrap) {
|
|
15695
|
+
this.focusTrap.disconnect();
|
|
15696
|
+
this.focusTrap = undefined;
|
|
15697
|
+
}
|
|
14306
15698
|
if (this.floater) {
|
|
14307
15699
|
this.floater.hideBib('disconnect');
|
|
14308
15700
|
this.floater.disconnect();
|
|
@@ -14330,19 +15722,45 @@ class AuroDropdown extends AuroElement$2 {
|
|
|
14330
15722
|
if (this.isPopoverVisible) {
|
|
14331
15723
|
// Fullscreen: use showModal() for native accessibility (inert outside, focus trap)
|
|
14332
15724
|
// Desktop: use show() for Floating UI positioning + FocusTrap for focus management
|
|
14333
|
-
|
|
14334
|
-
this.
|
|
15725
|
+
this.bibElement.value.open(this.isBibFullscreen);
|
|
15726
|
+
this.updateFocusTrap();
|
|
15727
|
+
|
|
15728
|
+
// Desktop modal: make siblings inert so content outside is not interactive
|
|
15729
|
+
if (this.desktopModal && !this.isBibFullscreen) {
|
|
15730
|
+
this._setPageInert();
|
|
15731
|
+
}
|
|
14335
15732
|
} else {
|
|
14336
15733
|
this.bibElement.value.close();
|
|
15734
|
+
this._clearPageInert();
|
|
14337
15735
|
}
|
|
14338
15736
|
}
|
|
14339
15737
|
|
|
14340
15738
|
// When fullscreen strategy changes while open, re-open dialog with correct mode
|
|
14341
15739
|
// (e.g. resizing from desktop → mobile while dropdown is open)
|
|
14342
15740
|
if (changedProperties.has('isBibFullscreen') && this.isPopoverVisible && this.bibElement.value) {
|
|
14343
|
-
const useModal = this.isBibFullscreen;
|
|
14344
15741
|
this.bibElement.value.close();
|
|
14345
|
-
this.bibElement.value.open(
|
|
15742
|
+
this.bibElement.value.open(this.isBibFullscreen);
|
|
15743
|
+
|
|
15744
|
+
// Re-initialize focus management for the new strategy
|
|
15745
|
+
this.updateFocusTrap();
|
|
15746
|
+
|
|
15747
|
+
// Toggle inert: desktop modal needs it, fullscreen showModal() handles it natively
|
|
15748
|
+
if (this.desktopModal && !this.isBibFullscreen) {
|
|
15749
|
+
this._setPageInert();
|
|
15750
|
+
} else {
|
|
15751
|
+
this._clearPageInert();
|
|
15752
|
+
}
|
|
15753
|
+
}
|
|
15754
|
+
|
|
15755
|
+
// Handle desktopModal toggled while the dropdown is already open.
|
|
15756
|
+
// Re-initialize focus trapping and page inert state to match the new mode.
|
|
15757
|
+
if (changedProperties.has('desktopModal') && this.isPopoverVisible && !this.isBibFullscreen) {
|
|
15758
|
+
this.updateFocusTrap();
|
|
15759
|
+
if (this.desktopModal) {
|
|
15760
|
+
this._setPageInert();
|
|
15761
|
+
} else {
|
|
15762
|
+
this._clearPageInert();
|
|
15763
|
+
}
|
|
14346
15764
|
}
|
|
14347
15765
|
}
|
|
14348
15766
|
|
|
@@ -14352,8 +15770,14 @@ class AuroDropdown extends AuroElement$2 {
|
|
|
14352
15770
|
* @param {CustomEvent} event - The custom event that contains the dropdown toggle information.
|
|
14353
15771
|
*/
|
|
14354
15772
|
handleDropdownToggle(event) {
|
|
14355
|
-
this.updateFocusTrap();
|
|
14356
15773
|
this.isPopoverVisible = event.detail.expanded;
|
|
15774
|
+
|
|
15775
|
+
// Tear down FocusTrap when closing. Creation happens in updated()
|
|
15776
|
+
// after the dialog is open so getFocusableElements can find content.
|
|
15777
|
+
if (!this.isPopoverVisible) {
|
|
15778
|
+
this.updateFocusTrap();
|
|
15779
|
+
}
|
|
15780
|
+
|
|
14357
15781
|
const eventType = event.detail.eventType || "unknown";
|
|
14358
15782
|
if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown") {
|
|
14359
15783
|
this.trigger.focus();
|
|
@@ -14452,19 +15876,178 @@ class AuroDropdown extends AuroElement$2 {
|
|
|
14452
15876
|
* @private
|
|
14453
15877
|
*/
|
|
14454
15878
|
updateFocusTrap() {
|
|
15879
|
+
// Always clean up existing handlers/traps before setting up new ones
|
|
15880
|
+
// to prevent duplicate listeners on repeated calls.
|
|
15881
|
+
if (this._bibTabHandler) {
|
|
15882
|
+
this.removeEventListener('keydown', this._bibTabHandler);
|
|
15883
|
+
this._bibTabHandler = undefined;
|
|
15884
|
+
}
|
|
15885
|
+
|
|
15886
|
+
if (this.focusTrap) {
|
|
15887
|
+
this.focusTrap.disconnect();
|
|
15888
|
+
this.focusTrap = undefined;
|
|
15889
|
+
}
|
|
15890
|
+
|
|
14455
15891
|
if (this.isPopoverVisible) {
|
|
14456
15892
|
if (!this.isBibFullscreen) {
|
|
14457
|
-
|
|
14458
|
-
|
|
14459
|
-
|
|
15893
|
+
if (this.desktopModal) {
|
|
15894
|
+
// Desktop modal: trap focus only within the bib content.
|
|
15895
|
+
// Can't use FocusTrap on the bib element because keydown events
|
|
15896
|
+
// from slotted content bubble through the dropdown host (light DOM),
|
|
15897
|
+
// not through the bib (shadow projection target). Using FocusTrap
|
|
15898
|
+
// on the dropdown would include the trigger in the tab cycle.
|
|
15899
|
+
// Instead, listen for Tab on the dropdown and manually wrap focus
|
|
15900
|
+
// within the bib's focusable elements.
|
|
15901
|
+
this._bibTabHandler = (event) => {
|
|
15902
|
+
if (event.key !== 'Tab') {
|
|
15903
|
+
return;
|
|
15904
|
+
}
|
|
15905
|
+
|
|
15906
|
+
// Collect focusable elements from the bib content.
|
|
15907
|
+
const focusables = getFocusableElements(this.bibContent);
|
|
15908
|
+
|
|
15909
|
+
// Fallback: try from slotted content directly
|
|
15910
|
+
if (!focusables.length) {
|
|
15911
|
+
const slot = this.shadowRoot.querySelector('.slotContent slot');
|
|
15912
|
+
const assignedNodes = slot ? slot.assignedNodes({ flatten: true }) : [];
|
|
15913
|
+
|
|
15914
|
+
for (const node of assignedNodes) {
|
|
15915
|
+
if (node.nodeType === Node.ELEMENT_NODE) {
|
|
15916
|
+
focusables.push(...getFocusableElements(node));
|
|
15917
|
+
}
|
|
15918
|
+
}
|
|
15919
|
+
}
|
|
15920
|
+
|
|
15921
|
+
if (!focusables.length) {
|
|
15922
|
+
return;
|
|
15923
|
+
}
|
|
15924
|
+
|
|
15925
|
+
event.preventDefault();
|
|
15926
|
+
|
|
15927
|
+
const direction = event.shiftKey ? -1 : 1; // eslint-disable-line no-magic-numbers
|
|
15928
|
+
|
|
15929
|
+
// Walk the active element chain through shadow roots
|
|
15930
|
+
const actives = this._getActiveElements();
|
|
15931
|
+
|
|
15932
|
+
let idx = focusables.findIndex((el) => actives.includes(el));
|
|
15933
|
+
|
|
15934
|
+
if (idx === -1) { // eslint-disable-line no-magic-numbers
|
|
15935
|
+
// Focus is not on a known element — move to first/last
|
|
15936
|
+
idx = direction === 1 ? -1 : focusables.length; // eslint-disable-line no-magic-numbers
|
|
15937
|
+
}
|
|
15938
|
+
|
|
15939
|
+
// Try each element in order, skipping any that can't receive focus
|
|
15940
|
+
// (e.g. hidden elements, elements in collapsed sections)
|
|
15941
|
+
for (let index = 0; index < focusables.length; index++) { // eslint-disable-line no-plusplus
|
|
15942
|
+
let nextIdx = idx + direction;
|
|
15943
|
+
|
|
15944
|
+
// Wrap around
|
|
15945
|
+
if (nextIdx < 0) {
|
|
15946
|
+
nextIdx = focusables.length - 1;
|
|
15947
|
+
} else if (nextIdx >= focusables.length) {
|
|
15948
|
+
nextIdx = 0;
|
|
15949
|
+
}
|
|
15950
|
+
|
|
15951
|
+
focusables[nextIdx].focus();
|
|
15952
|
+
|
|
15953
|
+
// Verify focus actually moved to the target
|
|
15954
|
+
const newActives = this._getActiveElements();
|
|
15955
|
+
|
|
15956
|
+
if (newActives.includes(focusables[nextIdx])) {
|
|
15957
|
+
return;
|
|
15958
|
+
}
|
|
15959
|
+
|
|
15960
|
+
// Focus didn't stick — skip this element and try the next
|
|
15961
|
+
idx = nextIdx;
|
|
15962
|
+
}
|
|
15963
|
+
};
|
|
15964
|
+
this.addEventListener('keydown', this._bibTabHandler);
|
|
15965
|
+
|
|
15966
|
+
// Move initial focus into the bib content, matching FocusTrap behavior
|
|
15967
|
+
requestAnimationFrame(() => {
|
|
15968
|
+
const focusables = getFocusableElements(this.bibContent);
|
|
15969
|
+
if (focusables.length) {
|
|
15970
|
+
focusables[0].focus();
|
|
15971
|
+
}
|
|
15972
|
+
});
|
|
15973
|
+
} else {
|
|
15974
|
+
// Normal desktop: use FocusTrap on the bib element
|
|
15975
|
+
this.focusTrap = new FocusTrap(this.bibContent);
|
|
15976
|
+
this.focusTrap.focusFirstElement();
|
|
15977
|
+
}
|
|
14460
15978
|
}
|
|
14461
15979
|
// Fullscreen: showModal() provides native focus trapping
|
|
15980
|
+
}
|
|
15981
|
+
}
|
|
15982
|
+
|
|
15983
|
+
/**
|
|
15984
|
+
* Returns the chain of active (focused) elements through shadow roots.
|
|
15985
|
+
* @private
|
|
15986
|
+
* @returns {Array<HTMLElement>}
|
|
15987
|
+
*/
|
|
15988
|
+
_getActiveElements() {
|
|
15989
|
+
let { activeElement } = document;
|
|
15990
|
+
const actives = [activeElement];
|
|
15991
|
+
|
|
15992
|
+
while (activeElement?.shadowRoot?.activeElement) {
|
|
15993
|
+
activeElement = activeElement.shadowRoot.activeElement;
|
|
15994
|
+
actives.push(activeElement);
|
|
15995
|
+
}
|
|
15996
|
+
|
|
15997
|
+
return actives;
|
|
15998
|
+
}
|
|
15999
|
+
|
|
16000
|
+
/**
|
|
16001
|
+
* Sets `inert` on sibling elements of the dropdown's top-level host
|
|
16002
|
+
* so that content outside the dropdown is not interactive while the modal is open.
|
|
16003
|
+
* Walks up through shadow DOM boundaries to find the outermost host element
|
|
16004
|
+
* in the light DOM, then sets `inert` on siblings at each ancestor level
|
|
16005
|
+
* to ensure all page content outside the host subtree is inert.
|
|
16006
|
+
* @private
|
|
16007
|
+
*/
|
|
16008
|
+
_setPageInert() {
|
|
16009
|
+
if (this._inertSiblings) {
|
|
14462
16010
|
return;
|
|
14463
16011
|
}
|
|
14464
16012
|
|
|
14465
|
-
|
|
14466
|
-
|
|
14467
|
-
|
|
16013
|
+
this._inertSiblings = [];
|
|
16014
|
+
|
|
16015
|
+
// Walk up through shadow DOM boundaries to find the topmost host
|
|
16016
|
+
// element in the light DOM. For example, if this dropdown is inside
|
|
16017
|
+
// auro-datepicker's shadow DOM, we walk up to the datepicker element
|
|
16018
|
+
// so we set inert on its siblings — not on the datepicker itself.
|
|
16019
|
+
let host = this;
|
|
16020
|
+
while (host.getRootNode() instanceof ShadowRoot) {
|
|
16021
|
+
host = host.getRootNode().host;
|
|
16022
|
+
}
|
|
16023
|
+
|
|
16024
|
+
// Walk up the ancestor chain, inerting siblings at each level
|
|
16025
|
+
// to ensure the entire page outside the host subtree is inert.
|
|
16026
|
+
let current = host;
|
|
16027
|
+
while (current.parentElement) {
|
|
16028
|
+
const parent = current.parentElement;
|
|
16029
|
+
for (const sibling of parent.children) {
|
|
16030
|
+
if (sibling !== current) {
|
|
16031
|
+
this._inertSiblings.push({ element: sibling, wasInert: sibling.inert });
|
|
16032
|
+
sibling.inert = true;
|
|
16033
|
+
}
|
|
16034
|
+
}
|
|
16035
|
+
current = parent;
|
|
16036
|
+
}
|
|
16037
|
+
}
|
|
16038
|
+
|
|
16039
|
+
/**
|
|
16040
|
+
* Restores `inert` state on siblings that were tracked by `_setPageInert`.
|
|
16041
|
+
* Preserves the previous inert state so externally-inerted elements are
|
|
16042
|
+
* not inadvertently re-enabled.
|
|
16043
|
+
* @private
|
|
16044
|
+
*/
|
|
16045
|
+
_clearPageInert() {
|
|
16046
|
+
if (this._inertSiblings) {
|
|
16047
|
+
for (const entry of this._inertSiblings) {
|
|
16048
|
+
entry.element.inert = entry.wasInert;
|
|
16049
|
+
}
|
|
16050
|
+
this._inertSiblings = undefined;
|
|
14468
16051
|
}
|
|
14469
16052
|
}
|
|
14470
16053
|
|
|
@@ -14703,6 +16286,7 @@ class AuroDropdown extends AuroElement$2 {
|
|
|
14703
16286
|
shape="${this.shape}"
|
|
14704
16287
|
?data-show="${this.isPopoverVisible}"
|
|
14705
16288
|
?isfullscreen="${this.isBibFullscreen}"
|
|
16289
|
+
?desktopmodal="${this.desktopModal}"
|
|
14706
16290
|
.dialogLabel="${this.bibDialogLabel}"
|
|
14707
16291
|
${n(this.bibElement)}
|
|
14708
16292
|
>
|
|
@@ -21408,7 +22992,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$1 {
|
|
|
21408
22992
|
}
|
|
21409
22993
|
};
|
|
21410
22994
|
|
|
21411
|
-
var formkitVersion = '
|
|
22995
|
+
var formkitVersion = '202605210248';
|
|
21412
22996
|
|
|
21413
22997
|
// Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
21414
22998
|
// See LICENSE in the project root for license information.
|
|
@@ -22663,26 +24247,62 @@ function applyKeyboardStrategy(component, strategy, options = {}) {
|
|
|
22663
24247
|
// components/datepicker/docs/partials/keyboardBehavior.md
|
|
22664
24248
|
//
|
|
22665
24249
|
// Current behavior (transitional — full bib keyboard navigation is planned for a future iteration):
|
|
22666
|
-
// - The bib opens and closes via pointer/touch interaction only.
|
|
22667
24250
|
// - Escape closes the bib and prevents the event from reaching parent containers.
|
|
24251
|
+
// - Enter opens the bib when it is closed (trigger input only, not clear button).
|
|
24252
|
+
// - Space opens the bib when it is closed (trigger input only, not clear button).
|
|
22668
24253
|
// - Tab uses the browser's default tabindex sequence across trigger controls.
|
|
22669
|
-
// - Enter and Space do not open or close the bib.
|
|
22670
24254
|
//
|
|
22671
24255
|
// This file is an intentional placeholder for most keys. When datepicker bib keyboard navigation is
|
|
22672
24256
|
// added, handlers should go here following the same strategy pattern used by
|
|
22673
24257
|
// auro-select (selectKeyboardStrategy.js) and auro-combobox (comboboxKeyboardStrategy.js).
|
|
22674
24258
|
const datepickerKeyboardStrategy = {
|
|
22675
|
-
Escape(component, evt) {
|
|
22676
|
-
if (!
|
|
24259
|
+
Escape(component, evt, ctx) {
|
|
24260
|
+
if (!ctx.isExpanded) {
|
|
22677
24261
|
return;
|
|
22678
24262
|
}
|
|
22679
24263
|
|
|
22680
|
-
//
|
|
22681
|
-
//
|
|
22682
|
-
// seeing this event, we must also close the dropdown explicitly.
|
|
24264
|
+
// Stop propagation so parent containers (auro-dialog, auro-drawer)
|
|
24265
|
+
// don't also react to Escape.
|
|
22683
24266
|
evt.stopPropagation();
|
|
24267
|
+
evt.preventDefault();
|
|
24268
|
+
|
|
24269
|
+
component.hideBib();
|
|
24270
|
+
},
|
|
24271
|
+
|
|
24272
|
+
Enter(component, evt, ctx) {
|
|
24273
|
+
if (ctx.isExpanded) {
|
|
24274
|
+
return;
|
|
24275
|
+
}
|
|
24276
|
+
|
|
24277
|
+
// Only open from the trigger input, not the clear button or other internal elements.
|
|
24278
|
+
// evt.target is retargeted to the host in shadow DOM, so use composedPath()
|
|
24279
|
+
// to find the real origin. The clear button is rendered with class "clearBtn".
|
|
24280
|
+
const path = evt.composedPath();
|
|
24281
|
+
if (path.some(el => el.classList?.contains('clearBtn'))) {
|
|
24282
|
+
return;
|
|
24283
|
+
}
|
|
24284
|
+
|
|
24285
|
+
evt.preventDefault();
|
|
24286
|
+
|
|
24287
|
+
component.dropdown.show();
|
|
24288
|
+
},
|
|
24289
|
+
|
|
24290
|
+
' '(component, evt, ctx) {
|
|
24291
|
+
if (ctx.isExpanded) {
|
|
24292
|
+
return;
|
|
24293
|
+
}
|
|
24294
|
+
|
|
24295
|
+
// Only open from the trigger input, not the clear button or other internal elements.
|
|
24296
|
+
// evt.target is retargeted to the host in shadow DOM, so use composedPath()
|
|
24297
|
+
// to find the real origin. The clear button is rendered with class "clearBtn".
|
|
24298
|
+
const path = evt.composedPath();
|
|
24299
|
+
if (path.some(el => el.classList?.contains('clearBtn'))) {
|
|
24300
|
+
return;
|
|
24301
|
+
}
|
|
24302
|
+
|
|
24303
|
+
evt.preventDefault();
|
|
22684
24304
|
|
|
22685
|
-
component.dropdown.
|
|
24305
|
+
component.dropdown.show();
|
|
22686
24306
|
},
|
|
22687
24307
|
};
|
|
22688
24308
|
|
|
@@ -22756,6 +24376,15 @@ class AuroDatePicker extends AuroElement {
|
|
|
22756
24376
|
this.required = false;
|
|
22757
24377
|
this.onDark = false;
|
|
22758
24378
|
this.range = false;
|
|
24379
|
+
this.rangeLabelStart = 'range start';
|
|
24380
|
+
this.rangeLabelEnd = 'range end';
|
|
24381
|
+
this.rangeLabelBeforeRange = 'before range';
|
|
24382
|
+
this.rangeLabelInRange = 'in range';
|
|
24383
|
+
this.rangeLabelAfterRange = 'after range';
|
|
24384
|
+
this.blackoutDates = [];
|
|
24385
|
+
this.blackoutLabel = 'unavailable';
|
|
24386
|
+
this.navLabelPrevMonth = 'Previous month';
|
|
24387
|
+
this.navLabelNextMonth = 'Next month';
|
|
22759
24388
|
this.stacked = false;
|
|
22760
24389
|
this.noValidate = false;
|
|
22761
24390
|
this.validity = undefined;
|
|
@@ -23134,6 +24763,78 @@ class AuroDatePicker extends AuroElement {
|
|
|
23134
24763
|
reflect: true
|
|
23135
24764
|
},
|
|
23136
24765
|
|
|
24766
|
+
/**
|
|
24767
|
+
* Label announced for the range start date cell.
|
|
24768
|
+
*/
|
|
24769
|
+
rangeLabelStart: {
|
|
24770
|
+
type: String,
|
|
24771
|
+
reflect: true
|
|
24772
|
+
},
|
|
24773
|
+
|
|
24774
|
+
/**
|
|
24775
|
+
* Label announced for the range end date cell.
|
|
24776
|
+
*/
|
|
24777
|
+
rangeLabelEnd: {
|
|
24778
|
+
type: String,
|
|
24779
|
+
reflect: true
|
|
24780
|
+
},
|
|
24781
|
+
|
|
24782
|
+
/**
|
|
24783
|
+
* Label announced for cells before the range start.
|
|
24784
|
+
*/
|
|
24785
|
+
rangeLabelBeforeRange: {
|
|
24786
|
+
type: String,
|
|
24787
|
+
reflect: true
|
|
24788
|
+
},
|
|
24789
|
+
|
|
24790
|
+
/**
|
|
24791
|
+
* Label announced for cells within the selected range.
|
|
24792
|
+
*/
|
|
24793
|
+
rangeLabelInRange: {
|
|
24794
|
+
type: String,
|
|
24795
|
+
reflect: true
|
|
24796
|
+
},
|
|
24797
|
+
|
|
24798
|
+
/**
|
|
24799
|
+
* Label announced for cells after the range (or after start when no end is selected).
|
|
24800
|
+
*/
|
|
24801
|
+
rangeLabelAfterRange: {
|
|
24802
|
+
type: String,
|
|
24803
|
+
reflect: true
|
|
24804
|
+
},
|
|
24805
|
+
|
|
24806
|
+
/**
|
|
24807
|
+
* Array of dates that cannot be selected. Dates should be in ISO format (YYYY-MM-DD).
|
|
24808
|
+
*/
|
|
24809
|
+
blackoutDates: {
|
|
24810
|
+
type: Array,
|
|
24811
|
+
reflect: true
|
|
24812
|
+
},
|
|
24813
|
+
|
|
24814
|
+
/**
|
|
24815
|
+
* Label announced for blackout (disabled but in-range) date cells.
|
|
24816
|
+
*/
|
|
24817
|
+
blackoutLabel: {
|
|
24818
|
+
type: String,
|
|
24819
|
+
reflect: true
|
|
24820
|
+
},
|
|
24821
|
+
|
|
24822
|
+
/**
|
|
24823
|
+
* Accessible label for the previous month navigation button.
|
|
24824
|
+
*/
|
|
24825
|
+
navLabelPrevMonth: {
|
|
24826
|
+
type: String,
|
|
24827
|
+
reflect: true
|
|
24828
|
+
},
|
|
24829
|
+
|
|
24830
|
+
/**
|
|
24831
|
+
* Accessible label for the next month navigation button.
|
|
24832
|
+
*/
|
|
24833
|
+
navLabelNextMonth: {
|
|
24834
|
+
type: String,
|
|
24835
|
+
reflect: true
|
|
24836
|
+
},
|
|
24837
|
+
|
|
23137
24838
|
/**
|
|
23138
24839
|
* Dates that the user should have for reference as part of their decision making when selecting a date.
|
|
23139
24840
|
* This should be a JSON string array of dates in the format of `MM/DD/YYYY`.
|
|
@@ -23160,6 +24861,7 @@ class AuroDatePicker extends AuroElement {
|
|
|
23160
24861
|
|
|
23161
24862
|
/**
|
|
23162
24863
|
* Custom help text message to display when validity = `customError`.
|
|
24864
|
+
* Also used as the validation message when a blackout date is typed into the input.
|
|
23163
24865
|
*/
|
|
23164
24866
|
setCustomValidityCustomError: {
|
|
23165
24867
|
type: String
|
|
@@ -23481,6 +25183,61 @@ class AuroDatePicker extends AuroElement {
|
|
|
23481
25183
|
}));
|
|
23482
25184
|
}
|
|
23483
25185
|
|
|
25186
|
+
/**
|
|
25187
|
+
* Attempts to focus the active calendar cell using a rAF retry loop.
|
|
25188
|
+
* Shared by both fullscreen and desktop open paths.
|
|
25189
|
+
* @private
|
|
25190
|
+
* @returns {void}
|
|
25191
|
+
*/
|
|
25192
|
+
focusActiveCellWhenReady() {
|
|
25193
|
+
const MAX_ATTEMPTS = 20;
|
|
25194
|
+
let attempts = 0;
|
|
25195
|
+
|
|
25196
|
+
const tryFocus = () => {
|
|
25197
|
+
attempts += 1;
|
|
25198
|
+
const allCells = this.calendar.getAllFocusableCells();
|
|
25199
|
+
|
|
25200
|
+
if (!allCells.length && attempts < MAX_ATTEMPTS) {
|
|
25201
|
+
requestAnimationFrame(tryFocus);
|
|
25202
|
+
return;
|
|
25203
|
+
}
|
|
25204
|
+
|
|
25205
|
+
// Compute and mark the active cell
|
|
25206
|
+
if (this.calendar.activeCellDate == null) {
|
|
25207
|
+
this.calendar.activeCellDate = this.calendar.computeActiveDate();
|
|
25208
|
+
}
|
|
25209
|
+
if (this.calendar.activeCellDate !== undefined) {
|
|
25210
|
+
this.calendar.setActiveCell(this.calendar.activeCellDate);
|
|
25211
|
+
}
|
|
25212
|
+
|
|
25213
|
+
// If no cell matched (e.g. centralDate month differs from the rendered
|
|
25214
|
+
// range on mobile), fall back to the first rendered enabled cell.
|
|
25215
|
+
let activeCell = allCells.find(cell => cell.active);
|
|
25216
|
+
if (!activeCell && allCells.length) {
|
|
25217
|
+
const fallback = allCells[0];
|
|
25218
|
+
if (fallback.day) {
|
|
25219
|
+
this.calendar.activeCellDate = fallback.day.date;
|
|
25220
|
+
this.calendar.setActiveCell(this.calendar.activeCellDate);
|
|
25221
|
+
activeCell = allCells.find(cell => cell.active);
|
|
25222
|
+
}
|
|
25223
|
+
}
|
|
25224
|
+
|
|
25225
|
+
// Focus the calendar grid wrapper (aria-activedescendant handles
|
|
25226
|
+
// the SR announcement for the active cell).
|
|
25227
|
+
if (activeCell) {
|
|
25228
|
+
// Announce the initial active cell via the live region
|
|
25229
|
+
const announcement = this.calendar.buildFocusAnnouncement(activeCell.day.date);
|
|
25230
|
+
this.calendar.announceSelection(announcement);
|
|
25231
|
+
|
|
25232
|
+
this.calendar.focusActiveCell();
|
|
25233
|
+
} else if (attempts < MAX_ATTEMPTS) {
|
|
25234
|
+
requestAnimationFrame(tryFocus);
|
|
25235
|
+
}
|
|
25236
|
+
};
|
|
25237
|
+
|
|
25238
|
+
requestAnimationFrame(tryFocus);
|
|
25239
|
+
}
|
|
25240
|
+
|
|
23484
25241
|
/**
|
|
23485
25242
|
* Binds all behavior needed to the dropdown after rendering.
|
|
23486
25243
|
* @private
|
|
@@ -23489,6 +25246,12 @@ class AuroDatePicker extends AuroElement {
|
|
|
23489
25246
|
configureDropdown() {
|
|
23490
25247
|
this.dropdown = this.shadowRoot.querySelector(this.dropdownTag._$litStatic$);
|
|
23491
25248
|
|
|
25249
|
+
// The datepicker manages its own open/close lifecycle (Space/Escape/date-select/done).
|
|
25250
|
+
// Prevent the floater's document-level focusin handler from closing the bib
|
|
25251
|
+
// when focus moves from the trigger into the calendar cells (which live inside
|
|
25252
|
+
// a top-layer popover where :focus-within on the dropdown host returns false).
|
|
25253
|
+
this.dropdown.noHideOnThisFocusLoss = true;
|
|
25254
|
+
|
|
23492
25255
|
// Pass label text to the dropdown bib for accessible dialog naming.
|
|
23493
25256
|
// Without this, the fullscreen <dialog> has no accessible name and
|
|
23494
25257
|
// screen readers announce it as just "dialog" with no context.
|
|
@@ -23506,6 +25269,23 @@ class AuroDatePicker extends AuroElement {
|
|
|
23506
25269
|
this.dropdown.addEventListener('auroDropdown-toggled', () => {
|
|
23507
25270
|
this.notifyDatepickerToggled();
|
|
23508
25271
|
|
|
25272
|
+
if (this.dropdown.isPopoverVisible) {
|
|
25273
|
+
// Reset calendar focus state so it recomputes from the current selection.
|
|
25274
|
+
// Without this, reopening after navigating to a month without a selected
|
|
25275
|
+
// date leaves activeCellDate pointing at a cell in a different month than
|
|
25276
|
+
// what centralDate renders, causing all cells to have tabindex="-1".
|
|
25277
|
+
this.calendar.activeCellDate = null;
|
|
25278
|
+
|
|
25279
|
+
// Show the month containing the selected date (or today) instead of
|
|
25280
|
+
// whichever month the user last navigated to.
|
|
25281
|
+
// Respect consumer-provided centralDate/calendarStartDate if no value is set.
|
|
25282
|
+
if (this.value && this.util.validDateStr(this.value, this.format)) {
|
|
25283
|
+
this.calendarRenderUtil.updateCentralDate(this, this.formattedValue);
|
|
25284
|
+
} else if (!this.centralDate && !this.calendarStartDate && !this.minDate) {
|
|
25285
|
+
this.calendarRenderUtil.updateCentralDate(this, new Date());
|
|
25286
|
+
}
|
|
25287
|
+
}
|
|
25288
|
+
|
|
23509
25289
|
// This forces the calendar to render when the dropdown is opened.
|
|
23510
25290
|
// It is not rendered by default
|
|
23511
25291
|
this.calendar.visible = this.dropdown.isPopoverVisible;
|
|
@@ -23538,12 +25318,23 @@ class AuroDatePicker extends AuroElement {
|
|
|
23538
25318
|
bibEl.open(true);
|
|
23539
25319
|
|
|
23540
25320
|
doubleRaf(() => {
|
|
23541
|
-
this.
|
|
25321
|
+
this.focusActiveCellWhenReady();
|
|
23542
25322
|
});
|
|
23543
25323
|
}
|
|
23544
25324
|
});
|
|
23545
25325
|
|
|
23546
25326
|
guardTouchPassthrough(this.shadowRoot.querySelector('.calendarWrapper'));
|
|
25327
|
+
} else {
|
|
25328
|
+
// Desktop (non-fullscreen) modal: make the trigger inert so users
|
|
25329
|
+
// cannot interact with the input while the modal bib is open.
|
|
25330
|
+
if (this.dropdown.desktopModal) {
|
|
25331
|
+
this.dropdown.trigger.inert = true;
|
|
25332
|
+
}
|
|
25333
|
+
|
|
25334
|
+
// Desktop (non-fullscreen): focus the active calendar cell.
|
|
25335
|
+
this.dropdown.updateComplete.then(() => {
|
|
25336
|
+
this.focusActiveCellWhenReady();
|
|
25337
|
+
});
|
|
23547
25338
|
}
|
|
23548
25339
|
} else {
|
|
23549
25340
|
// Always clear the inert flag. Only restore focus to the input when the datepicker
|
|
@@ -23589,7 +25380,7 @@ class AuroDatePicker extends AuroElement {
|
|
|
23589
25380
|
bibEl.close();
|
|
23590
25381
|
bibEl.open(true);
|
|
23591
25382
|
doubleRaf(() => {
|
|
23592
|
-
this.
|
|
25383
|
+
this.focusActiveCellWhenReady();
|
|
23593
25384
|
});
|
|
23594
25385
|
}
|
|
23595
25386
|
});
|
|
@@ -23784,14 +25575,8 @@ class AuroDatePicker extends AuroElement {
|
|
|
23784
25575
|
|
|
23785
25576
|
if (onEndValue) {
|
|
23786
25577
|
this.valueEnd = newDate;
|
|
23787
|
-
if (this.dropdown.isPopoverVisible && !this.dropdown.isBibFullscreen) {
|
|
23788
|
-
this.focus('startDate');
|
|
23789
|
-
}
|
|
23790
25578
|
} else {
|
|
23791
25579
|
this.value = newDate;
|
|
23792
|
-
if (this.dropdown.isPopoverVisible && !this.dropdown.isBibFullscreen) {
|
|
23793
|
-
this.focus('endDate');
|
|
23794
|
-
}
|
|
23795
25580
|
}
|
|
23796
25581
|
}
|
|
23797
25582
|
}
|
|
@@ -23831,6 +25616,27 @@ class AuroDatePicker extends AuroElement {
|
|
|
23831
25616
|
this.resetInputs();
|
|
23832
25617
|
}
|
|
23833
25618
|
|
|
25619
|
+
/**
|
|
25620
|
+
* Checks whether a formatted date string matches a blackout date.
|
|
25621
|
+
* @private
|
|
25622
|
+
* @param {string} dateStr - A date string in the component's configured format.
|
|
25623
|
+
* @returns {boolean} True if the date is in the blackoutDates list.
|
|
25624
|
+
*/
|
|
25625
|
+
isBlackoutDate(dateStr) {
|
|
25626
|
+
if (!Array.isArray(this.blackoutDates) || this.blackoutDates.length === 0 || !dateStr) {
|
|
25627
|
+
return false;
|
|
25628
|
+
}
|
|
25629
|
+
|
|
25630
|
+
const formatted = this.util.toNorthAmericanFormat(dateStr, this.format);
|
|
25631
|
+
if (!this.util.validDateStr(dateStr, this.format)) return false;
|
|
25632
|
+
|
|
25633
|
+
const d = new Date(formatted);
|
|
25634
|
+
const yyyy = d.getFullYear();
|
|
25635
|
+
const mm = String(d.getMonth() + 1).padStart(2, '0');
|
|
25636
|
+
const dd = String(d.getDate()).padStart(2, '0');
|
|
25637
|
+
return this.blackoutDates.includes(`${yyyy}-${mm}-${dd}`);
|
|
25638
|
+
}
|
|
25639
|
+
|
|
23834
25640
|
/**
|
|
23835
25641
|
* Validates value.
|
|
23836
25642
|
* @param {boolean} [force=false] - Whether to force validation.
|
|
@@ -23842,6 +25648,24 @@ class AuroDatePicker extends AuroElement {
|
|
|
23842
25648
|
}
|
|
23843
25649
|
|
|
23844
25650
|
this.validation.validate(this, force);
|
|
25651
|
+
|
|
25652
|
+
// After standard validation, check blackout dates for typed input
|
|
25653
|
+
if (this.validity !== 'customError') {
|
|
25654
|
+
if (this.isBlackoutDate(this.value) || (this.range && this.isBlackoutDate(this.valueEnd))) {
|
|
25655
|
+
const msg = this.setCustomValidityCustomError || 'Selected date is unavailable';
|
|
25656
|
+
this.validity = 'customError';
|
|
25657
|
+
this.errorMessage = msg;
|
|
25658
|
+
|
|
25659
|
+
this.dispatchEvent(new CustomEvent('auroFormElement-validated', {
|
|
25660
|
+
bubbles: true,
|
|
25661
|
+
composed: true,
|
|
25662
|
+
detail: {
|
|
25663
|
+
validity: this.validity,
|
|
25664
|
+
message: this.errorMessage
|
|
25665
|
+
}
|
|
25666
|
+
}));
|
|
25667
|
+
}
|
|
25668
|
+
}
|
|
23845
25669
|
}
|
|
23846
25670
|
|
|
23847
25671
|
/**
|
|
@@ -23922,6 +25746,9 @@ class AuroDatePicker extends AuroElement {
|
|
|
23922
25746
|
|
|
23923
25747
|
if (this.cellClickActive) {
|
|
23924
25748
|
this.cellClickActive = false;
|
|
25749
|
+
this.wasCellClick = true;
|
|
25750
|
+
} else {
|
|
25751
|
+
this.wasCellClick = false;
|
|
23925
25752
|
}
|
|
23926
25753
|
|
|
23927
25754
|
if (this.value && this.util.validDateStr(this.value, this.format)) {
|
|
@@ -23952,16 +25779,44 @@ class AuroDatePicker extends AuroElement {
|
|
|
23952
25779
|
}
|
|
23953
25780
|
|
|
23954
25781
|
if (this.value && this.value.length === this.inputList[0].lengthForType) {
|
|
23955
|
-
|
|
25782
|
+
// Skip centralDate update when user clicked a cell in range mode
|
|
25783
|
+
// to prevent the displayed months from shifting
|
|
25784
|
+
if (!(this.wasCellClick && this.range)) {
|
|
25785
|
+
this.calendarRenderUtil.updateCentralDate(this, this.formattedValue);
|
|
25786
|
+
}
|
|
23956
25787
|
}
|
|
23957
25788
|
|
|
23958
25789
|
this.setHasValue();
|
|
23959
25790
|
}
|
|
23960
25791
|
|
|
25792
|
+
if (changedProperties.has('blackoutDates')) {
|
|
25793
|
+
// Force calendar cells to re-render with updated blackout state.
|
|
25794
|
+
// requestUpdate on the calendar alone is insufficient because cells
|
|
25795
|
+
// don't receive blackoutDates as a bound property. Dispatching the
|
|
25796
|
+
// slot content event triggers handleSlotContent → requestUpdate on each cell.
|
|
25797
|
+
if (this.calendar) {
|
|
25798
|
+
this.calendar.requestUpdate();
|
|
25799
|
+
this.dispatchEvent(new CustomEvent('auroDatePicker-newSlotContent'));
|
|
25800
|
+
}
|
|
25801
|
+
|
|
25802
|
+
// Re-run validation so that a previously valid value that now falls on
|
|
25803
|
+
// a blackout date is flagged, and vice versa.
|
|
25804
|
+
if (this.value || this.valueEnd) {
|
|
25805
|
+
this.validate();
|
|
25806
|
+
}
|
|
25807
|
+
}
|
|
25808
|
+
|
|
23961
25809
|
if (changedProperties.has('valueEnd') && this.inputList[1]) {
|
|
23962
25810
|
|
|
23963
25811
|
this.formattedValueEnd = this.util.toNorthAmericanFormat(this.valueEnd, this.format);
|
|
23964
25812
|
|
|
25813
|
+
if (this.cellClickActive) {
|
|
25814
|
+
this.cellClickActive = false;
|
|
25815
|
+
this.wasCellClick = true;
|
|
25816
|
+
} else {
|
|
25817
|
+
this.wasCellClick = false;
|
|
25818
|
+
}
|
|
25819
|
+
|
|
23965
25820
|
// update the calendar
|
|
23966
25821
|
if (this.valueEnd && this.util.validDateStr(this.valueEnd, this.format)) {
|
|
23967
25822
|
this.calendar.dateTo = this.convertToWcValidTime(this.formattedValueEnd);
|
|
@@ -23989,7 +25844,11 @@ class AuroDatePicker extends AuroElement {
|
|
|
23989
25844
|
}
|
|
23990
25845
|
|
|
23991
25846
|
if (this.valueEnd && this.valueEnd.length === this.inputList[1].lengthForType) {
|
|
23992
|
-
|
|
25847
|
+
// Skip centralDate update when user clicked a cell in range mode
|
|
25848
|
+
// to prevent the displayed months from shifting
|
|
25849
|
+
if (!this.wasCellClick) {
|
|
25850
|
+
this.calendarRenderUtil.updateCentralDate(this, this.formattedValueEnd);
|
|
25851
|
+
}
|
|
23993
25852
|
}
|
|
23994
25853
|
|
|
23995
25854
|
this.validate();
|
|
@@ -24146,6 +26005,7 @@ class AuroDatePicker extends AuroElement {
|
|
|
24146
26005
|
}
|
|
24147
26006
|
|
|
24148
26007
|
firstUpdated() {
|
|
26008
|
+
|
|
24149
26009
|
// Add the tag name as an attribute if it is different than the component name
|
|
24150
26010
|
this.runtimeUtils.handleComponentTagRename(this, 'auro-datepicker');
|
|
24151
26011
|
|
|
@@ -24575,7 +26435,7 @@ class AuroDatePicker extends AuroElement {
|
|
|
24575
26435
|
// Base HTML render() handles dropdown and calendar bib
|
|
24576
26436
|
return u$a`
|
|
24577
26437
|
<!-- Hidden slot for clear button aria-label -->
|
|
24578
|
-
<slot name="ariaLabel.input.clear" hidden @slotchange=${this.requestUpdate}></slot>
|
|
26438
|
+
<slot name="ariaLabel.input.clear" hidden @slotchange=${() => this.requestUpdate()}></slot>
|
|
24579
26439
|
|
|
24580
26440
|
<${this.dropdownTag}
|
|
24581
26441
|
appearance="${this.onDark ? 'inverse' : this.appearance}"
|
|
@@ -24592,6 +26452,7 @@ class AuroDatePicker extends AuroElement {
|
|
|
24592
26452
|
.shape="${this.shape}"
|
|
24593
26453
|
.size="${this.size}"
|
|
24594
26454
|
class="${e$4(dropdownElementClassMap)}"
|
|
26455
|
+
desktopModal
|
|
24595
26456
|
disableEventShow
|
|
24596
26457
|
for="dropdownMenu"
|
|
24597
26458
|
part="dropdown"
|
|
@@ -24611,10 +26472,86 @@ class AuroDatePicker extends AuroElement {
|
|
|
24611
26472
|
}
|
|
24612
26473
|
}
|
|
24613
26474
|
|
|
26475
|
+
function blackoutLabelExample() {
|
|
26476
|
+
const blackoutDP = document.querySelector('#blackoutLabelExample');
|
|
26477
|
+
|
|
26478
|
+
function formatMMDDYYYY(date) {
|
|
26479
|
+
const mm = String(date.getMonth() + 1).padStart(2, '0');
|
|
26480
|
+
const dd = String(date.getDate()).padStart(2, '0');
|
|
26481
|
+
return `${mm}/${dd}/${date.getFullYear()}`;
|
|
26482
|
+
}
|
|
26483
|
+
|
|
26484
|
+
function setup() {
|
|
26485
|
+
const today = new Date();
|
|
26486
|
+
today.setHours(0, 0, 0, 0);
|
|
26487
|
+
|
|
26488
|
+
// Set min to 1 week before today, max to 1 week after today
|
|
26489
|
+
const minDate = new Date(today);
|
|
26490
|
+
minDate.setDate(today.getDate() - 7);
|
|
26491
|
+
|
|
26492
|
+
const maxDate = new Date(today);
|
|
26493
|
+
maxDate.setDate(today.getDate() + 7);
|
|
26494
|
+
|
|
26495
|
+
blackoutDP.setAttribute('minDate', formatMMDDYYYY(minDate));
|
|
26496
|
+
blackoutDP.setAttribute('maxDate', formatMMDDYYYY(maxDate));
|
|
26497
|
+
|
|
26498
|
+
// Generate all dates within the min/max range
|
|
26499
|
+
const blackoutDates = [];
|
|
26500
|
+
|
|
26501
|
+
for (let d = new Date(minDate); d <= maxDate; d.setDate(d.getDate() + 1)) {
|
|
26502
|
+
const current = new Date(d);
|
|
26503
|
+
const mm = String(current.getMonth() + 1).padStart(2, '0');
|
|
26504
|
+
const dd = String(current.getDate()).padStart(2, '0');
|
|
26505
|
+
const yyyy = current.getFullYear();
|
|
26506
|
+
const slotDateStr = `${mm}_${dd}_${yyyy}`;
|
|
26507
|
+
|
|
26508
|
+
// Mark every 3rd date as blackout (deterministic pattern)
|
|
26509
|
+
const dayOfMonth = current.getDate();
|
|
26510
|
+
const isSoldOut = dayOfMonth % 3 === 0;
|
|
26511
|
+
|
|
26512
|
+
if (isSoldOut) {
|
|
26513
|
+
blackoutDates.push(`${yyyy}-${mm}-${dd}`);
|
|
26514
|
+
|
|
26515
|
+
const popover = document.createElement('span');
|
|
26516
|
+
popover.setAttribute('slot', `popover_${slotDateStr}`);
|
|
26517
|
+
popover.textContent = 'There are no tickets available for this date.';
|
|
26518
|
+
blackoutDP.appendChild(popover);
|
|
26519
|
+
} else {
|
|
26520
|
+
// Use a fixed price based on day of month for deterministic output
|
|
26521
|
+
const price = 150 + (dayOfMonth * 17) % 400;
|
|
26522
|
+
|
|
26523
|
+
const dateSlot = document.createElement('span');
|
|
26524
|
+
dateSlot.setAttribute('slot', `date_${slotDateStr}`);
|
|
26525
|
+
dateSlot.textContent = `$${price}`;
|
|
26526
|
+
blackoutDP.appendChild(dateSlot);
|
|
26527
|
+
}
|
|
26528
|
+
}
|
|
26529
|
+
|
|
26530
|
+
blackoutDP.blackoutDates = blackoutDates;
|
|
26531
|
+
}
|
|
26532
|
+
|
|
26533
|
+
setup();
|
|
26534
|
+
}
|
|
26535
|
+
|
|
24614
26536
|
AuroDatePicker.register(); // registering to auro-datepicker
|
|
24615
26537
|
AuroDatePicker.register('custom-datepicker');
|
|
24616
26538
|
|
|
24617
26539
|
function initExamples(initCount) {
|
|
26540
|
+
initCount = initCount || 0;
|
|
26541
|
+
|
|
26542
|
+
try {
|
|
26543
|
+
// Only run when the demo element exists on the current page
|
|
26544
|
+
if (document.querySelector('#blackoutLabelExample')) {
|
|
26545
|
+
blackoutLabelExample();
|
|
26546
|
+
}
|
|
26547
|
+
} catch {
|
|
26548
|
+
if (initCount <= 20) {
|
|
26549
|
+
// setTimeout handles issue where content is sometimes loaded after the functions get called
|
|
26550
|
+
setTimeout(() => {
|
|
26551
|
+
initExamples(initCount + 1);
|
|
26552
|
+
}, 100);
|
|
26553
|
+
}
|
|
26554
|
+
}
|
|
24618
26555
|
}
|
|
24619
26556
|
|
|
24620
26557
|
export { initExamples };
|