@aurodesignsystem-dev/auro-formkit 0.0.0-pr1477.2 → 0.0.0-pr1480.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 +26492 -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 +2115 -184
- 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 +2010 -155
- package/components/datepicker/dist/registered.js +2010 -155
- 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 +2726 -219
- package/components/form/demo/getting-started.min.js +2726 -219
- package/components/form/demo/index.min.js +2726 -219
- package/components/form/demo/pages.json +1 -1
- package/components/form/demo/registerDemoDeps.min.js +2726 -219
- 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 +2446 -1502
- package/package.json +2 -2
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { unsafeStatic, literal, html as html$1 } from 'lit/static-html.js';
|
|
2
2
|
import { classMap } from 'lit/directives/class-map.js';
|
|
3
|
-
import { html, css, LitElement } from 'lit';
|
|
3
|
+
import { html, css, LitElement, nothing } from 'lit';
|
|
4
4
|
import { property } from 'lit/decorators.js';
|
|
5
5
|
import { ifDefined } from 'lit/directives/if-defined.js';
|
|
6
6
|
import { createRef, ref } from 'lit/directives/ref.js';
|
|
@@ -1343,7 +1343,6 @@ class UtilitiesCalendarRender {
|
|
|
1343
1343
|
.max="${elem.max}"
|
|
1344
1344
|
?noRange="${elem.noRange}"
|
|
1345
1345
|
.monthFirst="${elem.monthFirst}"
|
|
1346
|
-
.hoveredDate="${elem.hoveredDate}"
|
|
1347
1346
|
.dateTo="${elem.dateTo}"
|
|
1348
1347
|
.dateFrom="${elem.dateFrom}"
|
|
1349
1348
|
.locale="${elem.locale}"
|
|
@@ -1375,43 +1374,6 @@ var snowflakeStyle = css`:host([layout*=snowflake]) [auro-input]{flex:1;text-ali
|
|
|
1375
1374
|
|
|
1376
1375
|
var snowflakeColors = css`:host([layout=snowflake]) [auro-dropdown]:not(:is([error],.hasFocus)){--ds-auro-dropdown-trigger-border-color: transparent}`;
|
|
1377
1376
|
|
|
1378
|
-
var styleCss$7 = css`.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:""}`;
|
|
1379
|
-
|
|
1380
|
-
var colorCss$7 = css`.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)}}`;
|
|
1381
|
-
|
|
1382
|
-
var styleCss$6 = css`: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%}`;
|
|
1383
|
-
|
|
1384
|
-
var colorCss$6 = css`: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)}`;
|
|
1385
|
-
|
|
1386
|
-
/******************************************************************************
|
|
1387
|
-
Copyright (c) Microsoft Corporation.
|
|
1388
|
-
|
|
1389
|
-
Permission to use, copy, modify, and/or distribute this software for any
|
|
1390
|
-
purpose with or without fee is hereby granted.
|
|
1391
|
-
|
|
1392
|
-
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
1393
|
-
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
1394
|
-
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
1395
|
-
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
1396
|
-
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
1397
|
-
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
1398
|
-
PERFORMANCE OF THIS SOFTWARE.
|
|
1399
|
-
***************************************************************************** */
|
|
1400
|
-
/* global Reflect, Promise, SuppressedError, Symbol, Iterator */
|
|
1401
|
-
|
|
1402
|
-
|
|
1403
|
-
function __decorate(decorators, target, key, desc) {
|
|
1404
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
1405
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
1406
|
-
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;
|
|
1407
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
1408
|
-
}
|
|
1409
|
-
|
|
1410
|
-
typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
|
|
1411
|
-
var e = new Error(message);
|
|
1412
|
-
return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
|
|
1413
|
-
};
|
|
1414
|
-
|
|
1415
1377
|
/**
|
|
1416
1378
|
* @module constants
|
|
1417
1379
|
* @summary Useful constants
|
|
@@ -7166,6 +7128,43 @@ function subYears(date, amount, options) {
|
|
|
7166
7128
|
return addYears(date, -1, options);
|
|
7167
7129
|
}
|
|
7168
7130
|
|
|
7131
|
+
var styleCss$7 = css`.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}`;
|
|
7132
|
+
|
|
7133
|
+
var colorCss$7 = css`.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)}}`;
|
|
7134
|
+
|
|
7135
|
+
var styleCss$6 = css`: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%}`;
|
|
7136
|
+
|
|
7137
|
+
var colorCss$6 = css`: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)}`;
|
|
7138
|
+
|
|
7139
|
+
/******************************************************************************
|
|
7140
|
+
Copyright (c) Microsoft Corporation.
|
|
7141
|
+
|
|
7142
|
+
Permission to use, copy, modify, and/or distribute this software for any
|
|
7143
|
+
purpose with or without fee is hereby granted.
|
|
7144
|
+
|
|
7145
|
+
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
7146
|
+
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
7147
|
+
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
7148
|
+
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
7149
|
+
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
7150
|
+
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
7151
|
+
PERFORMANCE OF THIS SOFTWARE.
|
|
7152
|
+
***************************************************************************** */
|
|
7153
|
+
/* global Reflect, Promise, SuppressedError, Symbol, Iterator */
|
|
7154
|
+
|
|
7155
|
+
|
|
7156
|
+
function __decorate(decorators, target, key, desc) {
|
|
7157
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
7158
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
7159
|
+
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;
|
|
7160
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7161
|
+
}
|
|
7162
|
+
|
|
7163
|
+
typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
|
|
7164
|
+
var e = new Error(message);
|
|
7165
|
+
return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
|
|
7166
|
+
};
|
|
7167
|
+
|
|
7169
7168
|
class RangeDatepickerCell extends LitElement {
|
|
7170
7169
|
constructor() {
|
|
7171
7170
|
super(...arguments);
|
|
@@ -7888,20 +7887,25 @@ __decorate([property({ type: Array })], RangeDatepickerCalendar.prototype, "dayN
|
|
|
7888
7887
|
__decorate([property({ type: Array })], RangeDatepickerCalendar.prototype, "daysOfMonth", void 0);
|
|
7889
7888
|
AuroLibraryRuntimeUtils$5.prototype.registerComponent('wc-range-datepicker-calendar', RangeDatepickerCalendar);
|
|
7890
7889
|
|
|
7891
|
-
var styleCss$5 = css`.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}}`;
|
|
7890
|
+
var styleCss$5 = css`.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}}`;
|
|
7892
7891
|
|
|
7893
|
-
var colorCss$5 = css`: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}`;
|
|
7892
|
+
var colorCss$5 = css`: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}`;
|
|
7894
7893
|
|
|
7895
|
-
class s{registerComponent(e,t){customElements.get(e)||customElements.define(e,class extends t{});}closestElement(e,t=this,i=(t,s=t&&t.closest(e))=>t&&t!==document&&t!==window?s||i(t.getRootNode().host):null){return i(t)}handleComponentTagRename(e,t){const i=t.toLowerCase();e.tagName.toLowerCase()!==i&&e.setAttribute(i,true);}elementMatch(e,t){const i=t.toLowerCase();return e.tagName.toLowerCase()===i||e.hasAttribute(i)}getSlotText(e,t){const i=e.shadowRoot?.querySelector(`slot[name="${t}"]`);return (i?.assignedNodes({flatten:true})||[]).map(e=>e.textContent?.trim()).join(" ").trim()||null}}var r$1="top",o="bottom",n$1="right",a="left",l$3="auto",c$3=[r$1,o,n$1,a],p$6="start",d$3="end",f$6="viewport",h$3="popper",m$6=c$3.reduce(function(e,t){return e.concat([t+"-"+p$6,t+"-"+d$3])},[]),u$6=[].concat(c$3,[l$3]).reduce(function(e,t){return e.concat([t,t+"-"+p$6,t+"-"+d$3])},[]),g$6=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"];function v$3(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$3(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$3(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$6(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$6(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$3(e))>=0}function C$3(e){return ((w$6(e)?e.ownerDocument:e.document)||window.document).documentElement}function R$3(e){return "html"===v$3(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$3(i)||"body"===v$3(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$3(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$1].indexOf(f)>=0?"height":"width";if(p&&d){var u=function(e,t){return I("number"!=typeof(e="function"==typeof e?e(Object.assign({},t.rects,{placement:t.placement})):e)?e:F(e,c$3))}(l.padding,i),g=T$3(p),v="y"===h?r$1:a,y="y"===h?o:n$1,w=i.rects.reference[m]+i.rects.reference[h]-d[h]-i.rects.popper[m],b=d[h]-i.rects.reference[h],x=N$3(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$1,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$1||(l===a||l===n$1)&&c===d$3)z=o,x-=(g&&M===E&&E.visualViewport?E.visualViewport.height:M[T])-s.height,x*=h?1:-1;if(l===a||(l===r$1||l===o)&&c===d$3)k=n$1,w-=(g&&M===E&&E.visualViewport?E.visualViewport.width:M[B])-s.width,w*=h?1:-1;}var H,R=Object.assign({position:f},m&&W),j=true===u?function(e,t){var i=e.x,s=e.y,r=t.devicePixelRatio||1;return {x:A$3(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$6(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$3(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$6?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$6(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$3(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$1:t={x:h,y:i.y-s.height};break;case o:t={x:h,y:i.y+i.height};break;case n$1:t={x:i.x+i.width,y:m};break;case a:t={x:i.x-s.width,y:m};break;default:t={x:i.x,y:i.y};}var u=c?P(c):null;if(null!=u){var g="y"===u?"height":"width";switch(f){case p$6: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$6:u,v=i.elementContext,y=void 0===v?h$3:v,b=i.altBoundary,x=void 0!==b&&b,S=i.padding,_=void 0===S?0:S,O=I("number"!=typeof _?_:F(_,c$3)),k=y===h$3?"reference":h$3,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$6(e.elements.reference),B=oe({reference:T,element:A,placement:a}),L=ie(Object.assign({},A,B)),H=y===h$3?L:T,R={top:E.top-H.top+O.top,bottom:H.bottom-E.bottom+O.bottom,left:E.left-H.left+O.left,right:H.right-E.right+O.right},j=e.modifiersData.offset;if(y===h$3&&j){var N=j[a];Object.keys(R).forEach(function(e){var t=[n$1,o].indexOf(e)>=0?1:-1,i=[r$1,o].indexOf(e)>=0?"y":"x";R[e]+=N[i]*t;});}return R}function ae(e,t){ void 0===t&&(t={});var i=t,s=i.placement,r=i.boundary,o=i.rootBoundary,n=i.padding,a=i.flipVariations,l=i.allowedAutoPlacements,p=void 0===l?u$6:l,d=q$3(s),f=d?a?m$6:m$6.filter(function(e){return q$3(e)===d}):c$3,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$6,j=[r$1,o].indexOf(C)>=0,N=j?"width":"height",P=ne(t,{placement:H,boundary:g,rootBoundary:v,altBoundary:y,padding:u}),D=j?R?n$1:a:R?o:r$1;z[N]>E[N]&&(D=$(D));var I=$(D),F=[];if(d&&F.push(P[C]<=0),h&&F.push(P[D]<=0,P[I]<=0),F.every(function(e){return e})){B=H,T=false;break}M.set(H,F);}if(T)for(var U=function(e){var t=A.find(function(t){var i=M.get(t);if(i)return i.slice(0,e).every(function(e){return e})});if(t)return B=t,"break"},W=b?3:1;W>0;W--){if("break"===U(W))break}t.placement!==B&&(t.modifiersData[s]._skip=true,t.placement=B,t.reset=true);}},requiresIfExists:["offset"],data:{_skip:false}};function ce(e,t,i){return void 0===i&&(i={x:0,y:0}),{top:e.top-t.height-i.y,right:e.right-t.width+i.x,bottom:e.bottom-t.height+i.y,left:e.left-t.width-i.x}}function pe(e){return [r$1,n$1,o,a].some(function(t){return e[t]>=0})}var de={name:"offset",enabled:true,phase:"main",requires:["popperOffsets"],fn:function(e){var t=e.state,i=e.options,s=e.name,o=i.offset,l=void 0===o?[0,0]:o,c=u$6.reduce(function(e,i){return e[i]=function(e,t,i){var s=_$4(e),o=[a,r$1].indexOf(s)>=0?-1:1,l="function"==typeof i?i(Object.assign({},t,{placement:e})):i,c=l[0],p=l[1];return c=c||0,p=(p||0)*o,[a,n$1].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$1:a,W="y"===E?o:n$1,X="y"===E?"height":"width",V=B[E],G=V+x[U],$=V-x[W],K=y?-H[X]/2:0,Y=A===p$6?L[X]:H[X],J=A===p$6?-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$1:a,me="x"===E?o:n$1,ue=B[M],ge="y"===M?"height":"width",ve=ue+x[he],ye=ue-x[me],we=-1!==[r$1,a].indexOf(S),be=null!=(fe=null==j?void 0:j[M])?fe:0,xe=we?ve:ue-L[ge]-H[ge]-be+R.altAxis,Se=we?ue+L[ge]+H[ge]-be-R.altAxis:ye,_e=y&&we?function(e,t,i){var s=D(e,t,i);return s>i?i:s}(xe,ue,Se):D(y?xe:ve,ue,y?Se:ye);B[M]=_e,I[M]=_e-ue;}t.modifiersData[s]=I;}},requiresIfExists:["offset"]};function he(e,t,i){ void 0===i&&(i=false);var s,r,o=b$3(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$6(e,n,i),c={scrollLeft:0,scrollTop:0},p={x:0,y:0};return (o||!o&&!i)&&(("body"!==v$3(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$6(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=css`::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)}
|
|
7894
|
+
class s{registerComponent(e,t){customElements.get(e)||customElements.define(e,class extends t{});}closestElement(e,t=this,i=(t,s=t&&t.closest(e))=>t&&t!==document&&t!==window?s||i(t.getRootNode().host):null){return i(t)}handleComponentTagRename(e,t){const i=t.toLowerCase();e.tagName.toLowerCase()!==i&&e.setAttribute(i,true);}elementMatch(e,t){const i=t.toLowerCase();return e.tagName.toLowerCase()===i||e.hasAttribute(i)}getSlotText(e,t){const i=e.shadowRoot?.querySelector(`slot[name="${t}"]`);return (i?.assignedNodes({flatten:true})||[]).map(e=>e.textContent?.trim()).join(" ").trim()||null}}var r$1="top",o="bottom",n$1="right",a="left",l$3="auto",c$3=[r$1,o,n$1,a],p$6="start",d$3="end",f$6="viewport",h$3="popper",u$6=c$3.reduce(function(e,t){return e.concat([t+"-"+p$6,t+"-"+d$3])},[]),m$6=[].concat(c$3,[l$3]).reduce(function(e,t){return e.concat([t,t+"-"+p$6,t+"-"+d$3])},[]),g$6=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"];function v$3(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$3(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$3(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$6(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$3(e))>=0}function H$3(e){return ((w$6(e)?e.ownerDocument:e.document)||window.document).documentElement}function C$3(e){return "html"===v$3(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$3(i)||"body"===v$3(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$3(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$1].indexOf(f)>=0?"height":"width";if(p&&d){var m=function(e,t){return I("number"!=typeof(e="function"==typeof e?e(Object.assign({},t.rects,{placement:t.placement})):e)?e:q$3(e,c$3))}(l.padding,i),g=M$6(p),v="y"===h?r$1:a,y="y"===h?o:n$1,w=i.rects.reference[u]+i.rects.reference[h]-d[h]-i.rects.popper[u],b=d[h]-i.rects.reference[h],x=N$3(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$1,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$1||(l===a||l===n$1)&&c===d$3)T=o,x-=(g&&E===z&&z.visualViewport?z.visualViewport.height:E[M])-s.height,x*=h?1:-1;if(l===a||(l===r$1||l===o)&&c===d$3)O=n$1,w-=(g&&E===z&&z.visualViewport?z.visualViewport.width:E[B])-s.width,w*=h?1:-1;}var R,C=Object.assign({position:f},u&&V),D=true===m?function(e,t){var i=e.x,s=e.y,r=t.devicePixelRatio||1;return {x:k$6(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$3(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$6?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$3(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$1:t={x:h,y:i.y-s.height};break;case o:t={x:h,y:i.y+i.height};break;case n$1:t={x:i.x+i.width,y:u};break;case a:t={x:i.x-s.width,y:u};break;default:t={x:i.x,y:i.y};}var m=c?P(c):null;if(null!=m){var g="y"===m?"height":"width";switch(f){case p$6: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$6:m,v=i.elementContext,y=void 0===v?h$3:v,b=i.altBoundary,x=void 0!==b&&b,S=i.padding,_=void 0===S?0:S,A=I("number"!=typeof _?_:q$3(_,c$3)),O=y===h$3?"reference":h$3,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$3?L:M,C={top:z.top-R.top+A.top,bottom:R.bottom-z.bottom+A.bottom,left:z.left-R.left+A.left,right:R.right-z.right+A.right},D=e.modifiersData.offset;if(y===h$3&&D){var N=D[a];Object.keys(C).forEach(function(e){var t=[n$1,o].indexOf(e)>=0?1:-1,i=[r$1,o].indexOf(e)>=0?"y":"x";C[e]+=N[i]*t;});}return C}function ae(e,t){ void 0===t&&(t={});var i=t,s=i.placement,r=i.boundary,o=i.rootBoundary,n=i.padding,a=i.flipVariations,l=i.allowedAutoPlacements,p=void 0===l?m$6:l,d=U$3(s),f=d?a?u$6:u$6.filter(function(e){return U$3(e)===d}):c$3,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$6,D=[r$1,o].indexOf(H)>=0,N=D?"width":"height",P=ne(t,{placement:R,boundary:g,rootBoundary:v,altBoundary:y,padding:m}),j=D?C?n$1:a:C?o:r$1;T[N]>z[N]&&(j=G(j));var I=G(j),q=[];if(d&&q.push(P[H]<=0),h&&q.push(P[j]<=0,P[I]<=0),q.every(function(e){return e})){B=R,M=false;break}E.set(R,q);}if(M)for(var F=function(e){var t=k.find(function(t){var i=E.get(t);if(i)return i.slice(0,e).every(function(e){return e})});if(t)return B=t,"break"},V=b?3:1;V>0;V--){if("break"===F(V))break}t.placement!==B&&(t.modifiersData[s]._skip=true,t.placement=B,t.reset=true);}},requiresIfExists:["offset"],data:{_skip:false}};function ce(e,t,i){return void 0===i&&(i={x:0,y:0}),{top:e.top-t.height-i.y,right:e.right-t.width+i.x,bottom:e.bottom-t.height+i.y,left:e.left-t.width-i.x}}function pe(e){return [r$1,n$1,o,a].some(function(t){return e[t]>=0})}var de={name:"offset",enabled:true,phase:"main",requires:["popperOffsets"],fn:function(e){var t=e.state,i=e.options,s=e.name,o=i.offset,l=void 0===o?[0,0]:o,c=m$6.reduce(function(e,i){return e[i]=function(e,t,i){var s=_$4(e),o=[a,r$1].indexOf(s)>=0?-1:1,l="function"==typeof i?i(Object.assign({},t,{placement:e})):i,c=l[0],p=l[1];return c=c||0,p=(p||0)*o,[a,n$1].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$1:a,V="y"===z?o:n$1,W="y"===z?"height":"width",X=B[z],$=X+x[F],G=X-x[V],K=y?-R[W]/2:0,Y=k===p$6?L[W]:R[W],J=k===p$6?-R[W]:-L[W],Q=t.elements.arrow,Z=y&&Q?M$6(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$1:a,ue="x"===z?o:n$1,me=B[E],ge="y"===E?"height":"width",ve=me+x[he],ye=me-x[ue],we=-1!==[r$1,a].indexOf(S),be=null!=(fe=null==D?void 0:D[E])?fe:0,xe=we?ve:me-L[ge]-R[ge]-be+C.altAxis,Se=we?me+L[ge]+R[ge]-be-C.altAxis:ye,_e=y&&we?function(e,t,i){var s=j(e,t,i);return s>i?i:s}(xe,me,Se):j(y?xe:ve,me,y?Se:ye);B[E]=_e,I[E]=_e-me;}t.modifiersData[s]=I;}},requiresIfExists:["offset"]};function he(e,t,i){ void 0===i&&(i=false);var s,r,o=b$3(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$3(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$6(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=css`::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)}
|
|
7896
7895
|
`,xe=css`.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:""}
|
|
7897
7896
|
`,Se=css`: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)}
|
|
7898
|
-
`;class _e extends LitElement{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.
|
|
7899
|
-
<div
|
|
7897
|
+
`;class _e extends LitElement{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;}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 [css`${xe}`,css`${be}`,css`${Se}`]}static register(e="auro-popover"){s.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 html`
|
|
7898
|
+
<div
|
|
7899
|
+
id="popover"
|
|
7900
|
+
class="popover util_insetLg body-default"
|
|
7901
|
+
part="popover"
|
|
7902
|
+
role="tooltip"
|
|
7903
|
+
aria-hidden="${this.isPopoverVisible?"false":"true"}">
|
|
7900
7904
|
<div id="arrow" class="arrow" data-popper-arrow></div>
|
|
7901
|
-
<
|
|
7905
|
+
<slot></slot>
|
|
7902
7906
|
</div>
|
|
7903
7907
|
|
|
7904
|
-
<span>
|
|
7908
|
+
<span role="presentation">
|
|
7905
7909
|
<slot name="trigger" data-trigger-placement="${this.placement}"></slot>
|
|
7906
7910
|
</span>
|
|
7907
7911
|
`}}
|
|
@@ -7916,7 +7920,6 @@ class AuroCalendarCell extends LitElement {
|
|
|
7916
7920
|
|
|
7917
7921
|
this.day = null;
|
|
7918
7922
|
this.selected = false;
|
|
7919
|
-
this.hovered = false;
|
|
7920
7923
|
this.dateTo = null;
|
|
7921
7924
|
this.dateFrom = null;
|
|
7922
7925
|
this.month = null;
|
|
@@ -7924,11 +7927,12 @@ class AuroCalendarCell extends LitElement {
|
|
|
7924
7927
|
this.max = null;
|
|
7925
7928
|
this.disabled = false;
|
|
7926
7929
|
this.disabledDays = [];
|
|
7927
|
-
this.hoveredDate = null;
|
|
7928
7930
|
this.isCurrentDate = false;
|
|
7929
7931
|
this._locale = null;
|
|
7930
7932
|
this.dateStr = null;
|
|
7931
7933
|
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.
|
|
7934
|
+
this.active = false;
|
|
7935
|
+
this.hasPopoverContent = false;
|
|
7932
7936
|
|
|
7933
7937
|
this.runtimeUtils = new AuroLibraryRuntimeUtils$5();
|
|
7934
7938
|
|
|
@@ -7947,7 +7951,6 @@ class AuroCalendarCell extends LitElement {
|
|
|
7947
7951
|
// ...super.properties,
|
|
7948
7952
|
day: { type: Object },
|
|
7949
7953
|
selected: { type: Boolean },
|
|
7950
|
-
hovered: { type: Boolean },
|
|
7951
7954
|
dateTo: { type: String },
|
|
7952
7955
|
dateFrom: { type: String },
|
|
7953
7956
|
month: { type: String },
|
|
@@ -7958,11 +7961,11 @@ class AuroCalendarCell extends LitElement {
|
|
|
7958
7961
|
reflect: true
|
|
7959
7962
|
},
|
|
7960
7963
|
disabledDays: { type: Array },
|
|
7961
|
-
hoveredDate: { type: String },
|
|
7962
7964
|
isCurrentDate: { type: Boolean },
|
|
7963
7965
|
locale: { type: Object },
|
|
7964
7966
|
dateStr: { type: String },
|
|
7965
|
-
renderForDateSlot: { type: Boolean }
|
|
7967
|
+
renderForDateSlot: { type: Boolean },
|
|
7968
|
+
hasPopoverContent: { type: Boolean }
|
|
7966
7969
|
};
|
|
7967
7970
|
}
|
|
7968
7971
|
|
|
@@ -7986,17 +7989,17 @@ class AuroCalendarCell extends LitElement {
|
|
|
7986
7989
|
}
|
|
7987
7990
|
|
|
7988
7991
|
/**
|
|
7989
|
-
* Handles selected
|
|
7992
|
+
* Handles selected state of the calendar cell when the selection changes.
|
|
7993
|
+
* Also clears any imperative range preview classes so classMap is the
|
|
7994
|
+
* sole source of truth after a selection update.
|
|
7990
7995
|
* @private
|
|
7991
7996
|
* @param {Number} dateFrom - Depart date.
|
|
7992
7997
|
* @param {Number} dateTo - Return date.
|
|
7993
|
-
* @param {Number} hoveredDate - Hovered date.
|
|
7994
7998
|
* @param {Object} day - An object containing the dateFrom and day of month values.
|
|
7995
7999
|
* @returns {void}
|
|
7996
8000
|
*/
|
|
7997
|
-
dateChanged(dateFrom, dateTo,
|
|
8001
|
+
dateChanged(dateFrom, dateTo, day) {
|
|
7998
8002
|
this.selected = false;
|
|
7999
|
-
this.hovered = false;
|
|
8000
8003
|
|
|
8001
8004
|
const parsedDateFrom = parseInt(dateFrom, 10);
|
|
8002
8005
|
const parsedDateTo = parseInt(dateTo, 10);
|
|
@@ -8008,10 +8011,6 @@ class AuroCalendarCell extends LitElement {
|
|
|
8008
8011
|
if (day.date === departTimestamp || day.date === returnTimestamp) {
|
|
8009
8012
|
this.selected = true;
|
|
8010
8013
|
}
|
|
8011
|
-
|
|
8012
|
-
if (((hoveredDate === day.date || day.date < hoveredDate) && day.date > parsedDateFrom && !parsedDateTo && !Number.isNaN(parsedDateFrom) && parsedDateFrom !== undefined && !this.selected) || (day.date > parsedDateFrom && day.date < parsedDateTo)) {
|
|
8013
|
-
this.hovered = true;
|
|
8014
|
-
}
|
|
8015
8014
|
}
|
|
8016
8015
|
}
|
|
8017
8016
|
|
|
@@ -8021,27 +8020,105 @@ class AuroCalendarCell extends LitElement {
|
|
|
8021
8020
|
* @returns {void}
|
|
8022
8021
|
*/
|
|
8023
8022
|
handleTap() {
|
|
8024
|
-
if (!this.disabled) {
|
|
8023
|
+
if (!this.disabled && !this.isBlackout()) {
|
|
8025
8024
|
this.datepicker.handleCellClick(this.day.date);
|
|
8026
8025
|
}
|
|
8026
|
+
|
|
8027
|
+
// Set this cell as the active cell regardless of blackout status
|
|
8028
|
+
if (this.day) {
|
|
8029
|
+
this.dispatchEvent(new CustomEvent('calendar-cell-activate', {
|
|
8030
|
+
bubbles: true,
|
|
8031
|
+
composed: true,
|
|
8032
|
+
detail: { date: this.day.date }
|
|
8033
|
+
}));
|
|
8034
|
+
}
|
|
8027
8035
|
}
|
|
8028
8036
|
|
|
8029
8037
|
/**
|
|
8030
8038
|
* Handles user hover events and dispatches a custom event.
|
|
8039
|
+
* Does NOT set any reactive properties — the range preview is handled
|
|
8040
|
+
* imperatively by the calendar component to avoid O(N) re-renders.
|
|
8031
8041
|
* @private
|
|
8032
8042
|
* @returns {void}
|
|
8033
8043
|
*/
|
|
8034
8044
|
handleHover() {
|
|
8035
|
-
this.hovered = true;
|
|
8036
|
-
|
|
8037
|
-
let _a;
|
|
8038
8045
|
this.dispatchEvent(new CustomEvent('date-is-hovered', {
|
|
8039
|
-
detail: { date:
|
|
8046
|
+
detail: { date: this.day?.date },
|
|
8047
|
+
}));
|
|
8048
|
+
}
|
|
8049
|
+
|
|
8050
|
+
/**
|
|
8051
|
+
* Handles focus events on the cell button.
|
|
8052
|
+
* Dispatches a lightweight event for the calendar to handle SR
|
|
8053
|
+
* announcements and range preview updates without triggering
|
|
8054
|
+
* any Lit lifecycle updates.
|
|
8055
|
+
* @private
|
|
8056
|
+
* @returns {void}
|
|
8057
|
+
*/
|
|
8058
|
+
handleFocus() {
|
|
8059
|
+
this.dispatchEvent(new CustomEvent('calendar-cell-focused', {
|
|
8060
|
+
bubbles: true,
|
|
8061
|
+
composed: true,
|
|
8062
|
+
detail: { date: this.day?.date },
|
|
8040
8063
|
}));
|
|
8041
8064
|
}
|
|
8042
8065
|
|
|
8043
8066
|
/**
|
|
8044
|
-
* Checks if the current date is
|
|
8067
|
+
* Checks if the current date is outside the valid min/max range.
|
|
8068
|
+
* Out-of-range cells are not focusable and are hidden from screen readers.
|
|
8069
|
+
* @private
|
|
8070
|
+
* @param {Object} day - An object containing the dateFrom and day of month values.
|
|
8071
|
+
* @param {Number} min - The minimum date value.
|
|
8072
|
+
* @param {Number} max - The maximum date value.
|
|
8073
|
+
* @returns {Boolean} - True if the date is out of range.
|
|
8074
|
+
*/
|
|
8075
|
+
isOutOfRange(day, min, max) {
|
|
8076
|
+
if (day && day.date != null) {
|
|
8077
|
+
return day.date < min || day.date > max;
|
|
8078
|
+
}
|
|
8079
|
+
return false;
|
|
8080
|
+
}
|
|
8081
|
+
|
|
8082
|
+
/**
|
|
8083
|
+
* Checks if the current date is a blackout date (in disabledDays but within range).
|
|
8084
|
+
* Blackout cells are focusable but not selectable.
|
|
8085
|
+
* @private
|
|
8086
|
+
* @returns {Boolean} - True if the date is a blackout date.
|
|
8087
|
+
*/
|
|
8088
|
+
isBlackout() {
|
|
8089
|
+
if (!this.day || this.day.date == null || this.isOutOfRange(this.day, this.min, this.max)) {
|
|
8090
|
+
return false;
|
|
8091
|
+
}
|
|
8092
|
+
|
|
8093
|
+
// Check against disabledDays timestamps (legacy path)
|
|
8094
|
+
if (Array.isArray(this.disabledDays) && this.disabledDays.length > 0) {
|
|
8095
|
+
if (this.disabledDays.findIndex(d => parseInt(d, 10) === this.day.date) !== -1) {
|
|
8096
|
+
return true;
|
|
8097
|
+
}
|
|
8098
|
+
}
|
|
8099
|
+
|
|
8100
|
+
// Check against blackoutDates (ISO format YYYY-MM-DD) on the datepicker
|
|
8101
|
+
const blackoutDates = this.datepicker?.blackoutDates;
|
|
8102
|
+
|
|
8103
|
+
if (Array.isArray(blackoutDates) && blackoutDates.length > 0) {
|
|
8104
|
+
const date = new Date(this.day.date * 1000);
|
|
8105
|
+
const yyyy = date.getFullYear();
|
|
8106
|
+
const mm = String(date.getMonth() + 1).padStart(2, '0');
|
|
8107
|
+
const dd = String(date.getDate()).padStart(2, '0');
|
|
8108
|
+
const cellDate = `${yyyy}-${mm}-${dd}`;
|
|
8109
|
+
if (blackoutDates.includes(cellDate)) {
|
|
8110
|
+
return true;
|
|
8111
|
+
}
|
|
8112
|
+
}
|
|
8113
|
+
|
|
8114
|
+
return false;
|
|
8115
|
+
}
|
|
8116
|
+
|
|
8117
|
+
/**
|
|
8118
|
+
* Checks if the current date is disabled based on min/max range or the
|
|
8119
|
+
* legacy disabledDays timestamp list. Sets the `disabled` attribute on the
|
|
8120
|
+
* host when the date falls outside the allowed range or appears in
|
|
8121
|
+
* disabledDays. Note: blackout dates are handled separately by `isBlackout()`.
|
|
8045
8122
|
* @private
|
|
8046
8123
|
* @param {Object} day - An object containing the dateFrom and day of month values.
|
|
8047
8124
|
* @param {Number} min - The minimum date value.
|
|
@@ -8061,6 +8138,105 @@ class AuroCalendarCell extends LitElement {
|
|
|
8061
8138
|
return false;
|
|
8062
8139
|
}
|
|
8063
8140
|
|
|
8141
|
+
/**
|
|
8142
|
+
* Generates a unique cell ID in the format cell-YYYY-MM-DD.
|
|
8143
|
+
* @private
|
|
8144
|
+
* @returns {String} The unique cell ID.
|
|
8145
|
+
*/
|
|
8146
|
+
getCellId() {
|
|
8147
|
+
if (!this.day || !this.day.date) return '';
|
|
8148
|
+
const date = new Date(this.day.date * 1000);
|
|
8149
|
+
const year = date.getFullYear();
|
|
8150
|
+
const month = String(date.getMonth() + 1).padStart(2, '0');
|
|
8151
|
+
const day = String(date.getDate()).padStart(2, '0');
|
|
8152
|
+
return `cell-${year}-${month}-${day}`;
|
|
8153
|
+
}
|
|
8154
|
+
|
|
8155
|
+
/**
|
|
8156
|
+
* Generates a localized aria-label for the cell button using Intl.DateTimeFormat.
|
|
8157
|
+
* Includes range position and blackout status.
|
|
8158
|
+
* @private
|
|
8159
|
+
* @returns {String} The aria-label string.
|
|
8160
|
+
*/
|
|
8161
|
+
getAriaLabel() {
|
|
8162
|
+
if (!this.day || this.day.date === undefined) return '';
|
|
8163
|
+
|
|
8164
|
+
const date = new Date(this.day.date * 1000);
|
|
8165
|
+
|
|
8166
|
+
// Generate localized full date string using the configured locale
|
|
8167
|
+
const localeCode = this.locale?.code || undefined;
|
|
8168
|
+
const dateFormatter = new Intl.DateTimeFormat(localeCode, {
|
|
8169
|
+
weekday: 'long',
|
|
8170
|
+
year: 'numeric',
|
|
8171
|
+
month: 'long',
|
|
8172
|
+
day: 'numeric'
|
|
8173
|
+
});
|
|
8174
|
+
|
|
8175
|
+
let label = dateFormatter.format(date);
|
|
8176
|
+
|
|
8177
|
+
// Append date slot content (e.g. prices) so it is announced with the date.
|
|
8178
|
+
if (this.renderForDateSlot) {
|
|
8179
|
+
const dateSlotEl = this.querySelector(`[slot="date_${this.dateStr}"]`);
|
|
8180
|
+
if (dateSlotEl) {
|
|
8181
|
+
const text = dateSlotEl.innerText?.trim();
|
|
8182
|
+
if (text) {
|
|
8183
|
+
label += `, ${text}`;
|
|
8184
|
+
}
|
|
8185
|
+
}
|
|
8186
|
+
}
|
|
8187
|
+
|
|
8188
|
+
// appending popover content here so that it gets read in a logical order with the other date content.
|
|
8189
|
+
if (this.hasPopoverContent) {
|
|
8190
|
+
const popoverEl = this.querySelector(`[slot="popover_${this.dateStr}"]`);
|
|
8191
|
+
if (popoverEl) {
|
|
8192
|
+
label += `, ${popoverEl.innerText.trim()}`;
|
|
8193
|
+
}
|
|
8194
|
+
}
|
|
8195
|
+
|
|
8196
|
+
// Append range position label for range datepickers
|
|
8197
|
+
const rangePosition = this.getRangePosition();
|
|
8198
|
+
if (rangePosition) {
|
|
8199
|
+
label += `, ${rangePosition}`;
|
|
8200
|
+
}
|
|
8201
|
+
|
|
8202
|
+
// Append blackout label for blackout cells
|
|
8203
|
+
if (this.isBlackout()) {
|
|
8204
|
+
label += `, ${this.datepicker?.blackoutLabel || 'unavailable'}`;
|
|
8205
|
+
}
|
|
8206
|
+
|
|
8207
|
+
return label;
|
|
8208
|
+
}
|
|
8209
|
+
|
|
8210
|
+
/**
|
|
8211
|
+
* Determines the range position of this cell relative to the current selection.
|
|
8212
|
+
* @private
|
|
8213
|
+
* @returns {String|null} Range position label or null if not in range mode.
|
|
8214
|
+
*/
|
|
8215
|
+
getRangePosition() {
|
|
8216
|
+
if (!this.datepicker || !this.datepicker.hasAttribute('range')) return null;
|
|
8217
|
+
|
|
8218
|
+
const parsedDateFrom = Number.parseInt(this.dateFrom, 10);
|
|
8219
|
+
if (!Number.isFinite(parsedDateFrom)) return null;
|
|
8220
|
+
|
|
8221
|
+
const departTimestamp = startOfDay(parsedDateFrom * 1000) / 1000;
|
|
8222
|
+
const dayDate = this.day.date;
|
|
8223
|
+
|
|
8224
|
+
const parsedDateTo = Number.parseInt(this.dateTo, 10);
|
|
8225
|
+
const hasDateTo = Number.isFinite(parsedDateTo);
|
|
8226
|
+
const returnTimestamp = hasDateTo ? startOfDay(parsedDateTo * 1000) / 1000 : null;
|
|
8227
|
+
|
|
8228
|
+
if (dayDate === departTimestamp) return this.datepicker.rangeLabelStart || 'range start';
|
|
8229
|
+
|
|
8230
|
+
if (hasDateTo && dayDate === returnTimestamp) return this.datepicker.rangeLabelEnd || 'range end';
|
|
8231
|
+
|
|
8232
|
+
if (dayDate < departTimestamp) return this.datepicker.rangeLabelBeforeRange || 'before range';
|
|
8233
|
+
|
|
8234
|
+
if (hasDateTo && dayDate > departTimestamp && dayDate < returnTimestamp) return this.datepicker.rangeLabelInRange || 'in range';
|
|
8235
|
+
|
|
8236
|
+
// After start date, no end date yet, or after end date
|
|
8237
|
+
return this.datepicker.rangeLabelAfterRange || 'after range';
|
|
8238
|
+
}
|
|
8239
|
+
|
|
8064
8240
|
/**
|
|
8065
8241
|
* Checks if the current date is the depart date.
|
|
8066
8242
|
* @private
|
|
@@ -8222,9 +8398,9 @@ class AuroCalendarCell extends LitElement {
|
|
|
8222
8398
|
|
|
8223
8399
|
if (popoverSlotContent) {
|
|
8224
8400
|
this.appendChild(popoverSlotContent.cloneNode(true));
|
|
8225
|
-
this.
|
|
8401
|
+
this.hasPopoverContent = true;
|
|
8226
8402
|
} else {
|
|
8227
|
-
this.
|
|
8403
|
+
this.hasPopoverContent = false;
|
|
8228
8404
|
}
|
|
8229
8405
|
} catch (err) { // eslint-disable-line no-unused-vars
|
|
8230
8406
|
// Error handling goes here
|
|
@@ -8240,67 +8416,245 @@ class AuroCalendarCell extends LitElement {
|
|
|
8240
8416
|
return;
|
|
8241
8417
|
}
|
|
8242
8418
|
this.datepicker = calendar.datepicker;
|
|
8243
|
-
this.
|
|
8419
|
+
this._slotContentHandler = () => {
|
|
8244
8420
|
this.handleSlotContent();
|
|
8421
|
+
// Force re-render so isBlackout()/aria-disabled reflect updated blackoutDates.
|
|
8422
|
+
this.requestUpdate();
|
|
8423
|
+
};
|
|
8424
|
+
this.datepicker.addEventListener('auroDatePicker-newSlotContent', this._slotContentHandler);
|
|
8425
|
+
|
|
8426
|
+
// Cache button reference for imperative class manipulation.
|
|
8427
|
+
this.updateComplete.then(() => {
|
|
8428
|
+
this._cachedButton = this.shadowRoot.querySelector('button.day');
|
|
8245
8429
|
});
|
|
8246
8430
|
|
|
8431
|
+
// Trigger an initial update now that `this.datepicker` is assigned so
|
|
8432
|
+
// cells reflect blackout/slot state that was configured before first render.
|
|
8433
|
+
this.requestUpdate();
|
|
8434
|
+
|
|
8435
|
+
this.calendarMonth = calendarMonth;
|
|
8436
|
+
this.configurePopover();
|
|
8437
|
+
}
|
|
8438
|
+
|
|
8439
|
+
disconnectedCallback() {
|
|
8440
|
+
super.disconnectedCallback();
|
|
8441
|
+
if (this.datepicker && this._slotContentHandler) {
|
|
8442
|
+
this.datepicker.removeEventListener('auroDatePicker-newSlotContent', this._slotContentHandler);
|
|
8443
|
+
}
|
|
8444
|
+
}
|
|
8445
|
+
|
|
8446
|
+
/**
|
|
8447
|
+
* Configures the popover instance with the calendar month boundary.
|
|
8448
|
+
* Called from firstUpdated and updated because the popover element is only
|
|
8449
|
+
* rendered after hasPopoverContent becomes true (set by handleSlotContent).
|
|
8450
|
+
* @private
|
|
8451
|
+
* @returns {void}
|
|
8452
|
+
*/
|
|
8453
|
+
configurePopover() {
|
|
8247
8454
|
this.auroPopover = this.shadowRoot.querySelector(this.popoverTag._$litStatic$);
|
|
8248
8455
|
|
|
8249
|
-
this.auroPopover
|
|
8456
|
+
if (this.auroPopover && this.calendarMonth) {
|
|
8457
|
+
this.auroPopover.boundary = this.calendarMonth;
|
|
8458
|
+
}
|
|
8250
8459
|
}
|
|
8251
8460
|
|
|
8252
8461
|
updated(properties) {
|
|
8253
|
-
if (properties.has('dateFrom') || properties.has('dateTo') || properties.has('
|
|
8254
|
-
this.dateChanged(this.dateFrom, this.dateTo, this.
|
|
8462
|
+
if (properties.has('dateFrom') || properties.has('dateTo') || properties.has('day')) {
|
|
8463
|
+
this.dateChanged(this.dateFrom, this.dateTo, this.day);
|
|
8464
|
+
}
|
|
8465
|
+
|
|
8466
|
+
if (properties.has('day') && this.day) {
|
|
8467
|
+
this.setDateSlotName();
|
|
8468
|
+
this.handleSlotContent();
|
|
8469
|
+
|
|
8470
|
+
// Re-cache button reference when the day changes (cell may have re-rendered).
|
|
8471
|
+
this.updateComplete.then(() => {
|
|
8472
|
+
this._cachedButton = this.shadowRoot.querySelector('button.day');
|
|
8473
|
+
});
|
|
8474
|
+
|
|
8475
|
+
// Update host-level aria attributes for ariaActiveDescendantElement.
|
|
8476
|
+
this.updateHostAria();
|
|
8477
|
+
}
|
|
8478
|
+
|
|
8479
|
+
// Update host aria when selection changes (aria-selected, range labels)
|
|
8480
|
+
if (properties.has('dateFrom') || properties.has('dateTo') || properties.has('selected')) {
|
|
8481
|
+
this.updateHostAria();
|
|
8255
8482
|
}
|
|
8256
8483
|
|
|
8257
|
-
|
|
8258
|
-
|
|
8484
|
+
// Configure popover when it first becomes rendered
|
|
8485
|
+
if (properties.has('hasPopoverContent') && this.hasPopoverContent) {
|
|
8486
|
+
this.updateComplete.then(() => this.configurePopover());
|
|
8487
|
+
}
|
|
8259
8488
|
}
|
|
8260
8489
|
|
|
8261
|
-
|
|
8490
|
+
/**
|
|
8491
|
+
* Updates ARIA attributes on the host element so that
|
|
8492
|
+
* ariaActiveDescendantElement can expose cell info to the SR.
|
|
8493
|
+
* @private
|
|
8494
|
+
* @returns {void}
|
|
8495
|
+
*/
|
|
8496
|
+
updateHostAria() {
|
|
8497
|
+
if (!this.day || this.day.date === undefined) return;
|
|
8498
|
+
|
|
8499
|
+
const outOfRange = this.isOutOfRange(this.day, this.min, this.max);
|
|
8500
|
+
if (outOfRange) {
|
|
8501
|
+
this.removeAttribute('role');
|
|
8502
|
+
this.removeAttribute('aria-label');
|
|
8503
|
+
return;
|
|
8504
|
+
}
|
|
8505
|
+
|
|
8506
|
+
// The host acts as the gridcell for ariaActiveDescendantElement.
|
|
8507
|
+
this.setAttribute('role', 'gridcell');
|
|
8508
|
+
this.setAttribute('aria-label', this.getAriaLabel());
|
|
8509
|
+
this.setAttribute('aria-selected', this.selected ? 'true' : 'false');
|
|
8510
|
+
|
|
8511
|
+
if (this.isBlackout()) {
|
|
8512
|
+
this.setAttribute('aria-disabled', 'true');
|
|
8513
|
+
} else {
|
|
8514
|
+
this.removeAttribute('aria-disabled');
|
|
8515
|
+
}
|
|
8516
|
+
}
|
|
8517
|
+
|
|
8518
|
+
/**
|
|
8519
|
+
* Programmatically focuses the cell's interactive button element.
|
|
8520
|
+
* Uses focusVisible: true so the :focus-visible ring appears even when
|
|
8521
|
+
* the bib was opened via mouse click (which sets mouse input modality).
|
|
8522
|
+
* @returns {void}
|
|
8523
|
+
*/
|
|
8524
|
+
focusButton() {
|
|
8525
|
+
const button = this._cachedButton || this.shadowRoot.querySelector('button:not([aria-hidden])');
|
|
8526
|
+
if (button) {
|
|
8527
|
+
button.focus({ focusVisible: true });
|
|
8528
|
+
}
|
|
8529
|
+
}
|
|
8530
|
+
|
|
8531
|
+
/**
|
|
8532
|
+
* Imperatively marks this cell as active (tabindex="0") without
|
|
8533
|
+
* triggering a Lit re-render.
|
|
8534
|
+
* @returns {void}
|
|
8535
|
+
*/
|
|
8536
|
+
setActive() {
|
|
8537
|
+
this.active = true;
|
|
8538
|
+
const btn = this._cachedButton;
|
|
8539
|
+
if (btn) {
|
|
8540
|
+
btn.setAttribute('tabindex', '0');
|
|
8541
|
+
btn.classList.add('visualFocus');
|
|
8542
|
+
}
|
|
8543
|
+
}
|
|
8544
|
+
|
|
8545
|
+
/**
|
|
8546
|
+
* Imperatively marks this cell as inactive (tabindex="-1") without
|
|
8547
|
+
* triggering a Lit re-render.
|
|
8548
|
+
* @returns {void}
|
|
8549
|
+
*/
|
|
8550
|
+
clearActive() {
|
|
8551
|
+
this.active = false;
|
|
8552
|
+
const btn = this._cachedButton;
|
|
8553
|
+
if (btn) {
|
|
8554
|
+
btn.setAttribute('tabindex', '-1');
|
|
8555
|
+
btn.classList.remove('visualFocus');
|
|
8556
|
+
}
|
|
8557
|
+
}
|
|
8558
|
+
|
|
8559
|
+
/**
|
|
8560
|
+
* Updates range preview classes imperatively (no Lit re-render).
|
|
8561
|
+
* Called by the calendar component when the hovered date changes
|
|
8562
|
+
* during range selection (dateFrom set, dateTo not yet set).
|
|
8563
|
+
* @param {Number} hoveredDate - Unix timestamp of the currently hovered/focused date.
|
|
8564
|
+
* @param {Number} dateFrom - Unix timestamp of the selected departure date.
|
|
8565
|
+
* @returns {void}
|
|
8566
|
+
*/
|
|
8567
|
+
updateRangePreviewClasses(hoveredDate, dateFrom) {
|
|
8568
|
+
const btn = this._cachedButton;
|
|
8569
|
+
if (!btn || !this.day) return;
|
|
8570
|
+
|
|
8571
|
+
const dayDate = this.day.date;
|
|
8572
|
+
const departTimestamp = startOfDay(dateFrom * 1000) / 1000;
|
|
8573
|
+
const isInRange = dayDate > departTimestamp && dayDate < hoveredDate;
|
|
8574
|
+
const isLastHovered = dayDate === hoveredDate && hoveredDate > departTimestamp;
|
|
8575
|
+
const isDepartWithPreview = dayDate === departTimestamp && hoveredDate > departTimestamp;
|
|
8576
|
+
|
|
8577
|
+
btn.classList.toggle('inRange', isInRange);
|
|
8578
|
+
btn.classList.toggle('lastHoveredDate', isLastHovered);
|
|
8579
|
+
btn.classList.toggle('rangeDepartDate', isDepartWithPreview);
|
|
8580
|
+
}
|
|
8581
|
+
|
|
8582
|
+
/**
|
|
8583
|
+
* Clears all imperative range preview classes from the cell button.
|
|
8584
|
+
* Called when a selection occurs so classMap becomes the sole source of truth.
|
|
8585
|
+
* @returns {void}
|
|
8586
|
+
*/
|
|
8587
|
+
clearRangePreviewClasses() {
|
|
8588
|
+
const btn = this._cachedButton;
|
|
8589
|
+
if (!btn) return;
|
|
8590
|
+
|
|
8591
|
+
btn.classList.remove('inRange', 'lastHoveredDate', 'rangeDepartDate');
|
|
8592
|
+
}
|
|
8593
|
+
|
|
8594
|
+
renderCellButton() {
|
|
8595
|
+
const outOfRange = this.isOutOfRange(this.day, this.min, this.max);
|
|
8596
|
+
const blackout = this.isBlackout();
|
|
8597
|
+
|
|
8598
|
+
// Static and selection-driven classes only. Hover-driven classes
|
|
8599
|
+
// (inRange, lastHoveredDate, rangeDepartDate during preview) are
|
|
8600
|
+
// managed imperatively via updateRangePreviewClasses() to avoid
|
|
8601
|
+
// O(N) Lit re-renders on every focus/hover event.
|
|
8262
8602
|
const buttonClasses = {
|
|
8263
8603
|
'day': true,
|
|
8264
8604
|
'body-lg': true,
|
|
8265
|
-
'currentDate': this.
|
|
8605
|
+
'currentDate': this.isCurrentDate,
|
|
8266
8606
|
'selected': this.selected,
|
|
8267
|
-
'inRange': this.
|
|
8268
|
-
'
|
|
8269
|
-
'
|
|
8270
|
-
'rangeDepartDate': this.isDepartDate(this.day, this.dateFrom) &&
|
|
8271
|
-
'rangeReturnDate': this.isReturnDate(this.day, this.dateFrom, this.dateTo),
|
|
8607
|
+
'inRange': this.datepicker?.hasAttribute('range') && this.dateTo && this.isInRange(this.day, this.dateFrom, this.dateTo),
|
|
8608
|
+
'disabled': outOfRange,
|
|
8609
|
+
'blackout': blackout,
|
|
8610
|
+
'rangeDepartDate': this.datepicker?.hasAttribute('range') && this.isDepartDate(this.day, this.dateFrom) && this.dateTo,
|
|
8611
|
+
'rangeReturnDate': this.datepicker?.hasAttribute('range') && this.isReturnDate(this.day, this.dateFrom, this.dateTo),
|
|
8272
8612
|
'reference': this.isReferenceDate(this.dateStr),
|
|
8273
|
-
'sameDateTrip': this.dateFrom === this.dateTo
|
|
8613
|
+
'sameDateTrip': this.datepicker?.hasAttribute('range') && this.dateFrom === this.dateTo
|
|
8274
8614
|
};
|
|
8275
8615
|
|
|
8276
|
-
let _a, _b;
|
|
8277
8616
|
return html$1`
|
|
8278
|
-
|
|
8279
|
-
|
|
8280
|
-
|
|
8281
|
-
|
|
8282
|
-
|
|
8283
|
-
|
|
8284
|
-
|
|
8285
|
-
|
|
8286
|
-
|
|
8287
|
-
|
|
8288
|
-
|
|
8289
|
-
<div class="
|
|
8290
|
-
|
|
8291
|
-
|
|
8292
|
-
|
|
8293
|
-
|
|
8294
|
-
|
|
8295
|
-
</button>
|
|
8296
|
-
</${this.popoverTag}>
|
|
8617
|
+
<button
|
|
8618
|
+
slot="trigger"
|
|
8619
|
+
id="${this.getCellId()}"
|
|
8620
|
+
@click="${outOfRange ? undefined : this.handleTap}"
|
|
8621
|
+
@mouseover="${outOfRange ? undefined : this.handleHover}"
|
|
8622
|
+
@focus="${outOfRange ? undefined : this.handleFocus}"
|
|
8623
|
+
class="${classMap(buttonClasses)}"
|
|
8624
|
+
?disabled="${outOfRange}"
|
|
8625
|
+
aria-hidden="${outOfRange ? 'true' : nothing}"
|
|
8626
|
+
tabindex="${this.active ? '0' : '-1'}">
|
|
8627
|
+
<div class="buttonWrapper" aria-hidden="true">
|
|
8628
|
+
<div class="currentDayMarker">${this.day?.title || nothing}</div>
|
|
8629
|
+
</div>
|
|
8630
|
+
<div class="dateSlot body-2xs" part="dateSlot" aria-hidden="true" ?hidden="${!this.renderForDateSlot}">
|
|
8631
|
+
<slot name="date_${this.dateStr}"></slot>
|
|
8632
|
+
</div>
|
|
8633
|
+
</button>
|
|
8297
8634
|
`;
|
|
8298
8635
|
}
|
|
8299
|
-
}
|
|
8300
8636
|
|
|
8301
|
-
|
|
8302
|
-
|
|
8303
|
-
|
|
8637
|
+
render() {
|
|
8638
|
+
const hasPopoverContent = this.hasPopoverContent;
|
|
8639
|
+
|
|
8640
|
+
if (hasPopoverContent) {
|
|
8641
|
+
return html$1`
|
|
8642
|
+
<${this.popoverTag}>
|
|
8643
|
+
<span aria-hidden="true"><slot name="popover_${this.dateStr}"></slot></span>
|
|
8644
|
+
${this.renderCellButton()}
|
|
8645
|
+
</${this.popoverTag}>
|
|
8646
|
+
`;
|
|
8647
|
+
}
|
|
8648
|
+
|
|
8649
|
+
return html$1`
|
|
8650
|
+
${this.renderCellButton()}
|
|
8651
|
+
`;
|
|
8652
|
+
}
|
|
8653
|
+
}
|
|
8654
|
+
|
|
8655
|
+
if (!customElements.get('auro-formkit-calendar-cell')) {
|
|
8656
|
+
customElements.define('auro-formkit-calendar-cell', AuroCalendarCell);
|
|
8657
|
+
}
|
|
8304
8658
|
|
|
8305
8659
|
// See https://git.io/JJ6SJ for "How to document your components using JSDoc"
|
|
8306
8660
|
|
|
@@ -8361,16 +8715,28 @@ class AuroCalendarMonth extends RangeDatepickerCalendar {
|
|
|
8361
8715
|
return this.monthNames[month - 1];
|
|
8362
8716
|
}
|
|
8363
8717
|
|
|
8718
|
+
/**
|
|
8719
|
+
* Returns the unique heading ID for this month, used by aria-labelledby.
|
|
8720
|
+
* @private
|
|
8721
|
+
* @returns {String} The heading ID.
|
|
8722
|
+
*/
|
|
8723
|
+
getHeadingId() {
|
|
8724
|
+
return `month-heading-${this.month}-${this.year}`;
|
|
8725
|
+
}
|
|
8726
|
+
|
|
8364
8727
|
/**
|
|
8365
8728
|
* Determines the current month name based on locale.
|
|
8729
|
+
* Also builds parallel arrays of full day names for abbr attributes.
|
|
8366
8730
|
* This is a rewrite of the function used in the class RangeDatepickerCalendar and should not be removed from here.
|
|
8367
8731
|
* @private
|
|
8368
8732
|
* @returns {void}
|
|
8369
8733
|
*/
|
|
8370
8734
|
localeChanged() {
|
|
8371
8735
|
const dayNamesOfTheWeek = [];
|
|
8736
|
+
const dayFullNames = [];
|
|
8372
8737
|
for (let int = 0; int < 7; int += 1) {
|
|
8373
8738
|
dayNamesOfTheWeek.push(this.locale.localize.day(int, { width: 'narrow' }));
|
|
8739
|
+
dayFullNames.push(this.locale.localize.day(int, { width: 'long' }));
|
|
8374
8740
|
}
|
|
8375
8741
|
const firstDayOfWeek = this.locale.options.weekStartsOn
|
|
8376
8742
|
? this.locale.options.weekStartsOn
|
|
@@ -8381,6 +8747,139 @@ class AuroCalendarMonth extends RangeDatepickerCalendar {
|
|
|
8381
8747
|
.splice(firstDayOfWeek, dayNamesOfTheWeek.length)
|
|
8382
8748
|
.concat(tmp);
|
|
8383
8749
|
this.dayNamesOfTheWeek = newDayNamesOfTheWeek;
|
|
8750
|
+
|
|
8751
|
+
const tmpFull = dayFullNames.slice().splice(0, firstDayOfWeek);
|
|
8752
|
+
const newDayFullNames = dayFullNames
|
|
8753
|
+
.slice()
|
|
8754
|
+
.splice(firstDayOfWeek, dayFullNames.length)
|
|
8755
|
+
.concat(tmpFull);
|
|
8756
|
+
this.dayFullNames = newDayFullNames;
|
|
8757
|
+
}
|
|
8758
|
+
|
|
8759
|
+
/**
|
|
8760
|
+
* Renders a day-of-week header with abbr attribute for the full day name.
|
|
8761
|
+
* @private
|
|
8762
|
+
* @param {String} dayOfWeek - The short day name.
|
|
8763
|
+
* @param {Number} index - The index in the dayNamesOfTheWeek array.
|
|
8764
|
+
* @returns {Object} The header HTML.
|
|
8765
|
+
*/
|
|
8766
|
+
renderDayOfWeek(dayOfWeek, index) {
|
|
8767
|
+
const fullName = this.dayFullNames ? this.dayFullNames[index] : dayOfWeek;
|
|
8768
|
+
return html`<div class="th body-default"><abbr title="${fullName}">${dayOfWeek}</abbr></div>`;
|
|
8769
|
+
}
|
|
8770
|
+
|
|
8771
|
+
/**
|
|
8772
|
+
* Returns all focusable cell elements (enabled + blackout, not out-of-range) in this month.
|
|
8773
|
+
* @returns {Array} Array of auro-formkit-calendar-cell elements.
|
|
8774
|
+
*/
|
|
8775
|
+
getFocusableCells() {
|
|
8776
|
+
const cells = Array.from(this.shadowRoot.querySelectorAll('auro-formkit-calendar-cell'));
|
|
8777
|
+
return cells.filter(cell => {
|
|
8778
|
+
if (!cell.day) return false;
|
|
8779
|
+
return !cell.isOutOfRange(cell.day, cell.min, cell.max);
|
|
8780
|
+
});
|
|
8781
|
+
}
|
|
8782
|
+
|
|
8783
|
+
/**
|
|
8784
|
+
* Overrides the base class handler to prevent setting `this.hoveredDate`
|
|
8785
|
+
* as a reactive property. Instead, just dispatches the event upward so
|
|
8786
|
+
* the calendar can handle range preview imperatively.
|
|
8787
|
+
* @private
|
|
8788
|
+
* @param {CustomEvent} event - The date-is-hovered event from a cell.
|
|
8789
|
+
* @returns {void}
|
|
8790
|
+
*/
|
|
8791
|
+
handleDateHovered(event) {
|
|
8792
|
+
this.dispatchEvent(new CustomEvent('hovered-date-changed', {
|
|
8793
|
+
detail: { value: event.detail.date },
|
|
8794
|
+
}));
|
|
8795
|
+
}
|
|
8796
|
+
|
|
8797
|
+
/**
|
|
8798
|
+
* Handles arrow key navigation within the month grid.
|
|
8799
|
+
* Dispatches a cross-month navigation event when the boundary is reached.
|
|
8800
|
+
* @private
|
|
8801
|
+
* @param {KeyboardEvent} event - The keyboard event.
|
|
8802
|
+
* @returns {void}
|
|
8803
|
+
*/
|
|
8804
|
+
handleGridKeyDown(event) {
|
|
8805
|
+
const { key } = event;
|
|
8806
|
+
const arrowKeys = ['ArrowRight', 'ArrowLeft', 'ArrowDown', 'ArrowUp'];
|
|
8807
|
+
|
|
8808
|
+
if (!arrowKeys.includes(key)) return;
|
|
8809
|
+
|
|
8810
|
+
event.preventDefault();
|
|
8811
|
+
|
|
8812
|
+
const focusableCells = this.getFocusableCells();
|
|
8813
|
+
if (focusableCells.length === 0) return;
|
|
8814
|
+
|
|
8815
|
+
// Find the currently active cell within this month
|
|
8816
|
+
const activeCell = focusableCells.find(cell => cell.active);
|
|
8817
|
+
if (!activeCell) return;
|
|
8818
|
+
|
|
8819
|
+
const activeIndex = focusableCells.indexOf(activeCell);
|
|
8820
|
+
let targetCell = null;
|
|
8821
|
+
|
|
8822
|
+
if (key === 'ArrowRight') {
|
|
8823
|
+
if (activeIndex < focusableCells.length - 1) {
|
|
8824
|
+
targetCell = focusableCells[activeIndex + 1];
|
|
8825
|
+
} else {
|
|
8826
|
+
// At end of month, request cross-month navigation
|
|
8827
|
+
this.dispatchEvent(new CustomEvent('calendar-month-boundary', {
|
|
8828
|
+
bubbles: true,
|
|
8829
|
+
composed: true,
|
|
8830
|
+
detail: { direction: 'next', fromDate: activeCell.day.date, key }
|
|
8831
|
+
}));
|
|
8832
|
+
return;
|
|
8833
|
+
}
|
|
8834
|
+
} else if (key === 'ArrowLeft') {
|
|
8835
|
+
if (activeIndex > 0) {
|
|
8836
|
+
targetCell = focusableCells[activeIndex - 1];
|
|
8837
|
+
} else {
|
|
8838
|
+
// At start of month, request cross-month navigation
|
|
8839
|
+
this.dispatchEvent(new CustomEvent('calendar-month-boundary', {
|
|
8840
|
+
bubbles: true,
|
|
8841
|
+
composed: true,
|
|
8842
|
+
detail: { direction: 'prev', fromDate: activeCell.day.date, key }
|
|
8843
|
+
}));
|
|
8844
|
+
return;
|
|
8845
|
+
}
|
|
8846
|
+
} else if (key === 'ArrowDown' || key === 'ArrowUp') {
|
|
8847
|
+
// Find the target day (same day-of-week, +/- 7 days)
|
|
8848
|
+
// Use Date arithmetic instead of fixed seconds to handle DST correctly
|
|
8849
|
+
const increment = key === 'ArrowDown' ? 7 : -7;
|
|
8850
|
+
const currentDate = new Date(activeCell.day.date * 1000);
|
|
8851
|
+
currentDate.setDate(currentDate.getDate() + increment);
|
|
8852
|
+
currentDate.setHours(0, 0, 0, 0);
|
|
8853
|
+
const targetDate = Math.floor(currentDate.getTime() / 1000);
|
|
8854
|
+
|
|
8855
|
+
// Look for the target date in this month's focusable cells
|
|
8856
|
+
targetCell = focusableCells.find(cell => cell.day.date === targetDate);
|
|
8857
|
+
|
|
8858
|
+
if (!targetCell) {
|
|
8859
|
+
// Target is in another month or all cells in that direction are disabled
|
|
8860
|
+
const direction = key === 'ArrowDown' ? 'next' : 'prev';
|
|
8861
|
+
this.dispatchEvent(new CustomEvent('calendar-month-boundary', {
|
|
8862
|
+
bubbles: true,
|
|
8863
|
+
composed: true,
|
|
8864
|
+
detail: { direction, fromDate: activeCell.day.date, key }
|
|
8865
|
+
}));
|
|
8866
|
+
return;
|
|
8867
|
+
}
|
|
8868
|
+
}
|
|
8869
|
+
|
|
8870
|
+
if (targetCell) {
|
|
8871
|
+
this.dispatchEvent(new CustomEvent('calendar-cell-activate', {
|
|
8872
|
+
bubbles: true,
|
|
8873
|
+
composed: true,
|
|
8874
|
+
detail: { date: targetCell.day.date }
|
|
8875
|
+
}));
|
|
8876
|
+
}
|
|
8877
|
+
}
|
|
8878
|
+
|
|
8879
|
+
renderWeek(week) {
|
|
8880
|
+
return html`
|
|
8881
|
+
<div class="tr" role="row">${week.map((day) => this.renderDay(day))}</div>
|
|
8882
|
+
`;
|
|
8384
8883
|
}
|
|
8385
8884
|
|
|
8386
8885
|
renderDay(day) {
|
|
@@ -8393,7 +8892,6 @@ class AuroCalendarMonth extends RangeDatepickerCalendar {
|
|
|
8393
8892
|
.min="${this.min}"
|
|
8394
8893
|
.max="${this.max}"
|
|
8395
8894
|
.month="${this.month}"
|
|
8396
|
-
.hoveredDate="${this.hoveredDate}"
|
|
8397
8895
|
.dateTo="${this.dateTo}"
|
|
8398
8896
|
.dateFrom="${this.dateFrom}"
|
|
8399
8897
|
.locale="${this.locale}"
|
|
@@ -8404,7 +8902,7 @@ class AuroCalendarMonth extends RangeDatepickerCalendar {
|
|
|
8404
8902
|
>
|
|
8405
8903
|
</auro-formkit-calendar-cell>
|
|
8406
8904
|
`
|
|
8407
|
-
:
|
|
8905
|
+
: html`<div aria-hidden="true" inert></div>`}
|
|
8408
8906
|
</div>
|
|
8409
8907
|
`;
|
|
8410
8908
|
}
|
|
@@ -8415,10 +8913,10 @@ class AuroCalendarMonth extends RangeDatepickerCalendar {
|
|
|
8415
8913
|
var _a, _b;
|
|
8416
8914
|
|
|
8417
8915
|
return html `
|
|
8418
|
-
<div>
|
|
8916
|
+
<div aria-labelledby="${this.getHeadingId()}">
|
|
8419
8917
|
<div class="header">
|
|
8420
8918
|
${this.renderPrevButton()}
|
|
8421
|
-
<div class="headerTitle heading-xs">
|
|
8919
|
+
<div class="headerTitle heading-xs" id="${this.getHeadingId()}" aria-live="polite" aria-atomic="true">
|
|
8422
8920
|
${this.monthFirst ? html`
|
|
8423
8921
|
<div>${this.computeCurrentMonthName(this.month)}</div>
|
|
8424
8922
|
<div>${this.renderYear()}</div>
|
|
@@ -8430,13 +8928,13 @@ class AuroCalendarMonth extends RangeDatepickerCalendar {
|
|
|
8430
8928
|
${this.renderNextButton()}
|
|
8431
8929
|
</div>
|
|
8432
8930
|
|
|
8433
|
-
<div class="table">
|
|
8434
|
-
<div class="thead">
|
|
8931
|
+
<div class="table" role="grid" aria-labelledby="${this.getHeadingId()}" @keydown="${this.handleGridKeyDown}">
|
|
8932
|
+
<div class="thead" aria-hidden="true">
|
|
8435
8933
|
<div class="tr">
|
|
8436
|
-
${(_a = this.dayNamesOfTheWeek) === null || _a === void 0 ? void 0 : _a.map(dayNameOfWeek => this.renderDayOfWeek(dayNameOfWeek))}
|
|
8934
|
+
${(_a = this.dayNamesOfTheWeek) === null || _a === void 0 ? void 0 : _a.map((dayNameOfWeek, index) => this.renderDayOfWeek(dayNameOfWeek, index))}
|
|
8437
8935
|
</div>
|
|
8438
8936
|
</div>
|
|
8439
|
-
<div class="tbody">
|
|
8937
|
+
<div class="tbody" role="rowgroup">
|
|
8440
8938
|
${(_b = this.daysOfMonth) === null || _b === void 0 ? void 0 : _b.map(week => this.renderWeek(week))}
|
|
8441
8939
|
</div>
|
|
8442
8940
|
</div>
|
|
@@ -9129,6 +9627,14 @@ class AuroBibtemplate extends LitElement {
|
|
|
9129
9627
|
large: {
|
|
9130
9628
|
type: Boolean,
|
|
9131
9629
|
reflect: true
|
|
9630
|
+
},
|
|
9631
|
+
|
|
9632
|
+
/**
|
|
9633
|
+
* If declared, the footer slot will be rendered even when not in fullscreen mode.
|
|
9634
|
+
*/
|
|
9635
|
+
showFooter: {
|
|
9636
|
+
type: Boolean,
|
|
9637
|
+
reflect: true
|
|
9132
9638
|
}
|
|
9133
9639
|
};
|
|
9134
9640
|
}
|
|
@@ -9231,7 +9737,7 @@ class AuroBibtemplate extends LitElement {
|
|
|
9231
9737
|
<slot></slot>
|
|
9232
9738
|
</div>
|
|
9233
9739
|
|
|
9234
|
-
${this.isFullscreen ? html$1`
|
|
9740
|
+
${this.isFullscreen || this.showFooter ? html$1`
|
|
9235
9741
|
<div id="footerContainer">
|
|
9236
9742
|
<slot name="footer"></slot>
|
|
9237
9743
|
</div>` : null}
|
|
@@ -9240,7 +9746,7 @@ class AuroBibtemplate extends LitElement {
|
|
|
9240
9746
|
}
|
|
9241
9747
|
}
|
|
9242
9748
|
|
|
9243
|
-
var formkitVersion$2 = '
|
|
9749
|
+
var formkitVersion$2 = '202605210326';
|
|
9244
9750
|
|
|
9245
9751
|
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=literal`${unsafeStatic(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$1 = class h{registerComponent(t,e){customElements.get(t)||customElements.define(t,class extends e{});}closestElement(t,e=this,o=(e,s=e&&e.closest(t))=>e&&e!==document&&e!==window?s||o(e.getRootNode().host):null){return o(e)}handleComponentTagRename(t,e){const o=e.toLowerCase();t.tagName.toLowerCase()!==o&&t.setAttribute(o,true);}elementMatch(t,e){const o=e.toLowerCase();return t.tagName.toLowerCase()===o||t.hasAttribute(o)}};var c$1=css`: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}
|
|
9246
9752
|
`,u$4=css`.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}}
|
|
@@ -9338,6 +9844,13 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
9338
9844
|
this.largeFullscreenHeadline = false;
|
|
9339
9845
|
this.isFullscreen = false;
|
|
9340
9846
|
|
|
9847
|
+
/**
|
|
9848
|
+
* The date of the currently active cell (Unix timestamp).
|
|
9849
|
+
* Only one cell across the entire calendar has tabindex="0" at a time.
|
|
9850
|
+
* @private
|
|
9851
|
+
*/
|
|
9852
|
+
this.activeCellDate = null;
|
|
9853
|
+
|
|
9341
9854
|
/**
|
|
9342
9855
|
* @private
|
|
9343
9856
|
*/
|
|
@@ -9503,6 +10016,8 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
9503
10016
|
*/
|
|
9504
10017
|
handlePrevMonth() {
|
|
9505
10018
|
this.utilCal.handleMonthChange(this, 'prev');
|
|
10019
|
+
this.updateActiveCellForVisibleMonth();
|
|
10020
|
+
this.announceMonthChange();
|
|
9506
10021
|
}
|
|
9507
10022
|
|
|
9508
10023
|
/**
|
|
@@ -9512,6 +10027,38 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
9512
10027
|
*/
|
|
9513
10028
|
handleNextMonth() {
|
|
9514
10029
|
this.utilCal.handleMonthChange(this, 'next');
|
|
10030
|
+
this.updateActiveCellForVisibleMonth();
|
|
10031
|
+
this.announceMonthChange();
|
|
10032
|
+
}
|
|
10033
|
+
|
|
10034
|
+
/**
|
|
10035
|
+
* Announces the current month and year via the live region after navigation.
|
|
10036
|
+
* @private
|
|
10037
|
+
* @returns {void}
|
|
10038
|
+
*/
|
|
10039
|
+
announceMonthChange() {
|
|
10040
|
+
const date = new Date(this.centralDate);
|
|
10041
|
+
const localeCode = this.locale?.code || undefined;
|
|
10042
|
+
const formatter = new Intl.DateTimeFormat(localeCode, { month: 'long', year: 'numeric' });
|
|
10043
|
+
this.announceSelection(formatter.format(date));
|
|
10044
|
+
}
|
|
10045
|
+
|
|
10046
|
+
/**
|
|
10047
|
+
* Recomputes and sets the active cell for the newly visible month after
|
|
10048
|
+
* month navigation. Without this, activeCellDate can point at a date in
|
|
10049
|
+
* the old month, leaving no tabindex="0" cell in the grid.
|
|
10050
|
+
* @private
|
|
10051
|
+
* @returns {void}
|
|
10052
|
+
*/
|
|
10053
|
+
updateActiveCellForVisibleMonth() {
|
|
10054
|
+
// Skip the dateFrom shortcut so the active cell lands in the newly
|
|
10055
|
+
// visible month rather than jumping back to the selected date's month.
|
|
10056
|
+
this.activeCellDate = this.computeActiveDate({ skipDateFrom: true });
|
|
10057
|
+
this.updateComplete.then(() => {
|
|
10058
|
+
if (this.activeCellDate != null) {
|
|
10059
|
+
this.setActiveCell(this.activeCellDate);
|
|
10060
|
+
}
|
|
10061
|
+
});
|
|
9515
10062
|
}
|
|
9516
10063
|
|
|
9517
10064
|
/**
|
|
@@ -9619,6 +10166,778 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
9619
10166
|
this.utilCal.scrollMonthIntoView(this, date, this.format);
|
|
9620
10167
|
}
|
|
9621
10168
|
|
|
10169
|
+
/**
|
|
10170
|
+
* Gets all rendered month components.
|
|
10171
|
+
* @private
|
|
10172
|
+
* @returns {Array} Array of auro-formkit-calendar-month elements.
|
|
10173
|
+
*/
|
|
10174
|
+
getMonthComponents() {
|
|
10175
|
+
return Array.from(this.shadowRoot.querySelectorAll('auro-formkit-calendar-month'));
|
|
10176
|
+
}
|
|
10177
|
+
|
|
10178
|
+
/**
|
|
10179
|
+
* Gets all focusable cells across all rendered months.
|
|
10180
|
+
* @private
|
|
10181
|
+
* @returns {Array} Array of auro-formkit-calendar-cell elements.
|
|
10182
|
+
*/
|
|
10183
|
+
getAllFocusableCells() {
|
|
10184
|
+
const months = this.getMonthComponents();
|
|
10185
|
+
let cells = [];
|
|
10186
|
+
months.forEach(month => {
|
|
10187
|
+
cells = cells.concat(month.getFocusableCells());
|
|
10188
|
+
});
|
|
10189
|
+
return cells;
|
|
10190
|
+
}
|
|
10191
|
+
|
|
10192
|
+
/**
|
|
10193
|
+
* Sets the active cell across all months. Only one cell has tabindex="0" at a time.
|
|
10194
|
+
* Uses imperative DOM manipulation — no Lit re-render triggered.
|
|
10195
|
+
* Also updates ariaActiveDescendantElement on the grid wrapper so
|
|
10196
|
+
* screen readers announce the active cell without moving DOM focus.
|
|
10197
|
+
* @param {Number} date - Unix timestamp of the cell to activate.
|
|
10198
|
+
* @returns {void}
|
|
10199
|
+
*/
|
|
10200
|
+
setActiveCell(date) {
|
|
10201
|
+
const allCells = this.getAllFocusableCells();
|
|
10202
|
+
|
|
10203
|
+
let newActiveCell = null;
|
|
10204
|
+
allCells.forEach(cell => {
|
|
10205
|
+
if (cell.day && cell.day.date === date) {
|
|
10206
|
+
cell.setActive();
|
|
10207
|
+
newActiveCell = cell;
|
|
10208
|
+
} else if (cell.active) {
|
|
10209
|
+
cell.clearActive();
|
|
10210
|
+
}
|
|
10211
|
+
});
|
|
10212
|
+
|
|
10213
|
+
this.activeCellDate = date;
|
|
10214
|
+
|
|
10215
|
+
// Update the proxy element that aria-activedescendant references.
|
|
10216
|
+
// The proxy lives in the same shadow root as the grid wrapper, so
|
|
10217
|
+
// string-based aria-activedescendant works reliably with all SRs.
|
|
10218
|
+
if (newActiveCell) {
|
|
10219
|
+
const proxy = this.shadowRoot.querySelector('#activeDescendantProxy');
|
|
10220
|
+
if (proxy) {
|
|
10221
|
+
proxy.setAttribute('aria-label', newActiveCell.getAriaLabel());
|
|
10222
|
+
proxy.setAttribute('aria-selected', newActiveCell.selected ? 'true' : 'false');
|
|
10223
|
+
if (newActiveCell.isCurrentDate) {
|
|
10224
|
+
proxy.setAttribute('aria-current', 'date');
|
|
10225
|
+
} else {
|
|
10226
|
+
proxy.removeAttribute('aria-current');
|
|
10227
|
+
}
|
|
10228
|
+
if (newActiveCell.isBlackout()) {
|
|
10229
|
+
proxy.setAttribute('aria-disabled', 'true');
|
|
10230
|
+
} else {
|
|
10231
|
+
proxy.removeAttribute('aria-disabled');
|
|
10232
|
+
}
|
|
10233
|
+
}
|
|
10234
|
+
}
|
|
10235
|
+
}
|
|
10236
|
+
|
|
10237
|
+
/**
|
|
10238
|
+
* Focuses the calendar grid wrapper and sets the active cell.
|
|
10239
|
+
* DOM focus stays on the grid wrapper; ariaActiveDescendantElement
|
|
10240
|
+
* tells the screen reader which cell is "active".
|
|
10241
|
+
* @returns {void}
|
|
10242
|
+
*/
|
|
10243
|
+
focusActiveCell() {
|
|
10244
|
+
if (this.activeCellDate != null) {
|
|
10245
|
+
this.setActiveCell(this.activeCellDate);
|
|
10246
|
+
}
|
|
10247
|
+
|
|
10248
|
+
const gridWrapper = this.shadowRoot.querySelector('#calendarGrid');
|
|
10249
|
+
if (gridWrapper) {
|
|
10250
|
+
gridWrapper.focus({ focusVisible: true });
|
|
10251
|
+
}
|
|
10252
|
+
}
|
|
10253
|
+
|
|
10254
|
+
/**
|
|
10255
|
+
* Computes the initial active date from data properties alone — no DOM required.
|
|
10256
|
+
* Priority:
|
|
10257
|
+
* 1. Selected date (dateFrom) if within range
|
|
10258
|
+
* 2. Today's date if not disabled (in-range and not blackout)
|
|
10259
|
+
* 3. First future non-disabled date (scans day-by-day from today up to 1 year)
|
|
10260
|
+
* 4. First previous non-disabled date (scans day-by-day from today up to 1 year)
|
|
10261
|
+
* 5. First enabled date in finite [min, max] range
|
|
10262
|
+
* 5b. First enabled date scanning forward from finite min (unbounded max)
|
|
10263
|
+
* 5c. First enabled date scanning backward from finite max (unbounded min)
|
|
10264
|
+
* 6. First in-range date (even if blackout) so focus can land somewhere
|
|
10265
|
+
* 7. undefined — no valid target
|
|
10266
|
+
*
|
|
10267
|
+
* @private
|
|
10268
|
+
* @param {Object} [options] - Optional settings.
|
|
10269
|
+
* @param {boolean} [options.skipDateFrom=false] - When true, skip the selected-date
|
|
10270
|
+
* shortcut (step 1). Used after month navigation so the active cell lands in the
|
|
10271
|
+
* newly visible month instead of jumping back to the selected date's month.
|
|
10272
|
+
* @returns {Number|undefined} Unix timestamp (seconds) of the date to activate, or undefined.
|
|
10273
|
+
*/
|
|
10274
|
+
computeActiveDate(options = {}) {
|
|
10275
|
+
const MAX_SCAN_DAYS = 366; // scan at most ~1 year in each direction
|
|
10276
|
+
|
|
10277
|
+
/**
|
|
10278
|
+
* Adds days to a timestamp using Date arithmetic to handle DST correctly.
|
|
10279
|
+
* Returns a local-midnight-aligned timestamp in seconds.
|
|
10280
|
+
*/
|
|
10281
|
+
const addDays = (ts, days) => {
|
|
10282
|
+
const d = new Date(ts * 1000);
|
|
10283
|
+
d.setDate(d.getDate() + days);
|
|
10284
|
+
d.setHours(0, 0, 0, 0);
|
|
10285
|
+
return Math.floor(d.getTime() / 1000);
|
|
10286
|
+
};
|
|
10287
|
+
|
|
10288
|
+
const rawMin = Number(this.min);
|
|
10289
|
+
const rawMax = Number(this.max);
|
|
10290
|
+
|
|
10291
|
+
// When min/max are NaN (no minDate/maxDate configured), treat as unbounded.
|
|
10292
|
+
const minTs = Number.isFinite(rawMin) ? rawMin : -Infinity;
|
|
10293
|
+
const maxTs = Number.isFinite(rawMax) ? rawMax : Infinity;
|
|
10294
|
+
|
|
10295
|
+
// Build a Set of blackout timestamps for O(1) lookup.
|
|
10296
|
+
const blackoutSet = new Set(
|
|
10297
|
+
(this.disabledDays || []).map(d => parseInt(d, 10))
|
|
10298
|
+
);
|
|
10299
|
+
|
|
10300
|
+
// Also include ISO-format blackoutDates from the datepicker if available.
|
|
10301
|
+
// Parse YYYY-MM-DD as local date to avoid UTC shift issues.
|
|
10302
|
+
const isoBlackouts = this.datepicker?.blackoutDates;
|
|
10303
|
+
if (Array.isArray(isoBlackouts)) {
|
|
10304
|
+
for (const isoStr of isoBlackouts) {
|
|
10305
|
+
const parts = isoStr.split('-');
|
|
10306
|
+
const ts = Math.floor(new Date(parseInt(parts[0], 10), parseInt(parts[1], 10) - 1, parseInt(parts[2], 10)).getTime() / 1000);
|
|
10307
|
+
if (Number.isFinite(ts)) blackoutSet.add(ts);
|
|
10308
|
+
}
|
|
10309
|
+
}
|
|
10310
|
+
|
|
10311
|
+
/**
|
|
10312
|
+
* A date (unix timestamp in seconds, midnight-aligned) is "enabled" when
|
|
10313
|
+
* it is within [min, max] AND not a blackout day.
|
|
10314
|
+
*/
|
|
10315
|
+
const isEnabled = (ts) => ts >= minTs && ts <= maxTs && !blackoutSet.has(ts);
|
|
10316
|
+
|
|
10317
|
+
/**
|
|
10318
|
+
* A date is "in range" (focusable in the grid) when it is within [min, max].
|
|
10319
|
+
* Blackout dates are focusable but not selectable.
|
|
10320
|
+
*/
|
|
10321
|
+
const isInRange = (ts) => ts >= minTs && ts <= maxTs;
|
|
10322
|
+
|
|
10323
|
+
// 1. Selected date — always valid target if within range (user chose it).
|
|
10324
|
+
// Skipped when called from month navigation so the active cell lands in
|
|
10325
|
+
// the newly visible month rather than the (possibly off-screen) selection.
|
|
10326
|
+
if (!options.skipDateFrom && this.dateFrom) {
|
|
10327
|
+
const parsedFrom = parseInt(this.dateFrom, 10);
|
|
10328
|
+
if (Number.isFinite(parsedFrom) && isInRange(parsedFrom)) return parsedFrom;
|
|
10329
|
+
}
|
|
10330
|
+
|
|
10331
|
+
// 2. Today's date (midnight-aligned) if enabled.
|
|
10332
|
+
const now = Math.floor(new Date().setHours(0, 0, 0, 0) / 1000);
|
|
10333
|
+
|
|
10334
|
+
// When centralDate is configured, prefer a date within the month(s) that
|
|
10335
|
+
// will actually be rendered. If today falls outside the visible range, an
|
|
10336
|
+
// active cell set to today would have no matching DOM element and keyboard
|
|
10337
|
+
// focus could not enter the calendar.
|
|
10338
|
+
const centralDateValue = this.centralDate ? new Date(this.centralDate) : null;
|
|
10339
|
+
|
|
10340
|
+
if (centralDateValue && !isNaN(centralDateValue.getTime())) {
|
|
10341
|
+
const centralMonth = centralDateValue.getMonth();
|
|
10342
|
+
const centralYear = centralDateValue.getFullYear();
|
|
10343
|
+
const todayDate = new Date(now * 1000);
|
|
10344
|
+
const todayMonth = todayDate.getMonth();
|
|
10345
|
+
const todayYear = todayDate.getFullYear();
|
|
10346
|
+
|
|
10347
|
+
// Today is outside the centralDate's month — scan for an enabled date
|
|
10348
|
+
// within the visible month instead.
|
|
10349
|
+
if (todayMonth !== centralMonth || todayYear !== centralYear) {
|
|
10350
|
+
const visibleStart = new Date(centralYear, centralMonth, 1);
|
|
10351
|
+
visibleStart.setHours(0, 0, 0, 0);
|
|
10352
|
+
const visibleEnd = new Date(centralYear, centralMonth + 1, 0); // last day of month
|
|
10353
|
+
visibleEnd.setHours(0, 0, 0, 0);
|
|
10354
|
+
const startTs = Math.floor(visibleStart.getTime() / 1000);
|
|
10355
|
+
const endTs = Math.floor(visibleEnd.getTime() / 1000);
|
|
10356
|
+
const daysInMonth = visibleEnd.getDate();
|
|
10357
|
+
|
|
10358
|
+
for (let idx = 0; idx < daysInMonth; idx++) {
|
|
10359
|
+
const ts = addDays(startTs, idx);
|
|
10360
|
+
if (ts > endTs) break;
|
|
10361
|
+
if (isEnabled(ts)) return ts;
|
|
10362
|
+
}
|
|
10363
|
+
|
|
10364
|
+
// No enabled date in the visible month — fall back to first in-range
|
|
10365
|
+
// date in the month so focus still lands on a focusable cell.
|
|
10366
|
+
for (let idx = 0; idx < daysInMonth; idx++) {
|
|
10367
|
+
const ts = addDays(startTs, idx);
|
|
10368
|
+
if (ts > endTs) break;
|
|
10369
|
+
if (isInRange(ts)) return ts;
|
|
10370
|
+
}
|
|
10371
|
+
}
|
|
10372
|
+
}
|
|
10373
|
+
|
|
10374
|
+
if (isEnabled(now)) return now;
|
|
10375
|
+
|
|
10376
|
+
// When a centralDate is configured (or inferred), constrain the scan to the
|
|
10377
|
+
// rendered month(s) first so a single-month calendar does not pick a date
|
|
10378
|
+
// that has no DOM cell. Determine the visible range based on centralDate and
|
|
10379
|
+
// the number of rendered months.
|
|
10380
|
+
const renderedMonths = this.numCalendars || 1;
|
|
10381
|
+
const visibleAnchor = centralDateValue && !isNaN(centralDateValue.getTime())
|
|
10382
|
+
? centralDateValue
|
|
10383
|
+
: new Date(now * 1000);
|
|
10384
|
+
const visMonthStart = new Date(visibleAnchor.getFullYear(), visibleAnchor.getMonth(), 1);
|
|
10385
|
+
visMonthStart.setHours(0, 0, 0, 0);
|
|
10386
|
+
const visMonthEnd = new Date(visibleAnchor.getFullYear(), visibleAnchor.getMonth() + renderedMonths, 0);
|
|
10387
|
+
visMonthEnd.setHours(0, 0, 0, 0);
|
|
10388
|
+
const visStartTs = Math.floor(visMonthStart.getTime() / 1000);
|
|
10389
|
+
const visEndTs = Math.floor(visMonthEnd.getTime() / 1000);
|
|
10390
|
+
const visDays = Math.round((visEndTs - visStartTs) / 86400) + 1;
|
|
10391
|
+
|
|
10392
|
+
// Scan visible months for an enabled date.
|
|
10393
|
+
for (let idx = 0; idx < visDays; idx++) {
|
|
10394
|
+
const ts = addDays(visStartTs, idx);
|
|
10395
|
+
if (ts > visEndTs) break;
|
|
10396
|
+
if (isEnabled(ts)) return ts;
|
|
10397
|
+
}
|
|
10398
|
+
|
|
10399
|
+
// No enabled date in visible months — try an in-range (focusable) date so
|
|
10400
|
+
// keyboard focus still has a tabindex="0" target.
|
|
10401
|
+
for (let idx = 0; idx < visDays; idx++) {
|
|
10402
|
+
const ts = addDays(visStartTs, idx);
|
|
10403
|
+
if (ts > visEndTs) break;
|
|
10404
|
+
if (isInRange(ts)) return ts;
|
|
10405
|
+
}
|
|
10406
|
+
|
|
10407
|
+
// 3. First future enabled date (scan forward from tomorrow, capped by max and MAX_SCAN_DAYS).
|
|
10408
|
+
for (let idx = 1; idx <= MAX_SCAN_DAYS; idx++) {
|
|
10409
|
+
const ts = addDays(now, idx);
|
|
10410
|
+
if (Number.isFinite(maxTs) && ts > maxTs) break;
|
|
10411
|
+
if (isEnabled(ts)) return ts;
|
|
10412
|
+
}
|
|
10413
|
+
|
|
10414
|
+
// 4. First previous enabled date (scan backward from yesterday, capped by min and MAX_SCAN_DAYS).
|
|
10415
|
+
for (let idx = 1; idx <= MAX_SCAN_DAYS; idx++) {
|
|
10416
|
+
const ts = addDays(now, -idx);
|
|
10417
|
+
if (Number.isFinite(minTs) && ts < minTs) break;
|
|
10418
|
+
if (isEnabled(ts)) return ts;
|
|
10419
|
+
}
|
|
10420
|
+
|
|
10421
|
+
// 5. If scans missed (e.g. min/max range is far from today), fall back to
|
|
10422
|
+
// the first enabled date in the [min, max] range.
|
|
10423
|
+
if (Number.isFinite(minTs) && Number.isFinite(maxTs)) {
|
|
10424
|
+
let ts = minTs;
|
|
10425
|
+
for (let idx = 0; ts <= maxTs; idx++) {
|
|
10426
|
+
if (isEnabled(ts)) return ts;
|
|
10427
|
+
ts = addDays(minTs, idx + 1);
|
|
10428
|
+
}
|
|
10429
|
+
}
|
|
10430
|
+
|
|
10431
|
+
// 5b. Finite min with unbounded max (e.g. minDate far in the future):
|
|
10432
|
+
// scan forward from min for up to MAX_SCAN_DAYS.
|
|
10433
|
+
if (Number.isFinite(minTs) && !Number.isFinite(maxTs)) {
|
|
10434
|
+
for (let idx = 0; idx <= MAX_SCAN_DAYS; idx++) {
|
|
10435
|
+
const ts = addDays(minTs, idx);
|
|
10436
|
+
if (isEnabled(ts)) return ts;
|
|
10437
|
+
}
|
|
10438
|
+
}
|
|
10439
|
+
|
|
10440
|
+
// 5c. Unbounded min with a finite max far in the past (e.g. birth-date picker):
|
|
10441
|
+
// scan backward from max for up to MAX_SCAN_DAYS.
|
|
10442
|
+
if (!Number.isFinite(minTs) && Number.isFinite(maxTs)) {
|
|
10443
|
+
for (let idx = 0; idx <= MAX_SCAN_DAYS; idx++) {
|
|
10444
|
+
const ts = addDays(maxTs, -idx);
|
|
10445
|
+
if (isEnabled(ts)) return ts;
|
|
10446
|
+
}
|
|
10447
|
+
}
|
|
10448
|
+
|
|
10449
|
+
// 6. All dates are blackout — fall back to the first in-range date so focus
|
|
10450
|
+
// still lands on a focusable (but not selectable) cell.
|
|
10451
|
+
if (Number.isFinite(minTs) && isInRange(minTs)) return minTs;
|
|
10452
|
+
if (isInRange(now)) return now;
|
|
10453
|
+
|
|
10454
|
+
return undefined;
|
|
10455
|
+
}
|
|
10456
|
+
|
|
10457
|
+
/**
|
|
10458
|
+
* Handles arrow key navigation on the calendar grid wrapper.
|
|
10459
|
+
* Focus stays on the grid wrapper; only ariaActiveDescendantElement
|
|
10460
|
+
* and the visual active-cell indicator change.
|
|
10461
|
+
* @private
|
|
10462
|
+
* @param {KeyboardEvent} event - The keyboard event.
|
|
10463
|
+
* @returns {void}
|
|
10464
|
+
*/
|
|
10465
|
+
handleGridKeyDown(event) {
|
|
10466
|
+
const { key } = event;
|
|
10467
|
+
const actionKeys = ['ArrowRight', 'ArrowLeft', 'ArrowDown', 'ArrowUp', 'Enter', ' '];
|
|
10468
|
+
|
|
10469
|
+
if (!actionKeys.includes(key)) return;
|
|
10470
|
+
|
|
10471
|
+
event.preventDefault();
|
|
10472
|
+
|
|
10473
|
+
const allCells = this.getAllFocusableCells();
|
|
10474
|
+
if (allCells.length === 0) return;
|
|
10475
|
+
|
|
10476
|
+
const activeCell = allCells.find(cell => cell.active);
|
|
10477
|
+
if (!activeCell) return;
|
|
10478
|
+
|
|
10479
|
+
// Handle Enter/Space to select the active cell
|
|
10480
|
+
if (key === 'Enter' || key === ' ') {
|
|
10481
|
+
activeCell.handleTap();
|
|
10482
|
+
return;
|
|
10483
|
+
}
|
|
10484
|
+
|
|
10485
|
+
const activeIndex = allCells.indexOf(activeCell);
|
|
10486
|
+
|
|
10487
|
+
if (key === 'ArrowRight' || key === 'ArrowLeft') {
|
|
10488
|
+
const direction = key === 'ArrowRight' ? 1 : -1;
|
|
10489
|
+
const targetIndex = activeIndex + direction;
|
|
10490
|
+
|
|
10491
|
+
if (targetIndex >= 0 && targetIndex < allCells.length) {
|
|
10492
|
+
// Target cell exists in rendered months
|
|
10493
|
+
this.setActiveCell(allCells[targetIndex].day.date);
|
|
10494
|
+
this.scrollToActiveCell();
|
|
10495
|
+
// Dispatch focus event for the cell so live region + range preview update
|
|
10496
|
+
this.handleCellFocused({ detail: { date: allCells[targetIndex].day.date } });
|
|
10497
|
+
} else {
|
|
10498
|
+
// At boundary — need to navigate to next/prev month
|
|
10499
|
+
const navDir = direction === 1 ? 'next' : 'prev';
|
|
10500
|
+
if ((navDir === 'next' && this.showNextMonthBtn) || (navDir === 'prev' && this.showPrevMonthBtn)) {
|
|
10501
|
+
const targetDate = new Date(activeCell.day.date * 1000);
|
|
10502
|
+
targetDate.setDate(targetDate.getDate() + direction);
|
|
10503
|
+
targetDate.setHours(0, 0, 0, 0);
|
|
10504
|
+
const targetTs = Math.floor(targetDate.getTime() / 1000);
|
|
10505
|
+
|
|
10506
|
+
if (navDir === 'next') {
|
|
10507
|
+
this.handleNextMonth();
|
|
10508
|
+
} else {
|
|
10509
|
+
this.handlePrevMonth();
|
|
10510
|
+
}
|
|
10511
|
+
requestAnimationFrame(() => {
|
|
10512
|
+
requestAnimationFrame(() => {
|
|
10513
|
+
const cells = this.getAllFocusableCells();
|
|
10514
|
+
const target = cells.find(cell => cell.day && cell.day.date === targetTs);
|
|
10515
|
+
if (target) {
|
|
10516
|
+
this.setActiveCell(target.day.date);
|
|
10517
|
+
this.handleCellFocused({ detail: { date: target.day.date } });
|
|
10518
|
+
} else if (cells.length > 0) {
|
|
10519
|
+
const fallback = navDir === 'next' ? cells[cells.length - 1] : cells[0];
|
|
10520
|
+
this.setActiveCell(fallback.day.date);
|
|
10521
|
+
this.handleCellFocused({ detail: { date: fallback.day.date } });
|
|
10522
|
+
}
|
|
10523
|
+
// Re-focus grid wrapper after month change re-render
|
|
10524
|
+
this.focusActiveCell();
|
|
10525
|
+
});
|
|
10526
|
+
});
|
|
10527
|
+
}
|
|
10528
|
+
}
|
|
10529
|
+
} else if (key === 'ArrowDown' || key === 'ArrowUp') {
|
|
10530
|
+
const increment = key === 'ArrowDown' ? 7 : -7;
|
|
10531
|
+
const currentDate = new Date(activeCell.day.date * 1000);
|
|
10532
|
+
currentDate.setDate(currentDate.getDate() + increment);
|
|
10533
|
+
currentDate.setHours(0, 0, 0, 0);
|
|
10534
|
+
const targetDate = Math.floor(currentDate.getTime() / 1000);
|
|
10535
|
+
|
|
10536
|
+
const targetCell = allCells.find(cell => cell.day && cell.day.date === targetDate);
|
|
10537
|
+
|
|
10538
|
+
if (targetCell) {
|
|
10539
|
+
this.setActiveCell(targetCell.day.date);
|
|
10540
|
+
this.scrollToActiveCell();
|
|
10541
|
+
this.handleCellFocused({ detail: { date: targetCell.day.date } });
|
|
10542
|
+
} else {
|
|
10543
|
+
// Target might be in an unrendered month
|
|
10544
|
+
const navDirection = key === 'ArrowDown' ? 'next' : 'prev';
|
|
10545
|
+
if ((navDirection === 'next' && this.showNextMonthBtn) || (navDirection === 'prev' && this.showPrevMonthBtn)) {
|
|
10546
|
+
if (navDirection === 'next') {
|
|
10547
|
+
this.handleNextMonth();
|
|
10548
|
+
} else {
|
|
10549
|
+
this.handlePrevMonth();
|
|
10550
|
+
}
|
|
10551
|
+
requestAnimationFrame(() => {
|
|
10552
|
+
requestAnimationFrame(() => {
|
|
10553
|
+
const cells = this.getAllFocusableCells();
|
|
10554
|
+
const target = cells.find(cell => cell.day && cell.day.date === targetDate);
|
|
10555
|
+
if (target) {
|
|
10556
|
+
this.setActiveCell(target.day.date);
|
|
10557
|
+
this.handleCellFocused({ detail: { date: target.day.date } });
|
|
10558
|
+
} else if (cells.length > 0) {
|
|
10559
|
+
const nearest = navDirection === 'next' ? cells[0] : cells[cells.length - 1];
|
|
10560
|
+
this.setActiveCell(nearest.day.date);
|
|
10561
|
+
this.handleCellFocused({ detail: { date: nearest.day.date } });
|
|
10562
|
+
}
|
|
10563
|
+
this.focusActiveCell();
|
|
10564
|
+
});
|
|
10565
|
+
});
|
|
10566
|
+
}
|
|
10567
|
+
}
|
|
10568
|
+
}
|
|
10569
|
+
}
|
|
10570
|
+
|
|
10571
|
+
/**
|
|
10572
|
+
* Handles cross-month boundary navigation events from month components.
|
|
10573
|
+
* @private
|
|
10574
|
+
* @param {CustomEvent} event - The boundary event with direction and source date info.
|
|
10575
|
+
* @returns {void}
|
|
10576
|
+
*/
|
|
10577
|
+
handleMonthBoundary(event) {
|
|
10578
|
+
const { direction, fromDate, key } = event.detail;
|
|
10579
|
+
|
|
10580
|
+
if (key === 'ArrowRight' || key === 'ArrowLeft') {
|
|
10581
|
+
// Linear navigation: find adjacent focusable cell across months
|
|
10582
|
+
const allCells = this.getAllFocusableCells();
|
|
10583
|
+
const currentIndex = allCells.findIndex(cell => cell.day && cell.day.date === fromDate);
|
|
10584
|
+
|
|
10585
|
+
if (currentIndex === -1) return;
|
|
10586
|
+
|
|
10587
|
+
let targetIndex;
|
|
10588
|
+
if (direction === 'next') {
|
|
10589
|
+
targetIndex = currentIndex + 1;
|
|
10590
|
+
} else {
|
|
10591
|
+
targetIndex = currentIndex - 1;
|
|
10592
|
+
}
|
|
10593
|
+
|
|
10594
|
+
if (targetIndex >= 0 && targetIndex < allCells.length) {
|
|
10595
|
+
const targetCell = allCells[targetIndex];
|
|
10596
|
+
this.setActiveCell(targetCell.day.date);
|
|
10597
|
+
this.scrollToActiveCell();
|
|
10598
|
+
this.focusActiveCell();
|
|
10599
|
+
} else if (direction === 'next' && this.showNextMonthBtn) {
|
|
10600
|
+
// Navigate to next month and focus the computed next date.
|
|
10601
|
+
// Using the target date (fromDate + 1 day) instead of cells[0]
|
|
10602
|
+
// avoids jumping backward in range datepickers where cells[0]
|
|
10603
|
+
// belongs to the previous (still-rendered) month.
|
|
10604
|
+
const nextDate = new Date(fromDate * 1000);
|
|
10605
|
+
nextDate.setDate(nextDate.getDate() + 1);
|
|
10606
|
+
nextDate.setHours(0, 0, 0, 0);
|
|
10607
|
+
const nextTs = Math.floor(nextDate.getTime() / 1000);
|
|
10608
|
+
|
|
10609
|
+
this.handleNextMonth();
|
|
10610
|
+
requestAnimationFrame(() => {
|
|
10611
|
+
requestAnimationFrame(() => {
|
|
10612
|
+
const cells = this.getAllFocusableCells();
|
|
10613
|
+
const target = cells.find(cell => cell.day && cell.day.date === nextTs);
|
|
10614
|
+
if (target) {
|
|
10615
|
+
this.setActiveCell(target.day.date);
|
|
10616
|
+
this.focusActiveCell();
|
|
10617
|
+
} else if (cells.length > 0) {
|
|
10618
|
+
// Fallback: first cell of the last rendered month
|
|
10619
|
+
this.setActiveCell(cells[cells.length - 1].day.date);
|
|
10620
|
+
this.focusActiveCell();
|
|
10621
|
+
}
|
|
10622
|
+
});
|
|
10623
|
+
});
|
|
10624
|
+
} else if (direction === 'prev' && this.showPrevMonthBtn) {
|
|
10625
|
+
// Navigate to previous month and focus the computed previous date.
|
|
10626
|
+
const prevDate = new Date(fromDate * 1000);
|
|
10627
|
+
prevDate.setDate(prevDate.getDate() - 1);
|
|
10628
|
+
prevDate.setHours(0, 0, 0, 0);
|
|
10629
|
+
const prevTs = Math.floor(prevDate.getTime() / 1000);
|
|
10630
|
+
|
|
10631
|
+
this.handlePrevMonth();
|
|
10632
|
+
requestAnimationFrame(() => {
|
|
10633
|
+
requestAnimationFrame(() => {
|
|
10634
|
+
const cells = this.getAllFocusableCells();
|
|
10635
|
+
const target = cells.find(cell => cell.day && cell.day.date === prevTs);
|
|
10636
|
+
if (target) {
|
|
10637
|
+
this.setActiveCell(target.day.date);
|
|
10638
|
+
this.focusActiveCell();
|
|
10639
|
+
} else if (cells.length > 0) {
|
|
10640
|
+
// Fallback: last cell of the first rendered month
|
|
10641
|
+
this.setActiveCell(cells[0].day.date);
|
|
10642
|
+
this.focusActiveCell();
|
|
10643
|
+
}
|
|
10644
|
+
});
|
|
10645
|
+
});
|
|
10646
|
+
}
|
|
10647
|
+
} else if (key === 'ArrowDown' || key === 'ArrowUp') {
|
|
10648
|
+
// Vertical navigation: find same day-of-week +/- 7 days
|
|
10649
|
+
// Use Date arithmetic instead of fixed seconds to handle DST correctly
|
|
10650
|
+
const increment = key === 'ArrowDown' ? 7 : -7;
|
|
10651
|
+
const currentDate = new Date(fromDate * 1000);
|
|
10652
|
+
currentDate.setDate(currentDate.getDate() + increment);
|
|
10653
|
+
currentDate.setHours(0, 0, 0, 0);
|
|
10654
|
+
const targetDate = Math.floor(currentDate.getTime() / 1000);
|
|
10655
|
+
|
|
10656
|
+
const allCells = this.getAllFocusableCells();
|
|
10657
|
+
let targetCell = allCells.find(cell => cell.day && cell.day.date === targetDate);
|
|
10658
|
+
|
|
10659
|
+
if (targetCell) {
|
|
10660
|
+
this.setActiveCell(targetCell.day.date);
|
|
10661
|
+
this.scrollToActiveCell();
|
|
10662
|
+
this.focusActiveCell();
|
|
10663
|
+
} else {
|
|
10664
|
+
// Target might be in an unrendered month, navigate there
|
|
10665
|
+
const navDirection = key === 'ArrowDown' ? 'next' : 'prev';
|
|
10666
|
+
if ((navDirection === 'next' && this.showNextMonthBtn) || (navDirection === 'prev' && this.showPrevMonthBtn)) {
|
|
10667
|
+
if (navDirection === 'next') {
|
|
10668
|
+
this.handleNextMonth();
|
|
10669
|
+
} else {
|
|
10670
|
+
this.handlePrevMonth();
|
|
10671
|
+
}
|
|
10672
|
+
requestAnimationFrame(() => {
|
|
10673
|
+
requestAnimationFrame(() => {
|
|
10674
|
+
const cells = this.getAllFocusableCells();
|
|
10675
|
+
const target = cells.find(cell => cell.day && cell.day.date === targetDate);
|
|
10676
|
+
if (target) {
|
|
10677
|
+
this.setActiveCell(target.day.date);
|
|
10678
|
+
this.focusActiveCell();
|
|
10679
|
+
} else if (cells.length > 0) {
|
|
10680
|
+
// Clamp to nearest focusable cell
|
|
10681
|
+
const nearest = navDirection === 'next' ? cells[0] : cells[cells.length - 1];
|
|
10682
|
+
this.setActiveCell(nearest.day.date);
|
|
10683
|
+
this.focusActiveCell();
|
|
10684
|
+
}
|
|
10685
|
+
});
|
|
10686
|
+
});
|
|
10687
|
+
}
|
|
10688
|
+
}
|
|
10689
|
+
}
|
|
10690
|
+
}
|
|
10691
|
+
|
|
10692
|
+
/**
|
|
10693
|
+
* Handles cell activation events from month components.
|
|
10694
|
+
* @private
|
|
10695
|
+
* @param {CustomEvent} event - The activation event with target date.
|
|
10696
|
+
* @returns {void}
|
|
10697
|
+
*/
|
|
10698
|
+
handleCellActivate(event) {
|
|
10699
|
+
const { date } = event.detail;
|
|
10700
|
+
this.setActiveCell(date);
|
|
10701
|
+
this.focusActiveCell();
|
|
10702
|
+
}
|
|
10703
|
+
|
|
10704
|
+
/**
|
|
10705
|
+
* Handles focus events from calendar cells.
|
|
10706
|
+
* Updates the live region with an SR announcement and triggers
|
|
10707
|
+
* the imperative range preview if applicable.
|
|
10708
|
+
* @private
|
|
10709
|
+
* @param {CustomEvent} event - The calendar-cell-focused event.
|
|
10710
|
+
* @returns {void}
|
|
10711
|
+
*/
|
|
10712
|
+
handleCellFocused(event) {
|
|
10713
|
+
const { date } = event.detail;
|
|
10714
|
+
if (date == null) return;
|
|
10715
|
+
|
|
10716
|
+
// With aria-activedescendant, the button no longer receives native focus,
|
|
10717
|
+
// so we use the debounced live region for the full context announcement.
|
|
10718
|
+
const announcement = this.buildFocusAnnouncement(date);
|
|
10719
|
+
this.announceFocusDebounced(announcement);
|
|
10720
|
+
|
|
10721
|
+
// Update the range preview imperatively if in range-preview mode.
|
|
10722
|
+
this.updateRangePreview(date);
|
|
10723
|
+
}
|
|
10724
|
+
|
|
10725
|
+
/**
|
|
10726
|
+
* Builds a full SR announcement string for a focused cell date.
|
|
10727
|
+
* Includes the localized date, range position, popover content,
|
|
10728
|
+
* and blackout status.
|
|
10729
|
+
* @private
|
|
10730
|
+
* @param {Number} date - Unix timestamp (seconds) of the focused cell.
|
|
10731
|
+
* @returns {String} The announcement string.
|
|
10732
|
+
*/
|
|
10733
|
+
buildFocusAnnouncement(date) {
|
|
10734
|
+
let label = this.formatAnnouncementDate(date);
|
|
10735
|
+
|
|
10736
|
+
// Append date slot content (e.g. prices) if present.
|
|
10737
|
+
const dateObj = new Date(date * 1000);
|
|
10738
|
+
const mm = String(dateObj.getMonth() + 1).padStart(2, '0');
|
|
10739
|
+
const dd = String(dateObj.getDate()).padStart(2, '0');
|
|
10740
|
+
const yyyy = dateObj.getFullYear();
|
|
10741
|
+
const dateStr = `${mm}_${dd}_${yyyy}`;
|
|
10742
|
+
const dateSlotEl = this.datepicker?.querySelector(`[slot="date_${dateStr}"]`);
|
|
10743
|
+
if (dateSlotEl) {
|
|
10744
|
+
const text = dateSlotEl.innerText?.trim();
|
|
10745
|
+
if (text) {
|
|
10746
|
+
label += `, ${text}`;
|
|
10747
|
+
}
|
|
10748
|
+
}
|
|
10749
|
+
|
|
10750
|
+
// Append popover content if present.
|
|
10751
|
+
const popoverEl = this.datepicker?.querySelector(`[slot="popover_${dateStr}"]`);
|
|
10752
|
+
if (popoverEl) {
|
|
10753
|
+
const text = popoverEl.innerText?.trim();
|
|
10754
|
+
if (text) {
|
|
10755
|
+
label += `, ${text}`;
|
|
10756
|
+
}
|
|
10757
|
+
}
|
|
10758
|
+
|
|
10759
|
+
// Append range position context.
|
|
10760
|
+
if (this.datepicker?.hasAttribute('range')) {
|
|
10761
|
+
const rangeLabel = this.getRangePositionLabel(date);
|
|
10762
|
+
if (rangeLabel) {
|
|
10763
|
+
label += `, ${rangeLabel}`;
|
|
10764
|
+
}
|
|
10765
|
+
}
|
|
10766
|
+
|
|
10767
|
+
// Append blackout label.
|
|
10768
|
+
if (this.isDateBlackout(date)) {
|
|
10769
|
+
label += `, ${this.datepicker?.blackoutLabel || 'unavailable'}`;
|
|
10770
|
+
}
|
|
10771
|
+
|
|
10772
|
+
return label;
|
|
10773
|
+
}
|
|
10774
|
+
|
|
10775
|
+
/**
|
|
10776
|
+
* Determines the range position label for a given date.
|
|
10777
|
+
* @private
|
|
10778
|
+
* @param {Number} date - Unix timestamp (seconds).
|
|
10779
|
+
* @returns {String|null} The range position label, or null.
|
|
10780
|
+
*/
|
|
10781
|
+
getRangePositionLabel(date) {
|
|
10782
|
+
const parsedFrom = Number.parseInt(this.dateFrom, 10);
|
|
10783
|
+
if (!Number.isFinite(parsedFrom)) return null;
|
|
10784
|
+
|
|
10785
|
+
const departTs = startOfDay(parsedFrom * 1000) / 1000;
|
|
10786
|
+
const parsedTo = Number.parseInt(this.dateTo, 10);
|
|
10787
|
+
const hasTo = Number.isFinite(parsedTo);
|
|
10788
|
+
const returnTs = hasTo ? startOfDay(parsedTo * 1000) / 1000 : null;
|
|
10789
|
+
|
|
10790
|
+
if (date === departTs) return this.datepicker.rangeLabelStart || 'range start';
|
|
10791
|
+
if (hasTo && date === returnTs) return this.datepicker.rangeLabelEnd || 'range end';
|
|
10792
|
+
if (date < departTs) return this.datepicker.rangeLabelBeforeRange || 'before range';
|
|
10793
|
+
if (hasTo && date > departTs && date < returnTs) return this.datepicker.rangeLabelInRange || 'in range';
|
|
10794
|
+
return this.datepicker.rangeLabelAfterRange || 'after range';
|
|
10795
|
+
}
|
|
10796
|
+
|
|
10797
|
+
/**
|
|
10798
|
+
* Checks whether a given date is a blackout date.
|
|
10799
|
+
* @private
|
|
10800
|
+
* @param {Number} dateTs - Unix timestamp (seconds).
|
|
10801
|
+
* @returns {Boolean} True if the date is blacked out.
|
|
10802
|
+
*/
|
|
10803
|
+
isDateBlackout(dateTs) {
|
|
10804
|
+
// Check legacy disabledDays.
|
|
10805
|
+
if (Array.isArray(this.disabledDays) && this.disabledDays.length > 0) {
|
|
10806
|
+
if (this.disabledDays.findIndex(d => parseInt(d, 10) === dateTs) !== -1) {
|
|
10807
|
+
return true;
|
|
10808
|
+
}
|
|
10809
|
+
}
|
|
10810
|
+
|
|
10811
|
+
// Check ISO blackoutDates.
|
|
10812
|
+
const blackoutDates = this.datepicker?.blackoutDates;
|
|
10813
|
+
if (Array.isArray(blackoutDates) && blackoutDates.length > 0) {
|
|
10814
|
+
const date = new Date(dateTs * 1000);
|
|
10815
|
+
const yyyy = date.getFullYear();
|
|
10816
|
+
const mm = String(date.getMonth() + 1).padStart(2, '0');
|
|
10817
|
+
const dd = String(date.getDate()).padStart(2, '0');
|
|
10818
|
+
if (blackoutDates.includes(`${yyyy}-${mm}-${dd}`)) {
|
|
10819
|
+
return true;
|
|
10820
|
+
}
|
|
10821
|
+
}
|
|
10822
|
+
|
|
10823
|
+
return false;
|
|
10824
|
+
}
|
|
10825
|
+
|
|
10826
|
+
/**
|
|
10827
|
+
* Updates the range preview classes imperatively across all cells.
|
|
10828
|
+
* Only active when in range mode with dateFrom set and dateTo not yet set.
|
|
10829
|
+
* @private
|
|
10830
|
+
* @param {Number} hoveredDate - Unix timestamp of the hovered/focused date.
|
|
10831
|
+
* @returns {void}
|
|
10832
|
+
*/
|
|
10833
|
+
updateRangePreview(hoveredDate) {
|
|
10834
|
+
if (this.noRange || !this.dateFrom || this.dateTo) {
|
|
10835
|
+
return;
|
|
10836
|
+
}
|
|
10837
|
+
|
|
10838
|
+
const parsedDateFrom = parseInt(this.dateFrom, 10);
|
|
10839
|
+
const allCells = this.getAllFocusableCells();
|
|
10840
|
+
|
|
10841
|
+
allCells.forEach(cell => {
|
|
10842
|
+
cell.updateRangePreviewClasses(hoveredDate, parsedDateFrom);
|
|
10843
|
+
});
|
|
10844
|
+
}
|
|
10845
|
+
|
|
10846
|
+
/**
|
|
10847
|
+
* Clears range preview classes from all cells.
|
|
10848
|
+
* @private
|
|
10849
|
+
* @returns {void}
|
|
10850
|
+
*/
|
|
10851
|
+
clearRangePreview() {
|
|
10852
|
+
const allCells = this.getAllFocusableCells();
|
|
10853
|
+
allCells.forEach(cell => {
|
|
10854
|
+
cell.clearRangePreviewClasses();
|
|
10855
|
+
});
|
|
10856
|
+
}
|
|
10857
|
+
|
|
10858
|
+
/**
|
|
10859
|
+
* Overrides the base class handler to prevent setting `this.hoveredDate`
|
|
10860
|
+
* as a reactive property. Instead, handles the range preview imperatively.
|
|
10861
|
+
* @private
|
|
10862
|
+
* @param {CustomEvent} event - The hovered-date-changed event from a month.
|
|
10863
|
+
* @returns {void}
|
|
10864
|
+
*/
|
|
10865
|
+
hoveredDateChanged(event) {
|
|
10866
|
+
const hoveredDate = event.detail.value;
|
|
10867
|
+
this.updateRangePreview(hoveredDate);
|
|
10868
|
+
}
|
|
10869
|
+
|
|
10870
|
+
/**
|
|
10871
|
+
* Scrolls the calendar to ensure the month containing the active cell is visible.
|
|
10872
|
+
* @private
|
|
10873
|
+
* @returns {void}
|
|
10874
|
+
*/
|
|
10875
|
+
scrollToActiveCell() {
|
|
10876
|
+
if (this.activeCellDate == null) return;
|
|
10877
|
+
|
|
10878
|
+
const date = new Date(this.activeCellDate * 1000);
|
|
10879
|
+
const month = date.getMonth() + 1;
|
|
10880
|
+
const year = date.getFullYear();
|
|
10881
|
+
const selector = `#month-${month}-${year}`;
|
|
10882
|
+
const monthElem = this.shadowRoot.querySelector(selector);
|
|
10883
|
+
|
|
10884
|
+
if (monthElem) {
|
|
10885
|
+
const prefersReducedMotion = window.matchMedia('(prefers-reduced-motion: reduce)').matches;
|
|
10886
|
+
monthElem.scrollIntoView({ block: 'nearest', behavior: prefersReducedMotion ? 'instant' : 'smooth' });
|
|
10887
|
+
}
|
|
10888
|
+
}
|
|
10889
|
+
|
|
10890
|
+
/**
|
|
10891
|
+
* Announces a date selection or focus change via the live region.
|
|
10892
|
+
* @private
|
|
10893
|
+
* @param {String} dateStr - The localized date string to announce.
|
|
10894
|
+
* @returns {void}
|
|
10895
|
+
*/
|
|
10896
|
+
announceSelection(dateStr) {
|
|
10897
|
+
const liveRegion = this.shadowRoot.querySelector('#calendar-live-region');
|
|
10898
|
+
if (liveRegion) {
|
|
10899
|
+
liveRegion.textContent = '';
|
|
10900
|
+
// Use microtask to ensure SR picks up the change
|
|
10901
|
+
Promise.resolve().then(() => {
|
|
10902
|
+
liveRegion.textContent = dateStr;
|
|
10903
|
+
});
|
|
10904
|
+
}
|
|
10905
|
+
}
|
|
10906
|
+
|
|
10907
|
+
/**
|
|
10908
|
+
* Debounced version of announceSelection for focus navigation.
|
|
10909
|
+
* Only announces the last focused date after rapid navigation pauses,
|
|
10910
|
+
* preventing the screen reader from queueing up stale announcements
|
|
10911
|
+
* that can't keep pace with arrow-key traversal.
|
|
10912
|
+
* @private
|
|
10913
|
+
* @param {String} dateStr - The localized date string to announce.
|
|
10914
|
+
* @returns {void}
|
|
10915
|
+
*/
|
|
10916
|
+
announceFocusDebounced(dateStr) {
|
|
10917
|
+
if (this._focusAnnounceTimer) {
|
|
10918
|
+
clearTimeout(this._focusAnnounceTimer);
|
|
10919
|
+
}
|
|
10920
|
+
this._focusAnnounceTimer = setTimeout(() => {
|
|
10921
|
+
this.announceSelection(dateStr);
|
|
10922
|
+
this._focusAnnounceTimer = null;
|
|
10923
|
+
}, 150);
|
|
10924
|
+
}
|
|
10925
|
+
|
|
10926
|
+
/**
|
|
10927
|
+
* Formats a Unix timestamp (seconds) as a localized date string for SR announcements.
|
|
10928
|
+
* @private
|
|
10929
|
+
* @param {String|Number} timestamp - Unix timestamp in seconds.
|
|
10930
|
+
* @returns {String} Localized date string.
|
|
10931
|
+
*/
|
|
10932
|
+
formatAnnouncementDate(timestamp) {
|
|
10933
|
+
const date = new Date(parseInt(timestamp, 10) * 1000);
|
|
10934
|
+
const localeCode = this.locale?.code || undefined;
|
|
10935
|
+
const formatter = new Intl.DateTimeFormat(localeCode, {
|
|
10936
|
+
weekday: 'long', year: 'numeric', month: 'long', day: 'numeric'
|
|
10937
|
+
});
|
|
10938
|
+
return formatter.format(date);
|
|
10939
|
+
}
|
|
10940
|
+
|
|
9622
10941
|
firstUpdated() {
|
|
9623
10942
|
this.addEventListener('date-from-changed', () => {
|
|
9624
10943
|
this.dispatchEvent(new CustomEvent('auroCalendar-dateSelected', {
|
|
@@ -9638,6 +10957,21 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
9638
10957
|
composed: true,
|
|
9639
10958
|
}));
|
|
9640
10959
|
});
|
|
10960
|
+
|
|
10961
|
+
// Listen for cross-month boundary navigation events
|
|
10962
|
+
this.addEventListener('calendar-month-boundary', (event) => {
|
|
10963
|
+
this.handleMonthBoundary(event);
|
|
10964
|
+
});
|
|
10965
|
+
|
|
10966
|
+
// Listen for cell activation events
|
|
10967
|
+
this.addEventListener('calendar-cell-activate', (event) => {
|
|
10968
|
+
this.handleCellActivate(event);
|
|
10969
|
+
});
|
|
10970
|
+
|
|
10971
|
+
// Listen for cell focus events (SR announcements + range preview)
|
|
10972
|
+
this.addEventListener('calendar-cell-focused', (event) => {
|
|
10973
|
+
this.handleCellFocused(event);
|
|
10974
|
+
});
|
|
9641
10975
|
}
|
|
9642
10976
|
|
|
9643
10977
|
injectSlot(slotName, nodes) {
|
|
@@ -9662,7 +10996,37 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
9662
10996
|
}
|
|
9663
10997
|
|
|
9664
10998
|
if (changedProperties.has('visible')) {
|
|
9665
|
-
|
|
10999
|
+
if (this.visible) {
|
|
11000
|
+
// Compute the active date eagerly from data — no DOM needed.
|
|
11001
|
+
if (this.activeCellDate == null) {
|
|
11002
|
+
this.activeCellDate = this.computeActiveDate();
|
|
11003
|
+
}
|
|
11004
|
+
|
|
11005
|
+
this.requestUpdate();
|
|
11006
|
+
} else {
|
|
11007
|
+
this.requestUpdate();
|
|
11008
|
+
}
|
|
11009
|
+
}
|
|
11010
|
+
|
|
11011
|
+
// Announce date selection to screen readers when user clicks/selects a cell
|
|
11012
|
+
const isCellClick = this.datepicker?.wasCellClick || this.datepicker?.cellClickActive;
|
|
11013
|
+
|
|
11014
|
+
if (changedProperties.has('dateFrom') && this.dateFrom && isCellClick) {
|
|
11015
|
+
const dateStr = this.formatAnnouncementDate(this.dateFrom);
|
|
11016
|
+
const isRange = !this.noRange;
|
|
11017
|
+
|
|
11018
|
+
if (isRange) {
|
|
11019
|
+
const rangeLabel = this.datepicker.rangeLabelStart || 'range start';
|
|
11020
|
+
this.announceSelection(`${dateStr}, selected as ${rangeLabel}`);
|
|
11021
|
+
} else {
|
|
11022
|
+
this.announceSelection(`${dateStr}, selected`);
|
|
11023
|
+
}
|
|
11024
|
+
}
|
|
11025
|
+
|
|
11026
|
+
if (changedProperties.has('dateTo') && this.dateTo && isCellClick) {
|
|
11027
|
+
const dateStr = this.formatAnnouncementDate(this.dateTo);
|
|
11028
|
+
const rangeLabel = this.datepicker.rangeLabelEnd || 'range end';
|
|
11029
|
+
this.announceSelection(`${dateStr}, selected as ${rangeLabel}`);
|
|
9666
11030
|
}
|
|
9667
11031
|
}
|
|
9668
11032
|
|
|
@@ -9671,6 +11035,7 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
9671
11035
|
<${this.bibtemplateTag}
|
|
9672
11036
|
?large="${this.largeFullscreenHeadline}"
|
|
9673
11037
|
?isFullscreen="${this.isFullscreen}"
|
|
11038
|
+
?showFooter="${!this.isFullscreen && this.dropdown?.desktopModal}"
|
|
9674
11039
|
@close-click="${this.utilCal.requestDismiss}">
|
|
9675
11040
|
<span slot="ariaLabel.close">${this.slots["ariaLabel.bib.close"]}</span>
|
|
9676
11041
|
|
|
@@ -9688,24 +11053,27 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
9688
11053
|
</div>
|
|
9689
11054
|
</div>
|
|
9690
11055
|
|
|
9691
|
-
<div class="calendarWrapper">
|
|
9692
|
-
<div class="calendars">
|
|
9693
|
-
${this.renderAllCalendars()}
|
|
9694
|
-
</div>
|
|
11056
|
+
<div class="calendarWrapper ${!this.isFullscreen && this.dropdown?.desktopModal ? 'hasFooter' : ''}">
|
|
9695
11057
|
<div class="calendarNavButtons">
|
|
9696
11058
|
${this.showPrevMonthBtn ? html$1`
|
|
9697
|
-
<button tabIndex="
|
|
11059
|
+
<button tabIndex="0" class="calendarNavBtn prevMonth" aria-label="${this.datepicker?.navLabelPrevMonth || 'Previous month'}" @click="${this.handlePrevMonth}">
|
|
9698
11060
|
${this.util.generateIconHtml(chevronLeft)}
|
|
9699
11061
|
</button>
|
|
9700
11062
|
` : undefined}
|
|
9701
11063
|
${this.showNextMonthBtn ? html$1`
|
|
9702
|
-
<button tabIndex="
|
|
11064
|
+
<button tabIndex="0" class="calendarNavBtn nextMonth" aria-label="${this.datepicker?.navLabelNextMonth || 'Next month'}" @click="${this.handleNextMonth}">
|
|
9703
11065
|
${this.util.generateIconHtml(chevronRight)}
|
|
9704
11066
|
</button>
|
|
9705
11067
|
` : undefined}
|
|
9706
11068
|
</div>
|
|
11069
|
+
<div id="calendarGrid" class="calendars" role="group" tabindex="-1" aria-activedescendant="activeDescendantProxy" @keydown="${this.handleGridKeyDown}">
|
|
11070
|
+
<span id="activeDescendantProxy" role="gridcell" aria-label="" class="sr-only"></span>
|
|
11071
|
+
${this.renderAllCalendars()}
|
|
11072
|
+
</div>
|
|
9707
11073
|
</div>
|
|
9708
11074
|
|
|
11075
|
+
<div id="calendar-live-region" aria-live="assertive" aria-atomic="true" class="sr-only"></div>
|
|
11076
|
+
|
|
9709
11077
|
<${this.buttonTag} slot="footer" fluid @click="${this.utilCal.requestDismiss}">Done</${this.buttonTag}>
|
|
9710
11078
|
</${this.bibtemplateTag}>
|
|
9711
11079
|
`;
|
|
@@ -12953,7 +14321,7 @@ function applyKeyboardStrategy$1(component, strategy, options = {}) {
|
|
|
12953
14321
|
});
|
|
12954
14322
|
}
|
|
12955
14323
|
|
|
12956
|
-
var styleCss$2$1 = css`: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}`;
|
|
14324
|
+
var styleCss$2$1 = css`: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}`;
|
|
12957
14325
|
|
|
12958
14326
|
var colorCss$2 = css`.container{background-color:var(--ds-auro-dropdownbib-container-color);box-shadow:var(--ds-auro-dropdownbib-boxshadow-color);color:var(--ds-auro-dropdownbib-text-color)}`;
|
|
12959
14327
|
|
|
@@ -13584,7 +14952,7 @@ let AuroHelpText$2 = class AuroHelpText extends LitElement {
|
|
|
13584
14952
|
}
|
|
13585
14953
|
};
|
|
13586
14954
|
|
|
13587
|
-
var formkitVersion$1 = '
|
|
14955
|
+
var formkitVersion$1 = '202605210326';
|
|
13588
14956
|
|
|
13589
14957
|
let AuroElement$2 = class AuroElement extends LitElement {
|
|
13590
14958
|
static get properties() {
|
|
@@ -13764,6 +15132,7 @@ class AuroDropdown extends AuroElement$2 {
|
|
|
13764
15132
|
_intializeDefaults() {
|
|
13765
15133
|
this.appearance = 'default';
|
|
13766
15134
|
this.chevron = false;
|
|
15135
|
+
this.desktopModal = false;
|
|
13767
15136
|
this.disabled = false;
|
|
13768
15137
|
this.disableKeyboardHandling = false;
|
|
13769
15138
|
this.error = false;
|
|
@@ -13944,6 +15313,14 @@ class AuroDropdown extends AuroElement$2 {
|
|
|
13944
15313
|
reflect: true
|
|
13945
15314
|
},
|
|
13946
15315
|
|
|
15316
|
+
/**
|
|
15317
|
+
* If declared, the dropdown will behave as a modal dialog when in a desktop viewport size.
|
|
15318
|
+
*/
|
|
15319
|
+
desktopModal: {
|
|
15320
|
+
type: Boolean,
|
|
15321
|
+
reflect: true
|
|
15322
|
+
},
|
|
15323
|
+
|
|
13947
15324
|
/**
|
|
13948
15325
|
* If declared, the dropdown will only show by calling the API .show() public method.
|
|
13949
15326
|
*/
|
|
@@ -14231,6 +15608,15 @@ class AuroDropdown extends AuroElement$2 {
|
|
|
14231
15608
|
|
|
14232
15609
|
disconnectedCallback() {
|
|
14233
15610
|
super.disconnectedCallback();
|
|
15611
|
+
this._clearPageInert();
|
|
15612
|
+
if (this._bibTabHandler) {
|
|
15613
|
+
this.removeEventListener('keydown', this._bibTabHandler);
|
|
15614
|
+
this._bibTabHandler = undefined;
|
|
15615
|
+
}
|
|
15616
|
+
if (this.focusTrap) {
|
|
15617
|
+
this.focusTrap.disconnect();
|
|
15618
|
+
this.focusTrap = undefined;
|
|
15619
|
+
}
|
|
14234
15620
|
if (this.floater) {
|
|
14235
15621
|
this.floater.hideBib('disconnect');
|
|
14236
15622
|
this.floater.disconnect();
|
|
@@ -14258,19 +15644,45 @@ class AuroDropdown extends AuroElement$2 {
|
|
|
14258
15644
|
if (this.isPopoverVisible) {
|
|
14259
15645
|
// Fullscreen: use showModal() for native accessibility (inert outside, focus trap)
|
|
14260
15646
|
// Desktop: use show() for Floating UI positioning + FocusTrap for focus management
|
|
14261
|
-
|
|
14262
|
-
this.
|
|
15647
|
+
this.bibElement.value.open(this.isBibFullscreen);
|
|
15648
|
+
this.updateFocusTrap();
|
|
15649
|
+
|
|
15650
|
+
// Desktop modal: make siblings inert so content outside is not interactive
|
|
15651
|
+
if (this.desktopModal && !this.isBibFullscreen) {
|
|
15652
|
+
this._setPageInert();
|
|
15653
|
+
}
|
|
14263
15654
|
} else {
|
|
14264
15655
|
this.bibElement.value.close();
|
|
15656
|
+
this._clearPageInert();
|
|
14265
15657
|
}
|
|
14266
15658
|
}
|
|
14267
15659
|
|
|
14268
15660
|
// When fullscreen strategy changes while open, re-open dialog with correct mode
|
|
14269
15661
|
// (e.g. resizing from desktop → mobile while dropdown is open)
|
|
14270
15662
|
if (changedProperties.has('isBibFullscreen') && this.isPopoverVisible && this.bibElement.value) {
|
|
14271
|
-
const useModal = this.isBibFullscreen;
|
|
14272
15663
|
this.bibElement.value.close();
|
|
14273
|
-
this.bibElement.value.open(
|
|
15664
|
+
this.bibElement.value.open(this.isBibFullscreen);
|
|
15665
|
+
|
|
15666
|
+
// Re-initialize focus management for the new strategy
|
|
15667
|
+
this.updateFocusTrap();
|
|
15668
|
+
|
|
15669
|
+
// Toggle inert: desktop modal needs it, fullscreen showModal() handles it natively
|
|
15670
|
+
if (this.desktopModal && !this.isBibFullscreen) {
|
|
15671
|
+
this._setPageInert();
|
|
15672
|
+
} else {
|
|
15673
|
+
this._clearPageInert();
|
|
15674
|
+
}
|
|
15675
|
+
}
|
|
15676
|
+
|
|
15677
|
+
// Handle desktopModal toggled while the dropdown is already open.
|
|
15678
|
+
// Re-initialize focus trapping and page inert state to match the new mode.
|
|
15679
|
+
if (changedProperties.has('desktopModal') && this.isPopoverVisible && !this.isBibFullscreen) {
|
|
15680
|
+
this.updateFocusTrap();
|
|
15681
|
+
if (this.desktopModal) {
|
|
15682
|
+
this._setPageInert();
|
|
15683
|
+
} else {
|
|
15684
|
+
this._clearPageInert();
|
|
15685
|
+
}
|
|
14274
15686
|
}
|
|
14275
15687
|
}
|
|
14276
15688
|
|
|
@@ -14280,8 +15692,14 @@ class AuroDropdown extends AuroElement$2 {
|
|
|
14280
15692
|
* @param {CustomEvent} event - The custom event that contains the dropdown toggle information.
|
|
14281
15693
|
*/
|
|
14282
15694
|
handleDropdownToggle(event) {
|
|
14283
|
-
this.updateFocusTrap();
|
|
14284
15695
|
this.isPopoverVisible = event.detail.expanded;
|
|
15696
|
+
|
|
15697
|
+
// Tear down FocusTrap when closing. Creation happens in updated()
|
|
15698
|
+
// after the dialog is open so getFocusableElements can find content.
|
|
15699
|
+
if (!this.isPopoverVisible) {
|
|
15700
|
+
this.updateFocusTrap();
|
|
15701
|
+
}
|
|
15702
|
+
|
|
14285
15703
|
const eventType = event.detail.eventType || "unknown";
|
|
14286
15704
|
if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown") {
|
|
14287
15705
|
this.trigger.focus();
|
|
@@ -14380,19 +15798,178 @@ class AuroDropdown extends AuroElement$2 {
|
|
|
14380
15798
|
* @private
|
|
14381
15799
|
*/
|
|
14382
15800
|
updateFocusTrap() {
|
|
15801
|
+
// Always clean up existing handlers/traps before setting up new ones
|
|
15802
|
+
// to prevent duplicate listeners on repeated calls.
|
|
15803
|
+
if (this._bibTabHandler) {
|
|
15804
|
+
this.removeEventListener('keydown', this._bibTabHandler);
|
|
15805
|
+
this._bibTabHandler = undefined;
|
|
15806
|
+
}
|
|
15807
|
+
|
|
15808
|
+
if (this.focusTrap) {
|
|
15809
|
+
this.focusTrap.disconnect();
|
|
15810
|
+
this.focusTrap = undefined;
|
|
15811
|
+
}
|
|
15812
|
+
|
|
14383
15813
|
if (this.isPopoverVisible) {
|
|
14384
15814
|
if (!this.isBibFullscreen) {
|
|
14385
|
-
|
|
14386
|
-
|
|
14387
|
-
|
|
15815
|
+
if (this.desktopModal) {
|
|
15816
|
+
// Desktop modal: trap focus only within the bib content.
|
|
15817
|
+
// Can't use FocusTrap on the bib element because keydown events
|
|
15818
|
+
// from slotted content bubble through the dropdown host (light DOM),
|
|
15819
|
+
// not through the bib (shadow projection target). Using FocusTrap
|
|
15820
|
+
// on the dropdown would include the trigger in the tab cycle.
|
|
15821
|
+
// Instead, listen for Tab on the dropdown and manually wrap focus
|
|
15822
|
+
// within the bib's focusable elements.
|
|
15823
|
+
this._bibTabHandler = (event) => {
|
|
15824
|
+
if (event.key !== 'Tab') {
|
|
15825
|
+
return;
|
|
15826
|
+
}
|
|
15827
|
+
|
|
15828
|
+
// Collect focusable elements from the bib content.
|
|
15829
|
+
const focusables = getFocusableElements(this.bibContent);
|
|
15830
|
+
|
|
15831
|
+
// Fallback: try from slotted content directly
|
|
15832
|
+
if (!focusables.length) {
|
|
15833
|
+
const slot = this.shadowRoot.querySelector('.slotContent slot');
|
|
15834
|
+
const assignedNodes = slot ? slot.assignedNodes({ flatten: true }) : [];
|
|
15835
|
+
|
|
15836
|
+
for (const node of assignedNodes) {
|
|
15837
|
+
if (node.nodeType === Node.ELEMENT_NODE) {
|
|
15838
|
+
focusables.push(...getFocusableElements(node));
|
|
15839
|
+
}
|
|
15840
|
+
}
|
|
15841
|
+
}
|
|
15842
|
+
|
|
15843
|
+
if (!focusables.length) {
|
|
15844
|
+
return;
|
|
15845
|
+
}
|
|
15846
|
+
|
|
15847
|
+
event.preventDefault();
|
|
15848
|
+
|
|
15849
|
+
const direction = event.shiftKey ? -1 : 1; // eslint-disable-line no-magic-numbers
|
|
15850
|
+
|
|
15851
|
+
// Walk the active element chain through shadow roots
|
|
15852
|
+
const actives = this._getActiveElements();
|
|
15853
|
+
|
|
15854
|
+
let idx = focusables.findIndex((el) => actives.includes(el));
|
|
15855
|
+
|
|
15856
|
+
if (idx === -1) { // eslint-disable-line no-magic-numbers
|
|
15857
|
+
// Focus is not on a known element — move to first/last
|
|
15858
|
+
idx = direction === 1 ? -1 : focusables.length; // eslint-disable-line no-magic-numbers
|
|
15859
|
+
}
|
|
15860
|
+
|
|
15861
|
+
// Try each element in order, skipping any that can't receive focus
|
|
15862
|
+
// (e.g. hidden elements, elements in collapsed sections)
|
|
15863
|
+
for (let index = 0; index < focusables.length; index++) { // eslint-disable-line no-plusplus
|
|
15864
|
+
let nextIdx = idx + direction;
|
|
15865
|
+
|
|
15866
|
+
// Wrap around
|
|
15867
|
+
if (nextIdx < 0) {
|
|
15868
|
+
nextIdx = focusables.length - 1;
|
|
15869
|
+
} else if (nextIdx >= focusables.length) {
|
|
15870
|
+
nextIdx = 0;
|
|
15871
|
+
}
|
|
15872
|
+
|
|
15873
|
+
focusables[nextIdx].focus();
|
|
15874
|
+
|
|
15875
|
+
// Verify focus actually moved to the target
|
|
15876
|
+
const newActives = this._getActiveElements();
|
|
15877
|
+
|
|
15878
|
+
if (newActives.includes(focusables[nextIdx])) {
|
|
15879
|
+
return;
|
|
15880
|
+
}
|
|
15881
|
+
|
|
15882
|
+
// Focus didn't stick — skip this element and try the next
|
|
15883
|
+
idx = nextIdx;
|
|
15884
|
+
}
|
|
15885
|
+
};
|
|
15886
|
+
this.addEventListener('keydown', this._bibTabHandler);
|
|
15887
|
+
|
|
15888
|
+
// Move initial focus into the bib content, matching FocusTrap behavior
|
|
15889
|
+
requestAnimationFrame(() => {
|
|
15890
|
+
const focusables = getFocusableElements(this.bibContent);
|
|
15891
|
+
if (focusables.length) {
|
|
15892
|
+
focusables[0].focus();
|
|
15893
|
+
}
|
|
15894
|
+
});
|
|
15895
|
+
} else {
|
|
15896
|
+
// Normal desktop: use FocusTrap on the bib element
|
|
15897
|
+
this.focusTrap = new FocusTrap(this.bibContent);
|
|
15898
|
+
this.focusTrap.focusFirstElement();
|
|
15899
|
+
}
|
|
14388
15900
|
}
|
|
14389
15901
|
// Fullscreen: showModal() provides native focus trapping
|
|
15902
|
+
}
|
|
15903
|
+
}
|
|
15904
|
+
|
|
15905
|
+
/**
|
|
15906
|
+
* Returns the chain of active (focused) elements through shadow roots.
|
|
15907
|
+
* @private
|
|
15908
|
+
* @returns {Array<HTMLElement>}
|
|
15909
|
+
*/
|
|
15910
|
+
_getActiveElements() {
|
|
15911
|
+
let { activeElement } = document;
|
|
15912
|
+
const actives = [activeElement];
|
|
15913
|
+
|
|
15914
|
+
while (activeElement?.shadowRoot?.activeElement) {
|
|
15915
|
+
activeElement = activeElement.shadowRoot.activeElement;
|
|
15916
|
+
actives.push(activeElement);
|
|
15917
|
+
}
|
|
15918
|
+
|
|
15919
|
+
return actives;
|
|
15920
|
+
}
|
|
15921
|
+
|
|
15922
|
+
/**
|
|
15923
|
+
* Sets `inert` on sibling elements of the dropdown's top-level host
|
|
15924
|
+
* so that content outside the dropdown is not interactive while the modal is open.
|
|
15925
|
+
* Walks up through shadow DOM boundaries to find the outermost host element
|
|
15926
|
+
* in the light DOM, then sets `inert` on siblings at each ancestor level
|
|
15927
|
+
* to ensure all page content outside the host subtree is inert.
|
|
15928
|
+
* @private
|
|
15929
|
+
*/
|
|
15930
|
+
_setPageInert() {
|
|
15931
|
+
if (this._inertSiblings) {
|
|
14390
15932
|
return;
|
|
14391
15933
|
}
|
|
14392
15934
|
|
|
14393
|
-
|
|
14394
|
-
|
|
14395
|
-
|
|
15935
|
+
this._inertSiblings = [];
|
|
15936
|
+
|
|
15937
|
+
// Walk up through shadow DOM boundaries to find the topmost host
|
|
15938
|
+
// element in the light DOM. For example, if this dropdown is inside
|
|
15939
|
+
// auro-datepicker's shadow DOM, we walk up to the datepicker element
|
|
15940
|
+
// so we set inert on its siblings — not on the datepicker itself.
|
|
15941
|
+
let host = this;
|
|
15942
|
+
while (host.getRootNode() instanceof ShadowRoot) {
|
|
15943
|
+
host = host.getRootNode().host;
|
|
15944
|
+
}
|
|
15945
|
+
|
|
15946
|
+
// Walk up the ancestor chain, inerting siblings at each level
|
|
15947
|
+
// to ensure the entire page outside the host subtree is inert.
|
|
15948
|
+
let current = host;
|
|
15949
|
+
while (current.parentElement) {
|
|
15950
|
+
const parent = current.parentElement;
|
|
15951
|
+
for (const sibling of parent.children) {
|
|
15952
|
+
if (sibling !== current) {
|
|
15953
|
+
this._inertSiblings.push({ element: sibling, wasInert: sibling.inert });
|
|
15954
|
+
sibling.inert = true;
|
|
15955
|
+
}
|
|
15956
|
+
}
|
|
15957
|
+
current = parent;
|
|
15958
|
+
}
|
|
15959
|
+
}
|
|
15960
|
+
|
|
15961
|
+
/**
|
|
15962
|
+
* Restores `inert` state on siblings that were tracked by `_setPageInert`.
|
|
15963
|
+
* Preserves the previous inert state so externally-inerted elements are
|
|
15964
|
+
* not inadvertently re-enabled.
|
|
15965
|
+
* @private
|
|
15966
|
+
*/
|
|
15967
|
+
_clearPageInert() {
|
|
15968
|
+
if (this._inertSiblings) {
|
|
15969
|
+
for (const entry of this._inertSiblings) {
|
|
15970
|
+
entry.element.inert = entry.wasInert;
|
|
15971
|
+
}
|
|
15972
|
+
this._inertSiblings = undefined;
|
|
14396
15973
|
}
|
|
14397
15974
|
}
|
|
14398
15975
|
|
|
@@ -14631,6 +16208,7 @@ class AuroDropdown extends AuroElement$2 {
|
|
|
14631
16208
|
shape="${this.shape}"
|
|
14632
16209
|
?data-show="${this.isPopoverVisible}"
|
|
14633
16210
|
?isfullscreen="${this.isBibFullscreen}"
|
|
16211
|
+
?desktopmodal="${this.desktopModal}"
|
|
14634
16212
|
.dialogLabel="${this.bibDialogLabel}"
|
|
14635
16213
|
${ref(this.bibElement)}
|
|
14636
16214
|
>
|
|
@@ -21329,7 +22907,7 @@ let AuroHelpText$1 = class AuroHelpText extends LitElement {
|
|
|
21329
22907
|
}
|
|
21330
22908
|
};
|
|
21331
22909
|
|
|
21332
|
-
var formkitVersion = '
|
|
22910
|
+
var formkitVersion = '202605210326';
|
|
21333
22911
|
|
|
21334
22912
|
// Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
21335
22913
|
// See LICENSE in the project root for license information.
|
|
@@ -22584,26 +24162,62 @@ function applyKeyboardStrategy(component, strategy, options = {}) {
|
|
|
22584
24162
|
// components/datepicker/docs/partials/keyboardBehavior.md
|
|
22585
24163
|
//
|
|
22586
24164
|
// Current behavior (transitional — full bib keyboard navigation is planned for a future iteration):
|
|
22587
|
-
// - The bib opens and closes via pointer/touch interaction only.
|
|
22588
24165
|
// - Escape closes the bib and prevents the event from reaching parent containers.
|
|
24166
|
+
// - Enter opens the bib when it is closed (trigger input only, not clear button).
|
|
24167
|
+
// - Space opens the bib when it is closed (trigger input only, not clear button).
|
|
22589
24168
|
// - Tab uses the browser's default tabindex sequence across trigger controls.
|
|
22590
|
-
// - Enter and Space do not open or close the bib.
|
|
22591
24169
|
//
|
|
22592
24170
|
// This file is an intentional placeholder for most keys. When datepicker bib keyboard navigation is
|
|
22593
24171
|
// added, handlers should go here following the same strategy pattern used by
|
|
22594
24172
|
// auro-select (selectKeyboardStrategy.js) and auro-combobox (comboboxKeyboardStrategy.js).
|
|
22595
24173
|
const datepickerKeyboardStrategy = {
|
|
22596
|
-
Escape(component, evt) {
|
|
22597
|
-
if (!
|
|
24174
|
+
Escape(component, evt, ctx) {
|
|
24175
|
+
if (!ctx.isExpanded) {
|
|
22598
24176
|
return;
|
|
22599
24177
|
}
|
|
22600
24178
|
|
|
22601
|
-
//
|
|
22602
|
-
//
|
|
22603
|
-
// seeing this event, we must also close the dropdown explicitly.
|
|
24179
|
+
// Stop propagation so parent containers (auro-dialog, auro-drawer)
|
|
24180
|
+
// don't also react to Escape.
|
|
22604
24181
|
evt.stopPropagation();
|
|
24182
|
+
evt.preventDefault();
|
|
24183
|
+
|
|
24184
|
+
component.hideBib();
|
|
24185
|
+
},
|
|
24186
|
+
|
|
24187
|
+
Enter(component, evt, ctx) {
|
|
24188
|
+
if (ctx.isExpanded) {
|
|
24189
|
+
return;
|
|
24190
|
+
}
|
|
24191
|
+
|
|
24192
|
+
// Only open from the trigger input, not the clear button or other internal elements.
|
|
24193
|
+
// evt.target is retargeted to the host in shadow DOM, so use composedPath()
|
|
24194
|
+
// to find the real origin. The clear button is rendered with class "clearBtn".
|
|
24195
|
+
const path = evt.composedPath();
|
|
24196
|
+
if (path.some(el => el.classList?.contains('clearBtn'))) {
|
|
24197
|
+
return;
|
|
24198
|
+
}
|
|
24199
|
+
|
|
24200
|
+
evt.preventDefault();
|
|
22605
24201
|
|
|
22606
|
-
component.dropdown.
|
|
24202
|
+
component.dropdown.show();
|
|
24203
|
+
},
|
|
24204
|
+
|
|
24205
|
+
' '(component, evt, ctx) {
|
|
24206
|
+
if (ctx.isExpanded) {
|
|
24207
|
+
return;
|
|
24208
|
+
}
|
|
24209
|
+
|
|
24210
|
+
// Only open from the trigger input, not the clear button or other internal elements.
|
|
24211
|
+
// evt.target is retargeted to the host in shadow DOM, so use composedPath()
|
|
24212
|
+
// to find the real origin. The clear button is rendered with class "clearBtn".
|
|
24213
|
+
const path = evt.composedPath();
|
|
24214
|
+
if (path.some(el => el.classList?.contains('clearBtn'))) {
|
|
24215
|
+
return;
|
|
24216
|
+
}
|
|
24217
|
+
|
|
24218
|
+
evt.preventDefault();
|
|
24219
|
+
|
|
24220
|
+
component.dropdown.show();
|
|
22607
24221
|
},
|
|
22608
24222
|
};
|
|
22609
24223
|
|
|
@@ -22677,6 +24291,15 @@ class AuroDatePicker extends AuroElement {
|
|
|
22677
24291
|
this.required = false;
|
|
22678
24292
|
this.onDark = false;
|
|
22679
24293
|
this.range = false;
|
|
24294
|
+
this.rangeLabelStart = 'range start';
|
|
24295
|
+
this.rangeLabelEnd = 'range end';
|
|
24296
|
+
this.rangeLabelBeforeRange = 'before range';
|
|
24297
|
+
this.rangeLabelInRange = 'in range';
|
|
24298
|
+
this.rangeLabelAfterRange = 'after range';
|
|
24299
|
+
this.blackoutDates = [];
|
|
24300
|
+
this.blackoutLabel = 'unavailable';
|
|
24301
|
+
this.navLabelPrevMonth = 'Previous month';
|
|
24302
|
+
this.navLabelNextMonth = 'Next month';
|
|
22680
24303
|
this.stacked = false;
|
|
22681
24304
|
this.noValidate = false;
|
|
22682
24305
|
this.validity = undefined;
|
|
@@ -23055,6 +24678,78 @@ class AuroDatePicker extends AuroElement {
|
|
|
23055
24678
|
reflect: true
|
|
23056
24679
|
},
|
|
23057
24680
|
|
|
24681
|
+
/**
|
|
24682
|
+
* Label announced for the range start date cell.
|
|
24683
|
+
*/
|
|
24684
|
+
rangeLabelStart: {
|
|
24685
|
+
type: String,
|
|
24686
|
+
reflect: true
|
|
24687
|
+
},
|
|
24688
|
+
|
|
24689
|
+
/**
|
|
24690
|
+
* Label announced for the range end date cell.
|
|
24691
|
+
*/
|
|
24692
|
+
rangeLabelEnd: {
|
|
24693
|
+
type: String,
|
|
24694
|
+
reflect: true
|
|
24695
|
+
},
|
|
24696
|
+
|
|
24697
|
+
/**
|
|
24698
|
+
* Label announced for cells before the range start.
|
|
24699
|
+
*/
|
|
24700
|
+
rangeLabelBeforeRange: {
|
|
24701
|
+
type: String,
|
|
24702
|
+
reflect: true
|
|
24703
|
+
},
|
|
24704
|
+
|
|
24705
|
+
/**
|
|
24706
|
+
* Label announced for cells within the selected range.
|
|
24707
|
+
*/
|
|
24708
|
+
rangeLabelInRange: {
|
|
24709
|
+
type: String,
|
|
24710
|
+
reflect: true
|
|
24711
|
+
},
|
|
24712
|
+
|
|
24713
|
+
/**
|
|
24714
|
+
* Label announced for cells after the range (or after start when no end is selected).
|
|
24715
|
+
*/
|
|
24716
|
+
rangeLabelAfterRange: {
|
|
24717
|
+
type: String,
|
|
24718
|
+
reflect: true
|
|
24719
|
+
},
|
|
24720
|
+
|
|
24721
|
+
/**
|
|
24722
|
+
* Array of dates that cannot be selected. Dates should be in ISO format (YYYY-MM-DD).
|
|
24723
|
+
*/
|
|
24724
|
+
blackoutDates: {
|
|
24725
|
+
type: Array,
|
|
24726
|
+
reflect: true
|
|
24727
|
+
},
|
|
24728
|
+
|
|
24729
|
+
/**
|
|
24730
|
+
* Label announced for blackout (disabled but in-range) date cells.
|
|
24731
|
+
*/
|
|
24732
|
+
blackoutLabel: {
|
|
24733
|
+
type: String,
|
|
24734
|
+
reflect: true
|
|
24735
|
+
},
|
|
24736
|
+
|
|
24737
|
+
/**
|
|
24738
|
+
* Accessible label for the previous month navigation button.
|
|
24739
|
+
*/
|
|
24740
|
+
navLabelPrevMonth: {
|
|
24741
|
+
type: String,
|
|
24742
|
+
reflect: true
|
|
24743
|
+
},
|
|
24744
|
+
|
|
24745
|
+
/**
|
|
24746
|
+
* Accessible label for the next month navigation button.
|
|
24747
|
+
*/
|
|
24748
|
+
navLabelNextMonth: {
|
|
24749
|
+
type: String,
|
|
24750
|
+
reflect: true
|
|
24751
|
+
},
|
|
24752
|
+
|
|
23058
24753
|
/**
|
|
23059
24754
|
* Dates that the user should have for reference as part of their decision making when selecting a date.
|
|
23060
24755
|
* This should be a JSON string array of dates in the format of `MM/DD/YYYY`.
|
|
@@ -23081,6 +24776,7 @@ class AuroDatePicker extends AuroElement {
|
|
|
23081
24776
|
|
|
23082
24777
|
/**
|
|
23083
24778
|
* Custom help text message to display when validity = `customError`.
|
|
24779
|
+
* Also used as the validation message when a blackout date is typed into the input.
|
|
23084
24780
|
*/
|
|
23085
24781
|
setCustomValidityCustomError: {
|
|
23086
24782
|
type: String
|
|
@@ -23402,6 +25098,61 @@ class AuroDatePicker extends AuroElement {
|
|
|
23402
25098
|
}));
|
|
23403
25099
|
}
|
|
23404
25100
|
|
|
25101
|
+
/**
|
|
25102
|
+
* Attempts to focus the active calendar cell using a rAF retry loop.
|
|
25103
|
+
* Shared by both fullscreen and desktop open paths.
|
|
25104
|
+
* @private
|
|
25105
|
+
* @returns {void}
|
|
25106
|
+
*/
|
|
25107
|
+
focusActiveCellWhenReady() {
|
|
25108
|
+
const MAX_ATTEMPTS = 20;
|
|
25109
|
+
let attempts = 0;
|
|
25110
|
+
|
|
25111
|
+
const tryFocus = () => {
|
|
25112
|
+
attempts += 1;
|
|
25113
|
+
const allCells = this.calendar.getAllFocusableCells();
|
|
25114
|
+
|
|
25115
|
+
if (!allCells.length && attempts < MAX_ATTEMPTS) {
|
|
25116
|
+
requestAnimationFrame(tryFocus);
|
|
25117
|
+
return;
|
|
25118
|
+
}
|
|
25119
|
+
|
|
25120
|
+
// Compute and mark the active cell
|
|
25121
|
+
if (this.calendar.activeCellDate == null) {
|
|
25122
|
+
this.calendar.activeCellDate = this.calendar.computeActiveDate();
|
|
25123
|
+
}
|
|
25124
|
+
if (this.calendar.activeCellDate !== undefined) {
|
|
25125
|
+
this.calendar.setActiveCell(this.calendar.activeCellDate);
|
|
25126
|
+
}
|
|
25127
|
+
|
|
25128
|
+
// If no cell matched (e.g. centralDate month differs from the rendered
|
|
25129
|
+
// range on mobile), fall back to the first rendered enabled cell.
|
|
25130
|
+
let activeCell = allCells.find(cell => cell.active);
|
|
25131
|
+
if (!activeCell && allCells.length) {
|
|
25132
|
+
const fallback = allCells[0];
|
|
25133
|
+
if (fallback.day) {
|
|
25134
|
+
this.calendar.activeCellDate = fallback.day.date;
|
|
25135
|
+
this.calendar.setActiveCell(this.calendar.activeCellDate);
|
|
25136
|
+
activeCell = allCells.find(cell => cell.active);
|
|
25137
|
+
}
|
|
25138
|
+
}
|
|
25139
|
+
|
|
25140
|
+
// Focus the calendar grid wrapper (aria-activedescendant handles
|
|
25141
|
+
// the SR announcement for the active cell).
|
|
25142
|
+
if (activeCell) {
|
|
25143
|
+
// Announce the initial active cell via the live region
|
|
25144
|
+
const announcement = this.calendar.buildFocusAnnouncement(activeCell.day.date);
|
|
25145
|
+
this.calendar.announceSelection(announcement);
|
|
25146
|
+
|
|
25147
|
+
this.calendar.focusActiveCell();
|
|
25148
|
+
} else if (attempts < MAX_ATTEMPTS) {
|
|
25149
|
+
requestAnimationFrame(tryFocus);
|
|
25150
|
+
}
|
|
25151
|
+
};
|
|
25152
|
+
|
|
25153
|
+
requestAnimationFrame(tryFocus);
|
|
25154
|
+
}
|
|
25155
|
+
|
|
23405
25156
|
/**
|
|
23406
25157
|
* Binds all behavior needed to the dropdown after rendering.
|
|
23407
25158
|
* @private
|
|
@@ -23410,6 +25161,12 @@ class AuroDatePicker extends AuroElement {
|
|
|
23410
25161
|
configureDropdown() {
|
|
23411
25162
|
this.dropdown = this.shadowRoot.querySelector(this.dropdownTag._$litStatic$);
|
|
23412
25163
|
|
|
25164
|
+
// The datepicker manages its own open/close lifecycle (Space/Escape/date-select/done).
|
|
25165
|
+
// Prevent the floater's document-level focusin handler from closing the bib
|
|
25166
|
+
// when focus moves from the trigger into the calendar cells (which live inside
|
|
25167
|
+
// a top-layer popover where :focus-within on the dropdown host returns false).
|
|
25168
|
+
this.dropdown.noHideOnThisFocusLoss = true;
|
|
25169
|
+
|
|
23413
25170
|
// Pass label text to the dropdown bib for accessible dialog naming.
|
|
23414
25171
|
// Without this, the fullscreen <dialog> has no accessible name and
|
|
23415
25172
|
// screen readers announce it as just "dialog" with no context.
|
|
@@ -23427,6 +25184,23 @@ class AuroDatePicker extends AuroElement {
|
|
|
23427
25184
|
this.dropdown.addEventListener('auroDropdown-toggled', () => {
|
|
23428
25185
|
this.notifyDatepickerToggled();
|
|
23429
25186
|
|
|
25187
|
+
if (this.dropdown.isPopoverVisible) {
|
|
25188
|
+
// Reset calendar focus state so it recomputes from the current selection.
|
|
25189
|
+
// Without this, reopening after navigating to a month without a selected
|
|
25190
|
+
// date leaves activeCellDate pointing at a cell in a different month than
|
|
25191
|
+
// what centralDate renders, causing all cells to have tabindex="-1".
|
|
25192
|
+
this.calendar.activeCellDate = null;
|
|
25193
|
+
|
|
25194
|
+
// Show the month containing the selected date (or today) instead of
|
|
25195
|
+
// whichever month the user last navigated to.
|
|
25196
|
+
// Respect consumer-provided centralDate/calendarStartDate if no value is set.
|
|
25197
|
+
if (this.value && this.util.validDateStr(this.value, this.format)) {
|
|
25198
|
+
this.calendarRenderUtil.updateCentralDate(this, this.formattedValue);
|
|
25199
|
+
} else if (!this.centralDate && !this.calendarStartDate && !this.minDate) {
|
|
25200
|
+
this.calendarRenderUtil.updateCentralDate(this, new Date());
|
|
25201
|
+
}
|
|
25202
|
+
}
|
|
25203
|
+
|
|
23430
25204
|
// This forces the calendar to render when the dropdown is opened.
|
|
23431
25205
|
// It is not rendered by default
|
|
23432
25206
|
this.calendar.visible = this.dropdown.isPopoverVisible;
|
|
@@ -23459,12 +25233,23 @@ class AuroDatePicker extends AuroElement {
|
|
|
23459
25233
|
bibEl.open(true);
|
|
23460
25234
|
|
|
23461
25235
|
doubleRaf(() => {
|
|
23462
|
-
this.
|
|
25236
|
+
this.focusActiveCellWhenReady();
|
|
23463
25237
|
});
|
|
23464
25238
|
}
|
|
23465
25239
|
});
|
|
23466
25240
|
|
|
23467
25241
|
guardTouchPassthrough(this.shadowRoot.querySelector('.calendarWrapper'));
|
|
25242
|
+
} else {
|
|
25243
|
+
// Desktop (non-fullscreen) modal: make the trigger inert so users
|
|
25244
|
+
// cannot interact with the input while the modal bib is open.
|
|
25245
|
+
if (this.dropdown.desktopModal) {
|
|
25246
|
+
this.dropdown.trigger.inert = true;
|
|
25247
|
+
}
|
|
25248
|
+
|
|
25249
|
+
// Desktop (non-fullscreen): focus the active calendar cell.
|
|
25250
|
+
this.dropdown.updateComplete.then(() => {
|
|
25251
|
+
this.focusActiveCellWhenReady();
|
|
25252
|
+
});
|
|
23468
25253
|
}
|
|
23469
25254
|
} else {
|
|
23470
25255
|
// Always clear the inert flag. Only restore focus to the input when the datepicker
|
|
@@ -23510,7 +25295,7 @@ class AuroDatePicker extends AuroElement {
|
|
|
23510
25295
|
bibEl.close();
|
|
23511
25296
|
bibEl.open(true);
|
|
23512
25297
|
doubleRaf(() => {
|
|
23513
|
-
this.
|
|
25298
|
+
this.focusActiveCellWhenReady();
|
|
23514
25299
|
});
|
|
23515
25300
|
}
|
|
23516
25301
|
});
|
|
@@ -23705,14 +25490,8 @@ class AuroDatePicker extends AuroElement {
|
|
|
23705
25490
|
|
|
23706
25491
|
if (onEndValue) {
|
|
23707
25492
|
this.valueEnd = newDate;
|
|
23708
|
-
if (this.dropdown.isPopoverVisible && !this.dropdown.isBibFullscreen) {
|
|
23709
|
-
this.focus('startDate');
|
|
23710
|
-
}
|
|
23711
25493
|
} else {
|
|
23712
25494
|
this.value = newDate;
|
|
23713
|
-
if (this.dropdown.isPopoverVisible && !this.dropdown.isBibFullscreen) {
|
|
23714
|
-
this.focus('endDate');
|
|
23715
|
-
}
|
|
23716
25495
|
}
|
|
23717
25496
|
}
|
|
23718
25497
|
}
|
|
@@ -23752,6 +25531,27 @@ class AuroDatePicker extends AuroElement {
|
|
|
23752
25531
|
this.resetInputs();
|
|
23753
25532
|
}
|
|
23754
25533
|
|
|
25534
|
+
/**
|
|
25535
|
+
* Checks whether a formatted date string matches a blackout date.
|
|
25536
|
+
* @private
|
|
25537
|
+
* @param {string} dateStr - A date string in the component's configured format.
|
|
25538
|
+
* @returns {boolean} True if the date is in the blackoutDates list.
|
|
25539
|
+
*/
|
|
25540
|
+
isBlackoutDate(dateStr) {
|
|
25541
|
+
if (!Array.isArray(this.blackoutDates) || this.blackoutDates.length === 0 || !dateStr) {
|
|
25542
|
+
return false;
|
|
25543
|
+
}
|
|
25544
|
+
|
|
25545
|
+
const formatted = this.util.toNorthAmericanFormat(dateStr, this.format);
|
|
25546
|
+
if (!this.util.validDateStr(dateStr, this.format)) return false;
|
|
25547
|
+
|
|
25548
|
+
const d = new Date(formatted);
|
|
25549
|
+
const yyyy = d.getFullYear();
|
|
25550
|
+
const mm = String(d.getMonth() + 1).padStart(2, '0');
|
|
25551
|
+
const dd = String(d.getDate()).padStart(2, '0');
|
|
25552
|
+
return this.blackoutDates.includes(`${yyyy}-${mm}-${dd}`);
|
|
25553
|
+
}
|
|
25554
|
+
|
|
23755
25555
|
/**
|
|
23756
25556
|
* Validates value.
|
|
23757
25557
|
* @param {boolean} [force=false] - Whether to force validation.
|
|
@@ -23763,6 +25563,24 @@ class AuroDatePicker extends AuroElement {
|
|
|
23763
25563
|
}
|
|
23764
25564
|
|
|
23765
25565
|
this.validation.validate(this, force);
|
|
25566
|
+
|
|
25567
|
+
// After standard validation, check blackout dates for typed input
|
|
25568
|
+
if (this.validity !== 'customError') {
|
|
25569
|
+
if (this.isBlackoutDate(this.value) || (this.range && this.isBlackoutDate(this.valueEnd))) {
|
|
25570
|
+
const msg = this.setCustomValidityCustomError || 'Selected date is unavailable';
|
|
25571
|
+
this.validity = 'customError';
|
|
25572
|
+
this.errorMessage = msg;
|
|
25573
|
+
|
|
25574
|
+
this.dispatchEvent(new CustomEvent('auroFormElement-validated', {
|
|
25575
|
+
bubbles: true,
|
|
25576
|
+
composed: true,
|
|
25577
|
+
detail: {
|
|
25578
|
+
validity: this.validity,
|
|
25579
|
+
message: this.errorMessage
|
|
25580
|
+
}
|
|
25581
|
+
}));
|
|
25582
|
+
}
|
|
25583
|
+
}
|
|
23766
25584
|
}
|
|
23767
25585
|
|
|
23768
25586
|
/**
|
|
@@ -23843,6 +25661,9 @@ class AuroDatePicker extends AuroElement {
|
|
|
23843
25661
|
|
|
23844
25662
|
if (this.cellClickActive) {
|
|
23845
25663
|
this.cellClickActive = false;
|
|
25664
|
+
this.wasCellClick = true;
|
|
25665
|
+
} else {
|
|
25666
|
+
this.wasCellClick = false;
|
|
23846
25667
|
}
|
|
23847
25668
|
|
|
23848
25669
|
if (this.value && this.util.validDateStr(this.value, this.format)) {
|
|
@@ -23873,16 +25694,44 @@ class AuroDatePicker extends AuroElement {
|
|
|
23873
25694
|
}
|
|
23874
25695
|
|
|
23875
25696
|
if (this.value && this.value.length === this.inputList[0].lengthForType) {
|
|
23876
|
-
|
|
25697
|
+
// Skip centralDate update when user clicked a cell in range mode
|
|
25698
|
+
// to prevent the displayed months from shifting
|
|
25699
|
+
if (!(this.wasCellClick && this.range)) {
|
|
25700
|
+
this.calendarRenderUtil.updateCentralDate(this, this.formattedValue);
|
|
25701
|
+
}
|
|
23877
25702
|
}
|
|
23878
25703
|
|
|
23879
25704
|
this.setHasValue();
|
|
23880
25705
|
}
|
|
23881
25706
|
|
|
25707
|
+
if (changedProperties.has('blackoutDates')) {
|
|
25708
|
+
// Force calendar cells to re-render with updated blackout state.
|
|
25709
|
+
// requestUpdate on the calendar alone is insufficient because cells
|
|
25710
|
+
// don't receive blackoutDates as a bound property. Dispatching the
|
|
25711
|
+
// slot content event triggers handleSlotContent → requestUpdate on each cell.
|
|
25712
|
+
if (this.calendar) {
|
|
25713
|
+
this.calendar.requestUpdate();
|
|
25714
|
+
this.dispatchEvent(new CustomEvent('auroDatePicker-newSlotContent'));
|
|
25715
|
+
}
|
|
25716
|
+
|
|
25717
|
+
// Re-run validation so that a previously valid value that now falls on
|
|
25718
|
+
// a blackout date is flagged, and vice versa.
|
|
25719
|
+
if (this.value || this.valueEnd) {
|
|
25720
|
+
this.validate();
|
|
25721
|
+
}
|
|
25722
|
+
}
|
|
25723
|
+
|
|
23882
25724
|
if (changedProperties.has('valueEnd') && this.inputList[1]) {
|
|
23883
25725
|
|
|
23884
25726
|
this.formattedValueEnd = this.util.toNorthAmericanFormat(this.valueEnd, this.format);
|
|
23885
25727
|
|
|
25728
|
+
if (this.cellClickActive) {
|
|
25729
|
+
this.cellClickActive = false;
|
|
25730
|
+
this.wasCellClick = true;
|
|
25731
|
+
} else {
|
|
25732
|
+
this.wasCellClick = false;
|
|
25733
|
+
}
|
|
25734
|
+
|
|
23886
25735
|
// update the calendar
|
|
23887
25736
|
if (this.valueEnd && this.util.validDateStr(this.valueEnd, this.format)) {
|
|
23888
25737
|
this.calendar.dateTo = this.convertToWcValidTime(this.formattedValueEnd);
|
|
@@ -23910,7 +25759,11 @@ class AuroDatePicker extends AuroElement {
|
|
|
23910
25759
|
}
|
|
23911
25760
|
|
|
23912
25761
|
if (this.valueEnd && this.valueEnd.length === this.inputList[1].lengthForType) {
|
|
23913
|
-
|
|
25762
|
+
// Skip centralDate update when user clicked a cell in range mode
|
|
25763
|
+
// to prevent the displayed months from shifting
|
|
25764
|
+
if (!this.wasCellClick) {
|
|
25765
|
+
this.calendarRenderUtil.updateCentralDate(this, this.formattedValueEnd);
|
|
25766
|
+
}
|
|
23914
25767
|
}
|
|
23915
25768
|
|
|
23916
25769
|
this.validate();
|
|
@@ -24067,6 +25920,7 @@ class AuroDatePicker extends AuroElement {
|
|
|
24067
25920
|
}
|
|
24068
25921
|
|
|
24069
25922
|
firstUpdated() {
|
|
25923
|
+
|
|
24070
25924
|
// Add the tag name as an attribute if it is different than the component name
|
|
24071
25925
|
this.runtimeUtils.handleComponentTagRename(this, 'auro-datepicker');
|
|
24072
25926
|
|
|
@@ -24496,7 +26350,7 @@ class AuroDatePicker extends AuroElement {
|
|
|
24496
26350
|
// Base HTML render() handles dropdown and calendar bib
|
|
24497
26351
|
return html$1`
|
|
24498
26352
|
<!-- Hidden slot for clear button aria-label -->
|
|
24499
|
-
<slot name="ariaLabel.input.clear" hidden @slotchange=${this.requestUpdate}></slot>
|
|
26353
|
+
<slot name="ariaLabel.input.clear" hidden @slotchange=${() => this.requestUpdate()}></slot>
|
|
24500
26354
|
|
|
24501
26355
|
<${this.dropdownTag}
|
|
24502
26356
|
appearance="${this.onDark ? 'inverse' : this.appearance}"
|
|
@@ -24513,6 +26367,7 @@ class AuroDatePicker extends AuroElement {
|
|
|
24513
26367
|
.shape="${this.shape}"
|
|
24514
26368
|
.size="${this.size}"
|
|
24515
26369
|
class="${classMap(dropdownElementClassMap)}"
|
|
26370
|
+
desktopModal
|
|
24516
26371
|
disableEventShow
|
|
24517
26372
|
for="dropdownMenu"
|
|
24518
26373
|
part="dropdown"
|