@aurodesignsystem-dev/auro-formkit 0.0.0-pr1509.1 → 0.0.0-pr1510.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/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/dist/index.js +1 -1
- package/components/checkbox/dist/registered.js +1 -1
- package/components/combobox/demo/customize.min.js +3 -3
- package/components/combobox/demo/getting-started.min.js +3 -3
- package/components/combobox/demo/index.min.js +3 -3
- package/components/combobox/dist/index.js +3 -3
- package/components/combobox/dist/registered.js +3 -3
- package/components/counter/demo/customize.min.js +2 -2
- package/components/counter/demo/index.min.js +2 -2
- package/components/counter/dist/index.js +2 -2
- package/components/counter/dist/registered.js +2 -2
- package/components/datepicker/demo/accessibility.md +2 -1
- package/components/datepicker/demo/api.md +63 -62
- package/components/datepicker/demo/customize.md +12 -1
- package/components/datepicker/demo/customize.min.js +579 -202
- package/components/datepicker/demo/index.min.js +579 -202
- package/components/datepicker/dist/{src/auro-calendar-cell.d.ts → auro-calendar-cell.d.ts} +14 -3
- package/components/datepicker/dist/{src/auro-calendar.d.ts → auro-calendar.d.ts} +90 -6
- package/components/datepicker/dist/{src/auro-datepicker.d.ts → auro-datepicker.d.ts} +78 -5
- package/components/datepicker/dist/blackoutUtils.d.ts +43 -0
- package/components/datepicker/dist/index.js +579 -202
- package/components/datepicker/dist/registered.js +579 -202
- package/components/dropdown/demo/customize.min.js +1 -1
- package/components/dropdown/demo/getting-started.min.js +1 -1
- package/components/dropdown/demo/index.min.js +1 -1
- package/components/dropdown/dist/index.js +1 -1
- package/components/dropdown/dist/registered.js +1 -1
- package/components/form/demo/customize.min.js +595 -218
- package/components/form/demo/getting-started.min.js +595 -218
- package/components/form/demo/index.min.js +595 -218
- package/components/form/demo/registerDemoDeps.min.js +595 -218
- 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/dist/index.js +1 -1
- package/components/input/dist/registered.js +1 -1
- package/components/radio/demo/customize.min.js +1 -1
- package/components/radio/demo/getting-started.min.js +1 -1
- package/components/radio/demo/index.min.js +1 -1
- package/components/radio/dist/index.js +1 -1
- package/components/radio/dist/registered.js +1 -1
- package/components/select/demo/customize.min.js +2 -2
- package/components/select/demo/getting-started.min.js +2 -2
- package/components/select/demo/index.min.js +2 -2
- package/components/select/dist/index.js +2 -2
- package/components/select/dist/registered.js +2 -2
- package/custom-elements.json +1696 -1414
- package/package.json +6 -2
- package/components/checkbox/demo/customize.js +0 -22
- package/components/checkbox/demo/demo-support.js +0 -1
- package/components/checkbox/demo/getting-started.js +0 -22
- package/components/checkbox/demo/index.js +0 -8
- package/components/checkbox/demo/styles.scss +0 -1
- package/components/combobox/demo/customize.js +0 -24
- package/components/combobox/demo/demo-support.js +0 -1
- package/components/combobox/demo/getting-started.js +0 -21
- package/components/combobox/demo/index.js +0 -23
- package/components/combobox/demo/styles.scss +0 -1
- package/components/counter/demo/customize.js +0 -21
- package/components/counter/demo/demo-support.js +0 -1
- package/components/counter/demo/index.js +0 -21
- package/components/counter/demo/styles.scss +0 -1
- package/components/datepicker/demo/customize.js +0 -17
- package/components/datepicker/demo/demo-support.js +0 -1
- package/components/datepicker/demo/index.js +0 -23
- package/components/datepicker/demo/styles.scss +0 -1
- package/components/dropdown/demo/customize.js +0 -9
- package/components/dropdown/demo/demo-support.js +0 -1
- package/components/dropdown/demo/getting-started.js +0 -9
- package/components/dropdown/demo/index.js +0 -16
- package/components/dropdown/demo/styles.scss +0 -1
- package/components/form/demo/customize.js +0 -28
- package/components/form/demo/demo-support.js +0 -1
- package/components/form/demo/getting-started.js +0 -9
- package/components/form/demo/index.js +0 -5
- package/components/form/demo/registerDemoDeps.js +0 -23
- package/components/form/demo/styles.scss +0 -1
- package/components/input/demo/customize.js +0 -25
- package/components/input/demo/demo-support.js +0 -1
- package/components/input/demo/getting-started.js +0 -8
- package/components/input/demo/index.js +0 -8
- package/components/input/demo/styles.css +0 -974
- package/components/input/demo/styles.scss +0 -1
- package/components/menu/demo/demo-support.js +0 -1
- package/components/menu/demo/index.js +0 -25
- package/components/menu/demo/styles.scss +0 -1
- package/components/radio/demo/customize.js +0 -22
- package/components/radio/demo/demo-support.js +0 -1
- package/components/radio/demo/getting-started.js +0 -24
- package/components/radio/demo/index.js +0 -8
- package/components/radio/demo/styles.scss +0 -1
- package/components/select/demo/customize.js +0 -11
- package/components/select/demo/demo-support.js +0 -1
- package/components/select/demo/getting-started.js +0 -26
- package/components/select/demo/index.js +0 -11
- package/components/select/demo/styles.scss +0 -1
- /package/components/datepicker/dist/{src/auro-calendar-month.d.ts → auro-calendar-month.d.ts} +0 -0
- /package/components/datepicker/dist/{src/buttonVersion.d.ts → buttonVersion.d.ts} +0 -0
- /package/components/datepicker/dist/{src/datepickerKeyboardStrategy.d.ts → datepickerKeyboardStrategy.d.ts} +0 -0
- /package/components/datepicker/dist/{src/iconVersion.d.ts → iconVersion.d.ts} +0 -0
- /package/components/datepicker/dist/{src/index.d.ts → index.d.ts} +0 -0
- /package/components/datepicker/dist/{src/popoverVersion.d.ts → popoverVersion.d.ts} +0 -0
- /package/components/datepicker/dist/{src/styles → styles}/classic/color-css.d.ts +0 -0
- /package/components/datepicker/dist/{src/styles → styles}/classic/style-css.d.ts +0 -0
- /package/components/datepicker/dist/{src/styles → styles}/color-calendar-css.d.ts +0 -0
- /package/components/datepicker/dist/{src/styles → styles}/color-cell-css.d.ts +0 -0
- /package/components/datepicker/dist/{src/styles → styles}/color-css.d.ts +0 -0
- /package/components/datepicker/dist/{src/styles → styles}/color-month-css.d.ts +0 -0
- /package/components/datepicker/dist/{src/styles → styles}/shapeSize-css.d.ts +0 -0
- /package/components/datepicker/dist/{src/styles → styles}/snowflake/color-css.d.ts +0 -0
- /package/components/datepicker/dist/{src/styles → styles}/snowflake/style-css.d.ts +0 -0
- /package/components/datepicker/dist/{src/styles → styles}/style-auro-calendar-cell-css.d.ts +0 -0
- /package/components/datepicker/dist/{src/styles → styles}/style-auro-calendar-css.d.ts +0 -0
- /package/components/datepicker/dist/{src/styles → styles}/style-auro-calendar-month-css.d.ts +0 -0
- /package/components/datepicker/dist/{src/styles → styles}/style-css.d.ts +0 -0
- /package/components/datepicker/dist/{src/styles → styles}/tokens-css.d.ts +0 -0
- /package/components/datepicker/dist/{src/utilities.d.ts → utilities.d.ts} +0 -0
- /package/components/datepicker/dist/{src/utilitiesCalendar.d.ts → utilitiesCalendar.d.ts} +0 -0
- /package/components/datepicker/dist/{src/utilitiesCalendarRender.d.ts → utilitiesCalendarRender.d.ts} +0 -0
- /package/components/datepicker/dist/{src/vendor → vendor}/wc-range-datepicker/day.d.ts +0 -0
- /package/components/datepicker/dist/{src/vendor → vendor}/wc-range-datepicker/range-datepicker-calendar.d.ts +0 -0
- /package/components/datepicker/dist/{src/vendor → vendor}/wc-range-datepicker/range-datepicker-cell.d.ts +0 -0
- /package/components/datepicker/dist/{src/vendor → vendor}/wc-range-datepicker/range-datepicker.d.ts +0 -0
|
@@ -1373,7 +1373,7 @@ function normalizeDates$1(context, ...dates) {
|
|
|
1373
1373
|
* const result = startOfDay(new Date(2014, 8, 2, 11, 55, 0))
|
|
1374
1374
|
* //=> Tue Sep 02 2014 00:00:00
|
|
1375
1375
|
*/
|
|
1376
|
-
function startOfDay$
|
|
1376
|
+
function startOfDay$1(date, options) {
|
|
1377
1377
|
const _date = toDate$1(date, options?.in);
|
|
1378
1378
|
_date.setHours(0, 0, 0, 0);
|
|
1379
1379
|
return _date;
|
|
@@ -1421,8 +1421,8 @@ function differenceInCalendarDays$1(laterDate, earlierDate, options) {
|
|
|
1421
1421
|
earlierDate,
|
|
1422
1422
|
);
|
|
1423
1423
|
|
|
1424
|
-
const laterStartOfDay = startOfDay$
|
|
1425
|
-
const earlierStartOfDay = startOfDay$
|
|
1424
|
+
const laterStartOfDay = startOfDay$1(laterDate_);
|
|
1425
|
+
const earlierStartOfDay = startOfDay$1(earlierDate_);
|
|
1426
1426
|
|
|
1427
1427
|
const laterTimestamp =
|
|
1428
1428
|
+laterStartOfDay - getTimezoneOffsetInMilliseconds$1(laterStartOfDay);
|
|
@@ -10904,8 +10904,8 @@ class RangeDatepickerCell extends i$1 {
|
|
|
10904
10904
|
const parsedDateFrom = parseInt(dateFrom, 10);
|
|
10905
10905
|
const parsedDateTo = parseInt(dateTo, 10);
|
|
10906
10906
|
if (day) {
|
|
10907
|
-
if (getTime(startOfDay$
|
|
10908
|
-
getTime(startOfDay$
|
|
10907
|
+
if (getTime(startOfDay$1(parsedDateTo * 1000)) / 1000 === day.date ||
|
|
10908
|
+
getTime(startOfDay$1(parsedDateFrom * 1000)) / 1000 === day.date) {
|
|
10909
10909
|
this.selected = true;
|
|
10910
10910
|
}
|
|
10911
10911
|
if (((hoveredDate === day.date || day.date < hoveredDate) &&
|
|
@@ -11093,7 +11093,7 @@ class RangeDatepickerCalendar extends i$1 {
|
|
|
11093
11093
|
this.dayNamesOfTheWeek = [];
|
|
11094
11094
|
this.daysOfMonth = [];
|
|
11095
11095
|
this._locale = null;
|
|
11096
|
-
this.currentDate = parseInt(format$1(startOfDay$
|
|
11096
|
+
this.currentDate = parseInt(format$1(startOfDay$1(Date.now()), 't'), 10);
|
|
11097
11097
|
this.localeChanged();
|
|
11098
11098
|
this.yearAndMonthChanged(this.year, this.month);
|
|
11099
11099
|
}
|
|
@@ -11567,7 +11567,7 @@ __decorate([n$4({ type: Array })], RangeDatepickerCalendar.prototype, "dayNamesO
|
|
|
11567
11567
|
__decorate([n$4({ type: Array })], RangeDatepickerCalendar.prototype, "daysOfMonth", void 0);
|
|
11568
11568
|
AuroLibraryRuntimeUtils$5.prototype.registerComponent('wc-range-datepicker-calendar', RangeDatepickerCalendar);
|
|
11569
11569
|
|
|
11570
|
-
var styleCss$5 = i$3`.body-default{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-default-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-default-font-size, 1rem);line-height:var(--wcss-body-default-line-height, 1.5rem)}.body-default-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-default-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-default-emphasized-font-size, 1rem);line-height:var(--wcss-body-default-emphasized-line-height, 1.5rem)}.body-lg{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-lg-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-lg-font-size, 1.125rem);line-height:var(--wcss-body-lg-line-height, 1.625rem)}.body-lg-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-lg-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-lg-emphasized-font-size, 1.125rem);line-height:var(--wcss-body-lg-emphasized-line-height, 1.625rem)}.body-sm{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-sm-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-sm-font-size, 0.875rem);line-height:var(--wcss-body-sm-line-height, 1.25rem)}.body-sm-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-sm-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-sm-emphasized-font-size, 0.875rem);line-height:var(--wcss-body-sm-emphasized-line-height, 1.25rem)}.body-xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-xs-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-xs-font-size, 0.75rem);line-height:var(--wcss-body-xs-line-height, 1rem)}.body-xs-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-xs-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-xs-emphasized-font-size, 0.75rem);line-height:var(--wcss-body-xs-emphasized-line-height, 1rem)}.body-2xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-2xs-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-2xs-font-size, 0.625rem);line-height:var(--wcss-body-2xs-line-height, 0.875rem)}.body-2xs-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-2xs-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-2xs-emphasized-font-size, 0.625rem);line-height:var(--wcss-body-2xs-emphasized-line-height, 0.875rem)}.display-2xl{font-family:var(--wcss-display-2xl-family, "AS Circular"),var(--wcss-display-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-2xl-weight, 300);line-height:var(--wcss-display-2xl-line-height, 1.3);font-size:var(--wcss-display-2xl-font-size, clamp(3.5rem, 6vw, 5.375rem));letter-spacing:var(--wcss-display-2xl-letter-spacing, 0)}.display-xl{font-family:var(--wcss-display-xl-family, "AS Circular"),var(--wcss-display-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-xl-weight, 300);line-height:var(--wcss-display-xl-line-height, 1.3);font-size:var(--wcss-display-xl-font-size, clamp(3rem, 5.3333333333vw, 4.5rem));letter-spacing:var(--wcss-display-xl-letter-spacing, 0)}.display-lg{font-family:var(--wcss-display-lg-family, "AS Circular"),var(--wcss-display-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-lg-weight, 300);line-height:var(--wcss-display-lg-line-height, 1.3);font-size:var(--wcss-display-lg-font-size, clamp(2.75rem, 4.6666666667vw, 4rem));letter-spacing:var(--wcss-display-lg-letter-spacing, 0)}.display-md{font-family:var(--wcss-display-md-family, "AS Circular"),var(--wcss-display-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-md-weight, 300);line-height:var(--wcss-display-md-line-height, 1.3);font-size:var(--wcss-display-md-font-size, clamp(2.5rem, 4vw, 3.5rem));letter-spacing:var(--wcss-display-md-letter-spacing, 0)}.display-sm{font-family:var(--wcss-display-sm-family, "AS Circular"),var(--wcss-display-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-sm-weight, 300);line-height:var(--wcss-display-sm-line-height, 1.3);font-size:var(--wcss-display-sm-font-size, clamp(2rem, 3.6666666667vw, 3rem));letter-spacing:var(--wcss-display-sm-letter-spacing, 0)}.display-xs{font-family:var(--wcss-display-xs-family, "AS Circular"),var(--wcss-display-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-xs-weight, 300);line-height:var(--wcss-display-xs-line-height, 1.3);font-size:var(--wcss-display-xs-font-size, clamp(1.75rem, 3vw, 2.375rem));letter-spacing:var(--wcss-display-xs-letter-spacing, 0)}.heading-xl{font-family:var(--wcss-heading-xl-family, "AS Circular"),var(--wcss-heading-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-xl-weight, 300);line-height:var(--wcss-heading-xl-line-height, 1.3);font-size:var(--wcss-heading-xl-font-size, clamp(2rem, 3vw, 2.5rem));letter-spacing:var(--wcss-heading-xl-letter-spacing, 0)}.heading-lg{font-family:var(--wcss-heading-lg-family, "AS Circular"),var(--wcss-heading-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-lg-weight, 300);line-height:var(--wcss-heading-lg-line-height, 1.3);font-size:var(--wcss-heading-lg-font-size, clamp(1.75rem, 2.6666666667vw, 2.25rem));letter-spacing:var(--wcss-heading-lg-letter-spacing, 0)}.heading-md{font-family:var(--wcss-heading-md-family, "AS Circular"),var(--wcss-heading-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-md-weight, 300);line-height:var(--wcss-heading-md-line-height, 1.3);font-size:var(--wcss-heading-md-font-size, clamp(1.625rem, 2.3333333333vw, 1.75rem));letter-spacing:var(--wcss-heading-md-letter-spacing, 0)}.heading-sm{font-family:var(--wcss-heading-sm-family, "AS Circular"),var(--wcss-heading-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-sm-weight, 300);line-height:var(--wcss-heading-sm-line-height, 1.3);font-size:var(--wcss-heading-sm-font-size, clamp(1.375rem, 2vw, 1.5rem));letter-spacing:var(--wcss-heading-sm-letter-spacing, 0)}.heading-xs{font-family:var(--wcss-heading-xs-family, "AS Circular"),var(--wcss-heading-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-xs-weight, 300);line-height:var(--wcss-heading-xs-line-height, 1.3);font-size:var(--wcss-heading-xs-font-size, clamp(1.25rem, 1.6666666667vw, 1.25rem));letter-spacing:var(--wcss-heading-xs-letter-spacing, 0)}.heading-2xs{font-family:var(--wcss-heading-2xs-family, "AS Circular"),var(--wcss-heading-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-2xs-weight, 300);line-height:var(--wcss-heading-2xs-line-height, 1.3);font-size:var(--wcss-heading-2xs-font-size, clamp(1.125rem, 1.5vw, 1.125rem));letter-spacing:var(--wcss-heading-2xs-letter-spacing, 0)}.accent-2xl{font-family:var(--wcss-accent-2xl-family, "Good OT"),var(--wcss-accent-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-2xl-weight, 450);line-height:var(--wcss-accent-2xl-line-height, 1);font-size:var(--wcss-accent-2xl-font-size, clamp(2rem, 3.1666666667vw, 2.375rem));letter-spacing:var(--wcss-accent-2xl-letter-spacing, 0.05em);text-transform:uppercase}.accent-xl{font-family:var(--wcss-accent-xl-family, "Good OT"),var(--wcss-accent-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-xl-weight, 450);line-height:var(--wcss-accent-xl-line-height, 1.3);font-size:var(--wcss-accent-xl-font-size, clamp(1.625rem, 2.3333333333vw, 2rem));letter-spacing:var(--wcss-accent-xl-letter-spacing, 0.05em);text-transform:uppercase}.accent-lg{font-family:var(--wcss-accent-lg-family, "Good OT"),var(--wcss-accent-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-lg-weight, 450);line-height:var(--wcss-accent-lg-line-height, 1.3);font-size:var(--wcss-accent-lg-font-size, clamp(1.5rem, 2.1666666667vw, 1.75rem));letter-spacing:var(--wcss-accent-lg-letter-spacing, 0.05em);text-transform:uppercase}.accent-md{font-family:var(--wcss-accent-md-family, "Good OT"),var(--wcss-accent-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-md-weight, 500);line-height:var(--wcss-accent-md-line-height, 1.3);font-size:var(--wcss-accent-md-font-size, clamp(1.375rem, 1.8333333333vw, 1.5rem));letter-spacing:var(--wcss-accent-md-letter-spacing, 0.05em);text-transform:uppercase}.accent-sm{font-family:var(--wcss-accent-sm-family, "Good OT"),var(--wcss-accent-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-sm-weight, 500);line-height:var(--wcss-accent-sm-line-height, 1.3);font-size:var(--wcss-accent-sm-font-size, clamp(1.125rem, 1.5vw, 1.25rem));letter-spacing:var(--wcss-accent-sm-letter-spacing, 0.05em);text-transform:uppercase}.accent-xs{font-family:var(--wcss-accent-xs-family, "Good OT"),var(--wcss-accent-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-xs-weight, 500);line-height:var(--wcss-accent-xs-line-height, 1.3);font-size:var(--wcss-accent-xs-font-size, clamp(1rem, 1.3333333333vw, 1rem));letter-spacing:var(--wcss-accent-xs-letter-spacing, 0.1em);text-transform:uppercase}.accent-2xs{font-family:var(--wcss-accent-2xs-family, "Good OT"),var(--wcss-accent-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-2xs-weight, 450);line-height:var(--wcss-accent-2xs-line-height, 1.3);font-size:var(--wcss-accent-2xs-font-size, clamp(0.875rem, 1.1666666667vw, 0.875rem));letter-spacing:var(--wcss-accent-2xs-letter-spacing, 0.1em);text-transform:uppercase}@media screen and (max-width: 576px){:host{display:flex;justify-content:center}}.day{position:relative;width: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}`;
|
|
11570
|
+
var styleCss$5 = i$3`.body-default{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-default-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-default-font-size, 1rem);line-height:var(--wcss-body-default-line-height, 1.5rem)}.body-default-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-default-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-default-emphasized-font-size, 1rem);line-height:var(--wcss-body-default-emphasized-line-height, 1.5rem)}.body-lg{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-lg-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-lg-font-size, 1.125rem);line-height:var(--wcss-body-lg-line-height, 1.625rem)}.body-lg-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-lg-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-lg-emphasized-font-size, 1.125rem);line-height:var(--wcss-body-lg-emphasized-line-height, 1.625rem)}.body-sm{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-sm-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-sm-font-size, 0.875rem);line-height:var(--wcss-body-sm-line-height, 1.25rem)}.body-sm-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-sm-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-sm-emphasized-font-size, 0.875rem);line-height:var(--wcss-body-sm-emphasized-line-height, 1.25rem)}.body-xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-xs-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-xs-font-size, 0.75rem);line-height:var(--wcss-body-xs-line-height, 1rem)}.body-xs-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-xs-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-xs-emphasized-font-size, 0.75rem);line-height:var(--wcss-body-xs-emphasized-line-height, 1rem)}.body-2xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-2xs-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-2xs-font-size, 0.625rem);line-height:var(--wcss-body-2xs-line-height, 0.875rem)}.body-2xs-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-2xs-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-2xs-emphasized-font-size, 0.625rem);line-height:var(--wcss-body-2xs-emphasized-line-height, 0.875rem)}.display-2xl{font-family:var(--wcss-display-2xl-family, "AS Circular"),var(--wcss-display-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-2xl-weight, 300);line-height:var(--wcss-display-2xl-line-height, 1.3);font-size:var(--wcss-display-2xl-font-size, clamp(3.5rem, 6vw, 5.375rem));letter-spacing:var(--wcss-display-2xl-letter-spacing, 0)}.display-xl{font-family:var(--wcss-display-xl-family, "AS Circular"),var(--wcss-display-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-xl-weight, 300);line-height:var(--wcss-display-xl-line-height, 1.3);font-size:var(--wcss-display-xl-font-size, clamp(3rem, 5.3333333333vw, 4.5rem));letter-spacing:var(--wcss-display-xl-letter-spacing, 0)}.display-lg{font-family:var(--wcss-display-lg-family, "AS Circular"),var(--wcss-display-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-lg-weight, 300);line-height:var(--wcss-display-lg-line-height, 1.3);font-size:var(--wcss-display-lg-font-size, clamp(2.75rem, 4.6666666667vw, 4rem));letter-spacing:var(--wcss-display-lg-letter-spacing, 0)}.display-md{font-family:var(--wcss-display-md-family, "AS Circular"),var(--wcss-display-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-md-weight, 300);line-height:var(--wcss-display-md-line-height, 1.3);font-size:var(--wcss-display-md-font-size, clamp(2.5rem, 4vw, 3.5rem));letter-spacing:var(--wcss-display-md-letter-spacing, 0)}.display-sm{font-family:var(--wcss-display-sm-family, "AS Circular"),var(--wcss-display-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-sm-weight, 300);line-height:var(--wcss-display-sm-line-height, 1.3);font-size:var(--wcss-display-sm-font-size, clamp(2rem, 3.6666666667vw, 3rem));letter-spacing:var(--wcss-display-sm-letter-spacing, 0)}.display-xs{font-family:var(--wcss-display-xs-family, "AS Circular"),var(--wcss-display-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-xs-weight, 300);line-height:var(--wcss-display-xs-line-height, 1.3);font-size:var(--wcss-display-xs-font-size, clamp(1.75rem, 3vw, 2.375rem));letter-spacing:var(--wcss-display-xs-letter-spacing, 0)}.heading-xl{font-family:var(--wcss-heading-xl-family, "AS Circular"),var(--wcss-heading-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-xl-weight, 300);line-height:var(--wcss-heading-xl-line-height, 1.3);font-size:var(--wcss-heading-xl-font-size, clamp(2rem, 3vw, 2.5rem));letter-spacing:var(--wcss-heading-xl-letter-spacing, 0)}.heading-lg{font-family:var(--wcss-heading-lg-family, "AS Circular"),var(--wcss-heading-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-lg-weight, 300);line-height:var(--wcss-heading-lg-line-height, 1.3);font-size:var(--wcss-heading-lg-font-size, clamp(1.75rem, 2.6666666667vw, 2.25rem));letter-spacing:var(--wcss-heading-lg-letter-spacing, 0)}.heading-md{font-family:var(--wcss-heading-md-family, "AS Circular"),var(--wcss-heading-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-md-weight, 300);line-height:var(--wcss-heading-md-line-height, 1.3);font-size:var(--wcss-heading-md-font-size, clamp(1.625rem, 2.3333333333vw, 1.75rem));letter-spacing:var(--wcss-heading-md-letter-spacing, 0)}.heading-sm{font-family:var(--wcss-heading-sm-family, "AS Circular"),var(--wcss-heading-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-sm-weight, 300);line-height:var(--wcss-heading-sm-line-height, 1.3);font-size:var(--wcss-heading-sm-font-size, clamp(1.375rem, 2vw, 1.5rem));letter-spacing:var(--wcss-heading-sm-letter-spacing, 0)}.heading-xs{font-family:var(--wcss-heading-xs-family, "AS Circular"),var(--wcss-heading-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-xs-weight, 300);line-height:var(--wcss-heading-xs-line-height, 1.3);font-size:var(--wcss-heading-xs-font-size, clamp(1.25rem, 1.6666666667vw, 1.25rem));letter-spacing:var(--wcss-heading-xs-letter-spacing, 0)}.heading-2xs{font-family:var(--wcss-heading-2xs-family, "AS Circular"),var(--wcss-heading-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-2xs-weight, 300);line-height:var(--wcss-heading-2xs-line-height, 1.3);font-size:var(--wcss-heading-2xs-font-size, clamp(1.125rem, 1.5vw, 1.125rem));letter-spacing:var(--wcss-heading-2xs-letter-spacing, 0)}.accent-2xl{font-family:var(--wcss-accent-2xl-family, "Good OT"),var(--wcss-accent-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-2xl-weight, 450);line-height:var(--wcss-accent-2xl-line-height, 1);font-size:var(--wcss-accent-2xl-font-size, clamp(2rem, 3.1666666667vw, 2.375rem));letter-spacing:var(--wcss-accent-2xl-letter-spacing, 0.05em);text-transform:uppercase}.accent-xl{font-family:var(--wcss-accent-xl-family, "Good OT"),var(--wcss-accent-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-xl-weight, 450);line-height:var(--wcss-accent-xl-line-height, 1.3);font-size:var(--wcss-accent-xl-font-size, clamp(1.625rem, 2.3333333333vw, 2rem));letter-spacing:var(--wcss-accent-xl-letter-spacing, 0.05em);text-transform:uppercase}.accent-lg{font-family:var(--wcss-accent-lg-family, "Good OT"),var(--wcss-accent-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-lg-weight, 450);line-height:var(--wcss-accent-lg-line-height, 1.3);font-size:var(--wcss-accent-lg-font-size, clamp(1.5rem, 2.1666666667vw, 1.75rem));letter-spacing:var(--wcss-accent-lg-letter-spacing, 0.05em);text-transform:uppercase}.accent-md{font-family:var(--wcss-accent-md-family, "Good OT"),var(--wcss-accent-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-md-weight, 500);line-height:var(--wcss-accent-md-line-height, 1.3);font-size:var(--wcss-accent-md-font-size, clamp(1.375rem, 1.8333333333vw, 1.5rem));letter-spacing:var(--wcss-accent-md-letter-spacing, 0.05em);text-transform:uppercase}.accent-sm{font-family:var(--wcss-accent-sm-family, "Good OT"),var(--wcss-accent-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-sm-weight, 500);line-height:var(--wcss-accent-sm-line-height, 1.3);font-size:var(--wcss-accent-sm-font-size, clamp(1.125rem, 1.5vw, 1.25rem));letter-spacing:var(--wcss-accent-sm-letter-spacing, 0.05em);text-transform:uppercase}.accent-xs{font-family:var(--wcss-accent-xs-family, "Good OT"),var(--wcss-accent-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-xs-weight, 500);line-height:var(--wcss-accent-xs-line-height, 1.3);font-size:var(--wcss-accent-xs-font-size, clamp(1rem, 1.3333333333vw, 1rem));letter-spacing:var(--wcss-accent-xs-letter-spacing, 0.1em);text-transform:uppercase}.accent-2xs{font-family:var(--wcss-accent-2xs-family, "Good OT"),var(--wcss-accent-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-2xs-weight, 450);line-height:var(--wcss-accent-2xs-line-height, 1.3);font-size:var(--wcss-accent-2xs-font-size, clamp(0.875rem, 1.1666666667vw, 0.875rem));letter-spacing:var(--wcss-accent-2xs-letter-spacing, 0.1em);text-transform:uppercase}@media screen and (max-width: 576px){:host{display:flex;justify-content:center}}.day{position:relative;width: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.rangeDepartDate.lastHoveredDate::before{border-radius:10px}.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}`;
|
|
11571
11571
|
|
|
11572
11572
|
var colorCss$5 = i$3`:host ::slotted([slot^=date_]){color:var(--ds-auro-calendar-cell-price-text-color)}:host ::slotted([slot^=date_][highlight]){--ds-auro-calendar-cell-price-text-color: var(--ds-basic-color-status-success, #447a1f)}:host .day{border-color:var(--ds-auro-calendar-cell-border-color);background-color:var(--ds-auro-calendar-cell-container-color);color:var(--ds-auro-calendar-cell-text-color)}:host .day.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}`;
|
|
11573
11573
|
|
|
@@ -11592,13 +11592,103 @@ let s$2 = class s{registerComponent(e,t){customElements.get(e)||customElements.d
|
|
|
11592
11592
|
|
|
11593
11593
|
var popoverVersion = '6.0.1';
|
|
11594
11594
|
|
|
11595
|
-
|
|
11595
|
+
/**
|
|
11596
|
+
* Single source of truth for parsing and matching blackout dates across the
|
|
11597
|
+
* datepicker. Both `auro-calendar` (memoized Set + `isDateBlackout`) and the
|
|
11598
|
+
* pre-`firstUpdated` fallback inside `auro-calendar-cell` route through these
|
|
11599
|
+
* helpers so the YYYY-MM-DD → seconds conversion and the merge-with-legacy
|
|
11600
|
+
* `disabledDays` rules are defined exactly once.
|
|
11601
|
+
*/
|
|
11596
11602
|
|
|
11597
|
-
|
|
11598
|
-
|
|
11599
|
-
|
|
11600
|
-
|
|
11601
|
-
|
|
11603
|
+
/**
|
|
11604
|
+
* Converts a `YYYY-MM-DD` ISO date string to a Unix timestamp (seconds)
|
|
11605
|
+
* representing local midnight on that calendar day. Returns `null` for
|
|
11606
|
+
* inputs that don't parse to a finite timestamp.
|
|
11607
|
+
*
|
|
11608
|
+
* Uses the `new Date(year, monthIndex, day)` constructor (NOT
|
|
11609
|
+
* `new Date(isoStr)`) so the result is local-midnight rather than UTC
|
|
11610
|
+
* midnight — required to keep the calendar grid aligned with the user's
|
|
11611
|
+
* local calendar day in negative-offset timezones.
|
|
11612
|
+
*
|
|
11613
|
+
* @param {string} isoStr - Date string in `YYYY-MM-DD` format.
|
|
11614
|
+
* @returns {number|null} Local-midnight Unix timestamp (seconds), or null.
|
|
11615
|
+
*/
|
|
11616
|
+
function parseIsoToTimestamp(isoStr) {
|
|
11617
|
+
if (typeof isoStr !== 'string') {
|
|
11618
|
+
return null;
|
|
11619
|
+
}
|
|
11620
|
+
const parts = isoStr.split('-');
|
|
11621
|
+
if (parts.length !== 3) {
|
|
11622
|
+
return null;
|
|
11623
|
+
}
|
|
11624
|
+
const year = parseInt(parts[0], 10);
|
|
11625
|
+
const month = parseInt(parts[1], 10);
|
|
11626
|
+
const day = parseInt(parts[2], 10);
|
|
11627
|
+
if (!Number.isFinite(year) || !Number.isFinite(month) || !Number.isFinite(day)) {
|
|
11628
|
+
return null;
|
|
11629
|
+
}
|
|
11630
|
+
// Reject overflow values like "2024-13-40" — JS `new Date(year, month, day)`
|
|
11631
|
+
// silently normalizes those to a different calendar day, which would
|
|
11632
|
+
// disable the wrong date if we let the result through.
|
|
11633
|
+
if (month < 1 || month > 12 || day < 1 || day > 31) {
|
|
11634
|
+
return null;
|
|
11635
|
+
}
|
|
11636
|
+
const date = new Date(year, month - 1, day);
|
|
11637
|
+
// Guard the residual case where JS still rolls a value (e.g. Feb 30 → Mar 2).
|
|
11638
|
+
// After construction, getFullYear/getMonth/getDate should match the inputs.
|
|
11639
|
+
if (date.getFullYear() !== year || date.getMonth() !== month - 1 || date.getDate() !== day) {
|
|
11640
|
+
return null;
|
|
11641
|
+
}
|
|
11642
|
+
const ts = Math.floor(date.getTime() / 1000);
|
|
11643
|
+
return Number.isFinite(ts) ? ts : null;
|
|
11644
|
+
}
|
|
11645
|
+
|
|
11646
|
+
/**
|
|
11647
|
+
* Builds a `Set<number>` of seconds-since-epoch timestamps covering both the
|
|
11648
|
+
* legacy `disabledDays` (already-numeric) array and the ISO `blackoutDates`
|
|
11649
|
+
* array. Use this for O(1) membership checks in hot paths.
|
|
11650
|
+
*
|
|
11651
|
+
* @param {Array<string|number>|undefined} disabledDays - Legacy timestamp array.
|
|
11652
|
+
* @param {Array<string>|undefined} blackoutDates - ISO `YYYY-MM-DD` array.
|
|
11653
|
+
* @returns {Set<number>}
|
|
11654
|
+
*/
|
|
11655
|
+
function buildBlackoutSet(disabledDays, blackoutDates) {
|
|
11656
|
+
const set = new Set();
|
|
11657
|
+
if (Array.isArray(disabledDays)) {
|
|
11658
|
+
for (const day of disabledDays) {
|
|
11659
|
+
const ts = parseInt(day, 10);
|
|
11660
|
+
if (Number.isFinite(ts)) {
|
|
11661
|
+
set.add(ts);
|
|
11662
|
+
}
|
|
11663
|
+
}
|
|
11664
|
+
}
|
|
11665
|
+
if (Array.isArray(blackoutDates)) {
|
|
11666
|
+
for (const isoStr of blackoutDates) {
|
|
11667
|
+
const ts = parseIsoToTimestamp(isoStr);
|
|
11668
|
+
if (ts !== null) {
|
|
11669
|
+
set.add(ts);
|
|
11670
|
+
}
|
|
11671
|
+
}
|
|
11672
|
+
}
|
|
11673
|
+
return set;
|
|
11674
|
+
}
|
|
11675
|
+
|
|
11676
|
+
/**
|
|
11677
|
+
* One-shot membership test for a single timestamp against both blackout
|
|
11678
|
+
* sources. Allocates a Set on each call; only use this in cold paths
|
|
11679
|
+
* (e.g. the pre-`firstUpdated` cell fallback). Hot paths should hold the
|
|
11680
|
+
* Set returned from `buildBlackoutSet` and `.has(ts)` directly.
|
|
11681
|
+
*
|
|
11682
|
+
* @param {number} dateTs - Unix timestamp (seconds) to test.
|
|
11683
|
+
* @param {Array<string|number>|undefined} disabledDays - Legacy timestamp array.
|
|
11684
|
+
* @param {Array<string>|undefined} blackoutDates - ISO `YYYY-MM-DD` array.
|
|
11685
|
+
* @returns {boolean}
|
|
11686
|
+
*/
|
|
11687
|
+
function isBlackoutTimestamp(dateTs, disabledDays, blackoutDates) {
|
|
11688
|
+
return buildBlackoutSet(disabledDays, blackoutDates).has(dateTs);
|
|
11689
|
+
}
|
|
11690
|
+
|
|
11691
|
+
/* 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 */
|
|
11602
11692
|
|
|
11603
11693
|
class AuroCalendarCell extends i$1 {
|
|
11604
11694
|
constructor() {
|
|
@@ -11646,6 +11736,14 @@ class AuroCalendarCell extends i$1 {
|
|
|
11646
11736
|
type: Boolean,
|
|
11647
11737
|
reflect: true
|
|
11648
11738
|
},
|
|
11739
|
+
/**
|
|
11740
|
+
* @deprecated Propagated from the legacy `auro-calendar.disabledDays`
|
|
11741
|
+
* Unix-timestamp array. The cell honors it for backward compatibility
|
|
11742
|
+
* (see the divergence-check fallback inside `isBlackout`), but
|
|
11743
|
+
* consumers should migrate to `auro-datepicker.blackoutDates`
|
|
11744
|
+
* (YYYY-MM-DD ISO strings). The calendar emits a one-time
|
|
11745
|
+
* deprecation warning the first time a non-empty value is observed.
|
|
11746
|
+
*/
|
|
11649
11747
|
disabledDays: { type: Array },
|
|
11650
11748
|
isCurrentDate: { type: Boolean },
|
|
11651
11749
|
locale: { type: String },
|
|
@@ -11691,8 +11789,8 @@ class AuroCalendarCell extends i$1 {
|
|
|
11691
11789
|
const parsedDateTo = parseInt(dateTo, 10);
|
|
11692
11790
|
|
|
11693
11791
|
if (day) {
|
|
11694
|
-
const departTimestamp =
|
|
11695
|
-
const returnTimestamp =
|
|
11792
|
+
const departTimestamp = new Date(parsedDateFrom * 1000).setHours(0, 0, 0, 0) / 1000;
|
|
11793
|
+
const returnTimestamp = new Date(parsedDateTo * 1000).setHours(0, 0, 0, 0) / 1000;
|
|
11696
11794
|
|
|
11697
11795
|
if (day.date === departTimestamp || day.date === returnTimestamp) {
|
|
11698
11796
|
this.selected = true;
|
|
@@ -11776,27 +11874,33 @@ class AuroCalendarCell extends i$1 {
|
|
|
11776
11874
|
return false;
|
|
11777
11875
|
}
|
|
11778
11876
|
|
|
11779
|
-
//
|
|
11780
|
-
|
|
11781
|
-
|
|
11782
|
-
|
|
11783
|
-
|
|
11784
|
-
|
|
11785
|
-
// Check against blackoutDates (ISO format YYYY-MM-DD) on the datepicker
|
|
11786
|
-
const blackoutDates = this.datepicker?.blackoutDates;
|
|
11787
|
-
|
|
11788
|
-
if (Array.isArray(blackoutDates) && blackoutDates.length > 0) {
|
|
11789
|
-
const date = new Date(this.day.date * 1000);
|
|
11790
|
-
const yyyy = date.getFullYear();
|
|
11791
|
-
const mm = String(date.getMonth() + 1).padStart(2, '0');
|
|
11792
|
-
const dd = String(date.getDate()).padStart(2, '0');
|
|
11793
|
-
const cellDate = `${yyyy}-${mm}-${dd}`;
|
|
11794
|
-
if (blackoutDates.includes(cellDate)) {
|
|
11877
|
+
// Delegate to the calendar's memoized blackout Set for O(1) lookup
|
|
11878
|
+
// (instead of rescanning disabledDays + blackoutDates per render). The
|
|
11879
|
+
// Set is rebuilt only when either source array reference changes — see
|
|
11880
|
+
// auro-calendar.js#_getBlackoutSet.
|
|
11881
|
+
if (this.calendar && typeof this.calendar._getBlackoutSet === 'function') {
|
|
11882
|
+
if (this.calendar._getBlackoutSet().has(this.day.date)) {
|
|
11795
11883
|
return true;
|
|
11796
11884
|
}
|
|
11885
|
+
// If the cell's local disabledDays diverged from the calendar's (a
|
|
11886
|
+
// consumer or test mutated cell.disabledDays directly), the Set does
|
|
11887
|
+
// not reflect that addition — fall through to the per-cell scan only
|
|
11888
|
+
// when the reference no longer matches. Production data flow keeps
|
|
11889
|
+
// these identical, so this branch stays cold. Guarded with
|
|
11890
|
+
// Array.isArray to match `_getBlackoutSet`'s contract: non-array
|
|
11891
|
+
// values are treated as empty rather than crashing on `.findIndex`.
|
|
11892
|
+
if (Array.isArray(this.disabledDays) && this.disabledDays !== this.calendar.disabledDays && this.disabledDays.length > 0) {
|
|
11893
|
+
if (this.disabledDays.findIndex((dd) => parseInt(dd, 10) === this.day.date) !== -1) {
|
|
11894
|
+
return true;
|
|
11895
|
+
}
|
|
11896
|
+
}
|
|
11897
|
+
return false;
|
|
11797
11898
|
}
|
|
11798
11899
|
|
|
11799
|
-
|
|
11900
|
+
// Pre-firstUpdated fallback — the cell may render once before the
|
|
11901
|
+
// ancestor calendar is wired up. Routes through the shared
|
|
11902
|
+
// blackoutUtils helper so the parsing rules stay in one place.
|
|
11903
|
+
return isBlackoutTimestamp(this.day.date, this.disabledDays, this.datepicker?.blackoutDates);
|
|
11800
11904
|
}
|
|
11801
11905
|
|
|
11802
11906
|
/**
|
|
@@ -11902,12 +12006,12 @@ class AuroCalendarCell extends i$1 {
|
|
|
11902
12006
|
const parsedDateFrom = Number.parseInt(this.dateFrom, 10);
|
|
11903
12007
|
if (!Number.isFinite(parsedDateFrom)) return null;
|
|
11904
12008
|
|
|
11905
|
-
const departTimestamp =
|
|
12009
|
+
const departTimestamp = new Date(parsedDateFrom * 1000).setHours(0, 0, 0, 0) / 1000;
|
|
11906
12010
|
const dayDate = this.day.date;
|
|
11907
12011
|
|
|
11908
12012
|
const parsedDateTo = Number.parseInt(this.dateTo, 10);
|
|
11909
12013
|
const hasDateTo = Number.isFinite(parsedDateTo);
|
|
11910
|
-
const returnTimestamp = hasDateTo ?
|
|
12014
|
+
const returnTimestamp = hasDateTo ? new Date(parsedDateTo * 1000).setHours(0, 0, 0, 0) / 1000 : null;
|
|
11911
12015
|
|
|
11912
12016
|
if (dayDate === departTimestamp) return this.datepicker.rangeLabelStart || 'range start';
|
|
11913
12017
|
|
|
@@ -11917,7 +12021,9 @@ class AuroCalendarCell extends i$1 {
|
|
|
11917
12021
|
|
|
11918
12022
|
if (hasDateTo && dayDate > departTimestamp && dayDate < returnTimestamp) return this.datepicker.rangeLabelInRange || 'in range';
|
|
11919
12023
|
|
|
11920
|
-
|
|
12024
|
+
if (!hasDateTo && dayDate > departTimestamp) return this.datepicker.rangeLabelEndPreview || 'previewing range end';
|
|
12025
|
+
|
|
12026
|
+
// After end date when both dateFrom and dateTo are set.
|
|
11921
12027
|
return this.datepicker.rangeLabelAfterRange || 'after range';
|
|
11922
12028
|
}
|
|
11923
12029
|
|
|
@@ -11930,7 +12036,7 @@ class AuroCalendarCell extends i$1 {
|
|
|
11930
12036
|
*/
|
|
11931
12037
|
isDepartDate(day, dateFrom) {
|
|
11932
12038
|
const parsedDateFrom = parseInt(dateFrom, 10);
|
|
11933
|
-
const departTimestamp =
|
|
12039
|
+
const departTimestamp = new Date(parsedDateFrom * 1000).setHours(0, 0, 0, 0) / 1000;
|
|
11934
12040
|
|
|
11935
12041
|
return this.selected && day.date === departTimestamp;
|
|
11936
12042
|
}
|
|
@@ -11945,7 +12051,7 @@ class AuroCalendarCell extends i$1 {
|
|
|
11945
12051
|
*/
|
|
11946
12052
|
isReturnDate(day, dateFrom, dateTo) {
|
|
11947
12053
|
const parsedDateTo = parseInt(dateTo, 10);
|
|
11948
|
-
const returnTimestamp =
|
|
12054
|
+
const returnTimestamp = new Date(parsedDateTo * 1000).setHours(0, 0, 0, 0) / 1000;
|
|
11949
12055
|
|
|
11950
12056
|
return this.selected && day.date === returnTimestamp && dateFrom;
|
|
11951
12057
|
}
|
|
@@ -12109,6 +12215,7 @@ class AuroCalendarCell extends i$1 {
|
|
|
12109
12215
|
setTimeout(() => this.firstUpdated(), 0);
|
|
12110
12216
|
return;
|
|
12111
12217
|
}
|
|
12218
|
+
this.calendar = calendar;
|
|
12112
12219
|
this.datepicker = calendar.datepicker;
|
|
12113
12220
|
this._slotContentHandler = () => {
|
|
12114
12221
|
this.handleSlotContent();
|
|
@@ -12166,12 +12273,13 @@ class AuroCalendarCell extends i$1 {
|
|
|
12166
12273
|
this._cachedButton = this.shadowRoot.querySelector('button.day');
|
|
12167
12274
|
});
|
|
12168
12275
|
|
|
12169
|
-
//
|
|
12276
|
+
// Keep the host's gridcell aria attributes in sync with the day data.
|
|
12170
12277
|
this.updateHostAria();
|
|
12171
12278
|
}
|
|
12172
12279
|
|
|
12173
12280
|
// Update host aria when selection changes (aria-selected, range labels)
|
|
12174
|
-
|
|
12281
|
+
// or when isCurrentDate flips (aria-current).
|
|
12282
|
+
if (properties.has('dateFrom') || properties.has('dateTo') || properties.has('selected') || properties.has('isCurrentDate')) {
|
|
12175
12283
|
this.updateHostAria();
|
|
12176
12284
|
}
|
|
12177
12285
|
|
|
@@ -12182,8 +12290,8 @@ class AuroCalendarCell extends i$1 {
|
|
|
12182
12290
|
}
|
|
12183
12291
|
|
|
12184
12292
|
/**
|
|
12185
|
-
*
|
|
12186
|
-
*
|
|
12293
|
+
* Sets host-level ARIA so each cell exposes its date, selection state,
|
|
12294
|
+
* and blackout status to assistive tech browsing the month grid.
|
|
12187
12295
|
* @private
|
|
12188
12296
|
* @returns {void}
|
|
12189
12297
|
*/
|
|
@@ -12192,16 +12300,27 @@ class AuroCalendarCell extends i$1 {
|
|
|
12192
12300
|
|
|
12193
12301
|
const outOfRange = this.isOutOfRange(this.day, this.min, this.max);
|
|
12194
12302
|
if (outOfRange) {
|
|
12303
|
+
// Strip every aria attribute the in-range branch may have set on a
|
|
12304
|
+
// previous render — if a cell flips from in-range to out-of-range
|
|
12305
|
+
// (calendar shifts months, minDate/maxDate change, etc.).
|
|
12195
12306
|
this.removeAttribute('role');
|
|
12196
12307
|
this.removeAttribute('aria-label');
|
|
12308
|
+
this.removeAttribute('aria-current');
|
|
12309
|
+
this.removeAttribute('aria-selected');
|
|
12310
|
+
this.removeAttribute('aria-disabled');
|
|
12197
12311
|
return;
|
|
12198
12312
|
}
|
|
12199
12313
|
|
|
12200
|
-
// The host acts as the gridcell for ariaActiveDescendantElement.
|
|
12201
12314
|
this.setAttribute('role', 'gridcell');
|
|
12202
12315
|
this.setAttribute('aria-label', this.getAriaLabel());
|
|
12203
12316
|
this.setAttribute('aria-selected', this.selected ? 'true' : 'false');
|
|
12204
12317
|
|
|
12318
|
+
if (this.isCurrentDate) {
|
|
12319
|
+
this.setAttribute('aria-current', 'date');
|
|
12320
|
+
} else {
|
|
12321
|
+
this.removeAttribute('aria-current');
|
|
12322
|
+
}
|
|
12323
|
+
|
|
12205
12324
|
if (this.isBlackout()) {
|
|
12206
12325
|
this.setAttribute('aria-disabled', 'true');
|
|
12207
12326
|
} else {
|
|
@@ -12216,7 +12335,7 @@ class AuroCalendarCell extends i$1 {
|
|
|
12216
12335
|
* @returns {void}
|
|
12217
12336
|
*/
|
|
12218
12337
|
focusButton() {
|
|
12219
|
-
const button = this._cachedButton || this.shadowRoot.querySelector('button:not([
|
|
12338
|
+
const button = this._cachedButton || this.shadowRoot.querySelector('button:not([disabled])');
|
|
12220
12339
|
if (button) {
|
|
12221
12340
|
button.focus({ focusVisible: true });
|
|
12222
12341
|
}
|
|
@@ -12224,7 +12343,9 @@ class AuroCalendarCell extends i$1 {
|
|
|
12224
12343
|
|
|
12225
12344
|
/**
|
|
12226
12345
|
* Imperatively marks this cell as active without triggering a Lit re-render.
|
|
12227
|
-
*
|
|
12346
|
+
* Buttons stay tabindex="-1" because DOM focus stays on the grid wrapper —
|
|
12347
|
+
* arrow keys move the active cell imperatively and the live region carries
|
|
12348
|
+
* the SR announcement.
|
|
12228
12349
|
* @returns {void}
|
|
12229
12350
|
*/
|
|
12230
12351
|
setActive() {
|
|
@@ -12266,10 +12387,13 @@ class AuroCalendarCell extends i$1 {
|
|
|
12266
12387
|
if (!btn || !this.day) return;
|
|
12267
12388
|
|
|
12268
12389
|
const dayDate = this.day.date;
|
|
12269
|
-
const departTimestamp =
|
|
12390
|
+
const departTimestamp = new Date(dateFrom * 1000).setHours(0, 0, 0, 0) / 1000;
|
|
12270
12391
|
const isInRange = dayDate > departTimestamp && dayDate < hoveredDate;
|
|
12271
|
-
|
|
12272
|
-
|
|
12392
|
+
// `>=` so hovering the depart cell itself (a same-day round-trip
|
|
12393
|
+
// preview) still surfaces a visual cue: the depart cell receives both
|
|
12394
|
+
// rangeDepartDate and lastHoveredDate.
|
|
12395
|
+
const isLastHovered = dayDate === hoveredDate && hoveredDate >= departTimestamp;
|
|
12396
|
+
const isDepartWithPreview = dayDate === departTimestamp && hoveredDate >= departTimestamp;
|
|
12273
12397
|
|
|
12274
12398
|
btn.classList.toggle('inRange', isInRange);
|
|
12275
12399
|
btn.classList.toggle('lastHoveredDate', isLastHovered);
|
|
@@ -12327,7 +12451,6 @@ class AuroCalendarCell extends i$1 {
|
|
|
12327
12451
|
@focus="${outOfRange ? undefined : this.handleFocus}"
|
|
12328
12452
|
class="${e$4(buttonClasses)}"
|
|
12329
12453
|
?disabled="${outOfRange}"
|
|
12330
|
-
aria-hidden="${outOfRange ? 'true' : A$4}"
|
|
12331
12454
|
tabindex="-1">
|
|
12332
12455
|
<div class="buttonWrapper" aria-hidden="true">
|
|
12333
12456
|
<div class="currentDayMarker">${this.day?.title || A$4}</div>
|
|
@@ -13439,7 +13562,7 @@ class AuroBibtemplate extends i$1 {
|
|
|
13439
13562
|
}
|
|
13440
13563
|
}
|
|
13441
13564
|
|
|
13442
|
-
var formkitVersion$2 = '
|
|
13565
|
+
var formkitVersion$2 = '202606252104';
|
|
13443
13566
|
|
|
13444
13567
|
let l$1 = class l{generateElementName(t,e){let o=t;return o+="-",o+=e.replace(/[.]/g,"_"),o}generateTag(o,s,a){const r=this.generateElementName(o,s),i=i$5`${s$5(r)}`;return customElements.get(r)||customElements.define(r,class extends a{}),i}};let d$1 = class d{registerComponent(t,e){customElements.get(t)||customElements.define(t,class extends e{});}closestElement(t,e=this,o=(e,s=e&&e.closest(t))=>e&&e!==document&&e!==window?s||o(e.getRootNode().host):null){return o(e)}handleComponentTagRename(t,e){const o=e.toLowerCase();t.tagName.toLowerCase()!==o&&t.setAttribute(o,true);}elementMatch(t,e){const o=e.toLowerCase();return t.tagName.toLowerCase()===o||t.hasAttribute(o)}getSlotText(t,e){const o=t.shadowRoot?.querySelector(`slot[name="${e}"]`),s=(o?.assignedNodes({flatten:true})||[]).map(t=>t.textContent?.trim()).join(" ").trim();return s||null}};let h$4 = class h{registerComponent(t,e){customElements.get(t)||customElements.define(t,class extends e{});}closestElement(t,e=this,o=(e,s=e&&e.closest(t))=>e&&e!==document&&e!==window?s||o(e.getRootNode().host):null){return o(e)}handleComponentTagRename(t,e){const o=e.toLowerCase();t.tagName.toLowerCase()!==o&&t.setAttribute(o,true);}elementMatch(t,e){const o=e.toLowerCase();return t.tagName.toLowerCase()===o||t.hasAttribute(o)}};var c$3=i$3`:host{color:var(--ds-auro-loader-color)}:host>span{background-color:var(--ds-auro-loader-background-color);border-color:var(--ds-auro-loader-border-color)}:host([onlight]),:host([appearance=brand]){--ds-auro-loader-color: var(--ds-basic-color-brand-primary, #01426a)}:host([ondark]),:host([appearance=inverse]){--ds-auro-loader-color: var(--ds-basic-color-texticon-inverse, #ffffff)}:host([orbit])>span{--ds-auro-loader-background-color: transparent}:host([orbit])>span:nth-child(1){--ds-auro-loader-border-color: currentcolor;opacity:.25}:host([orbit])>span:nth-child(2){--ds-auro-loader-border-color: currentcolor;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent}
|
|
13445
13568
|
`,u$6=i$3`.body-default{font-size:var(--wcss-body-default-font-size, 1rem);line-height:var(--wcss-body-default-line-height, 1.5rem)}.body-default,.body-lg{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-weight, 450);letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-lg{font-size:var(--wcss-body-lg-font-size, 1.125rem);line-height:var(--wcss-body-lg-line-height, 1.625rem)}.body-sm{font-size:var(--wcss-body-sm-font-size, .875rem);line-height:var(--wcss-body-sm-line-height, 1.25rem)}.body-sm,.body-xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-weight, 450);letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-xs{font-size:var(--wcss-body-xs-font-size, .75rem);line-height:var(--wcss-body-xs-line-height, 1rem)}.body-2xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:var(--wcss-body-2xs-font-size, .625rem);font-weight:var(--wcss-body-weight, 450);letter-spacing:var(--wcss-body-letter-spacing, 0);line-height:var(--wcss-body-2xs-line-height, .875rem)}.display-2xl{font-family:var(--wcss-display-2xl-family, "AS Circular"),var(--wcss-display-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-2xl-font-size, clamp(3.5rem, 6vw, 5.375rem));font-weight:var(--wcss-display-2xl-weight, 300);letter-spacing:var(--wcss-display-2xl-letter-spacing, 0);line-height:var(--wcss-display-2xl-line-height, 1.3)}.display-xl{font-family:var(--wcss-display-xl-family, "AS Circular"),var(--wcss-display-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-xl-font-size, clamp(3rem, 5.3333333333vw, 4.5rem));font-weight:var(--wcss-display-xl-weight, 300);letter-spacing:var(--wcss-display-xl-letter-spacing, 0);line-height:var(--wcss-display-xl-line-height, 1.3)}.display-lg{font-family:var(--wcss-display-lg-family, "AS Circular"),var(--wcss-display-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-lg-font-size, clamp(2.75rem, 4.6666666667vw, 4rem));font-weight:var(--wcss-display-lg-weight, 300);letter-spacing:var(--wcss-display-lg-letter-spacing, 0);line-height:var(--wcss-display-lg-line-height, 1.3)}.display-md{font-family:var(--wcss-display-md-family, "AS Circular"),var(--wcss-display-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-md-font-size, clamp(2.5rem, 4vw, 3.5rem));font-weight:var(--wcss-display-md-weight, 300);letter-spacing:var(--wcss-display-md-letter-spacing, 0);line-height:var(--wcss-display-md-line-height, 1.3)}.display-sm{font-family:var(--wcss-display-sm-family, "AS Circular"),var(--wcss-display-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-sm-font-size, clamp(2rem, 3.6666666667vw, 3rem));font-weight:var(--wcss-display-sm-weight, 300);letter-spacing:var(--wcss-display-sm-letter-spacing, 0);line-height:var(--wcss-display-sm-line-height, 1.3)}.display-xs{font-family:var(--wcss-display-xs-family, "AS Circular"),var(--wcss-display-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-xs-font-size, clamp(1.75rem, 3vw, 2.375rem));font-weight:var(--wcss-display-xs-weight, 300);letter-spacing:var(--wcss-display-xs-letter-spacing, 0);line-height:var(--wcss-display-xs-line-height, 1.3)}.heading-xl{font-family:var(--wcss-heading-xl-family, "AS Circular"),var(--wcss-heading-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-xl-font-size, clamp(2rem, 3vw, 2.5rem));font-weight:var(--wcss-heading-xl-weight, 300);letter-spacing:var(--wcss-heading-xl-letter-spacing, 0);line-height:var(--wcss-heading-xl-line-height, 1.3)}.heading-lg{font-family:var(--wcss-heading-lg-family, "AS Circular"),var(--wcss-heading-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-lg-font-size, clamp(1.75rem, 2.6666666667vw, 2.25rem));font-weight:var(--wcss-heading-lg-weight, 300);letter-spacing:var(--wcss-heading-lg-letter-spacing, 0);line-height:var(--wcss-heading-lg-line-height, 1.3)}.heading-md{font-family:var(--wcss-heading-md-family, "AS Circular"),var(--wcss-heading-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-md-font-size, clamp(1.625rem, 2.3333333333vw, 1.75rem));font-weight:var(--wcss-heading-md-weight, 300);letter-spacing:var(--wcss-heading-md-letter-spacing, 0);line-height:var(--wcss-heading-md-line-height, 1.3)}.heading-sm{font-family:var(--wcss-heading-sm-family, "AS Circular"),var(--wcss-heading-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-sm-font-size, clamp(1.375rem, 2vw, 1.5rem));font-weight:var(--wcss-heading-sm-weight, 300);letter-spacing:var(--wcss-heading-sm-letter-spacing, 0);line-height:var(--wcss-heading-sm-line-height, 1.3)}.heading-xs{font-family:var(--wcss-heading-xs-family, "AS Circular"),var(--wcss-heading-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-xs-font-size, clamp(1.25rem, 1.6666666667vw, 1.25rem));font-weight:var(--wcss-heading-xs-weight, 450);letter-spacing:var(--wcss-heading-xs-letter-spacing, 0);line-height:var(--wcss-heading-xs-line-height, 1.3)}.heading-2xs{font-family:var(--wcss-heading-2xs-family, "AS Circular"),var(--wcss-heading-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-2xs-font-size, clamp(1.125rem, 1.5vw, 1.125rem));font-weight:var(--wcss-heading-2xs-weight, 450);letter-spacing:var(--wcss-heading-2xs-letter-spacing, 0);line-height:var(--wcss-heading-2xs-line-height, 1.3)}.accent-2xl{font-family:var(--wcss-accent-2xl-family, "Good OT"),var(--wcss-accent-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-2xl-font-size, clamp(2rem, 3.1666666667vw, 2.375rem));font-weight:var(--wcss-accent-2xl-weight, 450);letter-spacing:var(--wcss-accent-2xl-letter-spacing, .05em);line-height:var(--wcss-accent-2xl-line-height, 1)}.accent-2xl,.accent-xl{text-transform:uppercase}.accent-xl{font-family:var(--wcss-accent-xl-family, "Good OT"),var(--wcss-accent-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-xl-font-size, clamp(1.625rem, 2.3333333333vw, 2rem));font-weight:var(--wcss-accent-xl-weight, 450);letter-spacing:var(--wcss-accent-xl-letter-spacing, .05em);line-height:var(--wcss-accent-xl-line-height, 1.3)}.accent-lg{font-family:var(--wcss-accent-lg-family, "Good OT"),var(--wcss-accent-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-lg-font-size, clamp(1.5rem, 2.1666666667vw, 1.75rem));font-weight:var(--wcss-accent-lg-weight, 450);letter-spacing:var(--wcss-accent-lg-letter-spacing, .05em);line-height:var(--wcss-accent-lg-line-height, 1.3)}.accent-lg,.accent-md{text-transform:uppercase}.accent-md{font-family:var(--wcss-accent-md-family, "Good OT"),var(--wcss-accent-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-md-font-size, clamp(1.375rem, 1.8333333333vw, 1.5rem));font-weight:var(--wcss-accent-md-weight, 500);letter-spacing:var(--wcss-accent-md-letter-spacing, .05em);line-height:var(--wcss-accent-md-line-height, 1.3)}.accent-sm{font-family:var(--wcss-accent-sm-family, "Good OT"),var(--wcss-accent-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-sm-font-size, clamp(1.125rem, 1.5vw, 1.25rem));font-weight:var(--wcss-accent-sm-weight, 500);letter-spacing:var(--wcss-accent-sm-letter-spacing, .05em);line-height:var(--wcss-accent-sm-line-height, 1.3)}.accent-sm,.accent-xs{text-transform:uppercase}.accent-xs{font-family:var(--wcss-accent-xs-family, "Good OT"),var(--wcss-accent-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-xs-font-size, clamp(1rem, 1.3333333333vw, 1rem));font-weight:var(--wcss-accent-xs-weight, 500);letter-spacing:var(--wcss-accent-xs-letter-spacing, .1em);line-height:var(--wcss-accent-xs-line-height, 1.3)}.accent-2xs{font-family:var(--wcss-accent-2xs-family, "Good OT"),var(--wcss-accent-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-2xs-font-size, clamp(.875rem, 1.1666666667vw, .875rem));font-weight:var(--wcss-accent-2xs-weight, 450);letter-spacing:var(--wcss-accent-2xs-letter-spacing, .1em);line-height:var(--wcss-accent-2xs-line-height, 1.3);text-transform:uppercase}:focus:not(:focus-visible){outline:3px solid transparent}:host,:host>span{position:relative}:host{width:2rem;height:2rem;display:inline-block;font-size:0}:host>span{position:absolute;display:inline-block;float:none;top:0;left:0;width:2rem;height:2rem;border-radius:100%;border-style:solid;border-width:0;box-sizing:border-box}:host([xs]),:host([xs])>span{width:1.2rem;height:1.2rem}:host([sm]),:host([sm])>span{width:3rem;height:3rem}:host([md]),:host([md])>span{width:5rem;height:5rem}:host([lg]),:host([lg])>span{width:8rem;height:8rem}:host{--margin: .375rem;--margin-xs: .2rem;--margin-sm: .5rem;--margin-md: .75rem;--margin-lg: 1rem}:host([pulse]),:host([pulse])>span{position:relative}:host([pulse]){width:calc(3rem + var(--margin) * 6);height:calc(1rem + var(--margin) * 2)}:host([pulse])>span{width:1rem;height:1rem;margin:var(--margin);animation:pulse 1.5s ease infinite}:host([pulse][xs]){width:calc(1.95rem + var(--margin-xs) * 6);height:calc(.65rem + var(--margin-xs) * 2)}:host([pulse][xs])>span{margin:var(--margin-xs);width:.65rem;height:.65rem}:host([pulse][sm]){width:calc(6rem + var(--margin-sm) * 6);height:calc(2rem + var(--margin-sm) * 2)}:host([pulse][sm])>span{margin:var(--margin-sm);width:2rem;height:2rem}:host([pulse][md]){width:calc(9rem + var(--margin-md) * 6);height:calc(3rem + var(--margin-md) * 2)}:host([pulse][md])>span{margin:var(--margin-md);width:3rem;height:3rem}:host([pulse][lg]){width:calc(15rem + var(--margin-lg) * 6);height:calc(5rem + var(--margin-lg) * 2)}:host([pulse][lg])>span{margin:var(--margin-lg);width:5rem;height:5rem}:host([pulse])>span:nth-child(1){animation-delay:-.4s}:host([pulse])>span:nth-child(2){animation-delay:-.2s}:host([pulse])>span:nth-child(3){animation-delay:0ms}@keyframes pulse{0%,to{opacity:.1;transform:scale(.9)}50%{opacity:1;transform:scale(1.1)}}:host([orbit]),:host([orbit])>span{opacity:1}:host([orbit])>span{border-width:5px}:host([orbit])>span:nth-child(2){animation:orbit 2s linear infinite}:host([orbit][sm])>span{border-width:8px}:host([orbit][md])>span{border-width:13px}:host([orbit][lg])>span{border-width:21px}@keyframes orbit{0%{transform:rotate(0)}to{transform:rotate(360deg)}}:host([ringworm])>svg{animation:rotate 2s linear infinite;height:100%;width:100%;stroke:currentcolor;stroke-width:8}:host([ringworm]) .path{stroke-dashoffset:0;animation:ringworm 1.5s ease-in-out infinite;stroke-linecap:round}@keyframes rotate{to{transform:rotate(360deg)}}@keyframes ringworm{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px}to{stroke-dasharray:89,200;stroke-dashoffset:-124px}}:host([laser]){position:static;width:100%;display:block;height:0;overflow:hidden;font-size:unset}:host([laser])>span{position:fixed;width:100%;height:.25rem;border-radius:0;z-index:100}:host([laser])>span:nth-child(1){border-color:currentcolor;opacity:.25}:host([laser])>span:nth-child(2){border-color:currentcolor;animation:laser 2s linear infinite;opacity:1;width:50%}:host([laser][sm])>span:nth-child(2){width:20%}:host([laser][md])>span:nth-child(2){width:30%}:host([laser][lg])>span:nth-child(2){width:50%;animation-duration:1.5s}:host([laser][xl])>span:nth-child(2){width:80%;animation-duration:1.5s}@keyframes laser{0%{left:-100%}to{left:110%}}:host>.no-animation{display:none}@media (prefers-reduced-motion: reduce){:host{display:flex;align-items:center;justify-content:center}:host>span{opacity:1}:host>.loader{display:none}:host>svg{display:none}:host>.no-animation{display:block}}
|
|
@@ -13562,7 +13685,11 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
13562
13685
|
this.calendarRangeMonths = null;
|
|
13563
13686
|
|
|
13564
13687
|
/**
|
|
13565
|
-
*
|
|
13688
|
+
* @deprecated Use `auro-datepicker.blackoutDates` (an array of
|
|
13689
|
+
* `YYYY-MM-DD` ISO strings) instead. This legacy array of Unix
|
|
13690
|
+
* timestamps is still honored for backward compatibility but emits a
|
|
13691
|
+
* one-time `console.debug` the first time a non-empty value is observed.
|
|
13692
|
+
* Support will be removed in a future major release.
|
|
13566
13693
|
* @private
|
|
13567
13694
|
*/
|
|
13568
13695
|
this.disabledDays = [];
|
|
@@ -13819,17 +13946,44 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
13819
13946
|
* @returns {void}
|
|
13820
13947
|
*/
|
|
13821
13948
|
updateActiveCellForVisibleMonth() {
|
|
13822
|
-
|
|
13823
|
-
|
|
13824
|
-
requestAnimationFrame(() => {
|
|
13825
|
-
requestAnimationFrame(() => {
|
|
13826
|
-
const newDate = this.computeActiveDate({ skipDateFrom: true });
|
|
13949
|
+
this._afterMonthRender(() => {
|
|
13950
|
+
const newDate = this.computeActiveDate({ skipDateFrom: true });
|
|
13827
13951
|
|
|
13828
|
-
|
|
13829
|
-
|
|
13830
|
-
|
|
13831
|
-
|
|
13832
|
-
|
|
13952
|
+
if (newDate !== null && newDate !== undefined) {
|
|
13953
|
+
this.activeCellDate = newDate;
|
|
13954
|
+
this.setActiveCell(this.activeCellDate);
|
|
13955
|
+
}
|
|
13956
|
+
});
|
|
13957
|
+
}
|
|
13958
|
+
|
|
13959
|
+
/**
|
|
13960
|
+
* Schedules `callback` two animation frames out, giving the child
|
|
13961
|
+
* `auro-formkit-calendar-month` and `auro-formkit-calendar-cell` elements
|
|
13962
|
+
* a full render-and-paint cycle to settle before the callback reads or
|
|
13963
|
+
* mutates DOM.
|
|
13964
|
+
*
|
|
13965
|
+
* Why two frames, not one:
|
|
13966
|
+
* 1. Lit batches property updates and renders in a microtask, so frame N
|
|
13967
|
+
* schedules the render but the new DOM may not be painted yet.
|
|
13968
|
+
* 2. Cells re-cache `_cachedButton` inside their own `updateComplete.then`,
|
|
13969
|
+
* which also lands a tick later. Reading buttons from frame N+1
|
|
13970
|
+
* (after both renders + cache refresh have flushed) reliably hits the
|
|
13971
|
+
* new month's cells.
|
|
13972
|
+
*
|
|
13973
|
+
* Used by every code path that calls `handleNextMonth`/`handlePrevMonth`
|
|
13974
|
+
* and then needs to inspect the freshly-rendered cells (cross-month
|
|
13975
|
+
* keyboard nav, boundary events, `updateActiveCellForVisibleMonth`).
|
|
13976
|
+
* Do NOT collapse to a single rAF — it intermittently lands before
|
|
13977
|
+
* `_cachedButton` is refreshed, which silently breaks focus restoration
|
|
13978
|
+
* and `setActiveCell` lookups.
|
|
13979
|
+
* @private
|
|
13980
|
+
* @param {() => void} callback - Runs once after the month re-render and
|
|
13981
|
+
* the cells' button caches have refreshed.
|
|
13982
|
+
* @returns {void}
|
|
13983
|
+
*/
|
|
13984
|
+
_afterMonthRender(callback) {
|
|
13985
|
+
requestAnimationFrame(() => {
|
|
13986
|
+
requestAnimationFrame(callback);
|
|
13833
13987
|
});
|
|
13834
13988
|
}
|
|
13835
13989
|
|
|
@@ -13947,6 +14101,47 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
13947
14101
|
return Array.from(this.shadowRoot.querySelectorAll('auro-formkit-calendar-month'));
|
|
13948
14102
|
}
|
|
13949
14103
|
|
|
14104
|
+
/**
|
|
14105
|
+
* Picks the focusable cell whose date is closest to targetTs. Used as a
|
|
14106
|
+
* fallback after a month-boundary nav when the exact target date isn't
|
|
14107
|
+
* focusable — typically because the month re-render lagged or the date
|
|
14108
|
+
* was filtered out by isOutOfRange. When two cells are equidistant, the
|
|
14109
|
+
* navigation direction breaks the tie so the user moves the way they
|
|
14110
|
+
* pressed (forward → later cell, backward → earlier cell).
|
|
14111
|
+
* @private
|
|
14112
|
+
* @param {Array} cells - Focusable cells from getAllFocusableCells.
|
|
14113
|
+
* @param {Number} targetTs - Desired Unix timestamp (seconds).
|
|
14114
|
+
* @param {'next'|'prev'} direction - Navigation direction.
|
|
14115
|
+
* @returns {Object|null} The nearest cell, or null when cells is empty.
|
|
14116
|
+
*/
|
|
14117
|
+
pickNearestCell(cells, targetTs, direction) {
|
|
14118
|
+
if (!cells.length) {
|
|
14119
|
+
return null;
|
|
14120
|
+
}
|
|
14121
|
+
const forward = direction === 'next';
|
|
14122
|
+
let best = null;
|
|
14123
|
+
let bestDelta = Infinity;
|
|
14124
|
+
cells.forEach((cell) => {
|
|
14125
|
+
if (!cell.day) {
|
|
14126
|
+
return;
|
|
14127
|
+
}
|
|
14128
|
+
const distance = Math.abs(cell.day.date - targetTs);
|
|
14129
|
+
if (distance < bestDelta) {
|
|
14130
|
+
best = cell;
|
|
14131
|
+
bestDelta = distance;
|
|
14132
|
+
return;
|
|
14133
|
+
}
|
|
14134
|
+
if (distance === bestDelta && best) {
|
|
14135
|
+
if (forward && cell.day.date > best.day.date) {
|
|
14136
|
+
best = cell;
|
|
14137
|
+
} else if (!forward && cell.day.date < best.day.date) {
|
|
14138
|
+
best = cell;
|
|
14139
|
+
}
|
|
14140
|
+
}
|
|
14141
|
+
});
|
|
14142
|
+
return best;
|
|
14143
|
+
}
|
|
14144
|
+
|
|
13950
14145
|
/**
|
|
13951
14146
|
* Gets all focusable cells across all rendered months.
|
|
13952
14147
|
* @private
|
|
@@ -13963,9 +14158,9 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
13963
14158
|
|
|
13964
14159
|
/**
|
|
13965
14160
|
* Sets the active cell across all months. Only one cell has tabindex="0" at a time.
|
|
13966
|
-
* Uses imperative DOM manipulation — no Lit re-render triggered.
|
|
13967
|
-
*
|
|
13968
|
-
*
|
|
14161
|
+
* Uses imperative DOM manipulation — no Lit re-render triggered. DOM focus
|
|
14162
|
+
* stays on the grid wrapper; the live region (see getOrCreateLiveRegion)
|
|
14163
|
+
* is what announces the active cell to assistive tech.
|
|
13969
14164
|
* @param {Number} date - Unix timestamp of the cell to activate.
|
|
13970
14165
|
* @returns {void}
|
|
13971
14166
|
*/
|
|
@@ -14046,6 +14241,63 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
14046
14241
|
this.clearRangePreview();
|
|
14047
14242
|
}
|
|
14048
14243
|
|
|
14244
|
+
/**
|
|
14245
|
+
* Returns a memoized Set of blackout timestamps (seconds) drawn from both
|
|
14246
|
+
* the legacy `disabledDays` array and the datepicker's ISO `blackoutDates`.
|
|
14247
|
+
* The cache invalidates when either source array's reference changes, which
|
|
14248
|
+
* matches Lit's own reactive identity semantics for array properties.
|
|
14249
|
+
* @private
|
|
14250
|
+
* @returns {Set<Number>}
|
|
14251
|
+
*/
|
|
14252
|
+
_getBlackoutSet() {
|
|
14253
|
+
// Guard with Array.isArray so a non-array truthy value (string, object,
|
|
14254
|
+
// etc.) is treated as "no legacy disabledDays" — keeps the deprecation
|
|
14255
|
+
// warning and the memoization key consistent with what buildBlackoutSet
|
|
14256
|
+
// will actually consume (also an Array.isArray check).
|
|
14257
|
+
const disabledDays = Array.isArray(this.disabledDays) ? this.disabledDays : [];
|
|
14258
|
+
const blackoutDates = this.datepicker?.blackoutDates;
|
|
14259
|
+
if (this._blackoutSet &&
|
|
14260
|
+
this._cachedBlackoutDisabledDays === disabledDays &&
|
|
14261
|
+
this._cachedBlackoutDates === blackoutDates) {
|
|
14262
|
+
return this._blackoutSet;
|
|
14263
|
+
}
|
|
14264
|
+
|
|
14265
|
+
if (disabledDays.length > 0) {
|
|
14266
|
+
this._warnDisabledDaysDeprecated();
|
|
14267
|
+
}
|
|
14268
|
+
|
|
14269
|
+
this._blackoutSet = buildBlackoutSet(disabledDays, blackoutDates);
|
|
14270
|
+
this._cachedBlackoutDisabledDays = disabledDays;
|
|
14271
|
+
this._cachedBlackoutDates = blackoutDates;
|
|
14272
|
+
return this._blackoutSet;
|
|
14273
|
+
}
|
|
14274
|
+
|
|
14275
|
+
/**
|
|
14276
|
+
* Per-class flag that gates the `disabledDays` deprecation warning so it
|
|
14277
|
+
* fires exactly once per page no matter how many calendars or rebuild
|
|
14278
|
+
* cycles encounter the legacy array.
|
|
14279
|
+
* @private
|
|
14280
|
+
*/
|
|
14281
|
+
static _warnedDisabledDaysDeprecation = false;
|
|
14282
|
+
|
|
14283
|
+
/**
|
|
14284
|
+
* One-time `console.debug` directing consumers from the legacy
|
|
14285
|
+
* `disabledDays` Unix-timestamp API to the ISO `blackoutDates` API. Fires
|
|
14286
|
+
* the first time `_getBlackoutSet` rebuilds from a non-empty
|
|
14287
|
+
* `disabledDays`; subsequent calls (on this or any other AuroCalendar
|
|
14288
|
+
* instance on the page) are silent.
|
|
14289
|
+
* @private
|
|
14290
|
+
* @returns {void}
|
|
14291
|
+
*/
|
|
14292
|
+
_warnDisabledDaysDeprecated() {
|
|
14293
|
+
if (AuroCalendar._warnedDisabledDaysDeprecation) {
|
|
14294
|
+
return;
|
|
14295
|
+
}
|
|
14296
|
+
AuroCalendar._warnedDisabledDaysDeprecation = true;
|
|
14297
|
+
// eslint-disable-next-line no-console
|
|
14298
|
+
console.debug('[auro-datepicker] The `disabledDays` property (Unix timestamps) is deprecated. Migrate to the `blackoutDates` property on auro-datepicker (an array of `YYYY-MM-DD` ISO strings). `disabledDays` will be removed in a future major release.');
|
|
14299
|
+
}
|
|
14300
|
+
|
|
14049
14301
|
/**
|
|
14050
14302
|
* Computes the initial active date from data properties alone — no DOM required.
|
|
14051
14303
|
* Priority:
|
|
@@ -14090,21 +14342,10 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
14090
14342
|
const minTs = Number.isFinite(rawMin) ? rawMin : -Infinity;
|
|
14091
14343
|
const maxTs = Number.isFinite(rawMax) ? rawMax : Infinity;
|
|
14092
14344
|
|
|
14093
|
-
// Build a Set of blackout timestamps for O(1) lookup.
|
|
14094
|
-
|
|
14095
|
-
|
|
14096
|
-
|
|
14097
|
-
// Parse YYYY-MM-DD as local date to avoid UTC shift issues.
|
|
14098
|
-
const isoBlackouts = this.datepicker?.blackoutDates;
|
|
14099
|
-
if (Array.isArray(isoBlackouts)) {
|
|
14100
|
-
for (const isoStr of isoBlackouts) {
|
|
14101
|
-
const parts = isoStr.split('-');
|
|
14102
|
-
const ts = Math.floor(new Date(parseInt(parts[0], 10), parseInt(parts[1], 10) - 1, parseInt(parts[2], 10)).getTime() / 1000);
|
|
14103
|
-
if (Number.isFinite(ts)) {
|
|
14104
|
-
blackoutSet.add(ts);
|
|
14105
|
-
}
|
|
14106
|
-
}
|
|
14107
|
-
}
|
|
14345
|
+
// Build a Set of blackout timestamps for O(1) lookup. Memoized by the
|
|
14346
|
+
// identity of the source arrays so rapid month nav doesn't rebuild the
|
|
14347
|
+
// Set (and re-parse every ISO string) on every keypress.
|
|
14348
|
+
const blackoutSet = this._getBlackoutSet();
|
|
14108
14349
|
|
|
14109
14350
|
/**
|
|
14110
14351
|
* A date (unix timestamp in seconds, midnight-aligned) is "enabled" when
|
|
@@ -14300,8 +14541,8 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
14300
14541
|
|
|
14301
14542
|
/**
|
|
14302
14543
|
* Handles arrow key navigation on the calendar grid wrapper.
|
|
14303
|
-
* Focus stays on the grid wrapper; only
|
|
14304
|
-
*
|
|
14544
|
+
* Focus stays on the grid wrapper; only the visual active-cell indicator
|
|
14545
|
+
* changes. The live region announces the new active cell.
|
|
14305
14546
|
* @private
|
|
14306
14547
|
* @param {KeyboardEvent} event - The keyboard event.
|
|
14307
14548
|
* @returns {void}
|
|
@@ -14366,21 +14607,21 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
14366
14607
|
} else {
|
|
14367
14608
|
this.handlePrevMonth({ skipActiveUpdate: true });
|
|
14368
14609
|
}
|
|
14369
|
-
|
|
14370
|
-
|
|
14371
|
-
|
|
14372
|
-
|
|
14373
|
-
|
|
14374
|
-
|
|
14375
|
-
|
|
14376
|
-
|
|
14377
|
-
|
|
14610
|
+
this._afterMonthRender(() => {
|
|
14611
|
+
const cells = this.getAllFocusableCells();
|
|
14612
|
+
const target = cells.find((cell) => cell.day && cell.day.date === targetTs);
|
|
14613
|
+
if (target) {
|
|
14614
|
+
this.setActiveCell(target.day.date);
|
|
14615
|
+
this.handleCellFocused({ detail: { date: target.day.date } });
|
|
14616
|
+
} else {
|
|
14617
|
+
const fallback = this.pickNearestCell(cells, targetTs, navDir);
|
|
14618
|
+
if (fallback) {
|
|
14378
14619
|
this.setActiveCell(fallback.day.date);
|
|
14379
14620
|
this.handleCellFocused({ detail: { date: fallback.day.date } });
|
|
14380
14621
|
}
|
|
14381
|
-
|
|
14382
|
-
|
|
14383
|
-
|
|
14622
|
+
}
|
|
14623
|
+
// Re-focus grid wrapper after month change re-render
|
|
14624
|
+
this.focusActiveCell();
|
|
14384
14625
|
});
|
|
14385
14626
|
}
|
|
14386
14627
|
}
|
|
@@ -14406,26 +14647,20 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
14406
14647
|
} else {
|
|
14407
14648
|
this.handlePrevMonth({ skipActiveUpdate: true });
|
|
14408
14649
|
}
|
|
14409
|
-
|
|
14410
|
-
|
|
14411
|
-
|
|
14412
|
-
|
|
14413
|
-
|
|
14414
|
-
|
|
14415
|
-
|
|
14416
|
-
|
|
14417
|
-
|
|
14418
|
-
|
|
14419
|
-
if (navDirection === 'next') {
|
|
14420
|
-
[nearest] = cells;
|
|
14421
|
-
} else {
|
|
14422
|
-
nearest = cells[cells.length - 1];
|
|
14423
|
-
}
|
|
14650
|
+
this._afterMonthRender(() => {
|
|
14651
|
+
const cells = this.getAllFocusableCells();
|
|
14652
|
+
const target = cells.find((cell) => cell.day && cell.day.date === targetDate);
|
|
14653
|
+
if (target) {
|
|
14654
|
+
this.setActiveCell(target.day.date);
|
|
14655
|
+
this.handleCellFocused({ detail: { date: target.day.date } });
|
|
14656
|
+
} else {
|
|
14657
|
+
const nearest = this.pickNearestCell(cells, targetDate, navDirection);
|
|
14658
|
+
if (nearest) {
|
|
14424
14659
|
this.setActiveCell(nearest.day.date);
|
|
14425
14660
|
this.handleCellFocused({ detail: { date: nearest.day.date } });
|
|
14426
14661
|
}
|
|
14427
|
-
|
|
14428
|
-
|
|
14662
|
+
}
|
|
14663
|
+
this.focusActiveCell();
|
|
14429
14664
|
});
|
|
14430
14665
|
}
|
|
14431
14666
|
}
|
|
@@ -14475,19 +14710,17 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
14475
14710
|
}
|
|
14476
14711
|
|
|
14477
14712
|
this.handleNextMonth({ skipActiveUpdate: true });
|
|
14478
|
-
|
|
14479
|
-
|
|
14480
|
-
|
|
14481
|
-
|
|
14482
|
-
|
|
14483
|
-
|
|
14484
|
-
|
|
14485
|
-
|
|
14486
|
-
|
|
14487
|
-
|
|
14488
|
-
|
|
14489
|
-
}
|
|
14490
|
-
});
|
|
14713
|
+
this._afterMonthRender(() => {
|
|
14714
|
+
const cells = this.getAllFocusableCells();
|
|
14715
|
+
const target = cells.find((cell) => cell.day && cell.day.date === nextTs);
|
|
14716
|
+
if (target) {
|
|
14717
|
+
this.setActiveCell(target.day.date);
|
|
14718
|
+
this.focusActiveCell();
|
|
14719
|
+
} else if (cells.length > 0) {
|
|
14720
|
+
// Fallback: first cell of the last rendered month
|
|
14721
|
+
this.setActiveCell(cells[cells.length - 1].day.date);
|
|
14722
|
+
this.focusActiveCell();
|
|
14723
|
+
}
|
|
14491
14724
|
});
|
|
14492
14725
|
} else if (direction === 'prev' && this.showPrevMonthBtn) {
|
|
14493
14726
|
// Navigate to previous month and focus the computed previous date.
|
|
@@ -14501,19 +14734,17 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
14501
14734
|
}
|
|
14502
14735
|
|
|
14503
14736
|
this.handlePrevMonth({ skipActiveUpdate: true });
|
|
14504
|
-
|
|
14505
|
-
|
|
14506
|
-
|
|
14507
|
-
|
|
14508
|
-
|
|
14509
|
-
|
|
14510
|
-
|
|
14511
|
-
|
|
14512
|
-
|
|
14513
|
-
|
|
14514
|
-
|
|
14515
|
-
}
|
|
14516
|
-
});
|
|
14737
|
+
this._afterMonthRender(() => {
|
|
14738
|
+
const cells = this.getAllFocusableCells();
|
|
14739
|
+
const target = cells.find((cell) => cell.day && cell.day.date === prevTs);
|
|
14740
|
+
if (target) {
|
|
14741
|
+
this.setActiveCell(target.day.date);
|
|
14742
|
+
this.focusActiveCell();
|
|
14743
|
+
} else if (cells.length > 0) {
|
|
14744
|
+
// Fallback: last cell of the first rendered month
|
|
14745
|
+
this.setActiveCell(cells[0].day.date);
|
|
14746
|
+
this.focusActiveCell();
|
|
14747
|
+
}
|
|
14517
14748
|
});
|
|
14518
14749
|
}
|
|
14519
14750
|
} else if (key === 'ArrowDown' || key === 'ArrowUp') {
|
|
@@ -14541,20 +14772,18 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
14541
14772
|
} else {
|
|
14542
14773
|
this.handlePrevMonth({ skipActiveUpdate: true });
|
|
14543
14774
|
}
|
|
14544
|
-
|
|
14545
|
-
|
|
14546
|
-
|
|
14547
|
-
|
|
14548
|
-
|
|
14549
|
-
|
|
14550
|
-
|
|
14551
|
-
|
|
14552
|
-
|
|
14553
|
-
|
|
14554
|
-
|
|
14555
|
-
|
|
14556
|
-
}
|
|
14557
|
-
});
|
|
14775
|
+
this._afterMonthRender(() => {
|
|
14776
|
+
const cells = this.getAllFocusableCells();
|
|
14777
|
+
const target = cells.find((cell) => cell.day && cell.day.date === targetDate);
|
|
14778
|
+
if (target) {
|
|
14779
|
+
this.setActiveCell(target.day.date);
|
|
14780
|
+
this.focusActiveCell();
|
|
14781
|
+
} else if (cells.length > 0) {
|
|
14782
|
+
// Clamp to nearest focusable cell
|
|
14783
|
+
const nearest = navDirection === 'next' ? cells[0] : cells[cells.length - 1];
|
|
14784
|
+
this.setActiveCell(nearest.day.date);
|
|
14785
|
+
this.focusActiveCell();
|
|
14786
|
+
}
|
|
14558
14787
|
});
|
|
14559
14788
|
}
|
|
14560
14789
|
}
|
|
@@ -14593,8 +14822,9 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
14593
14822
|
return;
|
|
14594
14823
|
}
|
|
14595
14824
|
|
|
14596
|
-
//
|
|
14597
|
-
// so
|
|
14825
|
+
// DOM focus stays on the grid wrapper while arrow keys move the active
|
|
14826
|
+
// cell, so cell buttons never receive native focus. The debounced live
|
|
14827
|
+
// region carries the full-context announcement instead.
|
|
14598
14828
|
const announcement = this.buildFocusAnnouncement(date);
|
|
14599
14829
|
this.announceFocusDebounced(announcement);
|
|
14600
14830
|
|
|
@@ -14664,10 +14894,10 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
14664
14894
|
return null;
|
|
14665
14895
|
}
|
|
14666
14896
|
|
|
14667
|
-
const departTs =
|
|
14897
|
+
const departTs = new Date(parsedFrom * 1000).setHours(0, 0, 0, 0) / 1000;
|
|
14668
14898
|
const parsedTo = Number.parseInt(this.dateTo, 10);
|
|
14669
14899
|
const hasTo = Number.isFinite(parsedTo);
|
|
14670
|
-
const returnTs = hasTo ?
|
|
14900
|
+
const returnTs = hasTo ? new Date(parsedTo * 1000).setHours(0, 0, 0, 0) / 1000 : null;
|
|
14671
14901
|
|
|
14672
14902
|
if (date === departTs) {
|
|
14673
14903
|
return this.datepicker.rangeLabelStart || 'range start';
|
|
@@ -14681,36 +14911,22 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
14681
14911
|
if (hasTo && date > departTs && date < returnTs) {
|
|
14682
14912
|
return this.datepicker.rangeLabelInRange || 'in range';
|
|
14683
14913
|
}
|
|
14914
|
+
if (!hasTo && date > departTs) {
|
|
14915
|
+
return this.datepicker.rangeLabelEndPreview || 'previewing range end';
|
|
14916
|
+
}
|
|
14684
14917
|
return this.datepicker.rangeLabelAfterRange || 'after range';
|
|
14685
14918
|
}
|
|
14686
14919
|
|
|
14687
14920
|
/**
|
|
14688
|
-
* Checks whether a given date is a blackout date.
|
|
14921
|
+
* Checks whether a given date is a blackout date. Delegates to the
|
|
14922
|
+
* memoized `_getBlackoutSet` so the YYYY-MM-DD parsing and the
|
|
14923
|
+
* legacy/ISO merge rules live in exactly one place (see `blackoutUtils.js`).
|
|
14689
14924
|
* @private
|
|
14690
14925
|
* @param {Number} dateTs - Unix timestamp (seconds).
|
|
14691
14926
|
* @returns {Boolean} True if the date is blacked out.
|
|
14692
14927
|
*/
|
|
14693
14928
|
isDateBlackout(dateTs) {
|
|
14694
|
-
|
|
14695
|
-
if (Array.isArray(this.disabledDays) && this.disabledDays.length > 0) {
|
|
14696
|
-
if (this.disabledDays.findIndex((day) => parseInt(day, 10) === dateTs) !== -1) {
|
|
14697
|
-
return true;
|
|
14698
|
-
}
|
|
14699
|
-
}
|
|
14700
|
-
|
|
14701
|
-
// Check ISO blackoutDates.
|
|
14702
|
-
const blackoutDates = this.datepicker?.blackoutDates;
|
|
14703
|
-
if (Array.isArray(blackoutDates) && blackoutDates.length > 0) {
|
|
14704
|
-
const date = new Date(dateTs * 1000);
|
|
14705
|
-
const yyyy = date.getFullYear();
|
|
14706
|
-
const mm = String(date.getMonth() + 1).padStart(2, '0');
|
|
14707
|
-
const dd = String(date.getDate()).padStart(2, '0');
|
|
14708
|
-
if (blackoutDates.includes(`${yyyy}-${mm}-${dd}`)) {
|
|
14709
|
-
return true;
|
|
14710
|
-
}
|
|
14711
|
-
}
|
|
14712
|
-
|
|
14713
|
-
return false;
|
|
14929
|
+
return this._getBlackoutSet().has(dateTs);
|
|
14714
14930
|
}
|
|
14715
14931
|
|
|
14716
14932
|
/**
|
|
@@ -14877,9 +15093,34 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
14877
15093
|
// the last one.
|
|
14878
15094
|
if (this._announceRafId) {
|
|
14879
15095
|
cancelAnimationFrame(this._announceRafId);
|
|
15096
|
+
this._announceRafId = null;
|
|
14880
15097
|
}
|
|
15098
|
+
this._deliverAnnouncement(dateStr, 0);
|
|
15099
|
+
}
|
|
15100
|
+
|
|
15101
|
+
/**
|
|
15102
|
+
* Writes `dateStr` to the live region. If the dropdown's dialog hasn't
|
|
15103
|
+
* mounted yet (so getOrCreateLiveRegion can't attach), retries on the
|
|
15104
|
+
* next animation frame up to MAX_LIVE_REGION_RETRIES instead of silently
|
|
15105
|
+
* dropping the announcement. The retry uses the same `_announceRafId`
|
|
15106
|
+
* the double-rAF below uses, so a newer announceSelection call (or
|
|
15107
|
+
* disconnectedCallback) cancels any in-flight retry.
|
|
15108
|
+
* @private
|
|
15109
|
+
* @param {String} dateStr - The localized date string to announce.
|
|
15110
|
+
* @param {Number} attempts - Number of prior retry attempts.
|
|
15111
|
+
* @returns {void}
|
|
15112
|
+
*/
|
|
15113
|
+
_deliverAnnouncement(dateStr, attempts) {
|
|
14881
15114
|
const liveRegion = this.getOrCreateLiveRegion();
|
|
14882
15115
|
if (!liveRegion) {
|
|
15116
|
+
const MAX_LIVE_REGION_RETRIES = 10;
|
|
15117
|
+
if (attempts < MAX_LIVE_REGION_RETRIES) {
|
|
15118
|
+
this._announceRafId = requestAnimationFrame(() => {
|
|
15119
|
+
this._deliverAnnouncement(dateStr, attempts + 1);
|
|
15120
|
+
});
|
|
15121
|
+
} else {
|
|
15122
|
+
this._announceRafId = null;
|
|
15123
|
+
}
|
|
14883
15124
|
return;
|
|
14884
15125
|
}
|
|
14885
15126
|
|
|
@@ -15065,7 +15306,7 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
15065
15306
|
</button>
|
|
15066
15307
|
` : undefined}
|
|
15067
15308
|
</div>
|
|
15068
|
-
<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}">
|
|
15309
|
+
<div id="calendarGrid" class="calendars" role="group" aria-roledescription="calendar" tabindex="0" aria-label="${this.datepicker?.calendarGridLabel}" @keydown="${this.handleGridKeyDown}" @focusin="${this.handleGridFocusIn}" @focusout="${this.handleGridFocusOut}" @calendar-month-mouseleave="${this.clearRangePreview}">
|
|
15069
15310
|
${this.renderAllCalendars()}
|
|
15070
15311
|
</div>
|
|
15071
15312
|
</div>
|
|
@@ -18974,7 +19215,7 @@ let AuroHelpText$2 = class AuroHelpText extends i$1 {
|
|
|
18974
19215
|
}
|
|
18975
19216
|
};
|
|
18976
19217
|
|
|
18977
|
-
var formkitVersion$1 = '
|
|
19218
|
+
var formkitVersion$1 = '202606252104';
|
|
18978
19219
|
|
|
18979
19220
|
let AuroElement$2 = class AuroElement extends i$1 {
|
|
18980
19221
|
static get properties() {
|
|
@@ -32574,7 +32815,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$1 {
|
|
|
32574
32815
|
}
|
|
32575
32816
|
};
|
|
32576
32817
|
|
|
32577
|
-
var formkitVersion = '
|
|
32818
|
+
var formkitVersion = '202606252104';
|
|
32578
32819
|
|
|
32579
32820
|
// Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
32580
32821
|
// See LICENSE in the project root for license information.
|
|
@@ -34051,6 +34292,7 @@ class AuroDatePicker extends AuroElement {
|
|
|
34051
34292
|
this.rangeLabelBeforeRange = 'before range';
|
|
34052
34293
|
this.rangeLabelInRange = 'in range';
|
|
34053
34294
|
this.rangeLabelAfterRange = 'after range';
|
|
34295
|
+
this.rangeLabelEndPreview = 'previewing range end';
|
|
34054
34296
|
this.blackoutDates = [];
|
|
34055
34297
|
this.blackoutLabel = 'unavailable';
|
|
34056
34298
|
this.navLabelPrevMonth = 'Previous month';
|
|
@@ -34150,6 +34392,22 @@ class AuroDatePicker extends AuroElement {
|
|
|
34150
34392
|
*/
|
|
34151
34393
|
this.handleClick = this.handleClick.bind(this);
|
|
34152
34394
|
|
|
34395
|
+
/**
|
|
34396
|
+
* Single AbortController shared by every listener registered in the
|
|
34397
|
+
* configure* methods. Lets disconnectedCallback tear all of them down
|
|
34398
|
+
* with one abort() call.
|
|
34399
|
+
*
|
|
34400
|
+
* The genuine leak risk is the listeners attached to children that can
|
|
34401
|
+
* outlive the host if they get reparented — `this.dropdown`,
|
|
34402
|
+
* `this.calendar`, and the inputs inside the dropdown's slot.
|
|
34403
|
+
* Listeners attached to `this` (e.g. focusin/focusout on the host)
|
|
34404
|
+
* form a self-contained reference graph that the GC can collect with
|
|
34405
|
+
* the host anyway, but they share the same signal so the cleanup
|
|
34406
|
+
* pattern stays uniform across all configure* sites.
|
|
34407
|
+
* @private
|
|
34408
|
+
*/
|
|
34409
|
+
this._listenerAbortController = new AbortController();
|
|
34410
|
+
|
|
34153
34411
|
/**
|
|
34154
34412
|
* @private
|
|
34155
34413
|
*/
|
|
@@ -34198,6 +34456,7 @@ class AuroDatePicker extends AuroElement {
|
|
|
34198
34456
|
|
|
34199
34457
|
/**
|
|
34200
34458
|
* Label announced for blackout (disabled but in-range) date cells.
|
|
34459
|
+
* @default 'unavailable'
|
|
34201
34460
|
*/
|
|
34202
34461
|
blackoutLabel: {
|
|
34203
34462
|
type: String,
|
|
@@ -34214,6 +34473,7 @@ class AuroDatePicker extends AuroElement {
|
|
|
34214
34473
|
|
|
34215
34474
|
/**
|
|
34216
34475
|
* Accessible label for the calendar grid containing the days of the month.
|
|
34476
|
+
* @default 'Calendar days of the month'
|
|
34217
34477
|
*/
|
|
34218
34478
|
calendarGridLabel: {
|
|
34219
34479
|
type: String,
|
|
@@ -34376,6 +34636,7 @@ class AuroDatePicker extends AuroElement {
|
|
|
34376
34636
|
|
|
34377
34637
|
/**
|
|
34378
34638
|
* Accessible label for the next month navigation button.
|
|
34639
|
+
* @default 'Next month'
|
|
34379
34640
|
*/
|
|
34380
34641
|
navLabelNextMonth: {
|
|
34381
34642
|
type: String,
|
|
@@ -34384,6 +34645,7 @@ class AuroDatePicker extends AuroElement {
|
|
|
34384
34645
|
|
|
34385
34646
|
/**
|
|
34386
34647
|
* Accessible label for the previous month navigation button.
|
|
34648
|
+
* @default 'Previous month'
|
|
34387
34649
|
*/
|
|
34388
34650
|
navLabelPrevMonth: {
|
|
34389
34651
|
type: String,
|
|
@@ -34461,7 +34723,11 @@ class AuroDatePicker extends AuroElement {
|
|
|
34461
34723
|
},
|
|
34462
34724
|
|
|
34463
34725
|
/**
|
|
34464
|
-
* Label announced for cells after
|
|
34726
|
+
* Label announced for cells after a fully selected range (both
|
|
34727
|
+
* `dateFrom` and `dateTo` are set). While a range is still being
|
|
34728
|
+
* picked (`dateFrom` set, `dateTo` unset), focused cells past the
|
|
34729
|
+
* start use `rangeLabelEndPreview` instead.
|
|
34730
|
+
* @default 'after range'
|
|
34465
34731
|
*/
|
|
34466
34732
|
rangeLabelAfterRange: {
|
|
34467
34733
|
type: String,
|
|
@@ -34470,6 +34736,7 @@ class AuroDatePicker extends AuroElement {
|
|
|
34470
34736
|
|
|
34471
34737
|
/**
|
|
34472
34738
|
* Label announced for cells before the range start.
|
|
34739
|
+
* @default 'before range'
|
|
34473
34740
|
*/
|
|
34474
34741
|
rangeLabelBeforeRange: {
|
|
34475
34742
|
type: String,
|
|
@@ -34478,14 +34745,27 @@ class AuroDatePicker extends AuroElement {
|
|
|
34478
34745
|
|
|
34479
34746
|
/**
|
|
34480
34747
|
* Label announced for the range end date cell.
|
|
34748
|
+
* @default 'range end'
|
|
34481
34749
|
*/
|
|
34482
34750
|
rangeLabelEnd: {
|
|
34483
34751
|
type: String,
|
|
34484
34752
|
reflect: true
|
|
34485
34753
|
},
|
|
34486
34754
|
|
|
34755
|
+
/**
|
|
34756
|
+
* Label announced for the focused cell while previewing a range end
|
|
34757
|
+
* (dateFrom set, dateTo not yet selected). Tells AT users that
|
|
34758
|
+
* pressing Enter would commit this cell as the range end.
|
|
34759
|
+
* @default 'previewing range end'
|
|
34760
|
+
*/
|
|
34761
|
+
rangeLabelEndPreview: {
|
|
34762
|
+
type: String,
|
|
34763
|
+
reflect: true
|
|
34764
|
+
},
|
|
34765
|
+
|
|
34487
34766
|
/**
|
|
34488
34767
|
* Label announced for cells within the selected range.
|
|
34768
|
+
* @default 'in range'
|
|
34489
34769
|
*/
|
|
34490
34770
|
rangeLabelInRange: {
|
|
34491
34771
|
type: String,
|
|
@@ -34494,6 +34774,7 @@ class AuroDatePicker extends AuroElement {
|
|
|
34494
34774
|
|
|
34495
34775
|
/**
|
|
34496
34776
|
* Label announced for the range start date cell.
|
|
34777
|
+
* @default 'range start'
|
|
34497
34778
|
*/
|
|
34498
34779
|
rangeLabelStart: {
|
|
34499
34780
|
type: String,
|
|
@@ -34501,7 +34782,7 @@ class AuroDatePicker extends AuroElement {
|
|
|
34501
34782
|
},
|
|
34502
34783
|
|
|
34503
34784
|
/**
|
|
34504
|
-
* Dates that the user should have for reference as part of their decision
|
|
34785
|
+
* Dates that the user should have for reference as part of their decision-making when selecting a date.
|
|
34505
34786
|
* This should be a JSON string array of ISO date strings (`YYYY-MM-DD`).
|
|
34506
34787
|
*/
|
|
34507
34788
|
referenceDates: {
|
|
@@ -34858,10 +35139,26 @@ class AuroDatePicker extends AuroElement {
|
|
|
34858
35139
|
// ─── Vendor calendar time conversions ─────────────────────────────────────
|
|
34859
35140
|
|
|
34860
35141
|
/**
|
|
34861
|
-
* Converts a Unix timestamp (seconds) from the
|
|
35142
|
+
* Converts a Unix timestamp (seconds) from the vendored range-datepicker
|
|
35143
|
+
* (`src/vendor/wc-range-datepicker/day.js`) to an ISO date string.
|
|
35144
|
+
*
|
|
35145
|
+
* Timezone contract:
|
|
35146
|
+
* - INPUT: `time` is assumed to be the seconds-since-epoch of **local
|
|
35147
|
+
* midnight** for the intended calendar day. The vendor's Day constructor
|
|
35148
|
+
* builds it via `date-fns format(date, 't')` from a locally-constructed
|
|
35149
|
+
* Date, so this assumption currently holds end-to-end.
|
|
35150
|
+
* - OUTPUT: `dateFormatter.toISOFormatString` reads the Date's local
|
|
35151
|
+
* getFullYear/getMonth/getDate components, so the returned YYYY-MM-DD
|
|
35152
|
+
* string matches the local calendar day.
|
|
35153
|
+
*
|
|
35154
|
+
* If the vendor ever switches to emitting UTC-midnight timestamps, this
|
|
35155
|
+
* conversion will silently shift the returned date by one day in zones
|
|
35156
|
+
* west of UTC. Any vendor swap should re-verify this contract; the TZ
|
|
35157
|
+
* regression suite (`npm run test:hst`, UTC-10) will catch the symptom.
|
|
35158
|
+
*
|
|
34862
35159
|
* @private
|
|
34863
|
-
* @param {number} time - Unix timestamp
|
|
34864
|
-
* @returns {string} ISO date string (yyyy-mm-dd).
|
|
35160
|
+
* @param {number} time - Unix timestamp (seconds), local midnight of the day.
|
|
35161
|
+
* @returns {string} ISO date string (yyyy-mm-dd) reflecting the local calendar day.
|
|
34865
35162
|
*/
|
|
34866
35163
|
convertWcTimeToDate(time) {
|
|
34867
35164
|
return dateFormatter$1.toISOFormatString(new Date(time * 1000));
|
|
@@ -34963,8 +35260,8 @@ class AuroDatePicker extends AuroElement {
|
|
|
34963
35260
|
}
|
|
34964
35261
|
}
|
|
34965
35262
|
|
|
34966
|
-
// Focus the calendar grid wrapper (
|
|
34967
|
-
// the SR announcement for the active cell
|
|
35263
|
+
// Focus the calendar grid wrapper. The live region (announced just
|
|
35264
|
+
// below) handles the SR announcement for the active cell.
|
|
34968
35265
|
if (activeCell) {
|
|
34969
35266
|
this.calendar.focusActiveCell();
|
|
34970
35267
|
|
|
@@ -35014,11 +35311,13 @@ class AuroDatePicker extends AuroElement {
|
|
|
35014
35311
|
this.dropdown.bibDialogLabel = labelElement.textContent.trim() || undefined;
|
|
35015
35312
|
}
|
|
35016
35313
|
|
|
35314
|
+
const { signal } = this._listenerAbortController;
|
|
35315
|
+
|
|
35017
35316
|
this.dropdown.addEventListener('auroDropdown-triggerClick', () => {
|
|
35018
35317
|
if (!this.isPopoverVisible) {
|
|
35019
35318
|
this.dropdown.show();
|
|
35020
35319
|
}
|
|
35021
|
-
});
|
|
35320
|
+
}, { signal });
|
|
35022
35321
|
|
|
35023
35322
|
this.dropdown.addEventListener('auroDropdown-toggled', () => {
|
|
35024
35323
|
this.notifyDatepickerToggled();
|
|
@@ -35036,7 +35335,7 @@ class AuroDatePicker extends AuroElement {
|
|
|
35036
35335
|
if (this.valueObject) {
|
|
35037
35336
|
this.centralDate = this.value;
|
|
35038
35337
|
} else if (!this.centralDate && !this.calendarStartDate && !this.minDate) {
|
|
35039
|
-
this.centralDate = new Date();
|
|
35338
|
+
this.centralDate = dateFormatter$1.toISOFormatString(new Date());
|
|
35040
35339
|
}
|
|
35041
35340
|
}
|
|
35042
35341
|
|
|
@@ -35116,7 +35415,7 @@ class AuroDatePicker extends AuroElement {
|
|
|
35116
35415
|
this.forceScrollOnNextMobileCalendarRender = false;
|
|
35117
35416
|
}, 0);
|
|
35118
35417
|
}
|
|
35119
|
-
});
|
|
35418
|
+
}, { signal });
|
|
35120
35419
|
|
|
35121
35420
|
// Handle responsive strategy changes while the dropdown is open
|
|
35122
35421
|
// (e.g. resizing from desktop → mobile or vice versa).
|
|
@@ -35163,7 +35462,7 @@ class AuroDatePicker extends AuroElement {
|
|
|
35163
35462
|
});
|
|
35164
35463
|
});
|
|
35165
35464
|
}
|
|
35166
|
-
});
|
|
35465
|
+
}, { signal });
|
|
35167
35466
|
}
|
|
35168
35467
|
|
|
35169
35468
|
/**
|
|
@@ -35176,6 +35475,8 @@ class AuroDatePicker extends AuroElement {
|
|
|
35176
35475
|
|
|
35177
35476
|
this.inputList = [...this.dropdown.querySelectorAll(this.inputTag._$litStatic$)];
|
|
35178
35477
|
|
|
35478
|
+
const { signal } = this._listenerAbortController;
|
|
35479
|
+
|
|
35179
35480
|
this.inputList.forEach((input, index) => {
|
|
35180
35481
|
input.addEventListener('input', (event) => {
|
|
35181
35482
|
event.stopPropagation();
|
|
@@ -35187,7 +35488,7 @@ class AuroDatePicker extends AuroElement {
|
|
|
35187
35488
|
}
|
|
35188
35489
|
|
|
35189
35490
|
this.notifyValueChanged();
|
|
35190
|
-
});
|
|
35491
|
+
}, { signal });
|
|
35191
35492
|
|
|
35192
35493
|
input.addEventListener('auroFormElement-validated', (evt) => {
|
|
35193
35494
|
// not to bubble up input's validated event.
|
|
@@ -35203,7 +35504,7 @@ class AuroDatePicker extends AuroElement {
|
|
|
35203
35504
|
this.validity = evt.detail.validity;
|
|
35204
35505
|
this.errorMessage = evt.detail.message;
|
|
35205
35506
|
}
|
|
35206
|
-
});
|
|
35507
|
+
}, { signal });
|
|
35207
35508
|
});
|
|
35208
35509
|
}
|
|
35209
35510
|
|
|
@@ -35217,6 +35518,8 @@ class AuroDatePicker extends AuroElement {
|
|
|
35217
35518
|
this.calendar.datepicker = this;
|
|
35218
35519
|
this.calendar.dropdown = this.dropdown;
|
|
35219
35520
|
|
|
35521
|
+
const { signal } = this._listenerAbortController;
|
|
35522
|
+
|
|
35220
35523
|
this.calendar.addEventListener('auroCalendar-dateSelected', () => {
|
|
35221
35524
|
if (this.inputList[0].value !== this.calendar.dateFrom && this.calendar.dateFrom !== undefined) {
|
|
35222
35525
|
this.inputList[0].value = this.convertWcTimeToDate(this.calendar.dateFrom);
|
|
@@ -35225,11 +35528,11 @@ class AuroDatePicker extends AuroElement {
|
|
|
35225
35528
|
if (this.inputList[1] && this.calendar.dateTo && this.inputList[1].value !== this.calendar.dateTo) {
|
|
35226
35529
|
this.inputList[1].value = this.convertWcTimeToDate(this.calendar.dateTo);
|
|
35227
35530
|
}
|
|
35228
|
-
});
|
|
35531
|
+
}, { signal });
|
|
35229
35532
|
|
|
35230
35533
|
this.calendar.addEventListener('auroCalendar-dismissRequest', () => {
|
|
35231
35534
|
this.dropdown.hide();
|
|
35232
|
-
});
|
|
35535
|
+
}, { signal });
|
|
35233
35536
|
|
|
35234
35537
|
this.calendar.addEventListener('auroCalendar-centralDateChanged', (event) => {
|
|
35235
35538
|
const match = this.centralDateObject && this.util.datesMatch(event.detail.date, this.centralDateObject);
|
|
@@ -35239,7 +35542,7 @@ class AuroDatePicker extends AuroElement {
|
|
|
35239
35542
|
}
|
|
35240
35543
|
|
|
35241
35544
|
this.notifyMonthChanged(event);
|
|
35242
|
-
});
|
|
35545
|
+
}, { signal });
|
|
35243
35546
|
}
|
|
35244
35547
|
|
|
35245
35548
|
/**
|
|
@@ -35248,10 +35551,17 @@ class AuroDatePicker extends AuroElement {
|
|
|
35248
35551
|
* @returns {void}
|
|
35249
35552
|
*/
|
|
35250
35553
|
configureDatepicker() {
|
|
35554
|
+
// These listeners are on `this` (the host), so they would GC with the
|
|
35555
|
+
// host even without the abort signal — see the leak rationale on
|
|
35556
|
+
// `_listenerAbortController`. The signal is still passed for uniform
|
|
35557
|
+
// cleanup semantics with the child-element listeners in the other
|
|
35558
|
+
// configure* methods.
|
|
35559
|
+
const { signal } = this._listenerAbortController;
|
|
35560
|
+
|
|
35251
35561
|
this.addEventListener('focusin', () => {
|
|
35252
35562
|
this.touched = true;
|
|
35253
35563
|
this.hasFocus = true;
|
|
35254
|
-
});
|
|
35564
|
+
}, { signal });
|
|
35255
35565
|
|
|
35256
35566
|
this.addEventListener('focusout', () => {
|
|
35257
35567
|
this.hasFocus = false;
|
|
@@ -35263,7 +35573,7 @@ class AuroDatePicker extends AuroElement {
|
|
|
35263
35573
|
if (!this.matches(':focus-within')) {
|
|
35264
35574
|
this.validate();
|
|
35265
35575
|
}
|
|
35266
|
-
});
|
|
35576
|
+
}, { signal });
|
|
35267
35577
|
|
|
35268
35578
|
if (this.valueObject) {
|
|
35269
35579
|
this.calendar.dateFrom = this.convertToWcValidTime(this.valueObject);
|
|
@@ -35461,6 +35771,36 @@ class AuroDatePicker extends AuroElement {
|
|
|
35461
35771
|
return this.validity !== undefined && this.validity !== 'valid';
|
|
35462
35772
|
}
|
|
35463
35773
|
|
|
35774
|
+
/**
|
|
35775
|
+
* Per-class dedup set used by `_warnInvalidLocale`. Static so the dedup
|
|
35776
|
+
* spans every datepicker instance on the page; lives on the class (not
|
|
35777
|
+
* at module scope) so it stays an encapsulated implementation detail of
|
|
35778
|
+
* this component and does not interfere with WCA's class-JSDoc
|
|
35779
|
+
* attachment.
|
|
35780
|
+
* @private
|
|
35781
|
+
*/
|
|
35782
|
+
static _warnedInvalidLocales = new Set();
|
|
35783
|
+
|
|
35784
|
+
/**
|
|
35785
|
+
* Logs a one-time `console.debug` when an unsupported locale falls back to
|
|
35786
|
+
* en-US. Deduped by the offending tag so noisy re-renders that resurface
|
|
35787
|
+
* the same bad value stay quiet, but each new bad value still signals so
|
|
35788
|
+
* consumers can spot the typo or missing tag.
|
|
35789
|
+
* @private
|
|
35790
|
+
* @param {string|undefined} badLocale - The locale value that failed.
|
|
35791
|
+
* @returns {void}
|
|
35792
|
+
*/
|
|
35793
|
+
_warnInvalidLocale(badLocale) {
|
|
35794
|
+
const key = String(badLocale ?? '');
|
|
35795
|
+
const seen = AuroDatePicker._warnedInvalidLocales;
|
|
35796
|
+
if (seen.has(key)) {
|
|
35797
|
+
return;
|
|
35798
|
+
}
|
|
35799
|
+
seen.add(key);
|
|
35800
|
+
// eslint-disable-next-line no-console
|
|
35801
|
+
console.debug(`[auro-datepicker] Locale "${key}" is not supported by Intl.DateTimeFormat. Falling back to "en-US". Pass a BCP 47 tag such as "en-US", "fr-FR", or "ja-JP".`);
|
|
35802
|
+
}
|
|
35803
|
+
|
|
35464
35804
|
/**
|
|
35465
35805
|
* Lifecycle method to check if the locale is valid.
|
|
35466
35806
|
* @ignore
|
|
@@ -35471,10 +35811,15 @@ class AuroDatePicker extends AuroElement {
|
|
|
35471
35811
|
if (changedProperties.has('locale')) {
|
|
35472
35812
|
try {
|
|
35473
35813
|
const supported = Intl.DateTimeFormat.supportedLocalesOf([this.locale], { localeMatcher: 'lookup' });
|
|
35474
|
-
|
|
35814
|
+
if (supported.length > 0) {
|
|
35815
|
+
this._validLocale = this.locale;
|
|
35816
|
+
} else {
|
|
35817
|
+
this._validLocale = 'en-US';
|
|
35818
|
+
this._warnInvalidLocale(this.locale);
|
|
35819
|
+
}
|
|
35475
35820
|
} catch {
|
|
35476
|
-
console.debug(`[AuroDatePicker] The locale "${this.locale}" is not valid. Falling back to "en-US".`); // eslint-disable-line no-console
|
|
35477
35821
|
this._validLocale = 'en-US';
|
|
35822
|
+
this._warnInvalidLocale(this.locale);
|
|
35478
35823
|
}
|
|
35479
35824
|
|
|
35480
35825
|
const previousLocaleFormat = getDateFormatFromLocale$1(changedProperties.get('locale'));
|
|
@@ -35556,8 +35901,6 @@ class AuroDatePicker extends AuroElement {
|
|
|
35556
35901
|
// Skip centralDate update when user clicked a cell in range mode
|
|
35557
35902
|
// to prevent the displayed months from shifting
|
|
35558
35903
|
this.centralDate = this.value;
|
|
35559
|
-
//TODO: TEST THIS CHANGE
|
|
35560
|
-
// this.calendarRenderUtil.updateCentralDate(this, this.value);
|
|
35561
35904
|
}
|
|
35562
35905
|
|
|
35563
35906
|
this.setHasValue();
|
|
@@ -35617,8 +35960,6 @@ class AuroDatePicker extends AuroElement {
|
|
|
35617
35960
|
// Skip centralDate update when user clicked a cell in range mode
|
|
35618
35961
|
// to prevent the displayed months from shifting
|
|
35619
35962
|
this.centralDate = this.valueEnd;
|
|
35620
|
-
// TODO: TEST THIS CHANGE
|
|
35621
|
-
// this.calendarRenderUtil.updateCentralDate(this, this.formattedValueEnd);
|
|
35622
35963
|
}
|
|
35623
35964
|
|
|
35624
35965
|
this.validate();
|
|
@@ -35760,7 +36101,7 @@ class AuroDatePicker extends AuroElement {
|
|
|
35760
36101
|
* @returns {void}
|
|
35761
36102
|
*/
|
|
35762
36103
|
configureClickHandler() {
|
|
35763
|
-
this.addEventListener('click', this.handleClick);
|
|
36104
|
+
this.addEventListener('click', this.handleClick, { signal: this._listenerAbortController.signal });
|
|
35764
36105
|
}
|
|
35765
36106
|
|
|
35766
36107
|
firstUpdated() {
|
|
@@ -35768,6 +36109,15 @@ class AuroDatePicker extends AuroElement {
|
|
|
35768
36109
|
// Add the tag name as an attribute if it is different than the component name
|
|
35769
36110
|
this.runtimeUtils.handleComponentTagRename(this, 'auro-datepicker');
|
|
35770
36111
|
|
|
36112
|
+
// If the element was disconnected before this first render finished,
|
|
36113
|
+
// disconnectedCallback's microtask already aborted the controller. The
|
|
36114
|
+
// connectedCallback reinit guard skips that case because `hasUpdated`
|
|
36115
|
+
// is still false. Mint a fresh controller here so configure* registers
|
|
36116
|
+
// listeners against a live signal.
|
|
36117
|
+
if (this._listenerAbortController.signal.aborted) {
|
|
36118
|
+
this._listenerAbortController = new AbortController();
|
|
36119
|
+
}
|
|
36120
|
+
|
|
35771
36121
|
this.configureDropdown();
|
|
35772
36122
|
this.configureInput();
|
|
35773
36123
|
this.configureCalendar();
|
|
@@ -35779,9 +36129,36 @@ class AuroDatePicker extends AuroElement {
|
|
|
35779
36129
|
connectedCallback() {
|
|
35780
36130
|
super.connectedCallback();
|
|
35781
36131
|
|
|
36132
|
+
// True reconnect after `disconnectedCallback` aborted our controller:
|
|
36133
|
+
// the existing signal is dead, so listeners registered against it
|
|
36134
|
+
// would never fire. Create a fresh controller and re-run the
|
|
36135
|
+
// configure* wiring (each method is idempotent — it just re-caches
|
|
36136
|
+
// child refs and re-registers listeners against the new signal).
|
|
36137
|
+
// `hasUpdated` gates this so the *first* connect (which precedes
|
|
36138
|
+
// firstUpdated) still falls through to firstUpdated's initial wiring.
|
|
36139
|
+
if (this.hasUpdated && this._listenerAbortController.signal.aborted) {
|
|
36140
|
+
this._listenerAbortController = new AbortController();
|
|
36141
|
+
this.configureDropdown();
|
|
36142
|
+
this.configureInput();
|
|
36143
|
+
this.configureCalendar();
|
|
36144
|
+
this.configureDatepicker();
|
|
36145
|
+
this.configureClickHandler();
|
|
36146
|
+
}
|
|
36147
|
+
|
|
35782
36148
|
this.locale = this.domHandler.getLocale(this);
|
|
35783
36149
|
}
|
|
35784
36150
|
|
|
36151
|
+
disconnectedCallback() {
|
|
36152
|
+
super.disconnectedCallback();
|
|
36153
|
+
// Defer so that re-parenting (auro-drawer slotting it into a dialog,
|
|
36154
|
+
// for example) does not abort listeners we still need after reconnect.
|
|
36155
|
+
queueMicrotask(() => {
|
|
36156
|
+
if (!this.isConnected) {
|
|
36157
|
+
this._listenerAbortController.abort();
|
|
36158
|
+
}
|
|
36159
|
+
});
|
|
36160
|
+
}
|
|
36161
|
+
|
|
35785
36162
|
// layout render methods
|
|
35786
36163
|
// ------------------------------------
|
|
35787
36164
|
|