@aurodesignsystem-dev/auro-formkit 0.0.0-pr1511.0 → 0.0.0-pr1511.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 +4 -4
- package/components/combobox/demo/getting-started.min.js +4 -4
- package/components/combobox/demo/index.min.js +4 -4
- package/components/combobox/dist/index.js +4 -4
- package/components/combobox/dist/registered.js +4 -4
- package/components/counter/demo/customize.min.js +10 -3
- package/components/counter/demo/index.min.js +10 -3
- package/components/counter/dist/index.js +10 -3
- package/components/counter/dist/registered.js +10 -3
- 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 +609 -200
- package/components/datepicker/demo/index.min.js +609 -200
- 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 +609 -200
- package/components/datepicker/dist/registered.js +609 -200
- package/components/dropdown/demo/customize.min.js +2 -2
- package/components/dropdown/demo/getting-started.min.js +2 -2
- package/components/dropdown/demo/index.min.js +2 -2
- package/components/dropdown/dist/index.js +2 -2
- package/components/dropdown/dist/registered.js +2 -2
- package/components/form/demo/customize.min.js +695 -232
- package/components/form/demo/getting-started.min.js +695 -232
- package/components/form/demo/index.min.js +695 -232
- package/components/form/demo/registerDemoDeps.min.js +695 -232
- 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 +63 -16
- package/components/select/demo/getting-started.min.js +63 -16
- package/components/select/demo/index.min.js +63 -16
- package/components/select/dist/index.js +63 -16
- package/components/select/dist/registered.js +63 -16
- package/custom-elements.json +1750 -1468
- 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
|
@@ -6176,7 +6176,7 @@ function normalizeDates$3(context, ...dates) {
|
|
|
6176
6176
|
* const result = startOfDay(new Date(2014, 8, 2, 11, 55, 0))
|
|
6177
6177
|
* //=> Tue Sep 02 2014 00:00:00
|
|
6178
6178
|
*/
|
|
6179
|
-
function startOfDay$
|
|
6179
|
+
function startOfDay$3(date, options) {
|
|
6180
6180
|
const _date = toDate$3(date, options?.in);
|
|
6181
6181
|
_date.setHours(0, 0, 0, 0);
|
|
6182
6182
|
return _date;
|
|
@@ -6224,8 +6224,8 @@ function differenceInCalendarDays$3(laterDate, earlierDate, options) {
|
|
|
6224
6224
|
earlierDate,
|
|
6225
6225
|
);
|
|
6226
6226
|
|
|
6227
|
-
const laterStartOfDay = startOfDay$
|
|
6228
|
-
const earlierStartOfDay = startOfDay$
|
|
6227
|
+
const laterStartOfDay = startOfDay$3(laterDate_);
|
|
6228
|
+
const earlierStartOfDay = startOfDay$3(earlierDate_);
|
|
6229
6229
|
|
|
6230
6230
|
const laterTimestamp =
|
|
6231
6231
|
+laterStartOfDay - getTimezoneOffsetInMilliseconds$3(laterStartOfDay);
|
|
@@ -13372,7 +13372,7 @@ let AuroHelpText$8 = class AuroHelpText extends i$3 {
|
|
|
13372
13372
|
}
|
|
13373
13373
|
};
|
|
13374
13374
|
|
|
13375
|
-
var formkitVersion$8 = '
|
|
13375
|
+
var formkitVersion$8 = '202606261928';
|
|
13376
13376
|
|
|
13377
13377
|
// Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
13378
13378
|
// See LICENSE in the project root for license information.
|
|
@@ -15456,7 +15456,7 @@ function normalizeDates$1(context, ...dates) {
|
|
|
15456
15456
|
* const result = startOfDay(new Date(2014, 8, 2, 11, 55, 0))
|
|
15457
15457
|
* //=> Tue Sep 02 2014 00:00:00
|
|
15458
15458
|
*/
|
|
15459
|
-
function startOfDay$
|
|
15459
|
+
function startOfDay$1(date, options) {
|
|
15460
15460
|
const _date = toDate$1(date, options?.in);
|
|
15461
15461
|
_date.setHours(0, 0, 0, 0);
|
|
15462
15462
|
return _date;
|
|
@@ -15504,8 +15504,8 @@ function differenceInCalendarDays$1(laterDate, earlierDate, options) {
|
|
|
15504
15504
|
earlierDate,
|
|
15505
15505
|
);
|
|
15506
15506
|
|
|
15507
|
-
const laterStartOfDay = startOfDay$
|
|
15508
|
-
const earlierStartOfDay = startOfDay$
|
|
15507
|
+
const laterStartOfDay = startOfDay$1(laterDate_);
|
|
15508
|
+
const earlierStartOfDay = startOfDay$1(earlierDate_);
|
|
15509
15509
|
|
|
15510
15510
|
const laterTimestamp =
|
|
15511
15511
|
+laterStartOfDay - getTimezoneOffsetInMilliseconds$1(laterStartOfDay);
|
|
@@ -24962,8 +24962,8 @@ class RangeDatepickerCell extends i$3 {
|
|
|
24962
24962
|
const parsedDateFrom = parseInt(dateFrom, 10);
|
|
24963
24963
|
const parsedDateTo = parseInt(dateTo, 10);
|
|
24964
24964
|
if (day) {
|
|
24965
|
-
if (getTime(startOfDay$
|
|
24966
|
-
getTime(startOfDay$
|
|
24965
|
+
if (getTime(startOfDay$1(parsedDateTo * 1000)) / 1000 === day.date ||
|
|
24966
|
+
getTime(startOfDay$1(parsedDateFrom * 1000)) / 1000 === day.date) {
|
|
24967
24967
|
this.selected = true;
|
|
24968
24968
|
}
|
|
24969
24969
|
if (((hoveredDate === day.date || day.date < hoveredDate) &&
|
|
@@ -25151,7 +25151,7 @@ class RangeDatepickerCalendar extends i$3 {
|
|
|
25151
25151
|
this.dayNamesOfTheWeek = [];
|
|
25152
25152
|
this.daysOfMonth = [];
|
|
25153
25153
|
this._locale = null;
|
|
25154
|
-
this.currentDate = parseInt(format$1(startOfDay$
|
|
25154
|
+
this.currentDate = parseInt(format$1(startOfDay$1(Date.now()), 't'), 10);
|
|
25155
25155
|
this.localeChanged();
|
|
25156
25156
|
this.yearAndMonthChanged(this.year, this.month);
|
|
25157
25157
|
}
|
|
@@ -25625,7 +25625,7 @@ __decorate([n$4({ type: Array })], RangeDatepickerCalendar.prototype, "dayNamesO
|
|
|
25625
25625
|
__decorate([n$4({ type: Array })], RangeDatepickerCalendar.prototype, "daysOfMonth", void 0);
|
|
25626
25626
|
AuroLibraryRuntimeUtils$5$1.prototype.registerComponent('wc-range-datepicker-calendar', RangeDatepickerCalendar);
|
|
25627
25627
|
|
|
25628
|
-
var styleCss$5$2 = i$6`.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}`;
|
|
25628
|
+
var styleCss$5$2 = i$6`.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}`;
|
|
25629
25629
|
|
|
25630
25630
|
var colorCss$5$2 = i$6`: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}`;
|
|
25631
25631
|
|
|
@@ -25650,13 +25650,103 @@ class s{registerComponent(e,t){customElements.get(e)||customElements.define(e,cl
|
|
|
25650
25650
|
|
|
25651
25651
|
var popoverVersion = '6.0.1';
|
|
25652
25652
|
|
|
25653
|
-
|
|
25653
|
+
/**
|
|
25654
|
+
* Single source of truth for parsing and matching blackout dates across the
|
|
25655
|
+
* datepicker. Both `auro-calendar` (memoized Set + `isDateBlackout`) and the
|
|
25656
|
+
* pre-`firstUpdated` fallback inside `auro-calendar-cell` route through these
|
|
25657
|
+
* helpers so the YYYY-MM-DD → seconds conversion and the merge-with-legacy
|
|
25658
|
+
* `disabledDays` rules are defined exactly once.
|
|
25659
|
+
*/
|
|
25654
25660
|
|
|
25655
|
-
|
|
25656
|
-
|
|
25657
|
-
|
|
25658
|
-
|
|
25659
|
-
|
|
25661
|
+
/**
|
|
25662
|
+
* Converts a `YYYY-MM-DD` ISO date string to a Unix timestamp (seconds)
|
|
25663
|
+
* representing local midnight on that calendar day. Returns `null` for
|
|
25664
|
+
* inputs that don't parse to a finite timestamp.
|
|
25665
|
+
*
|
|
25666
|
+
* Uses the `new Date(year, monthIndex, day)` constructor (NOT
|
|
25667
|
+
* `new Date(isoStr)`) so the result is local-midnight rather than UTC
|
|
25668
|
+
* midnight — required to keep the calendar grid aligned with the user's
|
|
25669
|
+
* local calendar day in negative-offset timezones.
|
|
25670
|
+
*
|
|
25671
|
+
* @param {string} isoStr - Date string in `YYYY-MM-DD` format.
|
|
25672
|
+
* @returns {number|null} Local-midnight Unix timestamp (seconds), or null.
|
|
25673
|
+
*/
|
|
25674
|
+
function parseIsoToTimestamp(isoStr) {
|
|
25675
|
+
if (typeof isoStr !== 'string') {
|
|
25676
|
+
return null;
|
|
25677
|
+
}
|
|
25678
|
+
const parts = isoStr.split('-');
|
|
25679
|
+
if (parts.length !== 3) {
|
|
25680
|
+
return null;
|
|
25681
|
+
}
|
|
25682
|
+
const year = parseInt(parts[0], 10);
|
|
25683
|
+
const month = parseInt(parts[1], 10);
|
|
25684
|
+
const day = parseInt(parts[2], 10);
|
|
25685
|
+
if (!Number.isFinite(year) || !Number.isFinite(month) || !Number.isFinite(day)) {
|
|
25686
|
+
return null;
|
|
25687
|
+
}
|
|
25688
|
+
// Reject overflow values like "2024-13-40" — JS `new Date(year, month, day)`
|
|
25689
|
+
// silently normalizes those to a different calendar day, which would
|
|
25690
|
+
// disable the wrong date if we let the result through.
|
|
25691
|
+
if (month < 1 || month > 12 || day < 1 || day > 31) {
|
|
25692
|
+
return null;
|
|
25693
|
+
}
|
|
25694
|
+
const date = new Date(year, month - 1, day);
|
|
25695
|
+
// Guard the residual case where JS still rolls a value (e.g. Feb 30 → Mar 2).
|
|
25696
|
+
// After construction, getFullYear/getMonth/getDate should match the inputs.
|
|
25697
|
+
if (date.getFullYear() !== year || date.getMonth() !== month - 1 || date.getDate() !== day) {
|
|
25698
|
+
return null;
|
|
25699
|
+
}
|
|
25700
|
+
const ts = Math.floor(date.getTime() / 1000);
|
|
25701
|
+
return Number.isFinite(ts) ? ts : null;
|
|
25702
|
+
}
|
|
25703
|
+
|
|
25704
|
+
/**
|
|
25705
|
+
* Builds a `Set<number>` of seconds-since-epoch timestamps covering both the
|
|
25706
|
+
* legacy `disabledDays` (already-numeric) array and the ISO `blackoutDates`
|
|
25707
|
+
* array. Use this for O(1) membership checks in hot paths.
|
|
25708
|
+
*
|
|
25709
|
+
* @param {Array<string|number>|undefined} disabledDays - Legacy timestamp array.
|
|
25710
|
+
* @param {Array<string>|undefined} blackoutDates - ISO `YYYY-MM-DD` array.
|
|
25711
|
+
* @returns {Set<number>}
|
|
25712
|
+
*/
|
|
25713
|
+
function buildBlackoutSet(disabledDays, blackoutDates) {
|
|
25714
|
+
const set = new Set();
|
|
25715
|
+
if (Array.isArray(disabledDays)) {
|
|
25716
|
+
for (const day of disabledDays) {
|
|
25717
|
+
const ts = parseInt(day, 10);
|
|
25718
|
+
if (Number.isFinite(ts)) {
|
|
25719
|
+
set.add(ts);
|
|
25720
|
+
}
|
|
25721
|
+
}
|
|
25722
|
+
}
|
|
25723
|
+
if (Array.isArray(blackoutDates)) {
|
|
25724
|
+
for (const isoStr of blackoutDates) {
|
|
25725
|
+
const ts = parseIsoToTimestamp(isoStr);
|
|
25726
|
+
if (ts !== null) {
|
|
25727
|
+
set.add(ts);
|
|
25728
|
+
}
|
|
25729
|
+
}
|
|
25730
|
+
}
|
|
25731
|
+
return set;
|
|
25732
|
+
}
|
|
25733
|
+
|
|
25734
|
+
/**
|
|
25735
|
+
* One-shot membership test for a single timestamp against both blackout
|
|
25736
|
+
* sources. Allocates a Set on each call; only use this in cold paths
|
|
25737
|
+
* (e.g. the pre-`firstUpdated` cell fallback). Hot paths should hold the
|
|
25738
|
+
* Set returned from `buildBlackoutSet` and `.has(ts)` directly.
|
|
25739
|
+
*
|
|
25740
|
+
* @param {number} dateTs - Unix timestamp (seconds) to test.
|
|
25741
|
+
* @param {Array<string|number>|undefined} disabledDays - Legacy timestamp array.
|
|
25742
|
+
* @param {Array<string>|undefined} blackoutDates - ISO `YYYY-MM-DD` array.
|
|
25743
|
+
* @returns {boolean}
|
|
25744
|
+
*/
|
|
25745
|
+
function isBlackoutTimestamp(dateTs, disabledDays, blackoutDates) {
|
|
25746
|
+
return buildBlackoutSet(disabledDays, blackoutDates).has(dateTs);
|
|
25747
|
+
}
|
|
25748
|
+
|
|
25749
|
+
/* 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 */
|
|
25660
25750
|
|
|
25661
25751
|
class AuroCalendarCell extends i$3 {
|
|
25662
25752
|
constructor() {
|
|
@@ -25704,6 +25794,14 @@ class AuroCalendarCell extends i$3 {
|
|
|
25704
25794
|
type: Boolean,
|
|
25705
25795
|
reflect: true
|
|
25706
25796
|
},
|
|
25797
|
+
/**
|
|
25798
|
+
* @deprecated Propagated from the legacy `auro-calendar.disabledDays`
|
|
25799
|
+
* Unix-timestamp array. The cell honors it for backward compatibility
|
|
25800
|
+
* (see the divergence-check fallback inside `isBlackout`), but
|
|
25801
|
+
* consumers should migrate to `auro-datepicker.blackoutDates`
|
|
25802
|
+
* (YYYY-MM-DD ISO strings). The calendar emits a one-time
|
|
25803
|
+
* deprecation warning the first time a non-empty value is observed.
|
|
25804
|
+
*/
|
|
25707
25805
|
disabledDays: { type: Array },
|
|
25708
25806
|
isCurrentDate: { type: Boolean },
|
|
25709
25807
|
locale: { type: String },
|
|
@@ -25749,8 +25847,8 @@ class AuroCalendarCell extends i$3 {
|
|
|
25749
25847
|
const parsedDateTo = parseInt(dateTo, 10);
|
|
25750
25848
|
|
|
25751
25849
|
if (day) {
|
|
25752
|
-
const departTimestamp =
|
|
25753
|
-
const returnTimestamp =
|
|
25850
|
+
const departTimestamp = new Date(parsedDateFrom * 1000).setHours(0, 0, 0, 0) / 1000;
|
|
25851
|
+
const returnTimestamp = new Date(parsedDateTo * 1000).setHours(0, 0, 0, 0) / 1000;
|
|
25754
25852
|
|
|
25755
25853
|
if (day.date === departTimestamp || day.date === returnTimestamp) {
|
|
25756
25854
|
this.selected = true;
|
|
@@ -25834,27 +25932,33 @@ class AuroCalendarCell extends i$3 {
|
|
|
25834
25932
|
return false;
|
|
25835
25933
|
}
|
|
25836
25934
|
|
|
25837
|
-
//
|
|
25838
|
-
|
|
25839
|
-
|
|
25840
|
-
|
|
25841
|
-
|
|
25842
|
-
|
|
25843
|
-
// Check against blackoutDates (ISO format YYYY-MM-DD) on the datepicker
|
|
25844
|
-
const blackoutDates = this.datepicker?.blackoutDates;
|
|
25845
|
-
|
|
25846
|
-
if (Array.isArray(blackoutDates) && blackoutDates.length > 0) {
|
|
25847
|
-
const date = new Date(this.day.date * 1000);
|
|
25848
|
-
const yyyy = date.getFullYear();
|
|
25849
|
-
const mm = String(date.getMonth() + 1).padStart(2, '0');
|
|
25850
|
-
const dd = String(date.getDate()).padStart(2, '0');
|
|
25851
|
-
const cellDate = `${yyyy}-${mm}-${dd}`;
|
|
25852
|
-
if (blackoutDates.includes(cellDate)) {
|
|
25935
|
+
// Delegate to the calendar's memoized blackout Set for O(1) lookup
|
|
25936
|
+
// (instead of rescanning disabledDays + blackoutDates per render). The
|
|
25937
|
+
// Set is rebuilt only when either source array reference changes — see
|
|
25938
|
+
// auro-calendar.js#_getBlackoutSet.
|
|
25939
|
+
if (this.calendar && typeof this.calendar._getBlackoutSet === 'function') {
|
|
25940
|
+
if (this.calendar._getBlackoutSet().has(this.day.date)) {
|
|
25853
25941
|
return true;
|
|
25854
25942
|
}
|
|
25943
|
+
// If the cell's local disabledDays diverged from the calendar's (a
|
|
25944
|
+
// consumer or test mutated cell.disabledDays directly), the Set does
|
|
25945
|
+
// not reflect that addition — fall through to the per-cell scan only
|
|
25946
|
+
// when the reference no longer matches. Production data flow keeps
|
|
25947
|
+
// these identical, so this branch stays cold. Guarded with
|
|
25948
|
+
// Array.isArray to match `_getBlackoutSet`'s contract: non-array
|
|
25949
|
+
// values are treated as empty rather than crashing on `.findIndex`.
|
|
25950
|
+
if (Array.isArray(this.disabledDays) && this.disabledDays !== this.calendar.disabledDays && this.disabledDays.length > 0) {
|
|
25951
|
+
if (this.disabledDays.findIndex((dd) => parseInt(dd, 10) === this.day.date) !== -1) {
|
|
25952
|
+
return true;
|
|
25953
|
+
}
|
|
25954
|
+
}
|
|
25955
|
+
return false;
|
|
25855
25956
|
}
|
|
25856
25957
|
|
|
25857
|
-
|
|
25958
|
+
// Pre-firstUpdated fallback — the cell may render once before the
|
|
25959
|
+
// ancestor calendar is wired up. Routes through the shared
|
|
25960
|
+
// blackoutUtils helper so the parsing rules stay in one place.
|
|
25961
|
+
return isBlackoutTimestamp(this.day.date, this.disabledDays, this.datepicker?.blackoutDates);
|
|
25858
25962
|
}
|
|
25859
25963
|
|
|
25860
25964
|
/**
|
|
@@ -25960,12 +26064,12 @@ class AuroCalendarCell extends i$3 {
|
|
|
25960
26064
|
const parsedDateFrom = Number.parseInt(this.dateFrom, 10);
|
|
25961
26065
|
if (!Number.isFinite(parsedDateFrom)) return null;
|
|
25962
26066
|
|
|
25963
|
-
const departTimestamp =
|
|
26067
|
+
const departTimestamp = new Date(parsedDateFrom * 1000).setHours(0, 0, 0, 0) / 1000;
|
|
25964
26068
|
const dayDate = this.day.date;
|
|
25965
26069
|
|
|
25966
26070
|
const parsedDateTo = Number.parseInt(this.dateTo, 10);
|
|
25967
26071
|
const hasDateTo = Number.isFinite(parsedDateTo);
|
|
25968
|
-
const returnTimestamp = hasDateTo ?
|
|
26072
|
+
const returnTimestamp = hasDateTo ? new Date(parsedDateTo * 1000).setHours(0, 0, 0, 0) / 1000 : null;
|
|
25969
26073
|
|
|
25970
26074
|
if (dayDate === departTimestamp) return this.datepicker.rangeLabelStart || 'range start';
|
|
25971
26075
|
|
|
@@ -25975,7 +26079,9 @@ class AuroCalendarCell extends i$3 {
|
|
|
25975
26079
|
|
|
25976
26080
|
if (hasDateTo && dayDate > departTimestamp && dayDate < returnTimestamp) return this.datepicker.rangeLabelInRange || 'in range';
|
|
25977
26081
|
|
|
25978
|
-
|
|
26082
|
+
if (!hasDateTo && dayDate > departTimestamp) return this.datepicker.rangeLabelEndPreview || 'previewing range end';
|
|
26083
|
+
|
|
26084
|
+
// After end date when both dateFrom and dateTo are set.
|
|
25979
26085
|
return this.datepicker.rangeLabelAfterRange || 'after range';
|
|
25980
26086
|
}
|
|
25981
26087
|
|
|
@@ -25988,7 +26094,7 @@ class AuroCalendarCell extends i$3 {
|
|
|
25988
26094
|
*/
|
|
25989
26095
|
isDepartDate(day, dateFrom) {
|
|
25990
26096
|
const parsedDateFrom = parseInt(dateFrom, 10);
|
|
25991
|
-
const departTimestamp =
|
|
26097
|
+
const departTimestamp = new Date(parsedDateFrom * 1000).setHours(0, 0, 0, 0) / 1000;
|
|
25992
26098
|
|
|
25993
26099
|
return this.selected && day.date === departTimestamp;
|
|
25994
26100
|
}
|
|
@@ -26003,7 +26109,7 @@ class AuroCalendarCell extends i$3 {
|
|
|
26003
26109
|
*/
|
|
26004
26110
|
isReturnDate(day, dateFrom, dateTo) {
|
|
26005
26111
|
const parsedDateTo = parseInt(dateTo, 10);
|
|
26006
|
-
const returnTimestamp =
|
|
26112
|
+
const returnTimestamp = new Date(parsedDateTo * 1000).setHours(0, 0, 0, 0) / 1000;
|
|
26007
26113
|
|
|
26008
26114
|
return this.selected && day.date === returnTimestamp && dateFrom;
|
|
26009
26115
|
}
|
|
@@ -26167,6 +26273,7 @@ class AuroCalendarCell extends i$3 {
|
|
|
26167
26273
|
setTimeout(() => this.firstUpdated(), 0);
|
|
26168
26274
|
return;
|
|
26169
26275
|
}
|
|
26276
|
+
this.calendar = calendar;
|
|
26170
26277
|
this.datepicker = calendar.datepicker;
|
|
26171
26278
|
this._slotContentHandler = () => {
|
|
26172
26279
|
this.handleSlotContent();
|
|
@@ -26224,12 +26331,13 @@ class AuroCalendarCell extends i$3 {
|
|
|
26224
26331
|
this._cachedButton = this.shadowRoot.querySelector('button.day');
|
|
26225
26332
|
});
|
|
26226
26333
|
|
|
26227
|
-
//
|
|
26334
|
+
// Keep the host's gridcell aria attributes in sync with the day data.
|
|
26228
26335
|
this.updateHostAria();
|
|
26229
26336
|
}
|
|
26230
26337
|
|
|
26231
26338
|
// Update host aria when selection changes (aria-selected, range labels)
|
|
26232
|
-
|
|
26339
|
+
// or when isCurrentDate flips (aria-current).
|
|
26340
|
+
if (properties.has('dateFrom') || properties.has('dateTo') || properties.has('selected') || properties.has('isCurrentDate')) {
|
|
26233
26341
|
this.updateHostAria();
|
|
26234
26342
|
}
|
|
26235
26343
|
|
|
@@ -26240,8 +26348,8 @@ class AuroCalendarCell extends i$3 {
|
|
|
26240
26348
|
}
|
|
26241
26349
|
|
|
26242
26350
|
/**
|
|
26243
|
-
*
|
|
26244
|
-
*
|
|
26351
|
+
* Sets host-level ARIA so each cell exposes its date, selection state,
|
|
26352
|
+
* and blackout status to assistive tech browsing the month grid.
|
|
26245
26353
|
* @private
|
|
26246
26354
|
* @returns {void}
|
|
26247
26355
|
*/
|
|
@@ -26250,16 +26358,27 @@ class AuroCalendarCell extends i$3 {
|
|
|
26250
26358
|
|
|
26251
26359
|
const outOfRange = this.isOutOfRange(this.day, this.min, this.max);
|
|
26252
26360
|
if (outOfRange) {
|
|
26361
|
+
// Strip every aria attribute the in-range branch may have set on a
|
|
26362
|
+
// previous render — if a cell flips from in-range to out-of-range
|
|
26363
|
+
// (calendar shifts months, minDate/maxDate change, etc.).
|
|
26253
26364
|
this.removeAttribute('role');
|
|
26254
26365
|
this.removeAttribute('aria-label');
|
|
26366
|
+
this.removeAttribute('aria-current');
|
|
26367
|
+
this.removeAttribute('aria-selected');
|
|
26368
|
+
this.removeAttribute('aria-disabled');
|
|
26255
26369
|
return;
|
|
26256
26370
|
}
|
|
26257
26371
|
|
|
26258
|
-
// The host acts as the gridcell for ariaActiveDescendantElement.
|
|
26259
26372
|
this.setAttribute('role', 'gridcell');
|
|
26260
26373
|
this.setAttribute('aria-label', this.getAriaLabel());
|
|
26261
26374
|
this.setAttribute('aria-selected', this.selected ? 'true' : 'false');
|
|
26262
26375
|
|
|
26376
|
+
if (this.isCurrentDate) {
|
|
26377
|
+
this.setAttribute('aria-current', 'date');
|
|
26378
|
+
} else {
|
|
26379
|
+
this.removeAttribute('aria-current');
|
|
26380
|
+
}
|
|
26381
|
+
|
|
26263
26382
|
if (this.isBlackout()) {
|
|
26264
26383
|
this.setAttribute('aria-disabled', 'true');
|
|
26265
26384
|
} else {
|
|
@@ -26274,7 +26393,7 @@ class AuroCalendarCell extends i$3 {
|
|
|
26274
26393
|
* @returns {void}
|
|
26275
26394
|
*/
|
|
26276
26395
|
focusButton() {
|
|
26277
|
-
const button = this._cachedButton || this.shadowRoot.querySelector('button:not([
|
|
26396
|
+
const button = this._cachedButton || this.shadowRoot.querySelector('button:not([disabled])');
|
|
26278
26397
|
if (button) {
|
|
26279
26398
|
button.focus({ focusVisible: true });
|
|
26280
26399
|
}
|
|
@@ -26282,7 +26401,9 @@ class AuroCalendarCell extends i$3 {
|
|
|
26282
26401
|
|
|
26283
26402
|
/**
|
|
26284
26403
|
* Imperatively marks this cell as active without triggering a Lit re-render.
|
|
26285
|
-
*
|
|
26404
|
+
* Buttons stay tabindex="-1" because DOM focus stays on the grid wrapper —
|
|
26405
|
+
* arrow keys move the active cell imperatively and the live region carries
|
|
26406
|
+
* the SR announcement.
|
|
26286
26407
|
* @returns {void}
|
|
26287
26408
|
*/
|
|
26288
26409
|
setActive() {
|
|
@@ -26324,10 +26445,13 @@ class AuroCalendarCell extends i$3 {
|
|
|
26324
26445
|
if (!btn || !this.day) return;
|
|
26325
26446
|
|
|
26326
26447
|
const dayDate = this.day.date;
|
|
26327
|
-
const departTimestamp =
|
|
26448
|
+
const departTimestamp = new Date(dateFrom * 1000).setHours(0, 0, 0, 0) / 1000;
|
|
26328
26449
|
const isInRange = dayDate > departTimestamp && dayDate < hoveredDate;
|
|
26329
|
-
|
|
26330
|
-
|
|
26450
|
+
// `>=` so hovering the depart cell itself (a same-day round-trip
|
|
26451
|
+
// preview) still surfaces a visual cue: the depart cell receives both
|
|
26452
|
+
// rangeDepartDate and lastHoveredDate.
|
|
26453
|
+
const isLastHovered = dayDate === hoveredDate && hoveredDate >= departTimestamp;
|
|
26454
|
+
const isDepartWithPreview = dayDate === departTimestamp && hoveredDate >= departTimestamp;
|
|
26331
26455
|
|
|
26332
26456
|
btn.classList.toggle('inRange', isInRange);
|
|
26333
26457
|
btn.classList.toggle('lastHoveredDate', isLastHovered);
|
|
@@ -26385,7 +26509,6 @@ class AuroCalendarCell extends i$3 {
|
|
|
26385
26509
|
@focus="${outOfRange ? undefined : this.handleFocus}"
|
|
26386
26510
|
class="${e$2(buttonClasses)}"
|
|
26387
26511
|
?disabled="${outOfRange}"
|
|
26388
|
-
aria-hidden="${outOfRange ? 'true' : A$7}"
|
|
26389
26512
|
tabindex="-1">
|
|
26390
26513
|
<div class="buttonWrapper" aria-hidden="true">
|
|
26391
26514
|
<div class="currentDayMarker">${this.day?.title || A$7}</div>
|
|
@@ -27491,7 +27614,7 @@ let AuroBibtemplate$3 = class AuroBibtemplate extends i$3 {
|
|
|
27491
27614
|
}
|
|
27492
27615
|
};
|
|
27493
27616
|
|
|
27494
|
-
var formkitVersion$2$1 = '
|
|
27617
|
+
var formkitVersion$2$1 = '202606261928';
|
|
27495
27618
|
|
|
27496
27619
|
let l$1$2 = class l{generateElementName(t,e){let o=t;return o+="-",o+=e.replace(/[.]/g,"_"),o}generateTag(o,s,a){const r=this.generateElementName(o,s),i=i$2`${s$3(r)}`;return customElements.get(r)||customElements.define(r,class extends a{}),i}};let d$1$2 = class d{registerComponent(t,e){customElements.get(t)||customElements.define(t,class extends e{});}closestElement(t,e=this,o=(e,s=e&&e.closest(t))=>e&&e!==document&&e!==window?s||o(e.getRootNode().host):null){return o(e)}handleComponentTagRename(t,e){const o=e.toLowerCase();t.tagName.toLowerCase()!==o&&t.setAttribute(o,true);}elementMatch(t,e){const o=e.toLowerCase();return t.tagName.toLowerCase()===o||t.hasAttribute(o)}getSlotText(t,e){const o=t.shadowRoot?.querySelector(`slot[name="${e}"]`),s=(o?.assignedNodes({flatten:true})||[]).map(t=>t.textContent?.trim()).join(" ").trim();return s||null}};let h$1$2 = class h{registerComponent(t,e){customElements.get(t)||customElements.define(t,class extends e{});}closestElement(t,e=this,o=(e,s=e&&e.closest(t))=>e&&e!==document&&e!==window?s||o(e.getRootNode().host):null){return o(e)}handleComponentTagRename(t,e){const o=e.toLowerCase();t.tagName.toLowerCase()!==o&&t.setAttribute(o,true);}elementMatch(t,e){const o=e.toLowerCase();return t.tagName.toLowerCase()===o||t.hasAttribute(o)}};var c$1$3=i$6`: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}
|
|
27497
27620
|
`,u$4$2=i$6`.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}}
|
|
@@ -27614,7 +27737,11 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
27614
27737
|
this.calendarRangeMonths = null;
|
|
27615
27738
|
|
|
27616
27739
|
/**
|
|
27617
|
-
*
|
|
27740
|
+
* @deprecated Use `auro-datepicker.blackoutDates` (an array of
|
|
27741
|
+
* `YYYY-MM-DD` ISO strings) instead. This legacy array of Unix
|
|
27742
|
+
* timestamps is still honored for backward compatibility but emits a
|
|
27743
|
+
* one-time `console.debug` the first time a non-empty value is observed.
|
|
27744
|
+
* Support will be removed in a future major release.
|
|
27618
27745
|
* @private
|
|
27619
27746
|
*/
|
|
27620
27747
|
this.disabledDays = [];
|
|
@@ -27871,17 +27998,44 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
27871
27998
|
* @returns {void}
|
|
27872
27999
|
*/
|
|
27873
28000
|
updateActiveCellForVisibleMonth() {
|
|
27874
|
-
|
|
27875
|
-
|
|
27876
|
-
requestAnimationFrame(() => {
|
|
27877
|
-
requestAnimationFrame(() => {
|
|
27878
|
-
const newDate = this.computeActiveDate({ skipDateFrom: true });
|
|
28001
|
+
this._afterMonthRender(() => {
|
|
28002
|
+
const newDate = this.computeActiveDate({ skipDateFrom: true });
|
|
27879
28003
|
|
|
27880
|
-
|
|
27881
|
-
|
|
27882
|
-
|
|
27883
|
-
|
|
27884
|
-
|
|
28004
|
+
if (newDate !== null && newDate !== undefined) {
|
|
28005
|
+
this.activeCellDate = newDate;
|
|
28006
|
+
this.setActiveCell(this.activeCellDate);
|
|
28007
|
+
}
|
|
28008
|
+
});
|
|
28009
|
+
}
|
|
28010
|
+
|
|
28011
|
+
/**
|
|
28012
|
+
* Schedules `callback` two animation frames out, giving the child
|
|
28013
|
+
* `auro-formkit-calendar-month` and `auro-formkit-calendar-cell` elements
|
|
28014
|
+
* a full render-and-paint cycle to settle before the callback reads or
|
|
28015
|
+
* mutates DOM.
|
|
28016
|
+
*
|
|
28017
|
+
* Why two frames, not one:
|
|
28018
|
+
* 1. Lit batches property updates and renders in a microtask, so frame N
|
|
28019
|
+
* schedules the render but the new DOM may not be painted yet.
|
|
28020
|
+
* 2. Cells re-cache `_cachedButton` inside their own `updateComplete.then`,
|
|
28021
|
+
* which also lands a tick later. Reading buttons from frame N+1
|
|
28022
|
+
* (after both renders + cache refresh have flushed) reliably hits the
|
|
28023
|
+
* new month's cells.
|
|
28024
|
+
*
|
|
28025
|
+
* Used by every code path that calls `handleNextMonth`/`handlePrevMonth`
|
|
28026
|
+
* and then needs to inspect the freshly-rendered cells (cross-month
|
|
28027
|
+
* keyboard nav, boundary events, `updateActiveCellForVisibleMonth`).
|
|
28028
|
+
* Do NOT collapse to a single rAF — it intermittently lands before
|
|
28029
|
+
* `_cachedButton` is refreshed, which silently breaks focus restoration
|
|
28030
|
+
* and `setActiveCell` lookups.
|
|
28031
|
+
* @private
|
|
28032
|
+
* @param {() => void} callback - Runs once after the month re-render and
|
|
28033
|
+
* the cells' button caches have refreshed.
|
|
28034
|
+
* @returns {void}
|
|
28035
|
+
*/
|
|
28036
|
+
_afterMonthRender(callback) {
|
|
28037
|
+
requestAnimationFrame(() => {
|
|
28038
|
+
requestAnimationFrame(callback);
|
|
27885
28039
|
});
|
|
27886
28040
|
}
|
|
27887
28041
|
|
|
@@ -27999,6 +28153,47 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
27999
28153
|
return Array.from(this.shadowRoot.querySelectorAll('auro-formkit-calendar-month'));
|
|
28000
28154
|
}
|
|
28001
28155
|
|
|
28156
|
+
/**
|
|
28157
|
+
* Picks the focusable cell whose date is closest to targetTs. Used as a
|
|
28158
|
+
* fallback after a month-boundary nav when the exact target date isn't
|
|
28159
|
+
* focusable — typically because the month re-render lagged or the date
|
|
28160
|
+
* was filtered out by isOutOfRange. When two cells are equidistant, the
|
|
28161
|
+
* navigation direction breaks the tie so the user moves the way they
|
|
28162
|
+
* pressed (forward → later cell, backward → earlier cell).
|
|
28163
|
+
* @private
|
|
28164
|
+
* @param {Array} cells - Focusable cells from getAllFocusableCells.
|
|
28165
|
+
* @param {Number} targetTs - Desired Unix timestamp (seconds).
|
|
28166
|
+
* @param {'next'|'prev'} direction - Navigation direction.
|
|
28167
|
+
* @returns {Object|null} The nearest cell, or null when cells is empty.
|
|
28168
|
+
*/
|
|
28169
|
+
pickNearestCell(cells, targetTs, direction) {
|
|
28170
|
+
if (!cells.length) {
|
|
28171
|
+
return null;
|
|
28172
|
+
}
|
|
28173
|
+
const forward = direction === 'next';
|
|
28174
|
+
let best = null;
|
|
28175
|
+
let bestDelta = Infinity;
|
|
28176
|
+
cells.forEach((cell) => {
|
|
28177
|
+
if (!cell.day) {
|
|
28178
|
+
return;
|
|
28179
|
+
}
|
|
28180
|
+
const distance = Math.abs(cell.day.date - targetTs);
|
|
28181
|
+
if (distance < bestDelta) {
|
|
28182
|
+
best = cell;
|
|
28183
|
+
bestDelta = distance;
|
|
28184
|
+
return;
|
|
28185
|
+
}
|
|
28186
|
+
if (distance === bestDelta && best) {
|
|
28187
|
+
if (forward && cell.day.date > best.day.date) {
|
|
28188
|
+
best = cell;
|
|
28189
|
+
} else if (!forward && cell.day.date < best.day.date) {
|
|
28190
|
+
best = cell;
|
|
28191
|
+
}
|
|
28192
|
+
}
|
|
28193
|
+
});
|
|
28194
|
+
return best;
|
|
28195
|
+
}
|
|
28196
|
+
|
|
28002
28197
|
/**
|
|
28003
28198
|
* Gets all focusable cells across all rendered months.
|
|
28004
28199
|
* @private
|
|
@@ -28015,9 +28210,9 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
28015
28210
|
|
|
28016
28211
|
/**
|
|
28017
28212
|
* Sets the active cell across all months. Only one cell has tabindex="0" at a time.
|
|
28018
|
-
* Uses imperative DOM manipulation — no Lit re-render triggered.
|
|
28019
|
-
*
|
|
28020
|
-
*
|
|
28213
|
+
* Uses imperative DOM manipulation — no Lit re-render triggered. DOM focus
|
|
28214
|
+
* stays on the grid wrapper; the live region (see getOrCreateLiveRegion)
|
|
28215
|
+
* is what announces the active cell to assistive tech.
|
|
28021
28216
|
* @param {Number} date - Unix timestamp of the cell to activate.
|
|
28022
28217
|
* @returns {void}
|
|
28023
28218
|
*/
|
|
@@ -28098,6 +28293,65 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
28098
28293
|
this.clearRangePreview();
|
|
28099
28294
|
}
|
|
28100
28295
|
|
|
28296
|
+
/**
|
|
28297
|
+
* Returns a memoized Set of blackout timestamps (seconds) drawn from both
|
|
28298
|
+
* the legacy `disabledDays` array and the datepicker's ISO `blackoutDates`.
|
|
28299
|
+
* The cache invalidates when either source array's reference changes, which
|
|
28300
|
+
* matches Lit's own reactive identity semantics for array properties.
|
|
28301
|
+
* @private
|
|
28302
|
+
* @returns {Set<Number>}
|
|
28303
|
+
*/
|
|
28304
|
+
_getBlackoutSet() {
|
|
28305
|
+
// Normalize non-array values to a stable `null` sentinel rather than a
|
|
28306
|
+
// fresh `[]` per call — otherwise the reference-identity cache key
|
|
28307
|
+
// (`_cachedBlackoutDisabledDays === disabledDays`) never matches on
|
|
28308
|
+
// subsequent calls and the Set rebuilds every time. `buildBlackoutSet`
|
|
28309
|
+
// already treats null/non-array as "no legacy disabledDays" via its
|
|
28310
|
+
// own Array.isArray gate.
|
|
28311
|
+
const disabledDays = Array.isArray(this.disabledDays) ? this.disabledDays : null;
|
|
28312
|
+
const blackoutDates = this.datepicker?.blackoutDates;
|
|
28313
|
+
if (this._blackoutSet &&
|
|
28314
|
+
this._cachedBlackoutDisabledDays === disabledDays &&
|
|
28315
|
+
this._cachedBlackoutDates === blackoutDates) {
|
|
28316
|
+
return this._blackoutSet;
|
|
28317
|
+
}
|
|
28318
|
+
|
|
28319
|
+
if (disabledDays && disabledDays.length > 0) {
|
|
28320
|
+
this._warnDisabledDaysDeprecated();
|
|
28321
|
+
}
|
|
28322
|
+
|
|
28323
|
+
this._blackoutSet = buildBlackoutSet(disabledDays, blackoutDates);
|
|
28324
|
+
this._cachedBlackoutDisabledDays = disabledDays;
|
|
28325
|
+
this._cachedBlackoutDates = blackoutDates;
|
|
28326
|
+
return this._blackoutSet;
|
|
28327
|
+
}
|
|
28328
|
+
|
|
28329
|
+
/**
|
|
28330
|
+
* Per-class flag that gates the `disabledDays` deprecation warning so it
|
|
28331
|
+
* fires exactly once per page no matter how many calendars or rebuild
|
|
28332
|
+
* cycles encounter the legacy array.
|
|
28333
|
+
* @private
|
|
28334
|
+
*/
|
|
28335
|
+
static _warnedDisabledDaysDeprecation = false;
|
|
28336
|
+
|
|
28337
|
+
/**
|
|
28338
|
+
* One-time `console.debug` directing consumers from the legacy
|
|
28339
|
+
* `disabledDays` Unix-timestamp API to the ISO `blackoutDates` API. Fires
|
|
28340
|
+
* the first time `_getBlackoutSet` rebuilds from a non-empty
|
|
28341
|
+
* `disabledDays`; subsequent calls (on this or any other AuroCalendar
|
|
28342
|
+
* instance on the page) are silent.
|
|
28343
|
+
* @private
|
|
28344
|
+
* @returns {void}
|
|
28345
|
+
*/
|
|
28346
|
+
_warnDisabledDaysDeprecated() {
|
|
28347
|
+
if (AuroCalendar._warnedDisabledDaysDeprecation) {
|
|
28348
|
+
return;
|
|
28349
|
+
}
|
|
28350
|
+
AuroCalendar._warnedDisabledDaysDeprecation = true;
|
|
28351
|
+
// eslint-disable-next-line no-console
|
|
28352
|
+
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.');
|
|
28353
|
+
}
|
|
28354
|
+
|
|
28101
28355
|
/**
|
|
28102
28356
|
* Computes the initial active date from data properties alone — no DOM required.
|
|
28103
28357
|
* Priority:
|
|
@@ -28142,21 +28396,10 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
28142
28396
|
const minTs = Number.isFinite(rawMin) ? rawMin : -Infinity;
|
|
28143
28397
|
const maxTs = Number.isFinite(rawMax) ? rawMax : Infinity;
|
|
28144
28398
|
|
|
28145
|
-
// Build a Set of blackout timestamps for O(1) lookup.
|
|
28146
|
-
|
|
28147
|
-
|
|
28148
|
-
|
|
28149
|
-
// Parse YYYY-MM-DD as local date to avoid UTC shift issues.
|
|
28150
|
-
const isoBlackouts = this.datepicker?.blackoutDates;
|
|
28151
|
-
if (Array.isArray(isoBlackouts)) {
|
|
28152
|
-
for (const isoStr of isoBlackouts) {
|
|
28153
|
-
const parts = isoStr.split('-');
|
|
28154
|
-
const ts = Math.floor(new Date(parseInt(parts[0], 10), parseInt(parts[1], 10) - 1, parseInt(parts[2], 10)).getTime() / 1000);
|
|
28155
|
-
if (Number.isFinite(ts)) {
|
|
28156
|
-
blackoutSet.add(ts);
|
|
28157
|
-
}
|
|
28158
|
-
}
|
|
28159
|
-
}
|
|
28399
|
+
// Build a Set of blackout timestamps for O(1) lookup. Memoized by the
|
|
28400
|
+
// identity of the source arrays so rapid month nav doesn't rebuild the
|
|
28401
|
+
// Set (and re-parse every ISO string) on every keypress.
|
|
28402
|
+
const blackoutSet = this._getBlackoutSet();
|
|
28160
28403
|
|
|
28161
28404
|
/**
|
|
28162
28405
|
* A date (unix timestamp in seconds, midnight-aligned) is "enabled" when
|
|
@@ -28352,8 +28595,8 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
28352
28595
|
|
|
28353
28596
|
/**
|
|
28354
28597
|
* Handles arrow key navigation on the calendar grid wrapper.
|
|
28355
|
-
* Focus stays on the grid wrapper; only
|
|
28356
|
-
*
|
|
28598
|
+
* Focus stays on the grid wrapper; only the visual active-cell indicator
|
|
28599
|
+
* changes. The live region announces the new active cell.
|
|
28357
28600
|
* @private
|
|
28358
28601
|
* @param {KeyboardEvent} event - The keyboard event.
|
|
28359
28602
|
* @returns {void}
|
|
@@ -28418,21 +28661,21 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
28418
28661
|
} else {
|
|
28419
28662
|
this.handlePrevMonth({ skipActiveUpdate: true });
|
|
28420
28663
|
}
|
|
28421
|
-
|
|
28422
|
-
|
|
28423
|
-
|
|
28424
|
-
|
|
28425
|
-
|
|
28426
|
-
|
|
28427
|
-
|
|
28428
|
-
|
|
28429
|
-
|
|
28664
|
+
this._afterMonthRender(() => {
|
|
28665
|
+
const cells = this.getAllFocusableCells();
|
|
28666
|
+
const target = cells.find((cell) => cell.day && cell.day.date === targetTs);
|
|
28667
|
+
if (target) {
|
|
28668
|
+
this.setActiveCell(target.day.date);
|
|
28669
|
+
this.handleCellFocused({ detail: { date: target.day.date } });
|
|
28670
|
+
} else {
|
|
28671
|
+
const fallback = this.pickNearestCell(cells, targetTs, navDir);
|
|
28672
|
+
if (fallback) {
|
|
28430
28673
|
this.setActiveCell(fallback.day.date);
|
|
28431
28674
|
this.handleCellFocused({ detail: { date: fallback.day.date } });
|
|
28432
28675
|
}
|
|
28433
|
-
|
|
28434
|
-
|
|
28435
|
-
|
|
28676
|
+
}
|
|
28677
|
+
// Re-focus grid wrapper after month change re-render
|
|
28678
|
+
this.focusActiveCell();
|
|
28436
28679
|
});
|
|
28437
28680
|
}
|
|
28438
28681
|
}
|
|
@@ -28458,26 +28701,20 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
28458
28701
|
} else {
|
|
28459
28702
|
this.handlePrevMonth({ skipActiveUpdate: true });
|
|
28460
28703
|
}
|
|
28461
|
-
|
|
28462
|
-
|
|
28463
|
-
|
|
28464
|
-
|
|
28465
|
-
|
|
28466
|
-
|
|
28467
|
-
|
|
28468
|
-
|
|
28469
|
-
|
|
28470
|
-
|
|
28471
|
-
if (navDirection === 'next') {
|
|
28472
|
-
[nearest] = cells;
|
|
28473
|
-
} else {
|
|
28474
|
-
nearest = cells[cells.length - 1];
|
|
28475
|
-
}
|
|
28704
|
+
this._afterMonthRender(() => {
|
|
28705
|
+
const cells = this.getAllFocusableCells();
|
|
28706
|
+
const target = cells.find((cell) => cell.day && cell.day.date === targetDate);
|
|
28707
|
+
if (target) {
|
|
28708
|
+
this.setActiveCell(target.day.date);
|
|
28709
|
+
this.handleCellFocused({ detail: { date: target.day.date } });
|
|
28710
|
+
} else {
|
|
28711
|
+
const nearest = this.pickNearestCell(cells, targetDate, navDirection);
|
|
28712
|
+
if (nearest) {
|
|
28476
28713
|
this.setActiveCell(nearest.day.date);
|
|
28477
28714
|
this.handleCellFocused({ detail: { date: nearest.day.date } });
|
|
28478
28715
|
}
|
|
28479
|
-
|
|
28480
|
-
|
|
28716
|
+
}
|
|
28717
|
+
this.focusActiveCell();
|
|
28481
28718
|
});
|
|
28482
28719
|
}
|
|
28483
28720
|
}
|
|
@@ -28527,19 +28764,22 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
28527
28764
|
}
|
|
28528
28765
|
|
|
28529
28766
|
this.handleNextMonth({ skipActiveUpdate: true });
|
|
28530
|
-
|
|
28531
|
-
|
|
28532
|
-
|
|
28533
|
-
|
|
28534
|
-
|
|
28535
|
-
|
|
28536
|
-
|
|
28537
|
-
|
|
28538
|
-
|
|
28539
|
-
|
|
28767
|
+
this._afterMonthRender(() => {
|
|
28768
|
+
const cells = this.getAllFocusableCells();
|
|
28769
|
+
const target = cells.find((cell) => cell.day && cell.day.date === nextTs);
|
|
28770
|
+
if (target) {
|
|
28771
|
+
this.setActiveCell(target.day.date);
|
|
28772
|
+
this.focusActiveCell();
|
|
28773
|
+
} else {
|
|
28774
|
+
// Same nearest-by-date fallback handleGridKeyDown uses — direct
|
|
28775
|
+
// `cells[length - 1]` would land on the end of the new month,
|
|
28776
|
+
// far from the user's intended `nextTs`.
|
|
28777
|
+
const fallback = this.pickNearestCell(cells, nextTs, 'next');
|
|
28778
|
+
if (fallback) {
|
|
28779
|
+
this.setActiveCell(fallback.day.date);
|
|
28540
28780
|
this.focusActiveCell();
|
|
28541
28781
|
}
|
|
28542
|
-
}
|
|
28782
|
+
}
|
|
28543
28783
|
});
|
|
28544
28784
|
} else if (direction === 'prev' && this.showPrevMonthBtn) {
|
|
28545
28785
|
// Navigate to previous month and focus the computed previous date.
|
|
@@ -28553,19 +28793,22 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
28553
28793
|
}
|
|
28554
28794
|
|
|
28555
28795
|
this.handlePrevMonth({ skipActiveUpdate: true });
|
|
28556
|
-
|
|
28557
|
-
|
|
28558
|
-
|
|
28559
|
-
|
|
28560
|
-
|
|
28561
|
-
|
|
28562
|
-
|
|
28563
|
-
|
|
28564
|
-
|
|
28565
|
-
|
|
28796
|
+
this._afterMonthRender(() => {
|
|
28797
|
+
const cells = this.getAllFocusableCells();
|
|
28798
|
+
const target = cells.find((cell) => cell.day && cell.day.date === prevTs);
|
|
28799
|
+
if (target) {
|
|
28800
|
+
this.setActiveCell(target.day.date);
|
|
28801
|
+
this.focusActiveCell();
|
|
28802
|
+
} else {
|
|
28803
|
+
// Same nearest-by-date fallback handleGridKeyDown uses — direct
|
|
28804
|
+
// `cells[0]` would land on the start of the previous month, far
|
|
28805
|
+
// from the user's intended `prevTs`.
|
|
28806
|
+
const fallback = this.pickNearestCell(cells, prevTs, 'prev');
|
|
28807
|
+
if (fallback) {
|
|
28808
|
+
this.setActiveCell(fallback.day.date);
|
|
28566
28809
|
this.focusActiveCell();
|
|
28567
28810
|
}
|
|
28568
|
-
}
|
|
28811
|
+
}
|
|
28569
28812
|
});
|
|
28570
28813
|
}
|
|
28571
28814
|
} else if (key === 'ArrowDown' || key === 'ArrowUp') {
|
|
@@ -28593,20 +28836,22 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
28593
28836
|
} else {
|
|
28594
28837
|
this.handlePrevMonth({ skipActiveUpdate: true });
|
|
28595
28838
|
}
|
|
28596
|
-
|
|
28597
|
-
|
|
28598
|
-
|
|
28599
|
-
|
|
28600
|
-
|
|
28601
|
-
|
|
28602
|
-
|
|
28603
|
-
|
|
28604
|
-
|
|
28605
|
-
|
|
28839
|
+
this._afterMonthRender(() => {
|
|
28840
|
+
const cells = this.getAllFocusableCells();
|
|
28841
|
+
const target = cells.find((cell) => cell.day && cell.day.date === targetDate);
|
|
28842
|
+
if (target) {
|
|
28843
|
+
this.setActiveCell(target.day.date);
|
|
28844
|
+
this.focusActiveCell();
|
|
28845
|
+
} else {
|
|
28846
|
+
// Same nearest-by-date fallback handleGridKeyDown uses — the
|
|
28847
|
+
// old direction-based `cells[0]`/`cells[length-1]` clamp
|
|
28848
|
+
// could land 25+ days from the intended target.
|
|
28849
|
+
const nearest = this.pickNearestCell(cells, targetDate, navDirection);
|
|
28850
|
+
if (nearest) {
|
|
28606
28851
|
this.setActiveCell(nearest.day.date);
|
|
28607
28852
|
this.focusActiveCell();
|
|
28608
28853
|
}
|
|
28609
|
-
}
|
|
28854
|
+
}
|
|
28610
28855
|
});
|
|
28611
28856
|
}
|
|
28612
28857
|
}
|
|
@@ -28645,8 +28890,9 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
28645
28890
|
return;
|
|
28646
28891
|
}
|
|
28647
28892
|
|
|
28648
|
-
//
|
|
28649
|
-
// so
|
|
28893
|
+
// DOM focus stays on the grid wrapper while arrow keys move the active
|
|
28894
|
+
// cell, so cell buttons never receive native focus. The debounced live
|
|
28895
|
+
// region carries the full-context announcement instead.
|
|
28650
28896
|
const announcement = this.buildFocusAnnouncement(date);
|
|
28651
28897
|
this.announceFocusDebounced(announcement);
|
|
28652
28898
|
|
|
@@ -28716,10 +28962,10 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
28716
28962
|
return null;
|
|
28717
28963
|
}
|
|
28718
28964
|
|
|
28719
|
-
const departTs =
|
|
28965
|
+
const departTs = new Date(parsedFrom * 1000).setHours(0, 0, 0, 0) / 1000;
|
|
28720
28966
|
const parsedTo = Number.parseInt(this.dateTo, 10);
|
|
28721
28967
|
const hasTo = Number.isFinite(parsedTo);
|
|
28722
|
-
const returnTs = hasTo ?
|
|
28968
|
+
const returnTs = hasTo ? new Date(parsedTo * 1000).setHours(0, 0, 0, 0) / 1000 : null;
|
|
28723
28969
|
|
|
28724
28970
|
if (date === departTs) {
|
|
28725
28971
|
return this.datepicker.rangeLabelStart || 'range start';
|
|
@@ -28733,36 +28979,22 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
28733
28979
|
if (hasTo && date > departTs && date < returnTs) {
|
|
28734
28980
|
return this.datepicker.rangeLabelInRange || 'in range';
|
|
28735
28981
|
}
|
|
28982
|
+
if (!hasTo && date > departTs) {
|
|
28983
|
+
return this.datepicker.rangeLabelEndPreview || 'previewing range end';
|
|
28984
|
+
}
|
|
28736
28985
|
return this.datepicker.rangeLabelAfterRange || 'after range';
|
|
28737
28986
|
}
|
|
28738
28987
|
|
|
28739
28988
|
/**
|
|
28740
|
-
* Checks whether a given date is a blackout date.
|
|
28989
|
+
* Checks whether a given date is a blackout date. Delegates to the
|
|
28990
|
+
* memoized `_getBlackoutSet` so the YYYY-MM-DD parsing and the
|
|
28991
|
+
* legacy/ISO merge rules live in exactly one place (see `blackoutUtils.js`).
|
|
28741
28992
|
* @private
|
|
28742
28993
|
* @param {Number} dateTs - Unix timestamp (seconds).
|
|
28743
28994
|
* @returns {Boolean} True if the date is blacked out.
|
|
28744
28995
|
*/
|
|
28745
28996
|
isDateBlackout(dateTs) {
|
|
28746
|
-
|
|
28747
|
-
if (Array.isArray(this.disabledDays) && this.disabledDays.length > 0) {
|
|
28748
|
-
if (this.disabledDays.findIndex((day) => parseInt(day, 10) === dateTs) !== -1) {
|
|
28749
|
-
return true;
|
|
28750
|
-
}
|
|
28751
|
-
}
|
|
28752
|
-
|
|
28753
|
-
// Check ISO blackoutDates.
|
|
28754
|
-
const blackoutDates = this.datepicker?.blackoutDates;
|
|
28755
|
-
if (Array.isArray(blackoutDates) && blackoutDates.length > 0) {
|
|
28756
|
-
const date = new Date(dateTs * 1000);
|
|
28757
|
-
const yyyy = date.getFullYear();
|
|
28758
|
-
const mm = String(date.getMonth() + 1).padStart(2, '0');
|
|
28759
|
-
const dd = String(date.getDate()).padStart(2, '0');
|
|
28760
|
-
if (blackoutDates.includes(`${yyyy}-${mm}-${dd}`)) {
|
|
28761
|
-
return true;
|
|
28762
|
-
}
|
|
28763
|
-
}
|
|
28764
|
-
|
|
28765
|
-
return false;
|
|
28997
|
+
return this._getBlackoutSet().has(dateTs);
|
|
28766
28998
|
}
|
|
28767
28999
|
|
|
28768
29000
|
/**
|
|
@@ -28929,9 +29161,34 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
28929
29161
|
// the last one.
|
|
28930
29162
|
if (this._announceRafId) {
|
|
28931
29163
|
cancelAnimationFrame(this._announceRafId);
|
|
29164
|
+
this._announceRafId = null;
|
|
28932
29165
|
}
|
|
29166
|
+
this._deliverAnnouncement(dateStr, 0);
|
|
29167
|
+
}
|
|
29168
|
+
|
|
29169
|
+
/**
|
|
29170
|
+
* Writes `dateStr` to the live region. If the dropdown's dialog hasn't
|
|
29171
|
+
* mounted yet (so getOrCreateLiveRegion can't attach), retries on the
|
|
29172
|
+
* next animation frame up to MAX_LIVE_REGION_RETRIES instead of silently
|
|
29173
|
+
* dropping the announcement. The retry uses the same `_announceRafId`
|
|
29174
|
+
* the double-rAF below uses, so a newer announceSelection call (or
|
|
29175
|
+
* disconnectedCallback) cancels any in-flight retry.
|
|
29176
|
+
* @private
|
|
29177
|
+
* @param {String} dateStr - The localized date string to announce.
|
|
29178
|
+
* @param {Number} attempts - Number of prior retry attempts.
|
|
29179
|
+
* @returns {void}
|
|
29180
|
+
*/
|
|
29181
|
+
_deliverAnnouncement(dateStr, attempts) {
|
|
28933
29182
|
const liveRegion = this.getOrCreateLiveRegion();
|
|
28934
29183
|
if (!liveRegion) {
|
|
29184
|
+
const MAX_LIVE_REGION_RETRIES = 10;
|
|
29185
|
+
if (attempts < MAX_LIVE_REGION_RETRIES) {
|
|
29186
|
+
this._announceRafId = requestAnimationFrame(() => {
|
|
29187
|
+
this._deliverAnnouncement(dateStr, attempts + 1);
|
|
29188
|
+
});
|
|
29189
|
+
} else {
|
|
29190
|
+
this._announceRafId = null;
|
|
29191
|
+
}
|
|
28935
29192
|
return;
|
|
28936
29193
|
}
|
|
28937
29194
|
|
|
@@ -29117,7 +29374,7 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
29117
29374
|
</button>
|
|
29118
29375
|
` : undefined}
|
|
29119
29376
|
</div>
|
|
29120
|
-
<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}">
|
|
29377
|
+
<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}">
|
|
29121
29378
|
${this.renderAllCalendars()}
|
|
29122
29379
|
</div>
|
|
29123
29380
|
</div>
|
|
@@ -33002,7 +33259,7 @@ let AuroHelpText$2$1 = class AuroHelpText extends i$3 {
|
|
|
33002
33259
|
}
|
|
33003
33260
|
};
|
|
33004
33261
|
|
|
33005
|
-
var formkitVersion$1$3 = '
|
|
33262
|
+
var formkitVersion$1$3 = '202606261928';
|
|
33006
33263
|
|
|
33007
33264
|
let AuroElement$2$2 = class AuroElement extends i$3 {
|
|
33008
33265
|
static get properties() {
|
|
@@ -34274,7 +34531,7 @@ let AuroDropdown$3 = class AuroDropdown extends AuroElement$2$2 {
|
|
|
34274
34531
|
role="${o$4(this.triggerContentFocusable ? undefined : this.a11yRole)}"
|
|
34275
34532
|
aria-expanded="${o$4(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : this.isPopoverVisible)}"
|
|
34276
34533
|
aria-controls="${o$4(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : this.dropdownId)}"
|
|
34277
|
-
aria-haspopup="${o$4(this.a11yRole === 'combobox' ? 'listbox' : undefined)}"
|
|
34534
|
+
aria-haspopup="${o$4(this.a11yRole === 'combobox' && !this.triggerContentFocusable ? 'listbox' : undefined)}"
|
|
34278
34535
|
aria-labelledby="${o$4(this.triggerContentFocusable ? undefined : 'triggerLabel')}"
|
|
34279
34536
|
aria-disabled="${o$4(this.disabled ? 'true' : undefined)}"
|
|
34280
34537
|
@focusin="${this.handleFocusin}"
|
|
@@ -39400,7 +39657,7 @@ function normalizeDates$2(context, ...dates) {
|
|
|
39400
39657
|
* const result = startOfDay(new Date(2014, 8, 2, 11, 55, 0))
|
|
39401
39658
|
* //=> Tue Sep 02 2014 00:00:00
|
|
39402
39659
|
*/
|
|
39403
|
-
function startOfDay$
|
|
39660
|
+
function startOfDay$2(date, options) {
|
|
39404
39661
|
const _date = toDate$2(date, options?.in);
|
|
39405
39662
|
_date.setHours(0, 0, 0, 0);
|
|
39406
39663
|
return _date;
|
|
@@ -39448,8 +39705,8 @@ function differenceInCalendarDays$2(laterDate, earlierDate, options) {
|
|
|
39448
39705
|
earlierDate,
|
|
39449
39706
|
);
|
|
39450
39707
|
|
|
39451
|
-
const laterStartOfDay = startOfDay$
|
|
39452
|
-
const earlierStartOfDay = startOfDay$
|
|
39708
|
+
const laterStartOfDay = startOfDay$2(laterDate_);
|
|
39709
|
+
const earlierStartOfDay = startOfDay$2(earlierDate_);
|
|
39453
39710
|
|
|
39454
39711
|
const laterTimestamp =
|
|
39455
39712
|
+laterStartOfDay - getTimezoneOffsetInMilliseconds$2(laterStartOfDay);
|
|
@@ -46596,7 +46853,7 @@ let AuroHelpText$1$3 = class AuroHelpText extends i$3 {
|
|
|
46596
46853
|
}
|
|
46597
46854
|
};
|
|
46598
46855
|
|
|
46599
|
-
var formkitVersion$7 = '
|
|
46856
|
+
var formkitVersion$7 = '202606261928';
|
|
46600
46857
|
|
|
46601
46858
|
// Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
46602
46859
|
// See LICENSE in the project root for license information.
|
|
@@ -48073,6 +48330,7 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
48073
48330
|
this.rangeLabelBeforeRange = 'before range';
|
|
48074
48331
|
this.rangeLabelInRange = 'in range';
|
|
48075
48332
|
this.rangeLabelAfterRange = 'after range';
|
|
48333
|
+
this.rangeLabelEndPreview = 'previewing range end';
|
|
48076
48334
|
this.blackoutDates = [];
|
|
48077
48335
|
this.blackoutLabel = 'unavailable';
|
|
48078
48336
|
this.navLabelPrevMonth = 'Previous month';
|
|
@@ -48172,6 +48430,22 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
48172
48430
|
*/
|
|
48173
48431
|
this.handleClick = this.handleClick.bind(this);
|
|
48174
48432
|
|
|
48433
|
+
/**
|
|
48434
|
+
* Single AbortController shared by every listener registered in the
|
|
48435
|
+
* configure* methods. Lets disconnectedCallback tear all of them down
|
|
48436
|
+
* with one abort() call.
|
|
48437
|
+
*
|
|
48438
|
+
* The genuine leak risk is the listeners attached to children that can
|
|
48439
|
+
* outlive the host if they get reparented — `this.dropdown`,
|
|
48440
|
+
* `this.calendar`, and the inputs inside the dropdown's slot.
|
|
48441
|
+
* Listeners attached to `this` (e.g. focusin/focusout on the host)
|
|
48442
|
+
* form a self-contained reference graph that the GC can collect with
|
|
48443
|
+
* the host anyway, but they share the same signal so the cleanup
|
|
48444
|
+
* pattern stays uniform across all configure* sites.
|
|
48445
|
+
* @private
|
|
48446
|
+
*/
|
|
48447
|
+
this._listenerAbortController = new AbortController();
|
|
48448
|
+
|
|
48175
48449
|
/**
|
|
48176
48450
|
* @private
|
|
48177
48451
|
*/
|
|
@@ -48220,6 +48494,7 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
48220
48494
|
|
|
48221
48495
|
/**
|
|
48222
48496
|
* Label announced for blackout (disabled but in-range) date cells.
|
|
48497
|
+
* @default 'unavailable'
|
|
48223
48498
|
*/
|
|
48224
48499
|
blackoutLabel: {
|
|
48225
48500
|
type: String,
|
|
@@ -48236,6 +48511,7 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
48236
48511
|
|
|
48237
48512
|
/**
|
|
48238
48513
|
* Accessible label for the calendar grid containing the days of the month.
|
|
48514
|
+
* @default 'Calendar days of the month'
|
|
48239
48515
|
*/
|
|
48240
48516
|
calendarGridLabel: {
|
|
48241
48517
|
type: String,
|
|
@@ -48398,6 +48674,7 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
48398
48674
|
|
|
48399
48675
|
/**
|
|
48400
48676
|
* Accessible label for the next month navigation button.
|
|
48677
|
+
* @default 'Next month'
|
|
48401
48678
|
*/
|
|
48402
48679
|
navLabelNextMonth: {
|
|
48403
48680
|
type: String,
|
|
@@ -48406,6 +48683,7 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
48406
48683
|
|
|
48407
48684
|
/**
|
|
48408
48685
|
* Accessible label for the previous month navigation button.
|
|
48686
|
+
* @default 'Previous month'
|
|
48409
48687
|
*/
|
|
48410
48688
|
navLabelPrevMonth: {
|
|
48411
48689
|
type: String,
|
|
@@ -48483,7 +48761,11 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
48483
48761
|
},
|
|
48484
48762
|
|
|
48485
48763
|
/**
|
|
48486
|
-
* Label announced for cells after
|
|
48764
|
+
* Label announced for cells after a fully selected range (both
|
|
48765
|
+
* `dateFrom` and `dateTo` are set). While a range is still being
|
|
48766
|
+
* picked (`dateFrom` set, `dateTo` unset), focused cells past the
|
|
48767
|
+
* start use `rangeLabelEndPreview` instead.
|
|
48768
|
+
* @default 'after range'
|
|
48487
48769
|
*/
|
|
48488
48770
|
rangeLabelAfterRange: {
|
|
48489
48771
|
type: String,
|
|
@@ -48492,6 +48774,7 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
48492
48774
|
|
|
48493
48775
|
/**
|
|
48494
48776
|
* Label announced for cells before the range start.
|
|
48777
|
+
* @default 'before range'
|
|
48495
48778
|
*/
|
|
48496
48779
|
rangeLabelBeforeRange: {
|
|
48497
48780
|
type: String,
|
|
@@ -48500,14 +48783,27 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
48500
48783
|
|
|
48501
48784
|
/**
|
|
48502
48785
|
* Label announced for the range end date cell.
|
|
48786
|
+
* @default 'range end'
|
|
48503
48787
|
*/
|
|
48504
48788
|
rangeLabelEnd: {
|
|
48505
48789
|
type: String,
|
|
48506
48790
|
reflect: true
|
|
48507
48791
|
},
|
|
48508
48792
|
|
|
48793
|
+
/**
|
|
48794
|
+
* Label announced for the focused cell while previewing a range end
|
|
48795
|
+
* (dateFrom set, dateTo not yet selected). Tells AT users that
|
|
48796
|
+
* pressing Enter would commit this cell as the range end.
|
|
48797
|
+
* @default 'previewing range end'
|
|
48798
|
+
*/
|
|
48799
|
+
rangeLabelEndPreview: {
|
|
48800
|
+
type: String,
|
|
48801
|
+
reflect: true
|
|
48802
|
+
},
|
|
48803
|
+
|
|
48509
48804
|
/**
|
|
48510
48805
|
* Label announced for cells within the selected range.
|
|
48806
|
+
* @default 'in range'
|
|
48511
48807
|
*/
|
|
48512
48808
|
rangeLabelInRange: {
|
|
48513
48809
|
type: String,
|
|
@@ -48516,6 +48812,7 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
48516
48812
|
|
|
48517
48813
|
/**
|
|
48518
48814
|
* Label announced for the range start date cell.
|
|
48815
|
+
* @default 'range start'
|
|
48519
48816
|
*/
|
|
48520
48817
|
rangeLabelStart: {
|
|
48521
48818
|
type: String,
|
|
@@ -48523,7 +48820,7 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
48523
48820
|
},
|
|
48524
48821
|
|
|
48525
48822
|
/**
|
|
48526
|
-
* Dates that the user should have for reference as part of their decision
|
|
48823
|
+
* Dates that the user should have for reference as part of their decision-making when selecting a date.
|
|
48527
48824
|
* This should be a JSON string array of ISO date strings (`YYYY-MM-DD`).
|
|
48528
48825
|
*/
|
|
48529
48826
|
referenceDates: {
|
|
@@ -48880,10 +49177,26 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
48880
49177
|
// ─── Vendor calendar time conversions ─────────────────────────────────────
|
|
48881
49178
|
|
|
48882
49179
|
/**
|
|
48883
|
-
* Converts a Unix timestamp (seconds) from the
|
|
49180
|
+
* Converts a Unix timestamp (seconds) from the vendored range-datepicker
|
|
49181
|
+
* (`src/vendor/wc-range-datepicker/day.js`) to an ISO date string.
|
|
49182
|
+
*
|
|
49183
|
+
* Timezone contract:
|
|
49184
|
+
* - INPUT: `time` is assumed to be the seconds-since-epoch of **local
|
|
49185
|
+
* midnight** for the intended calendar day. The vendor's Day constructor
|
|
49186
|
+
* builds it via `date-fns format(date, 't')` from a locally-constructed
|
|
49187
|
+
* Date, so this assumption currently holds end-to-end.
|
|
49188
|
+
* - OUTPUT: `dateFormatter.toISOFormatString` reads the Date's local
|
|
49189
|
+
* getFullYear/getMonth/getDate components, so the returned YYYY-MM-DD
|
|
49190
|
+
* string matches the local calendar day.
|
|
49191
|
+
*
|
|
49192
|
+
* If the vendor ever switches to emitting UTC-midnight timestamps, this
|
|
49193
|
+
* conversion will silently shift the returned date by one day in zones
|
|
49194
|
+
* west of UTC. Any vendor swap should re-verify this contract; the TZ
|
|
49195
|
+
* regression suite (`npm run test:hst`, UTC-10) will catch the symptom.
|
|
49196
|
+
*
|
|
48884
49197
|
* @private
|
|
48885
|
-
* @param {number} time - Unix timestamp
|
|
48886
|
-
* @returns {string} ISO date string (yyyy-mm-dd).
|
|
49198
|
+
* @param {number} time - Unix timestamp (seconds), local midnight of the day.
|
|
49199
|
+
* @returns {string} ISO date string (yyyy-mm-dd) reflecting the local calendar day.
|
|
48887
49200
|
*/
|
|
48888
49201
|
convertWcTimeToDate(time) {
|
|
48889
49202
|
return dateFormatter$1.toISOFormatString(new Date(time * 1000));
|
|
@@ -48985,8 +49298,8 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
48985
49298
|
}
|
|
48986
49299
|
}
|
|
48987
49300
|
|
|
48988
|
-
// Focus the calendar grid wrapper (
|
|
48989
|
-
// the SR announcement for the active cell
|
|
49301
|
+
// Focus the calendar grid wrapper. The live region (announced just
|
|
49302
|
+
// below) handles the SR announcement for the active cell.
|
|
48990
49303
|
if (activeCell) {
|
|
48991
49304
|
this.calendar.focusActiveCell();
|
|
48992
49305
|
|
|
@@ -49036,11 +49349,13 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
49036
49349
|
this.dropdown.bibDialogLabel = labelElement.textContent.trim() || undefined;
|
|
49037
49350
|
}
|
|
49038
49351
|
|
|
49352
|
+
const { signal } = this._listenerAbortController;
|
|
49353
|
+
|
|
49039
49354
|
this.dropdown.addEventListener('auroDropdown-triggerClick', () => {
|
|
49040
49355
|
if (!this.isPopoverVisible) {
|
|
49041
49356
|
this.dropdown.show();
|
|
49042
49357
|
}
|
|
49043
|
-
});
|
|
49358
|
+
}, { signal });
|
|
49044
49359
|
|
|
49045
49360
|
this.dropdown.addEventListener('auroDropdown-toggled', () => {
|
|
49046
49361
|
this.notifyDatepickerToggled();
|
|
@@ -49058,7 +49373,7 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
49058
49373
|
if (this.valueObject) {
|
|
49059
49374
|
this.centralDate = this.value;
|
|
49060
49375
|
} else if (!this.centralDate && !this.calendarStartDate && !this.minDate) {
|
|
49061
|
-
this.centralDate = new Date();
|
|
49376
|
+
this.centralDate = dateFormatter$1.toISOFormatString(new Date());
|
|
49062
49377
|
}
|
|
49063
49378
|
}
|
|
49064
49379
|
|
|
@@ -49138,7 +49453,7 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
49138
49453
|
this.forceScrollOnNextMobileCalendarRender = false;
|
|
49139
49454
|
}, 0);
|
|
49140
49455
|
}
|
|
49141
|
-
});
|
|
49456
|
+
}, { signal });
|
|
49142
49457
|
|
|
49143
49458
|
// Handle responsive strategy changes while the dropdown is open
|
|
49144
49459
|
// (e.g. resizing from desktop → mobile or vice versa).
|
|
@@ -49185,7 +49500,7 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
49185
49500
|
});
|
|
49186
49501
|
});
|
|
49187
49502
|
}
|
|
49188
|
-
});
|
|
49503
|
+
}, { signal });
|
|
49189
49504
|
}
|
|
49190
49505
|
|
|
49191
49506
|
/**
|
|
@@ -49198,6 +49513,8 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
49198
49513
|
|
|
49199
49514
|
this.inputList = [...this.dropdown.querySelectorAll(this.inputTag._$litStatic$)];
|
|
49200
49515
|
|
|
49516
|
+
const { signal } = this._listenerAbortController;
|
|
49517
|
+
|
|
49201
49518
|
this.inputList.forEach((input, index) => {
|
|
49202
49519
|
input.addEventListener('input', (event) => {
|
|
49203
49520
|
event.stopPropagation();
|
|
@@ -49209,7 +49526,7 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
49209
49526
|
}
|
|
49210
49527
|
|
|
49211
49528
|
this.notifyValueChanged();
|
|
49212
|
-
});
|
|
49529
|
+
}, { signal });
|
|
49213
49530
|
|
|
49214
49531
|
input.addEventListener('auroFormElement-validated', (evt) => {
|
|
49215
49532
|
// not to bubble up input's validated event.
|
|
@@ -49225,7 +49542,7 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
49225
49542
|
this.validity = evt.detail.validity;
|
|
49226
49543
|
this.errorMessage = evt.detail.message;
|
|
49227
49544
|
}
|
|
49228
|
-
});
|
|
49545
|
+
}, { signal });
|
|
49229
49546
|
});
|
|
49230
49547
|
}
|
|
49231
49548
|
|
|
@@ -49239,19 +49556,32 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
49239
49556
|
this.calendar.datepicker = this;
|
|
49240
49557
|
this.calendar.dropdown = this.dropdown;
|
|
49241
49558
|
|
|
49559
|
+
const { signal } = this._listenerAbortController;
|
|
49560
|
+
|
|
49242
49561
|
this.calendar.addEventListener('auroCalendar-dateSelected', () => {
|
|
49243
|
-
|
|
49244
|
-
|
|
49562
|
+
// Compare the input's ISO value against the *converted* calendar
|
|
49563
|
+
// timestamp (the vendor's `dateFrom`/`dateTo` are Unix-seconds
|
|
49564
|
+
// strings — comparing the input ISO directly against them would
|
|
49565
|
+
// never match, so the write would fire on every event and emit
|
|
49566
|
+
// redundant input/change activity).
|
|
49567
|
+
if (this.calendar.dateFrom !== undefined) {
|
|
49568
|
+
const fromIso = this.convertWcTimeToDate(this.calendar.dateFrom);
|
|
49569
|
+
if (this.inputList[0].value !== fromIso) {
|
|
49570
|
+
this.inputList[0].value = fromIso;
|
|
49571
|
+
}
|
|
49245
49572
|
}
|
|
49246
49573
|
|
|
49247
|
-
if (this.inputList[1] && this.calendar.dateTo
|
|
49248
|
-
|
|
49574
|
+
if (this.inputList[1] && this.calendar.dateTo) {
|
|
49575
|
+
const toIso = this.convertWcTimeToDate(this.calendar.dateTo);
|
|
49576
|
+
if (this.inputList[1].value !== toIso) {
|
|
49577
|
+
this.inputList[1].value = toIso;
|
|
49578
|
+
}
|
|
49249
49579
|
}
|
|
49250
|
-
});
|
|
49580
|
+
}, { signal });
|
|
49251
49581
|
|
|
49252
49582
|
this.calendar.addEventListener('auroCalendar-dismissRequest', () => {
|
|
49253
49583
|
this.dropdown.hide();
|
|
49254
|
-
});
|
|
49584
|
+
}, { signal });
|
|
49255
49585
|
|
|
49256
49586
|
this.calendar.addEventListener('auroCalendar-centralDateChanged', (event) => {
|
|
49257
49587
|
const match = this.centralDateObject && this.util.datesMatch(event.detail.date, this.centralDateObject);
|
|
@@ -49261,7 +49591,7 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
49261
49591
|
}
|
|
49262
49592
|
|
|
49263
49593
|
this.notifyMonthChanged(event);
|
|
49264
|
-
});
|
|
49594
|
+
}, { signal });
|
|
49265
49595
|
}
|
|
49266
49596
|
|
|
49267
49597
|
/**
|
|
@@ -49270,10 +49600,17 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
49270
49600
|
* @returns {void}
|
|
49271
49601
|
*/
|
|
49272
49602
|
configureDatepicker() {
|
|
49603
|
+
// These listeners are on `this` (the host), so they would GC with the
|
|
49604
|
+
// host even without the abort signal — see the leak rationale on
|
|
49605
|
+
// `_listenerAbortController`. The signal is still passed for uniform
|
|
49606
|
+
// cleanup semantics with the child-element listeners in the other
|
|
49607
|
+
// configure* methods.
|
|
49608
|
+
const { signal } = this._listenerAbortController;
|
|
49609
|
+
|
|
49273
49610
|
this.addEventListener('focusin', () => {
|
|
49274
49611
|
this.touched = true;
|
|
49275
49612
|
this.hasFocus = true;
|
|
49276
|
-
});
|
|
49613
|
+
}, { signal });
|
|
49277
49614
|
|
|
49278
49615
|
this.addEventListener('focusout', () => {
|
|
49279
49616
|
this.hasFocus = false;
|
|
@@ -49285,7 +49622,7 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
49285
49622
|
if (!this.matches(':focus-within')) {
|
|
49286
49623
|
this.validate();
|
|
49287
49624
|
}
|
|
49288
|
-
});
|
|
49625
|
+
}, { signal });
|
|
49289
49626
|
|
|
49290
49627
|
if (this.valueObject) {
|
|
49291
49628
|
this.calendar.dateFrom = this.convertToWcValidTime(this.valueObject);
|
|
@@ -49483,6 +49820,41 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
49483
49820
|
return this.validity !== undefined && this.validity !== 'valid';
|
|
49484
49821
|
}
|
|
49485
49822
|
|
|
49823
|
+
/**
|
|
49824
|
+
* Per-class dedup set used by `_warnInvalidLocale`. Static so the dedup
|
|
49825
|
+
* spans every datepicker instance on the page; lives on the class (not
|
|
49826
|
+
* at module scope) so it stays an encapsulated implementation detail of
|
|
49827
|
+
* this component and does not interfere with WCA's class-JSDoc
|
|
49828
|
+
* attachment.
|
|
49829
|
+
* @private
|
|
49830
|
+
*/
|
|
49831
|
+
static _warnedInvalidLocales = new Set();
|
|
49832
|
+
|
|
49833
|
+
/**
|
|
49834
|
+
* Logs a one-time `console.debug` when an unsupported locale falls back to
|
|
49835
|
+
* en-US. Deduped by the offending tag so noisy re-renders that resurface
|
|
49836
|
+
* the same bad value stay quiet, but each new bad value still signals so
|
|
49837
|
+
* consumers can spot the typo or missing tag.
|
|
49838
|
+
* @private
|
|
49839
|
+
* @param {string|undefined} badLocale - The locale value that failed.
|
|
49840
|
+
* @returns {void}
|
|
49841
|
+
*/
|
|
49842
|
+
_warnInvalidLocale(badLocale) {
|
|
49843
|
+
// Stringify without coalescing — `String(undefined)` / `String(null)`
|
|
49844
|
+
// surface the actual offending value in the log, instead of the
|
|
49845
|
+
// ambiguous `Locale ""` that `String(badLocale ?? '')` would produce.
|
|
49846
|
+
// Dedup still works correctly because each unique stringification
|
|
49847
|
+
// becomes its own Set entry.
|
|
49848
|
+
const key = String(badLocale);
|
|
49849
|
+
const seen = AuroDatePicker._warnedInvalidLocales;
|
|
49850
|
+
if (seen.has(key)) {
|
|
49851
|
+
return;
|
|
49852
|
+
}
|
|
49853
|
+
seen.add(key);
|
|
49854
|
+
// eslint-disable-next-line no-console
|
|
49855
|
+
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".`);
|
|
49856
|
+
}
|
|
49857
|
+
|
|
49486
49858
|
/**
|
|
49487
49859
|
* Lifecycle method to check if the locale is valid.
|
|
49488
49860
|
* @ignore
|
|
@@ -49493,10 +49865,15 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
49493
49865
|
if (changedProperties.has('locale')) {
|
|
49494
49866
|
try {
|
|
49495
49867
|
const supported = Intl.DateTimeFormat.supportedLocalesOf([this.locale], { localeMatcher: 'lookup' });
|
|
49496
|
-
|
|
49868
|
+
if (supported.length > 0) {
|
|
49869
|
+
this._validLocale = this.locale;
|
|
49870
|
+
} else {
|
|
49871
|
+
this._validLocale = 'en-US';
|
|
49872
|
+
this._warnInvalidLocale(this.locale);
|
|
49873
|
+
}
|
|
49497
49874
|
} catch {
|
|
49498
|
-
console.debug(`[AuroDatePicker] The locale "${this.locale}" is not valid. Falling back to "en-US".`); // eslint-disable-line no-console
|
|
49499
49875
|
this._validLocale = 'en-US';
|
|
49876
|
+
this._warnInvalidLocale(this.locale);
|
|
49500
49877
|
}
|
|
49501
49878
|
|
|
49502
49879
|
const previousLocaleFormat = getDateFormatFromLocale$1(changedProperties.get('locale'));
|
|
@@ -49578,8 +49955,6 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
49578
49955
|
// Skip centralDate update when user clicked a cell in range mode
|
|
49579
49956
|
// to prevent the displayed months from shifting
|
|
49580
49957
|
this.centralDate = this.value;
|
|
49581
|
-
//TODO: TEST THIS CHANGE
|
|
49582
|
-
// this.calendarRenderUtil.updateCentralDate(this, this.value);
|
|
49583
49958
|
}
|
|
49584
49959
|
|
|
49585
49960
|
this.setHasValue();
|
|
@@ -49639,8 +50014,6 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
49639
50014
|
// Skip centralDate update when user clicked a cell in range mode
|
|
49640
50015
|
// to prevent the displayed months from shifting
|
|
49641
50016
|
this.centralDate = this.valueEnd;
|
|
49642
|
-
// TODO: TEST THIS CHANGE
|
|
49643
|
-
// this.calendarRenderUtil.updateCentralDate(this, this.formattedValueEnd);
|
|
49644
50017
|
}
|
|
49645
50018
|
|
|
49646
50019
|
this.validate();
|
|
@@ -49782,7 +50155,7 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
49782
50155
|
* @returns {void}
|
|
49783
50156
|
*/
|
|
49784
50157
|
configureClickHandler() {
|
|
49785
|
-
this.addEventListener('click', this.handleClick);
|
|
50158
|
+
this.addEventListener('click', this.handleClick, { signal: this._listenerAbortController.signal });
|
|
49786
50159
|
}
|
|
49787
50160
|
|
|
49788
50161
|
firstUpdated() {
|
|
@@ -49790,6 +50163,15 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
49790
50163
|
// Add the tag name as an attribute if it is different than the component name
|
|
49791
50164
|
this.runtimeUtils.handleComponentTagRename(this, 'auro-datepicker');
|
|
49792
50165
|
|
|
50166
|
+
// If the element was disconnected before this first render finished,
|
|
50167
|
+
// disconnectedCallback's microtask already aborted the controller. The
|
|
50168
|
+
// connectedCallback reinit guard skips that case because `hasUpdated`
|
|
50169
|
+
// is still false. Mint a fresh controller here so configure* registers
|
|
50170
|
+
// listeners against a live signal.
|
|
50171
|
+
if (this._listenerAbortController.signal.aborted) {
|
|
50172
|
+
this._listenerAbortController = new AbortController();
|
|
50173
|
+
}
|
|
50174
|
+
|
|
49793
50175
|
this.configureDropdown();
|
|
49794
50176
|
this.configureInput();
|
|
49795
50177
|
this.configureCalendar();
|
|
@@ -49801,9 +50183,36 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
49801
50183
|
connectedCallback() {
|
|
49802
50184
|
super.connectedCallback();
|
|
49803
50185
|
|
|
50186
|
+
// True reconnect after `disconnectedCallback` aborted our controller:
|
|
50187
|
+
// the existing signal is dead, so listeners registered against it
|
|
50188
|
+
// would never fire. Create a fresh controller and re-run the
|
|
50189
|
+
// configure* wiring (each method is idempotent — it just re-caches
|
|
50190
|
+
// child refs and re-registers listeners against the new signal).
|
|
50191
|
+
// `hasUpdated` gates this so the *first* connect (which precedes
|
|
50192
|
+
// firstUpdated) still falls through to firstUpdated's initial wiring.
|
|
50193
|
+
if (this.hasUpdated && this._listenerAbortController.signal.aborted) {
|
|
50194
|
+
this._listenerAbortController = new AbortController();
|
|
50195
|
+
this.configureDropdown();
|
|
50196
|
+
this.configureInput();
|
|
50197
|
+
this.configureCalendar();
|
|
50198
|
+
this.configureDatepicker();
|
|
50199
|
+
this.configureClickHandler();
|
|
50200
|
+
}
|
|
50201
|
+
|
|
49804
50202
|
this.locale = this.domHandler.getLocale(this);
|
|
49805
50203
|
}
|
|
49806
50204
|
|
|
50205
|
+
disconnectedCallback() {
|
|
50206
|
+
super.disconnectedCallback();
|
|
50207
|
+
// Defer so that re-parenting (auro-drawer slotting it into a dialog,
|
|
50208
|
+
// for example) does not abort listeners we still need after reconnect.
|
|
50209
|
+
queueMicrotask(() => {
|
|
50210
|
+
if (!this.isConnected) {
|
|
50211
|
+
this._listenerAbortController.abort();
|
|
50212
|
+
}
|
|
50213
|
+
});
|
|
50214
|
+
}
|
|
50215
|
+
|
|
49807
50216
|
// layout render methods
|
|
49808
50217
|
// ------------------------------------
|
|
49809
50218
|
|
|
@@ -51299,7 +51708,7 @@ let AuroHelpText$1$2 = class AuroHelpText extends i$3 {
|
|
|
51299
51708
|
}
|
|
51300
51709
|
};
|
|
51301
51710
|
|
|
51302
|
-
var formkitVersion$1$2 = '
|
|
51711
|
+
var formkitVersion$1$2 = '202606261928';
|
|
51303
51712
|
|
|
51304
51713
|
// Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
|
|
51305
51714
|
// See LICENSE in the project root for license information.
|
|
@@ -55627,7 +56036,7 @@ let AuroHelpText$6 = class AuroHelpText extends i$3 {
|
|
|
55627
56036
|
}
|
|
55628
56037
|
};
|
|
55629
56038
|
|
|
55630
|
-
var formkitVersion$6 = '
|
|
56039
|
+
var formkitVersion$6 = '202606261928';
|
|
55631
56040
|
|
|
55632
56041
|
let AuroElement$1$2 = class AuroElement extends i$3 {
|
|
55633
56042
|
static get properties() {
|
|
@@ -56899,7 +57308,7 @@ let AuroDropdown$2 = class AuroDropdown extends AuroElement$1$2 {
|
|
|
56899
57308
|
role="${o$4(this.triggerContentFocusable ? undefined : this.a11yRole)}"
|
|
56900
57309
|
aria-expanded="${o$4(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : this.isPopoverVisible)}"
|
|
56901
57310
|
aria-controls="${o$4(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : this.dropdownId)}"
|
|
56902
|
-
aria-haspopup="${o$4(this.a11yRole === 'combobox' ? 'listbox' : undefined)}"
|
|
57311
|
+
aria-haspopup="${o$4(this.a11yRole === 'combobox' && !this.triggerContentFocusable ? 'listbox' : undefined)}"
|
|
56903
57312
|
aria-labelledby="${o$4(this.triggerContentFocusable ? undefined : 'triggerLabel')}"
|
|
56904
57313
|
aria-disabled="${o$4(this.disabled ? 'true' : undefined)}"
|
|
56905
57314
|
@focusin="${this.handleFocusin}"
|
|
@@ -58032,6 +58441,13 @@ class AuroCounterGroup extends AuroElement$4 {
|
|
|
58032
58441
|
*/
|
|
58033
58442
|
configureDropdownCounters() {
|
|
58034
58443
|
this.dropdown = this.shadowRoot.querySelector(this.dropdownTag._$litStatic$);
|
|
58444
|
+
|
|
58445
|
+
// Counter rows are slotted into the bib through multiple shadow roots
|
|
58446
|
+
// (dropdown → bib → bibtemplate → counter-group → counter), so the floater's
|
|
58447
|
+
// `:focus-within` focus-loss check fails to match the dropdown host in Chromium
|
|
58448
|
+
// and the bib auto-closes immediately after opening. Mirrors auro-select.
|
|
58449
|
+
this.dropdown.noHideOnThisFocusLoss = true;
|
|
58450
|
+
|
|
58035
58451
|
this.dropdown.requestUpdate();
|
|
58036
58452
|
|
|
58037
58453
|
const counterWrapper = this.shadowRoot.querySelector('auro-counter-wrapper');
|
|
@@ -59568,7 +59984,7 @@ let AuroHelpText$5 = class AuroHelpText extends i$3 {
|
|
|
59568
59984
|
}
|
|
59569
59985
|
};
|
|
59570
59986
|
|
|
59571
|
-
var formkitVersion$5 = '
|
|
59987
|
+
var formkitVersion$5 = '202606261928';
|
|
59572
59988
|
|
|
59573
59989
|
// Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
|
|
59574
59990
|
// See LICENSE in the project root for license information.
|
|
@@ -61318,7 +61734,7 @@ let AuroHelpText$4 = class AuroHelpText extends i$3 {
|
|
|
61318
61734
|
}
|
|
61319
61735
|
};
|
|
61320
61736
|
|
|
61321
|
-
var formkitVersion$4 = '
|
|
61737
|
+
var formkitVersion$4 = '202606261928';
|
|
61322
61738
|
|
|
61323
61739
|
// Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
|
|
61324
61740
|
// See LICENSE in the project root for license information.
|
|
@@ -66533,7 +66949,7 @@ let AuroHelpText$2 = class AuroHelpText extends i$3 {
|
|
|
66533
66949
|
}
|
|
66534
66950
|
};
|
|
66535
66951
|
|
|
66536
|
-
var formkitVersion$2 = '
|
|
66952
|
+
var formkitVersion$2 = '202606261928';
|
|
66537
66953
|
|
|
66538
66954
|
let AuroElement$2$1 = class AuroElement extends i$3 {
|
|
66539
66955
|
static get properties() {
|
|
@@ -67805,7 +68221,7 @@ let AuroDropdown$1 = class AuroDropdown extends AuroElement$2$1 {
|
|
|
67805
68221
|
role="${o$4(this.triggerContentFocusable ? undefined : this.a11yRole)}"
|
|
67806
68222
|
aria-expanded="${o$4(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : this.isPopoverVisible)}"
|
|
67807
68223
|
aria-controls="${o$4(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : this.dropdownId)}"
|
|
67808
|
-
aria-haspopup="${o$4(this.a11yRole === 'combobox' ? 'listbox' : undefined)}"
|
|
68224
|
+
aria-haspopup="${o$4(this.a11yRole === 'combobox' && !this.triggerContentFocusable ? 'listbox' : undefined)}"
|
|
67809
68225
|
aria-labelledby="${o$4(this.triggerContentFocusable ? undefined : 'triggerLabel')}"
|
|
67810
68226
|
aria-disabled="${o$4(this.disabled ? 'true' : undefined)}"
|
|
67811
68227
|
@focusin="${this.handleFocusin}"
|
|
@@ -80127,7 +80543,7 @@ let AuroHelpText$1$1 = class AuroHelpText extends i$3 {
|
|
|
80127
80543
|
}
|
|
80128
80544
|
};
|
|
80129
80545
|
|
|
80130
|
-
var formkitVersion$1$1 = '
|
|
80546
|
+
var formkitVersion$1$1 = '202606261928';
|
|
80131
80547
|
|
|
80132
80548
|
// Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
80133
80549
|
// See LICENSE in the project root for license information.
|
|
@@ -81248,7 +81664,7 @@ let AuroBibtemplate$1 = class AuroBibtemplate extends i$3 {
|
|
|
81248
81664
|
}
|
|
81249
81665
|
};
|
|
81250
81666
|
|
|
81251
|
-
var formkitVersion$3 = '
|
|
81667
|
+
var formkitVersion$3 = '202606261928';
|
|
81252
81668
|
|
|
81253
81669
|
var styleCss$1$3 = i$6`.util_displayInline{display:inline}.util_displayInlineBlock{display:inline-block}.util_displayBlock{display:block}.util_displayFlex{display:flex}.util_displayHidden{display:none}.util_displayHiddenVisually{position:absolute;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);width:1px;height:1px;padding:0;border:0}:host{display:block;text-align:left}:host [auro-dropdown]{--ds-auro-dropdown-trigger-background-color: transparent}:host #inputInBib::part(wrapper){box-shadow:none}:host #inputInBib::part(accent-left){display:none}:host([layout*=classic]) [auro-input]{width:100%}:host([layout*=classic]) [auro-input]::part(helpText){display:none}:host([layout*=classic]) #slotHolder{display:none}`;
|
|
81254
81670
|
|
|
@@ -86068,10 +86484,14 @@ const selectKeyboardStrategy = {
|
|
|
86068
86484
|
if (!lastOption) {
|
|
86069
86485
|
return;
|
|
86070
86486
|
}
|
|
86487
|
+
// Pre-stash before show() so the auroDropdown-toggled handler's
|
|
86488
|
+
// `!optionActive` guard short-circuits the firstActive/selected fallback —
|
|
86489
|
+
// otherwise show() synchronously fires the handler and writes
|
|
86490
|
+
// aria-activedescendant once before we overwrite it.
|
|
86491
|
+
component.menu.updateActiveOption(lastOption);
|
|
86071
86492
|
if (!ctx.isExpanded) {
|
|
86072
86493
|
component.dropdown.show();
|
|
86073
86494
|
}
|
|
86074
|
-
component.menu.updateActiveOption(lastOption);
|
|
86075
86495
|
},
|
|
86076
86496
|
|
|
86077
86497
|
Enter(component, evt, ctx) {
|
|
@@ -86095,10 +86515,11 @@ const selectKeyboardStrategy = {
|
|
|
86095
86515
|
if (!firstOption) {
|
|
86096
86516
|
return;
|
|
86097
86517
|
}
|
|
86518
|
+
// See End() for why this must run before show().
|
|
86519
|
+
component.menu.updateActiveOption(firstOption);
|
|
86098
86520
|
if (!ctx.isExpanded) {
|
|
86099
86521
|
component.dropdown.show();
|
|
86100
86522
|
}
|
|
86101
|
-
component.menu.updateActiveOption(firstOption);
|
|
86102
86523
|
},
|
|
86103
86524
|
|
|
86104
86525
|
Tab(component, evt, ctx) {
|
|
@@ -90045,7 +90466,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$3 {
|
|
|
90045
90466
|
}
|
|
90046
90467
|
};
|
|
90047
90468
|
|
|
90048
|
-
var formkitVersion$1 = '
|
|
90469
|
+
var formkitVersion$1 = '202606261928';
|
|
90049
90470
|
|
|
90050
90471
|
class AuroElement extends i$3 {
|
|
90051
90472
|
static get properties() {
|
|
@@ -91317,7 +91738,7 @@ class AuroDropdown extends AuroElement {
|
|
|
91317
91738
|
role="${o$4(this.triggerContentFocusable ? undefined : this.a11yRole)}"
|
|
91318
91739
|
aria-expanded="${o$4(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : this.isPopoverVisible)}"
|
|
91319
91740
|
aria-controls="${o$4(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : this.dropdownId)}"
|
|
91320
|
-
aria-haspopup="${o$4(this.a11yRole === 'combobox' ? 'listbox' : undefined)}"
|
|
91741
|
+
aria-haspopup="${o$4(this.a11yRole === 'combobox' && !this.triggerContentFocusable ? 'listbox' : undefined)}"
|
|
91321
91742
|
aria-labelledby="${o$4(this.triggerContentFocusable ? undefined : 'triggerLabel')}"
|
|
91322
91743
|
aria-disabled="${o$4(this.disabled ? 'true' : undefined)}"
|
|
91323
91744
|
@focusin="${this.handleFocusin}"
|
|
@@ -92067,7 +92488,7 @@ class AuroHelpText extends i$3 {
|
|
|
92067
92488
|
}
|
|
92068
92489
|
}
|
|
92069
92490
|
|
|
92070
|
-
var formkitVersion = '
|
|
92491
|
+
var formkitVersion = '202606261928';
|
|
92071
92492
|
|
|
92072
92493
|
var styleCss = i$6`.util_displayInline{display:inline}.util_displayInlineBlock{display:inline-block}.util_displayBlock{display:block}.util_displayFlex{display:flex}.util_displayHidden{display:none}.util_displayHiddenVisually{position:absolute;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);width:1px;height:1px;padding:0;border:0}.body-default{font-size:var(--wcss-body-default-font-size, 1rem);font-weight:var(--wcss-body-default-weight, );line-height:var(--wcss-body-default-line-height, 1.5rem)}.body-default,.body-default-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-default-emphasized{font-size:var(--wcss-body-default-emphasized-font-size, 1rem);font-weight:var(--wcss-body-default-emphasized-weight, );line-height:var(--wcss-body-default-emphasized-line-height, 1.5rem)}.body-lg{font-size:var(--wcss-body-lg-font-size, 1.125rem);font-weight:var(--wcss-body-lg-weight, );line-height:var(--wcss-body-lg-line-height, 1.625rem)}.body-lg,.body-lg-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-lg-emphasized{font-size:var(--wcss-body-lg-emphasized-font-size, 1.125rem);font-weight:var(--wcss-body-lg-emphasized-weight, );line-height:var(--wcss-body-lg-emphasized-line-height, 1.625rem)}.body-sm{font-size:var(--wcss-body-sm-font-size, 0.875rem);font-weight:var(--wcss-body-sm-weight, );line-height:var(--wcss-body-sm-line-height, 1.25rem)}.body-sm,.body-sm-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-sm-emphasized{font-size:var(--wcss-body-sm-emphasized-font-size, 0.875rem);font-weight:var(--wcss-body-sm-emphasized-weight, );line-height:var(--wcss-body-sm-emphasized-line-height, 1.25rem)}.body-xs{font-size:var(--wcss-body-xs-font-size, 0.75rem);font-weight:var(--wcss-body-xs-weight, );line-height:var(--wcss-body-xs-line-height, 1rem)}.body-xs,.body-xs-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-xs-emphasized{font-size:var(--wcss-body-xs-emphasized-font-size, 0.75rem);font-weight:var(--wcss-body-xs-emphasized-weight, );line-height:var(--wcss-body-xs-emphasized-line-height, 1rem)}.body-2xs{font-size:var(--wcss-body-2xs-font-size, 0.625rem);font-weight:var(--wcss-body-2xs-weight, );line-height:var(--wcss-body-2xs-line-height, 0.875rem)}.body-2xs,.body-2xs-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-2xs-emphasized{font-size:var(--wcss-body-2xs-emphasized-font-size, 0.625rem);font-weight:var(--wcss-body-2xs-emphasized-weight, );line-height:var(--wcss-body-2xs-emphasized-line-height, 0.875rem)}.display-2xl{font-family:var(--wcss-display-2xl-family, "AS Circular"),var(--wcss-display-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-2xl-font-size, clamp(3.5rem, 6vw, 5.375rem));font-weight:var(--wcss-display-2xl-weight, 300);letter-spacing:var(--wcss-display-2xl-letter-spacing, 0);line-height:var(--wcss-display-2xl-line-height, 1.3)}.display-xl{font-family:var(--wcss-display-xl-family, "AS Circular"),var(--wcss-display-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-xl-font-size, clamp(3rem, 5.3333333333vw, 4.5rem));font-weight:var(--wcss-display-xl-weight, 300);letter-spacing:var(--wcss-display-xl-letter-spacing, 0);line-height:var(--wcss-display-xl-line-height, 1.3)}.display-lg{font-family:var(--wcss-display-lg-family, "AS Circular"),var(--wcss-display-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-lg-font-size, clamp(2.75rem, 4.6666666667vw, 4rem));font-weight:var(--wcss-display-lg-weight, 300);letter-spacing:var(--wcss-display-lg-letter-spacing, 0);line-height:var(--wcss-display-lg-line-height, 1.3)}.display-md{font-family:var(--wcss-display-md-family, "AS Circular"),var(--wcss-display-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-md-font-size, clamp(2.5rem, 4vw, 3.5rem));font-weight:var(--wcss-display-md-weight, 300);letter-spacing:var(--wcss-display-md-letter-spacing, 0);line-height:var(--wcss-display-md-line-height, 1.3)}.display-sm{font-family:var(--wcss-display-sm-family, "AS Circular"),var(--wcss-display-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-sm-font-size, clamp(2rem, 3.6666666667vw, 3rem));font-weight:var(--wcss-display-sm-weight, 300);letter-spacing:var(--wcss-display-sm-letter-spacing, 0);line-height:var(--wcss-display-sm-line-height, 1.3)}.display-xs{font-family:var(--wcss-display-xs-family, "AS Circular"),var(--wcss-display-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-xs-font-size, clamp(1.75rem, 3vw, 2.375rem));font-weight:var(--wcss-display-xs-weight, 300);letter-spacing:var(--wcss-display-xs-letter-spacing, 0);line-height:var(--wcss-display-xs-line-height, 1.3)}.heading-xl{font-family:var(--wcss-heading-xl-family, "AS Circular"),var(--wcss-heading-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-xl-font-size, clamp(2rem, 3vw, 2.5rem));font-weight:var(--wcss-heading-xl-weight, 300);letter-spacing:var(--wcss-heading-xl-letter-spacing, 0);line-height:var(--wcss-heading-xl-line-height, 1.3)}.heading-lg{font-family:var(--wcss-heading-lg-family, "AS Circular"),var(--wcss-heading-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-lg-font-size, clamp(1.75rem, 2.6666666667vw, 2.25rem));font-weight:var(--wcss-heading-lg-weight, 300);letter-spacing:var(--wcss-heading-lg-letter-spacing, 0);line-height:var(--wcss-heading-lg-line-height, 1.3)}.heading-md{font-family:var(--wcss-heading-md-family, "AS Circular"),var(--wcss-heading-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-md-font-size, clamp(1.625rem, 2.3333333333vw, 1.75rem));font-weight:var(--wcss-heading-md-weight, 300);letter-spacing:var(--wcss-heading-md-letter-spacing, 0);line-height:var(--wcss-heading-md-line-height, 1.3)}.heading-sm{font-family:var(--wcss-heading-sm-family, "AS Circular"),var(--wcss-heading-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-sm-font-size, clamp(1.375rem, 2vw, 1.5rem));font-weight:var(--wcss-heading-sm-weight, 300);letter-spacing:var(--wcss-heading-sm-letter-spacing, 0);line-height:var(--wcss-heading-sm-line-height, 1.3)}.heading-xs{font-family:var(--wcss-heading-xs-family, "AS Circular"),var(--wcss-heading-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-xs-font-size, clamp(1.25rem, 1.6666666667vw, 1.25rem));font-weight:var(--wcss-heading-xs-weight, 300);letter-spacing:var(--wcss-heading-xs-letter-spacing, 0);line-height:var(--wcss-heading-xs-line-height, 1.3)}.heading-2xs{font-family:var(--wcss-heading-2xs-family, "AS Circular"),var(--wcss-heading-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-2xs-font-size, clamp(1.125rem, 1.5vw, 1.125rem));font-weight:var(--wcss-heading-2xs-weight, 300);letter-spacing:var(--wcss-heading-2xs-letter-spacing, 0);line-height:var(--wcss-heading-2xs-line-height, 1.3)}.accent-2xl{font-family:var(--wcss-accent-2xl-family, "Good OT"),var(--wcss-accent-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-2xl-font-size, clamp(2rem, 3.1666666667vw, 2.375rem));font-weight:var(--wcss-accent-2xl-weight, 450);letter-spacing:var(--wcss-accent-2xl-letter-spacing, 0.05em);line-height:var(--wcss-accent-2xl-line-height, 1)}.accent-2xl,.accent-xl{text-transform:uppercase}.accent-xl{font-family:var(--wcss-accent-xl-family, "Good OT"),var(--wcss-accent-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-xl-font-size, clamp(1.625rem, 2.3333333333vw, 2rem));font-weight:var(--wcss-accent-xl-weight, 450);letter-spacing:var(--wcss-accent-xl-letter-spacing, 0.05em);line-height:var(--wcss-accent-xl-line-height, 1.3)}.accent-lg{font-family:var(--wcss-accent-lg-family, "Good OT"),var(--wcss-accent-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-lg-font-size, clamp(1.5rem, 2.1666666667vw, 1.75rem));font-weight:var(--wcss-accent-lg-weight, 450);letter-spacing:var(--wcss-accent-lg-letter-spacing, 0.05em);line-height:var(--wcss-accent-lg-line-height, 1.3)}.accent-lg,.accent-md{text-transform:uppercase}.accent-md{font-family:var(--wcss-accent-md-family, "Good OT"),var(--wcss-accent-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-md-font-size, clamp(1.375rem, 1.8333333333vw, 1.5rem));font-weight:var(--wcss-accent-md-weight, 500);letter-spacing:var(--wcss-accent-md-letter-spacing, 0.05em);line-height:var(--wcss-accent-md-line-height, 1.3)}.accent-sm{font-family:var(--wcss-accent-sm-family, "Good OT"),var(--wcss-accent-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-sm-font-size, clamp(1.125rem, 1.5vw, 1.25rem));font-weight:var(--wcss-accent-sm-weight, 500);letter-spacing:var(--wcss-accent-sm-letter-spacing, 0.05em);line-height:var(--wcss-accent-sm-line-height, 1.3)}.accent-sm,.accent-xs{text-transform:uppercase}.accent-xs{font-family:var(--wcss-accent-xs-family, "Good OT"),var(--wcss-accent-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-xs-font-size, clamp(1rem, 1.3333333333vw, 1rem));font-weight:var(--wcss-accent-xs-weight, 500);letter-spacing:var(--wcss-accent-xs-letter-spacing, 0.1em);line-height:var(--wcss-accent-xs-line-height, 1.3)}.accent-2xs{font-family:var(--wcss-accent-2xs-family, "Good OT"),var(--wcss-accent-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-2xs-font-size, clamp(0.875rem, 1.1666666667vw, 0.875rem));font-weight:var(--wcss-accent-2xs-weight, 450);letter-spacing:var(--wcss-accent-2xs-letter-spacing, 0.1em);line-height:var(--wcss-accent-2xs-line-height, 1.3);text-transform:uppercase}[auro-dropdown]{--ds-auro-dropdown-trigger-border-color: var(--ds-auro-select-border-color);--ds-auro-dropdown-trigger-background-color: var(--ds-auro-select-background-color);--ds-auro-dropdown-trigger-container-color: var(--ds-auro-select-background-color);--ds-auro-dropdown-trigger-outline-color: var(--ds-auro-select-outline-color)}:host{display:inline-block;text-align:left;vertical-align:top}:host([layout*=emphasized]) [auro-dropdown],:host([layout*=snowflake]) [auro-dropdown]{--ds-auro-select-border-color: transparent}:host([layout*=emphasized]) .mainContent,:host([layout*=snowflake]) .mainContent{text-align:center}.mainContent{position:relative;display:flex;overflow:hidden;flex:1;flex-direction:column;align-items:center;justify-content:center}.valueContainer [slot=displayValue]{display:none}.accents{display:flex;flex-direction:row;align-items:center;justify-content:center}::slotted([slot=typeIcon]){margin-right:var(--ds-size-100, 0.5rem)}.displayValue{display:block}.displayValue:not(.force){display:none}.displayValue:not(.force).hasContent:is(.withValue):not(.hasFocus){display:block}.triggerContent{display:flex;width:100%;align-items:center;justify-content:center}:host([layout*=emphasized]) .triggerContent{padding:0 var(--ds-size-100, 0.5rem) 0 var(--ds-size-300, 1.5rem)}:host([layout*=snowflake]) .triggerContent{padding:0 var(--ds-size-100, 0.5rem) 0 var(--ds-size-200, 1rem)}:host([layout*=snowflake]) label{padding-block:var(--ds-size-25, 0.125rem)}:host([layout*=classic]) .triggerContent{padding:0 var(--ds-size-100, 0.5rem)}:host([layout*=classic]) .mainContent{align-items:start}:host([layout*=classic]) label{overflow:hidden;cursor:text;text-overflow:ellipsis;white-space:nowrap}:host([layout*=classic]) .value{height:auto}label{color:var(--ds-auro-select-label-text-color)}:host(:is([validity]:not([validity=valid]))) [auro-dropdown]{--ds-auro-select-border-color: var(--ds-basic-color-status-error, #e31f26);--ds-auro-select-outline-color: var(--ds-basic-color-status-error, #e31f26);--ds-auro-dropdown-helptext-text-color: var(--ds-basic-color-texticon-default, #2a2a2a)}:host([ondark]:is([validity]:not([validity=valid]))) [auro-dropdown],:host([appearance=inverse]:is([validity]:not([validity=valid]))) [auro-dropdown]{--ds-auro-select-border-color: var(--ds-advanced-color-state-error-inverse, #f9a4a8);--ds-auro-select-outline-color: var(--ds-advanced-color-state-error-inverse, #f9a4a8);--ds-auro-dropdown-helptext-text-color: var(--ds-basic-color-texticon-inverse, #ffffff)}#slotHolder{display:none}:host([fluid]){width:100%}:host([disabled]){pointer-events:none;user-select:none}:host([disabled]:not([ondark])) [auro-dropdown],:host([disabled]:not([appearance=inverse])) [auro-dropdown]{--ds-auro-select-border-color: var(--ds-basic-color-border-subtle, #dddddd)}:host(:not([layout*=classic])[disabled][ondark]) [auro-dropdown],:host(:not([layout*=classic])[disabled][appearance=inverse]) [auro-dropdown]{--ds-auro-select-border-color: transparent}`;
|
|
92073
92494
|
|
|
@@ -92943,10 +93364,14 @@ class AuroSelect extends AuroElement$1 {
|
|
|
92943
93364
|
this.dropdown.setActiveDescendant(this.optionActive);
|
|
92944
93365
|
}
|
|
92945
93366
|
|
|
92946
|
-
//
|
|
92947
|
-
//
|
|
92948
|
-
//
|
|
92949
|
-
//
|
|
93367
|
+
// Live-region announce only for [not selected] options. For activations
|
|
93368
|
+
// on an already-selected option — auto-activation on bib open, arrow
|
|
93369
|
+
// navigation back to the selection, or click in multiSelect — rely on
|
|
93370
|
+
// aria-activedescendant + aria-selected="true" to convey state per the
|
|
93371
|
+
// WAI-ARIA listbox pattern. This is intentional, not limited to the
|
|
93372
|
+
// initial activation on open: it also prevents a duplicate "X, selected"
|
|
93373
|
+
// when Enter on the active+selected option re-fires
|
|
93374
|
+
// auroMenu-selectedOption (see 03b289e39).
|
|
92950
93375
|
if (this.optionActive && !this.optionActive.hasAttribute('selected')) {
|
|
92951
93376
|
const optionText = this.optionActive.textContent.trim();
|
|
92952
93377
|
const message = `${optionText}, not selected`;
|
|
@@ -92967,6 +93392,7 @@ class AuroSelect extends AuroElement$1 {
|
|
|
92967
93392
|
});
|
|
92968
93393
|
|
|
92969
93394
|
this.menu.addEventListener('auroMenu-selectedOption', () => {
|
|
93395
|
+
const previousSelected = this.optionSelected;
|
|
92970
93396
|
|
|
92971
93397
|
// Update the displayed value
|
|
92972
93398
|
this.updateDisplayedValue();
|
|
@@ -92986,13 +93412,32 @@ class AuroSelect extends AuroElement$1 {
|
|
|
92986
93412
|
this.dropdown.trigger.focus();
|
|
92987
93413
|
}
|
|
92988
93414
|
|
|
92989
|
-
//
|
|
92990
|
-
//
|
|
92991
|
-
|
|
92992
|
-
|
|
92993
|
-
|
|
92994
|
-
|
|
92995
|
-
|
|
93415
|
+
// Describe the actual change. In multiSelect, currentLabel is the
|
|
93416
|
+
// concatenated remaining list — announcing "{list}, selected" after a
|
|
93417
|
+
// deselect would falsely claim every remaining label was just added.
|
|
93418
|
+
// Diff previous vs next to recover the toggled option.
|
|
93419
|
+
let announcement = '';
|
|
93420
|
+
if (this.multiSelect) {
|
|
93421
|
+
const prev = Array.isArray(previousSelected) ? previousSelected : [];
|
|
93422
|
+
const removed = prev.find((opt) => !nextSelected.includes(opt));
|
|
93423
|
+
const added = nextSelected.find((opt) => !prev.includes(opt));
|
|
93424
|
+
if (removed) {
|
|
93425
|
+
announcement = `${removed.textContent.trim()}, not selected`;
|
|
93426
|
+
} else if (added) {
|
|
93427
|
+
announcement = `${added.textContent.trim()}, selected`;
|
|
93428
|
+
}
|
|
93429
|
+
} else {
|
|
93430
|
+
announcement = `${this.menu.currentLabel}, selected`;
|
|
93431
|
+
}
|
|
93432
|
+
|
|
93433
|
+
// Delay so the utterance isn't overridden by VoiceOver's "collapsed"
|
|
93434
|
+
// announcement from aria-expanded when the dropdown closes.
|
|
93435
|
+
if (announcement) {
|
|
93436
|
+
const announcementDelay = 300;
|
|
93437
|
+
setTimeout(() => {
|
|
93438
|
+
announceToScreenReader(this._getAnnouncementRoot(), announcement);
|
|
93439
|
+
}, announcementDelay);
|
|
93440
|
+
}
|
|
92996
93441
|
});
|
|
92997
93442
|
}
|
|
92998
93443
|
|
|
@@ -93244,6 +93689,18 @@ class AuroSelect extends AuroElement$1 {
|
|
|
93244
93689
|
}
|
|
93245
93690
|
}
|
|
93246
93691
|
|
|
93692
|
+
connectedCallback() {
|
|
93693
|
+
super.connectedCallback();
|
|
93694
|
+
// Regression guard: firstUpdated() fires once per instance, so the label
|
|
93695
|
+
// observer setup it triggers does NOT re-run on reconnect. After a
|
|
93696
|
+
// disconnect+reconnect (reparent, SPA route swap), runtime label mutations
|
|
93697
|
+
// would silently stop syncing menu aria-label / dropdown.bibDialogLabel
|
|
93698
|
+
// unless we re-wire the observer here.
|
|
93699
|
+
if (this.hasUpdated) {
|
|
93700
|
+
this._observeLabelChanges();
|
|
93701
|
+
}
|
|
93702
|
+
}
|
|
93703
|
+
|
|
93247
93704
|
// lifecycle runs only after the element's DOM has been updated the first time
|
|
93248
93705
|
firstUpdated() {
|
|
93249
93706
|
// Add the tag name as an attribute if it is different than the component name
|
|
@@ -93385,6 +93842,12 @@ class AuroSelect extends AuroElement$1 {
|
|
|
93385
93842
|
* @private
|
|
93386
93843
|
*/
|
|
93387
93844
|
_handleNativeSelectChange(event) {
|
|
93845
|
+
// Hidden native <select> has no `multiple` attribute, so any change it fires
|
|
93846
|
+
// is a single raw value — applying it in multiSelect mode would collapse the
|
|
93847
|
+
// JSON-array `value` shape. Bfcache/autofill can reach this on a name-bearing
|
|
93848
|
+
// form control even with aria-hidden/tabindex=-1.
|
|
93849
|
+
if (this.multiSelect) return;
|
|
93850
|
+
|
|
93388
93851
|
const selectedOption = event.target.options[event.target.selectedIndex];
|
|
93389
93852
|
if (!selectedOption) return;
|
|
93390
93853
|
const selectedValue = selectedOption.value;
|