@aurodesignsystem-dev/auro-formkit 0.0.0-pr1510.2 → 0.0.0-pr1511.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/checkbox/demo/customize.js +22 -0
- package/components/checkbox/demo/customize.min.js +1 -1
- package/components/checkbox/demo/demo-support.js +1 -0
- package/components/checkbox/demo/getting-started.js +22 -0
- package/components/checkbox/demo/getting-started.min.js +1 -1
- package/components/checkbox/demo/index.js +8 -0
- package/components/checkbox/demo/index.min.js +1 -1
- package/components/checkbox/demo/styles.scss +1 -0
- package/components/checkbox/dist/index.js +1 -1
- package/components/checkbox/dist/registered.js +1 -1
- package/components/combobox/demo/customize.js +24 -0
- package/components/combobox/demo/customize.min.js +4 -3
- package/components/combobox/demo/demo-support.js +1 -0
- package/components/combobox/demo/getting-started.js +21 -0
- package/components/combobox/demo/getting-started.min.js +4 -3
- package/components/combobox/demo/index.js +23 -0
- package/components/combobox/demo/index.min.js +4 -3
- package/components/combobox/demo/styles.scss +1 -0
- package/components/combobox/dist/index.js +4 -3
- package/components/combobox/dist/registered.js +4 -3
- package/components/counter/demo/customize.js +21 -0
- package/components/counter/demo/customize.min.js +3 -2
- package/components/counter/demo/demo-support.js +1 -0
- package/components/counter/demo/index.js +21 -0
- package/components/counter/demo/index.min.js +3 -2
- package/components/counter/demo/styles.scss +1 -0
- package/components/counter/dist/index.js +3 -2
- package/components/counter/dist/registered.js +3 -2
- package/components/datepicker/demo/accessibility.md +1 -2
- package/components/datepicker/demo/api.md +62 -63
- package/components/datepicker/demo/customize.js +17 -0
- package/components/datepicker/demo/customize.md +1 -12
- package/components/datepicker/demo/customize.min.js +207 -601
- package/components/datepicker/demo/demo-support.js +1 -0
- package/components/datepicker/demo/index.js +23 -0
- package/components/datepicker/demo/index.min.js +207 -601
- package/components/datepicker/demo/styles.scss +1 -0
- package/components/datepicker/dist/index.js +207 -601
- package/components/datepicker/dist/registered.js +207 -601
- package/components/datepicker/dist/{auro-calendar-cell.d.ts → src/auro-calendar-cell.d.ts} +3 -14
- package/components/datepicker/dist/{auro-calendar.d.ts → src/auro-calendar.d.ts} +6 -90
- package/components/datepicker/dist/{auro-datepicker.d.ts → src/auro-datepicker.d.ts} +5 -78
- package/components/dropdown/demo/customize.js +9 -0
- package/components/dropdown/demo/customize.min.js +2 -1
- package/components/dropdown/demo/demo-support.js +1 -0
- package/components/dropdown/demo/getting-started.js +9 -0
- package/components/dropdown/demo/getting-started.min.js +2 -1
- package/components/dropdown/demo/index.js +16 -0
- package/components/dropdown/demo/index.min.js +2 -1
- package/components/dropdown/demo/styles.scss +1 -0
- package/components/dropdown/dist/index.js +2 -1
- package/components/dropdown/dist/registered.js +2 -1
- package/components/form/demo/customize.js +28 -0
- package/components/form/demo/customize.min.js +355 -670
- package/components/form/demo/demo-support.js +1 -0
- package/components/form/demo/getting-started.js +9 -0
- package/components/form/demo/getting-started.min.js +355 -670
- package/components/form/demo/index.js +5 -0
- package/components/form/demo/index.min.js +355 -670
- package/components/form/demo/registerDemoDeps.js +23 -0
- package/components/form/demo/registerDemoDeps.min.js +355 -670
- package/components/form/demo/styles.scss +1 -0
- package/components/input/demo/customize.js +25 -0
- package/components/input/demo/customize.min.js +1 -1
- package/components/input/demo/demo-support.js +1 -0
- package/components/input/demo/getting-started.js +8 -0
- package/components/input/demo/getting-started.min.js +1 -1
- package/components/input/demo/index.js +8 -0
- package/components/input/demo/index.min.js +1 -1
- package/components/input/demo/styles.css +974 -0
- package/components/input/demo/styles.scss +1 -0
- package/components/input/dist/index.js +1 -1
- package/components/input/dist/registered.js +1 -1
- package/components/menu/demo/demo-support.js +1 -0
- package/components/menu/demo/index.js +25 -0
- package/components/menu/demo/styles.scss +1 -0
- package/components/radio/demo/customize.js +22 -0
- package/components/radio/demo/customize.min.js +1 -1
- package/components/radio/demo/demo-support.js +1 -0
- package/components/radio/demo/getting-started.js +24 -0
- package/components/radio/demo/getting-started.min.js +1 -1
- package/components/radio/demo/index.js +8 -0
- package/components/radio/demo/index.min.js +1 -1
- package/components/radio/demo/styles.scss +1 -0
- package/components/radio/dist/index.js +1 -1
- package/components/radio/dist/registered.js +1 -1
- package/components/select/demo/customize.js +11 -0
- package/components/select/demo/customize.min.js +132 -55
- package/components/select/demo/demo-support.js +1 -0
- package/components/select/demo/getting-started.js +26 -0
- package/components/select/demo/getting-started.min.js +132 -55
- package/components/select/demo/index.js +11 -0
- package/components/select/demo/index.min.js +132 -55
- package/components/select/demo/keyboard-behavior.md +18 -4
- package/components/select/demo/styles.scss +1 -0
- package/components/select/dist/auro-select.d.ts +20 -8
- package/components/select/dist/index.js +132 -55
- package/components/select/dist/registered.js +132 -55
- package/custom-elements.json +25 -311
- package/package.json +2 -6
- package/components/datepicker/dist/blackoutUtils.d.ts +0 -43
- /package/components/datepicker/dist/{auro-calendar-month.d.ts → src/auro-calendar-month.d.ts} +0 -0
- /package/components/datepicker/dist/{buttonVersion.d.ts → src/buttonVersion.d.ts} +0 -0
- /package/components/datepicker/dist/{datepickerKeyboardStrategy.d.ts → src/datepickerKeyboardStrategy.d.ts} +0 -0
- /package/components/datepicker/dist/{iconVersion.d.ts → src/iconVersion.d.ts} +0 -0
- /package/components/datepicker/dist/{index.d.ts → src/index.d.ts} +0 -0
- /package/components/datepicker/dist/{popoverVersion.d.ts → src/popoverVersion.d.ts} +0 -0
- /package/components/datepicker/dist/{styles → src/styles}/classic/color-css.d.ts +0 -0
- /package/components/datepicker/dist/{styles → src/styles}/classic/style-css.d.ts +0 -0
- /package/components/datepicker/dist/{styles → src/styles}/color-calendar-css.d.ts +0 -0
- /package/components/datepicker/dist/{styles → src/styles}/color-cell-css.d.ts +0 -0
- /package/components/datepicker/dist/{styles → src/styles}/color-css.d.ts +0 -0
- /package/components/datepicker/dist/{styles → src/styles}/color-month-css.d.ts +0 -0
- /package/components/datepicker/dist/{styles → src/styles}/shapeSize-css.d.ts +0 -0
- /package/components/datepicker/dist/{styles → src/styles}/snowflake/color-css.d.ts +0 -0
- /package/components/datepicker/dist/{styles → src/styles}/snowflake/style-css.d.ts +0 -0
- /package/components/datepicker/dist/{styles → src/styles}/style-auro-calendar-cell-css.d.ts +0 -0
- /package/components/datepicker/dist/{styles → src/styles}/style-auro-calendar-css.d.ts +0 -0
- /package/components/datepicker/dist/{styles → src/styles}/style-auro-calendar-month-css.d.ts +0 -0
- /package/components/datepicker/dist/{styles → src/styles}/style-css.d.ts +0 -0
- /package/components/datepicker/dist/{styles → src/styles}/tokens-css.d.ts +0 -0
- /package/components/datepicker/dist/{utilities.d.ts → src/utilities.d.ts} +0 -0
- /package/components/datepicker/dist/{utilitiesCalendar.d.ts → src/utilitiesCalendar.d.ts} +0 -0
- /package/components/datepicker/dist/{utilitiesCalendarRender.d.ts → src/utilitiesCalendarRender.d.ts} +0 -0
- /package/components/datepicker/dist/{vendor → src/vendor}/wc-range-datepicker/day.d.ts +0 -0
- /package/components/datepicker/dist/{vendor → src/vendor}/wc-range-datepicker/range-datepicker-calendar.d.ts +0 -0
- /package/components/datepicker/dist/{vendor → src/vendor}/wc-range-datepicker/range-datepicker-cell.d.ts +0 -0
- /package/components/datepicker/dist/{vendor → src/vendor}/wc-range-datepicker/range-datepicker.d.ts +0 -0
|
@@ -5135,7 +5135,7 @@ function normalizeDates$3(context, ...dates) {
|
|
|
5135
5135
|
* const result = startOfDay(new Date(2014, 8, 2, 11, 55, 0))
|
|
5136
5136
|
* //=> Tue Sep 02 2014 00:00:00
|
|
5137
5137
|
*/
|
|
5138
|
-
function startOfDay$
|
|
5138
|
+
function startOfDay$4(date, options) {
|
|
5139
5139
|
const _date = toDate$3(date, options?.in);
|
|
5140
5140
|
_date.setHours(0, 0, 0, 0);
|
|
5141
5141
|
return _date;
|
|
@@ -5183,8 +5183,8 @@ function differenceInCalendarDays$3(laterDate, earlierDate, options) {
|
|
|
5183
5183
|
earlierDate,
|
|
5184
5184
|
);
|
|
5185
5185
|
|
|
5186
|
-
const laterStartOfDay = startOfDay$
|
|
5187
|
-
const earlierStartOfDay = startOfDay$
|
|
5186
|
+
const laterStartOfDay = startOfDay$4(laterDate_);
|
|
5187
|
+
const earlierStartOfDay = startOfDay$4(earlierDate_);
|
|
5188
5188
|
|
|
5189
5189
|
const laterTimestamp =
|
|
5190
5190
|
+laterStartOfDay - getTimezoneOffsetInMilliseconds$3(laterStartOfDay);
|
|
@@ -12331,7 +12331,7 @@ let AuroHelpText$8 = class AuroHelpText extends i$2 {
|
|
|
12331
12331
|
}
|
|
12332
12332
|
};
|
|
12333
12333
|
|
|
12334
|
-
var formkitVersion$8 = '
|
|
12334
|
+
var formkitVersion$8 = '202606252142';
|
|
12335
12335
|
|
|
12336
12336
|
// Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
12337
12337
|
// See LICENSE in the project root for license information.
|
|
@@ -14415,7 +14415,7 @@ function normalizeDates$1(context, ...dates) {
|
|
|
14415
14415
|
* const result = startOfDay(new Date(2014, 8, 2, 11, 55, 0))
|
|
14416
14416
|
* //=> Tue Sep 02 2014 00:00:00
|
|
14417
14417
|
*/
|
|
14418
|
-
function startOfDay$
|
|
14418
|
+
function startOfDay$2(date, options) {
|
|
14419
14419
|
const _date = toDate$1(date, options?.in);
|
|
14420
14420
|
_date.setHours(0, 0, 0, 0);
|
|
14421
14421
|
return _date;
|
|
@@ -14463,8 +14463,8 @@ function differenceInCalendarDays$1(laterDate, earlierDate, options) {
|
|
|
14463
14463
|
earlierDate,
|
|
14464
14464
|
);
|
|
14465
14465
|
|
|
14466
|
-
const laterStartOfDay = startOfDay$
|
|
14467
|
-
const earlierStartOfDay = startOfDay$
|
|
14466
|
+
const laterStartOfDay = startOfDay$2(laterDate_);
|
|
14467
|
+
const earlierStartOfDay = startOfDay$2(earlierDate_);
|
|
14468
14468
|
|
|
14469
14469
|
const laterTimestamp =
|
|
14470
14470
|
+laterStartOfDay - getTimezoneOffsetInMilliseconds$1(laterStartOfDay);
|
|
@@ -23921,8 +23921,8 @@ class RangeDatepickerCell extends i$2 {
|
|
|
23921
23921
|
const parsedDateFrom = parseInt(dateFrom, 10);
|
|
23922
23922
|
const parsedDateTo = parseInt(dateTo, 10);
|
|
23923
23923
|
if (day) {
|
|
23924
|
-
if (getTime(startOfDay$
|
|
23925
|
-
getTime(startOfDay$
|
|
23924
|
+
if (getTime(startOfDay$2(parsedDateTo * 1000)) / 1000 === day.date ||
|
|
23925
|
+
getTime(startOfDay$2(parsedDateFrom * 1000)) / 1000 === day.date) {
|
|
23926
23926
|
this.selected = true;
|
|
23927
23927
|
}
|
|
23928
23928
|
if (((hoveredDate === day.date || day.date < hoveredDate) &&
|
|
@@ -24110,7 +24110,7 @@ class RangeDatepickerCalendar extends i$2 {
|
|
|
24110
24110
|
this.dayNamesOfTheWeek = [];
|
|
24111
24111
|
this.daysOfMonth = [];
|
|
24112
24112
|
this._locale = null;
|
|
24113
|
-
this.currentDate = parseInt(format$1(startOfDay$
|
|
24113
|
+
this.currentDate = parseInt(format$1(startOfDay$2(Date.now()), 't'), 10);
|
|
24114
24114
|
this.localeChanged();
|
|
24115
24115
|
this.yearAndMonthChanged(this.year, this.month);
|
|
24116
24116
|
}
|
|
@@ -24584,7 +24584,7 @@ __decorate([n$4({ type: Array })], RangeDatepickerCalendar.prototype, "dayNamesO
|
|
|
24584
24584
|
__decorate([n$4({ type: Array })], RangeDatepickerCalendar.prototype, "daysOfMonth", void 0);
|
|
24585
24585
|
AuroLibraryRuntimeUtils$5$1.prototype.registerComponent('wc-range-datepicker-calendar', RangeDatepickerCalendar);
|
|
24586
24586
|
|
|
24587
|
-
var styleCss$5$2 = i$4`.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}`;
|
|
24587
|
+
var styleCss$5$2 = i$4`.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}`;
|
|
24588
24588
|
|
|
24589
24589
|
var colorCss$5$2 = i$4`: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}`;
|
|
24590
24590
|
|
|
@@ -24609,104 +24609,14 @@ class s{registerComponent(e,t){customElements.get(e)||customElements.define(e,cl
|
|
|
24609
24609
|
|
|
24610
24610
|
var popoverVersion = '6.0.1';
|
|
24611
24611
|
|
|
24612
|
-
/**
|
|
24613
|
-
* Single source of truth for parsing and matching blackout dates across the
|
|
24614
|
-
* datepicker. Both `auro-calendar` (memoized Set + `isDateBlackout`) and the
|
|
24615
|
-
* pre-`firstUpdated` fallback inside `auro-calendar-cell` route through these
|
|
24616
|
-
* helpers so the YYYY-MM-DD → seconds conversion and the merge-with-legacy
|
|
24617
|
-
* `disabledDays` rules are defined exactly once.
|
|
24618
|
-
*/
|
|
24619
|
-
|
|
24620
|
-
/**
|
|
24621
|
-
* Converts a `YYYY-MM-DD` ISO date string to a Unix timestamp (seconds)
|
|
24622
|
-
* representing local midnight on that calendar day. Returns `null` for
|
|
24623
|
-
* inputs that don't parse to a finite timestamp.
|
|
24624
|
-
*
|
|
24625
|
-
* Uses the `new Date(year, monthIndex, day)` constructor (NOT
|
|
24626
|
-
* `new Date(isoStr)`) so the result is local-midnight rather than UTC
|
|
24627
|
-
* midnight — required to keep the calendar grid aligned with the user's
|
|
24628
|
-
* local calendar day in negative-offset timezones.
|
|
24629
|
-
*
|
|
24630
|
-
* @param {string} isoStr - Date string in `YYYY-MM-DD` format.
|
|
24631
|
-
* @returns {number|null} Local-midnight Unix timestamp (seconds), or null.
|
|
24632
|
-
*/
|
|
24633
|
-
function parseIsoToTimestamp(isoStr) {
|
|
24634
|
-
if (typeof isoStr !== 'string') {
|
|
24635
|
-
return null;
|
|
24636
|
-
}
|
|
24637
|
-
const parts = isoStr.split('-');
|
|
24638
|
-
if (parts.length !== 3) {
|
|
24639
|
-
return null;
|
|
24640
|
-
}
|
|
24641
|
-
const year = parseInt(parts[0], 10);
|
|
24642
|
-
const month = parseInt(parts[1], 10);
|
|
24643
|
-
const day = parseInt(parts[2], 10);
|
|
24644
|
-
if (!Number.isFinite(year) || !Number.isFinite(month) || !Number.isFinite(day)) {
|
|
24645
|
-
return null;
|
|
24646
|
-
}
|
|
24647
|
-
// Reject overflow values like "2024-13-40" — JS `new Date(year, month, day)`
|
|
24648
|
-
// silently normalizes those to a different calendar day, which would
|
|
24649
|
-
// disable the wrong date if we let the result through.
|
|
24650
|
-
if (month < 1 || month > 12 || day < 1 || day > 31) {
|
|
24651
|
-
return null;
|
|
24652
|
-
}
|
|
24653
|
-
const date = new Date(year, month - 1, day);
|
|
24654
|
-
// Guard the residual case where JS still rolls a value (e.g. Feb 30 → Mar 2).
|
|
24655
|
-
// After construction, getFullYear/getMonth/getDate should match the inputs.
|
|
24656
|
-
if (date.getFullYear() !== year || date.getMonth() !== month - 1 || date.getDate() !== day) {
|
|
24657
|
-
return null;
|
|
24658
|
-
}
|
|
24659
|
-
const ts = Math.floor(date.getTime() / 1000);
|
|
24660
|
-
return Number.isFinite(ts) ? ts : null;
|
|
24661
|
-
}
|
|
24662
|
-
|
|
24663
|
-
/**
|
|
24664
|
-
* Builds a `Set<number>` of seconds-since-epoch timestamps covering both the
|
|
24665
|
-
* legacy `disabledDays` (already-numeric) array and the ISO `blackoutDates`
|
|
24666
|
-
* array. Use this for O(1) membership checks in hot paths.
|
|
24667
|
-
*
|
|
24668
|
-
* @param {Array<string|number>|undefined} disabledDays - Legacy timestamp array.
|
|
24669
|
-
* @param {Array<string>|undefined} blackoutDates - ISO `YYYY-MM-DD` array.
|
|
24670
|
-
* @returns {Set<number>}
|
|
24671
|
-
*/
|
|
24672
|
-
function buildBlackoutSet(disabledDays, blackoutDates) {
|
|
24673
|
-
const set = new Set();
|
|
24674
|
-
if (Array.isArray(disabledDays)) {
|
|
24675
|
-
for (const day of disabledDays) {
|
|
24676
|
-
const ts = parseInt(day, 10);
|
|
24677
|
-
if (Number.isFinite(ts)) {
|
|
24678
|
-
set.add(ts);
|
|
24679
|
-
}
|
|
24680
|
-
}
|
|
24681
|
-
}
|
|
24682
|
-
if (Array.isArray(blackoutDates)) {
|
|
24683
|
-
for (const isoStr of blackoutDates) {
|
|
24684
|
-
const ts = parseIsoToTimestamp(isoStr);
|
|
24685
|
-
if (ts !== null) {
|
|
24686
|
-
set.add(ts);
|
|
24687
|
-
}
|
|
24688
|
-
}
|
|
24689
|
-
}
|
|
24690
|
-
return set;
|
|
24691
|
-
}
|
|
24692
|
-
|
|
24693
|
-
/**
|
|
24694
|
-
* One-shot membership test for a single timestamp against both blackout
|
|
24695
|
-
* sources. Allocates a Set on each call; only use this in cold paths
|
|
24696
|
-
* (e.g. the pre-`firstUpdated` cell fallback). Hot paths should hold the
|
|
24697
|
-
* Set returned from `buildBlackoutSet` and `.has(ts)` directly.
|
|
24698
|
-
*
|
|
24699
|
-
* @param {number} dateTs - Unix timestamp (seconds) to test.
|
|
24700
|
-
* @param {Array<string|number>|undefined} disabledDays - Legacy timestamp array.
|
|
24701
|
-
* @param {Array<string>|undefined} blackoutDates - ISO `YYYY-MM-DD` array.
|
|
24702
|
-
* @returns {boolean}
|
|
24703
|
-
*/
|
|
24704
|
-
function isBlackoutTimestamp(dateTs, disabledDays, blackoutDates) {
|
|
24705
|
-
return buildBlackoutSet(disabledDays, blackoutDates).has(dateTs);
|
|
24706
|
-
}
|
|
24707
|
-
|
|
24708
24612
|
/* 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 */
|
|
24709
24613
|
|
|
24614
|
+
const startOfDay$1 = (ms) => {
|
|
24615
|
+
const date = new Date(ms);
|
|
24616
|
+
date.setHours(0, 0, 0, 0);
|
|
24617
|
+
return date.getTime();
|
|
24618
|
+
};
|
|
24619
|
+
|
|
24710
24620
|
class AuroCalendarCell extends i$2 {
|
|
24711
24621
|
constructor() {
|
|
24712
24622
|
super();
|
|
@@ -24753,14 +24663,6 @@ class AuroCalendarCell extends i$2 {
|
|
|
24753
24663
|
type: Boolean,
|
|
24754
24664
|
reflect: true
|
|
24755
24665
|
},
|
|
24756
|
-
/**
|
|
24757
|
-
* @deprecated Propagated from the legacy `auro-calendar.disabledDays`
|
|
24758
|
-
* Unix-timestamp array. The cell honors it for backward compatibility
|
|
24759
|
-
* (see the divergence-check fallback inside `isBlackout`), but
|
|
24760
|
-
* consumers should migrate to `auro-datepicker.blackoutDates`
|
|
24761
|
-
* (YYYY-MM-DD ISO strings). The calendar emits a one-time
|
|
24762
|
-
* deprecation warning the first time a non-empty value is observed.
|
|
24763
|
-
*/
|
|
24764
24666
|
disabledDays: { type: Array },
|
|
24765
24667
|
isCurrentDate: { type: Boolean },
|
|
24766
24668
|
locale: { type: String },
|
|
@@ -24806,8 +24708,8 @@ class AuroCalendarCell extends i$2 {
|
|
|
24806
24708
|
const parsedDateTo = parseInt(dateTo, 10);
|
|
24807
24709
|
|
|
24808
24710
|
if (day) {
|
|
24809
|
-
const departTimestamp =
|
|
24810
|
-
const returnTimestamp =
|
|
24711
|
+
const departTimestamp = startOfDay$1(parsedDateFrom * 1000) / 1000;
|
|
24712
|
+
const returnTimestamp = startOfDay$1(parsedDateTo * 1000) / 1000;
|
|
24811
24713
|
|
|
24812
24714
|
if (day.date === departTimestamp || day.date === returnTimestamp) {
|
|
24813
24715
|
this.selected = true;
|
|
@@ -24891,33 +24793,27 @@ class AuroCalendarCell extends i$2 {
|
|
|
24891
24793
|
return false;
|
|
24892
24794
|
}
|
|
24893
24795
|
|
|
24894
|
-
//
|
|
24895
|
-
|
|
24896
|
-
|
|
24897
|
-
|
|
24898
|
-
|
|
24899
|
-
|
|
24796
|
+
// Check against disabledDays timestamps (legacy path)
|
|
24797
|
+
if (Array.isArray(this.disabledDays) && this.disabledDays.length > 0 &&
|
|
24798
|
+
(this.disabledDays.findIndex(dd => parseInt(dd, 10) === this.day.date) !== -1)) {
|
|
24799
|
+
return true;
|
|
24800
|
+
}
|
|
24801
|
+
|
|
24802
|
+
// Check against blackoutDates (ISO format YYYY-MM-DD) on the datepicker
|
|
24803
|
+
const blackoutDates = this.datepicker?.blackoutDates;
|
|
24804
|
+
|
|
24805
|
+
if (Array.isArray(blackoutDates) && blackoutDates.length > 0) {
|
|
24806
|
+
const date = new Date(this.day.date * 1000);
|
|
24807
|
+
const yyyy = date.getFullYear();
|
|
24808
|
+
const mm = String(date.getMonth() + 1).padStart(2, '0');
|
|
24809
|
+
const dd = String(date.getDate()).padStart(2, '0');
|
|
24810
|
+
const cellDate = `${yyyy}-${mm}-${dd}`;
|
|
24811
|
+
if (blackoutDates.includes(cellDate)) {
|
|
24900
24812
|
return true;
|
|
24901
24813
|
}
|
|
24902
|
-
// If the cell's local disabledDays diverged from the calendar's (a
|
|
24903
|
-
// consumer or test mutated cell.disabledDays directly), the Set does
|
|
24904
|
-
// not reflect that addition — fall through to the per-cell scan only
|
|
24905
|
-
// when the reference no longer matches. Production data flow keeps
|
|
24906
|
-
// these identical, so this branch stays cold. Guarded with
|
|
24907
|
-
// Array.isArray to match `_getBlackoutSet`'s contract: non-array
|
|
24908
|
-
// values are treated as empty rather than crashing on `.findIndex`.
|
|
24909
|
-
if (Array.isArray(this.disabledDays) && this.disabledDays !== this.calendar.disabledDays && this.disabledDays.length > 0) {
|
|
24910
|
-
if (this.disabledDays.findIndex((dd) => parseInt(dd, 10) === this.day.date) !== -1) {
|
|
24911
|
-
return true;
|
|
24912
|
-
}
|
|
24913
|
-
}
|
|
24914
|
-
return false;
|
|
24915
24814
|
}
|
|
24916
24815
|
|
|
24917
|
-
|
|
24918
|
-
// ancestor calendar is wired up. Routes through the shared
|
|
24919
|
-
// blackoutUtils helper so the parsing rules stay in one place.
|
|
24920
|
-
return isBlackoutTimestamp(this.day.date, this.disabledDays, this.datepicker?.blackoutDates);
|
|
24816
|
+
return false;
|
|
24921
24817
|
}
|
|
24922
24818
|
|
|
24923
24819
|
/**
|
|
@@ -25023,12 +24919,12 @@ class AuroCalendarCell extends i$2 {
|
|
|
25023
24919
|
const parsedDateFrom = Number.parseInt(this.dateFrom, 10);
|
|
25024
24920
|
if (!Number.isFinite(parsedDateFrom)) return null;
|
|
25025
24921
|
|
|
25026
|
-
const departTimestamp =
|
|
24922
|
+
const departTimestamp = startOfDay$1(parsedDateFrom * 1000) / 1000;
|
|
25027
24923
|
const dayDate = this.day.date;
|
|
25028
24924
|
|
|
25029
24925
|
const parsedDateTo = Number.parseInt(this.dateTo, 10);
|
|
25030
24926
|
const hasDateTo = Number.isFinite(parsedDateTo);
|
|
25031
|
-
const returnTimestamp = hasDateTo ?
|
|
24927
|
+
const returnTimestamp = hasDateTo ? startOfDay$1(parsedDateTo * 1000) / 1000 : null;
|
|
25032
24928
|
|
|
25033
24929
|
if (dayDate === departTimestamp) return this.datepicker.rangeLabelStart || 'range start';
|
|
25034
24930
|
|
|
@@ -25038,9 +24934,7 @@ class AuroCalendarCell extends i$2 {
|
|
|
25038
24934
|
|
|
25039
24935
|
if (hasDateTo && dayDate > departTimestamp && dayDate < returnTimestamp) return this.datepicker.rangeLabelInRange || 'in range';
|
|
25040
24936
|
|
|
25041
|
-
|
|
25042
|
-
|
|
25043
|
-
// After end date when both dateFrom and dateTo are set.
|
|
24937
|
+
// After start date, no end date yet, or after end date
|
|
25044
24938
|
return this.datepicker.rangeLabelAfterRange || 'after range';
|
|
25045
24939
|
}
|
|
25046
24940
|
|
|
@@ -25053,7 +24947,7 @@ class AuroCalendarCell extends i$2 {
|
|
|
25053
24947
|
*/
|
|
25054
24948
|
isDepartDate(day, dateFrom) {
|
|
25055
24949
|
const parsedDateFrom = parseInt(dateFrom, 10);
|
|
25056
|
-
const departTimestamp =
|
|
24950
|
+
const departTimestamp = startOfDay$1(parsedDateFrom * 1000) / 1000;
|
|
25057
24951
|
|
|
25058
24952
|
return this.selected && day.date === departTimestamp;
|
|
25059
24953
|
}
|
|
@@ -25068,7 +24962,7 @@ class AuroCalendarCell extends i$2 {
|
|
|
25068
24962
|
*/
|
|
25069
24963
|
isReturnDate(day, dateFrom, dateTo) {
|
|
25070
24964
|
const parsedDateTo = parseInt(dateTo, 10);
|
|
25071
|
-
const returnTimestamp =
|
|
24965
|
+
const returnTimestamp = startOfDay$1(parsedDateTo * 1000) / 1000;
|
|
25072
24966
|
|
|
25073
24967
|
return this.selected && day.date === returnTimestamp && dateFrom;
|
|
25074
24968
|
}
|
|
@@ -25232,7 +25126,6 @@ class AuroCalendarCell extends i$2 {
|
|
|
25232
25126
|
setTimeout(() => this.firstUpdated(), 0);
|
|
25233
25127
|
return;
|
|
25234
25128
|
}
|
|
25235
|
-
this.calendar = calendar;
|
|
25236
25129
|
this.datepicker = calendar.datepicker;
|
|
25237
25130
|
this._slotContentHandler = () => {
|
|
25238
25131
|
this.handleSlotContent();
|
|
@@ -25290,13 +25183,12 @@ class AuroCalendarCell extends i$2 {
|
|
|
25290
25183
|
this._cachedButton = this.shadowRoot.querySelector('button.day');
|
|
25291
25184
|
});
|
|
25292
25185
|
|
|
25293
|
-
//
|
|
25186
|
+
// Update host-level aria attributes for ariaActiveDescendantElement.
|
|
25294
25187
|
this.updateHostAria();
|
|
25295
25188
|
}
|
|
25296
25189
|
|
|
25297
25190
|
// Update host aria when selection changes (aria-selected, range labels)
|
|
25298
|
-
|
|
25299
|
-
if (properties.has('dateFrom') || properties.has('dateTo') || properties.has('selected') || properties.has('isCurrentDate')) {
|
|
25191
|
+
if (properties.has('dateFrom') || properties.has('dateTo') || properties.has('selected')) {
|
|
25300
25192
|
this.updateHostAria();
|
|
25301
25193
|
}
|
|
25302
25194
|
|
|
@@ -25307,8 +25199,8 @@ class AuroCalendarCell extends i$2 {
|
|
|
25307
25199
|
}
|
|
25308
25200
|
|
|
25309
25201
|
/**
|
|
25310
|
-
*
|
|
25311
|
-
*
|
|
25202
|
+
* Updates ARIA attributes on the host element so that
|
|
25203
|
+
* ariaActiveDescendantElement can expose cell info to the SR.
|
|
25312
25204
|
* @private
|
|
25313
25205
|
* @returns {void}
|
|
25314
25206
|
*/
|
|
@@ -25317,27 +25209,16 @@ class AuroCalendarCell extends i$2 {
|
|
|
25317
25209
|
|
|
25318
25210
|
const outOfRange = this.isOutOfRange(this.day, this.min, this.max);
|
|
25319
25211
|
if (outOfRange) {
|
|
25320
|
-
// Strip every aria attribute the in-range branch may have set on a
|
|
25321
|
-
// previous render — if a cell flips from in-range to out-of-range
|
|
25322
|
-
// (calendar shifts months, minDate/maxDate change, etc.).
|
|
25323
25212
|
this.removeAttribute('role');
|
|
25324
25213
|
this.removeAttribute('aria-label');
|
|
25325
|
-
this.removeAttribute('aria-current');
|
|
25326
|
-
this.removeAttribute('aria-selected');
|
|
25327
|
-
this.removeAttribute('aria-disabled');
|
|
25328
25214
|
return;
|
|
25329
25215
|
}
|
|
25330
25216
|
|
|
25217
|
+
// The host acts as the gridcell for ariaActiveDescendantElement.
|
|
25331
25218
|
this.setAttribute('role', 'gridcell');
|
|
25332
25219
|
this.setAttribute('aria-label', this.getAriaLabel());
|
|
25333
25220
|
this.setAttribute('aria-selected', this.selected ? 'true' : 'false');
|
|
25334
25221
|
|
|
25335
|
-
if (this.isCurrentDate) {
|
|
25336
|
-
this.setAttribute('aria-current', 'date');
|
|
25337
|
-
} else {
|
|
25338
|
-
this.removeAttribute('aria-current');
|
|
25339
|
-
}
|
|
25340
|
-
|
|
25341
25222
|
if (this.isBlackout()) {
|
|
25342
25223
|
this.setAttribute('aria-disabled', 'true');
|
|
25343
25224
|
} else {
|
|
@@ -25352,7 +25233,7 @@ class AuroCalendarCell extends i$2 {
|
|
|
25352
25233
|
* @returns {void}
|
|
25353
25234
|
*/
|
|
25354
25235
|
focusButton() {
|
|
25355
|
-
const button = this._cachedButton || this.shadowRoot.querySelector('button:not([
|
|
25236
|
+
const button = this._cachedButton || this.shadowRoot.querySelector('button:not([aria-hidden])');
|
|
25356
25237
|
if (button) {
|
|
25357
25238
|
button.focus({ focusVisible: true });
|
|
25358
25239
|
}
|
|
@@ -25360,9 +25241,7 @@ class AuroCalendarCell extends i$2 {
|
|
|
25360
25241
|
|
|
25361
25242
|
/**
|
|
25362
25243
|
* Imperatively marks this cell as active without triggering a Lit re-render.
|
|
25363
|
-
*
|
|
25364
|
-
* arrow keys move the active cell imperatively and the live region carries
|
|
25365
|
-
* the SR announcement.
|
|
25244
|
+
* Note: buttons stay tabindex="-1" because the grid uses aria-activedescendant.
|
|
25366
25245
|
* @returns {void}
|
|
25367
25246
|
*/
|
|
25368
25247
|
setActive() {
|
|
@@ -25404,13 +25283,10 @@ class AuroCalendarCell extends i$2 {
|
|
|
25404
25283
|
if (!btn || !this.day) return;
|
|
25405
25284
|
|
|
25406
25285
|
const dayDate = this.day.date;
|
|
25407
|
-
const departTimestamp =
|
|
25286
|
+
const departTimestamp = startOfDay$1(dateFrom * 1000) / 1000;
|
|
25408
25287
|
const isInRange = dayDate > departTimestamp && dayDate < hoveredDate;
|
|
25409
|
-
|
|
25410
|
-
|
|
25411
|
-
// rangeDepartDate and lastHoveredDate.
|
|
25412
|
-
const isLastHovered = dayDate === hoveredDate && hoveredDate >= departTimestamp;
|
|
25413
|
-
const isDepartWithPreview = dayDate === departTimestamp && hoveredDate >= departTimestamp;
|
|
25288
|
+
const isLastHovered = dayDate === hoveredDate && hoveredDate > departTimestamp;
|
|
25289
|
+
const isDepartWithPreview = dayDate === departTimestamp && hoveredDate > departTimestamp;
|
|
25414
25290
|
|
|
25415
25291
|
btn.classList.toggle('inRange', isInRange);
|
|
25416
25292
|
btn.classList.toggle('lastHoveredDate', isLastHovered);
|
|
@@ -25468,6 +25344,7 @@ class AuroCalendarCell extends i$2 {
|
|
|
25468
25344
|
@focus="${outOfRange ? undefined : this.handleFocus}"
|
|
25469
25345
|
class="${e$2(buttonClasses)}"
|
|
25470
25346
|
?disabled="${outOfRange}"
|
|
25347
|
+
aria-hidden="${outOfRange ? 'true' : A$7}"
|
|
25471
25348
|
tabindex="-1">
|
|
25472
25349
|
<div class="buttonWrapper" aria-hidden="true">
|
|
25473
25350
|
<div class="currentDayMarker">${this.day?.title || A$7}</div>
|
|
@@ -26573,7 +26450,7 @@ let AuroBibtemplate$3 = class AuroBibtemplate extends i$2 {
|
|
|
26573
26450
|
}
|
|
26574
26451
|
};
|
|
26575
26452
|
|
|
26576
|
-
var formkitVersion$2$1 = '
|
|
26453
|
+
var formkitVersion$2$1 = '202606252142';
|
|
26577
26454
|
|
|
26578
26455
|
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$5`${s$5(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$4`: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}
|
|
26579
26456
|
`,u$4$2=i$4`.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}}
|
|
@@ -26696,11 +26573,7 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
26696
26573
|
this.calendarRangeMonths = null;
|
|
26697
26574
|
|
|
26698
26575
|
/**
|
|
26699
|
-
*
|
|
26700
|
-
* `YYYY-MM-DD` ISO strings) instead. This legacy array of Unix
|
|
26701
|
-
* timestamps is still honored for backward compatibility but emits a
|
|
26702
|
-
* one-time `console.debug` the first time a non-empty value is observed.
|
|
26703
|
-
* Support will be removed in a future major release.
|
|
26576
|
+
* Legacy array of disabled-date timestamps.
|
|
26704
26577
|
* @private
|
|
26705
26578
|
*/
|
|
26706
26579
|
this.disabledDays = [];
|
|
@@ -26957,44 +26830,17 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
26957
26830
|
* @returns {void}
|
|
26958
26831
|
*/
|
|
26959
26832
|
updateActiveCellForVisibleMonth() {
|
|
26960
|
-
|
|
26961
|
-
|
|
26962
|
-
|
|
26963
|
-
if (newDate !== null && newDate !== undefined) {
|
|
26964
|
-
this.activeCellDate = newDate;
|
|
26965
|
-
this.setActiveCell(this.activeCellDate);
|
|
26966
|
-
}
|
|
26967
|
-
});
|
|
26968
|
-
}
|
|
26969
|
-
|
|
26970
|
-
/**
|
|
26971
|
-
* Schedules `callback` two animation frames out, giving the child
|
|
26972
|
-
* `auro-formkit-calendar-month` and `auro-formkit-calendar-cell` elements
|
|
26973
|
-
* a full render-and-paint cycle to settle before the callback reads or
|
|
26974
|
-
* mutates DOM.
|
|
26975
|
-
*
|
|
26976
|
-
* Why two frames, not one:
|
|
26977
|
-
* 1. Lit batches property updates and renders in a microtask, so frame N
|
|
26978
|
-
* schedules the render but the new DOM may not be painted yet.
|
|
26979
|
-
* 2. Cells re-cache `_cachedButton` inside their own `updateComplete.then`,
|
|
26980
|
-
* which also lands a tick later. Reading buttons from frame N+1
|
|
26981
|
-
* (after both renders + cache refresh have flushed) reliably hits the
|
|
26982
|
-
* new month's cells.
|
|
26983
|
-
*
|
|
26984
|
-
* Used by every code path that calls `handleNextMonth`/`handlePrevMonth`
|
|
26985
|
-
* and then needs to inspect the freshly-rendered cells (cross-month
|
|
26986
|
-
* keyboard nav, boundary events, `updateActiveCellForVisibleMonth`).
|
|
26987
|
-
* Do NOT collapse to a single rAF — it intermittently lands before
|
|
26988
|
-
* `_cachedButton` is refreshed, which silently breaks focus restoration
|
|
26989
|
-
* and `setActiveCell` lookups.
|
|
26990
|
-
* @private
|
|
26991
|
-
* @param {() => void} callback - Runs once after the month re-render and
|
|
26992
|
-
* the cells' button caches have refreshed.
|
|
26993
|
-
* @returns {void}
|
|
26994
|
-
*/
|
|
26995
|
-
_afterMonthRender(callback) {
|
|
26833
|
+
// Use double-rAF to ensure child month/cell components have fully
|
|
26834
|
+
// rendered and cached their button references before we set tabindex.
|
|
26996
26835
|
requestAnimationFrame(() => {
|
|
26997
|
-
requestAnimationFrame(
|
|
26836
|
+
requestAnimationFrame(() => {
|
|
26837
|
+
const newDate = this.computeActiveDate({ skipDateFrom: true });
|
|
26838
|
+
|
|
26839
|
+
if (newDate !== null && newDate !== undefined) {
|
|
26840
|
+
this.activeCellDate = newDate;
|
|
26841
|
+
this.setActiveCell(this.activeCellDate);
|
|
26842
|
+
}
|
|
26843
|
+
});
|
|
26998
26844
|
});
|
|
26999
26845
|
}
|
|
27000
26846
|
|
|
@@ -27112,47 +26958,6 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
27112
26958
|
return Array.from(this.shadowRoot.querySelectorAll('auro-formkit-calendar-month'));
|
|
27113
26959
|
}
|
|
27114
26960
|
|
|
27115
|
-
/**
|
|
27116
|
-
* Picks the focusable cell whose date is closest to targetTs. Used as a
|
|
27117
|
-
* fallback after a month-boundary nav when the exact target date isn't
|
|
27118
|
-
* focusable — typically because the month re-render lagged or the date
|
|
27119
|
-
* was filtered out by isOutOfRange. When two cells are equidistant, the
|
|
27120
|
-
* navigation direction breaks the tie so the user moves the way they
|
|
27121
|
-
* pressed (forward → later cell, backward → earlier cell).
|
|
27122
|
-
* @private
|
|
27123
|
-
* @param {Array} cells - Focusable cells from getAllFocusableCells.
|
|
27124
|
-
* @param {Number} targetTs - Desired Unix timestamp (seconds).
|
|
27125
|
-
* @param {'next'|'prev'} direction - Navigation direction.
|
|
27126
|
-
* @returns {Object|null} The nearest cell, or null when cells is empty.
|
|
27127
|
-
*/
|
|
27128
|
-
pickNearestCell(cells, targetTs, direction) {
|
|
27129
|
-
if (!cells.length) {
|
|
27130
|
-
return null;
|
|
27131
|
-
}
|
|
27132
|
-
const forward = direction === 'next';
|
|
27133
|
-
let best = null;
|
|
27134
|
-
let bestDelta = Infinity;
|
|
27135
|
-
cells.forEach((cell) => {
|
|
27136
|
-
if (!cell.day) {
|
|
27137
|
-
return;
|
|
27138
|
-
}
|
|
27139
|
-
const distance = Math.abs(cell.day.date - targetTs);
|
|
27140
|
-
if (distance < bestDelta) {
|
|
27141
|
-
best = cell;
|
|
27142
|
-
bestDelta = distance;
|
|
27143
|
-
return;
|
|
27144
|
-
}
|
|
27145
|
-
if (distance === bestDelta && best) {
|
|
27146
|
-
if (forward && cell.day.date > best.day.date) {
|
|
27147
|
-
best = cell;
|
|
27148
|
-
} else if (!forward && cell.day.date < best.day.date) {
|
|
27149
|
-
best = cell;
|
|
27150
|
-
}
|
|
27151
|
-
}
|
|
27152
|
-
});
|
|
27153
|
-
return best;
|
|
27154
|
-
}
|
|
27155
|
-
|
|
27156
26961
|
/**
|
|
27157
26962
|
* Gets all focusable cells across all rendered months.
|
|
27158
26963
|
* @private
|
|
@@ -27169,9 +26974,9 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
27169
26974
|
|
|
27170
26975
|
/**
|
|
27171
26976
|
* Sets the active cell across all months. Only one cell has tabindex="0" at a time.
|
|
27172
|
-
* Uses imperative DOM manipulation — no Lit re-render triggered.
|
|
27173
|
-
*
|
|
27174
|
-
*
|
|
26977
|
+
* Uses imperative DOM manipulation — no Lit re-render triggered.
|
|
26978
|
+
* Also updates ariaActiveDescendantElement on the grid wrapper so
|
|
26979
|
+
* screen readers announce the active cell without moving DOM focus.
|
|
27175
26980
|
* @param {Number} date - Unix timestamp of the cell to activate.
|
|
27176
26981
|
* @returns {void}
|
|
27177
26982
|
*/
|
|
@@ -27252,65 +27057,6 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
27252
27057
|
this.clearRangePreview();
|
|
27253
27058
|
}
|
|
27254
27059
|
|
|
27255
|
-
/**
|
|
27256
|
-
* Returns a memoized Set of blackout timestamps (seconds) drawn from both
|
|
27257
|
-
* the legacy `disabledDays` array and the datepicker's ISO `blackoutDates`.
|
|
27258
|
-
* The cache invalidates when either source array's reference changes, which
|
|
27259
|
-
* matches Lit's own reactive identity semantics for array properties.
|
|
27260
|
-
* @private
|
|
27261
|
-
* @returns {Set<Number>}
|
|
27262
|
-
*/
|
|
27263
|
-
_getBlackoutSet() {
|
|
27264
|
-
// Normalize non-array values to a stable `null` sentinel rather than a
|
|
27265
|
-
// fresh `[]` per call — otherwise the reference-identity cache key
|
|
27266
|
-
// (`_cachedBlackoutDisabledDays === disabledDays`) never matches on
|
|
27267
|
-
// subsequent calls and the Set rebuilds every time. `buildBlackoutSet`
|
|
27268
|
-
// already treats null/non-array as "no legacy disabledDays" via its
|
|
27269
|
-
// own Array.isArray gate.
|
|
27270
|
-
const disabledDays = Array.isArray(this.disabledDays) ? this.disabledDays : null;
|
|
27271
|
-
const blackoutDates = this.datepicker?.blackoutDates;
|
|
27272
|
-
if (this._blackoutSet &&
|
|
27273
|
-
this._cachedBlackoutDisabledDays === disabledDays &&
|
|
27274
|
-
this._cachedBlackoutDates === blackoutDates) {
|
|
27275
|
-
return this._blackoutSet;
|
|
27276
|
-
}
|
|
27277
|
-
|
|
27278
|
-
if (disabledDays && disabledDays.length > 0) {
|
|
27279
|
-
this._warnDisabledDaysDeprecated();
|
|
27280
|
-
}
|
|
27281
|
-
|
|
27282
|
-
this._blackoutSet = buildBlackoutSet(disabledDays, blackoutDates);
|
|
27283
|
-
this._cachedBlackoutDisabledDays = disabledDays;
|
|
27284
|
-
this._cachedBlackoutDates = blackoutDates;
|
|
27285
|
-
return this._blackoutSet;
|
|
27286
|
-
}
|
|
27287
|
-
|
|
27288
|
-
/**
|
|
27289
|
-
* Per-class flag that gates the `disabledDays` deprecation warning so it
|
|
27290
|
-
* fires exactly once per page no matter how many calendars or rebuild
|
|
27291
|
-
* cycles encounter the legacy array.
|
|
27292
|
-
* @private
|
|
27293
|
-
*/
|
|
27294
|
-
static _warnedDisabledDaysDeprecation = false;
|
|
27295
|
-
|
|
27296
|
-
/**
|
|
27297
|
-
* One-time `console.debug` directing consumers from the legacy
|
|
27298
|
-
* `disabledDays` Unix-timestamp API to the ISO `blackoutDates` API. Fires
|
|
27299
|
-
* the first time `_getBlackoutSet` rebuilds from a non-empty
|
|
27300
|
-
* `disabledDays`; subsequent calls (on this or any other AuroCalendar
|
|
27301
|
-
* instance on the page) are silent.
|
|
27302
|
-
* @private
|
|
27303
|
-
* @returns {void}
|
|
27304
|
-
*/
|
|
27305
|
-
_warnDisabledDaysDeprecated() {
|
|
27306
|
-
if (AuroCalendar._warnedDisabledDaysDeprecation) {
|
|
27307
|
-
return;
|
|
27308
|
-
}
|
|
27309
|
-
AuroCalendar._warnedDisabledDaysDeprecation = true;
|
|
27310
|
-
// eslint-disable-next-line no-console
|
|
27311
|
-
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.');
|
|
27312
|
-
}
|
|
27313
|
-
|
|
27314
27060
|
/**
|
|
27315
27061
|
* Computes the initial active date from data properties alone — no DOM required.
|
|
27316
27062
|
* Priority:
|
|
@@ -27355,10 +27101,21 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
27355
27101
|
const minTs = Number.isFinite(rawMin) ? rawMin : -Infinity;
|
|
27356
27102
|
const maxTs = Number.isFinite(rawMax) ? rawMax : Infinity;
|
|
27357
27103
|
|
|
27358
|
-
// Build a Set of blackout timestamps for O(1) lookup.
|
|
27359
|
-
|
|
27360
|
-
|
|
27361
|
-
|
|
27104
|
+
// Build a Set of blackout timestamps for O(1) lookup.
|
|
27105
|
+
const blackoutSet = new Set(this.disabledDays.map((day) => parseInt(day, 10)));
|
|
27106
|
+
|
|
27107
|
+
// Also include ISO-format blackoutDates from the datepicker if available.
|
|
27108
|
+
// Parse YYYY-MM-DD as local date to avoid UTC shift issues.
|
|
27109
|
+
const isoBlackouts = this.datepicker?.blackoutDates;
|
|
27110
|
+
if (Array.isArray(isoBlackouts)) {
|
|
27111
|
+
for (const isoStr of isoBlackouts) {
|
|
27112
|
+
const parts = isoStr.split('-');
|
|
27113
|
+
const ts = Math.floor(new Date(parseInt(parts[0], 10), parseInt(parts[1], 10) - 1, parseInt(parts[2], 10)).getTime() / 1000);
|
|
27114
|
+
if (Number.isFinite(ts)) {
|
|
27115
|
+
blackoutSet.add(ts);
|
|
27116
|
+
}
|
|
27117
|
+
}
|
|
27118
|
+
}
|
|
27362
27119
|
|
|
27363
27120
|
/**
|
|
27364
27121
|
* A date (unix timestamp in seconds, midnight-aligned) is "enabled" when
|
|
@@ -27554,8 +27311,8 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
27554
27311
|
|
|
27555
27312
|
/**
|
|
27556
27313
|
* Handles arrow key navigation on the calendar grid wrapper.
|
|
27557
|
-
* Focus stays on the grid wrapper; only
|
|
27558
|
-
*
|
|
27314
|
+
* Focus stays on the grid wrapper; only ariaActiveDescendantElement
|
|
27315
|
+
* and the visual active-cell indicator change.
|
|
27559
27316
|
* @private
|
|
27560
27317
|
* @param {KeyboardEvent} event - The keyboard event.
|
|
27561
27318
|
* @returns {void}
|
|
@@ -27620,21 +27377,21 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
27620
27377
|
} else {
|
|
27621
27378
|
this.handlePrevMonth({ skipActiveUpdate: true });
|
|
27622
27379
|
}
|
|
27623
|
-
|
|
27624
|
-
|
|
27625
|
-
|
|
27626
|
-
|
|
27627
|
-
|
|
27628
|
-
|
|
27629
|
-
|
|
27630
|
-
|
|
27631
|
-
|
|
27380
|
+
requestAnimationFrame(() => {
|
|
27381
|
+
requestAnimationFrame(() => {
|
|
27382
|
+
const cells = this.getAllFocusableCells();
|
|
27383
|
+
const target = cells.find((cell) => cell.day && cell.day.date === targetTs);
|
|
27384
|
+
if (target) {
|
|
27385
|
+
this.setActiveCell(target.day.date);
|
|
27386
|
+
this.handleCellFocused({ detail: { date: target.day.date } });
|
|
27387
|
+
} else if (cells.length > 0) {
|
|
27388
|
+
const fallback = navDir === 'next' ? cells[cells.length - 1] : cells[0];
|
|
27632
27389
|
this.setActiveCell(fallback.day.date);
|
|
27633
27390
|
this.handleCellFocused({ detail: { date: fallback.day.date } });
|
|
27634
27391
|
}
|
|
27635
|
-
|
|
27636
|
-
|
|
27637
|
-
|
|
27392
|
+
// Re-focus grid wrapper after month change re-render
|
|
27393
|
+
this.focusActiveCell();
|
|
27394
|
+
});
|
|
27638
27395
|
});
|
|
27639
27396
|
}
|
|
27640
27397
|
}
|
|
@@ -27660,20 +27417,26 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
27660
27417
|
} else {
|
|
27661
27418
|
this.handlePrevMonth({ skipActiveUpdate: true });
|
|
27662
27419
|
}
|
|
27663
|
-
|
|
27664
|
-
|
|
27665
|
-
|
|
27666
|
-
|
|
27667
|
-
|
|
27668
|
-
|
|
27669
|
-
|
|
27670
|
-
|
|
27671
|
-
|
|
27420
|
+
requestAnimationFrame(() => {
|
|
27421
|
+
requestAnimationFrame(() => {
|
|
27422
|
+
const cells = this.getAllFocusableCells();
|
|
27423
|
+
const target = cells.find((cell) => cell.day && cell.day.date === targetDate);
|
|
27424
|
+
if (target) {
|
|
27425
|
+
this.setActiveCell(target.day.date);
|
|
27426
|
+
this.handleCellFocused({ detail: { date: target.day.date } });
|
|
27427
|
+
} else if (cells.length > 0) {
|
|
27428
|
+
let nearest = null;
|
|
27429
|
+
|
|
27430
|
+
if (navDirection === 'next') {
|
|
27431
|
+
[nearest] = cells;
|
|
27432
|
+
} else {
|
|
27433
|
+
nearest = cells[cells.length - 1];
|
|
27434
|
+
}
|
|
27672
27435
|
this.setActiveCell(nearest.day.date);
|
|
27673
27436
|
this.handleCellFocused({ detail: { date: nearest.day.date } });
|
|
27674
27437
|
}
|
|
27675
|
-
|
|
27676
|
-
|
|
27438
|
+
this.focusActiveCell();
|
|
27439
|
+
});
|
|
27677
27440
|
});
|
|
27678
27441
|
}
|
|
27679
27442
|
}
|
|
@@ -27723,17 +27486,19 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
27723
27486
|
}
|
|
27724
27487
|
|
|
27725
27488
|
this.handleNextMonth({ skipActiveUpdate: true });
|
|
27726
|
-
|
|
27727
|
-
|
|
27728
|
-
|
|
27729
|
-
|
|
27730
|
-
|
|
27731
|
-
|
|
27732
|
-
|
|
27733
|
-
|
|
27734
|
-
|
|
27735
|
-
|
|
27736
|
-
|
|
27489
|
+
requestAnimationFrame(() => {
|
|
27490
|
+
requestAnimationFrame(() => {
|
|
27491
|
+
const cells = this.getAllFocusableCells();
|
|
27492
|
+
const target = cells.find((cell) => cell.day && cell.day.date === nextTs);
|
|
27493
|
+
if (target) {
|
|
27494
|
+
this.setActiveCell(target.day.date);
|
|
27495
|
+
this.focusActiveCell();
|
|
27496
|
+
} else if (cells.length > 0) {
|
|
27497
|
+
// Fallback: first cell of the last rendered month
|
|
27498
|
+
this.setActiveCell(cells[cells.length - 1].day.date);
|
|
27499
|
+
this.focusActiveCell();
|
|
27500
|
+
}
|
|
27501
|
+
});
|
|
27737
27502
|
});
|
|
27738
27503
|
} else if (direction === 'prev' && this.showPrevMonthBtn) {
|
|
27739
27504
|
// Navigate to previous month and focus the computed previous date.
|
|
@@ -27747,17 +27512,19 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
27747
27512
|
}
|
|
27748
27513
|
|
|
27749
27514
|
this.handlePrevMonth({ skipActiveUpdate: true });
|
|
27750
|
-
|
|
27751
|
-
|
|
27752
|
-
|
|
27753
|
-
|
|
27754
|
-
|
|
27755
|
-
|
|
27756
|
-
|
|
27757
|
-
|
|
27758
|
-
|
|
27759
|
-
|
|
27760
|
-
|
|
27515
|
+
requestAnimationFrame(() => {
|
|
27516
|
+
requestAnimationFrame(() => {
|
|
27517
|
+
const cells = this.getAllFocusableCells();
|
|
27518
|
+
const target = cells.find((cell) => cell.day && cell.day.date === prevTs);
|
|
27519
|
+
if (target) {
|
|
27520
|
+
this.setActiveCell(target.day.date);
|
|
27521
|
+
this.focusActiveCell();
|
|
27522
|
+
} else if (cells.length > 0) {
|
|
27523
|
+
// Fallback: last cell of the first rendered month
|
|
27524
|
+
this.setActiveCell(cells[0].day.date);
|
|
27525
|
+
this.focusActiveCell();
|
|
27526
|
+
}
|
|
27527
|
+
});
|
|
27761
27528
|
});
|
|
27762
27529
|
}
|
|
27763
27530
|
} else if (key === 'ArrowDown' || key === 'ArrowUp') {
|
|
@@ -27785,18 +27552,20 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
27785
27552
|
} else {
|
|
27786
27553
|
this.handlePrevMonth({ skipActiveUpdate: true });
|
|
27787
27554
|
}
|
|
27788
|
-
|
|
27789
|
-
|
|
27790
|
-
|
|
27791
|
-
|
|
27792
|
-
|
|
27793
|
-
|
|
27794
|
-
|
|
27795
|
-
|
|
27796
|
-
|
|
27797
|
-
|
|
27798
|
-
|
|
27799
|
-
|
|
27555
|
+
requestAnimationFrame(() => {
|
|
27556
|
+
requestAnimationFrame(() => {
|
|
27557
|
+
const cells = this.getAllFocusableCells();
|
|
27558
|
+
const target = cells.find((cell) => cell.day && cell.day.date === targetDate);
|
|
27559
|
+
if (target) {
|
|
27560
|
+
this.setActiveCell(target.day.date);
|
|
27561
|
+
this.focusActiveCell();
|
|
27562
|
+
} else if (cells.length > 0) {
|
|
27563
|
+
// Clamp to nearest focusable cell
|
|
27564
|
+
const nearest = navDirection === 'next' ? cells[0] : cells[cells.length - 1];
|
|
27565
|
+
this.setActiveCell(nearest.day.date);
|
|
27566
|
+
this.focusActiveCell();
|
|
27567
|
+
}
|
|
27568
|
+
});
|
|
27800
27569
|
});
|
|
27801
27570
|
}
|
|
27802
27571
|
}
|
|
@@ -27835,9 +27604,8 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
27835
27604
|
return;
|
|
27836
27605
|
}
|
|
27837
27606
|
|
|
27838
|
-
//
|
|
27839
|
-
//
|
|
27840
|
-
// region carries the full-context announcement instead.
|
|
27607
|
+
// With aria-activedescendant, the button no longer receives native focus,
|
|
27608
|
+
// so we use the debounced live region for the full context announcement.
|
|
27841
27609
|
const announcement = this.buildFocusAnnouncement(date);
|
|
27842
27610
|
this.announceFocusDebounced(announcement);
|
|
27843
27611
|
|
|
@@ -27907,10 +27675,10 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
27907
27675
|
return null;
|
|
27908
27676
|
}
|
|
27909
27677
|
|
|
27910
|
-
const departTs =
|
|
27678
|
+
const departTs = startOfDay$2(parsedFrom * 1000) / 1000;
|
|
27911
27679
|
const parsedTo = Number.parseInt(this.dateTo, 10);
|
|
27912
27680
|
const hasTo = Number.isFinite(parsedTo);
|
|
27913
|
-
const returnTs = hasTo ?
|
|
27681
|
+
const returnTs = hasTo ? startOfDay$2(parsedTo * 1000) / 1000 : null;
|
|
27914
27682
|
|
|
27915
27683
|
if (date === departTs) {
|
|
27916
27684
|
return this.datepicker.rangeLabelStart || 'range start';
|
|
@@ -27924,22 +27692,36 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
27924
27692
|
if (hasTo && date > departTs && date < returnTs) {
|
|
27925
27693
|
return this.datepicker.rangeLabelInRange || 'in range';
|
|
27926
27694
|
}
|
|
27927
|
-
if (!hasTo && date > departTs) {
|
|
27928
|
-
return this.datepicker.rangeLabelEndPreview || 'previewing range end';
|
|
27929
|
-
}
|
|
27930
27695
|
return this.datepicker.rangeLabelAfterRange || 'after range';
|
|
27931
27696
|
}
|
|
27932
27697
|
|
|
27933
27698
|
/**
|
|
27934
|
-
* Checks whether a given date is a blackout date.
|
|
27935
|
-
* memoized `_getBlackoutSet` so the YYYY-MM-DD parsing and the
|
|
27936
|
-
* legacy/ISO merge rules live in exactly one place (see `blackoutUtils.js`).
|
|
27699
|
+
* Checks whether a given date is a blackout date.
|
|
27937
27700
|
* @private
|
|
27938
27701
|
* @param {Number} dateTs - Unix timestamp (seconds).
|
|
27939
27702
|
* @returns {Boolean} True if the date is blacked out.
|
|
27940
27703
|
*/
|
|
27941
27704
|
isDateBlackout(dateTs) {
|
|
27942
|
-
|
|
27705
|
+
// Check legacy disabledDays.
|
|
27706
|
+
if (Array.isArray(this.disabledDays) && this.disabledDays.length > 0) {
|
|
27707
|
+
if (this.disabledDays.findIndex((day) => parseInt(day, 10) === dateTs) !== -1) {
|
|
27708
|
+
return true;
|
|
27709
|
+
}
|
|
27710
|
+
}
|
|
27711
|
+
|
|
27712
|
+
// Check ISO blackoutDates.
|
|
27713
|
+
const blackoutDates = this.datepicker?.blackoutDates;
|
|
27714
|
+
if (Array.isArray(blackoutDates) && blackoutDates.length > 0) {
|
|
27715
|
+
const date = new Date(dateTs * 1000);
|
|
27716
|
+
const yyyy = date.getFullYear();
|
|
27717
|
+
const mm = String(date.getMonth() + 1).padStart(2, '0');
|
|
27718
|
+
const dd = String(date.getDate()).padStart(2, '0');
|
|
27719
|
+
if (blackoutDates.includes(`${yyyy}-${mm}-${dd}`)) {
|
|
27720
|
+
return true;
|
|
27721
|
+
}
|
|
27722
|
+
}
|
|
27723
|
+
|
|
27724
|
+
return false;
|
|
27943
27725
|
}
|
|
27944
27726
|
|
|
27945
27727
|
/**
|
|
@@ -28106,34 +27888,9 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
28106
27888
|
// the last one.
|
|
28107
27889
|
if (this._announceRafId) {
|
|
28108
27890
|
cancelAnimationFrame(this._announceRafId);
|
|
28109
|
-
this._announceRafId = null;
|
|
28110
27891
|
}
|
|
28111
|
-
this._deliverAnnouncement(dateStr, 0);
|
|
28112
|
-
}
|
|
28113
|
-
|
|
28114
|
-
/**
|
|
28115
|
-
* Writes `dateStr` to the live region. If the dropdown's dialog hasn't
|
|
28116
|
-
* mounted yet (so getOrCreateLiveRegion can't attach), retries on the
|
|
28117
|
-
* next animation frame up to MAX_LIVE_REGION_RETRIES instead of silently
|
|
28118
|
-
* dropping the announcement. The retry uses the same `_announceRafId`
|
|
28119
|
-
* the double-rAF below uses, so a newer announceSelection call (or
|
|
28120
|
-
* disconnectedCallback) cancels any in-flight retry.
|
|
28121
|
-
* @private
|
|
28122
|
-
* @param {String} dateStr - The localized date string to announce.
|
|
28123
|
-
* @param {Number} attempts - Number of prior retry attempts.
|
|
28124
|
-
* @returns {void}
|
|
28125
|
-
*/
|
|
28126
|
-
_deliverAnnouncement(dateStr, attempts) {
|
|
28127
27892
|
const liveRegion = this.getOrCreateLiveRegion();
|
|
28128
27893
|
if (!liveRegion) {
|
|
28129
|
-
const MAX_LIVE_REGION_RETRIES = 10;
|
|
28130
|
-
if (attempts < MAX_LIVE_REGION_RETRIES) {
|
|
28131
|
-
this._announceRafId = requestAnimationFrame(() => {
|
|
28132
|
-
this._deliverAnnouncement(dateStr, attempts + 1);
|
|
28133
|
-
});
|
|
28134
|
-
} else {
|
|
28135
|
-
this._announceRafId = null;
|
|
28136
|
-
}
|
|
28137
27894
|
return;
|
|
28138
27895
|
}
|
|
28139
27896
|
|
|
@@ -28319,7 +28076,7 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
28319
28076
|
</button>
|
|
28320
28077
|
` : undefined}
|
|
28321
28078
|
</div>
|
|
28322
|
-
<div id="calendarGrid" class="calendars" role="group"
|
|
28079
|
+
<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}">
|
|
28323
28080
|
${this.renderAllCalendars()}
|
|
28324
28081
|
</div>
|
|
28325
28082
|
</div>
|
|
@@ -32204,7 +31961,7 @@ let AuroHelpText$2$1 = class AuroHelpText extends i$2 {
|
|
|
32204
31961
|
}
|
|
32205
31962
|
};
|
|
32206
31963
|
|
|
32207
|
-
var formkitVersion$1$3 = '
|
|
31964
|
+
var formkitVersion$1$3 = '202606252142';
|
|
32208
31965
|
|
|
32209
31966
|
let AuroElement$2$2 = class AuroElement extends i$2 {
|
|
32210
31967
|
static get properties() {
|
|
@@ -33476,6 +33233,7 @@ let AuroDropdown$3 = class AuroDropdown extends AuroElement$2$2 {
|
|
|
33476
33233
|
role="${o$4(this.triggerContentFocusable ? undefined : this.a11yRole)}"
|
|
33477
33234
|
aria-expanded="${o$4(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : this.isPopoverVisible)}"
|
|
33478
33235
|
aria-controls="${o$4(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : this.dropdownId)}"
|
|
33236
|
+
aria-haspopup="${o$4(this.a11yRole === 'combobox' ? 'listbox' : undefined)}"
|
|
33479
33237
|
aria-labelledby="${o$4(this.triggerContentFocusable ? undefined : 'triggerLabel')}"
|
|
33480
33238
|
aria-disabled="${o$4(this.disabled ? 'true' : undefined)}"
|
|
33481
33239
|
@focusin="${this.handleFocusin}"
|
|
@@ -38601,7 +38359,7 @@ function normalizeDates$2(context, ...dates) {
|
|
|
38601
38359
|
* const result = startOfDay(new Date(2014, 8, 2, 11, 55, 0))
|
|
38602
38360
|
* //=> Tue Sep 02 2014 00:00:00
|
|
38603
38361
|
*/
|
|
38604
|
-
function startOfDay$
|
|
38362
|
+
function startOfDay$3(date, options) {
|
|
38605
38363
|
const _date = toDate$2(date, options?.in);
|
|
38606
38364
|
_date.setHours(0, 0, 0, 0);
|
|
38607
38365
|
return _date;
|
|
@@ -38649,8 +38407,8 @@ function differenceInCalendarDays$2(laterDate, earlierDate, options) {
|
|
|
38649
38407
|
earlierDate,
|
|
38650
38408
|
);
|
|
38651
38409
|
|
|
38652
|
-
const laterStartOfDay = startOfDay$
|
|
38653
|
-
const earlierStartOfDay = startOfDay$
|
|
38410
|
+
const laterStartOfDay = startOfDay$3(laterDate_);
|
|
38411
|
+
const earlierStartOfDay = startOfDay$3(earlierDate_);
|
|
38654
38412
|
|
|
38655
38413
|
const laterTimestamp =
|
|
38656
38414
|
+laterStartOfDay - getTimezoneOffsetInMilliseconds$2(laterStartOfDay);
|
|
@@ -45797,7 +45555,7 @@ let AuroHelpText$1$3 = class AuroHelpText extends i$2 {
|
|
|
45797
45555
|
}
|
|
45798
45556
|
};
|
|
45799
45557
|
|
|
45800
|
-
var formkitVersion$7 = '
|
|
45558
|
+
var formkitVersion$7 = '202606252142';
|
|
45801
45559
|
|
|
45802
45560
|
// Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
45803
45561
|
// See LICENSE in the project root for license information.
|
|
@@ -47274,7 +47032,6 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
47274
47032
|
this.rangeLabelBeforeRange = 'before range';
|
|
47275
47033
|
this.rangeLabelInRange = 'in range';
|
|
47276
47034
|
this.rangeLabelAfterRange = 'after range';
|
|
47277
|
-
this.rangeLabelEndPreview = 'previewing range end';
|
|
47278
47035
|
this.blackoutDates = [];
|
|
47279
47036
|
this.blackoutLabel = 'unavailable';
|
|
47280
47037
|
this.navLabelPrevMonth = 'Previous month';
|
|
@@ -47374,22 +47131,6 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
47374
47131
|
*/
|
|
47375
47132
|
this.handleClick = this.handleClick.bind(this);
|
|
47376
47133
|
|
|
47377
|
-
/**
|
|
47378
|
-
* Single AbortController shared by every listener registered in the
|
|
47379
|
-
* configure* methods. Lets disconnectedCallback tear all of them down
|
|
47380
|
-
* with one abort() call.
|
|
47381
|
-
*
|
|
47382
|
-
* The genuine leak risk is the listeners attached to children that can
|
|
47383
|
-
* outlive the host if they get reparented — `this.dropdown`,
|
|
47384
|
-
* `this.calendar`, and the inputs inside the dropdown's slot.
|
|
47385
|
-
* Listeners attached to `this` (e.g. focusin/focusout on the host)
|
|
47386
|
-
* form a self-contained reference graph that the GC can collect with
|
|
47387
|
-
* the host anyway, but they share the same signal so the cleanup
|
|
47388
|
-
* pattern stays uniform across all configure* sites.
|
|
47389
|
-
* @private
|
|
47390
|
-
*/
|
|
47391
|
-
this._listenerAbortController = new AbortController();
|
|
47392
|
-
|
|
47393
47134
|
/**
|
|
47394
47135
|
* @private
|
|
47395
47136
|
*/
|
|
@@ -47438,7 +47179,6 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
47438
47179
|
|
|
47439
47180
|
/**
|
|
47440
47181
|
* Label announced for blackout (disabled but in-range) date cells.
|
|
47441
|
-
* @default 'unavailable'
|
|
47442
47182
|
*/
|
|
47443
47183
|
blackoutLabel: {
|
|
47444
47184
|
type: String,
|
|
@@ -47455,7 +47195,6 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
47455
47195
|
|
|
47456
47196
|
/**
|
|
47457
47197
|
* Accessible label for the calendar grid containing the days of the month.
|
|
47458
|
-
* @default 'Calendar days of the month'
|
|
47459
47198
|
*/
|
|
47460
47199
|
calendarGridLabel: {
|
|
47461
47200
|
type: String,
|
|
@@ -47618,7 +47357,6 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
47618
47357
|
|
|
47619
47358
|
/**
|
|
47620
47359
|
* Accessible label for the next month navigation button.
|
|
47621
|
-
* @default 'Next month'
|
|
47622
47360
|
*/
|
|
47623
47361
|
navLabelNextMonth: {
|
|
47624
47362
|
type: String,
|
|
@@ -47627,7 +47365,6 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
47627
47365
|
|
|
47628
47366
|
/**
|
|
47629
47367
|
* Accessible label for the previous month navigation button.
|
|
47630
|
-
* @default 'Previous month'
|
|
47631
47368
|
*/
|
|
47632
47369
|
navLabelPrevMonth: {
|
|
47633
47370
|
type: String,
|
|
@@ -47705,11 +47442,7 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
47705
47442
|
},
|
|
47706
47443
|
|
|
47707
47444
|
/**
|
|
47708
|
-
* Label announced for cells after
|
|
47709
|
-
* `dateFrom` and `dateTo` are set). While a range is still being
|
|
47710
|
-
* picked (`dateFrom` set, `dateTo` unset), focused cells past the
|
|
47711
|
-
* start use `rangeLabelEndPreview` instead.
|
|
47712
|
-
* @default 'after range'
|
|
47445
|
+
* Label announced for cells after the range (or after start when no end is selected).
|
|
47713
47446
|
*/
|
|
47714
47447
|
rangeLabelAfterRange: {
|
|
47715
47448
|
type: String,
|
|
@@ -47718,7 +47451,6 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
47718
47451
|
|
|
47719
47452
|
/**
|
|
47720
47453
|
* Label announced for cells before the range start.
|
|
47721
|
-
* @default 'before range'
|
|
47722
47454
|
*/
|
|
47723
47455
|
rangeLabelBeforeRange: {
|
|
47724
47456
|
type: String,
|
|
@@ -47727,27 +47459,14 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
47727
47459
|
|
|
47728
47460
|
/**
|
|
47729
47461
|
* Label announced for the range end date cell.
|
|
47730
|
-
* @default 'range end'
|
|
47731
47462
|
*/
|
|
47732
47463
|
rangeLabelEnd: {
|
|
47733
47464
|
type: String,
|
|
47734
47465
|
reflect: true
|
|
47735
47466
|
},
|
|
47736
47467
|
|
|
47737
|
-
/**
|
|
47738
|
-
* Label announced for the focused cell while previewing a range end
|
|
47739
|
-
* (dateFrom set, dateTo not yet selected). Tells AT users that
|
|
47740
|
-
* pressing Enter would commit this cell as the range end.
|
|
47741
|
-
* @default 'previewing range end'
|
|
47742
|
-
*/
|
|
47743
|
-
rangeLabelEndPreview: {
|
|
47744
|
-
type: String,
|
|
47745
|
-
reflect: true
|
|
47746
|
-
},
|
|
47747
|
-
|
|
47748
47468
|
/**
|
|
47749
47469
|
* Label announced for cells within the selected range.
|
|
47750
|
-
* @default 'in range'
|
|
47751
47470
|
*/
|
|
47752
47471
|
rangeLabelInRange: {
|
|
47753
47472
|
type: String,
|
|
@@ -47756,7 +47475,6 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
47756
47475
|
|
|
47757
47476
|
/**
|
|
47758
47477
|
* Label announced for the range start date cell.
|
|
47759
|
-
* @default 'range start'
|
|
47760
47478
|
*/
|
|
47761
47479
|
rangeLabelStart: {
|
|
47762
47480
|
type: String,
|
|
@@ -47764,7 +47482,7 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
47764
47482
|
},
|
|
47765
47483
|
|
|
47766
47484
|
/**
|
|
47767
|
-
* Dates that the user should have for reference as part of their decision
|
|
47485
|
+
* Dates that the user should have for reference as part of their decision making when selecting a date.
|
|
47768
47486
|
* This should be a JSON string array of ISO date strings (`YYYY-MM-DD`).
|
|
47769
47487
|
*/
|
|
47770
47488
|
referenceDates: {
|
|
@@ -48121,26 +47839,10 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
48121
47839
|
// ─── Vendor calendar time conversions ─────────────────────────────────────
|
|
48122
47840
|
|
|
48123
47841
|
/**
|
|
48124
|
-
* Converts a Unix timestamp (seconds) from the
|
|
48125
|
-
* (`src/vendor/wc-range-datepicker/day.js`) to an ISO date string.
|
|
48126
|
-
*
|
|
48127
|
-
* Timezone contract:
|
|
48128
|
-
* - INPUT: `time` is assumed to be the seconds-since-epoch of **local
|
|
48129
|
-
* midnight** for the intended calendar day. The vendor's Day constructor
|
|
48130
|
-
* builds it via `date-fns format(date, 't')` from a locally-constructed
|
|
48131
|
-
* Date, so this assumption currently holds end-to-end.
|
|
48132
|
-
* - OUTPUT: `dateFormatter.toISOFormatString` reads the Date's local
|
|
48133
|
-
* getFullYear/getMonth/getDate components, so the returned YYYY-MM-DD
|
|
48134
|
-
* string matches the local calendar day.
|
|
48135
|
-
*
|
|
48136
|
-
* If the vendor ever switches to emitting UTC-midnight timestamps, this
|
|
48137
|
-
* conversion will silently shift the returned date by one day in zones
|
|
48138
|
-
* west of UTC. Any vendor swap should re-verify this contract; the TZ
|
|
48139
|
-
* regression suite (`npm run test:hst`, UTC-10) will catch the symptom.
|
|
48140
|
-
*
|
|
47842
|
+
* Converts a Unix timestamp (seconds) from the vendor calendar to an ISO date string.
|
|
48141
47843
|
* @private
|
|
48142
|
-
* @param {number} time - Unix timestamp
|
|
48143
|
-
* @returns {string} ISO date string (yyyy-mm-dd)
|
|
47844
|
+
* @param {number} time - Unix timestamp in seconds.
|
|
47845
|
+
* @returns {string} ISO date string (yyyy-mm-dd).
|
|
48144
47846
|
*/
|
|
48145
47847
|
convertWcTimeToDate(time) {
|
|
48146
47848
|
return dateFormatter$1.toISOFormatString(new Date(time * 1000));
|
|
@@ -48242,8 +47944,8 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
48242
47944
|
}
|
|
48243
47945
|
}
|
|
48244
47946
|
|
|
48245
|
-
// Focus the calendar grid wrapper
|
|
48246
|
-
//
|
|
47947
|
+
// Focus the calendar grid wrapper (aria-activedescendant handles
|
|
47948
|
+
// the SR announcement for the active cell).
|
|
48247
47949
|
if (activeCell) {
|
|
48248
47950
|
this.calendar.focusActiveCell();
|
|
48249
47951
|
|
|
@@ -48293,13 +47995,11 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
48293
47995
|
this.dropdown.bibDialogLabel = labelElement.textContent.trim() || undefined;
|
|
48294
47996
|
}
|
|
48295
47997
|
|
|
48296
|
-
const { signal } = this._listenerAbortController;
|
|
48297
|
-
|
|
48298
47998
|
this.dropdown.addEventListener('auroDropdown-triggerClick', () => {
|
|
48299
47999
|
if (!this.isPopoverVisible) {
|
|
48300
48000
|
this.dropdown.show();
|
|
48301
48001
|
}
|
|
48302
|
-
}
|
|
48002
|
+
});
|
|
48303
48003
|
|
|
48304
48004
|
this.dropdown.addEventListener('auroDropdown-toggled', () => {
|
|
48305
48005
|
this.notifyDatepickerToggled();
|
|
@@ -48317,7 +48017,7 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
48317
48017
|
if (this.valueObject) {
|
|
48318
48018
|
this.centralDate = this.value;
|
|
48319
48019
|
} else if (!this.centralDate && !this.calendarStartDate && !this.minDate) {
|
|
48320
|
-
this.centralDate =
|
|
48020
|
+
this.centralDate = new Date();
|
|
48321
48021
|
}
|
|
48322
48022
|
}
|
|
48323
48023
|
|
|
@@ -48397,7 +48097,7 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
48397
48097
|
this.forceScrollOnNextMobileCalendarRender = false;
|
|
48398
48098
|
}, 0);
|
|
48399
48099
|
}
|
|
48400
|
-
}
|
|
48100
|
+
});
|
|
48401
48101
|
|
|
48402
48102
|
// Handle responsive strategy changes while the dropdown is open
|
|
48403
48103
|
// (e.g. resizing from desktop → mobile or vice versa).
|
|
@@ -48444,7 +48144,7 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
48444
48144
|
});
|
|
48445
48145
|
});
|
|
48446
48146
|
}
|
|
48447
|
-
}
|
|
48147
|
+
});
|
|
48448
48148
|
}
|
|
48449
48149
|
|
|
48450
48150
|
/**
|
|
@@ -48457,8 +48157,6 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
48457
48157
|
|
|
48458
48158
|
this.inputList = [...this.dropdown.querySelectorAll(this.inputTag._$litStatic$)];
|
|
48459
48159
|
|
|
48460
|
-
const { signal } = this._listenerAbortController;
|
|
48461
|
-
|
|
48462
48160
|
this.inputList.forEach((input, index) => {
|
|
48463
48161
|
input.addEventListener('input', (event) => {
|
|
48464
48162
|
event.stopPropagation();
|
|
@@ -48470,7 +48168,7 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
48470
48168
|
}
|
|
48471
48169
|
|
|
48472
48170
|
this.notifyValueChanged();
|
|
48473
|
-
}
|
|
48171
|
+
});
|
|
48474
48172
|
|
|
48475
48173
|
input.addEventListener('auroFormElement-validated', (evt) => {
|
|
48476
48174
|
// not to bubble up input's validated event.
|
|
@@ -48486,7 +48184,7 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
48486
48184
|
this.validity = evt.detail.validity;
|
|
48487
48185
|
this.errorMessage = evt.detail.message;
|
|
48488
48186
|
}
|
|
48489
|
-
}
|
|
48187
|
+
});
|
|
48490
48188
|
});
|
|
48491
48189
|
}
|
|
48492
48190
|
|
|
@@ -48500,32 +48198,19 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
48500
48198
|
this.calendar.datepicker = this;
|
|
48501
48199
|
this.calendar.dropdown = this.dropdown;
|
|
48502
48200
|
|
|
48503
|
-
const { signal } = this._listenerAbortController;
|
|
48504
|
-
|
|
48505
48201
|
this.calendar.addEventListener('auroCalendar-dateSelected', () => {
|
|
48506
|
-
|
|
48507
|
-
|
|
48508
|
-
// strings — comparing the input ISO directly against them would
|
|
48509
|
-
// never match, so the write would fire on every event and emit
|
|
48510
|
-
// redundant input/change activity).
|
|
48511
|
-
if (this.calendar.dateFrom !== undefined) {
|
|
48512
|
-
const fromIso = this.convertWcTimeToDate(this.calendar.dateFrom);
|
|
48513
|
-
if (this.inputList[0].value !== fromIso) {
|
|
48514
|
-
this.inputList[0].value = fromIso;
|
|
48515
|
-
}
|
|
48202
|
+
if (this.inputList[0].value !== this.calendar.dateFrom && this.calendar.dateFrom !== undefined) {
|
|
48203
|
+
this.inputList[0].value = this.convertWcTimeToDate(this.calendar.dateFrom);
|
|
48516
48204
|
}
|
|
48517
48205
|
|
|
48518
|
-
if (this.inputList[1] && this.calendar.dateTo) {
|
|
48519
|
-
|
|
48520
|
-
if (this.inputList[1].value !== toIso) {
|
|
48521
|
-
this.inputList[1].value = toIso;
|
|
48522
|
-
}
|
|
48206
|
+
if (this.inputList[1] && this.calendar.dateTo && this.inputList[1].value !== this.calendar.dateTo) {
|
|
48207
|
+
this.inputList[1].value = this.convertWcTimeToDate(this.calendar.dateTo);
|
|
48523
48208
|
}
|
|
48524
|
-
}
|
|
48209
|
+
});
|
|
48525
48210
|
|
|
48526
48211
|
this.calendar.addEventListener('auroCalendar-dismissRequest', () => {
|
|
48527
48212
|
this.dropdown.hide();
|
|
48528
|
-
}
|
|
48213
|
+
});
|
|
48529
48214
|
|
|
48530
48215
|
this.calendar.addEventListener('auroCalendar-centralDateChanged', (event) => {
|
|
48531
48216
|
const match = this.centralDateObject && this.util.datesMatch(event.detail.date, this.centralDateObject);
|
|
@@ -48535,7 +48220,7 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
48535
48220
|
}
|
|
48536
48221
|
|
|
48537
48222
|
this.notifyMonthChanged(event);
|
|
48538
|
-
}
|
|
48223
|
+
});
|
|
48539
48224
|
}
|
|
48540
48225
|
|
|
48541
48226
|
/**
|
|
@@ -48544,17 +48229,10 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
48544
48229
|
* @returns {void}
|
|
48545
48230
|
*/
|
|
48546
48231
|
configureDatepicker() {
|
|
48547
|
-
// These listeners are on `this` (the host), so they would GC with the
|
|
48548
|
-
// host even without the abort signal — see the leak rationale on
|
|
48549
|
-
// `_listenerAbortController`. The signal is still passed for uniform
|
|
48550
|
-
// cleanup semantics with the child-element listeners in the other
|
|
48551
|
-
// configure* methods.
|
|
48552
|
-
const { signal } = this._listenerAbortController;
|
|
48553
|
-
|
|
48554
48232
|
this.addEventListener('focusin', () => {
|
|
48555
48233
|
this.touched = true;
|
|
48556
48234
|
this.hasFocus = true;
|
|
48557
|
-
}
|
|
48235
|
+
});
|
|
48558
48236
|
|
|
48559
48237
|
this.addEventListener('focusout', () => {
|
|
48560
48238
|
this.hasFocus = false;
|
|
@@ -48566,7 +48244,7 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
48566
48244
|
if (!this.matches(':focus-within')) {
|
|
48567
48245
|
this.validate();
|
|
48568
48246
|
}
|
|
48569
|
-
}
|
|
48247
|
+
});
|
|
48570
48248
|
|
|
48571
48249
|
if (this.valueObject) {
|
|
48572
48250
|
this.calendar.dateFrom = this.convertToWcValidTime(this.valueObject);
|
|
@@ -48764,41 +48442,6 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
48764
48442
|
return this.validity !== undefined && this.validity !== 'valid';
|
|
48765
48443
|
}
|
|
48766
48444
|
|
|
48767
|
-
/**
|
|
48768
|
-
* Per-class dedup set used by `_warnInvalidLocale`. Static so the dedup
|
|
48769
|
-
* spans every datepicker instance on the page; lives on the class (not
|
|
48770
|
-
* at module scope) so it stays an encapsulated implementation detail of
|
|
48771
|
-
* this component and does not interfere with WCA's class-JSDoc
|
|
48772
|
-
* attachment.
|
|
48773
|
-
* @private
|
|
48774
|
-
*/
|
|
48775
|
-
static _warnedInvalidLocales = new Set();
|
|
48776
|
-
|
|
48777
|
-
/**
|
|
48778
|
-
* Logs a one-time `console.debug` when an unsupported locale falls back to
|
|
48779
|
-
* en-US. Deduped by the offending tag so noisy re-renders that resurface
|
|
48780
|
-
* the same bad value stay quiet, but each new bad value still signals so
|
|
48781
|
-
* consumers can spot the typo or missing tag.
|
|
48782
|
-
* @private
|
|
48783
|
-
* @param {string|undefined} badLocale - The locale value that failed.
|
|
48784
|
-
* @returns {void}
|
|
48785
|
-
*/
|
|
48786
|
-
_warnInvalidLocale(badLocale) {
|
|
48787
|
-
// Stringify without coalescing — `String(undefined)` / `String(null)`
|
|
48788
|
-
// surface the actual offending value in the log, instead of the
|
|
48789
|
-
// ambiguous `Locale ""` that `String(badLocale ?? '')` would produce.
|
|
48790
|
-
// Dedup still works correctly because each unique stringification
|
|
48791
|
-
// becomes its own Set entry.
|
|
48792
|
-
const key = String(badLocale);
|
|
48793
|
-
const seen = AuroDatePicker._warnedInvalidLocales;
|
|
48794
|
-
if (seen.has(key)) {
|
|
48795
|
-
return;
|
|
48796
|
-
}
|
|
48797
|
-
seen.add(key);
|
|
48798
|
-
// eslint-disable-next-line no-console
|
|
48799
|
-
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".`);
|
|
48800
|
-
}
|
|
48801
|
-
|
|
48802
48445
|
/**
|
|
48803
48446
|
* Lifecycle method to check if the locale is valid.
|
|
48804
48447
|
* @ignore
|
|
@@ -48809,15 +48452,10 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
48809
48452
|
if (changedProperties.has('locale')) {
|
|
48810
48453
|
try {
|
|
48811
48454
|
const supported = Intl.DateTimeFormat.supportedLocalesOf([this.locale], { localeMatcher: 'lookup' });
|
|
48812
|
-
|
|
48813
|
-
this._validLocale = this.locale;
|
|
48814
|
-
} else {
|
|
48815
|
-
this._validLocale = 'en-US';
|
|
48816
|
-
this._warnInvalidLocale(this.locale);
|
|
48817
|
-
}
|
|
48455
|
+
this._validLocale = supported.length > 0 ? this.locale : 'en-US';
|
|
48818
48456
|
} catch {
|
|
48457
|
+
console.debug(`[AuroDatePicker] The locale "${this.locale}" is not valid. Falling back to "en-US".`); // eslint-disable-line no-console
|
|
48819
48458
|
this._validLocale = 'en-US';
|
|
48820
|
-
this._warnInvalidLocale(this.locale);
|
|
48821
48459
|
}
|
|
48822
48460
|
|
|
48823
48461
|
const previousLocaleFormat = getDateFormatFromLocale$1(changedProperties.get('locale'));
|
|
@@ -48899,6 +48537,8 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
48899
48537
|
// Skip centralDate update when user clicked a cell in range mode
|
|
48900
48538
|
// to prevent the displayed months from shifting
|
|
48901
48539
|
this.centralDate = this.value;
|
|
48540
|
+
//TODO: TEST THIS CHANGE
|
|
48541
|
+
// this.calendarRenderUtil.updateCentralDate(this, this.value);
|
|
48902
48542
|
}
|
|
48903
48543
|
|
|
48904
48544
|
this.setHasValue();
|
|
@@ -48958,6 +48598,8 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
48958
48598
|
// Skip centralDate update when user clicked a cell in range mode
|
|
48959
48599
|
// to prevent the displayed months from shifting
|
|
48960
48600
|
this.centralDate = this.valueEnd;
|
|
48601
|
+
// TODO: TEST THIS CHANGE
|
|
48602
|
+
// this.calendarRenderUtil.updateCentralDate(this, this.formattedValueEnd);
|
|
48961
48603
|
}
|
|
48962
48604
|
|
|
48963
48605
|
this.validate();
|
|
@@ -49099,7 +48741,7 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
49099
48741
|
* @returns {void}
|
|
49100
48742
|
*/
|
|
49101
48743
|
configureClickHandler() {
|
|
49102
|
-
this.addEventListener('click', this.handleClick
|
|
48744
|
+
this.addEventListener('click', this.handleClick);
|
|
49103
48745
|
}
|
|
49104
48746
|
|
|
49105
48747
|
firstUpdated() {
|
|
@@ -49107,15 +48749,6 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
49107
48749
|
// Add the tag name as an attribute if it is different than the component name
|
|
49108
48750
|
this.runtimeUtils.handleComponentTagRename(this, 'auro-datepicker');
|
|
49109
48751
|
|
|
49110
|
-
// If the element was disconnected before this first render finished,
|
|
49111
|
-
// disconnectedCallback's microtask already aborted the controller. The
|
|
49112
|
-
// connectedCallback reinit guard skips that case because `hasUpdated`
|
|
49113
|
-
// is still false. Mint a fresh controller here so configure* registers
|
|
49114
|
-
// listeners against a live signal.
|
|
49115
|
-
if (this._listenerAbortController.signal.aborted) {
|
|
49116
|
-
this._listenerAbortController = new AbortController();
|
|
49117
|
-
}
|
|
49118
|
-
|
|
49119
48752
|
this.configureDropdown();
|
|
49120
48753
|
this.configureInput();
|
|
49121
48754
|
this.configureCalendar();
|
|
@@ -49127,36 +48760,9 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
49127
48760
|
connectedCallback() {
|
|
49128
48761
|
super.connectedCallback();
|
|
49129
48762
|
|
|
49130
|
-
// True reconnect after `disconnectedCallback` aborted our controller:
|
|
49131
|
-
// the existing signal is dead, so listeners registered against it
|
|
49132
|
-
// would never fire. Create a fresh controller and re-run the
|
|
49133
|
-
// configure* wiring (each method is idempotent — it just re-caches
|
|
49134
|
-
// child refs and re-registers listeners against the new signal).
|
|
49135
|
-
// `hasUpdated` gates this so the *first* connect (which precedes
|
|
49136
|
-
// firstUpdated) still falls through to firstUpdated's initial wiring.
|
|
49137
|
-
if (this.hasUpdated && this._listenerAbortController.signal.aborted) {
|
|
49138
|
-
this._listenerAbortController = new AbortController();
|
|
49139
|
-
this.configureDropdown();
|
|
49140
|
-
this.configureInput();
|
|
49141
|
-
this.configureCalendar();
|
|
49142
|
-
this.configureDatepicker();
|
|
49143
|
-
this.configureClickHandler();
|
|
49144
|
-
}
|
|
49145
|
-
|
|
49146
48763
|
this.locale = this.domHandler.getLocale(this);
|
|
49147
48764
|
}
|
|
49148
48765
|
|
|
49149
|
-
disconnectedCallback() {
|
|
49150
|
-
super.disconnectedCallback();
|
|
49151
|
-
// Defer so that re-parenting (auro-drawer slotting it into a dialog,
|
|
49152
|
-
// for example) does not abort listeners we still need after reconnect.
|
|
49153
|
-
queueMicrotask(() => {
|
|
49154
|
-
if (!this.isConnected) {
|
|
49155
|
-
this._listenerAbortController.abort();
|
|
49156
|
-
}
|
|
49157
|
-
});
|
|
49158
|
-
}
|
|
49159
|
-
|
|
49160
48766
|
// layout render methods
|
|
49161
48767
|
// ------------------------------------
|
|
49162
48768
|
|
|
@@ -50652,7 +50258,7 @@ let AuroHelpText$1$2 = class AuroHelpText extends i$2 {
|
|
|
50652
50258
|
}
|
|
50653
50259
|
};
|
|
50654
50260
|
|
|
50655
|
-
var formkitVersion$1$2 = '
|
|
50261
|
+
var formkitVersion$1$2 = '202606252142';
|
|
50656
50262
|
|
|
50657
50263
|
// Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
|
|
50658
50264
|
// See LICENSE in the project root for license information.
|
|
@@ -54980,7 +54586,7 @@ let AuroHelpText$6 = class AuroHelpText extends i$2 {
|
|
|
54980
54586
|
}
|
|
54981
54587
|
};
|
|
54982
54588
|
|
|
54983
|
-
var formkitVersion$6 = '
|
|
54589
|
+
var formkitVersion$6 = '202606252142';
|
|
54984
54590
|
|
|
54985
54591
|
let AuroElement$1$2 = class AuroElement extends i$2 {
|
|
54986
54592
|
static get properties() {
|
|
@@ -56252,6 +55858,7 @@ let AuroDropdown$2 = class AuroDropdown extends AuroElement$1$2 {
|
|
|
56252
55858
|
role="${o$4(this.triggerContentFocusable ? undefined : this.a11yRole)}"
|
|
56253
55859
|
aria-expanded="${o$4(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : this.isPopoverVisible)}"
|
|
56254
55860
|
aria-controls="${o$4(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : this.dropdownId)}"
|
|
55861
|
+
aria-haspopup="${o$4(this.a11yRole === 'combobox' ? 'listbox' : undefined)}"
|
|
56255
55862
|
aria-labelledby="${o$4(this.triggerContentFocusable ? undefined : 'triggerLabel')}"
|
|
56256
55863
|
aria-disabled="${o$4(this.disabled ? 'true' : undefined)}"
|
|
56257
55864
|
@focusin="${this.handleFocusin}"
|
|
@@ -58920,7 +58527,7 @@ let AuroHelpText$5 = class AuroHelpText extends i$2 {
|
|
|
58920
58527
|
}
|
|
58921
58528
|
};
|
|
58922
58529
|
|
|
58923
|
-
var formkitVersion$5 = '
|
|
58530
|
+
var formkitVersion$5 = '202606252142';
|
|
58924
58531
|
|
|
58925
58532
|
// Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
|
|
58926
58533
|
// See LICENSE in the project root for license information.
|
|
@@ -60670,7 +60277,7 @@ let AuroHelpText$4 = class AuroHelpText extends i$2 {
|
|
|
60670
60277
|
}
|
|
60671
60278
|
};
|
|
60672
60279
|
|
|
60673
|
-
var formkitVersion$4 = '
|
|
60280
|
+
var formkitVersion$4 = '202606252142';
|
|
60674
60281
|
|
|
60675
60282
|
// Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
|
|
60676
60283
|
// See LICENSE in the project root for license information.
|
|
@@ -65885,7 +65492,7 @@ let AuroHelpText$2 = class AuroHelpText extends i$2 {
|
|
|
65885
65492
|
}
|
|
65886
65493
|
};
|
|
65887
65494
|
|
|
65888
|
-
var formkitVersion$2 = '
|
|
65495
|
+
var formkitVersion$2 = '202606252142';
|
|
65889
65496
|
|
|
65890
65497
|
let AuroElement$2$1 = class AuroElement extends i$2 {
|
|
65891
65498
|
static get properties() {
|
|
@@ -67157,6 +66764,7 @@ let AuroDropdown$1 = class AuroDropdown extends AuroElement$2$1 {
|
|
|
67157
66764
|
role="${o$4(this.triggerContentFocusable ? undefined : this.a11yRole)}"
|
|
67158
66765
|
aria-expanded="${o$4(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : this.isPopoverVisible)}"
|
|
67159
66766
|
aria-controls="${o$4(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : this.dropdownId)}"
|
|
66767
|
+
aria-haspopup="${o$4(this.a11yRole === 'combobox' ? 'listbox' : undefined)}"
|
|
67160
66768
|
aria-labelledby="${o$4(this.triggerContentFocusable ? undefined : 'triggerLabel')}"
|
|
67161
66769
|
aria-disabled="${o$4(this.disabled ? 'true' : undefined)}"
|
|
67162
66770
|
@focusin="${this.handleFocusin}"
|
|
@@ -79478,7 +79086,7 @@ let AuroHelpText$1$1 = class AuroHelpText extends i$2 {
|
|
|
79478
79086
|
}
|
|
79479
79087
|
};
|
|
79480
79088
|
|
|
79481
|
-
var formkitVersion$1$1 = '
|
|
79089
|
+
var formkitVersion$1$1 = '202606252142';
|
|
79482
79090
|
|
|
79483
79091
|
// Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
79484
79092
|
// See LICENSE in the project root for license information.
|
|
@@ -80599,7 +80207,7 @@ let AuroBibtemplate$1 = class AuroBibtemplate extends i$2 {
|
|
|
80599
80207
|
}
|
|
80600
80208
|
};
|
|
80601
80209
|
|
|
80602
|
-
var formkitVersion$3 = '
|
|
80210
|
+
var formkitVersion$3 = '202606252142';
|
|
80603
80211
|
|
|
80604
80212
|
var styleCss$1$3 = i$4`.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}`;
|
|
80605
80213
|
|
|
@@ -85412,19 +85020,24 @@ const selectKeyboardStrategy = {
|
|
|
85412
85020
|
},
|
|
85413
85021
|
|
|
85414
85022
|
End(component, evt, ctx) {
|
|
85415
|
-
if (!ctx.isExpanded) {
|
|
85416
|
-
return;
|
|
85417
|
-
}
|
|
85418
85023
|
evt.preventDefault();
|
|
85419
85024
|
evt.stopPropagation();
|
|
85420
85025
|
// `pop()` is safe here: getEnabledOptions returns a fresh filtered array.
|
|
85421
85026
|
const lastOption = getEnabledOptions(component.menu).pop();
|
|
85422
|
-
if (lastOption) {
|
|
85423
|
-
|
|
85027
|
+
if (!lastOption) {
|
|
85028
|
+
return;
|
|
85029
|
+
}
|
|
85030
|
+
if (!ctx.isExpanded) {
|
|
85031
|
+
component.dropdown.show();
|
|
85424
85032
|
}
|
|
85033
|
+
component.menu.updateActiveOption(lastOption);
|
|
85425
85034
|
},
|
|
85426
85035
|
|
|
85427
85036
|
Enter(component, evt, ctx) {
|
|
85037
|
+
// Prevent the keypress from bubbling to parent containers (e.g., forms)
|
|
85038
|
+
// which could interpret Enter as a submit. Matches APG select-only combobox
|
|
85039
|
+
// and native <select> behavior: Enter opens the listbox when closed, selects
|
|
85040
|
+
// the active option when open — it does not submit a parent form.
|
|
85428
85041
|
evt.preventDefault();
|
|
85429
85042
|
evt.stopPropagation();
|
|
85430
85043
|
if (!ctx.isExpanded) {
|
|
@@ -85435,15 +85048,16 @@ const selectKeyboardStrategy = {
|
|
|
85435
85048
|
},
|
|
85436
85049
|
|
|
85437
85050
|
Home(component, evt, ctx) {
|
|
85438
|
-
if (!ctx.isExpanded) {
|
|
85439
|
-
return;
|
|
85440
|
-
}
|
|
85441
85051
|
evt.preventDefault();
|
|
85442
85052
|
evt.stopPropagation();
|
|
85443
85053
|
const [firstOption] = getEnabledOptions(component.menu);
|
|
85444
|
-
if (firstOption) {
|
|
85445
|
-
|
|
85054
|
+
if (!firstOption) {
|
|
85055
|
+
return;
|
|
85056
|
+
}
|
|
85057
|
+
if (!ctx.isExpanded) {
|
|
85058
|
+
component.dropdown.show();
|
|
85446
85059
|
}
|
|
85060
|
+
component.menu.updateActiveOption(firstOption);
|
|
85447
85061
|
},
|
|
85448
85062
|
|
|
85449
85063
|
Tab(component, evt, ctx) {
|
|
@@ -89390,7 +89004,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$2 {
|
|
|
89390
89004
|
}
|
|
89391
89005
|
};
|
|
89392
89006
|
|
|
89393
|
-
var formkitVersion$1 = '
|
|
89007
|
+
var formkitVersion$1 = '202606252142';
|
|
89394
89008
|
|
|
89395
89009
|
class AuroElement extends i$2 {
|
|
89396
89010
|
static get properties() {
|
|
@@ -90662,6 +90276,7 @@ class AuroDropdown extends AuroElement {
|
|
|
90662
90276
|
role="${o$4(this.triggerContentFocusable ? undefined : this.a11yRole)}"
|
|
90663
90277
|
aria-expanded="${o$4(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : this.isPopoverVisible)}"
|
|
90664
90278
|
aria-controls="${o$4(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : this.dropdownId)}"
|
|
90279
|
+
aria-haspopup="${o$4(this.a11yRole === 'combobox' ? 'listbox' : undefined)}"
|
|
90665
90280
|
aria-labelledby="${o$4(this.triggerContentFocusable ? undefined : 'triggerLabel')}"
|
|
90666
90281
|
aria-disabled="${o$4(this.disabled ? 'true' : undefined)}"
|
|
90667
90282
|
@focusin="${this.handleFocusin}"
|
|
@@ -91411,7 +91026,7 @@ class AuroHelpText extends i$2 {
|
|
|
91411
91026
|
}
|
|
91412
91027
|
}
|
|
91413
91028
|
|
|
91414
|
-
var formkitVersion = '
|
|
91029
|
+
var formkitVersion = '202606252142';
|
|
91415
91030
|
|
|
91416
91031
|
var styleCss = i$4`.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}`;
|
|
91417
91032
|
|
|
@@ -91743,14 +91358,6 @@ class AuroSelect extends AuroElement$1 {
|
|
|
91743
91358
|
reflect: true
|
|
91744
91359
|
},
|
|
91745
91360
|
|
|
91746
|
-
/**
|
|
91747
|
-
* @private
|
|
91748
|
-
*/
|
|
91749
|
-
options: {
|
|
91750
|
-
type: Array,
|
|
91751
|
-
state: true
|
|
91752
|
-
},
|
|
91753
|
-
|
|
91754
91361
|
/**
|
|
91755
91362
|
* Specifies the current selected menuOption. Default type is `HTMLElement`, changing to `Array<HTMLElement>` when `multiSelect` is true.
|
|
91756
91363
|
* @type {HTMLElement|Array<HTMLElement>}
|
|
@@ -92038,16 +91645,68 @@ class AuroSelect extends AuroElement$1 {
|
|
|
92038
91645
|
this.dropdown.dropdownWidth = this.customBibWidth;
|
|
92039
91646
|
}
|
|
92040
91647
|
|
|
92041
|
-
|
|
92042
|
-
const labelElement = this.querySelector('span[slot="label"]');
|
|
92043
|
-
if (labelElement) {
|
|
92044
|
-
this.dropdown.bibDialogLabel = labelElement.textContent.trim() || undefined;
|
|
92045
|
-
}
|
|
91648
|
+
this._syncLabelText();
|
|
92046
91649
|
|
|
92047
91650
|
// Exposes the CSS parts from the dropdown for styling
|
|
92048
91651
|
this.dropdown.exposeCssParts();
|
|
92049
91652
|
}
|
|
92050
91653
|
|
|
91654
|
+
/**
|
|
91655
|
+
* Reads the current label slot text and pushes it to the dropdown bib
|
|
91656
|
+
* (for dialog naming) and the menu (for listbox aria-label). Safe to call
|
|
91657
|
+
* before either child has been wired up — each branch self-guards.
|
|
91658
|
+
* @private
|
|
91659
|
+
*/
|
|
91660
|
+
_syncLabelText() {
|
|
91661
|
+
const labelElement = this.querySelector('[slot="label"]');
|
|
91662
|
+
const text = labelElement ? labelElement.textContent.trim() : '';
|
|
91663
|
+
if (this.dropdown) {
|
|
91664
|
+
this.dropdown.bibDialogLabel = text || undefined;
|
|
91665
|
+
}
|
|
91666
|
+
if (this.menu) {
|
|
91667
|
+
if (text) {
|
|
91668
|
+
this.menu.setAttribute('aria-label', text);
|
|
91669
|
+
} else {
|
|
91670
|
+
this.menu.removeAttribute('aria-label');
|
|
91671
|
+
}
|
|
91672
|
+
}
|
|
91673
|
+
}
|
|
91674
|
+
|
|
91675
|
+
/**
|
|
91676
|
+
* Keeps the dialog/menu accessible names in sync when consumers mutate the
|
|
91677
|
+
* label slot at runtime (e.g., i18n locale swap). `slotchange` alone is
|
|
91678
|
+
* insufficient — it doesn't fire when textContent of an already-assigned
|
|
91679
|
+
* slotted node changes, which is the common case. We scope the observer to
|
|
91680
|
+
* the label node itself (not the whole host subtree) so option-content
|
|
91681
|
+
* mutations don't trigger label re-syncs, and re-target on `slotchange`
|
|
91682
|
+
* when consumers add or replace the label element.
|
|
91683
|
+
* @private
|
|
91684
|
+
*/
|
|
91685
|
+
_observeLabelChanges() {
|
|
91686
|
+
if (this._labelObserver) return;
|
|
91687
|
+
this._labelObserver = new MutationObserver(() => this._syncLabelText());
|
|
91688
|
+
|
|
91689
|
+
const retarget = () => {
|
|
91690
|
+
this._labelObserver.disconnect();
|
|
91691
|
+
const labelElement = this.querySelector('[slot="label"]');
|
|
91692
|
+
if (labelElement) {
|
|
91693
|
+
this._labelObserver.observe(labelElement, {
|
|
91694
|
+
childList: true,
|
|
91695
|
+
subtree: true,
|
|
91696
|
+
characterData: true
|
|
91697
|
+
});
|
|
91698
|
+
}
|
|
91699
|
+
this._syncLabelText();
|
|
91700
|
+
};
|
|
91701
|
+
|
|
91702
|
+
retarget();
|
|
91703
|
+
|
|
91704
|
+
this._retargetLabelObserver = retarget;
|
|
91705
|
+
this.shadowRoot.querySelectorAll('slot[name="label"]').forEach((slot) => {
|
|
91706
|
+
slot.addEventListener('slotchange', retarget);
|
|
91707
|
+
});
|
|
91708
|
+
}
|
|
91709
|
+
|
|
92051
91710
|
/**
|
|
92052
91711
|
* This will register this element with the browser.
|
|
92053
91712
|
* @param {string} [name="auro-select"] - The name of element that you want to register to.
|
|
@@ -92198,11 +91857,7 @@ class AuroSelect extends AuroElement$1 {
|
|
|
92198
91857
|
this.updateMenuShapeSize();
|
|
92199
91858
|
this.setMenuValue(this.value);
|
|
92200
91859
|
|
|
92201
|
-
|
|
92202
|
-
const labelElement = this.querySelector('[slot="label"]');
|
|
92203
|
-
if (labelElement) {
|
|
92204
|
-
this.menu.setAttribute('aria-label', labelElement.textContent.trim());
|
|
92205
|
-
}
|
|
91860
|
+
this._syncLabelText();
|
|
92206
91861
|
|
|
92207
91862
|
if (this.multiSelect) {
|
|
92208
91863
|
this.menu.multiSelect = this.multiSelect;
|
|
@@ -92214,8 +91869,21 @@ class AuroSelect extends AuroElement$1 {
|
|
|
92214
91869
|
if (typeof this.menu.initItems === 'function') {
|
|
92215
91870
|
this.menu.initItems();
|
|
92216
91871
|
}
|
|
92217
|
-
this.options = this.menu.options;
|
|
92218
91872
|
this.updateOptionPositions();
|
|
91873
|
+
// renderNativeSelect reads this.menu.options, which the parent doesn't
|
|
91874
|
+
// observe — request an update so the hidden native <option> list reflects
|
|
91875
|
+
// the menu's options after initItems populates them.
|
|
91876
|
+
this.requestUpdate();
|
|
91877
|
+
|
|
91878
|
+
// Keep aria-setsize/aria-posinset (and the native <option> list) in sync
|
|
91879
|
+
// when the menu re-initializes its items — e.g., slotchange, async/lazy
|
|
91880
|
+
// loads, value-triggered re-init. Without this, stale set-size is
|
|
91881
|
+
// announced and the native select goes stale after dynamic mutations.
|
|
91882
|
+
this.menu.addEventListener('auroMenu-optionsChange', () => {
|
|
91883
|
+
this.updateOptionPositions();
|
|
91884
|
+
this.requestUpdate();
|
|
91885
|
+
});
|
|
91886
|
+
|
|
92219
91887
|
this.menu.addEventListener("auroMenu-loadingChange", (event) => this.handleMenuLoadingChange(event));
|
|
92220
91888
|
|
|
92221
91889
|
this.menu.addEventListener("auroMenu-selectValueFailure", () => {
|
|
@@ -92234,11 +91902,22 @@ class AuroSelect extends AuroElement$1 {
|
|
|
92234
91902
|
this.dropdown.setActiveDescendant(this.optionActive);
|
|
92235
91903
|
}
|
|
92236
91904
|
|
|
92237
|
-
// Announce the active option for screen readers
|
|
92238
|
-
|
|
91905
|
+
// Announce the active option for screen readers. Skip when the activated
|
|
91906
|
+
// option is already selected: Enter triggers an auroMenu-selectedOption
|
|
91907
|
+
// re-announce, and aria-selected on the active descendant otherwise
|
|
91908
|
+
// conveys state without an explicit utterance.
|
|
91909
|
+
if (this.optionActive && !this.optionActive.hasAttribute('selected')) {
|
|
92239
91910
|
const optionText = this.optionActive.textContent.trim();
|
|
92240
|
-
const
|
|
92241
|
-
|
|
91911
|
+
const message = `${optionText}, not selected`;
|
|
91912
|
+
if (this.dropdown.isPopoverVisible) {
|
|
91913
|
+
announceToScreenReader(this._getAnnouncementRoot(), message);
|
|
91914
|
+
} else {
|
|
91915
|
+
// Typeahead-on-closed fires this event before `show()` flips
|
|
91916
|
+
// isPopoverVisible. Defer so the announcement targets the bib's
|
|
91917
|
+
// live region once the fullscreen <dialog> opens — otherwise it
|
|
91918
|
+
// lands in the host root, which is inert under the active modal.
|
|
91919
|
+
queueMicrotask(() => announceToScreenReader(this._getAnnouncementRoot(), message));
|
|
91920
|
+
}
|
|
92242
91921
|
}
|
|
92243
91922
|
|
|
92244
91923
|
if (this.dropdown.isPopoverVisible) {
|
|
@@ -92370,24 +92049,32 @@ class AuroSelect extends AuroElement$1 {
|
|
|
92370
92049
|
|
|
92371
92050
|
this.typeaheadBuffer += key;
|
|
92372
92051
|
|
|
92373
|
-
|
|
92052
|
+
// Prefer the literal buffer as a prefix per WAI-ARIA APG ("focus moves to the
|
|
92053
|
+
// next item with a name that starts with the string of characters typed").
|
|
92054
|
+
// Only fall back to single-char cycling when the repeated buffer has no
|
|
92055
|
+
// longer prefix match — e.g. "aa" cycles through ["Apple", "Apricot"] only
|
|
92056
|
+
// because no option starts with "aa".
|
|
92057
|
+
let match = options.find((option) => this._getOptionDisplayText(option).startsWith(this.typeaheadBuffer));
|
|
92374
92058
|
|
|
92375
|
-
|
|
92059
|
+
const isRepeatedChar = !match && this.typeaheadBuffer.length > 1 && new Set(this.typeaheadBuffer).size === 1;
|
|
92376
92060
|
if (isRepeatedChar) {
|
|
92377
92061
|
const matches = options.filter((option) => this._getOptionDisplayText(option).startsWith(key));
|
|
92378
92062
|
if (matches.length) {
|
|
92379
92063
|
const cycleIndex = (this.typeaheadBuffer.length - 1) % matches.length;
|
|
92380
92064
|
match = matches[cycleIndex];
|
|
92381
92065
|
}
|
|
92382
|
-
} else {
|
|
92383
|
-
match = options.find((option) => this._getOptionDisplayText(option).startsWith(this.typeaheadBuffer));
|
|
92384
92066
|
}
|
|
92385
92067
|
|
|
92068
|
+
// Intentional: no-match leaves the bib closed (deviates from APG / some native <select>).
|
|
92386
92069
|
if (match) {
|
|
92070
|
+
// Pre-stash the match so the auroDropdown-toggled handler's `!optionActive`
|
|
92071
|
+
// guard short-circuits and skips the firstActive/selected fallback —
|
|
92072
|
+
// otherwise show() synchronously fires the handler, which writes
|
|
92073
|
+
// aria-activedescendant once before we overwrite it.
|
|
92074
|
+
this.menu.updateActiveOption(match);
|
|
92387
92075
|
if (!this.dropdown.isPopoverVisible) {
|
|
92388
92076
|
this.dropdown.show();
|
|
92389
92077
|
}
|
|
92390
|
-
this.menu.updateActiveOption(match);
|
|
92391
92078
|
}
|
|
92392
92079
|
}
|
|
92393
92080
|
|
|
@@ -92504,6 +92191,16 @@ class AuroSelect extends AuroElement$1 {
|
|
|
92504
92191
|
disconnectedCallback() {
|
|
92505
92192
|
super.disconnectedCallback();
|
|
92506
92193
|
this._clearTypeaheadBuffer();
|
|
92194
|
+
if (this._labelObserver) {
|
|
92195
|
+
this._labelObserver.disconnect();
|
|
92196
|
+
this._labelObserver = null;
|
|
92197
|
+
}
|
|
92198
|
+
if (this._retargetLabelObserver && this.shadowRoot) {
|
|
92199
|
+
this.shadowRoot.querySelectorAll('slot[name="label"]').forEach((slot) => {
|
|
92200
|
+
slot.removeEventListener('slotchange', this._retargetLabelObserver);
|
|
92201
|
+
});
|
|
92202
|
+
this._retargetLabelObserver = null;
|
|
92203
|
+
}
|
|
92507
92204
|
}
|
|
92508
92205
|
|
|
92509
92206
|
// lifecycle runs only after the element's DOM has been updated the first time
|
|
@@ -92514,6 +92211,7 @@ class AuroSelect extends AuroElement$1 {
|
|
|
92514
92211
|
this.configureDropdown();
|
|
92515
92212
|
this.configureMenu();
|
|
92516
92213
|
this.configureSelect();
|
|
92214
|
+
this._observeLabelChanges();
|
|
92517
92215
|
}
|
|
92518
92216
|
|
|
92519
92217
|
setMenuValue(value) {
|
|
@@ -92650,21 +92348,8 @@ class AuroSelect extends AuroElement$1 {
|
|
|
92650
92348
|
if (!selectedOption) return;
|
|
92651
92349
|
const selectedValue = selectedOption.value;
|
|
92652
92350
|
|
|
92653
|
-
if (this.
|
|
92654
|
-
|
|
92655
|
-
|
|
92656
|
-
if (!currentArray.includes(selectedValue)) {
|
|
92657
|
-
this.value = JSON.stringify([
|
|
92658
|
-
...currentArray,
|
|
92659
|
-
selectedValue
|
|
92660
|
-
]);
|
|
92661
|
-
}
|
|
92662
|
-
} else {
|
|
92663
|
-
const currentValue = this.value;
|
|
92664
|
-
|
|
92665
|
-
if (currentValue !== selectedValue) {
|
|
92666
|
-
this.value = selectedValue;
|
|
92667
|
-
}
|
|
92351
|
+
if (this.value !== selectedValue) {
|
|
92352
|
+
this.value = selectedValue;
|
|
92668
92353
|
}
|
|
92669
92354
|
}
|
|
92670
92355
|
|