@aurodesignsystem-dev/auro-formkit 0.0.0-pr1497.0 → 0.0.0-pr1497.2
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/css-only.html +57 -0
- package/components/checkbox/demo/css-only.md +146 -0
- 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/styles.min.css +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/css-only.html +57 -0
- package/components/combobox/demo/css-only.md +209 -0
- package/components/combobox/demo/customize.min.js +250 -16
- package/components/combobox/demo/getting-started.min.js +250 -16
- package/components/combobox/demo/index.min.js +250 -16
- package/components/combobox/demo/pages.json +1 -1
- package/components/combobox/demo/styles.min.css +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 +250 -16
- package/components/combobox/dist/registered.js +250 -16
- package/components/counter/demo/css-only.html +57 -0
- package/components/counter/demo/css-only.md +184 -0
- package/components/counter/demo/customize.min.js +249 -15
- package/components/counter/demo/index.min.js +249 -15
- package/components/counter/demo/keyboard-behavior.md +1 -0
- package/components/counter/demo/pages.json +1 -1
- package/components/counter/demo/styles.min.css +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 +63 -53
- package/components/datepicker/demo/css-only.html +57 -0
- package/components/datepicker/demo/css-only.md +151 -0
- package/components/datepicker/demo/customize.html +2 -0
- package/components/datepicker/demo/customize.js +19 -0
- package/components/datepicker/demo/customize.md +56 -0
- package/components/datepicker/demo/customize.min.js +36147 -0
- package/components/datepicker/demo/design.md +3 -1
- package/components/datepicker/demo/index.js +5 -1
- package/components/datepicker/demo/index.md +104 -15
- package/components/datepicker/demo/index.min.js +2485 -261
- package/components/datepicker/demo/keyboard-behavior.md +201 -2
- package/components/datepicker/demo/pages.json +1 -1
- package/components/datepicker/demo/styles.min.css +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 +2348 -211
- package/components/datepicker/dist/registered.js +2348 -211
- package/components/datepicker/dist/src/auro-calendar-cell.d.ts +113 -13
- package/components/datepicker/dist/src/auro-calendar-month.d.ts +38 -1
- package/components/datepicker/dist/src/auro-calendar.d.ts +258 -0
- package/components/datepicker/dist/src/auro-datepicker.d.ts +141 -41
- 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/css-only.html +57 -0
- package/components/dropdown/demo/css-only.md +219 -0
- package/components/dropdown/demo/customize.md +3 -0
- package/components/dropdown/demo/customize.min.js +239 -13
- package/components/dropdown/demo/getting-started.min.js +239 -13
- package/components/dropdown/demo/index.min.js +239 -13
- package/components/dropdown/demo/keyboard-behavior.md +1 -0
- package/components/dropdown/demo/pages.json +1 -1
- package/components/dropdown/demo/styles.min.css +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 +34 -1
- package/components/dropdown/dist/index.js +239 -13
- package/components/dropdown/dist/registered.js +239 -13
- package/components/form/demo/css-only.html +57 -0
- package/components/form/demo/css-only.md +156 -0
- package/components/form/demo/customize.min.js +3098 -259
- package/components/form/demo/getting-started.min.js +3098 -259
- package/components/form/demo/index.min.js +3098 -259
- package/components/form/demo/pages.json +1 -1
- package/components/form/demo/registerDemoDeps.min.js +3098 -259
- package/components/form/demo/styles.min.css +1 -1
- package/components/form/demo/why-form.html +57 -0
- package/components/form/demo/why-form.md +101 -0
- package/components/input/demo/css-only.html +57 -0
- package/components/input/demo/css-only.md +199 -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/styles.min.css +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/css-only.html +57 -0
- package/components/menu/demo/css-only.md +166 -0
- package/components/menu/demo/pages.json +1 -1
- package/components/menu/demo/styles.min.css +1 -1
- package/components/menu/demo/why-menu.html +57 -0
- package/components/menu/demo/why-menu.md +104 -0
- package/components/radio/demo/css-only.html +57 -0
- package/components/radio/demo/css-only.md +151 -0
- package/components/radio/demo/customize.min.js +1764 -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 +1783 -0
- package/components/radio/demo/index.min.js +1 -1
- package/components/radio/demo/pages.json +1 -1
- package/components/radio/demo/styles.min.css +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/css-only.html +57 -0
- package/components/select/demo/css-only.md +203 -0
- package/components/select/demo/customize.min.js +249 -15
- package/components/select/demo/getting-started.min.js +249 -15
- package/components/select/demo/index.min.js +249 -15
- package/components/select/demo/keyboard-behavior.md +1 -0
- package/components/select/demo/pages.json +1 -1
- package/components/select/demo/styles.min.css +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 -15
- package/components/select/dist/registered.js +249 -15
- package/custom-elements.json +1171 -92
- package/package.json +8 -8
|
@@ -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';
|
|
@@ -10595,6 +10595,7 @@ class UtilitiesCalendarRender {
|
|
|
10595
10595
|
updateCentralDate(elem, date) {
|
|
10596
10596
|
// if date is already iso formatted string, we can skip the conversion and validation step
|
|
10597
10597
|
if (typeof date === 'string' && dateFormatter$1.isValidDate(date)) {
|
|
10598
|
+
// eslint-disable-next-line
|
|
10598
10599
|
elem.centralDate = date.replace(/(\d{4})-(\d{2})-(\d{2})/, '$1-$2-01'); // Set to first of the month
|
|
10599
10600
|
return;
|
|
10600
10601
|
}
|
|
@@ -10679,13 +10680,10 @@ class UtilitiesCalendarRender {
|
|
|
10679
10680
|
// 2. Start by assuming we can render the max number of months.
|
|
10680
10681
|
let calendarCount = maxRenderableMonths;
|
|
10681
10682
|
|
|
10682
|
-
// 3. If
|
|
10683
|
+
// 3. If maximumRenderableMonths() returns 0 (e.g. an invalid/empty defined range),
|
|
10684
|
+
// fall back to the min/max date range so something is rendered.
|
|
10683
10685
|
if (!calendarCount && elem.minDate && elem.maxDate) {
|
|
10684
|
-
|
|
10685
|
-
|
|
10686
|
-
if (monthsInRange < maxRenderableMonths) {
|
|
10687
|
-
calendarCount = monthsInRange;
|
|
10688
|
-
}
|
|
10686
|
+
calendarCount = this.util.monthDiff(elem.minDateObject, elem.maxDateObject);
|
|
10689
10687
|
}
|
|
10690
10688
|
|
|
10691
10689
|
if (elem.numCalendars !== calendarCount) {
|
|
@@ -10733,7 +10731,6 @@ class UtilitiesCalendarRender {
|
|
|
10733
10731
|
.max="${elem.max}"
|
|
10734
10732
|
?noRange="${elem.noRange}"
|
|
10735
10733
|
.monthFirst="${elem.monthFirst}"
|
|
10736
|
-
.hoveredDate="${elem.hoveredDate}"
|
|
10737
10734
|
.dateTo="${elem.dateTo}"
|
|
10738
10735
|
.dateFrom="${elem.dateFrom}"
|
|
10739
10736
|
.locale="${elem.locale}"
|
|
@@ -10766,11 +10763,11 @@ var snowflakeStyle = css`:host([layout*=snowflake]) [auro-input]{flex:1;text-ali
|
|
|
10766
10763
|
|
|
10767
10764
|
var snowflakeColors = css`:host([layout=snowflake]) [auro-dropdown]:not(:is([error],.hasFocus)){--ds-auro-dropdown-trigger-border-color: transparent}`;
|
|
10768
10765
|
|
|
10769
|
-
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:""}`;
|
|
10766
|
+
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}`;
|
|
10770
10767
|
|
|
10771
10768
|
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)}}`;
|
|
10772
10769
|
|
|
10773
|
-
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%}`;
|
|
10770
|
+
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) var(--ds-size-200, 1rem) 0}}@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:336px}}.td{flex:1;margin:0;padding:0}.tr{display:flex;flex-direction:row;width:100%;border-radius:10px;overflow:hidden}.tr:not(:last-of-type){margin-bottom:var(--ds-size-100, 0.5rem)}`;
|
|
10774
10771
|
|
|
10775
10772
|
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)}`;
|
|
10776
10773
|
|
|
@@ -11525,41 +11522,45 @@ __decorate([property({ type: Array })], RangeDatepickerCalendar.prototype, "dayN
|
|
|
11525
11522
|
__decorate([property({ type: Array })], RangeDatepickerCalendar.prototype, "daysOfMonth", void 0);
|
|
11526
11523
|
AuroLibraryRuntimeUtils$5.prototype.registerComponent('wc-range-datepicker-calendar', RangeDatepickerCalendar);
|
|
11527
11524
|
|
|
11528
|
-
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}}`;
|
|
11525
|
+
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:48px;height:56px;padding:0;border-width:2px;border-style:solid;border-radius:10px;cursor:pointer;user-select:none}.day:focus-visible{outline:none;background-color:unset}.day.activeCell{outline-width:2px;outline-style:solid;outline-offset:-4px}.day.disabled{cursor:default !important;pointer-events:none}.day.blackout{cursor:pointer}.day.reference:after{position:absolute;top:-2px;left:-2px;display:block;width:calc(100% + 2px);height:calc(100% + 2px);box-sizing:content-box;border-radius:10px;border-style:solid;border-width:1px;content:""}.day.inRange::before{position:absolute;z-index:-1;top:-2px;left:-2px;display:block;width:calc(100% + 4px);height:calc(100% + 4px);box-sizing:content-box;content:""}.day.rangeDepartDate::before{position:absolute;z-index:-1;top:-2px;left:-2px;display:block;width:calc(100% + 4px);height:calc(100% + 4px);box-sizing:content-box;content:"";border-radius:10px 0 0 10px;overflow:hidden}.day.rangeReturnDate::before,.day.lastHoveredDate::before{position:absolute;z-index:-1;top:-2px;left:-2px;display:block;width:calc(100% + 4px);height:calc(100% + 4px);box-sizing:content-box;content:"";border-radius:0 10px 10px 0;overflow:hidden}.day.firstDayOfMonth::before{border-radius:10px 0 0 10px;overflow:hidden}.day.lastDayOfMonth::before{border-radius:0 10px 10px 0;overflow:hidden}.buttonWrapper{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%}.dateSlot{display:block}::slotted([slot^=date_]){width:100%;white-space:nowrap}::slotted(auro-icon){max-height:24px;max-width:24px}:host([renderForDateSlot]) .buttonWrapper{position:relative;width:100%;height:100%}:host([renderForDateSlot]) .currentDayMarker{position:relative}`;
|
|
11529
11526
|
|
|
11530
|
-
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-
|
|
11527
|
+
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.activeCell:not(.selected){--ds-auro-calendar-cell-container-color: var(--ds-auro-calendar-cell-in-range-color);border-color:var(--ds-advanced-color-state-selected);outline-color:var(--ds-auro-calendar-cell-container-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:after{border-color:var(--ds-basic-color-border-default, #959595);box-shadow:inset 0 0 0 2px var(--ds-basic-color-surface-default, #ffffff)}:host .day.reference:hover::after{box-shadow:inset 0 0 0 2px var(--ds-advanced-color-shared-background-muted, #f7f7f7)}: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}`;
|
|
11531
11528
|
|
|
11532
|
-
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)}
|
|
11529
|
+
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)}
|
|
11533
11530
|
`,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:""}
|
|
11534
11531
|
`,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)}
|
|
11535
|
-
`;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.
|
|
11536
|
-
<div
|
|
11532
|
+
`;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`
|
|
11533
|
+
<div
|
|
11534
|
+
id="popover"
|
|
11535
|
+
class="popover util_insetLg body-default"
|
|
11536
|
+
part="popover"
|
|
11537
|
+
role="tooltip"
|
|
11538
|
+
aria-hidden="${this.isPopoverVisible?"false":"true"}">
|
|
11537
11539
|
<div id="arrow" class="arrow" data-popper-arrow></div>
|
|
11538
|
-
<
|
|
11540
|
+
<slot></slot>
|
|
11539
11541
|
</div>
|
|
11540
11542
|
|
|
11541
|
-
<span>
|
|
11543
|
+
<span role="presentation">
|
|
11542
11544
|
<slot name="trigger" data-trigger-placement="${this.placement}"></slot>
|
|
11543
11545
|
</span>
|
|
11544
11546
|
`}}
|
|
11545
11547
|
|
|
11546
11548
|
var popoverVersion = '6.0.1';
|
|
11547
11549
|
|
|
11550
|
+
/* eslint-disable curly, max-lines, no-underscore-dangle, no-magic-numbers, no-underscore-dangle, max-params, no-extra-parens, arrow-parens, max-lines, line-comment-position, no-inline-comments, lit/binding-positions, lit/no-invalid-html */
|
|
11551
|
+
|
|
11548
11552
|
const startOfDay$1 = (ms) => {
|
|
11549
11553
|
const date = new Date(ms);
|
|
11550
11554
|
date.setHours(0, 0, 0, 0);
|
|
11551
11555
|
return date.getTime();
|
|
11552
11556
|
};
|
|
11553
11557
|
|
|
11554
|
-
/* eslint-disable curly, max-lines, no-underscore-dangle, no-magic-numbers, no-underscore-dangle, max-params, no-void, init-declarations, no-extra-parens, arrow-parens, max-lines, line-comment-position, no-inline-comments, lit/binding-positions, lit/no-invalid-html */
|
|
11555
|
-
|
|
11556
11558
|
class AuroCalendarCell extends LitElement {
|
|
11557
11559
|
constructor() {
|
|
11558
11560
|
super();
|
|
11559
11561
|
|
|
11560
11562
|
this.day = null;
|
|
11561
11563
|
this.selected = false;
|
|
11562
|
-
this.hovered = false;
|
|
11563
11564
|
this.dateTo = null;
|
|
11564
11565
|
this.dateFrom = null;
|
|
11565
11566
|
this.month = null;
|
|
@@ -11567,11 +11568,12 @@ class AuroCalendarCell extends LitElement {
|
|
|
11567
11568
|
this.max = null;
|
|
11568
11569
|
this.disabled = false;
|
|
11569
11570
|
this.disabledDays = [];
|
|
11570
|
-
this.hoveredDate = null;
|
|
11571
11571
|
this.isCurrentDate = false;
|
|
11572
11572
|
this._locale = null;
|
|
11573
11573
|
this.dateStr = null;
|
|
11574
11574
|
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.
|
|
11575
|
+
this.active = false;
|
|
11576
|
+
this.hasPopoverContent = false;
|
|
11575
11577
|
|
|
11576
11578
|
this.runtimeUtils = new AuroLibraryRuntimeUtils$5();
|
|
11577
11579
|
|
|
@@ -11590,7 +11592,6 @@ class AuroCalendarCell extends LitElement {
|
|
|
11590
11592
|
// ...super.properties,
|
|
11591
11593
|
day: { type: Object },
|
|
11592
11594
|
selected: { type: Boolean },
|
|
11593
|
-
hovered: { type: Boolean },
|
|
11594
11595
|
dateTo: { type: String },
|
|
11595
11596
|
dateFrom: { type: String },
|
|
11596
11597
|
month: { type: String },
|
|
@@ -11601,11 +11602,11 @@ class AuroCalendarCell extends LitElement {
|
|
|
11601
11602
|
reflect: true
|
|
11602
11603
|
},
|
|
11603
11604
|
disabledDays: { type: Array },
|
|
11604
|
-
hoveredDate: { type: String },
|
|
11605
11605
|
isCurrentDate: { type: Boolean },
|
|
11606
11606
|
locale: { type: String },
|
|
11607
11607
|
dateStr: { type: String },
|
|
11608
|
-
renderForDateSlot: { type: Boolean }
|
|
11608
|
+
renderForDateSlot: { type: Boolean },
|
|
11609
|
+
hasPopoverContent: { type: Boolean }
|
|
11609
11610
|
};
|
|
11610
11611
|
}
|
|
11611
11612
|
|
|
@@ -11629,17 +11630,17 @@ class AuroCalendarCell extends LitElement {
|
|
|
11629
11630
|
}
|
|
11630
11631
|
|
|
11631
11632
|
/**
|
|
11632
|
-
* Handles selected
|
|
11633
|
+
* Handles selected state of the calendar cell when the selection changes.
|
|
11634
|
+
* Also clears any imperative range preview classes so classMap is the
|
|
11635
|
+
* sole source of truth after a selection update.
|
|
11633
11636
|
* @private
|
|
11634
11637
|
* @param {Number} dateFrom - Depart date.
|
|
11635
11638
|
* @param {Number} dateTo - Return date.
|
|
11636
|
-
* @param {Number} hoveredDate - Hovered date.
|
|
11637
11639
|
* @param {Object} day - An object containing the dateFrom and day of month values.
|
|
11638
11640
|
* @returns {void}
|
|
11639
11641
|
*/
|
|
11640
|
-
dateChanged(dateFrom, dateTo,
|
|
11642
|
+
dateChanged(dateFrom, dateTo, day) {
|
|
11641
11643
|
this.selected = false;
|
|
11642
|
-
this.hovered = false;
|
|
11643
11644
|
|
|
11644
11645
|
const parsedDateFrom = parseInt(dateFrom, 10);
|
|
11645
11646
|
const parsedDateTo = parseInt(dateTo, 10);
|
|
@@ -11651,10 +11652,6 @@ class AuroCalendarCell extends LitElement {
|
|
|
11651
11652
|
if (day.date === departTimestamp || day.date === returnTimestamp) {
|
|
11652
11653
|
this.selected = true;
|
|
11653
11654
|
}
|
|
11654
|
-
|
|
11655
|
-
if (((hoveredDate === day.date || day.date < hoveredDate) && day.date > parsedDateFrom && !parsedDateTo && !Number.isNaN(parsedDateFrom) && parsedDateFrom !== undefined && !this.selected) || (day.date > parsedDateFrom && day.date < parsedDateTo)) {
|
|
11656
|
-
this.hovered = true;
|
|
11657
|
-
}
|
|
11658
11655
|
}
|
|
11659
11656
|
}
|
|
11660
11657
|
|
|
@@ -11664,27 +11661,104 @@ class AuroCalendarCell extends LitElement {
|
|
|
11664
11661
|
* @returns {void}
|
|
11665
11662
|
*/
|
|
11666
11663
|
handleTap() {
|
|
11667
|
-
if (!this.disabled) {
|
|
11664
|
+
if (!this.disabled && !this.isBlackout()) {
|
|
11668
11665
|
this.datepicker.handleCellClick(this.day.date);
|
|
11669
11666
|
}
|
|
11667
|
+
|
|
11668
|
+
// Set this cell as the active cell regardless of blackout status
|
|
11669
|
+
if (this.day) {
|
|
11670
|
+
this.dispatchEvent(new CustomEvent('calendar-cell-activate', {
|
|
11671
|
+
bubbles: true,
|
|
11672
|
+
composed: true,
|
|
11673
|
+
detail: { date: this.day.date }
|
|
11674
|
+
}));
|
|
11675
|
+
}
|
|
11670
11676
|
}
|
|
11671
11677
|
|
|
11672
11678
|
/**
|
|
11673
11679
|
* Handles user hover events and dispatches a custom event.
|
|
11680
|
+
* Does NOT set any reactive properties — the range preview is handled
|
|
11681
|
+
* imperatively by the calendar component to avoid O(N) re-renders.
|
|
11674
11682
|
* @private
|
|
11675
11683
|
* @returns {void}
|
|
11676
11684
|
*/
|
|
11677
11685
|
handleHover() {
|
|
11678
|
-
this.hovered = true;
|
|
11679
|
-
|
|
11680
|
-
let _a;
|
|
11681
11686
|
this.dispatchEvent(new CustomEvent('date-is-hovered', {
|
|
11682
|
-
detail: { date:
|
|
11687
|
+
detail: { date: this.day?.date },
|
|
11683
11688
|
}));
|
|
11684
11689
|
}
|
|
11685
11690
|
|
|
11686
11691
|
/**
|
|
11687
|
-
*
|
|
11692
|
+
* Handles focus events on the cell button.
|
|
11693
|
+
* Dispatches a lightweight event for the calendar to handle SR
|
|
11694
|
+
* announcements and range preview updates without triggering
|
|
11695
|
+
* any Lit lifecycle updates.
|
|
11696
|
+
* @private
|
|
11697
|
+
* @returns {void}
|
|
11698
|
+
*/
|
|
11699
|
+
handleFocus() {
|
|
11700
|
+
this.dispatchEvent(new CustomEvent('calendar-cell-focused', {
|
|
11701
|
+
bubbles: true,
|
|
11702
|
+
composed: true,
|
|
11703
|
+
detail: { date: this.day?.date },
|
|
11704
|
+
}));
|
|
11705
|
+
}
|
|
11706
|
+
|
|
11707
|
+
/**
|
|
11708
|
+
* Checks if the current date is outside the valid min/max range.
|
|
11709
|
+
* Out-of-range cells are not focusable and are hidden from screen readers.
|
|
11710
|
+
* @private
|
|
11711
|
+
* @param {Object} day - An object containing the dateFrom and day of month values.
|
|
11712
|
+
* @param {Number} min - The minimum date value.
|
|
11713
|
+
* @param {Number} max - The maximum date value.
|
|
11714
|
+
* @returns {Boolean} - True if the date is out of range.
|
|
11715
|
+
*/
|
|
11716
|
+
isOutOfRange(day, min, max) {
|
|
11717
|
+
if (day && day.date !== null && day.date !== undefined) {
|
|
11718
|
+
return day.date < min || day.date > max;
|
|
11719
|
+
}
|
|
11720
|
+
return false;
|
|
11721
|
+
}
|
|
11722
|
+
|
|
11723
|
+
/**
|
|
11724
|
+
* Checks if the current date is a blackout date (in disabledDays but within range).
|
|
11725
|
+
* Blackout cells are focusable but not selectable.
|
|
11726
|
+
* @private
|
|
11727
|
+
* @returns {Boolean} - True if the date is a blackout date.
|
|
11728
|
+
*/
|
|
11729
|
+
isBlackout() {
|
|
11730
|
+
if (!this.day || this.day.date === null || this.day.date === undefined || this.isOutOfRange(this.day, this.min, this.max)) {
|
|
11731
|
+
return false;
|
|
11732
|
+
}
|
|
11733
|
+
|
|
11734
|
+
// Check against disabledDays timestamps (legacy path)
|
|
11735
|
+
if (Array.isArray(this.disabledDays) && this.disabledDays.length > 0 &&
|
|
11736
|
+
(this.disabledDays.findIndex(dd => parseInt(dd, 10) === this.day.date) !== -1)) {
|
|
11737
|
+
return true;
|
|
11738
|
+
}
|
|
11739
|
+
|
|
11740
|
+
// Check against blackoutDates (ISO format YYYY-MM-DD) on the datepicker
|
|
11741
|
+
const blackoutDates = this.datepicker?.blackoutDates;
|
|
11742
|
+
|
|
11743
|
+
if (Array.isArray(blackoutDates) && blackoutDates.length > 0) {
|
|
11744
|
+
const date = new Date(this.day.date * 1000);
|
|
11745
|
+
const yyyy = date.getFullYear();
|
|
11746
|
+
const mm = String(date.getMonth() + 1).padStart(2, '0');
|
|
11747
|
+
const dd = String(date.getDate()).padStart(2, '0');
|
|
11748
|
+
const cellDate = `${yyyy}-${mm}-${dd}`;
|
|
11749
|
+
if (blackoutDates.includes(cellDate)) {
|
|
11750
|
+
return true;
|
|
11751
|
+
}
|
|
11752
|
+
}
|
|
11753
|
+
|
|
11754
|
+
return false;
|
|
11755
|
+
}
|
|
11756
|
+
|
|
11757
|
+
/**
|
|
11758
|
+
* Checks if the current date is disabled based on min/max range or the
|
|
11759
|
+
* legacy disabledDays timestamp list. Sets the `disabled` attribute on the
|
|
11760
|
+
* host when the date falls outside the allowed range or appears in
|
|
11761
|
+
* disabledDays. Note: blackout dates are handled separately by `isBlackout()`.
|
|
11688
11762
|
* @private
|
|
11689
11763
|
* @param {Object} day - An object containing the dateFrom and day of month values.
|
|
11690
11764
|
* @param {Number} min - The minimum date value.
|
|
@@ -11695,15 +11769,114 @@ class AuroCalendarCell extends LitElement {
|
|
|
11695
11769
|
isEnabled(day, min, max, disabledDays) {
|
|
11696
11770
|
this.removeAttribute('disabled');
|
|
11697
11771
|
|
|
11698
|
-
if (disabledDays && day && day.date
|
|
11699
|
-
|
|
11700
|
-
|
|
11701
|
-
|
|
11702
|
-
}
|
|
11772
|
+
if (disabledDays && day && day.date &&
|
|
11773
|
+
(day.date < min || day.date > max || disabledDays.findIndex(disabledDay => parseInt(disabledDay, 10) === day.date) !== -1)) {
|
|
11774
|
+
this.setAttribute('disabled', true);
|
|
11775
|
+
return true;
|
|
11703
11776
|
}
|
|
11777
|
+
|
|
11704
11778
|
return false;
|
|
11705
11779
|
}
|
|
11706
11780
|
|
|
11781
|
+
/**
|
|
11782
|
+
* Generates a unique cell ID in the format cell-YYYY-MM-DD.
|
|
11783
|
+
* @private
|
|
11784
|
+
* @returns {String} The unique cell ID.
|
|
11785
|
+
*/
|
|
11786
|
+
getCellId() {
|
|
11787
|
+
if (!this.day || !this.day.date) return '';
|
|
11788
|
+
const date = new Date(this.day.date * 1000);
|
|
11789
|
+
const year = date.getFullYear();
|
|
11790
|
+
const month = String(date.getMonth() + 1).padStart(2, '0');
|
|
11791
|
+
const day = String(date.getDate()).padStart(2, '0');
|
|
11792
|
+
return `cell-${year}-${month}-${day}`;
|
|
11793
|
+
}
|
|
11794
|
+
|
|
11795
|
+
/**
|
|
11796
|
+
* Generates a localized aria-label for the cell button using Intl.DateTimeFormat.
|
|
11797
|
+
* Includes range position and blackout status.
|
|
11798
|
+
* @private
|
|
11799
|
+
* @returns {String} The aria-label string.
|
|
11800
|
+
*/
|
|
11801
|
+
getAriaLabel() {
|
|
11802
|
+
if (!this.day || this.day.date === undefined) return '';
|
|
11803
|
+
|
|
11804
|
+
const date = new Date(this.day.date * 1000);
|
|
11805
|
+
|
|
11806
|
+
// Generate localized full date string using the configured locale
|
|
11807
|
+
const localeCode = this.locale?.code || undefined;
|
|
11808
|
+
const dateFormatter = new Intl.DateTimeFormat(localeCode, {
|
|
11809
|
+
weekday: 'long',
|
|
11810
|
+
year: 'numeric',
|
|
11811
|
+
month: 'long',
|
|
11812
|
+
day: 'numeric'
|
|
11813
|
+
});
|
|
11814
|
+
|
|
11815
|
+
let label = dateFormatter.format(date);
|
|
11816
|
+
|
|
11817
|
+
// Append date slot content (e.g. prices) so it is announced with the date.
|
|
11818
|
+
if (this.renderForDateSlot) {
|
|
11819
|
+
const dateSlotEl = this.querySelector(`[slot="date_${this.dateStr}"]`);
|
|
11820
|
+
if (dateSlotEl) {
|
|
11821
|
+
const text = dateSlotEl.innerText?.trim();
|
|
11822
|
+
if (text) {
|
|
11823
|
+
label += `, ${text}`;
|
|
11824
|
+
}
|
|
11825
|
+
}
|
|
11826
|
+
}
|
|
11827
|
+
|
|
11828
|
+
// appending popover content here so that it gets read in a logical order with the other date content.
|
|
11829
|
+
if (this.hasPopoverContent) {
|
|
11830
|
+
const popoverEl = this.querySelector(`[slot="popover_${this.dateStr}"]`);
|
|
11831
|
+
if (popoverEl) {
|
|
11832
|
+
label += `, ${popoverEl.innerText.trim()}`;
|
|
11833
|
+
}
|
|
11834
|
+
}
|
|
11835
|
+
|
|
11836
|
+
// Append range position label for range datepickers
|
|
11837
|
+
const rangePosition = this.getRangePosition();
|
|
11838
|
+
if (rangePosition) {
|
|
11839
|
+
label += `, ${rangePosition}`;
|
|
11840
|
+
}
|
|
11841
|
+
|
|
11842
|
+
// Append blackout label for blackout cells
|
|
11843
|
+
if (this.isBlackout()) {
|
|
11844
|
+
label += `, ${this.datepicker?.blackoutLabel || 'unavailable'}`;
|
|
11845
|
+
}
|
|
11846
|
+
|
|
11847
|
+
return label;
|
|
11848
|
+
}
|
|
11849
|
+
|
|
11850
|
+
/**
|
|
11851
|
+
* Determines the range position of this cell relative to the current selection.
|
|
11852
|
+
* @private
|
|
11853
|
+
* @returns {String|null} Range position label or null if not in range mode.
|
|
11854
|
+
*/
|
|
11855
|
+
getRangePosition() {
|
|
11856
|
+
if (!this.datepicker || !this.datepicker.hasAttribute('range')) return null;
|
|
11857
|
+
|
|
11858
|
+
const parsedDateFrom = Number.parseInt(this.dateFrom, 10);
|
|
11859
|
+
if (!Number.isFinite(parsedDateFrom)) return null;
|
|
11860
|
+
|
|
11861
|
+
const departTimestamp = startOfDay$1(parsedDateFrom * 1000) / 1000;
|
|
11862
|
+
const dayDate = this.day.date;
|
|
11863
|
+
|
|
11864
|
+
const parsedDateTo = Number.parseInt(this.dateTo, 10);
|
|
11865
|
+
const hasDateTo = Number.isFinite(parsedDateTo);
|
|
11866
|
+
const returnTimestamp = hasDateTo ? startOfDay$1(parsedDateTo * 1000) / 1000 : null;
|
|
11867
|
+
|
|
11868
|
+
if (dayDate === departTimestamp) return this.datepicker.rangeLabelStart || 'range start';
|
|
11869
|
+
|
|
11870
|
+
if (hasDateTo && dayDate === returnTimestamp) return this.datepicker.rangeLabelEnd || 'range end';
|
|
11871
|
+
|
|
11872
|
+
if (dayDate < departTimestamp) return this.datepicker.rangeLabelBeforeRange || 'before range';
|
|
11873
|
+
|
|
11874
|
+
if (hasDateTo && dayDate > departTimestamp && dayDate < returnTimestamp) return this.datepicker.rangeLabelInRange || 'in range';
|
|
11875
|
+
|
|
11876
|
+
// After start date, no end date yet, or after end date
|
|
11877
|
+
return this.datepicker.rangeLabelAfterRange || 'after range';
|
|
11878
|
+
}
|
|
11879
|
+
|
|
11707
11880
|
/**
|
|
11708
11881
|
* Checks if the current date is the depart date.
|
|
11709
11882
|
* @private
|
|
@@ -11771,12 +11944,12 @@ class AuroCalendarCell extends LitElement {
|
|
|
11771
11944
|
}
|
|
11772
11945
|
|
|
11773
11946
|
/**
|
|
11774
|
-
* Checks if the current date is a
|
|
11947
|
+
* Checks if the current date is a referenced date.
|
|
11775
11948
|
* @param {Object} dateStr - The date string in MM_DD_YYYY format.
|
|
11776
|
-
* @returns Boolean - True if the date is a
|
|
11949
|
+
* @returns Boolean - True if the date is a referenced date.
|
|
11777
11950
|
*/
|
|
11778
11951
|
isReferenceDate(dateStr) {
|
|
11779
|
-
// If the datepicker has
|
|
11952
|
+
// If the datepicker has referenced dates specified
|
|
11780
11953
|
if (this.datepicker && this.datepicker.hasAttribute('referenceDates')) {
|
|
11781
11954
|
|
|
11782
11955
|
// Get the referenceDates attribute from the datepicker
|
|
@@ -11786,7 +11959,11 @@ class AuroCalendarCell extends LitElement {
|
|
|
11786
11959
|
if (!Array.isArray(referenceDates) || referenceDates.length === 0) return false;
|
|
11787
11960
|
|
|
11788
11961
|
// Convert cell dateStr (MM_DD_YYYY) to ISO (YYYY-MM-DD) for comparison
|
|
11789
|
-
const [
|
|
11962
|
+
const [
|
|
11963
|
+
month,
|
|
11964
|
+
day,
|
|
11965
|
+
year
|
|
11966
|
+
] = dateStr.split('_');
|
|
11790
11967
|
const cellISO = `${year}-${month.padStart(2, '0')}-${day.padStart(2, '0')}`;
|
|
11791
11968
|
|
|
11792
11969
|
return referenceDates.includes(cellISO);
|
|
@@ -11876,9 +12053,9 @@ class AuroCalendarCell extends LitElement {
|
|
|
11876
12053
|
|
|
11877
12054
|
if (popoverSlotContent) {
|
|
11878
12055
|
this.appendChild(popoverSlotContent.cloneNode(true));
|
|
11879
|
-
this.
|
|
12056
|
+
this.hasPopoverContent = true;
|
|
11880
12057
|
} else {
|
|
11881
|
-
this.
|
|
12058
|
+
this.hasPopoverContent = false;
|
|
11882
12059
|
}
|
|
11883
12060
|
} catch (err) { // eslint-disable-line no-unused-vars
|
|
11884
12061
|
// Error handling goes here
|
|
@@ -11894,60 +12071,249 @@ class AuroCalendarCell extends LitElement {
|
|
|
11894
12071
|
return;
|
|
11895
12072
|
}
|
|
11896
12073
|
this.datepicker = calendar.datepicker;
|
|
11897
|
-
this.
|
|
12074
|
+
this._slotContentHandler = () => {
|
|
11898
12075
|
this.handleSlotContent();
|
|
12076
|
+
// Force re-render so isBlackout()/aria-disabled reflect updated blackoutDates.
|
|
12077
|
+
this.requestUpdate();
|
|
12078
|
+
};
|
|
12079
|
+
this.datepicker.addEventListener('auroDatePicker-newSlotContent', this._slotContentHandler);
|
|
12080
|
+
|
|
12081
|
+
// Cache button reference for imperative class manipulation.
|
|
12082
|
+
this.updateComplete.then(() => {
|
|
12083
|
+
this._cachedButton = this.shadowRoot.querySelector('button.day');
|
|
11899
12084
|
});
|
|
11900
12085
|
|
|
12086
|
+
// Trigger an initial update now that `this.datepicker` is assigned so
|
|
12087
|
+
// cells reflect blackout/slot state that was configured before first render.
|
|
12088
|
+
this.requestUpdate();
|
|
12089
|
+
|
|
12090
|
+
this.calendarMonth = calendarMonth;
|
|
12091
|
+
this.configurePopover();
|
|
12092
|
+
}
|
|
12093
|
+
|
|
12094
|
+
disconnectedCallback() {
|
|
12095
|
+
super.disconnectedCallback();
|
|
12096
|
+
if (this.datepicker && this._slotContentHandler) {
|
|
12097
|
+
this.datepicker.removeEventListener('auroDatePicker-newSlotContent', this._slotContentHandler);
|
|
12098
|
+
}
|
|
12099
|
+
}
|
|
12100
|
+
|
|
12101
|
+
/**
|
|
12102
|
+
* Configures the popover instance with the calendar month boundary.
|
|
12103
|
+
* Called from firstUpdated and updated because the popover element is only
|
|
12104
|
+
* rendered after hasPopoverContent becomes true (set by handleSlotContent).
|
|
12105
|
+
* @private
|
|
12106
|
+
* @returns {void}
|
|
12107
|
+
*/
|
|
12108
|
+
configurePopover() {
|
|
11901
12109
|
this.auroPopover = this.shadowRoot.querySelector(this.popoverTag._$litStatic$);
|
|
11902
12110
|
|
|
11903
|
-
this.auroPopover
|
|
12111
|
+
if (this.auroPopover && this.calendarMonth) {
|
|
12112
|
+
this.auroPopover.boundary = this.calendarMonth;
|
|
12113
|
+
}
|
|
11904
12114
|
}
|
|
11905
12115
|
|
|
11906
12116
|
updated(properties) {
|
|
11907
|
-
if (properties.has('dateFrom') || properties.has('dateTo') || properties.has('
|
|
11908
|
-
this.dateChanged(this.dateFrom, this.dateTo, this.
|
|
12117
|
+
if (properties.has('dateFrom') || properties.has('dateTo') || properties.has('day')) {
|
|
12118
|
+
this.dateChanged(this.dateFrom, this.dateTo, this.day);
|
|
12119
|
+
}
|
|
12120
|
+
|
|
12121
|
+
if (properties.has('day') && this.day) {
|
|
12122
|
+
this.setDateSlotName();
|
|
12123
|
+
this.handleSlotContent();
|
|
12124
|
+
|
|
12125
|
+
// Re-cache button reference when the day changes (cell may have re-rendered).
|
|
12126
|
+
this.updateComplete.then(() => {
|
|
12127
|
+
this._cachedButton = this.shadowRoot.querySelector('button.day');
|
|
12128
|
+
});
|
|
12129
|
+
|
|
12130
|
+
// Update host-level aria attributes for ariaActiveDescendantElement.
|
|
12131
|
+
this.updateHostAria();
|
|
11909
12132
|
}
|
|
11910
12133
|
|
|
11911
|
-
|
|
11912
|
-
|
|
12134
|
+
// Update host aria when selection changes (aria-selected, range labels)
|
|
12135
|
+
if (properties.has('dateFrom') || properties.has('dateTo') || properties.has('selected')) {
|
|
12136
|
+
this.updateHostAria();
|
|
12137
|
+
}
|
|
12138
|
+
|
|
12139
|
+
// Configure popover when it first becomes rendered
|
|
12140
|
+
if (properties.has('hasPopoverContent') && this.hasPopoverContent) {
|
|
12141
|
+
this.updateComplete.then(() => this.configurePopover());
|
|
12142
|
+
}
|
|
11913
12143
|
}
|
|
11914
12144
|
|
|
11915
|
-
|
|
12145
|
+
/**
|
|
12146
|
+
* Updates ARIA attributes on the host element so that
|
|
12147
|
+
* ariaActiveDescendantElement can expose cell info to the SR.
|
|
12148
|
+
* @private
|
|
12149
|
+
* @returns {void}
|
|
12150
|
+
*/
|
|
12151
|
+
updateHostAria() {
|
|
12152
|
+
if (!this.day || this.day.date === undefined) return;
|
|
12153
|
+
|
|
12154
|
+
const outOfRange = this.isOutOfRange(this.day, this.min, this.max);
|
|
12155
|
+
if (outOfRange) {
|
|
12156
|
+
this.removeAttribute('role');
|
|
12157
|
+
this.removeAttribute('aria-label');
|
|
12158
|
+
return;
|
|
12159
|
+
}
|
|
12160
|
+
|
|
12161
|
+
// The host acts as the gridcell for ariaActiveDescendantElement.
|
|
12162
|
+
this.setAttribute('role', 'gridcell');
|
|
12163
|
+
this.setAttribute('aria-label', this.getAriaLabel());
|
|
12164
|
+
this.setAttribute('aria-selected', this.selected ? 'true' : 'false');
|
|
12165
|
+
|
|
12166
|
+
if (this.isBlackout()) {
|
|
12167
|
+
this.setAttribute('aria-disabled', 'true');
|
|
12168
|
+
} else {
|
|
12169
|
+
this.removeAttribute('aria-disabled');
|
|
12170
|
+
}
|
|
12171
|
+
}
|
|
12172
|
+
|
|
12173
|
+
/**
|
|
12174
|
+
* Programmatically focuses the cell's interactive button element.
|
|
12175
|
+
* Uses focusVisible: true so the :focus-visible ring appears even when
|
|
12176
|
+
* the bib was opened via mouse click (which sets mouse input modality).
|
|
12177
|
+
* @returns {void}
|
|
12178
|
+
*/
|
|
12179
|
+
focusButton() {
|
|
12180
|
+
const button = this._cachedButton || this.shadowRoot.querySelector('button:not([aria-hidden])');
|
|
12181
|
+
if (button) {
|
|
12182
|
+
button.focus({ focusVisible: true });
|
|
12183
|
+
}
|
|
12184
|
+
}
|
|
12185
|
+
|
|
12186
|
+
/**
|
|
12187
|
+
* Imperatively marks this cell as active without triggering a Lit re-render.
|
|
12188
|
+
* Note: buttons stay tabindex="-1" because the grid uses aria-activedescendant.
|
|
12189
|
+
* @returns {void}
|
|
12190
|
+
*/
|
|
12191
|
+
setActive() {
|
|
12192
|
+
this.active = true;
|
|
12193
|
+
|
|
12194
|
+
// Show the popover when this cell becomes active via keyboard navigation.
|
|
12195
|
+
if (this.auroPopover) {
|
|
12196
|
+
this.auroPopover.toggleShow();
|
|
12197
|
+
}
|
|
12198
|
+
}
|
|
12199
|
+
|
|
12200
|
+
/**
|
|
12201
|
+
* Imperatively marks this cell as inactive without triggering a Lit re-render.
|
|
12202
|
+
* @returns {void}
|
|
12203
|
+
*/
|
|
12204
|
+
clearActive() {
|
|
12205
|
+
this.active = false;
|
|
12206
|
+
const btn = this._cachedButton || this.shadowRoot.querySelector('button.day');
|
|
12207
|
+
if (btn) {
|
|
12208
|
+
btn.classList.remove('activeCell');
|
|
12209
|
+
}
|
|
12210
|
+
|
|
12211
|
+
// Hide the popover when this cell loses active state.
|
|
12212
|
+
if (this.auroPopover) {
|
|
12213
|
+
this.auroPopover.toggleHide();
|
|
12214
|
+
}
|
|
12215
|
+
}
|
|
12216
|
+
|
|
12217
|
+
/**
|
|
12218
|
+
* Updates range preview classes imperatively (no Lit re-render).
|
|
12219
|
+
* Called by the calendar component when the hovered date changes
|
|
12220
|
+
* during range selection (dateFrom set, dateTo not yet set).
|
|
12221
|
+
* @param {Number} hoveredDate - Unix timestamp of the currently hovered/focused date.
|
|
12222
|
+
* @param {Number} dateFrom - Unix timestamp of the selected departure date.
|
|
12223
|
+
* @returns {void}
|
|
12224
|
+
*/
|
|
12225
|
+
updateRangePreviewClasses(hoveredDate, dateFrom) {
|
|
12226
|
+
const btn = this._cachedButton;
|
|
12227
|
+
if (!btn || !this.day) return;
|
|
12228
|
+
|
|
12229
|
+
const dayDate = this.day.date;
|
|
12230
|
+
const departTimestamp = startOfDay$1(dateFrom * 1000) / 1000;
|
|
12231
|
+
const isInRange = dayDate > departTimestamp && dayDate < hoveredDate;
|
|
12232
|
+
const isLastHovered = dayDate === hoveredDate && hoveredDate > departTimestamp;
|
|
12233
|
+
const isDepartWithPreview = dayDate === departTimestamp && hoveredDate > departTimestamp;
|
|
12234
|
+
|
|
12235
|
+
btn.classList.toggle('inRange', isInRange);
|
|
12236
|
+
btn.classList.toggle('lastHoveredDate', isLastHovered);
|
|
12237
|
+
btn.classList.toggle('rangeDepartDate', isDepartWithPreview);
|
|
12238
|
+
}
|
|
12239
|
+
|
|
12240
|
+
/**
|
|
12241
|
+
* Clears all imperative range preview classes from the cell button.
|
|
12242
|
+
* Called when a selection occurs so classMap becomes the sole source of truth.
|
|
12243
|
+
* @returns {void}
|
|
12244
|
+
*/
|
|
12245
|
+
clearRangePreviewClasses() {
|
|
12246
|
+
const btn = this._cachedButton;
|
|
12247
|
+
if (!btn) return;
|
|
12248
|
+
|
|
12249
|
+
btn.classList.remove('inRange', 'lastHoveredDate', 'rangeDepartDate');
|
|
12250
|
+
}
|
|
12251
|
+
|
|
12252
|
+
renderCellButton() {
|
|
12253
|
+
const outOfRange = this.isOutOfRange(this.day, this.min, this.max);
|
|
12254
|
+
const blackout = this.isBlackout();
|
|
12255
|
+
|
|
12256
|
+
// Static and selection-driven classes only. Hover-driven classes
|
|
12257
|
+
// (inRange, lastHoveredDate, rangeDepartDate during preview) are
|
|
12258
|
+
// managed imperatively via updateRangePreviewClasses() to avoid
|
|
12259
|
+
// O(N) Lit re-renders on every focus/hover event.
|
|
12260
|
+
const isFirstDay = this.day?.title === 1;
|
|
12261
|
+
const isLastDay = this.day?.date && (() => {
|
|
12262
|
+
const dt = new Date(this.day.date * 1000);
|
|
12263
|
+
return dt.getDate() === new Date(dt.getFullYear(), dt.getMonth() + 1, 0).getDate();
|
|
12264
|
+
})();
|
|
12265
|
+
|
|
11916
12266
|
const buttonClasses = {
|
|
11917
12267
|
'day': true,
|
|
11918
|
-
'body-
|
|
11919
|
-
'currentDate': this.
|
|
12268
|
+
'body-default': true,
|
|
12269
|
+
'currentDate': this.isCurrentDate,
|
|
11920
12270
|
'selected': this.selected,
|
|
11921
|
-
'inRange': this.
|
|
11922
|
-
'
|
|
11923
|
-
|
|
11924
|
-
'rangeDepartDate': this.isDepartDate(this.day, this.dateFrom) &&
|
|
11925
|
-
'rangeReturnDate': this.isReturnDate(this.day, this.dateFrom, this.dateTo),
|
|
12271
|
+
'inRange': this.datepicker?.hasAttribute('range') && this.dateTo && this.isInRange(this.day, this.dateFrom, this.dateTo),
|
|
12272
|
+
'disabled': outOfRange,
|
|
12273
|
+
blackout,
|
|
12274
|
+
'rangeDepartDate': this.datepicker?.hasAttribute('range') && this.isDepartDate(this.day, this.dateFrom) && this.dateTo,
|
|
12275
|
+
'rangeReturnDate': this.datepicker?.hasAttribute('range') && this.isReturnDate(this.day, this.dateFrom, this.dateTo),
|
|
11926
12276
|
'reference': this.isReferenceDate(this.dateStr),
|
|
11927
|
-
'sameDateTrip': this.dateFrom === this.dateTo
|
|
12277
|
+
'sameDateTrip': this.datepicker?.hasAttribute('range') && this.dateFrom === this.dateTo,
|
|
12278
|
+
'firstDayOfMonth': isFirstDay,
|
|
12279
|
+
'lastDayOfMonth': isLastDay,
|
|
11928
12280
|
};
|
|
11929
12281
|
|
|
11930
|
-
let _a, _b;
|
|
11931
12282
|
return html$1`
|
|
11932
|
-
|
|
11933
|
-
|
|
11934
|
-
|
|
11935
|
-
|
|
11936
|
-
|
|
11937
|
-
|
|
11938
|
-
|
|
11939
|
-
|
|
11940
|
-
|
|
11941
|
-
|
|
11942
|
-
|
|
11943
|
-
<div class="
|
|
11944
|
-
|
|
11945
|
-
<
|
|
11946
|
-
<slot name="date_${this.dateStr}"></slot>
|
|
11947
|
-
</div>
|
|
12283
|
+
<button
|
|
12284
|
+
slot="trigger"
|
|
12285
|
+
id="${this.getCellId()}"
|
|
12286
|
+
@click="${outOfRange ? undefined : this.handleTap}"
|
|
12287
|
+
@mouseover="${outOfRange ? undefined : this.handleHover}"
|
|
12288
|
+
@focus="${outOfRange ? undefined : this.handleFocus}"
|
|
12289
|
+
class="${classMap(buttonClasses)}"
|
|
12290
|
+
?disabled="${outOfRange}"
|
|
12291
|
+
aria-hidden="${outOfRange ? 'true' : nothing}"
|
|
12292
|
+
tabindex="-1">
|
|
12293
|
+
<div class="buttonWrapper" aria-hidden="true">
|
|
12294
|
+
<div class="currentDayMarker">${this.day?.title || nothing}</div>
|
|
12295
|
+
<div class="dateSlot body-2xs" part="dateSlot" aria-hidden="true" ?hidden="${!this.renderForDateSlot}">
|
|
12296
|
+
<slot name="date_${this.dateStr}"></slot>
|
|
11948
12297
|
</div>
|
|
11949
|
-
</
|
|
11950
|
-
|
|
12298
|
+
</div>
|
|
12299
|
+
</button>
|
|
12300
|
+
`;
|
|
12301
|
+
}
|
|
12302
|
+
|
|
12303
|
+
render() {
|
|
12304
|
+
const { hasPopoverContent } = this;
|
|
12305
|
+
|
|
12306
|
+
if (hasPopoverContent) {
|
|
12307
|
+
return html$1`
|
|
12308
|
+
<${this.popoverTag}>
|
|
12309
|
+
<span aria-hidden="true"><slot name="popover_${this.dateStr}"></slot></span>
|
|
12310
|
+
${this.renderCellButton()}
|
|
12311
|
+
</${this.popoverTag}>
|
|
12312
|
+
`;
|
|
12313
|
+
}
|
|
12314
|
+
|
|
12315
|
+
return html$1`
|
|
12316
|
+
${this.renderCellButton()}
|
|
11951
12317
|
`;
|
|
11952
12318
|
}
|
|
11953
12319
|
}
|
|
@@ -11960,7 +12326,7 @@ if (!customElements.get('auro-formkit-calendar-cell')) {
|
|
|
11960
12326
|
|
|
11961
12327
|
// See https://git.io/JJ6SJ for "How to document your components using JSDoc"
|
|
11962
12328
|
|
|
11963
|
-
/* eslint-disable no-magic-numbers
|
|
12329
|
+
/* eslint-disable no-magic-numbers */
|
|
11964
12330
|
|
|
11965
12331
|
|
|
11966
12332
|
const getMonthNamesFromLocale = (locale) => {
|
|
@@ -11977,11 +12343,12 @@ const getMonthNamesFromLocale = (locale) => {
|
|
|
11977
12343
|
* Uses UTC dates to avoid DST-related day drift across timezones.
|
|
11978
12344
|
* @private
|
|
11979
12345
|
* @param {String} locale - The BCP 47 language tag for localization (e.g. "en-US").
|
|
11980
|
-
* @
|
|
12346
|
+
* @param {String} weekday - The format of the weekday name ('narrow', 'short', 'long').
|
|
12347
|
+
* @returns {Array} An array of seven localized weekday names, starting from Sunday.
|
|
11981
12348
|
*/
|
|
11982
|
-
const getWeekdayNames = (locale) => {
|
|
12349
|
+
const getWeekdayNames = (locale, weekday) => {
|
|
11983
12350
|
const fmt = new Intl.DateTimeFormat(locale, {
|
|
11984
|
-
weekday
|
|
12351
|
+
weekday,
|
|
11985
12352
|
timeZone: 'UTC'
|
|
11986
12353
|
});
|
|
11987
12354
|
// Jan 5 2025 is a known Sunday; use Date.UTC to avoid DST-related day drift
|
|
@@ -12016,7 +12383,7 @@ class AuroCalendarMonth extends RangeDatepickerCalendar {
|
|
|
12016
12383
|
|
|
12017
12384
|
/**
|
|
12018
12385
|
* BCP 47 locale tag (such as `en-US`) for calendar localization.
|
|
12019
|
-
*
|
|
12386
|
+
* As wc-range-datepicker expects a `locale` prop, we use `localeCode` to avoid conflicts.
|
|
12020
12387
|
*/
|
|
12021
12388
|
localeCode: {
|
|
12022
12389
|
type: String
|
|
@@ -12070,8 +12437,19 @@ class AuroCalendarMonth extends RangeDatepickerCalendar {
|
|
|
12070
12437
|
return this._cachedMonthNames[month - 1] || '';
|
|
12071
12438
|
}
|
|
12072
12439
|
|
|
12440
|
+
/**
|
|
12441
|
+
* Returns the unique heading ID for this month, used by aria-labelledby.
|
|
12442
|
+
* @private
|
|
12443
|
+
* @returns {String} The heading ID.
|
|
12444
|
+
*/
|
|
12445
|
+
getHeadingId() {
|
|
12446
|
+
return `month-heading-${this.month}-${this.year}`;
|
|
12447
|
+
}
|
|
12448
|
+
|
|
12449
|
+
|
|
12073
12450
|
/**
|
|
12074
12451
|
* Determines the current month name based on locale.
|
|
12452
|
+
* Also builds parallel arrays of full day names for abbr attributes.
|
|
12075
12453
|
* This is a rewrite of the function used in the class RangeDatepickerCalendar and should not be removed from here.
|
|
12076
12454
|
* @private
|
|
12077
12455
|
* @param {Object} changedProperties - The properties that have changed since the last update.
|
|
@@ -12085,8 +12463,67 @@ class AuroCalendarMonth extends RangeDatepickerCalendar {
|
|
|
12085
12463
|
}
|
|
12086
12464
|
|
|
12087
12465
|
localeChanged() {
|
|
12088
|
-
|
|
12089
|
-
this.
|
|
12466
|
+
this.dayNamesOfTheWeek = getWeekdayNames(this.localeCode, 'narrow');
|
|
12467
|
+
this.dayFullNames = getWeekdayNames(this.localeCode, 'long');
|
|
12468
|
+
}
|
|
12469
|
+
|
|
12470
|
+
/**
|
|
12471
|
+
* Renders a day-of-week header with abbr attribute for the full day name.
|
|
12472
|
+
* @private
|
|
12473
|
+
* @param {String} dayOfWeek - The short day name.
|
|
12474
|
+
* @param {Number} index - The index in the dayNamesOfTheWeek array.
|
|
12475
|
+
* @returns {Object} The header HTML.
|
|
12476
|
+
*/
|
|
12477
|
+
renderDayOfWeek(dayOfWeek, index) {
|
|
12478
|
+
const fullName = this.dayFullNames ? this.dayFullNames[index] : dayOfWeek;
|
|
12479
|
+
return html`<div class="th body-default" aria-label="${fullName}" role="columnheader">${dayOfWeek}</div>`;
|
|
12480
|
+
}
|
|
12481
|
+
|
|
12482
|
+
/**
|
|
12483
|
+
* Returns all focusable cell elements (enabled + blackout, not out-of-range) in this month.
|
|
12484
|
+
* @returns {Array} Array of auro-formkit-calendar-cell elements.
|
|
12485
|
+
*/
|
|
12486
|
+
getFocusableCells() {
|
|
12487
|
+
const cells = Array.from(this.shadowRoot.querySelectorAll('auro-formkit-calendar-cell'));
|
|
12488
|
+
return cells.filter((cell) => {
|
|
12489
|
+
if (!cell.day) {
|
|
12490
|
+
return false;
|
|
12491
|
+
}
|
|
12492
|
+
return !cell.isOutOfRange(cell.day, cell.min, cell.max);
|
|
12493
|
+
});
|
|
12494
|
+
}
|
|
12495
|
+
|
|
12496
|
+
/**
|
|
12497
|
+
* Overrides the base class handler to prevent setting `this.hoveredDate`
|
|
12498
|
+
* as a reactive property. Instead, just dispatches the event upward so
|
|
12499
|
+
* the calendar can handle range preview imperatively.
|
|
12500
|
+
* @private
|
|
12501
|
+
* @param {CustomEvent} event - The date-is-hovered event from a cell.
|
|
12502
|
+
* @returns {void}
|
|
12503
|
+
*/
|
|
12504
|
+
handleDateHovered(event) {
|
|
12505
|
+
this.dispatchEvent(new CustomEvent('hovered-date-changed', {
|
|
12506
|
+
detail: { value: event.detail.date },
|
|
12507
|
+
}));
|
|
12508
|
+
}
|
|
12509
|
+
|
|
12510
|
+
/**
|
|
12511
|
+
* Dispatches a bubbling event when the mouse leaves the date grid body
|
|
12512
|
+
* so the parent calendar can clear the range hover preview.
|
|
12513
|
+
* @private
|
|
12514
|
+
* @returns {void}
|
|
12515
|
+
*/
|
|
12516
|
+
handleTbodyMouseLeave() {
|
|
12517
|
+
this.dispatchEvent(new CustomEvent('calendar-month-mouseleave', {
|
|
12518
|
+
bubbles: true,
|
|
12519
|
+
composed: true,
|
|
12520
|
+
}));
|
|
12521
|
+
}
|
|
12522
|
+
|
|
12523
|
+
renderWeek(week) {
|
|
12524
|
+
return html`
|
|
12525
|
+
<div class="tr" role="row">${week.map((day) => this.renderDay(day))}</div>
|
|
12526
|
+
`;
|
|
12090
12527
|
}
|
|
12091
12528
|
|
|
12092
12529
|
renderDay(day) {
|
|
@@ -12099,7 +12536,6 @@ class AuroCalendarMonth extends RangeDatepickerCalendar {
|
|
|
12099
12536
|
.min="${this.min}"
|
|
12100
12537
|
.max="${this.max}"
|
|
12101
12538
|
.month="${this.month}"
|
|
12102
|
-
.hoveredDate="${this.hoveredDate}"
|
|
12103
12539
|
.dateTo="${this.dateTo}"
|
|
12104
12540
|
.dateFrom="${this.dateFrom}"
|
|
12105
12541
|
.locale="${this.localeCode}"
|
|
@@ -12110,7 +12546,7 @@ class AuroCalendarMonth extends RangeDatepickerCalendar {
|
|
|
12110
12546
|
>
|
|
12111
12547
|
</auro-formkit-calendar-cell>
|
|
12112
12548
|
`
|
|
12113
|
-
:
|
|
12549
|
+
: html`<div aria-hidden="true" inert></div>`}
|
|
12114
12550
|
</div>
|
|
12115
12551
|
`;
|
|
12116
12552
|
}
|
|
@@ -12124,7 +12560,7 @@ class AuroCalendarMonth extends RangeDatepickerCalendar {
|
|
|
12124
12560
|
<div>
|
|
12125
12561
|
<div class="header">
|
|
12126
12562
|
${this.renderPrevButton()}
|
|
12127
|
-
<div class="headerTitle heading-xs">
|
|
12563
|
+
<div class="headerTitle heading-xs" id="${this.getHeadingId()}">
|
|
12128
12564
|
${this.monthFirst ? html`
|
|
12129
12565
|
<div>${this.computeCurrentMonthName(this.month)}</div>
|
|
12130
12566
|
<div>${this.renderYear()}</div>
|
|
@@ -12135,14 +12571,13 @@ class AuroCalendarMonth extends RangeDatepickerCalendar {
|
|
|
12135
12571
|
</div>
|
|
12136
12572
|
${this.renderNextButton()}
|
|
12137
12573
|
</div>
|
|
12138
|
-
|
|
12139
|
-
<div class="table">
|
|
12574
|
+
<div class="table" role="grid">
|
|
12140
12575
|
<div class="thead">
|
|
12141
12576
|
<div class="tr">
|
|
12142
|
-
${(_a = this.dayNamesOfTheWeek) === null || _a === void 0 ? void 0 : _a.map(dayNameOfWeek => this.renderDayOfWeek(dayNameOfWeek))}
|
|
12577
|
+
${(_a = this.dayNamesOfTheWeek) === null || _a === void 0 ? void 0 : _a.map((dayNameOfWeek, index) => this.renderDayOfWeek(dayNameOfWeek, index))}
|
|
12143
12578
|
</div>
|
|
12144
12579
|
</div>
|
|
12145
|
-
<div class="tbody">
|
|
12580
|
+
<div class="tbody" role="rowgroup" @mouseleave="${this.handleTbodyMouseLeave}">
|
|
12146
12581
|
${(_b = this.daysOfMonth) === null || _b === void 0 ? void 0 : _b.map(week => this.renderWeek(week))}
|
|
12147
12582
|
</div>
|
|
12148
12583
|
</div>
|
|
@@ -12840,6 +13275,14 @@ class AuroBibtemplate extends LitElement {
|
|
|
12840
13275
|
large: {
|
|
12841
13276
|
type: Boolean,
|
|
12842
13277
|
reflect: true
|
|
13278
|
+
},
|
|
13279
|
+
|
|
13280
|
+
/**
|
|
13281
|
+
* If declared, the footer slot will be rendered even when not in fullscreen mode.
|
|
13282
|
+
*/
|
|
13283
|
+
showFooter: {
|
|
13284
|
+
type: Boolean,
|
|
13285
|
+
reflect: true
|
|
12843
13286
|
}
|
|
12844
13287
|
};
|
|
12845
13288
|
}
|
|
@@ -12942,7 +13385,7 @@ class AuroBibtemplate extends LitElement {
|
|
|
12942
13385
|
<slot></slot>
|
|
12943
13386
|
</div>
|
|
12944
13387
|
|
|
12945
|
-
${this.isFullscreen ? html$1`
|
|
13388
|
+
${this.isFullscreen || this.showFooter ? html$1`
|
|
12946
13389
|
<div id="footerContainer">
|
|
12947
13390
|
<slot name="footer"></slot>
|
|
12948
13391
|
</div>` : null}
|
|
@@ -12951,7 +13394,7 @@ class AuroBibtemplate extends LitElement {
|
|
|
12951
13394
|
}
|
|
12952
13395
|
}
|
|
12953
13396
|
|
|
12954
|
-
var formkitVersion$2 = '
|
|
13397
|
+
var formkitVersion$2 = '202606081904';
|
|
12955
13398
|
|
|
12956
13399
|
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}
|
|
12957
13400
|
`,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}}
|
|
@@ -13012,7 +13455,7 @@ let l$1 = class l{generateElementName(t,e){let o=t;return o+="-",o+=e.replace(/[
|
|
|
13012
13455
|
|
|
13013
13456
|
var buttonVersion$1 = '12.3.2';
|
|
13014
13457
|
|
|
13015
|
-
/* eslint-disable no-magic-numbers, no-undef-init, max-lines, lit/binding-positions, lit/no-invalid-html */
|
|
13458
|
+
/* eslint-disable no-magic-numbers, complexity, line-comment-position, no-undef-init, max-lines, line-comment-position, no-underscore-dangle, lit/binding-positions, lit/no-invalid-html, no-inline-comments */
|
|
13016
13459
|
|
|
13017
13460
|
|
|
13018
13461
|
// See https://git.io/JJ6SJ for "How to document your components using JSDoc"
|
|
@@ -13049,6 +13492,20 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
13049
13492
|
this.largeFullscreenHeadline = false;
|
|
13050
13493
|
this.isFullscreen = false;
|
|
13051
13494
|
|
|
13495
|
+
/**
|
|
13496
|
+
* The date of the currently active cell (Unix timestamp).
|
|
13497
|
+
* Only one cell across the entire calendar has tabindex="0" at a time.
|
|
13498
|
+
* @private
|
|
13499
|
+
*/
|
|
13500
|
+
this.activeCellDate = null;
|
|
13501
|
+
|
|
13502
|
+
/**
|
|
13503
|
+
* Whether the #calendarGrid wrapper currently has focus.
|
|
13504
|
+
* Used to determine whether the visualFocus ring should be shown.
|
|
13505
|
+
* @private
|
|
13506
|
+
*/
|
|
13507
|
+
this._gridHasFocus = false;
|
|
13508
|
+
|
|
13052
13509
|
/**
|
|
13053
13510
|
* @private
|
|
13054
13511
|
*/
|
|
@@ -13059,6 +13516,12 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
13059
13516
|
*/
|
|
13060
13517
|
this.calendarRangeMonths = null;
|
|
13061
13518
|
|
|
13519
|
+
/**
|
|
13520
|
+
* Legacy array of disabled-date timestamps.
|
|
13521
|
+
* @private
|
|
13522
|
+
*/
|
|
13523
|
+
this.disabledDays = [];
|
|
13524
|
+
|
|
13062
13525
|
/**
|
|
13063
13526
|
* @private
|
|
13064
13527
|
*/
|
|
@@ -13082,6 +13545,12 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
13082
13545
|
this.buttonTag = versioning.generateTag('auro-formkit-datepicker-button', buttonVersion$1, T$1);
|
|
13083
13546
|
|
|
13084
13547
|
this.dropdown = undefined;
|
|
13548
|
+
|
|
13549
|
+
/**
|
|
13550
|
+
* Unique instance ID for the live region element.
|
|
13551
|
+
* @private
|
|
13552
|
+
*/
|
|
13553
|
+
this._calendarInstanceId = Date.now().toString(36);
|
|
13085
13554
|
}
|
|
13086
13555
|
|
|
13087
13556
|
static get styles() {
|
|
@@ -13245,19 +13714,79 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
13245
13714
|
/**
|
|
13246
13715
|
* Updates the month and year when the user navigates to the previous calendar month.
|
|
13247
13716
|
* @private
|
|
13717
|
+
* @param {Object} [options] - Optional settings.
|
|
13718
|
+
* @param {boolean} [options.skipActiveUpdate=false] - When true, skip the active cell
|
|
13719
|
+
* recomputation. Used by arrow key handlers that manage the active cell themselves.
|
|
13248
13720
|
* @returns {void}
|
|
13249
13721
|
*/
|
|
13250
|
-
handlePrevMonth() {
|
|
13722
|
+
handlePrevMonth(options) {
|
|
13723
|
+
const opts = options instanceof Event ? {} : options || {};
|
|
13724
|
+
this.clearRangePreview({ force: true });
|
|
13251
13725
|
this.utilCal.handleMonthChange(this, 'prev');
|
|
13726
|
+
if (!opts.skipActiveUpdate) {
|
|
13727
|
+
this.updateActiveCellForVisibleMonth();
|
|
13728
|
+
}
|
|
13729
|
+
this.announceMonthChange();
|
|
13252
13730
|
}
|
|
13253
13731
|
|
|
13254
13732
|
/**
|
|
13255
13733
|
* Updates the month and year when the user navigates to the next calendar month.
|
|
13256
13734
|
* @private
|
|
13735
|
+
* @param {Object} [options] - Optional settings.
|
|
13736
|
+
* @param {boolean} [options.skipActiveUpdate=false] - When true, skip the active cell
|
|
13737
|
+
* recomputation. Used by arrow key handlers that manage the active cell themselves.
|
|
13257
13738
|
* @returns {void}
|
|
13258
13739
|
*/
|
|
13259
|
-
handleNextMonth() {
|
|
13740
|
+
handleNextMonth(options) {
|
|
13741
|
+
const opts = options instanceof Event ? {} : options || {};
|
|
13742
|
+
this.clearRangePreview({ force: true });
|
|
13260
13743
|
this.utilCal.handleMonthChange(this, 'next');
|
|
13744
|
+
if (!opts.skipActiveUpdate) {
|
|
13745
|
+
this.updateActiveCellForVisibleMonth();
|
|
13746
|
+
}
|
|
13747
|
+
this.announceMonthChange();
|
|
13748
|
+
}
|
|
13749
|
+
|
|
13750
|
+
/**
|
|
13751
|
+
* Announces the current month and year via the live region after navigation.
|
|
13752
|
+
* @private
|
|
13753
|
+
* @returns {void}
|
|
13754
|
+
*/
|
|
13755
|
+
announceMonthChange() {
|
|
13756
|
+
// Cancel any pending debounced cell announcement so it does not
|
|
13757
|
+
// overwrite this month navigation announcement.
|
|
13758
|
+
if (this._focusAnnounceTimer) {
|
|
13759
|
+
clearTimeout(this._focusAnnounceTimer);
|
|
13760
|
+
this._focusAnnounceTimer = null;
|
|
13761
|
+
}
|
|
13762
|
+
|
|
13763
|
+
const date = this.centralDateObject;
|
|
13764
|
+
const localeCode = this.locale?.code || undefined;
|
|
13765
|
+
const formatter = new Intl.DateTimeFormat(localeCode, { month: 'long',
|
|
13766
|
+
year: 'numeric' });
|
|
13767
|
+
this.announceSelection(formatter.format(date));
|
|
13768
|
+
}
|
|
13769
|
+
|
|
13770
|
+
/**
|
|
13771
|
+
* Updates the active cell after month navigation (prev/next buttons).
|
|
13772
|
+
* Always moves the active cell to the first enabled date in the newly
|
|
13773
|
+
* visible months so that tabbing back to the grid lands on an enabled cell.
|
|
13774
|
+
* @private
|
|
13775
|
+
* @returns {void}
|
|
13776
|
+
*/
|
|
13777
|
+
updateActiveCellForVisibleMonth() {
|
|
13778
|
+
// Use double-rAF to ensure child month/cell components have fully
|
|
13779
|
+
// rendered and cached their button references before we set tabindex.
|
|
13780
|
+
requestAnimationFrame(() => {
|
|
13781
|
+
requestAnimationFrame(() => {
|
|
13782
|
+
const newDate = this.computeActiveDate({ skipDateFrom: true });
|
|
13783
|
+
|
|
13784
|
+
if (newDate !== null && newDate !== undefined) {
|
|
13785
|
+
this.activeCellDate = newDate;
|
|
13786
|
+
this.setActiveCell(this.activeCellDate);
|
|
13787
|
+
}
|
|
13788
|
+
});
|
|
13789
|
+
});
|
|
13261
13790
|
}
|
|
13262
13791
|
|
|
13263
13792
|
/**
|
|
@@ -13365,7 +13894,1007 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
13365
13894
|
this.utilCal.scrollMonthIntoView(this, date, this.format);
|
|
13366
13895
|
}
|
|
13367
13896
|
|
|
13897
|
+
/**
|
|
13898
|
+
* Gets all rendered month components.
|
|
13899
|
+
* @private
|
|
13900
|
+
* @returns {Array} Array of auro-formkit-calendar-month elements.
|
|
13901
|
+
*/
|
|
13902
|
+
getMonthComponents() {
|
|
13903
|
+
return Array.from(this.shadowRoot.querySelectorAll('auro-formkit-calendar-month'));
|
|
13904
|
+
}
|
|
13905
|
+
|
|
13906
|
+
/**
|
|
13907
|
+
* Gets all focusable cells across all rendered months.
|
|
13908
|
+
* @private
|
|
13909
|
+
* @returns {Array} Array of auro-formkit-calendar-cell elements.
|
|
13910
|
+
*/
|
|
13911
|
+
getAllFocusableCells() {
|
|
13912
|
+
const months = this.getMonthComponents();
|
|
13913
|
+
let cells = [];
|
|
13914
|
+
months.forEach((month) => {
|
|
13915
|
+
cells = cells.concat(month.getFocusableCells());
|
|
13916
|
+
});
|
|
13917
|
+
return cells;
|
|
13918
|
+
}
|
|
13919
|
+
|
|
13920
|
+
/**
|
|
13921
|
+
* Sets the active cell across all months. Only one cell has tabindex="0" at a time.
|
|
13922
|
+
* Uses imperative DOM manipulation — no Lit re-render triggered.
|
|
13923
|
+
* Also updates ariaActiveDescendantElement on the grid wrapper so
|
|
13924
|
+
* screen readers announce the active cell without moving DOM focus.
|
|
13925
|
+
* @param {Number} date - Unix timestamp of the cell to activate.
|
|
13926
|
+
* @returns {void}
|
|
13927
|
+
*/
|
|
13928
|
+
setActiveCell(date) {
|
|
13929
|
+
const allCells = this.getAllFocusableCells();
|
|
13930
|
+
|
|
13931
|
+
let newActiveCell = null;
|
|
13932
|
+
allCells.forEach((cell) => {
|
|
13933
|
+
if (cell.day && cell.day.date === date) {
|
|
13934
|
+
cell.setActive();
|
|
13935
|
+
newActiveCell = cell;
|
|
13936
|
+
} else if (cell.active) {
|
|
13937
|
+
cell.clearActive();
|
|
13938
|
+
}
|
|
13939
|
+
});
|
|
13940
|
+
|
|
13941
|
+
this.activeCellDate = date;
|
|
13942
|
+
|
|
13943
|
+
// Apply activeCell ring only when the grid currently has focus.
|
|
13944
|
+
if (newActiveCell && this._gridHasFocus) {
|
|
13945
|
+
const btn = newActiveCell._cachedButton || newActiveCell.shadowRoot.querySelector('button.day');
|
|
13946
|
+
if (btn) {
|
|
13947
|
+
btn.classList.add('activeCell');
|
|
13948
|
+
}
|
|
13949
|
+
}
|
|
13950
|
+
}
|
|
13951
|
+
|
|
13952
|
+
/**
|
|
13953
|
+
* Focuses the calendar grid wrapper and sets the active cell.
|
|
13954
|
+
* DOM focus stays on the grid wrapper; the aria-live region
|
|
13955
|
+
* tells the screen reader which cell is "active".
|
|
13956
|
+
* @returns {void}
|
|
13957
|
+
*/
|
|
13958
|
+
focusActiveCell() {
|
|
13959
|
+
if (this.activeCellDate !== null && this.activeCellDate !== undefined) {
|
|
13960
|
+
this.setActiveCell(this.activeCellDate);
|
|
13961
|
+
}
|
|
13962
|
+
|
|
13963
|
+
const gridWrapper = this.shadowRoot.querySelector('#calendarGrid');
|
|
13964
|
+
if (gridWrapper) {
|
|
13965
|
+
gridWrapper.focus({ preventScroll: true,
|
|
13966
|
+
focusVisible: true });
|
|
13967
|
+
}
|
|
13968
|
+
}
|
|
13969
|
+
|
|
13970
|
+
/**
|
|
13971
|
+
* Shows the activeCell ring when the grid gains focus.
|
|
13972
|
+
* @private
|
|
13973
|
+
* @returns {void}
|
|
13974
|
+
*/
|
|
13975
|
+
handleGridFocusIn() {
|
|
13976
|
+
this._gridHasFocus = true;
|
|
13977
|
+
const activeCell = this.getAllFocusableCells().find((cell) => cell.active);
|
|
13978
|
+
if (activeCell) {
|
|
13979
|
+
const btn = activeCell._cachedButton || activeCell.shadowRoot.querySelector('button.day');
|
|
13980
|
+
if (btn) {
|
|
13981
|
+
btn.classList.add('activeCell');
|
|
13982
|
+
}
|
|
13983
|
+
}
|
|
13984
|
+
}
|
|
13985
|
+
|
|
13986
|
+
/**
|
|
13987
|
+
* Hides the activeCell ring when the grid loses focus.
|
|
13988
|
+
* @private
|
|
13989
|
+
* @returns {void}
|
|
13990
|
+
*/
|
|
13991
|
+
handleGridFocusOut() {
|
|
13992
|
+
this._gridHasFocus = false;
|
|
13993
|
+
// Remove activeCell from ALL cells to prevent stale rings.
|
|
13994
|
+
const allCells = this.getAllFocusableCells();
|
|
13995
|
+
for (const cell of allCells) {
|
|
13996
|
+
const btn = cell._cachedButton || cell.shadowRoot.querySelector('button.day');
|
|
13997
|
+
if (btn) {
|
|
13998
|
+
btn.classList.remove('activeCell');
|
|
13999
|
+
}
|
|
14000
|
+
}
|
|
14001
|
+
// Clear range hover preview so no highlight lingers after focus leaves the grid.
|
|
14002
|
+
this.clearRangePreview();
|
|
14003
|
+
}
|
|
14004
|
+
|
|
14005
|
+
/**
|
|
14006
|
+
* Computes the initial active date from data properties alone — no DOM required.
|
|
14007
|
+
* Priority:
|
|
14008
|
+
* 1. Selected date (dateFrom) if within range
|
|
14009
|
+
* 2. Today's date if not disabled (in-range and not blackout)
|
|
14010
|
+
* 3. First future non-disabled date (scans day-by-day from today up to 1 year)
|
|
14011
|
+
* 4. First previous non-disabled date (scans day-by-day from today up to 1 year)
|
|
14012
|
+
* 5. First enabled date in finite [min, max] range
|
|
14013
|
+
* 5b. First enabled date scanning forward from finite min (unbounded max)
|
|
14014
|
+
* 5c. First enabled date scanning backward from finite max (unbounded min)
|
|
14015
|
+
* 6. First in-range date (even if blackout) so focus can land somewhere
|
|
14016
|
+
* 7. Undefined — no valid target.
|
|
14017
|
+
*
|
|
14018
|
+
* @private
|
|
14019
|
+
* @param {Object} [options] - Optional settings.
|
|
14020
|
+
* @param {boolean} [options.skipDateFrom=false] - When true, skip the selected-date
|
|
14021
|
+
* shortcut (step 1). Used after month navigation so the active cell lands in the
|
|
14022
|
+
* newly visible month instead of jumping back to the selected date's month.
|
|
14023
|
+
* @returns {Number|undefined} Unix timestamp (seconds) of the date to activate, or undefined.
|
|
14024
|
+
*/
|
|
14025
|
+
computeActiveDate(options = {}) {
|
|
14026
|
+
const MAX_SCAN_DAYS = 366; // scan at most ~1 year in each direction
|
|
14027
|
+
|
|
14028
|
+
/**
|
|
14029
|
+
* Adds days to a timestamp using Date arithmetic to handle DST correctly.
|
|
14030
|
+
* Returns a local-midnight-aligned timestamp in seconds.
|
|
14031
|
+
* @param {Number} ts - Unix timestamp in seconds.
|
|
14032
|
+
* @param {Number} days - Number of days to add.
|
|
14033
|
+
* @returns {Number} The adjusted timestamp in seconds.
|
|
14034
|
+
*/
|
|
14035
|
+
const addDays = (ts, days) => {
|
|
14036
|
+
const date = new Date(ts * 1000);
|
|
14037
|
+
date.setDate(date.getDate() + days);
|
|
14038
|
+
date.setHours(0, 0, 0, 0);
|
|
14039
|
+
return Math.floor(date.getTime() / 1000);
|
|
14040
|
+
};
|
|
14041
|
+
|
|
14042
|
+
const rawMin = this.minDateObject?.getTime() / 1000;
|
|
14043
|
+
const rawMax = this.maxDateObject?.getTime() / 1000;
|
|
14044
|
+
|
|
14045
|
+
// When min/max are NaN (no minDate/maxDate configured), treat as unbounded.
|
|
14046
|
+
const minTs = Number.isFinite(rawMin) ? rawMin : -Infinity;
|
|
14047
|
+
const maxTs = Number.isFinite(rawMax) ? rawMax : Infinity;
|
|
14048
|
+
|
|
14049
|
+
// Build a Set of blackout timestamps for O(1) lookup.
|
|
14050
|
+
const blackoutSet = new Set(this.disabledDays.map((day) => parseInt(day, 10)));
|
|
14051
|
+
|
|
14052
|
+
// Also include ISO-format blackoutDates from the datepicker if available.
|
|
14053
|
+
// Parse YYYY-MM-DD as local date to avoid UTC shift issues.
|
|
14054
|
+
const isoBlackouts = this.datepicker?.blackoutDates;
|
|
14055
|
+
if (Array.isArray(isoBlackouts)) {
|
|
14056
|
+
for (const isoStr of isoBlackouts) {
|
|
14057
|
+
const parts = isoStr.split('-');
|
|
14058
|
+
const ts = Math.floor(new Date(parseInt(parts[0], 10), parseInt(parts[1], 10) - 1, parseInt(parts[2], 10)).getTime() / 1000);
|
|
14059
|
+
if (Number.isFinite(ts)) {
|
|
14060
|
+
blackoutSet.add(ts);
|
|
14061
|
+
}
|
|
14062
|
+
}
|
|
14063
|
+
}
|
|
14064
|
+
|
|
14065
|
+
/**
|
|
14066
|
+
* A date (unix timestamp in seconds, midnight-aligned) is "enabled" when
|
|
14067
|
+
* it is within [min, max] AND not a blackout day.
|
|
14068
|
+
* @param {Number} ts - Unix timestamp in seconds.
|
|
14069
|
+
* @returns {boolean} True if the date is enabled.
|
|
14070
|
+
*/
|
|
14071
|
+
const isEnabled = (ts) => ts >= minTs && ts <= maxTs && !blackoutSet.has(ts);
|
|
14072
|
+
|
|
14073
|
+
/**
|
|
14074
|
+
* A date is "in range" (focusable in the grid) when it is within [min, max].
|
|
14075
|
+
* Blackout dates are focusable but not selectable.
|
|
14076
|
+
* @param {Number} ts - Unix timestamp in seconds.
|
|
14077
|
+
* @returns {boolean} True if the date is in range.
|
|
14078
|
+
*/
|
|
14079
|
+
const isInRange = (ts) => ts >= minTs && ts <= maxTs;
|
|
14080
|
+
|
|
14081
|
+
// 1. Selected date — always valid target if within range (user chose it).
|
|
14082
|
+
// Skipped when called from month navigation so the active cell lands in
|
|
14083
|
+
// the newly visible month rather than the (possibly off-screen) selection.
|
|
14084
|
+
if (!options.skipDateFrom && this.dateFrom) {
|
|
14085
|
+
const parsedFrom = parseInt(this.dateFrom, 10);
|
|
14086
|
+
if (Number.isFinite(parsedFrom) && isInRange(parsedFrom)) {
|
|
14087
|
+
return parsedFrom;
|
|
14088
|
+
}
|
|
14089
|
+
}
|
|
14090
|
+
|
|
14091
|
+
// 2. Today's date (midnight-aligned) if enabled.
|
|
14092
|
+
const now = Math.floor(new Date().setHours(0, 0, 0, 0) / 1000);
|
|
14093
|
+
|
|
14094
|
+
// When centralDate is configured, prefer a date within the month(s) that
|
|
14095
|
+
// will actually be rendered. If today falls outside the visible range, an
|
|
14096
|
+
// active cell set to today would have no matching DOM element and keyboard
|
|
14097
|
+
// focus could not enter the calendar.
|
|
14098
|
+
|
|
14099
|
+
if (this.centralDateObject) {
|
|
14100
|
+
const centralMonth = this.centralDateObject.getMonth();
|
|
14101
|
+
const centralYear = this.centralDateObject.getFullYear();
|
|
14102
|
+
const todayDate = new Date(now * 1000);
|
|
14103
|
+
const todayMonth = todayDate.getMonth();
|
|
14104
|
+
const todayYear = todayDate.getFullYear();
|
|
14105
|
+
|
|
14106
|
+
// Today is outside the centralDate's month — scan for an enabled date
|
|
14107
|
+
// within the visible month instead.
|
|
14108
|
+
if (todayMonth !== centralMonth || todayYear !== centralYear) {
|
|
14109
|
+
const visibleStart = new Date(centralYear, centralMonth, 1);
|
|
14110
|
+
visibleStart.setHours(0, 0, 0, 0);
|
|
14111
|
+
const visibleEnd = new Date(centralYear, centralMonth + 1, 0); // last day of month
|
|
14112
|
+
visibleEnd.setHours(0, 0, 0, 0);
|
|
14113
|
+
const startTs = Math.floor(visibleStart.getTime() / 1000);
|
|
14114
|
+
const daysInMonth = visibleEnd.getDate();
|
|
14115
|
+
|
|
14116
|
+
for (let idx = 0; idx < daysInMonth; idx += 1) {
|
|
14117
|
+
const ts = addDays(startTs, idx);
|
|
14118
|
+
if (isEnabled(ts)) {
|
|
14119
|
+
return ts;
|
|
14120
|
+
}
|
|
14121
|
+
}
|
|
14122
|
+
|
|
14123
|
+
// No enabled date in the visible month — fall back to first in-range
|
|
14124
|
+
// date in the month so focus still lands on a focusable cell.
|
|
14125
|
+
for (let idx = 0; idx < daysInMonth; idx += 1) {
|
|
14126
|
+
const ts = addDays(startTs, idx);
|
|
14127
|
+
if (isInRange(ts)) {
|
|
14128
|
+
return ts;
|
|
14129
|
+
}
|
|
14130
|
+
}
|
|
14131
|
+
}
|
|
14132
|
+
}
|
|
14133
|
+
|
|
14134
|
+
if (isEnabled(now)) {
|
|
14135
|
+
return now;
|
|
14136
|
+
}
|
|
14137
|
+
|
|
14138
|
+
// When a centralDate is configured (or inferred), constrain the scan to the
|
|
14139
|
+
// rendered month(s) first so a single-month calendar does not pick a date
|
|
14140
|
+
// that has no DOM cell. Determine the visible range based on centralDate and
|
|
14141
|
+
// the number of rendered months.
|
|
14142
|
+
const renderedMonths = Math.max(this.numCalendars, 1);
|
|
14143
|
+
const visibleAnchor = this.centralDateObject ?? new Date(now * 1000);
|
|
14144
|
+
const visMonthStart = new Date(visibleAnchor.getFullYear(), visibleAnchor.getMonth(), 1);
|
|
14145
|
+
visMonthStart.setHours(0, 0, 0, 0);
|
|
14146
|
+
const visMonthEnd = new Date(visibleAnchor.getFullYear(), visibleAnchor.getMonth() + renderedMonths, 0);
|
|
14147
|
+
visMonthEnd.setHours(0, 0, 0, 0);
|
|
14148
|
+
const visStartTs = Math.floor(visMonthStart.getTime() / 1000);
|
|
14149
|
+
const visEndTs = Math.floor(visMonthEnd.getTime() / 1000);
|
|
14150
|
+
const visDays = Math.round((visEndTs - visStartTs) / 86400) + 1;
|
|
14151
|
+
|
|
14152
|
+
// Scan visible months for an enabled date.
|
|
14153
|
+
for (let idx = 0; idx < visDays; idx += 1) {
|
|
14154
|
+
const ts = addDays(visStartTs, idx);
|
|
14155
|
+
if (isEnabled(ts)) {
|
|
14156
|
+
return ts;
|
|
14157
|
+
}
|
|
14158
|
+
}
|
|
14159
|
+
|
|
14160
|
+
// No enabled date in visible months — try an in-range (focusable) date so
|
|
14161
|
+
// keyboard focus still has a tabindex="0" target.
|
|
14162
|
+
for (let idx = 0; idx < visDays; idx += 1) {
|
|
14163
|
+
const ts = addDays(visStartTs, idx);
|
|
14164
|
+
if (isInRange(ts)) {
|
|
14165
|
+
return ts;
|
|
14166
|
+
}
|
|
14167
|
+
}
|
|
14168
|
+
|
|
14169
|
+
// 3. First future enabled date (scan forward from tomorrow, capped by max and MAX_SCAN_DAYS).
|
|
14170
|
+
for (let idx = 1; idx <= MAX_SCAN_DAYS; idx += 1) {
|
|
14171
|
+
const ts = addDays(now, idx);
|
|
14172
|
+
if (Number.isFinite(maxTs) && ts > maxTs) {
|
|
14173
|
+
break;
|
|
14174
|
+
}
|
|
14175
|
+
if (isEnabled(ts)) {
|
|
14176
|
+
return ts;
|
|
14177
|
+
}
|
|
14178
|
+
}
|
|
14179
|
+
|
|
14180
|
+
// 4. First previous enabled date (scan backward from yesterday, capped by min and MAX_SCAN_DAYS).
|
|
14181
|
+
for (let idx = 1; idx <= MAX_SCAN_DAYS; idx += 1) {
|
|
14182
|
+
const ts = addDays(now, -idx);
|
|
14183
|
+
if (Number.isFinite(minTs) && ts < minTs) {
|
|
14184
|
+
break;
|
|
14185
|
+
}
|
|
14186
|
+
if (isEnabled(ts)) {
|
|
14187
|
+
return ts;
|
|
14188
|
+
}
|
|
14189
|
+
}
|
|
14190
|
+
|
|
14191
|
+
// 5. If scans missed (e.g. min/max range is far from today), fall back to
|
|
14192
|
+
// the first enabled date in the [min, max] range.
|
|
14193
|
+
if (Number.isFinite(minTs) && Number.isFinite(maxTs)) {
|
|
14194
|
+
let ts = minTs;
|
|
14195
|
+
for (let idx = 0; ts <= maxTs; idx += 1) {
|
|
14196
|
+
if (isEnabled(ts)) {
|
|
14197
|
+
return ts;
|
|
14198
|
+
}
|
|
14199
|
+
ts = addDays(minTs, idx + 1);
|
|
14200
|
+
}
|
|
14201
|
+
}
|
|
14202
|
+
|
|
14203
|
+
// 5b. Finite min with unbounded max (e.g. minDate far in the future):
|
|
14204
|
+
// scan forward from min for up to MAX_SCAN_DAYS.
|
|
14205
|
+
if (Number.isFinite(minTs) && !Number.isFinite(maxTs)) {
|
|
14206
|
+
for (let idx = 0; idx <= MAX_SCAN_DAYS; idx += 1) {
|
|
14207
|
+
const ts = addDays(minTs, idx);
|
|
14208
|
+
if (isEnabled(ts)) {
|
|
14209
|
+
return ts;
|
|
14210
|
+
}
|
|
14211
|
+
}
|
|
14212
|
+
}
|
|
14213
|
+
|
|
14214
|
+
// 5c. Unbounded min with a finite max far in the past (e.g. birth-date picker):
|
|
14215
|
+
// scan backward from max for up to MAX_SCAN_DAYS.
|
|
14216
|
+
if (!Number.isFinite(minTs) && Number.isFinite(maxTs)) {
|
|
14217
|
+
for (let idx = 0; idx <= MAX_SCAN_DAYS; idx += 1) {
|
|
14218
|
+
const ts = addDays(maxTs, -idx);
|
|
14219
|
+
if (isEnabled(ts)) {
|
|
14220
|
+
return ts;
|
|
14221
|
+
}
|
|
14222
|
+
}
|
|
14223
|
+
}
|
|
14224
|
+
|
|
14225
|
+
// 6. All dates are blackout — fall back to the first in-range date so focus
|
|
14226
|
+
// still lands on a focusable (but not selectable) cell.
|
|
14227
|
+
if (Number.isFinite(minTs) && isInRange(minTs)) {
|
|
14228
|
+
return minTs;
|
|
14229
|
+
}
|
|
14230
|
+
if (isInRange(now)) {
|
|
14231
|
+
return now;
|
|
14232
|
+
}
|
|
14233
|
+
|
|
14234
|
+
return undefined;
|
|
14235
|
+
}
|
|
14236
|
+
|
|
14237
|
+
/**
|
|
14238
|
+
* Checks if a target date (unix seconds) is within the configured [min, max] range.
|
|
14239
|
+
* Returns false if the date falls outside the range, preventing navigation
|
|
14240
|
+
* to months where all dates are disabled.
|
|
14241
|
+
* @private
|
|
14242
|
+
* @param {Number} targetTs - Unix timestamp in seconds.
|
|
14243
|
+
* @returns {Boolean} True if the date is within range.
|
|
14244
|
+
*/
|
|
14245
|
+
isDateInRange(targetTs) {
|
|
14246
|
+
const rawMin = this.minDateObject?.getTime() / 1000;
|
|
14247
|
+
const rawMax = this.maxDateObject?.getTime() / 1000;
|
|
14248
|
+
if (Number.isFinite(rawMin) && targetTs < rawMin) {
|
|
14249
|
+
return false;
|
|
14250
|
+
}
|
|
14251
|
+
if (Number.isFinite(rawMax) && targetTs > rawMax) {
|
|
14252
|
+
return false;
|
|
14253
|
+
}
|
|
14254
|
+
return true;
|
|
14255
|
+
}
|
|
14256
|
+
|
|
14257
|
+
/**
|
|
14258
|
+
* Handles arrow key navigation on the calendar grid wrapper.
|
|
14259
|
+
* Focus stays on the grid wrapper; only ariaActiveDescendantElement
|
|
14260
|
+
* and the visual active-cell indicator change.
|
|
14261
|
+
* @private
|
|
14262
|
+
* @param {KeyboardEvent} event - The keyboard event.
|
|
14263
|
+
* @returns {void}
|
|
14264
|
+
*/
|
|
14265
|
+
handleGridKeyDown(event) {
|
|
14266
|
+
const { key } = event;
|
|
14267
|
+
const actionKeys = [
|
|
14268
|
+
'ArrowRight',
|
|
14269
|
+
'ArrowLeft',
|
|
14270
|
+
'ArrowDown',
|
|
14271
|
+
'ArrowUp',
|
|
14272
|
+
'Enter',
|
|
14273
|
+
' '
|
|
14274
|
+
];
|
|
14275
|
+
|
|
14276
|
+
if (!actionKeys.includes(key)) {
|
|
14277
|
+
return;
|
|
14278
|
+
}
|
|
14279
|
+
|
|
14280
|
+
event.preventDefault();
|
|
14281
|
+
|
|
14282
|
+
const allCells = this.getAllFocusableCells();
|
|
14283
|
+
if (allCells.length === 0) {
|
|
14284
|
+
return;
|
|
14285
|
+
}
|
|
14286
|
+
|
|
14287
|
+
const activeCell = allCells.find((cell) => cell.active);
|
|
14288
|
+
if (!activeCell) {
|
|
14289
|
+
return;
|
|
14290
|
+
}
|
|
14291
|
+
|
|
14292
|
+
// Handle Enter/Space to select the active cell
|
|
14293
|
+
if (key === 'Enter' || key === ' ') {
|
|
14294
|
+
activeCell.handleTap();
|
|
14295
|
+
return;
|
|
14296
|
+
}
|
|
14297
|
+
|
|
14298
|
+
const activeIndex = allCells.indexOf(activeCell);
|
|
14299
|
+
|
|
14300
|
+
if (key === 'ArrowRight' || key === 'ArrowLeft') {
|
|
14301
|
+
const direction = key === 'ArrowRight' ? 1 : -1;
|
|
14302
|
+
const targetIndex = activeIndex + direction;
|
|
14303
|
+
|
|
14304
|
+
if (targetIndex >= 0 && targetIndex < allCells.length) {
|
|
14305
|
+
// Target cell exists in rendered months
|
|
14306
|
+
this.setActiveCell(allCells[targetIndex].day.date);
|
|
14307
|
+
this.scrollToActiveCell();
|
|
14308
|
+
// Dispatch focus event for the cell so live region + range preview update
|
|
14309
|
+
this.handleCellFocused({ detail: { date: allCells[targetIndex].day.date } });
|
|
14310
|
+
} else {
|
|
14311
|
+
// At boundary — need to navigate to next/prev month
|
|
14312
|
+
const navDir = direction === 1 ? 'next' : 'prev';
|
|
14313
|
+
const targetDate = new Date(activeCell.day.date * 1000);
|
|
14314
|
+
targetDate.setDate(targetDate.getDate() + direction);
|
|
14315
|
+
targetDate.setHours(0, 0, 0, 0);
|
|
14316
|
+
const targetTs = Math.floor(targetDate.getTime() / 1000);
|
|
14317
|
+
|
|
14318
|
+
if (this.isDateInRange(targetTs) && ((navDir === 'next' && this.showNextMonthBtn) || (navDir === 'prev' && this.showPrevMonthBtn))) { // eslint-disable-line no-extra-parens
|
|
14319
|
+
|
|
14320
|
+
if (navDir === 'next') {
|
|
14321
|
+
this.handleNextMonth({ skipActiveUpdate: true });
|
|
14322
|
+
} else {
|
|
14323
|
+
this.handlePrevMonth({ skipActiveUpdate: true });
|
|
14324
|
+
}
|
|
14325
|
+
requestAnimationFrame(() => {
|
|
14326
|
+
requestAnimationFrame(() => {
|
|
14327
|
+
const cells = this.getAllFocusableCells();
|
|
14328
|
+
const target = cells.find((cell) => cell.day && cell.day.date === targetTs);
|
|
14329
|
+
if (target) {
|
|
14330
|
+
this.setActiveCell(target.day.date);
|
|
14331
|
+
this.handleCellFocused({ detail: { date: target.day.date } });
|
|
14332
|
+
} else if (cells.length > 0) {
|
|
14333
|
+
const fallback = navDir === 'next' ? cells[cells.length - 1] : cells[0];
|
|
14334
|
+
this.setActiveCell(fallback.day.date);
|
|
14335
|
+
this.handleCellFocused({ detail: { date: fallback.day.date } });
|
|
14336
|
+
}
|
|
14337
|
+
// Re-focus grid wrapper after month change re-render
|
|
14338
|
+
this.focusActiveCell();
|
|
14339
|
+
});
|
|
14340
|
+
});
|
|
14341
|
+
}
|
|
14342
|
+
}
|
|
14343
|
+
} else if (key === 'ArrowDown' || key === 'ArrowUp') {
|
|
14344
|
+
const increment = key === 'ArrowDown' ? 7 : -7;
|
|
14345
|
+
const currentDate = new Date(activeCell.day.date * 1000);
|
|
14346
|
+
currentDate.setDate(currentDate.getDate() + increment);
|
|
14347
|
+
currentDate.setHours(0, 0, 0, 0);
|
|
14348
|
+
const targetDate = Math.floor(currentDate.getTime() / 1000);
|
|
14349
|
+
|
|
14350
|
+
const targetCell = allCells.find((cell) => cell.day && cell.day.date === targetDate);
|
|
14351
|
+
|
|
14352
|
+
if (targetCell) {
|
|
14353
|
+
this.setActiveCell(targetCell.day.date);
|
|
14354
|
+
this.scrollToActiveCell();
|
|
14355
|
+
this.handleCellFocused({ detail: { date: targetCell.day.date } });
|
|
14356
|
+
} else if (this.isDateInRange(targetDate)) {
|
|
14357
|
+
// Target might be in an unrendered month
|
|
14358
|
+
const navDirection = key === 'ArrowDown' ? 'next' : 'prev';
|
|
14359
|
+
if ((navDirection === 'next' && this.showNextMonthBtn) || (navDirection === 'prev' && this.showPrevMonthBtn)) { // eslint-disable-line no-extra-parens
|
|
14360
|
+
if (navDirection === 'next') {
|
|
14361
|
+
this.handleNextMonth({ skipActiveUpdate: true });
|
|
14362
|
+
} else {
|
|
14363
|
+
this.handlePrevMonth({ skipActiveUpdate: true });
|
|
14364
|
+
}
|
|
14365
|
+
requestAnimationFrame(() => {
|
|
14366
|
+
requestAnimationFrame(() => {
|
|
14367
|
+
const cells = this.getAllFocusableCells();
|
|
14368
|
+
const target = cells.find((cell) => cell.day && cell.day.date === targetDate);
|
|
14369
|
+
if (target) {
|
|
14370
|
+
this.setActiveCell(target.day.date);
|
|
14371
|
+
this.handleCellFocused({ detail: { date: target.day.date } });
|
|
14372
|
+
} else if (cells.length > 0) {
|
|
14373
|
+
let nearest = null;
|
|
14374
|
+
|
|
14375
|
+
if (navDirection === 'next') {
|
|
14376
|
+
[nearest] = cells;
|
|
14377
|
+
} else {
|
|
14378
|
+
nearest = cells[cells.length - 1];
|
|
14379
|
+
}
|
|
14380
|
+
this.setActiveCell(nearest.day.date);
|
|
14381
|
+
this.handleCellFocused({ detail: { date: nearest.day.date } });
|
|
14382
|
+
}
|
|
14383
|
+
this.focusActiveCell();
|
|
14384
|
+
});
|
|
14385
|
+
});
|
|
14386
|
+
}
|
|
14387
|
+
}
|
|
14388
|
+
}
|
|
14389
|
+
}
|
|
14390
|
+
|
|
14391
|
+
/**
|
|
14392
|
+
* Handles cross-month boundary navigation events from month components.
|
|
14393
|
+
* @private
|
|
14394
|
+
* @param {CustomEvent} event - The boundary event with direction and source date info.
|
|
14395
|
+
* @returns {void}
|
|
14396
|
+
*/
|
|
14397
|
+
handleMonthBoundary(event) {
|
|
14398
|
+
const { direction, fromDate, key } = event.detail;
|
|
14399
|
+
|
|
14400
|
+
if (key === 'ArrowRight' || key === 'ArrowLeft') {
|
|
14401
|
+
// Linear navigation: find adjacent focusable cell across months
|
|
14402
|
+
const allCells = this.getAllFocusableCells();
|
|
14403
|
+
const currentIndex = allCells.findIndex((cell) => cell.day && cell.day.date === fromDate);
|
|
14404
|
+
|
|
14405
|
+
if (currentIndex === -1) {
|
|
14406
|
+
return;
|
|
14407
|
+
}
|
|
14408
|
+
|
|
14409
|
+
let targetIndex = -1;
|
|
14410
|
+
if (direction === 'next') {
|
|
14411
|
+
targetIndex = currentIndex + 1;
|
|
14412
|
+
}
|
|
14413
|
+
|
|
14414
|
+
if (targetIndex >= 0 && targetIndex < allCells.length) {
|
|
14415
|
+
const targetCell = allCells[targetIndex];
|
|
14416
|
+
this.setActiveCell(targetCell.day.date);
|
|
14417
|
+
this.scrollToActiveCell();
|
|
14418
|
+
this.focusActiveCell();
|
|
14419
|
+
} else if (direction === 'next' && this.showNextMonthBtn) {
|
|
14420
|
+
// Navigate to next month and focus the computed next date.
|
|
14421
|
+
// Using the target date (fromDate + 1 day) instead of cells[0]
|
|
14422
|
+
// avoids jumping backward in range datepickers where cells[0]
|
|
14423
|
+
// belongs to the previous (still-rendered) month.
|
|
14424
|
+
const nextDate = new Date(fromDate * 1000);
|
|
14425
|
+
nextDate.setDate(nextDate.getDate() + 1);
|
|
14426
|
+
nextDate.setHours(0, 0, 0, 0);
|
|
14427
|
+
const nextTs = Math.floor(nextDate.getTime() / 1000);
|
|
14428
|
+
|
|
14429
|
+
if (!this.isDateInRange(nextTs)) {
|
|
14430
|
+
return;
|
|
14431
|
+
}
|
|
14432
|
+
|
|
14433
|
+
this.handleNextMonth({ skipActiveUpdate: true });
|
|
14434
|
+
requestAnimationFrame(() => {
|
|
14435
|
+
requestAnimationFrame(() => {
|
|
14436
|
+
const cells = this.getAllFocusableCells();
|
|
14437
|
+
const target = cells.find((cell) => cell.day && cell.day.date === nextTs);
|
|
14438
|
+
if (target) {
|
|
14439
|
+
this.setActiveCell(target.day.date);
|
|
14440
|
+
this.focusActiveCell();
|
|
14441
|
+
} else if (cells.length > 0) {
|
|
14442
|
+
// Fallback: first cell of the last rendered month
|
|
14443
|
+
this.setActiveCell(cells[cells.length - 1].day.date);
|
|
14444
|
+
this.focusActiveCell();
|
|
14445
|
+
}
|
|
14446
|
+
});
|
|
14447
|
+
});
|
|
14448
|
+
} else if (direction === 'prev' && this.showPrevMonthBtn) {
|
|
14449
|
+
// Navigate to previous month and focus the computed previous date.
|
|
14450
|
+
const prevDate = new Date(fromDate * 1000);
|
|
14451
|
+
prevDate.setDate(prevDate.getDate() - 1);
|
|
14452
|
+
prevDate.setHours(0, 0, 0, 0);
|
|
14453
|
+
const prevTs = Math.floor(prevDate.getTime() / 1000);
|
|
14454
|
+
|
|
14455
|
+
if (!this.isDateInRange(prevTs)) {
|
|
14456
|
+
return;
|
|
14457
|
+
}
|
|
14458
|
+
|
|
14459
|
+
this.handlePrevMonth({ skipActiveUpdate: true });
|
|
14460
|
+
requestAnimationFrame(() => {
|
|
14461
|
+
requestAnimationFrame(() => {
|
|
14462
|
+
const cells = this.getAllFocusableCells();
|
|
14463
|
+
const target = cells.find((cell) => cell.day && cell.day.date === prevTs);
|
|
14464
|
+
if (target) {
|
|
14465
|
+
this.setActiveCell(target.day.date);
|
|
14466
|
+
this.focusActiveCell();
|
|
14467
|
+
} else if (cells.length > 0) {
|
|
14468
|
+
// Fallback: last cell of the first rendered month
|
|
14469
|
+
this.setActiveCell(cells[0].day.date);
|
|
14470
|
+
this.focusActiveCell();
|
|
14471
|
+
}
|
|
14472
|
+
});
|
|
14473
|
+
});
|
|
14474
|
+
}
|
|
14475
|
+
} else if (key === 'ArrowDown' || key === 'ArrowUp') {
|
|
14476
|
+
// Vertical navigation: find same day-of-week +/- 7 days
|
|
14477
|
+
// Use Date arithmetic instead of fixed seconds to handle DST correctly
|
|
14478
|
+
const increment = key === 'ArrowDown' ? 7 : -7;
|
|
14479
|
+
const currentDate = new Date(fromDate * 1000);
|
|
14480
|
+
currentDate.setDate(currentDate.getDate() + increment);
|
|
14481
|
+
currentDate.setHours(0, 0, 0, 0);
|
|
14482
|
+
const targetDate = Math.floor(currentDate.getTime() / 1000);
|
|
14483
|
+
|
|
14484
|
+
const allCells = this.getAllFocusableCells();
|
|
14485
|
+
const targetCell = allCells.find((cell) => cell.day && cell.day.date === targetDate);
|
|
14486
|
+
|
|
14487
|
+
if (targetCell) {
|
|
14488
|
+
this.setActiveCell(targetCell.day.date);
|
|
14489
|
+
this.scrollToActiveCell();
|
|
14490
|
+
this.focusActiveCell();
|
|
14491
|
+
} else if (this.isDateInRange(targetDate)) {
|
|
14492
|
+
// Target might be in an unrendered month, navigate there
|
|
14493
|
+
const navDirection = key === 'ArrowDown' ? 'next' : 'prev';
|
|
14494
|
+
if ((navDirection === 'next' && this.showNextMonthBtn) || (navDirection === 'prev' && this.showPrevMonthBtn)) { // eslint-disable-line no-extra-parens
|
|
14495
|
+
if (navDirection === 'next') {
|
|
14496
|
+
this.handleNextMonth({ skipActiveUpdate: true });
|
|
14497
|
+
} else {
|
|
14498
|
+
this.handlePrevMonth({ skipActiveUpdate: true });
|
|
14499
|
+
}
|
|
14500
|
+
requestAnimationFrame(() => {
|
|
14501
|
+
requestAnimationFrame(() => {
|
|
14502
|
+
const cells = this.getAllFocusableCells();
|
|
14503
|
+
const target = cells.find((cell) => cell.day && cell.day.date === targetDate);
|
|
14504
|
+
if (target) {
|
|
14505
|
+
this.setActiveCell(target.day.date);
|
|
14506
|
+
this.focusActiveCell();
|
|
14507
|
+
} else if (cells.length > 0) {
|
|
14508
|
+
// Clamp to nearest focusable cell
|
|
14509
|
+
const nearest = navDirection === 'next' ? cells[0] : cells[cells.length - 1];
|
|
14510
|
+
this.setActiveCell(nearest.day.date);
|
|
14511
|
+
this.focusActiveCell();
|
|
14512
|
+
}
|
|
14513
|
+
});
|
|
14514
|
+
});
|
|
14515
|
+
}
|
|
14516
|
+
}
|
|
14517
|
+
}
|
|
14518
|
+
}
|
|
14519
|
+
|
|
14520
|
+
/**
|
|
14521
|
+
* Handles cell activation events from month components.
|
|
14522
|
+
* @private
|
|
14523
|
+
* @param {CustomEvent} event - The activation event with target date.
|
|
14524
|
+
* @returns {void}
|
|
14525
|
+
*/
|
|
14526
|
+
handleCellActivate(event) {
|
|
14527
|
+
const { date } = event.detail;
|
|
14528
|
+
this.setActiveCell(date);
|
|
14529
|
+
|
|
14530
|
+
// Don't call focusActiveCell() here. The tap/click already placed
|
|
14531
|
+
// focus on the cell button, and moving it to #calendarGrid would
|
|
14532
|
+
// trigger focusout on the button, closing any open popover on the
|
|
14533
|
+
// cell. Keyboard events are composed and still bubble through
|
|
14534
|
+
// shadow DOM boundaries to the grid's @keydown handler, so
|
|
14535
|
+
// subsequent keyboard navigation continues to work.
|
|
14536
|
+
}
|
|
14537
|
+
|
|
14538
|
+
/**
|
|
14539
|
+
* Handles focus events from calendar cells.
|
|
14540
|
+
* Updates the live region with an SR announcement and triggers
|
|
14541
|
+
* the imperative range preview if applicable.
|
|
14542
|
+
* @private
|
|
14543
|
+
* @param {CustomEvent} event - The calendar-cell-focused event.
|
|
14544
|
+
* @returns {void}
|
|
14545
|
+
*/
|
|
14546
|
+
handleCellFocused(event) {
|
|
14547
|
+
const { date } = event.detail;
|
|
14548
|
+
if (date === null) {
|
|
14549
|
+
return;
|
|
14550
|
+
}
|
|
14551
|
+
|
|
14552
|
+
// With aria-activedescendant, the button no longer receives native focus,
|
|
14553
|
+
// so we use the debounced live region for the full context announcement.
|
|
14554
|
+
const announcement = this.buildFocusAnnouncement(date);
|
|
14555
|
+
this.announceFocusDebounced(announcement);
|
|
14556
|
+
|
|
14557
|
+
// Update the range preview imperatively if in range-preview mode.
|
|
14558
|
+
this.updateRangePreview(date);
|
|
14559
|
+
}
|
|
14560
|
+
|
|
14561
|
+
/**
|
|
14562
|
+
* Builds a full SR announcement string for a focused cell date.
|
|
14563
|
+
* Includes the localized date, range position, popover content,
|
|
14564
|
+
* and blackout status.
|
|
14565
|
+
* @private
|
|
14566
|
+
* @param {Number} date - Unix timestamp (seconds) of the focused cell.
|
|
14567
|
+
* @returns {String} The announcement string.
|
|
14568
|
+
*/
|
|
14569
|
+
buildFocusAnnouncement(date) {
|
|
14570
|
+
let label = this.formatAnnouncementDate(date);
|
|
14571
|
+
|
|
14572
|
+
// Append date slot content (e.g. prices) if present.
|
|
14573
|
+
const dateObj = new Date(date * 1000);
|
|
14574
|
+
const mm = String(dateObj.getMonth() + 1).padStart(2, '0');
|
|
14575
|
+
const dd = String(dateObj.getDate()).padStart(2, '0');
|
|
14576
|
+
const yyyy = dateObj.getFullYear();
|
|
14577
|
+
const dateStr = `${mm}_${dd}_${yyyy}`;
|
|
14578
|
+
const dateSlotEl = this.datepicker?.querySelector(`[slot="date_${dateStr}"]`);
|
|
14579
|
+
if (dateSlotEl) {
|
|
14580
|
+
const text = dateSlotEl.innerText?.trim();
|
|
14581
|
+
if (text) {
|
|
14582
|
+
label += `, ${text}`;
|
|
14583
|
+
}
|
|
14584
|
+
}
|
|
14585
|
+
|
|
14586
|
+
// Append popover content if present.
|
|
14587
|
+
const popoverEl = this.datepicker?.querySelector(`[slot="popover_${dateStr}"]`);
|
|
14588
|
+
if (popoverEl) {
|
|
14589
|
+
const text = popoverEl.innerText?.trim();
|
|
14590
|
+
if (text) {
|
|
14591
|
+
label += `, ${text}`;
|
|
14592
|
+
}
|
|
14593
|
+
}
|
|
14594
|
+
|
|
14595
|
+
// Append range position context.
|
|
14596
|
+
if (this.datepicker?.hasAttribute('range')) {
|
|
14597
|
+
const rangeLabel = this.getRangePositionLabel(date);
|
|
14598
|
+
if (rangeLabel) {
|
|
14599
|
+
label += `, ${rangeLabel}`;
|
|
14600
|
+
}
|
|
14601
|
+
}
|
|
14602
|
+
|
|
14603
|
+
// Append blackout label.
|
|
14604
|
+
if (this.isDateBlackout(date)) {
|
|
14605
|
+
label += `, ${this.datepicker?.blackoutLabel || 'unavailable'}`;
|
|
14606
|
+
}
|
|
14607
|
+
|
|
14608
|
+
return label;
|
|
14609
|
+
}
|
|
14610
|
+
|
|
14611
|
+
/**
|
|
14612
|
+
* Determines the range position label for a given date.
|
|
14613
|
+
* @private
|
|
14614
|
+
* @param {Number} date - Unix timestamp (seconds).
|
|
14615
|
+
* @returns {String|null} The range position label, or null.
|
|
14616
|
+
*/
|
|
14617
|
+
getRangePositionLabel(date) {
|
|
14618
|
+
const parsedFrom = Number.parseInt(this.dateFrom, 10);
|
|
14619
|
+
if (!Number.isFinite(parsedFrom)) {
|
|
14620
|
+
return null;
|
|
14621
|
+
}
|
|
14622
|
+
|
|
14623
|
+
const departTs = startOfDay$2(parsedFrom * 1000) / 1000;
|
|
14624
|
+
const parsedTo = Number.parseInt(this.dateTo, 10);
|
|
14625
|
+
const hasTo = Number.isFinite(parsedTo);
|
|
14626
|
+
const returnTs = hasTo ? startOfDay$2(parsedTo * 1000) / 1000 : null;
|
|
14627
|
+
|
|
14628
|
+
if (date === departTs) {
|
|
14629
|
+
return this.datepicker.rangeLabelStart || 'range start';
|
|
14630
|
+
}
|
|
14631
|
+
if (hasTo && date === returnTs) {
|
|
14632
|
+
return this.datepicker.rangeLabelEnd || 'range end';
|
|
14633
|
+
}
|
|
14634
|
+
if (date < departTs) {
|
|
14635
|
+
return this.datepicker.rangeLabelBeforeRange || 'before range';
|
|
14636
|
+
}
|
|
14637
|
+
if (hasTo && date > departTs && date < returnTs) {
|
|
14638
|
+
return this.datepicker.rangeLabelInRange || 'in range';
|
|
14639
|
+
}
|
|
14640
|
+
return this.datepicker.rangeLabelAfterRange || 'after range';
|
|
14641
|
+
}
|
|
14642
|
+
|
|
14643
|
+
/**
|
|
14644
|
+
* Checks whether a given date is a blackout date.
|
|
14645
|
+
* @private
|
|
14646
|
+
* @param {Number} dateTs - Unix timestamp (seconds).
|
|
14647
|
+
* @returns {Boolean} True if the date is blacked out.
|
|
14648
|
+
*/
|
|
14649
|
+
isDateBlackout(dateTs) {
|
|
14650
|
+
// Check legacy disabledDays.
|
|
14651
|
+
if (Array.isArray(this.disabledDays) && this.disabledDays.length > 0) {
|
|
14652
|
+
if (this.disabledDays.findIndex((day) => parseInt(day, 10) === dateTs) !== -1) {
|
|
14653
|
+
return true;
|
|
14654
|
+
}
|
|
14655
|
+
}
|
|
14656
|
+
|
|
14657
|
+
// Check ISO blackoutDates.
|
|
14658
|
+
const blackoutDates = this.datepicker?.blackoutDates;
|
|
14659
|
+
if (Array.isArray(blackoutDates) && blackoutDates.length > 0) {
|
|
14660
|
+
const date = new Date(dateTs * 1000);
|
|
14661
|
+
const yyyy = date.getFullYear();
|
|
14662
|
+
const mm = String(date.getMonth() + 1).padStart(2, '0');
|
|
14663
|
+
const dd = String(date.getDate()).padStart(2, '0');
|
|
14664
|
+
if (blackoutDates.includes(`${yyyy}-${mm}-${dd}`)) {
|
|
14665
|
+
return true;
|
|
14666
|
+
}
|
|
14667
|
+
}
|
|
14668
|
+
|
|
14669
|
+
return false;
|
|
14670
|
+
}
|
|
14671
|
+
|
|
14672
|
+
/**
|
|
14673
|
+
* Updates the range preview classes imperatively across all cells.
|
|
14674
|
+
* Only active when in range mode with dateFrom set and dateTo not yet set.
|
|
14675
|
+
* @private
|
|
14676
|
+
* @param {Number} hoveredDate - Unix timestamp of the hovered/focused date.
|
|
14677
|
+
* @returns {void}
|
|
14678
|
+
*/
|
|
14679
|
+
updateRangePreview(hoveredDate) {
|
|
14680
|
+
if (this.noRange || !this.dateFrom || this.dateTo) {
|
|
14681
|
+
return;
|
|
14682
|
+
}
|
|
14683
|
+
|
|
14684
|
+
const parsedDateFrom = parseInt(this.dateFrom, 10);
|
|
14685
|
+
const allCells = this.getAllFocusableCells();
|
|
14686
|
+
|
|
14687
|
+
allCells.forEach((cell) => {
|
|
14688
|
+
cell.updateRangePreviewClasses(hoveredDate, parsedDateFrom);
|
|
14689
|
+
});
|
|
14690
|
+
}
|
|
14691
|
+
|
|
14692
|
+
/**
|
|
14693
|
+
* Clears range preview classes from all cells.
|
|
14694
|
+
* @private
|
|
14695
|
+
* @param {Object} [options] - Optional settings.
|
|
14696
|
+
* @param {boolean} [options.force=false] - When true, clears classes even
|
|
14697
|
+
* when both dateFrom and dateTo are set. Used by month nav handlers
|
|
14698
|
+
* since the subsequent re-render re-applies classMap-managed classes,
|
|
14699
|
+
* while `lastHoveredDate` (not in classMap) would otherwise persist.
|
|
14700
|
+
* @returns {void}
|
|
14701
|
+
*/
|
|
14702
|
+
clearRangePreview(options) {
|
|
14703
|
+
const opts = options instanceof Event ? {} : options || {};
|
|
14704
|
+
if (!opts.force && this.dateFrom && this.dateTo) {
|
|
14705
|
+
return;
|
|
14706
|
+
}
|
|
14707
|
+
|
|
14708
|
+
const allCells = this.getAllFocusableCells();
|
|
14709
|
+
allCells.forEach((cell) => {
|
|
14710
|
+
cell.clearRangePreviewClasses();
|
|
14711
|
+
});
|
|
14712
|
+
}
|
|
14713
|
+
|
|
14714
|
+
/**
|
|
14715
|
+
* Overrides the base class handler to prevent setting `this.hoveredDate`
|
|
14716
|
+
* as a reactive property. Instead, handles the range preview imperatively.
|
|
14717
|
+
* @private
|
|
14718
|
+
* @param {CustomEvent} event - The hovered-date-changed event from a month.
|
|
14719
|
+
* @returns {void}
|
|
14720
|
+
*/
|
|
14721
|
+
hoveredDateChanged(event) {
|
|
14722
|
+
const hoveredDate = event.detail.value;
|
|
14723
|
+
this.updateRangePreview(hoveredDate);
|
|
14724
|
+
}
|
|
14725
|
+
|
|
14726
|
+
/**
|
|
14727
|
+
* Scrolls the calendar to ensure the month containing the active cell is visible.
|
|
14728
|
+
* @private
|
|
14729
|
+
* @returns {void}
|
|
14730
|
+
*/
|
|
14731
|
+
scrollToActiveCell() {
|
|
14732
|
+
if (this.activeCellDate === null || this.activeCellDate === undefined) {
|
|
14733
|
+
return;
|
|
14734
|
+
}
|
|
14735
|
+
|
|
14736
|
+
const date = new Date(this.activeCellDate * 1000);
|
|
14737
|
+
const month = date.getMonth() + 1;
|
|
14738
|
+
const year = date.getFullYear();
|
|
14739
|
+
const selector = `#month-${month}-${year}`;
|
|
14740
|
+
const monthElem = this.shadowRoot.querySelector(selector);
|
|
14741
|
+
|
|
14742
|
+
if (monthElem) {
|
|
14743
|
+
const prefersReducedMotion = window.matchMedia('(prefers-reduced-motion: reduce)').matches;
|
|
14744
|
+
monthElem.scrollIntoView({ block: 'nearest',
|
|
14745
|
+
behavior: prefersReducedMotion ? 'instant' : 'smooth' });
|
|
14746
|
+
}
|
|
14747
|
+
}
|
|
14748
|
+
|
|
14749
|
+
/**
|
|
14750
|
+
* Returns (and lazily creates) an aria-live region inside the dropdown's
|
|
14751
|
+
* <dialog> element. This placement is critical for two reasons:
|
|
14752
|
+
*
|
|
14753
|
+
* 1. Inside the dialog's accessible scope — dialog.showModal() makes
|
|
14754
|
+
* everything outside the top-layer dialog inert, and desktop modal
|
|
14755
|
+
* mode uses _setPageInert() on document.body siblings. A live region
|
|
14756
|
+
* on document.body would be invisible to screen readers in both cases.
|
|
14757
|
+
*
|
|
14758
|
+
* 2. Not nested in shadow DOM — Chrome inconsistently observes aria-live
|
|
14759
|
+
* mutations inside shadow DOM across machines and versions. The dialog
|
|
14760
|
+
* element is only one shadow root deep (the dropdown bib's shadow DOM),
|
|
14761
|
+
* which Chrome handles reliably. The calendar's own shadow DOM (nested
|
|
14762
|
+
* inside the bib via slotting) is two+ levels deep and unreliable.
|
|
14763
|
+
*
|
|
14764
|
+
* @private
|
|
14765
|
+
* @returns {HTMLElement} The live region element.
|
|
14766
|
+
*/
|
|
14767
|
+
getOrCreateLiveRegion() {
|
|
14768
|
+
if (this._liveRegion && this._liveRegion.isConnected) {
|
|
14769
|
+
return this._liveRegion;
|
|
14770
|
+
}
|
|
14771
|
+
|
|
14772
|
+
// Access the dialog element inside the dropdown bib's shadow DOM.
|
|
14773
|
+
const dialog = this.dropdown?.bibContent?.shadowRoot?.querySelector('dialog');
|
|
14774
|
+
if (!dialog) {
|
|
14775
|
+
return null;
|
|
14776
|
+
}
|
|
14777
|
+
|
|
14778
|
+
// Check if we already created one for this calendar instance.
|
|
14779
|
+
const regionId = `auro-calendar-live-${this._calendarInstanceId}`;
|
|
14780
|
+
const existing = dialog.querySelector(`#${regionId}`);
|
|
14781
|
+
if (existing) {
|
|
14782
|
+
this._liveRegion = existing;
|
|
14783
|
+
return existing;
|
|
14784
|
+
}
|
|
14785
|
+
|
|
14786
|
+
const el = document.createElement('div');
|
|
14787
|
+
el.id = regionId;
|
|
14788
|
+
el.setAttribute('aria-live', 'assertive');
|
|
14789
|
+
el.setAttribute('aria-atomic', 'true');
|
|
14790
|
+
el.style.cssText = 'position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;';
|
|
14791
|
+
dialog.appendChild(el);
|
|
14792
|
+
|
|
14793
|
+
this._liveRegion = el;
|
|
14794
|
+
return el;
|
|
14795
|
+
}
|
|
14796
|
+
|
|
14797
|
+
/**
|
|
14798
|
+
* Removes the live region when this calendar is disconnected.
|
|
14799
|
+
* @private
|
|
14800
|
+
* @returns {void}
|
|
14801
|
+
*/
|
|
14802
|
+
disconnectedCallback() {
|
|
14803
|
+
super.disconnectedCallback();
|
|
14804
|
+
|
|
14805
|
+
// Cancel any pending announcements so they don't fire after teardown.
|
|
14806
|
+
if (this._announceRafId) {
|
|
14807
|
+
cancelAnimationFrame(this._announceRafId);
|
|
14808
|
+
this._announceRafId = null;
|
|
14809
|
+
}
|
|
14810
|
+
if (this._focusAnnounceTimer) {
|
|
14811
|
+
clearTimeout(this._focusAnnounceTimer);
|
|
14812
|
+
this._focusAnnounceTimer = null;
|
|
14813
|
+
}
|
|
14814
|
+
|
|
14815
|
+
if (this._liveRegion && this._liveRegion.isConnected) {
|
|
14816
|
+
this._liveRegion.remove();
|
|
14817
|
+
}
|
|
14818
|
+
this._liveRegion = null;
|
|
14819
|
+
}
|
|
14820
|
+
|
|
14821
|
+
/**
|
|
14822
|
+
* Announces a date selection or focus change via the live region.
|
|
14823
|
+
* Uses requestAnimationFrame to ensure the clear and set happen in
|
|
14824
|
+
* separate rendering frames — Chrome may coalesce synchronous or
|
|
14825
|
+
* microtask-deferred mutations into a single accessibility tree update.
|
|
14826
|
+
* @private
|
|
14827
|
+
* @param {String} dateStr - The localized date string to announce.
|
|
14828
|
+
* @returns {void}
|
|
14829
|
+
*/
|
|
14830
|
+
announceSelection(dateStr) {
|
|
14831
|
+
// Cancel any previously queued rAF announcement so a rapid
|
|
14832
|
+
// sequence of calls (e.g. bib open → month nav) only announces
|
|
14833
|
+
// the last one.
|
|
14834
|
+
if (this._announceRafId) {
|
|
14835
|
+
cancelAnimationFrame(this._announceRafId);
|
|
14836
|
+
}
|
|
14837
|
+
const liveRegion = this.getOrCreateLiveRegion();
|
|
14838
|
+
if (!liveRegion) {
|
|
14839
|
+
return;
|
|
14840
|
+
}
|
|
14841
|
+
|
|
14842
|
+
// Double-rAF: clear in frame N, set in frame N+1. Chrome batches
|
|
14843
|
+
// accessibility tree mutations within a single animation frame, so
|
|
14844
|
+
// a same-frame clear+set can be coalesced into a no-op if the new
|
|
14845
|
+
// value matches a recently announced string. Splitting across two
|
|
14846
|
+
// frames guarantees Chrome sees two distinct tree states and fires
|
|
14847
|
+
// a new accessibility event for the content change.
|
|
14848
|
+
liveRegion.textContent = '';
|
|
14849
|
+
this._announceRafId = requestAnimationFrame(() => {
|
|
14850
|
+
this._announceRafId = requestAnimationFrame(() => {
|
|
14851
|
+
liveRegion.textContent = dateStr;
|
|
14852
|
+
this._announceRafId = null;
|
|
14853
|
+
});
|
|
14854
|
+
});
|
|
14855
|
+
}
|
|
14856
|
+
|
|
14857
|
+
/**
|
|
14858
|
+
* Debounced version of announceSelection for focus navigation.
|
|
14859
|
+
* Uses the assertive live region with a 150ms debounce so only the
|
|
14860
|
+
* final cell after rapid arrow-key traversal is announced. We
|
|
14861
|
+
* originally tried aria-live="polite" here, but VoiceOver treats
|
|
14862
|
+
* polite as "wait until idle" — which never happens during active
|
|
14863
|
+
* keyboard navigation — so the announcements were silently dropped.
|
|
14864
|
+
* @private
|
|
14865
|
+
* @param {String} dateStr - The localized date string to announce.
|
|
14866
|
+
* @returns {void}
|
|
14867
|
+
*/
|
|
14868
|
+
announceFocusDebounced(dateStr) {
|
|
14869
|
+
if (this._focusAnnounceTimer) {
|
|
14870
|
+
clearTimeout(this._focusAnnounceTimer);
|
|
14871
|
+
}
|
|
14872
|
+
this._focusAnnounceTimer = setTimeout(() => {
|
|
14873
|
+
this.announceSelection(dateStr);
|
|
14874
|
+
this._focusAnnounceTimer = null;
|
|
14875
|
+
}, 150);
|
|
14876
|
+
}
|
|
14877
|
+
|
|
14878
|
+
/**
|
|
14879
|
+
* Formats a Unix timestamp (seconds) as a localized date string for SR announcements.
|
|
14880
|
+
* @private
|
|
14881
|
+
* @param {String|Number} timestamp - Unix timestamp in seconds.
|
|
14882
|
+
* @returns {String} Localized date string.
|
|
14883
|
+
*/
|
|
14884
|
+
formatAnnouncementDate(timestamp) {
|
|
14885
|
+
const date = new Date(parseInt(timestamp, 10) * 1000);
|
|
14886
|
+
const localeCode = this.locale?.code || undefined;
|
|
14887
|
+
const formatter = new Intl.DateTimeFormat(localeCode, {
|
|
14888
|
+
weekday: 'long',
|
|
14889
|
+
year: 'numeric',
|
|
14890
|
+
month: 'long',
|
|
14891
|
+
day: 'numeric'
|
|
14892
|
+
});
|
|
14893
|
+
return formatter.format(date);
|
|
14894
|
+
}
|
|
14895
|
+
|
|
13368
14896
|
firstUpdated() {
|
|
14897
|
+
|
|
13369
14898
|
this.addEventListener('date-from-changed', () => {
|
|
13370
14899
|
this.dispatchEvent(new CustomEvent('auroCalendar-dateSelected', {
|
|
13371
14900
|
bubbles: true,
|
|
@@ -13384,6 +14913,21 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
13384
14913
|
composed: true,
|
|
13385
14914
|
}));
|
|
13386
14915
|
});
|
|
14916
|
+
|
|
14917
|
+
// Listen for cross-month boundary navigation events
|
|
14918
|
+
this.addEventListener('calendar-month-boundary', (event) => {
|
|
14919
|
+
this.handleMonthBoundary(event);
|
|
14920
|
+
});
|
|
14921
|
+
|
|
14922
|
+
// Listen for cell activation events
|
|
14923
|
+
this.addEventListener('calendar-cell-activate', (event) => {
|
|
14924
|
+
this.handleCellActivate(event);
|
|
14925
|
+
});
|
|
14926
|
+
|
|
14927
|
+
// Listen for cell focus events (SR announcements + range preview)
|
|
14928
|
+
this.addEventListener('calendar-cell-focused', (event) => {
|
|
14929
|
+
this.handleCellFocused(event);
|
|
14930
|
+
});
|
|
13387
14931
|
}
|
|
13388
14932
|
|
|
13389
14933
|
injectSlot(slotName, nodes) {
|
|
@@ -13408,7 +14952,37 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
13408
14952
|
}
|
|
13409
14953
|
|
|
13410
14954
|
if (changedProperties.has('visible')) {
|
|
13411
|
-
|
|
14955
|
+
if (this.visible) {
|
|
14956
|
+
// Compute the active date eagerly from data — no DOM needed.
|
|
14957
|
+
if (this.activeCellDate == null) { // eslint-disable-line no-eq-null, eqeqeq
|
|
14958
|
+
this.activeCellDate = this.computeActiveDate();
|
|
14959
|
+
}
|
|
14960
|
+
|
|
14961
|
+
this.requestUpdate();
|
|
14962
|
+
} else {
|
|
14963
|
+
this.requestUpdate();
|
|
14964
|
+
}
|
|
14965
|
+
}
|
|
14966
|
+
|
|
14967
|
+
// Announce date selection to screen readers when user clicks/selects a cell
|
|
14968
|
+
const isCellClick = this.datepicker?.wasCellClick || this.datepicker?.cellClickActive;
|
|
14969
|
+
|
|
14970
|
+
if (changedProperties.has('dateFrom') && this.dateFrom && isCellClick) {
|
|
14971
|
+
const dateStr = this.formatAnnouncementDate(this.dateFrom);
|
|
14972
|
+
const isRange = !this.noRange;
|
|
14973
|
+
|
|
14974
|
+
if (isRange) {
|
|
14975
|
+
const rangeLabel = this.datepicker.rangeLabelStart || 'range start';
|
|
14976
|
+
this.announceSelection(`${dateStr}, selected as ${rangeLabel}`);
|
|
14977
|
+
} else {
|
|
14978
|
+
this.announceSelection(`${dateStr}, selected`);
|
|
14979
|
+
}
|
|
14980
|
+
}
|
|
14981
|
+
|
|
14982
|
+
if (changedProperties.has('dateTo') && this.dateTo && isCellClick) {
|
|
14983
|
+
const dateStr = this.formatAnnouncementDate(this.dateTo);
|
|
14984
|
+
const rangeLabel = this.datepicker.rangeLabelEnd || 'range end';
|
|
14985
|
+
this.announceSelection(`${dateStr}, selected as ${rangeLabel}`);
|
|
13412
14986
|
}
|
|
13413
14987
|
}
|
|
13414
14988
|
|
|
@@ -13417,6 +14991,7 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
13417
14991
|
<${this.bibtemplateTag}
|
|
13418
14992
|
?large="${this.largeFullscreenHeadline}"
|
|
13419
14993
|
?isFullscreen="${this.isFullscreen}"
|
|
14994
|
+
?showFooter="${!this.isFullscreen && this.dropdown?.desktopModal}"
|
|
13420
14995
|
@close-click="${this.utilCal.requestDismiss}">
|
|
13421
14996
|
<span slot="ariaLabel.close">${this.slots["ariaLabel.bib.close"]}</span>
|
|
13422
14997
|
|
|
@@ -13434,24 +15009,26 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
13434
15009
|
</div>
|
|
13435
15010
|
</div>
|
|
13436
15011
|
|
|
13437
|
-
<div class="calendarWrapper">
|
|
13438
|
-
<div class="calendars">
|
|
13439
|
-
${this.renderAllCalendars()}
|
|
13440
|
-
</div>
|
|
15012
|
+
<div class="calendarWrapper ${!this.isFullscreen && this.dropdown?.desktopModal ? 'hasFooter' : ''}">
|
|
13441
15013
|
<div class="calendarNavButtons">
|
|
13442
15014
|
${this.showPrevMonthBtn ? html$1`
|
|
13443
|
-
<button tabIndex="
|
|
15015
|
+
<button tabIndex="0" class="calendarNavBtn prevMonth" aria-label="${this.datepicker?.navLabelPrevMonth || 'Previous month'}" @click="${this.handlePrevMonth}">
|
|
13444
15016
|
${this.util.generateIconHtml(chevronLeft)}
|
|
13445
15017
|
</button>
|
|
13446
15018
|
` : undefined}
|
|
13447
15019
|
${this.showNextMonthBtn ? html$1`
|
|
13448
|
-
<button tabIndex="
|
|
15020
|
+
<button tabIndex="0" class="calendarNavBtn nextMonth" aria-label="${this.datepicker?.navLabelNextMonth || 'Next month'}" @click="${this.handleNextMonth}">
|
|
13449
15021
|
${this.util.generateIconHtml(chevronRight)}
|
|
13450
15022
|
</button>
|
|
13451
15023
|
` : undefined}
|
|
13452
15024
|
</div>
|
|
15025
|
+
<div id="calendarGrid" class="calendars" role="group" tabindex="0" aria-label="${this.datepicker?.calendarGridLabel}" @keydown="${this.handleGridKeyDown}" @focusin="${this.handleGridFocusIn}" @focusout="${this.handleGridFocusOut}" @calendar-month-mouseleave="${this.clearRangePreview}">
|
|
15026
|
+
${this.renderAllCalendars()}
|
|
15027
|
+
</div>
|
|
13453
15028
|
</div>
|
|
13454
15029
|
|
|
15030
|
+
<div id="calendar-live-region" aria-live="assertive" aria-atomic="true" class="sr-only"></div>
|
|
15031
|
+
|
|
13455
15032
|
<${this.buttonTag} slot="footer" fluid @click="${this.utilCal.requestDismiss}">Done</${this.buttonTag}>
|
|
13456
15033
|
</${this.bibtemplateTag}>
|
|
13457
15034
|
`;
|
|
@@ -16699,7 +18276,7 @@ function applyKeyboardStrategy$1(component, strategy, options = {}) {
|
|
|
16699
18276
|
});
|
|
16700
18277
|
}
|
|
16701
18278
|
|
|
16702
|
-
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}`;
|
|
18279
|
+
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}`;
|
|
16703
18280
|
|
|
16704
18281
|
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)}`;
|
|
16705
18282
|
|
|
@@ -17330,7 +18907,7 @@ let AuroHelpText$2 = class AuroHelpText extends LitElement {
|
|
|
17330
18907
|
}
|
|
17331
18908
|
};
|
|
17332
18909
|
|
|
17333
|
-
var formkitVersion$1 = '
|
|
18910
|
+
var formkitVersion$1 = '202606081904';
|
|
17334
18911
|
|
|
17335
18912
|
let AuroElement$2 = class AuroElement extends LitElement {
|
|
17336
18913
|
static get properties() {
|
|
@@ -17510,6 +19087,7 @@ class AuroDropdown extends AuroElement$2 {
|
|
|
17510
19087
|
_intializeDefaults() {
|
|
17511
19088
|
this.appearance = 'default';
|
|
17512
19089
|
this.chevron = false;
|
|
19090
|
+
this.desktopModal = false;
|
|
17513
19091
|
this.disabled = false;
|
|
17514
19092
|
this.disableKeyboardHandling = false;
|
|
17515
19093
|
this.error = false;
|
|
@@ -17690,6 +19268,14 @@ class AuroDropdown extends AuroElement$2 {
|
|
|
17690
19268
|
reflect: true
|
|
17691
19269
|
},
|
|
17692
19270
|
|
|
19271
|
+
/**
|
|
19272
|
+
* If declared, the dropdown will behave as a modal dialog when in a desktop viewport size.
|
|
19273
|
+
*/
|
|
19274
|
+
desktopModal: {
|
|
19275
|
+
type: Boolean,
|
|
19276
|
+
reflect: true
|
|
19277
|
+
},
|
|
19278
|
+
|
|
17693
19279
|
/**
|
|
17694
19280
|
* If declared, the dropdown will only show by calling the API .show() public method.
|
|
17695
19281
|
*/
|
|
@@ -17977,6 +19563,15 @@ class AuroDropdown extends AuroElement$2 {
|
|
|
17977
19563
|
|
|
17978
19564
|
disconnectedCallback() {
|
|
17979
19565
|
super.disconnectedCallback();
|
|
19566
|
+
this._clearPageInert();
|
|
19567
|
+
if (this._bibTabHandler) {
|
|
19568
|
+
this.removeEventListener('keydown', this._bibTabHandler);
|
|
19569
|
+
this._bibTabHandler = undefined;
|
|
19570
|
+
}
|
|
19571
|
+
if (this.focusTrap) {
|
|
19572
|
+
this.focusTrap.disconnect();
|
|
19573
|
+
this.focusTrap = undefined;
|
|
19574
|
+
}
|
|
17980
19575
|
if (this.floater) {
|
|
17981
19576
|
this.floater.hideBib('disconnect');
|
|
17982
19577
|
this.floater.disconnect();
|
|
@@ -18004,19 +19599,45 @@ class AuroDropdown extends AuroElement$2 {
|
|
|
18004
19599
|
if (this.isPopoverVisible) {
|
|
18005
19600
|
// Fullscreen: use showModal() for native accessibility (inert outside, focus trap)
|
|
18006
19601
|
// Desktop: use show() for Floating UI positioning + FocusTrap for focus management
|
|
18007
|
-
|
|
18008
|
-
this.
|
|
19602
|
+
this.bibElement.value.open(this.isBibFullscreen);
|
|
19603
|
+
this.updateFocusTrap();
|
|
19604
|
+
|
|
19605
|
+
// Desktop modal: make siblings inert so content outside is not interactive
|
|
19606
|
+
if (this.desktopModal && !this.isBibFullscreen) {
|
|
19607
|
+
this._setPageInert();
|
|
19608
|
+
}
|
|
18009
19609
|
} else {
|
|
18010
19610
|
this.bibElement.value.close();
|
|
19611
|
+
this._clearPageInert();
|
|
18011
19612
|
}
|
|
18012
19613
|
}
|
|
18013
19614
|
|
|
18014
19615
|
// When fullscreen strategy changes while open, re-open dialog with correct mode
|
|
18015
19616
|
// (e.g. resizing from desktop → mobile while dropdown is open)
|
|
18016
19617
|
if (changedProperties.has('isBibFullscreen') && this.isPopoverVisible && this.bibElement.value) {
|
|
18017
|
-
const useModal = this.isBibFullscreen;
|
|
18018
19618
|
this.bibElement.value.close();
|
|
18019
|
-
this.bibElement.value.open(
|
|
19619
|
+
this.bibElement.value.open(this.isBibFullscreen);
|
|
19620
|
+
|
|
19621
|
+
// Re-initialize focus management for the new strategy
|
|
19622
|
+
this.updateFocusTrap();
|
|
19623
|
+
|
|
19624
|
+
// Toggle inert: desktop modal needs it, fullscreen showModal() handles it natively
|
|
19625
|
+
if (this.desktopModal && !this.isBibFullscreen) {
|
|
19626
|
+
this._setPageInert();
|
|
19627
|
+
} else {
|
|
19628
|
+
this._clearPageInert();
|
|
19629
|
+
}
|
|
19630
|
+
}
|
|
19631
|
+
|
|
19632
|
+
// Handle desktopModal toggled while the dropdown is already open.
|
|
19633
|
+
// Re-initialize focus trapping and page inert state to match the new mode.
|
|
19634
|
+
if (changedProperties.has('desktopModal') && this.isPopoverVisible && !this.isBibFullscreen) {
|
|
19635
|
+
this.updateFocusTrap();
|
|
19636
|
+
if (this.desktopModal) {
|
|
19637
|
+
this._setPageInert();
|
|
19638
|
+
} else {
|
|
19639
|
+
this._clearPageInert();
|
|
19640
|
+
}
|
|
18020
19641
|
}
|
|
18021
19642
|
}
|
|
18022
19643
|
|
|
@@ -18026,8 +19647,14 @@ class AuroDropdown extends AuroElement$2 {
|
|
|
18026
19647
|
* @param {CustomEvent} event - The custom event that contains the dropdown toggle information.
|
|
18027
19648
|
*/
|
|
18028
19649
|
handleDropdownToggle(event) {
|
|
18029
|
-
this.updateFocusTrap();
|
|
18030
19650
|
this.isPopoverVisible = event.detail.expanded;
|
|
19651
|
+
|
|
19652
|
+
// Tear down FocusTrap when closing. Creation happens in updated()
|
|
19653
|
+
// after the dialog is open so getFocusableElements can find content.
|
|
19654
|
+
if (!this.isPopoverVisible) {
|
|
19655
|
+
this.updateFocusTrap();
|
|
19656
|
+
}
|
|
19657
|
+
|
|
18031
19658
|
const eventType = event.detail.eventType || "unknown";
|
|
18032
19659
|
if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown") {
|
|
18033
19660
|
this.trigger.focus();
|
|
@@ -18126,19 +19753,194 @@ class AuroDropdown extends AuroElement$2 {
|
|
|
18126
19753
|
* @private
|
|
18127
19754
|
*/
|
|
18128
19755
|
updateFocusTrap() {
|
|
19756
|
+
// Always clean up existing handlers/traps before setting up new ones
|
|
19757
|
+
// to prevent duplicate listeners on repeated calls.
|
|
19758
|
+
if (this._bibTabHandler) {
|
|
19759
|
+
this.removeEventListener('keydown', this._bibTabHandler);
|
|
19760
|
+
this._bibTabHandler = undefined;
|
|
19761
|
+
}
|
|
19762
|
+
|
|
19763
|
+
if (this.focusTrap) {
|
|
19764
|
+
this.focusTrap.disconnect();
|
|
19765
|
+
this.focusTrap = undefined;
|
|
19766
|
+
}
|
|
19767
|
+
|
|
18129
19768
|
if (this.isPopoverVisible) {
|
|
18130
19769
|
if (!this.isBibFullscreen) {
|
|
18131
|
-
|
|
18132
|
-
|
|
18133
|
-
|
|
19770
|
+
if (this.desktopModal) {
|
|
19771
|
+
// Desktop modal: trap focus only within the bib content.
|
|
19772
|
+
// Can't use FocusTrap on the bib element because keydown events
|
|
19773
|
+
// from slotted content bubble through the dropdown host (light DOM),
|
|
19774
|
+
// not through the bib (shadow projection target). Using FocusTrap
|
|
19775
|
+
// on the dropdown would include the trigger in the tab cycle.
|
|
19776
|
+
// Instead, listen for Tab on the dropdown and manually wrap focus
|
|
19777
|
+
// within the bib's focusable elements.
|
|
19778
|
+
this._bibTabHandler = (event) => {
|
|
19779
|
+
if (event.key !== 'Tab') {
|
|
19780
|
+
return;
|
|
19781
|
+
}
|
|
19782
|
+
|
|
19783
|
+
// Collect focusable elements from the bib content.
|
|
19784
|
+
const focusables = getFocusableElements(this.bibContent);
|
|
19785
|
+
|
|
19786
|
+
// Fallback: try from slotted content directly
|
|
19787
|
+
if (!focusables.length) {
|
|
19788
|
+
const slot = this.shadowRoot.querySelector('.slotContent slot');
|
|
19789
|
+
const assignedNodes = slot.assignedNodes({ flatten: true });
|
|
19790
|
+
|
|
19791
|
+
for (const node of assignedNodes) {
|
|
19792
|
+
if (node.nodeType === Node.ELEMENT_NODE) {
|
|
19793
|
+
focusables.push(...getFocusableElements(node));
|
|
19794
|
+
}
|
|
19795
|
+
}
|
|
19796
|
+
}
|
|
19797
|
+
|
|
19798
|
+
if (!focusables.length) {
|
|
19799
|
+
return;
|
|
19800
|
+
}
|
|
19801
|
+
|
|
19802
|
+
event.preventDefault();
|
|
19803
|
+
|
|
19804
|
+
const direction = event.shiftKey ? -1 : 1; // eslint-disable-line no-magic-numbers
|
|
19805
|
+
|
|
19806
|
+
// Walk the active element chain through shadow roots
|
|
19807
|
+
const actives = this._getActiveElements();
|
|
19808
|
+
|
|
19809
|
+
let idx = focusables.findIndex((el) => actives.includes(el));
|
|
19810
|
+
|
|
19811
|
+
if (idx === -1) { // eslint-disable-line no-magic-numbers
|
|
19812
|
+
// Focus is not on a known element — move to first/last
|
|
19813
|
+
idx = direction === 1 ? -1 : focusables.length; // eslint-disable-line no-magic-numbers
|
|
19814
|
+
}
|
|
19815
|
+
|
|
19816
|
+
// Try each element in order, skipping any that can't receive focus
|
|
19817
|
+
// (e.g. hidden elements, elements in collapsed sections)
|
|
19818
|
+
for (let index = 0; index < focusables.length; index++) { // eslint-disable-line no-plusplus
|
|
19819
|
+
let nextIdx = idx + direction;
|
|
19820
|
+
|
|
19821
|
+
// Wrap around
|
|
19822
|
+
if (nextIdx < 0) {
|
|
19823
|
+
nextIdx = focusables.length - 1;
|
|
19824
|
+
} else if (nextIdx >= focusables.length) {
|
|
19825
|
+
nextIdx = 0;
|
|
19826
|
+
}
|
|
19827
|
+
|
|
19828
|
+
focusables[nextIdx].focus();
|
|
19829
|
+
|
|
19830
|
+
// Verify focus actually moved to the target
|
|
19831
|
+
const newActives = this._getActiveElements();
|
|
19832
|
+
|
|
19833
|
+
if (newActives.includes(focusables[nextIdx])) {
|
|
19834
|
+
return;
|
|
19835
|
+
}
|
|
19836
|
+
|
|
19837
|
+
// Focus didn't stick — skip this element and try the next
|
|
19838
|
+
idx = nextIdx;
|
|
19839
|
+
}
|
|
19840
|
+
};
|
|
19841
|
+
this.addEventListener('keydown', this._bibTabHandler);
|
|
19842
|
+
|
|
19843
|
+
// Move initial focus into the bib content, matching FocusTrap behavior
|
|
19844
|
+
requestAnimationFrame(() => {
|
|
19845
|
+
const focusables = getFocusableElements(this.bibContent);
|
|
19846
|
+
if (focusables.length) {
|
|
19847
|
+
focusables[0].focus();
|
|
19848
|
+
}
|
|
19849
|
+
});
|
|
19850
|
+
} else {
|
|
19851
|
+
// Normal desktop: use FocusTrap on the bib element
|
|
19852
|
+
this.focusTrap = new FocusTrap(this.bibContent);
|
|
19853
|
+
this.focusTrap.focusFirstElement();
|
|
19854
|
+
}
|
|
18134
19855
|
}
|
|
18135
19856
|
// Fullscreen: showModal() provides native focus trapping
|
|
19857
|
+
}
|
|
19858
|
+
}
|
|
19859
|
+
|
|
19860
|
+
/**
|
|
19861
|
+
* Returns the chain of active (focused) elements through shadow roots.
|
|
19862
|
+
* @private
|
|
19863
|
+
* @returns {Array<HTMLElement>}
|
|
19864
|
+
*/
|
|
19865
|
+
_getActiveElements() {
|
|
19866
|
+
let { activeElement } = document;
|
|
19867
|
+
const actives = [activeElement];
|
|
19868
|
+
|
|
19869
|
+
while (activeElement?.shadowRoot?.activeElement) {
|
|
19870
|
+
activeElement = activeElement.shadowRoot.activeElement;
|
|
19871
|
+
actives.push(activeElement);
|
|
19872
|
+
}
|
|
19873
|
+
|
|
19874
|
+
return actives;
|
|
19875
|
+
}
|
|
19876
|
+
|
|
19877
|
+
/**
|
|
19878
|
+
* Sets `inert` on sibling elements of the dropdown's top-level host
|
|
19879
|
+
* so that content outside the dropdown is not interactive while the modal is open.
|
|
19880
|
+
* Walks up through shadow DOM boundaries to find the outermost host element
|
|
19881
|
+
* in the light DOM, then sets `inert` on siblings at each ancestor level
|
|
19882
|
+
* to ensure all page content outside the host subtree is inert.
|
|
19883
|
+
* @private
|
|
19884
|
+
*/
|
|
19885
|
+
_setPageInert() {
|
|
19886
|
+
if (this._inertSiblings) {
|
|
18136
19887
|
return;
|
|
18137
19888
|
}
|
|
18138
19889
|
|
|
18139
|
-
|
|
18140
|
-
|
|
18141
|
-
|
|
19890
|
+
this._inertSiblings = [];
|
|
19891
|
+
|
|
19892
|
+
// Walk up through shadow DOM boundaries to find the topmost host
|
|
19893
|
+
// element in the light DOM. For example, if this dropdown is inside
|
|
19894
|
+
// auro-datepicker's shadow DOM, we walk up to the datepicker element
|
|
19895
|
+
// so we set inert on its siblings — not on the datepicker itself.
|
|
19896
|
+
let host = this;
|
|
19897
|
+
while (host.getRootNode() instanceof ShadowRoot) {
|
|
19898
|
+
host = host.getRootNode().host;
|
|
19899
|
+
}
|
|
19900
|
+
|
|
19901
|
+
// Walk up the ancestor chain, inerting siblings at each level
|
|
19902
|
+
// to ensure the entire page outside the host subtree is inert.
|
|
19903
|
+
// Uses a reference counter (data-auro-inert-count) so multiple
|
|
19904
|
+
// simultaneous modal dropdowns share inert state safely.
|
|
19905
|
+
let current = host;
|
|
19906
|
+
while (current.parentElement) {
|
|
19907
|
+
const parent = current.parentElement;
|
|
19908
|
+
for (const sibling of parent.children) {
|
|
19909
|
+
if (sibling !== current) {
|
|
19910
|
+
const count = parseInt(sibling.dataset.auroInertCount || '0', 10);
|
|
19911
|
+
if (count === 0) {
|
|
19912
|
+
sibling.dataset.auroInertWas = sibling.inert ? 'true' : 'false';
|
|
19913
|
+
}
|
|
19914
|
+
sibling.dataset.auroInertCount = String(count + 1);
|
|
19915
|
+
sibling.inert = true;
|
|
19916
|
+
this._inertSiblings.push(sibling);
|
|
19917
|
+
}
|
|
19918
|
+
}
|
|
19919
|
+
current = parent;
|
|
19920
|
+
}
|
|
19921
|
+
}
|
|
19922
|
+
|
|
19923
|
+
/**
|
|
19924
|
+
* Restores `inert` state on siblings that were tracked by `_setPageInert`.
|
|
19925
|
+
* Uses reference counting so inert is only cleared when the last modal
|
|
19926
|
+
* dropdown releases a given element. Preserves the original inert state
|
|
19927
|
+
* so externally-inerted elements are not inadvertently re-enabled.
|
|
19928
|
+
* @private
|
|
19929
|
+
*/
|
|
19930
|
+
_clearPageInert() {
|
|
19931
|
+
if (this._inertSiblings) {
|
|
19932
|
+
for (const sibling of this._inertSiblings) {
|
|
19933
|
+
const count = parseInt(sibling.dataset.auroInertCount || '1', 10) - 1;
|
|
19934
|
+
if (count <= 0) {
|
|
19935
|
+
const wasInert = sibling.dataset.auroInertWas === 'true';
|
|
19936
|
+
delete sibling.dataset.auroInertCount;
|
|
19937
|
+
delete sibling.dataset.auroInertWas;
|
|
19938
|
+
sibling.inert = wasInert;
|
|
19939
|
+
} else {
|
|
19940
|
+
sibling.dataset.auroInertCount = String(count);
|
|
19941
|
+
}
|
|
19942
|
+
}
|
|
19943
|
+
this._inertSiblings = undefined;
|
|
18142
19944
|
}
|
|
18143
19945
|
}
|
|
18144
19946
|
|
|
@@ -18377,6 +20179,7 @@ class AuroDropdown extends AuroElement$2 {
|
|
|
18377
20179
|
shape="${this.shape}"
|
|
18378
20180
|
?data-show="${this.isPopoverVisible}"
|
|
18379
20181
|
?isfullscreen="${this.isBibFullscreen}"
|
|
20182
|
+
?desktopmodal="${this.desktopModal}"
|
|
18380
20183
|
.dialogLabel="${this.bibDialogLabel}"
|
|
18381
20184
|
${ref(this.bibElement)}
|
|
18382
20185
|
>
|
|
@@ -30581,7 +32384,7 @@ let AuroHelpText$1 = class AuroHelpText extends LitElement {
|
|
|
30581
32384
|
}
|
|
30582
32385
|
};
|
|
30583
32386
|
|
|
30584
|
-
var formkitVersion = '
|
|
32387
|
+
var formkitVersion = '202606081904';
|
|
30585
32388
|
|
|
30586
32389
|
// Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
30587
32390
|
// See LICENSE in the project root for license information.
|
|
@@ -31926,26 +33729,62 @@ function applyKeyboardStrategy(component, strategy, options = {}) {
|
|
|
31926
33729
|
// components/datepicker/docs/partials/keyboardBehavior.md
|
|
31927
33730
|
//
|
|
31928
33731
|
// Current behavior (transitional — full bib keyboard navigation is planned for a future iteration):
|
|
31929
|
-
// - The bib opens and closes via pointer/touch interaction only.
|
|
31930
33732
|
// - Escape closes the bib and prevents the event from reaching parent containers.
|
|
33733
|
+
// - Enter opens the bib when it is closed (trigger input only, not clear button).
|
|
33734
|
+
// - Space opens the bib when it is closed (trigger input only, not clear button).
|
|
31931
33735
|
// - Tab uses the browser's default tabindex sequence across trigger controls.
|
|
31932
|
-
// - Enter and Space do not open or close the bib.
|
|
31933
33736
|
//
|
|
31934
33737
|
// This file is an intentional placeholder for most keys. When datepicker bib keyboard navigation is
|
|
31935
33738
|
// added, handlers should go here following the same strategy pattern used by
|
|
31936
33739
|
// auro-select (selectKeyboardStrategy.js) and auro-combobox (comboboxKeyboardStrategy.js).
|
|
31937
33740
|
const datepickerKeyboardStrategy = {
|
|
31938
|
-
Escape(component, evt) {
|
|
31939
|
-
if (!
|
|
33741
|
+
Escape(component, evt, ctx) {
|
|
33742
|
+
if (!ctx.isExpanded) {
|
|
31940
33743
|
return;
|
|
31941
33744
|
}
|
|
31942
33745
|
|
|
31943
|
-
//
|
|
31944
|
-
//
|
|
31945
|
-
// seeing this event, we must also close the dropdown explicitly.
|
|
33746
|
+
// Stop propagation so parent containers (auro-dialog, auro-drawer)
|
|
33747
|
+
// don't also react to Escape.
|
|
31946
33748
|
evt.stopPropagation();
|
|
33749
|
+
evt.preventDefault();
|
|
31947
33750
|
|
|
31948
|
-
component.
|
|
33751
|
+
component.hideBib();
|
|
33752
|
+
},
|
|
33753
|
+
|
|
33754
|
+
Enter(component, evt, ctx) {
|
|
33755
|
+
if (ctx.isExpanded) {
|
|
33756
|
+
return;
|
|
33757
|
+
}
|
|
33758
|
+
|
|
33759
|
+
// Only open from the trigger input, not the clear button or other internal elements.
|
|
33760
|
+
// evt.target is retargeted to the host in shadow DOM, so use composedPath()
|
|
33761
|
+
// to find the real origin. The clear button is rendered with class "clearBtn".
|
|
33762
|
+
const path = evt.composedPath();
|
|
33763
|
+
if (path.some(el => el.classList?.contains('clearBtn'))) {
|
|
33764
|
+
return;
|
|
33765
|
+
}
|
|
33766
|
+
|
|
33767
|
+
evt.preventDefault();
|
|
33768
|
+
|
|
33769
|
+
component.dropdown.show();
|
|
33770
|
+
},
|
|
33771
|
+
|
|
33772
|
+
' '(component, evt, ctx) {
|
|
33773
|
+
if (ctx.isExpanded) {
|
|
33774
|
+
return;
|
|
33775
|
+
}
|
|
33776
|
+
|
|
33777
|
+
// Only open from the trigger input, not the clear button or other internal elements.
|
|
33778
|
+
// evt.target is retargeted to the host in shadow DOM, so use composedPath()
|
|
33779
|
+
// to find the real origin. The clear button is rendered with class "clearBtn".
|
|
33780
|
+
const path = evt.composedPath();
|
|
33781
|
+
if (path.some(el => el.classList?.contains('clearBtn'))) {
|
|
33782
|
+
return;
|
|
33783
|
+
}
|
|
33784
|
+
|
|
33785
|
+
evt.preventDefault();
|
|
33786
|
+
|
|
33787
|
+
component.dropdown.show();
|
|
31949
33788
|
},
|
|
31950
33789
|
};
|
|
31951
33790
|
|
|
@@ -32019,6 +33858,16 @@ class AuroDatePicker extends AuroElement {
|
|
|
32019
33858
|
this.required = false;
|
|
32020
33859
|
this.onDark = false;
|
|
32021
33860
|
this.range = false;
|
|
33861
|
+
this.rangeLabelStart = 'range start';
|
|
33862
|
+
this.rangeLabelEnd = 'range end';
|
|
33863
|
+
this.rangeLabelBeforeRange = 'before range';
|
|
33864
|
+
this.rangeLabelInRange = 'in range';
|
|
33865
|
+
this.rangeLabelAfterRange = 'after range';
|
|
33866
|
+
this.blackoutDates = [];
|
|
33867
|
+
this.blackoutLabel = 'unavailable';
|
|
33868
|
+
this.navLabelPrevMonth = 'Previous month';
|
|
33869
|
+
this.navLabelNextMonth = 'Next month';
|
|
33870
|
+
this.calendarGridLabel = 'Calendar days of the month';
|
|
32022
33871
|
this.stacked = false;
|
|
32023
33872
|
this.noValidate = false;
|
|
32024
33873
|
this.validity = undefined;
|
|
@@ -32134,7 +33983,7 @@ class AuroDatePicker extends AuroElement {
|
|
|
32134
33983
|
|
|
32135
33984
|
/**
|
|
32136
33985
|
* Defines whether the component will be on lighter or darker backgrounds.
|
|
32137
|
-
* @
|
|
33986
|
+
* @type {'default' | 'inverse'}
|
|
32138
33987
|
* @default 'default'
|
|
32139
33988
|
*/
|
|
32140
33989
|
appearance: {
|
|
@@ -32151,6 +34000,22 @@ class AuroDatePicker extends AuroElement {
|
|
|
32151
34000
|
reflect: true
|
|
32152
34001
|
},
|
|
32153
34002
|
|
|
34003
|
+
/**
|
|
34004
|
+
* Array of dates that cannot be selected. Dates should be in ISO format (YYYY-MM-DD).
|
|
34005
|
+
*/
|
|
34006
|
+
blackoutDates: {
|
|
34007
|
+
type: Array,
|
|
34008
|
+
reflect: true
|
|
34009
|
+
},
|
|
34010
|
+
|
|
34011
|
+
/**
|
|
34012
|
+
* Label announced for blackout (disabled but in-range) date cells.
|
|
34013
|
+
*/
|
|
34014
|
+
blackoutLabel: {
|
|
34015
|
+
type: String,
|
|
34016
|
+
reflect: true
|
|
34017
|
+
},
|
|
34018
|
+
|
|
32154
34019
|
/**
|
|
32155
34020
|
* The last date that may be displayed in the calendar.
|
|
32156
34021
|
*/
|
|
@@ -32159,6 +34024,14 @@ class AuroDatePicker extends AuroElement {
|
|
|
32159
34024
|
reflect: true
|
|
32160
34025
|
},
|
|
32161
34026
|
|
|
34027
|
+
/**
|
|
34028
|
+
* Accessible label for the calendar grid containing the days of the month.
|
|
34029
|
+
*/
|
|
34030
|
+
calendarGridLabel: {
|
|
34031
|
+
type: String,
|
|
34032
|
+
reflect: true
|
|
34033
|
+
},
|
|
34034
|
+
|
|
32162
34035
|
/**
|
|
32163
34036
|
* The date that will first be visually rendered to the user in the calendar.
|
|
32164
34037
|
*/
|
|
@@ -32206,27 +34079,6 @@ class AuroDatePicker extends AuroElement {
|
|
|
32206
34079
|
reflect: true
|
|
32207
34080
|
},
|
|
32208
34081
|
|
|
32209
|
-
hasFocus: {
|
|
32210
|
-
type: Boolean,
|
|
32211
|
-
reflect: false,
|
|
32212
|
-
},
|
|
32213
|
-
|
|
32214
|
-
/**
|
|
32215
|
-
* @private
|
|
32216
|
-
*/
|
|
32217
|
-
hasValue: {
|
|
32218
|
-
type: Boolean,
|
|
32219
|
-
reflect: false,
|
|
32220
|
-
},
|
|
32221
|
-
|
|
32222
|
-
/**
|
|
32223
|
-
* @private
|
|
32224
|
-
*/
|
|
32225
|
-
hasAllValues: {
|
|
32226
|
-
type: Boolean,
|
|
32227
|
-
reflect: false
|
|
32228
|
-
},
|
|
32229
|
-
|
|
32230
34082
|
/**
|
|
32231
34083
|
* Specifies the date format. The default is `mm/dd/yyyy`.
|
|
32232
34084
|
*/
|
|
@@ -32256,6 +34108,27 @@ class AuroDatePicker extends AuroElement {
|
|
|
32256
34108
|
reflect: true
|
|
32257
34109
|
},
|
|
32258
34110
|
|
|
34111
|
+
/**
|
|
34112
|
+
* @private
|
|
34113
|
+
*/
|
|
34114
|
+
hasAllValues: {
|
|
34115
|
+
type: Boolean,
|
|
34116
|
+
reflect: false
|
|
34117
|
+
},
|
|
34118
|
+
|
|
34119
|
+
hasFocus: {
|
|
34120
|
+
type: Boolean,
|
|
34121
|
+
reflect: false,
|
|
34122
|
+
},
|
|
34123
|
+
|
|
34124
|
+
/**
|
|
34125
|
+
* @private
|
|
34126
|
+
*/
|
|
34127
|
+
hasValue: {
|
|
34128
|
+
type: Boolean,
|
|
34129
|
+
reflect: false,
|
|
34130
|
+
},
|
|
34131
|
+
|
|
32259
34132
|
/** Exposes inputmode attribute for input. */
|
|
32260
34133
|
inputmode: {
|
|
32261
34134
|
type: String,
|
|
@@ -32298,6 +34171,13 @@ class AuroDatePicker extends AuroElement {
|
|
|
32298
34171
|
reflect: true
|
|
32299
34172
|
},
|
|
32300
34173
|
|
|
34174
|
+
/**
|
|
34175
|
+
* @private
|
|
34176
|
+
*/
|
|
34177
|
+
monthFirst: {
|
|
34178
|
+
type: Boolean
|
|
34179
|
+
},
|
|
34180
|
+
|
|
32301
34181
|
/**
|
|
32302
34182
|
* Names of all 12 months to render in the calendar.
|
|
32303
34183
|
* When omitted, month names will be automatically populated from the active `locale` (falling back to `en-US`).
|
|
@@ -32307,18 +34187,26 @@ class AuroDatePicker extends AuroElement {
|
|
|
32307
34187
|
},
|
|
32308
34188
|
|
|
32309
34189
|
/**
|
|
32310
|
-
*
|
|
32311
|
-
* when there isn't enough space in the specified `placement`.
|
|
34190
|
+
* Accessible label for the next month navigation button.
|
|
32312
34191
|
*/
|
|
32313
|
-
|
|
32314
|
-
type:
|
|
34192
|
+
navLabelNextMonth: {
|
|
34193
|
+
type: String,
|
|
32315
34194
|
reflect: true
|
|
32316
34195
|
},
|
|
32317
34196
|
|
|
32318
34197
|
/**
|
|
32319
|
-
*
|
|
34198
|
+
* Accessible label for the previous month navigation button.
|
|
32320
34199
|
*/
|
|
32321
|
-
|
|
34200
|
+
navLabelPrevMonth: {
|
|
34201
|
+
type: String,
|
|
34202
|
+
reflect: true
|
|
34203
|
+
},
|
|
34204
|
+
|
|
34205
|
+
/**
|
|
34206
|
+
* If declared, the bib will NOT flip to an alternate position
|
|
34207
|
+
* when there isn't enough space in the specified `placement`.
|
|
34208
|
+
*/
|
|
34209
|
+
noFlip: {
|
|
32322
34210
|
type: Boolean,
|
|
32323
34211
|
reflect: true
|
|
32324
34212
|
},
|
|
@@ -32384,6 +34272,46 @@ class AuroDatePicker extends AuroElement {
|
|
|
32384
34272
|
reflect: true
|
|
32385
34273
|
},
|
|
32386
34274
|
|
|
34275
|
+
/**
|
|
34276
|
+
* Label announced for cells after the range (or after start when no end is selected).
|
|
34277
|
+
*/
|
|
34278
|
+
rangeLabelAfterRange: {
|
|
34279
|
+
type: String,
|
|
34280
|
+
reflect: true
|
|
34281
|
+
},
|
|
34282
|
+
|
|
34283
|
+
/**
|
|
34284
|
+
* Label announced for cells before the range start.
|
|
34285
|
+
*/
|
|
34286
|
+
rangeLabelBeforeRange: {
|
|
34287
|
+
type: String,
|
|
34288
|
+
reflect: true
|
|
34289
|
+
},
|
|
34290
|
+
|
|
34291
|
+
/**
|
|
34292
|
+
* Label announced for the range end date cell.
|
|
34293
|
+
*/
|
|
34294
|
+
rangeLabelEnd: {
|
|
34295
|
+
type: String,
|
|
34296
|
+
reflect: true
|
|
34297
|
+
},
|
|
34298
|
+
|
|
34299
|
+
/**
|
|
34300
|
+
* Label announced for cells within the selected range.
|
|
34301
|
+
*/
|
|
34302
|
+
rangeLabelInRange: {
|
|
34303
|
+
type: String,
|
|
34304
|
+
reflect: true
|
|
34305
|
+
},
|
|
34306
|
+
|
|
34307
|
+
/**
|
|
34308
|
+
* Label announced for the range start date cell.
|
|
34309
|
+
*/
|
|
34310
|
+
rangeLabelStart: {
|
|
34311
|
+
type: String,
|
|
34312
|
+
reflect: true
|
|
34313
|
+
},
|
|
34314
|
+
|
|
32387
34315
|
/**
|
|
32388
34316
|
* Dates that the user should have for reference as part of their decision making when selecting a date.
|
|
32389
34317
|
* This should be a JSON string array of ISO date strings (`YYYY-MM-DD`).
|
|
@@ -32410,6 +34338,7 @@ class AuroDatePicker extends AuroElement {
|
|
|
32410
34338
|
|
|
32411
34339
|
/**
|
|
32412
34340
|
* Custom help text message to display when validity = `customError`.
|
|
34341
|
+
* Also used as the validation message when a blackout date is typed into the input.
|
|
32413
34342
|
*/
|
|
32414
34343
|
setCustomValidityCustomError: {
|
|
32415
34344
|
type: String
|
|
@@ -32436,6 +34365,14 @@ class AuroDatePicker extends AuroElement {
|
|
|
32436
34365
|
type: String
|
|
32437
34366
|
},
|
|
32438
34367
|
|
|
34368
|
+
/**
|
|
34369
|
+
* If declared, the dropdown will shift its position to avoid being cut off by the viewport.
|
|
34370
|
+
*/
|
|
34371
|
+
shift: {
|
|
34372
|
+
type: Boolean,
|
|
34373
|
+
reflect: true
|
|
34374
|
+
},
|
|
34375
|
+
|
|
32439
34376
|
/**
|
|
32440
34377
|
* Set true to make datepicker stacked style.
|
|
32441
34378
|
*/
|
|
@@ -32444,6 +34381,16 @@ class AuroDatePicker extends AuroElement {
|
|
|
32444
34381
|
reflect: true
|
|
32445
34382
|
},
|
|
32446
34383
|
|
|
34384
|
+
/**
|
|
34385
|
+
* Indicates whether the datepicker is in a dirty state (has been interacted with).
|
|
34386
|
+
* @private
|
|
34387
|
+
*/
|
|
34388
|
+
touched: {
|
|
34389
|
+
type: Boolean,
|
|
34390
|
+
reflect: true,
|
|
34391
|
+
attribute: false
|
|
34392
|
+
},
|
|
34393
|
+
|
|
32447
34394
|
/**
|
|
32448
34395
|
* Specifies the `validityState` this element is in.
|
|
32449
34396
|
*/
|
|
@@ -32464,16 +34411,6 @@ class AuroDatePicker extends AuroElement {
|
|
|
32464
34411
|
*/
|
|
32465
34412
|
valueEnd: {
|
|
32466
34413
|
type: String
|
|
32467
|
-
},
|
|
32468
|
-
|
|
32469
|
-
/**
|
|
32470
|
-
* Indicates whether the datepicker is in a dirty state (has been interacted with).
|
|
32471
|
-
* @private
|
|
32472
|
-
*/
|
|
32473
|
-
touched: {
|
|
32474
|
-
type: Boolean,
|
|
32475
|
-
reflect: true,
|
|
32476
|
-
attribute: false
|
|
32477
34414
|
}
|
|
32478
34415
|
};
|
|
32479
34416
|
}
|
|
@@ -32584,7 +34521,7 @@ class AuroDatePicker extends AuroElement {
|
|
|
32584
34521
|
/**
|
|
32585
34522
|
* Common display value wrapper classes.
|
|
32586
34523
|
* @private
|
|
32587
|
-
* @
|
|
34524
|
+
* @returns {Object} Class map for Lit's classMap directive.
|
|
32588
34525
|
*/
|
|
32589
34526
|
get commonDisplayValueWrapperClasses() {
|
|
32590
34527
|
return {
|
|
@@ -32799,6 +34736,74 @@ class AuroDatePicker extends AuroElement {
|
|
|
32799
34736
|
}));
|
|
32800
34737
|
}
|
|
32801
34738
|
|
|
34739
|
+
/**
|
|
34740
|
+
* Attempts to focus the active calendar cell using a rAF retry loop.
|
|
34741
|
+
* Shared by both fullscreen and desktop open paths.
|
|
34742
|
+
* @private
|
|
34743
|
+
* @returns {void}
|
|
34744
|
+
*/
|
|
34745
|
+
focusActiveCellWhenReady() {
|
|
34746
|
+
const MAX_ATTEMPTS = 20;
|
|
34747
|
+
let attempts = 0;
|
|
34748
|
+
|
|
34749
|
+
const tryFocus = () => {
|
|
34750
|
+
attempts += 1;
|
|
34751
|
+
const allCells = this.calendar.getAllFocusableCells();
|
|
34752
|
+
|
|
34753
|
+
if (!allCells.length && attempts < MAX_ATTEMPTS) {
|
|
34754
|
+
requestAnimationFrame(tryFocus);
|
|
34755
|
+
return;
|
|
34756
|
+
}
|
|
34757
|
+
|
|
34758
|
+
// Compute and mark the active cell
|
|
34759
|
+
if (this.calendar.activeCellDate === null || this.calendar.activeCellDate === undefined) {
|
|
34760
|
+
this.calendar.activeCellDate = this.calendar.computeActiveDate();
|
|
34761
|
+
}
|
|
34762
|
+
if (this.calendar.activeCellDate !== undefined) {
|
|
34763
|
+
this.calendar.setActiveCell(this.calendar.activeCellDate);
|
|
34764
|
+
}
|
|
34765
|
+
|
|
34766
|
+
// If no cell matched (e.g. centralDate month differs from the rendered
|
|
34767
|
+
// range on mobile), fall back to the first rendered enabled cell.
|
|
34768
|
+
let activeCell = allCells.find((cell) => cell.active);
|
|
34769
|
+
if (!activeCell && allCells.length) {
|
|
34770
|
+
const [fallback] = allCells;
|
|
34771
|
+
if (fallback.day) {
|
|
34772
|
+
this.calendar.activeCellDate = fallback.day.date;
|
|
34773
|
+
this.calendar.setActiveCell(this.calendar.activeCellDate);
|
|
34774
|
+
activeCell = allCells.find((cell) => cell.active);
|
|
34775
|
+
}
|
|
34776
|
+
}
|
|
34777
|
+
|
|
34778
|
+
// Focus the calendar grid wrapper (aria-activedescendant handles
|
|
34779
|
+
// the SR announcement for the active cell).
|
|
34780
|
+
if (activeCell) {
|
|
34781
|
+
this.calendar.focusActiveCell();
|
|
34782
|
+
|
|
34783
|
+
// Announce the initial active cell via the live region.
|
|
34784
|
+
// Delay the announcement so it arrives after VoiceOver finishes
|
|
34785
|
+
// speaking the focus-change announcement for the grid wrapper.
|
|
34786
|
+
// Without this delay, VoiceOver drops the live region update
|
|
34787
|
+
// because it's already mid-announcement from the focus move.
|
|
34788
|
+
const announcement = this.calendar.buildFocusAnnouncement(activeCell.day.date);
|
|
34789
|
+
setTimeout(() => {
|
|
34790
|
+
this.calendar.announceSelection(announcement);
|
|
34791
|
+
}, 500);
|
|
34792
|
+
|
|
34793
|
+
// On mobile fullscreen, scroll the month list so the active cell's
|
|
34794
|
+
// month is visible. Without this, the list stays scrolled to the
|
|
34795
|
+
// calendarStartDate month which may be far from the active cell.
|
|
34796
|
+
if (this.dropdown.isBibFullscreen) {
|
|
34797
|
+
this.calendar.scrollToActiveCell();
|
|
34798
|
+
}
|
|
34799
|
+
} else if (attempts < MAX_ATTEMPTS) {
|
|
34800
|
+
requestAnimationFrame(tryFocus);
|
|
34801
|
+
}
|
|
34802
|
+
};
|
|
34803
|
+
|
|
34804
|
+
requestAnimationFrame(tryFocus);
|
|
34805
|
+
}
|
|
34806
|
+
|
|
32802
34807
|
/**
|
|
32803
34808
|
* Binds all behavior needed to the dropdown after rendering.
|
|
32804
34809
|
* @private
|
|
@@ -32807,6 +34812,12 @@ class AuroDatePicker extends AuroElement {
|
|
|
32807
34812
|
configureDropdown() {
|
|
32808
34813
|
this.dropdown = this.shadowRoot.querySelector(this.dropdownTag._$litStatic$);
|
|
32809
34814
|
|
|
34815
|
+
// The datepicker manages its own open/close lifecycle (Space/Escape/date-select/done).
|
|
34816
|
+
// Prevent the floater's document-level focusin handler from closing the bib
|
|
34817
|
+
// when focus moves from the trigger into the calendar cells (which live inside
|
|
34818
|
+
// a top-layer popover where :focus-within on the dropdown host returns false).
|
|
34819
|
+
this.dropdown.noHideOnThisFocusLoss = true;
|
|
34820
|
+
|
|
32810
34821
|
// Pass label text to the dropdown bib for accessible dialog naming.
|
|
32811
34822
|
// Without this, the fullscreen <dialog> has no accessible name and
|
|
32812
34823
|
// screen readers announce it as just "dialog" with no context.
|
|
@@ -32824,6 +34835,23 @@ class AuroDatePicker extends AuroElement {
|
|
|
32824
34835
|
this.dropdown.addEventListener('auroDropdown-toggled', () => {
|
|
32825
34836
|
this.notifyDatepickerToggled();
|
|
32826
34837
|
|
|
34838
|
+
if (this.dropdown.isPopoverVisible) {
|
|
34839
|
+
// Reset calendar focus state so it recomputes from the current selection.
|
|
34840
|
+
// Without this, reopening after navigating to a month without a selected
|
|
34841
|
+
// date leaves activeCellDate pointing at a cell in a different month than
|
|
34842
|
+
// what centralDate renders, causing all cells to have tabindex="-1".
|
|
34843
|
+
this.calendar.activeCellDate = null;
|
|
34844
|
+
|
|
34845
|
+
// Show the month containing the selected date (or today) instead of
|
|
34846
|
+
// whichever month the user last navigated to.
|
|
34847
|
+
// Respect consumer-provided centralDate/calendarStartDate if no value is set.
|
|
34848
|
+
if (this.valueObject) {
|
|
34849
|
+
this.centralDate = this.value;
|
|
34850
|
+
} else if (!this.centralDate && !this.calendarStartDate && !this.minDate) {
|
|
34851
|
+
this.centralDate = new Date();
|
|
34852
|
+
}
|
|
34853
|
+
}
|
|
34854
|
+
|
|
32827
34855
|
// This forces the calendar to render when the dropdown is opened.
|
|
32828
34856
|
// It is not rendered by default
|
|
32829
34857
|
this.calendar.visible = this.dropdown.isPopoverVisible;
|
|
@@ -32856,12 +34884,23 @@ class AuroDatePicker extends AuroElement {
|
|
|
32856
34884
|
bibEl.open(true);
|
|
32857
34885
|
|
|
32858
34886
|
doubleRaf(() => {
|
|
32859
|
-
this.
|
|
34887
|
+
this.focusActiveCellWhenReady();
|
|
32860
34888
|
});
|
|
32861
34889
|
}
|
|
32862
34890
|
});
|
|
32863
34891
|
|
|
32864
34892
|
guardTouchPassthrough(this.shadowRoot.querySelector('.calendarWrapper'));
|
|
34893
|
+
} else {
|
|
34894
|
+
// Desktop (non-fullscreen) modal: make the trigger inert so users
|
|
34895
|
+
// cannot interact with the input while the modal bib is open.
|
|
34896
|
+
if (this.dropdown.desktopModal) {
|
|
34897
|
+
this.dropdown.trigger.inert = true;
|
|
34898
|
+
}
|
|
34899
|
+
|
|
34900
|
+
// Desktop (non-fullscreen): focus the active calendar cell.
|
|
34901
|
+
this.dropdown.updateComplete.then(() => {
|
|
34902
|
+
this.focusActiveCellWhenReady();
|
|
34903
|
+
});
|
|
32865
34904
|
}
|
|
32866
34905
|
} else {
|
|
32867
34906
|
// Always clear the inert flag. Only restore focus to the input when the datepicker
|
|
@@ -32906,14 +34945,35 @@ class AuroDatePicker extends AuroElement {
|
|
|
32906
34945
|
if (bibEl && this.dropdown.isPopoverVisible) {
|
|
32907
34946
|
bibEl.close();
|
|
32908
34947
|
bibEl.open(true);
|
|
34948
|
+
}
|
|
34949
|
+
|
|
34950
|
+
// Re-render the calendar with the new fullscreen layout,
|
|
34951
|
+
// then restore focus after the re-render completes.
|
|
34952
|
+
this.calendar.isFullscreen = true;
|
|
34953
|
+
this.calendar.updateComplete.then(() => {
|
|
32909
34954
|
doubleRaf(() => {
|
|
32910
|
-
this.
|
|
34955
|
+
this.focusActiveCellWhenReady();
|
|
32911
34956
|
});
|
|
32912
|
-
}
|
|
34957
|
+
});
|
|
32913
34958
|
});
|
|
32914
34959
|
} else if (!this.dropdown.isBibFullscreen) {
|
|
32915
|
-
// Switching from fullscreen to floating — restore trigger accessibility
|
|
32916
|
-
|
|
34960
|
+
// Switching from fullscreen to floating — only restore trigger accessibility
|
|
34961
|
+
// when the bib is closed or the desktop layout is not a modal. A desktopModal
|
|
34962
|
+
// dropdown keeps the trigger inert while open, matching the desktop-open path.
|
|
34963
|
+
if (!this.dropdown.isPopoverVisible || !this.dropdown.desktopModal) {
|
|
34964
|
+
this.dropdown.trigger.inert = false;
|
|
34965
|
+
}
|
|
34966
|
+
|
|
34967
|
+
// Re-render the calendar with the desktop layout,
|
|
34968
|
+
// then restore focus after the re-render completes.
|
|
34969
|
+
this.dropdown.updateComplete.then(() => {
|
|
34970
|
+
this.calendar.isFullscreen = false;
|
|
34971
|
+
this.calendar.updateComplete.then(() => {
|
|
34972
|
+
doubleRaf(() => {
|
|
34973
|
+
this.focusActiveCellWhenReady();
|
|
34974
|
+
});
|
|
34975
|
+
});
|
|
34976
|
+
});
|
|
32917
34977
|
}
|
|
32918
34978
|
});
|
|
32919
34979
|
}
|
|
@@ -33101,14 +35161,8 @@ class AuroDatePicker extends AuroElement {
|
|
|
33101
35161
|
|
|
33102
35162
|
if (onEndValue) {
|
|
33103
35163
|
this.valueEnd = newDate;
|
|
33104
|
-
if (this.dropdown.isPopoverVisible && !this.dropdown.isBibFullscreen) {
|
|
33105
|
-
this.focus('startDate');
|
|
33106
|
-
}
|
|
33107
35164
|
} else {
|
|
33108
35165
|
this.value = newDate;
|
|
33109
|
-
if (this.dropdown.isPopoverVisible && !this.dropdown.isBibFullscreen) {
|
|
33110
|
-
this.focus('endDate');
|
|
33111
|
-
}
|
|
33112
35166
|
}
|
|
33113
35167
|
}
|
|
33114
35168
|
}
|
|
@@ -33148,6 +35202,23 @@ class AuroDatePicker extends AuroElement {
|
|
|
33148
35202
|
this.resetInputs();
|
|
33149
35203
|
}
|
|
33150
35204
|
|
|
35205
|
+
/**
|
|
35206
|
+
* Checks whether a formatted date string matches a blackout date.
|
|
35207
|
+
* @private
|
|
35208
|
+
* @param {string} dateStr - A date string in the component's configured format.
|
|
35209
|
+
* @returns {boolean} True if the date is in the blackoutDates list.
|
|
35210
|
+
*/
|
|
35211
|
+
isBlackoutDate(dateStr) {
|
|
35212
|
+
if (!Array.isArray(this.blackoutDates) ||
|
|
35213
|
+
this.blackoutDates.length === 0 ||
|
|
35214
|
+
!dateStr ||
|
|
35215
|
+
!dateFormatter$1.isValidDate(dateStr)) {
|
|
35216
|
+
return false;
|
|
35217
|
+
}
|
|
35218
|
+
|
|
35219
|
+
return this.blackoutDates.includes(dateStr);
|
|
35220
|
+
}
|
|
35221
|
+
|
|
33151
35222
|
/**
|
|
33152
35223
|
* Validates value.
|
|
33153
35224
|
* @param {boolean} [force=false] - Whether to force validation.
|
|
@@ -33159,6 +35230,23 @@ class AuroDatePicker extends AuroElement {
|
|
|
33159
35230
|
}
|
|
33160
35231
|
|
|
33161
35232
|
this.validation.validate(this, force);
|
|
35233
|
+
|
|
35234
|
+
// After standard validation, check blackout dates for typed input
|
|
35235
|
+
if (this.validity !== 'customError' &&
|
|
35236
|
+
(this.isBlackoutDate(this.value) || (this.range && this.isBlackoutDate(this.valueEnd)))) { // eslint-disable-line no-extra-parens
|
|
35237
|
+
const msg = this.setCustomValidityCustomError || 'Selected date is unavailable';
|
|
35238
|
+
this.validity = 'customError';
|
|
35239
|
+
this.errorMessage = msg;
|
|
35240
|
+
|
|
35241
|
+
this.dispatchEvent(new CustomEvent('auroFormElement-validated', {
|
|
35242
|
+
bubbles: true,
|
|
35243
|
+
composed: true,
|
|
35244
|
+
detail: {
|
|
35245
|
+
validity: this.validity,
|
|
35246
|
+
message: this.errorMessage
|
|
35247
|
+
}
|
|
35248
|
+
}));
|
|
35249
|
+
}
|
|
33162
35250
|
}
|
|
33163
35251
|
|
|
33164
35252
|
/**
|
|
@@ -33186,7 +35274,7 @@ class AuroDatePicker extends AuroElement {
|
|
|
33186
35274
|
}
|
|
33187
35275
|
|
|
33188
35276
|
/**
|
|
33189
|
-
*
|
|
35277
|
+
* Lifecycle method to check if the locale is valid.
|
|
33190
35278
|
* @ignore
|
|
33191
35279
|
* @param {Map} changedProperties - The map of properties that have changed since the last update.
|
|
33192
35280
|
* @returns {void}
|
|
@@ -33197,17 +35285,20 @@ class AuroDatePicker extends AuroElement {
|
|
|
33197
35285
|
const supported = Intl.DateTimeFormat.supportedLocalesOf([this.locale], { localeMatcher: 'lookup' });
|
|
33198
35286
|
this._validLocale = supported.length > 0 ? this.locale : 'en-US';
|
|
33199
35287
|
} catch {
|
|
33200
|
-
console.debug(`[AuroDatePicker] The locale "${this.locale}" is not valid. Falling back to "en-US".`);
|
|
35288
|
+
console.debug(`[AuroDatePicker] The locale "${this.locale}" is not valid. Falling back to "en-US".`); // eslint-disable-line no-console
|
|
33201
35289
|
this._validLocale = 'en-US';
|
|
33202
35290
|
}
|
|
33203
35291
|
|
|
33204
|
-
// if there was not an explicit format set, or the format set matches the previous locale's default format,
|
|
33205
|
-
// update to the new locale's default format
|
|
33206
35292
|
const previousLocaleFormat = getDateFormatFromLocale$1(changedProperties.get('locale'));
|
|
33207
35293
|
if (!changedProperties.has('format') && (!this.format || this.format.toLowerCase() === previousLocaleFormat)) {
|
|
33208
35294
|
this.format = getDateFormatFromLocale$1(this._validLocale);
|
|
33209
35295
|
}
|
|
33210
35296
|
}
|
|
35297
|
+
|
|
35298
|
+
if (changedProperties.has('referenceDates') && this.calendar) {
|
|
35299
|
+
this.calendar.requestUpdate();
|
|
35300
|
+
this.dispatchEvent(new CustomEvent('auroDatePicker-newSlotContent'));
|
|
35301
|
+
}
|
|
33211
35302
|
}
|
|
33212
35303
|
|
|
33213
35304
|
updated(changedProperties) {
|
|
@@ -33237,17 +35328,18 @@ class AuroDatePicker extends AuroElement {
|
|
|
33237
35328
|
if (changedProperties.has('value')) {
|
|
33238
35329
|
|
|
33239
35330
|
// Change the calendar focus to the first valid date value only the first time the value is set
|
|
33240
|
-
if (!this.calendarFocusDate && dateFormatter$1.isValidDate(this.value)) {
|
|
33241
|
-
|
|
33242
|
-
this.calendarFocusDate = this.value;
|
|
35331
|
+
if (!this.calendarFocusDate && dateFormatter$1.isValidDate(this.value) && !this.dropdown.isPopoverVisible) {
|
|
35332
|
+
this.calendarFocusDate = this.value;
|
|
33243
35333
|
|
|
33244
|
-
|
|
33245
|
-
|
|
33246
|
-
}
|
|
35334
|
+
// Let the calendar know to scroll to the focus date when it is next rendered on mobile
|
|
35335
|
+
this.forceScrollOnNextMobileCalendarRender = true;
|
|
33247
35336
|
}
|
|
33248
35337
|
|
|
33249
35338
|
if (this.cellClickActive) {
|
|
33250
35339
|
this.cellClickActive = false;
|
|
35340
|
+
this.wasCellClick = true;
|
|
35341
|
+
} else {
|
|
35342
|
+
this.wasCellClick = false;
|
|
33251
35343
|
}
|
|
33252
35344
|
|
|
33253
35345
|
if (this.value && dateFormatter$1.isValidDate(this.value)) {
|
|
@@ -33265,13 +35357,48 @@ class AuroDatePicker extends AuroElement {
|
|
|
33265
35357
|
|
|
33266
35358
|
// update the inputs — auro-input accepts ISO directly
|
|
33267
35359
|
if (this.inputList[0].value !== this.value) {
|
|
33268
|
-
|
|
35360
|
+
if (this.value) {
|
|
35361
|
+
this.inputList[0].value = this.value;
|
|
35362
|
+
} else {
|
|
35363
|
+
this.inputList[0].value = '';
|
|
35364
|
+
}
|
|
35365
|
+
}
|
|
35366
|
+
|
|
35367
|
+
if (this.value && this.value.length === this.inputList[0].lengthForType && !(this.wasCellClick && this.range)) {
|
|
35368
|
+
// Skip centralDate update when user clicked a cell in range mode
|
|
35369
|
+
// to prevent the displayed months from shifting
|
|
35370
|
+
this.centralDate = this.value;
|
|
35371
|
+
//TODO: TEST THIS CHANGE
|
|
35372
|
+
// this.calendarRenderUtil.updateCentralDate(this, this.value);
|
|
33269
35373
|
}
|
|
33270
35374
|
|
|
33271
35375
|
this.setHasValue();
|
|
33272
35376
|
}
|
|
33273
35377
|
|
|
35378
|
+
if (changedProperties.has('blackoutDates')) {
|
|
35379
|
+
// Force calendar cells to re-render with updated blackout state.
|
|
35380
|
+
// requestUpdate on the calendar alone is insufficient because cells
|
|
35381
|
+
// don't receive blackoutDates as a bound property. Dispatching the
|
|
35382
|
+
// slot content event triggers handleSlotContent → requestUpdate on each cell.
|
|
35383
|
+
if (this.calendar) {
|
|
35384
|
+
this.calendar.requestUpdate();
|
|
35385
|
+
this.dispatchEvent(new CustomEvent('auroDatePicker-newSlotContent'));
|
|
35386
|
+
}
|
|
35387
|
+
|
|
35388
|
+
// Re-run validation so that a previously valid value that now falls on
|
|
35389
|
+
// a blackout date is flagged, and vice versa.
|
|
35390
|
+
if (this.value || this.valueEnd) {
|
|
35391
|
+
this.validate();
|
|
35392
|
+
}
|
|
35393
|
+
}
|
|
35394
|
+
|
|
33274
35395
|
if (changedProperties.has('valueEnd') && this.inputList[1]) {
|
|
35396
|
+
if (this.cellClickActive) {
|
|
35397
|
+
this.cellClickActive = false;
|
|
35398
|
+
this.wasCellClick = true;
|
|
35399
|
+
} else {
|
|
35400
|
+
this.wasCellClick = false;
|
|
35401
|
+
}
|
|
33275
35402
|
|
|
33276
35403
|
// update the calendar
|
|
33277
35404
|
if (this.valueEndObject) {
|
|
@@ -33289,7 +35416,19 @@ class AuroDatePicker extends AuroElement {
|
|
|
33289
35416
|
|
|
33290
35417
|
// update the inputs — auro-input accepts ISO directly
|
|
33291
35418
|
if (this.inputList[1].value !== this.valueEnd) {
|
|
33292
|
-
|
|
35419
|
+
if (this.valueEnd) {
|
|
35420
|
+
this.inputList[1].value = this.valueEnd;
|
|
35421
|
+
} else {
|
|
35422
|
+
this.inputList[1].value = '';
|
|
35423
|
+
}
|
|
35424
|
+
}
|
|
35425
|
+
|
|
35426
|
+
if (this.valueEnd && this.valueEnd.length === this.inputList[1].lengthForType && !this.wasCellClick) {
|
|
35427
|
+
// Skip centralDate update when user clicked a cell in range mode
|
|
35428
|
+
// to prevent the displayed months from shifting
|
|
35429
|
+
this.centralDate = this.valueEnd;
|
|
35430
|
+
// TODO: TEST THIS CHANGE
|
|
35431
|
+
// this.calendarRenderUtil.updateCentralDate(this, this.formattedValueEnd);
|
|
33293
35432
|
}
|
|
33294
35433
|
|
|
33295
35434
|
this.validate();
|
|
@@ -33332,16 +35471,14 @@ class AuroDatePicker extends AuroElement {
|
|
|
33332
35471
|
this.calendarRenderUtil.updateCentralDate(this, this.minDateObject);
|
|
33333
35472
|
}
|
|
33334
35473
|
|
|
33335
|
-
if (!changedProperties.has('value') && this.valueObject) {
|
|
33336
|
-
|
|
33337
|
-
this.value = undefined;
|
|
33338
|
-
|
|
33339
|
-
if (this.range && this.valueEnd) {
|
|
33340
|
-
this.valueEnd = undefined;
|
|
33341
|
-
}
|
|
35474
|
+
if (!changedProperties.has('value') && this.valueObject && this.minDateObject > this.valueObject) {
|
|
35475
|
+
this.value = undefined;
|
|
33342
35476
|
|
|
33343
|
-
|
|
35477
|
+
if (this.range && this.valueEnd) {
|
|
35478
|
+
this.valueEnd = undefined;
|
|
33344
35479
|
}
|
|
35480
|
+
|
|
35481
|
+
this.calendarRenderUtil.updateCentralDate(this, this.minDateObject);
|
|
33345
35482
|
}
|
|
33346
35483
|
|
|
33347
35484
|
// When there is no focusDate and no value, set the focusDate to the minDate
|
|
@@ -33372,16 +35509,14 @@ class AuroDatePicker extends AuroElement {
|
|
|
33372
35509
|
}
|
|
33373
35510
|
}
|
|
33374
35511
|
|
|
33375
|
-
if (this.maxDate && !changedProperties.has('value') && this.valueObject) {
|
|
33376
|
-
|
|
33377
|
-
this.value = undefined;
|
|
33378
|
-
|
|
33379
|
-
if (this.range && this.valueEnd) {
|
|
33380
|
-
this.valueEnd = undefined;
|
|
33381
|
-
}
|
|
35512
|
+
if (this.maxDate && !changedProperties.has('value') && this.valueObject && this.maxDateObject < this.valueObject) {
|
|
35513
|
+
this.value = undefined;
|
|
33382
35514
|
|
|
33383
|
-
|
|
35515
|
+
if (this.range && this.valueEnd) {
|
|
35516
|
+
this.valueEnd = undefined;
|
|
33384
35517
|
}
|
|
35518
|
+
|
|
35519
|
+
this.calendarRenderUtil.updateCentralDate(this, this.maxDateObject);
|
|
33385
35520
|
}
|
|
33386
35521
|
|
|
33387
35522
|
this.calendar.requestUpdate();
|
|
@@ -33439,6 +35574,7 @@ class AuroDatePicker extends AuroElement {
|
|
|
33439
35574
|
}
|
|
33440
35575
|
|
|
33441
35576
|
firstUpdated() {
|
|
35577
|
+
|
|
33442
35578
|
// Add the tag name as an attribute if it is different than the component name
|
|
33443
35579
|
this.runtimeUtils.handleComponentTagRename(this, 'auro-datepicker');
|
|
33444
35580
|
|
|
@@ -33721,7 +35857,7 @@ class AuroDatePicker extends AuroElement {
|
|
|
33721
35857
|
/**
|
|
33722
35858
|
* Handles click on the clear button.
|
|
33723
35859
|
* @private
|
|
33724
|
-
* @param {MouseEvent} event - The
|
|
35860
|
+
* @param {MouseEvent} event - The mouse event from the clear button click.
|
|
33725
35861
|
* @returns {void}
|
|
33726
35862
|
*/
|
|
33727
35863
|
handleClearClick(event) {
|
|
@@ -33869,7 +36005,7 @@ class AuroDatePicker extends AuroElement {
|
|
|
33869
36005
|
// Base HTML render() handles dropdown and calendar bib
|
|
33870
36006
|
return html$1`
|
|
33871
36007
|
<!-- Hidden slot for clear button aria-label -->
|
|
33872
|
-
<slot name="ariaLabel.input.clear" hidden @slotchange=${this.requestUpdate}></slot>
|
|
36008
|
+
<slot name="ariaLabel.input.clear" hidden @slotchange=${() => this.requestUpdate()}></slot>
|
|
33873
36009
|
|
|
33874
36010
|
<${this.dropdownTag}
|
|
33875
36011
|
appearance="${this.onDark ? 'inverse' : this.appearance}"
|
|
@@ -33886,6 +36022,7 @@ class AuroDatePicker extends AuroElement {
|
|
|
33886
36022
|
.shape="${this.shape}"
|
|
33887
36023
|
.size="${this.size}"
|
|
33888
36024
|
class="${classMap(dropdownElementClassMap)}"
|
|
36025
|
+
desktopModal
|
|
33889
36026
|
disableEventShow
|
|
33890
36027
|
for="dropdownMenu"
|
|
33891
36028
|
part="dropdown"
|